; LLVM IR from aws/s2n-tls :: tests/unit (s2n_self_talk_session_resumption_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_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_early_data_test_case = type { i8, i8, i8, 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 }
%struct.s2n_config = type { i32, ptr, ptr, %struct.certs_by_type, %struct.s2n_blob, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, i64, ptr, i64, i64, ptr, ptr, ptr, ptr, ptr, ptr, i32, i8, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i8, %struct.s2n_x509_trust_store, i16, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, %struct.s2n_blob }
%struct.certs_by_type = type { [4 x ptr] }
%struct.s2n_x509_trust_store = type { ptr, i8 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_errno = external thread_local global i32, align 4
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str.61 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [96 x i8], align 1
@stderr = external global ptr, align 8
@.str.63 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [143 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [70 x i8], align 1
@s2n_rsa_with_aes_256_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.139 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [88 x i8], align 1
@security_policy_test_tls13_retry = external constant %struct.s2n_security_policy, align 8
@.str.154 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [148 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [142 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [77 x i8], align 1

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_set_session(ptr noundef, ptr noundef, i64 noundef) #5

declare i32 @s2n_free(ptr noundef) #4

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_client_deserialize_resumption_state(ptr noundef, ptr noundef) #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_session(ptr noundef, ptr noundef, i64 noundef) #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_session_length(ptr noundef) #5

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) #4

declare zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef, i32 noundef) #4

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_tickets_sent(ptr noundef, ptr noundef) #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_config_set_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) #5

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #5 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i64, align 8
  %12 = alloca [8 x %struct.s2n_early_data_test_case], align 16
  %13 = alloca i64, align 8
  %14 = alloca i32, align 4
  %15 = alloca i64, align 8
  %16 = alloca i64, align 8
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %struct.s2n_early_data_test_case, align 1
  %20 = alloca ptr, align 8
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca %struct.s2n_result, align 4
  %29 = alloca i32, align 4
  %30 = alloca ptr, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca ptr, align 8
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca %struct.s2n_result, align 4
  %39 = alloca i32, align 4
  %40 = alloca ptr, align 8
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca %struct.s2n_stuffer, align 8
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca ptr, align 8
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i64, align 8
  %55 = alloca %struct.s2n_early_data_test_case, align 1
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca %struct.s2n_test_io_pair, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca %struct.s2n_result, align 4
  %68 = alloca i32, align 4
  %69 = alloca i64, align 8
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i64, align 8
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca %struct.s2n_result, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca %struct.s2n_result, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca ptr, align 8
  %90 = alloca i32, align 4
  %91 = alloca ptr, align 8
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca %struct.s2n_blob, align 8
  %96 = alloca %struct.s2n_test_io_pair, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca %struct.s2n_test_io_pair, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca %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 %struct.s2n_test_io_pair, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca %struct.s2n_result, align 4
  %135 = alloca %struct.s2n_result, align 4
  %136 = alloca ptr, align 8
  %137 = alloca ptr, align 8
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca %struct.s2n_test_io_pair, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca %struct.s2n_result, 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 i64, align 8
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i64, align 8
  %165 = alloca %struct.s2n_early_data_test_case, align 1
  %166 = alloca ptr, align 8
  %167 = alloca ptr, align 8
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca %struct.s2n_test_io_pair, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca %struct.s2n_result, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i64, align 8
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca %struct.s2n_result, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca %struct.s2n_blob, align 8
  %197 = alloca ptr, align 8
  %198 = alloca ptr, align 8
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca %struct.s2n_test_io_pair, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i64, align 8
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca %struct.s2n_result, align 4
  %228 = alloca %struct.s2n_result, align 4
  %229 = alloca i64, align 8
  %230 = alloca %struct.s2n_early_data_test_case, align 1
  %231 = alloca ptr, align 8
  %232 = alloca ptr, align 8
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca %struct.s2n_test_io_pair, align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca %struct.s2n_result, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca i64, align 8
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca %struct.s2n_result, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca ptr, align 8
  %260 = alloca i32, align 4
  %261 = alloca ptr, align 8
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca %struct.s2n_test_io_pair, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca %struct.s2n_stuffer, align 8
  %268 = alloca %struct.s2n_stuffer, align 8
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca %struct.s2n_result, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i64, align 8
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i8, align 1
  %293 = alloca i8, align 1
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca %struct.s2n_result, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca %struct.s2n_result, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca ptr, align 8
  %314 = alloca i32, align 4
  %315 = alloca ptr, align 8
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca %struct.s2n_test_io_pair, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca %struct.s2n_stuffer, align 8
  %322 = alloca %struct.s2n_stuffer, align 8
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca %struct.s2n_result, align 4
  %328 = alloca i32, align 4
  %329 = alloca %struct.s2n_result, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca %struct.s2n_result, align 4
  %338 = alloca i32, align 4
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca i32, align 4
  %342 = alloca [2 x ptr], align 16
  %343 = alloca %struct.s2n_blob, align 8
  %344 = alloca i64, align 8
  %345 = alloca i32, align 4
  %346 = alloca i32, align 4
  %347 = alloca i32, align 4
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca %struct.s2n_result, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca %struct.s2n_stuffer, align 8
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i64, align 8
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca %struct.s2n_result, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca i32, align 4
  %377 = alloca i32, align 4
  %378 = alloca ptr, align 8
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca i32, align 4
  %382 = alloca i32, align 4
  %383 = alloca ptr, align 8
  %384 = alloca i32, align 4
  %385 = alloca i32, align 4
  %386 = alloca i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca i32, align 4
  %392 = alloca i32, align 4
  %393 = alloca %struct.s2n_stuffer, align 8
  %394 = alloca i32, align 4
  %395 = alloca ptr, align 8
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca ptr, align 8
  %399 = alloca i32, align 4
  %400 = alloca %struct.s2n_test_io_pair, align 4
  %401 = alloca i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca i32, align 4
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca i32, align 4
  %410 = alloca %struct.s2n_result, align 4
  %411 = alloca i32, align 4
  %412 = alloca i32, align 4
  %413 = alloca i32, align 4
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca %struct.s2n_result, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca i32, align 4
  %422 = alloca i32, align 4
  %423 = alloca i32, align 4
  %424 = alloca %struct.s2n_result, align 4
  %425 = alloca i32, align 4
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca i32, align 4
  %429 = alloca i32, align 4
  %430 = alloca i32, align 4
  %431 = alloca i32, align 4
  %432 = alloca %struct.s2n_result, align 4
  %433 = alloca i32, align 4
  %434 = alloca i32, align 4
  %435 = alloca i32, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca i32, align 4
  %439 = alloca i32, align 4
  %440 = alloca %struct.s2n_result, align 4
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca %struct.s2n_result, align 4
  %449 = alloca i32, align 4
  %450 = alloca i32, align 4
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca %struct.s2n_stuffer, align 8
  %454 = alloca i32, align 4
  %455 = alloca ptr, align 8
  %456 = alloca i32, align 4
  %457 = alloca i32, align 4
  %458 = alloca ptr, align 8
  %459 = alloca i32, align 4
  %460 = alloca %struct.s2n_test_io_pair, align 4
  %461 = alloca i32, align 4
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca i32, align 4
  %465 = alloca %struct.s2n_result, align 4
  %466 = alloca i32, align 4
  %467 = alloca i32, align 4
  %468 = alloca i32, align 4
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca i32, align 4
  %472 = alloca %struct.s2n_result, align 4
  %473 = alloca i32, align 4
  %474 = alloca i32, align 4
  %475 = alloca i32, align 4
  %476 = alloca i32, align 4
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca %struct.s2n_result, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca i32, align 4
  %485 = alloca i32, align 4
  %486 = alloca %struct.s2n_result, align 4
  %487 = alloca i32, align 4
  %488 = alloca i32, align 4
  %489 = alloca i32, align 4
  %490 = alloca i32, align 4
  %491 = alloca i32, align 4
  %492 = alloca i32, align 4
  %493 = alloca i32, align 4
  %494 = alloca %struct.s2n_result, align 4
  %495 = alloca i32, align 4
  %496 = alloca i32, align 4
  %497 = alloca i32, align 4
  %498 = alloca i32, align 4
  %499 = alloca i32, align 4
  %500 = alloca i32, align 4
  %501 = alloca i32, align 4
  %502 = alloca %struct.s2n_result, align 4
  %503 = alloca i32, align 4
  %504 = alloca i32, align 4
  %505 = alloca i32, align 4
  %506 = alloca i32, align 4
  %507 = alloca i32, align 4
  %508 = alloca i32, align 4
  %509 = alloca i32, align 4
  %510 = alloca %struct.s2n_result, align 4
  %511 = alloca i32, align 4
  %512 = alloca i32, align 4
  %513 = alloca i32, align 4
  %514 = alloca i32, align 4
  %515 = alloca i32, align 4
  %516 = alloca i32, align 4
  %517 = alloca ptr, align 8
  %518 = alloca ptr, align 8
  %519 = alloca i32, align 4
  %520 = alloca i32, align 4
  %521 = alloca i32, align 4
  %522 = alloca i32, align 4
  %523 = alloca %struct.s2n_test_io_pair, align 4
  %524 = alloca i32, align 4
  %525 = alloca i32, align 4
  %526 = alloca i32, align 4
  %527 = alloca i32, align 4
  %528 = alloca i32, align 4
  %529 = alloca i32, align 4
  %530 = alloca i64, align 8
  %531 = alloca [202 x i8], align 16
  %532 = alloca i32, align 4
  %533 = alloca i64, align 8
  %534 = alloca i32, align 4
  %535 = alloca i32, align 4
  %536 = alloca i32, align 4
  %537 = alloca i32, align 4
  %538 = alloca i32, align 4
  %539 = alloca %struct.s2n_result, align 4
  %540 = alloca i32, align 4
  %541 = alloca i32, align 4
  %542 = alloca i32, align 4
  %543 = alloca i32, align 4
  %544 = alloca i32, align 4
  %545 = alloca i32, align 4
  %546 = alloca i32, align 4
  %547 = alloca i32, align 4
  %548 = alloca i32, align 4
  %549 = alloca ptr, align 8
  %550 = alloca i32, align 4
  %551 = alloca ptr, align 8
  %552 = alloca i32, align 4
  %553 = alloca i32, align 4
  %554 = alloca i32, align 4
  %555 = alloca i32, align 4
  %556 = alloca i32, align 4
  %557 = alloca %struct.s2n_stuffer, align 8
  %558 = alloca %struct.s2n_stuffer, align 8
  %559 = alloca i32, align 4
  %560 = alloca i32, align 4
  %561 = alloca i32, align 4
  %562 = alloca i32, align 4
  %563 = alloca i32, align 4
  %564 = alloca i32, align 4
  %565 = alloca i16, align 2
  %566 = alloca i32, align 4
  %567 = alloca i32, align 4
  %568 = alloca %struct.s2n_result, align 4
  %569 = alloca %struct.s2n_result, align 4
  %570 = alloca ptr, align 8
  %571 = alloca i32, align 4
  %572 = alloca ptr, align 8
  %573 = alloca i32, align 4
  %574 = alloca i32, align 4
  %575 = alloca i32, align 4
  %576 = alloca i32, align 4
  %577 = alloca i32, align 4
  %578 = alloca %struct.s2n_stuffer, align 8
  %579 = alloca %struct.s2n_stuffer, align 8
  %580 = alloca i32, align 4
  %581 = alloca i32, align 4
  %582 = alloca i32, align 4
  %583 = alloca i32, align 4
  %584 = alloca i32, align 4
  %585 = alloca i32, align 4
  %586 = alloca i16, align 2
  %587 = alloca i32, align 4
  %588 = alloca i32, align 4
  %589 = alloca %struct.s2n_result, align 4
  %590 = alloca %struct.s2n_result, align 4
  %591 = alloca ptr, align 8
  %592 = alloca i32, align 4
  %593 = alloca ptr, align 8
  %594 = alloca i32, align 4
  %595 = alloca i32, align 4
  %596 = alloca i32, align 4
  %597 = alloca i32, align 4
  %598 = alloca i32, align 4
  %599 = alloca %struct.s2n_stuffer, align 8
  %600 = alloca %struct.s2n_stuffer, align 8
  %601 = alloca i32, align 4
  %602 = alloca i32, align 4
  %603 = alloca i32, align 4
  %604 = alloca i32, align 4
  %605 = alloca i32, align 4
  %606 = alloca i32, align 4
  %607 = alloca i16, align 2
  %608 = alloca i32, align 4
  %609 = alloca i32, align 4
  %610 = alloca %struct.s2n_result, align 4
  %611 = alloca %struct.s2n_result, align 4
  %612 = alloca i32, align 4
  %613 = alloca i32, align 4
  %614 = alloca i32, align 4
  %615 = alloca i32, align 4
  %616 = alloca i32, align 4
  %617 = alloca i32, align 4
  %618 = alloca i32, align 4
  %619 = 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 %620

620:                                              ; preds = %2
  br label %621

621:                                              ; preds = %620
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %622 = load ptr, ptr @stdout, align 8, !tbaa !9
  %623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %622, ptr noundef @.str.61, ptr noundef @.str.62) #10
  %624 = load ptr, ptr @stdout, align 8, !tbaa !9
  %625 = call i32 @fflush(ptr noundef %624)
  br label %626

626:                                              ; preds = %621
  %627 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %628 = icmp eq i32 %627, -1
  br i1 %628, label %629, label %680

629:                                              ; preds = %626
  br label %630

630:                                              ; preds = %629
  br label %631

631:                                              ; preds = %630
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %632 = call ptr @__errno_location() #11
  %633 = load i32, ptr %632, align 4, !tbaa !5
  store i32 %633, ptr %6, align 4, !tbaa !5
  %634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %635 = call i32 @s2n_print_stacktrace(ptr noundef %634)
  %636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %637 = trunc i8 %636 to i1
  br i1 %637, label %638, label %660

638:                                              ; preds = %631
  %639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %640 = call i32 @fileno(ptr noundef %639) #10
  %641 = call i32 @isatty(i32 noundef %640) #10
  %642 = icmp ne i32 %641, 0
  br i1 %642, label %643, label %660

643:                                              ; preds = %638
  %644 = load i32, ptr %6, align 4, !tbaa !5
  %645 = call ptr @__errno_location() #11
  store i32 %644, ptr %645, align 4, !tbaa !5
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = load i32, ptr @test_count, align 4, !tbaa !5
  %648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %649 = load i32, ptr %648, align 4, !tbaa !5
  %650 = call ptr @s2n_strerror(i32 noundef %649, ptr noundef @.str.65)
  %651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %652 = load i32, ptr %651, align 4, !tbaa !5
  %653 = call ptr @s2n_strerror_debug(i32 noundef %652, ptr noundef @.str.65)
  %654 = call ptr @__errno_location() #11
  %655 = load i32, ptr %654, align 4, !tbaa !5
  %656 = call ptr @strerror(i32 noundef %655) #10
  %657 = call ptr @__errno_location() #11
  %658 = load i32, ptr %657, align 4, !tbaa !5
  %659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %646, ptr noundef @.str.63, i32 noundef %647, ptr noundef @.str.64, ptr noundef @.str.62, i32 noundef 187, ptr noundef %650, ptr noundef %653, ptr noundef %656, i32 noundef %658) #10
  br label %677

660:                                              ; preds = %638, %631
  %661 = load i32, ptr %6, align 4, !tbaa !5
  %662 = call ptr @__errno_location() #11
  store i32 %661, ptr %662, align 4, !tbaa !5
  %663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %664 = load i32, ptr @test_count, align 4, !tbaa !5
  %665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = call ptr @s2n_strerror(i32 noundef %666, ptr noundef @.str.65)
  %668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call ptr @s2n_strerror_debug(i32 noundef %669, ptr noundef @.str.65)
  %671 = call ptr @__errno_location() #11
  %672 = load i32, ptr %671, align 4, !tbaa !5
  %673 = call ptr @strerror(i32 noundef %672) #10
  %674 = call ptr @__errno_location() #11
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %663, ptr noundef @.str.66, i32 noundef %664, ptr noundef @.str.64, ptr noundef @.str.62, i32 noundef 187, ptr noundef %667, ptr noundef %670, ptr noundef %673, i32 noundef %675) #10
  br label %677

677:                                              ; preds = %660, %643
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %678

678:                                              ; preds = %677
  call void @exit(i32 noundef 1) #12
  unreachable

679:                                              ; No predecessors!
  br label %680

680:                                              ; preds = %679, %626
  br label %681

681:                                              ; preds = %680
  br label %682

682:                                              ; preds = %681
  %683 = load i32, ptr @test_count, align 4, !tbaa !5
  %684 = add nsw i32 %683, 1
  store i32 %684, ptr @test_count, align 4, !tbaa !5
  %685 = call i32 @s2n_enable_atexit()
  %686 = icmp eq i32 %685, -1
  br i1 %686, label %687, label %738

687:                                              ; preds = %682
  br label %688

688:                                              ; preds = %687
  br label %689

689:                                              ; preds = %688
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %690 = call ptr @__errno_location() #11
  %691 = load i32, ptr %690, align 4, !tbaa !5
  store i32 %691, ptr %7, align 4, !tbaa !5
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = call i32 @s2n_print_stacktrace(ptr noundef %692)
  %694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %695 = trunc i8 %694 to i1
  br i1 %695, label %696, label %718

696:                                              ; preds = %689
  %697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %698 = call i32 @fileno(ptr noundef %697) #10
  %699 = call i32 @isatty(i32 noundef %698) #10
  %700 = icmp ne i32 %699, 0
  br i1 %700, label %701, label %718

701:                                              ; preds = %696
  %702 = load i32, ptr %7, align 4, !tbaa !5
  %703 = call ptr @__errno_location() #11
  store i32 %702, ptr %703, align 4, !tbaa !5
  %704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %707 = load i32, ptr %706, align 4, !tbaa !5
  %708 = call ptr @s2n_strerror(i32 noundef %707, ptr noundef @.str.65)
  %709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %710 = load i32, ptr %709, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror_debug(i32 noundef %710, ptr noundef @.str.65)
  %712 = call ptr @__errno_location() #11
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = call ptr @strerror(i32 noundef %713) #10
  %715 = call ptr @__errno_location() #11
  %716 = load i32, ptr %715, align 4, !tbaa !5
  %717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %704, ptr noundef @.str.63, i32 noundef %705, ptr noundef @.str.67, ptr noundef @.str.62, i32 noundef 187, ptr noundef %708, ptr noundef %711, ptr noundef %714, i32 noundef %716) #10
  br label %735

718:                                              ; preds = %696, %689
  %719 = load i32, ptr %7, align 4, !tbaa !5
  %720 = call ptr @__errno_location() #11
  store i32 %719, ptr %720, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = load i32, ptr @test_count, align 4, !tbaa !5
  %723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %724 = load i32, ptr %723, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror(i32 noundef %724, ptr noundef @.str.65)
  %726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %727 = load i32, ptr %726, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror_debug(i32 noundef %727, ptr noundef @.str.65)
  %729 = call ptr @__errno_location() #11
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = call ptr @strerror(i32 noundef %730) #10
  %732 = call ptr @__errno_location() #11
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %721, ptr noundef @.str.66, i32 noundef %722, ptr noundef @.str.67, ptr noundef @.str.62, i32 noundef 187, ptr noundef %725, ptr noundef %728, ptr noundef %731, i32 noundef %733) #10
  br label %735

735:                                              ; preds = %718, %701
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %736

736:                                              ; preds = %735
  call void @exit(i32 noundef 1) #12
  unreachable

737:                                              ; No predecessors!
  br label %738

738:                                              ; preds = %737, %682
  br label %739

739:                                              ; preds = %738
  br label %740

740:                                              ; preds = %739
  br label %741

741:                                              ; preds = %740
  %742 = call i32 @s2n_init()
  %743 = icmp eq i32 %742, -1
  br i1 %743, label %744, label %795

744:                                              ; preds = %741
  br label %745

745:                                              ; preds = %744
  br label %746

746:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %747 = call ptr @__errno_location() #11
  %748 = load i32, ptr %747, align 4, !tbaa !5
  store i32 %748, ptr %8, align 4, !tbaa !5
  %749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %750 = call i32 @s2n_print_stacktrace(ptr noundef %749)
  %751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %752 = trunc i8 %751 to i1
  br i1 %752, label %753, label %775

753:                                              ; preds = %746
  %754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %755 = call i32 @fileno(ptr noundef %754) #10
  %756 = call i32 @isatty(i32 noundef %755) #10
  %757 = icmp ne i32 %756, 0
  br i1 %757, label %758, label %775

758:                                              ; preds = %753
  %759 = load i32, ptr %8, align 4, !tbaa !5
  %760 = call ptr @__errno_location() #11
  store i32 %759, ptr %760, align 4, !tbaa !5
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = load i32, ptr @test_count, align 4, !tbaa !5
  %763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %764 = load i32, ptr %763, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror(i32 noundef %764, ptr noundef @.str.65)
  %766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %767 = load i32, ptr %766, align 4, !tbaa !5
  %768 = call ptr @s2n_strerror_debug(i32 noundef %767, ptr noundef @.str.65)
  %769 = call ptr @__errno_location() #11
  %770 = load i32, ptr %769, align 4, !tbaa !5
  %771 = call ptr @strerror(i32 noundef %770) #10
  %772 = call ptr @__errno_location() #11
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %761, ptr noundef @.str.63, i32 noundef %762, ptr noundef @.str.68, ptr noundef @.str.62, i32 noundef 187, ptr noundef %765, ptr noundef %768, ptr noundef %771, i32 noundef %773) #10
  br label %792

775:                                              ; preds = %753, %746
  %776 = load i32, ptr %8, align 4, !tbaa !5
  %777 = call ptr @__errno_location() #11
  store i32 %776, ptr %777, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %781 = load i32, ptr %780, align 4, !tbaa !5
  %782 = call ptr @s2n_strerror(i32 noundef %781, ptr noundef @.str.65)
  %783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror_debug(i32 noundef %784, ptr noundef @.str.65)
  %786 = call ptr @__errno_location() #11
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @strerror(i32 noundef %787) #10
  %789 = call ptr @__errno_location() #11
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %778, ptr noundef @.str.66, i32 noundef %779, ptr noundef @.str.68, ptr noundef @.str.62, i32 noundef 187, ptr noundef %782, ptr noundef %785, ptr noundef %788, i32 noundef %790) #10
  br label %792

792:                                              ; preds = %775, %758
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %793

793:                                              ; preds = %792
  call void @exit(i32 noundef 1) #12
  unreachable

794:                                              ; No predecessors!
  br label %795

795:                                              ; preds = %794, %741
  br label %796

796:                                              ; preds = %795
  br label %797

797:                                              ; preds = %796
  %798 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %798, label %946, label %799

799:                                              ; preds = %797
  br label %800

800:                                              ; preds = %799
  br label %801

801:                                              ; preds = %800
  %802 = call i32 @s2n_cleanup()
  %803 = icmp eq i32 %802, -1
  br i1 %803, label %804, label %855

804:                                              ; preds = %801
  br label %805

805:                                              ; preds = %804
  br label %806

806:                                              ; preds = %805
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #10
  %807 = call ptr @__errno_location() #11
  %808 = load i32, ptr %807, align 4, !tbaa !5
  store i32 %808, ptr %9, align 4, !tbaa !5
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = call i32 @s2n_print_stacktrace(ptr noundef %809)
  %811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %812 = trunc i8 %811 to i1
  br i1 %812, label %813, label %835

813:                                              ; preds = %806
  %814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %815 = call i32 @fileno(ptr noundef %814) #10
  %816 = call i32 @isatty(i32 noundef %815) #10
  %817 = icmp ne i32 %816, 0
  br i1 %817, label %818, label %835

818:                                              ; preds = %813
  %819 = load i32, ptr %9, align 4, !tbaa !5
  %820 = call ptr @__errno_location() #11
  store i32 %819, ptr %820, align 4, !tbaa !5
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = load i32, ptr @test_count, align 4, !tbaa !5
  %823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror(i32 noundef %824, ptr noundef @.str.65)
  %826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %827 = load i32, ptr %826, align 4, !tbaa !5
  %828 = call ptr @s2n_strerror_debug(i32 noundef %827, ptr noundef @.str.65)
  %829 = call ptr @__errno_location() #11
  %830 = load i32, ptr %829, align 4, !tbaa !5
  %831 = call ptr @strerror(i32 noundef %830) #10
  %832 = call ptr @__errno_location() #11
  %833 = load i32, ptr %832, align 4, !tbaa !5
  %834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %821, ptr noundef @.str.63, i32 noundef %822, ptr noundef @.str.69, ptr noundef @.str.62, i32 noundef 190, ptr noundef %825, ptr noundef %828, ptr noundef %831, i32 noundef %833) #10
  br label %852

835:                                              ; preds = %813, %806
  %836 = load i32, ptr %9, align 4, !tbaa !5
  %837 = call ptr @__errno_location() #11
  store i32 %836, ptr %837, align 4, !tbaa !5
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call ptr @s2n_strerror(i32 noundef %841, ptr noundef @.str.65)
  %843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %844 = load i32, ptr %843, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror_debug(i32 noundef %844, ptr noundef @.str.65)
  %846 = call ptr @__errno_location() #11
  %847 = load i32, ptr %846, align 4, !tbaa !5
  %848 = call ptr @strerror(i32 noundef %847) #10
  %849 = call ptr @__errno_location() #11
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %838, ptr noundef @.str.66, i32 noundef %839, ptr noundef @.str.69, ptr noundef @.str.62, i32 noundef 190, ptr noundef %842, ptr noundef %845, ptr noundef %848, i32 noundef %850) #10
  br label %852

852:                                              ; preds = %835, %818
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #10
  br label %853

853:                                              ; preds = %852
  call void @exit(i32 noundef 1) #12
  unreachable

854:                                              ; No predecessors!
  br label %855

855:                                              ; preds = %854, %801
  br label %856

856:                                              ; preds = %855
  br label %857

857:                                              ; preds = %856
  br label %858

858:                                              ; preds = %857
  %859 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %860 = icmp eq i32 %859, -1
  br i1 %860, label %861, label %912

861:                                              ; preds = %858
  br label %862

862:                                              ; preds = %861
  br label %863

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

870:                                              ; preds = %863
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = call i32 @fileno(ptr noundef %871) #10
  %873 = call i32 @isatty(i32 noundef %872) #10
  %874 = icmp ne i32 %873, 0
  br i1 %874, label %875, label %892

875:                                              ; preds = %870
  %876 = load i32, ptr %10, align 4, !tbaa !5
  %877 = call ptr @__errno_location() #11
  store i32 %876, ptr %877, align 4, !tbaa !5
  %878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %879 = load i32, ptr @test_count, align 4, !tbaa !5
  %880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = call ptr @s2n_strerror(i32 noundef %881, ptr noundef @.str.65)
  %883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror_debug(i32 noundef %884, ptr noundef @.str.65)
  %886 = call ptr @__errno_location() #11
  %887 = load i32, ptr %886, align 4, !tbaa !5
  %888 = call ptr @strerror(i32 noundef %887) #10
  %889 = call ptr @__errno_location() #11
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %878, ptr noundef @.str.63, i32 noundef %879, ptr noundef @.str.70, ptr noundef @.str.62, i32 noundef 190, ptr noundef %882, ptr noundef %885, ptr noundef %888, i32 noundef %890) #10
  br label %909

892:                                              ; preds = %870, %863
  %893 = load i32, ptr %10, align 4, !tbaa !5
  %894 = call ptr @__errno_location() #11
  store i32 %893, ptr %894, align 4, !tbaa !5
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = load i32, ptr @test_count, align 4, !tbaa !5
  %897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror(i32 noundef %898, ptr noundef @.str.65)
  %900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %901 = load i32, ptr %900, align 4, !tbaa !5
  %902 = call ptr @s2n_strerror_debug(i32 noundef %901, ptr noundef @.str.65)
  %903 = call ptr @__errno_location() #11
  %904 = load i32, ptr %903, align 4, !tbaa !5
  %905 = call ptr @strerror(i32 noundef %904) #10
  %906 = call ptr @__errno_location() #11
  %907 = load i32, ptr %906, align 4, !tbaa !5
  %908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %895, ptr noundef @.str.66, i32 noundef %896, ptr noundef @.str.70, ptr noundef @.str.62, i32 noundef 190, ptr noundef %899, ptr noundef %902, ptr noundef %905, i32 noundef %907) #10
  br label %909

909:                                              ; preds = %892, %875
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #10
  br label %910

910:                                              ; preds = %909
  call void @exit(i32 noundef 1) #12
  unreachable

911:                                              ; No predecessors!
  br label %912

912:                                              ; preds = %911, %858
  br label %913

913:                                              ; preds = %912
  %914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %915 = trunc i8 %914 to i1
  br i1 %915, label %916, label %932

916:                                              ; preds = %913
  %917 = load ptr, ptr @stdout, align 8, !tbaa !9
  %918 = call i32 @fileno(ptr noundef %917) #10
  %919 = call i32 @isatty(i32 noundef %918) #10
  %920 = icmp ne i32 %919, 0
  br i1 %920, label %921, label %932

921:                                              ; preds = %916
  %922 = load i32, ptr @test_count, align 4, !tbaa !5
  %923 = icmp ne i32 %922, 0
  br i1 %923, label %924, label %928

924:                                              ; preds = %921
  %925 = load ptr, ptr @stdout, align 8, !tbaa !9
  %926 = load i32, ptr @test_count, align 4, !tbaa !5
  %927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %925, ptr noundef @.str.71, i32 noundef %926) #10
  br label %931

928:                                              ; preds = %921
  %929 = load ptr, ptr @stdout, align 8, !tbaa !9
  %930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %929, ptr noundef @.str.72) #10
  br label %931

931:                                              ; preds = %928, %924
  br label %943

932:                                              ; preds = %916, %913
  %933 = load i32, ptr @test_count, align 4, !tbaa !5
  %934 = icmp ne i32 %933, 0
  br i1 %934, label %935, label %939

935:                                              ; preds = %932
  %936 = load ptr, ptr @stdout, align 8, !tbaa !9
  %937 = load i32, ptr @test_count, align 4, !tbaa !5
  %938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %936, ptr noundef @.str.73, i32 noundef %937) #10
  br label %942

939:                                              ; preds = %932
  %940 = load ptr, ptr @stdout, align 8, !tbaa !9
  %941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %940, ptr noundef @.str.74) #10
  br label %942

942:                                              ; preds = %939, %935
  br label %943

943:                                              ; preds = %942, %931
  store i32 0, ptr %3, align 4
  br label %30588

944:                                              ; No predecessors!
  br label %945

945:                                              ; preds = %944
  br label %946

946:                                              ; preds = %945, %797
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #10
  store i64 0, ptr %11, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #10
  call void @llvm.memset.p0.i64(ptr align 16 %12, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #10
  store i64 0, ptr %13, align 8, !tbaa !15
  br label %947

947:                                              ; preds = %1065, %946
  %948 = load i64, ptr %13, align 8, !tbaa !15
  %949 = icmp ult i64 %948, 2
  br i1 %949, label %951, label %950

950:                                              ; preds = %947
  store i32 40, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #10
  br label %1068

951:                                              ; preds = %947
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  store i64 0, ptr %15, align 8, !tbaa !15
  br label %952

952:                                              ; preds = %1061, %951
  %953 = load i64, ptr %15, align 8, !tbaa !15
  %954 = icmp ult i64 %953, 2
  br i1 %954, label %956, label %955

955:                                              ; preds = %952
  store i32 43, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  br label %1064

956:                                              ; preds = %952
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #10
  store i64 0, ptr %16, align 8, !tbaa !15
  br label %957

957:                                              ; preds = %1057, %956
  %958 = load i64, ptr %16, align 8, !tbaa !15
  %959 = icmp ult i64 %958, 2
  br i1 %959, label %961, label %960

960:                                              ; preds = %957
  store i32 46, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  br label %1060

961:                                              ; preds = %957
  br label %962

962:                                              ; preds = %961
  %963 = load i32, ptr @test_count, align 4, !tbaa !5
  %964 = add nsw i32 %963, 1
  store i32 %964, ptr @test_count, align 4, !tbaa !5
  %965 = load i64, ptr %11, align 8, !tbaa !15
  %966 = icmp ult i64 %965, 8
  br i1 %966, label %1020, label %967

967:                                              ; preds = %962
  br label %968

968:                                              ; preds = %967
  br label %969

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

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

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

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

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

1016:                                             ; preds = %1015
  br label %1017

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

1018:                                             ; No predecessors!
  br label %1019

1019:                                             ; preds = %1018
  br label %1020

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

1021:                                             ; preds = %1020
  br label %1022

1022:                                             ; preds = %1021
  %1023 = load i64, ptr %13, align 8, !tbaa !15
  %1024 = icmp ne i64 %1023, 0
  %1025 = load i64, ptr %11, align 8, !tbaa !15
  %1026 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %12, i64 0, i64 %1025
  %1027 = getelementptr inbounds %struct.s2n_early_data_test_case, ptr %1026, i32 0, i32 0
  %1028 = zext i1 %1024 to i8
  store i8 %1028, ptr %1027, align 4, !tbaa !17
  %1029 = load i64, ptr %15, align 8, !tbaa !15
  %1030 = icmp ne i64 %1029, 0
  %1031 = load i64, ptr %11, align 8, !tbaa !15
  %1032 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %12, i64 0, i64 %1031
  %1033 = getelementptr inbounds %struct.s2n_early_data_test_case, ptr %1032, i32 0, i32 1
  %1034 = zext i1 %1030 to i8
  store i8 %1034, ptr %1033, align 1, !tbaa !19
  %1035 = load i64, ptr %16, align 8, !tbaa !15
  %1036 = icmp ne i64 %1035, 0
  %1037 = load i64, ptr %11, align 8, !tbaa !15
  %1038 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %12, i64 0, i64 %1037
  %1039 = getelementptr inbounds %struct.s2n_early_data_test_case, ptr %1038, i32 0, i32 2
  %1040 = zext i1 %1036 to i8
  store i8 %1040, ptr %1039, align 2, !tbaa !20
  %1041 = load i64, ptr %15, align 8, !tbaa !15
  %1042 = icmp ne i64 %1041, 0
  br i1 %1042, label %1043, label %1049

1043:                                             ; preds = %1022
  %1044 = load i64, ptr %16, align 8, !tbaa !15
  %1045 = icmp ne i64 %1044, 0
  br i1 %1045, label %1046, label %1049

1046:                                             ; preds = %1043
  %1047 = load i64, ptr %13, align 8, !tbaa !15
  %1048 = icmp ne i64 %1047, 0
  br label %1049

1049:                                             ; preds = %1046, %1043, %1022
  %1050 = phi i1 [ false, %1043 ], [ false, %1022 ], [ %1048, %1046 ]
  %1051 = load i64, ptr %11, align 8, !tbaa !15
  %1052 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %12, i64 0, i64 %1051
  %1053 = getelementptr inbounds %struct.s2n_early_data_test_case, ptr %1052, i32 0, i32 3
  %1054 = zext i1 %1050 to i8
  store i8 %1054, ptr %1053, align 1, !tbaa !21
  %1055 = load i64, ptr %11, align 8, !tbaa !15
  %1056 = add i64 %1055, 1
  store i64 %1056, ptr %11, align 8, !tbaa !15
  br label %1057

1057:                                             ; preds = %1049
  %1058 = load i64, ptr %16, align 8, !tbaa !15
  %1059 = add i64 %1058, 1
  store i64 %1059, ptr %16, align 8, !tbaa !15
  br label %957, !llvm.loop !22

1060:                                             ; preds = %960
  br label %1061

1061:                                             ; preds = %1060
  %1062 = load i64, ptr %15, align 8, !tbaa !15
  %1063 = add i64 %1062, 1
  store i64 %1063, ptr %15, align 8, !tbaa !15
  br label %952, !llvm.loop !24

1064:                                             ; preds = %955
  br label %1065

1065:                                             ; preds = %1064
  %1066 = load i64, ptr %13, align 8, !tbaa !15
  %1067 = add i64 %1066, 1
  store i64 %1067, ptr %13, align 8, !tbaa !15
  br label %947, !llvm.loop !25

1068:                                             ; preds = %950
  br label %1069

1069:                                             ; preds = %1068
  %1070 = load i32, ptr @test_count, align 4, !tbaa !5
  %1071 = add nsw i32 %1070, 1
  store i32 %1071, ptr @test_count, align 4, !tbaa !5
  %1072 = load i64, ptr %11, align 8, !tbaa !15
  %1073 = icmp eq i64 %1072, 8
  br i1 %1073, label %1127, label %1074

1074:                                             ; preds = %1069
  br label %1075

1075:                                             ; preds = %1074
  br label %1076

1076:                                             ; preds = %1075
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #10
  %1077 = call ptr @__errno_location() #11
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  store i32 %1078, ptr %18, align 4, !tbaa !5
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = call i32 @s2n_print_stacktrace(ptr noundef %1079)
  %1081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1082 = trunc i8 %1081 to i1
  br i1 %1082, label %1083, label %1105

1083:                                             ; preds = %1076
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = call i32 @fileno(ptr noundef %1084) #10
  %1086 = call i32 @isatty(i32 noundef %1085) #10
  %1087 = icmp ne i32 %1086, 0
  br i1 %1087, label %1088, label %1105

1088:                                             ; preds = %1083
  %1089 = load i32, ptr %18, align 4, !tbaa !5
  %1090 = call ptr @__errno_location() #11
  store i32 %1089, ptr %1090, align 4, !tbaa !5
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = load i32, ptr @test_count, align 4, !tbaa !5
  %1093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1094 = load i32, ptr %1093, align 4, !tbaa !5
  %1095 = call ptr @s2n_strerror(i32 noundef %1094, ptr noundef @.str.65)
  %1096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1097 = load i32, ptr %1096, align 4, !tbaa !5
  %1098 = call ptr @s2n_strerror_debug(i32 noundef %1097, ptr noundef @.str.65)
  %1099 = call ptr @__errno_location() #11
  %1100 = load i32, ptr %1099, align 4, !tbaa !5
  %1101 = call ptr @strerror(i32 noundef %1100) #10
  %1102 = call ptr @__errno_location() #11
  %1103 = load i32, ptr %1102, align 4, !tbaa !5
  %1104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1091, ptr noundef @.str.63, i32 noundef %1092, ptr noundef @.str.76, ptr noundef @.str.62, i32 noundef 208, ptr noundef %1095, ptr noundef %1098, ptr noundef %1101, i32 noundef %1103) #10
  br label %1122

1105:                                             ; preds = %1083, %1076
  %1106 = load i32, ptr %18, align 4, !tbaa !5
  %1107 = call ptr @__errno_location() #11
  store i32 %1106, ptr %1107, align 4, !tbaa !5
  %1108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1109 = load i32, ptr @test_count, align 4, !tbaa !5
  %1110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1111 = load i32, ptr %1110, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror(i32 noundef %1111, ptr noundef @.str.65)
  %1113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1114 = load i32, ptr %1113, align 4, !tbaa !5
  %1115 = call ptr @s2n_strerror_debug(i32 noundef %1114, ptr noundef @.str.65)
  %1116 = call ptr @__errno_location() #11
  %1117 = load i32, ptr %1116, align 4, !tbaa !5
  %1118 = call ptr @strerror(i32 noundef %1117) #10
  %1119 = call ptr @__errno_location() #11
  %1120 = load i32, ptr %1119, align 4, !tbaa !5
  %1121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1108, ptr noundef @.str.66, i32 noundef %1109, ptr noundef @.str.76, ptr noundef @.str.62, i32 noundef 208, ptr noundef %1112, ptr noundef %1115, ptr noundef %1118, i32 noundef %1120) #10
  br label %1122

1122:                                             ; preds = %1105, %1088
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  br label %1123

1123:                                             ; preds = %1122
  br label %1124

1124:                                             ; preds = %1123
  call void @exit(i32 noundef 1) #12
  unreachable

1125:                                             ; No predecessors!
  br label %1126

1126:                                             ; preds = %1125
  br label %1127

1127:                                             ; preds = %1126, %1069
  br label %1128

1128:                                             ; preds = %1127
  br label %1129

1129:                                             ; preds = %1128
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #10
  call void @llvm.memset.p0.i64(ptr align 1 %19, i8 0, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #10
  %1130 = call ptr @s2n_config_new()
  store ptr %1130, ptr %20, align 8, !tbaa !9
  br label %1131

1131:                                             ; preds = %1129
  %1132 = load i32, ptr @test_count, align 4, !tbaa !5
  %1133 = add nsw i32 %1132, 1
  store i32 %1133, ptr @test_count, align 4, !tbaa !5
  %1134 = load ptr, ptr %20, align 8, !tbaa !9
  %1135 = icmp eq ptr %1134, null
  br i1 %1135, label %1136, label %1189

1136:                                             ; preds = %1131
  br label %1137

1137:                                             ; preds = %1136
  br label %1138

1138:                                             ; preds = %1137
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %1139 = call ptr @__errno_location() #11
  %1140 = load i32, ptr %1139, align 4, !tbaa !5
  store i32 %1140, ptr %21, align 4, !tbaa !5
  %1141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1142 = call i32 @s2n_print_stacktrace(ptr noundef %1141)
  %1143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1144 = trunc i8 %1143 to i1
  br i1 %1144, label %1145, label %1167

1145:                                             ; preds = %1138
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = call i32 @fileno(ptr noundef %1146) #10
  %1148 = call i32 @isatty(i32 noundef %1147) #10
  %1149 = icmp ne i32 %1148, 0
  br i1 %1149, label %1150, label %1167

1150:                                             ; preds = %1145
  %1151 = load i32, ptr %21, align 4, !tbaa !5
  %1152 = call ptr @__errno_location() #11
  store i32 %1151, ptr %1152, align 4, !tbaa !5
  %1153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1154 = load i32, ptr @test_count, align 4, !tbaa !5
  %1155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1156 = load i32, ptr %1155, align 4, !tbaa !5
  %1157 = call ptr @s2n_strerror(i32 noundef %1156, ptr noundef @.str.65)
  %1158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1159 = load i32, ptr %1158, align 4, !tbaa !5
  %1160 = call ptr @s2n_strerror_debug(i32 noundef %1159, ptr noundef @.str.65)
  %1161 = call ptr @__errno_location() #11
  %1162 = load i32, ptr %1161, align 4, !tbaa !5
  %1163 = call ptr @strerror(i32 noundef %1162) #10
  %1164 = call ptr @__errno_location() #11
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  %1166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1153, ptr noundef @.str.63, i32 noundef %1154, ptr noundef @.str.77, ptr noundef @.str.62, i32 noundef 219, ptr noundef %1157, ptr noundef %1160, ptr noundef %1163, i32 noundef %1165) #10
  br label %1184

1167:                                             ; preds = %1145, %1138
  %1168 = load i32, ptr %21, align 4, !tbaa !5
  %1169 = call ptr @__errno_location() #11
  store i32 %1168, ptr %1169, align 4, !tbaa !5
  %1170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1171 = load i32, ptr @test_count, align 4, !tbaa !5
  %1172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1173 = load i32, ptr %1172, align 4, !tbaa !5
  %1174 = call ptr @s2n_strerror(i32 noundef %1173, ptr noundef @.str.65)
  %1175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  %1177 = call ptr @s2n_strerror_debug(i32 noundef %1176, ptr noundef @.str.65)
  %1178 = call ptr @__errno_location() #11
  %1179 = load i32, ptr %1178, align 4, !tbaa !5
  %1180 = call ptr @strerror(i32 noundef %1179) #10
  %1181 = call ptr @__errno_location() #11
  %1182 = load i32, ptr %1181, align 4, !tbaa !5
  %1183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1170, ptr noundef @.str.66, i32 noundef %1171, ptr noundef @.str.77, ptr noundef @.str.62, i32 noundef 219, ptr noundef %1174, ptr noundef %1177, ptr noundef %1180, i32 noundef %1182) #10
  br label %1184

1184:                                             ; preds = %1167, %1150
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %1185

1185:                                             ; preds = %1184
  br label %1186

1186:                                             ; preds = %1185
  call void @exit(i32 noundef 1) #12
  unreachable

1187:                                             ; No predecessors!
  br label %1188

1188:                                             ; preds = %1187
  br label %1189

1189:                                             ; preds = %1188, %1131
  br label %1190

1190:                                             ; preds = %1189
  br label %1191

1191:                                             ; preds = %1190
  br label %1192

1192:                                             ; preds = %1191
  %1193 = load i32, ptr @test_count, align 4, !tbaa !5
  %1194 = add nsw i32 %1193, 1
  store i32 %1194, ptr @test_count, align 4, !tbaa !5
  %1195 = load ptr, ptr %20, align 8, !tbaa !9
  %1196 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %1195, ptr noundef @.str.78)
  %1197 = icmp eq i32 %1196, -1
  br i1 %1197, label %1198, label %1251

1198:                                             ; preds = %1192
  br label %1199

1199:                                             ; preds = %1198
  br label %1200

1200:                                             ; preds = %1199
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %1201 = call ptr @__errno_location() #11
  %1202 = load i32, ptr %1201, align 4, !tbaa !5
  store i32 %1202, ptr %22, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = call i32 @s2n_print_stacktrace(ptr noundef %1203)
  %1205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1206 = trunc i8 %1205 to i1
  br i1 %1206, label %1207, label %1229

1207:                                             ; preds = %1200
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = call i32 @fileno(ptr noundef %1208) #10
  %1210 = call i32 @isatty(i32 noundef %1209) #10
  %1211 = icmp ne i32 %1210, 0
  br i1 %1211, label %1212, label %1229

1212:                                             ; preds = %1207
  %1213 = load i32, ptr %22, align 4, !tbaa !5
  %1214 = call ptr @__errno_location() #11
  store i32 %1213, ptr %1214, align 4, !tbaa !5
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = load i32, ptr @test_count, align 4, !tbaa !5
  %1217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call ptr @s2n_strerror(i32 noundef %1218, ptr noundef @.str.65)
  %1220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = call ptr @s2n_strerror_debug(i32 noundef %1221, ptr noundef @.str.65)
  %1223 = call ptr @__errno_location() #11
  %1224 = load i32, ptr %1223, align 4, !tbaa !5
  %1225 = call ptr @strerror(i32 noundef %1224) #10
  %1226 = call ptr @__errno_location() #11
  %1227 = load i32, ptr %1226, align 4, !tbaa !5
  %1228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1215, ptr noundef @.str.63, i32 noundef %1216, ptr noundef @.str.79, ptr noundef @.str.62, i32 noundef 220, ptr noundef %1219, ptr noundef %1222, ptr noundef %1225, i32 noundef %1227) #10
  br label %1246

1229:                                             ; preds = %1207, %1200
  %1230 = load i32, ptr %22, align 4, !tbaa !5
  %1231 = call ptr @__errno_location() #11
  store i32 %1230, ptr %1231, align 4, !tbaa !5
  %1232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1233 = load i32, ptr @test_count, align 4, !tbaa !5
  %1234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1235 = load i32, ptr %1234, align 4, !tbaa !5
  %1236 = call ptr @s2n_strerror(i32 noundef %1235, ptr noundef @.str.65)
  %1237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1238 = load i32, ptr %1237, align 4, !tbaa !5
  %1239 = call ptr @s2n_strerror_debug(i32 noundef %1238, ptr noundef @.str.65)
  %1240 = call ptr @__errno_location() #11
  %1241 = load i32, ptr %1240, align 4, !tbaa !5
  %1242 = call ptr @strerror(i32 noundef %1241) #10
  %1243 = call ptr @__errno_location() #11
  %1244 = load i32, ptr %1243, align 4, !tbaa !5
  %1245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1232, ptr noundef @.str.66, i32 noundef %1233, ptr noundef @.str.79, ptr noundef @.str.62, i32 noundef 220, ptr noundef %1236, ptr noundef %1239, ptr noundef %1242, i32 noundef %1244) #10
  br label %1246

1246:                                             ; preds = %1229, %1212
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %1247

1247:                                             ; preds = %1246
  br label %1248

1248:                                             ; preds = %1247
  call void @exit(i32 noundef 1) #12
  unreachable

1249:                                             ; No predecessors!
  br label %1250

1250:                                             ; preds = %1249
  br label %1251

1251:                                             ; preds = %1250, %1192
  br label %1252

1252:                                             ; preds = %1251
  br label %1253

1253:                                             ; preds = %1252
  br label %1254

1254:                                             ; preds = %1253
  %1255 = load i32, ptr @test_count, align 4, !tbaa !5
  %1256 = add nsw i32 %1255, 1
  store i32 %1256, ptr @test_count, align 4, !tbaa !5
  %1257 = load ptr, ptr %20, align 8, !tbaa !9
  %1258 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %1257)
  %1259 = icmp eq i32 %1258, -1
  br i1 %1259, label %1260, label %1313

1260:                                             ; preds = %1254
  br label %1261

1261:                                             ; preds = %1260
  br label %1262

1262:                                             ; preds = %1261
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  %1263 = call ptr @__errno_location() #11
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  store i32 %1264, ptr %23, align 4, !tbaa !5
  %1265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1266 = call i32 @s2n_print_stacktrace(ptr noundef %1265)
  %1267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1268 = trunc i8 %1267 to i1
  br i1 %1268, label %1269, label %1291

1269:                                             ; preds = %1262
  %1270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1271 = call i32 @fileno(ptr noundef %1270) #10
  %1272 = call i32 @isatty(i32 noundef %1271) #10
  %1273 = icmp ne i32 %1272, 0
  br i1 %1273, label %1274, label %1291

1274:                                             ; preds = %1269
  %1275 = load i32, ptr %23, align 4, !tbaa !5
  %1276 = call ptr @__errno_location() #11
  store i32 %1275, ptr %1276, align 4, !tbaa !5
  %1277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1278 = load i32, ptr @test_count, align 4, !tbaa !5
  %1279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call ptr @s2n_strerror(i32 noundef %1280, ptr noundef @.str.65)
  %1282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1283 = load i32, ptr %1282, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror_debug(i32 noundef %1283, ptr noundef @.str.65)
  %1285 = call ptr @__errno_location() #11
  %1286 = load i32, ptr %1285, align 4, !tbaa !5
  %1287 = call ptr @strerror(i32 noundef %1286) #10
  %1288 = call ptr @__errno_location() #11
  %1289 = load i32, ptr %1288, align 4, !tbaa !5
  %1290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1277, ptr noundef @.str.63, i32 noundef %1278, ptr noundef @.str.80, ptr noundef @.str.62, i32 noundef 221, ptr noundef %1281, ptr noundef %1284, ptr noundef %1287, i32 noundef %1289) #10
  br label %1308

1291:                                             ; preds = %1269, %1262
  %1292 = load i32, ptr %23, align 4, !tbaa !5
  %1293 = call ptr @__errno_location() #11
  store i32 %1292, ptr %1293, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = call ptr @s2n_strerror(i32 noundef %1297, ptr noundef @.str.65)
  %1299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror_debug(i32 noundef %1300, ptr noundef @.str.65)
  %1302 = call ptr @__errno_location() #11
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  %1304 = call ptr @strerror(i32 noundef %1303) #10
  %1305 = call ptr @__errno_location() #11
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1294, ptr noundef @.str.66, i32 noundef %1295, ptr noundef @.str.80, ptr noundef @.str.62, i32 noundef 221, ptr noundef %1298, ptr noundef %1301, ptr noundef %1304, i32 noundef %1306) #10
  br label %1308

1308:                                             ; preds = %1291, %1274
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1309

1309:                                             ; preds = %1308
  br label %1310

1310:                                             ; preds = %1309
  call void @exit(i32 noundef 1) #12
  unreachable

1311:                                             ; No predecessors!
  br label %1312

1312:                                             ; preds = %1311
  br label %1313

1313:                                             ; preds = %1312, %1254
  br label %1314

1314:                                             ; preds = %1313
  br label %1315

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

1316:                                             ; preds = %1315
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = add nsw i32 %1317, 1
  store i32 %1318, ptr @test_count, align 4, !tbaa !5
  %1319 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %24, ptr noundef @.str.81, ptr noundef @.str.82)
  %1320 = icmp eq i32 %1319, -1
  br i1 %1320, label %1321, label %1374

1321:                                             ; preds = %1316
  br label %1322

1322:                                             ; preds = %1321
  br label %1323

1323:                                             ; preds = %1322
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %1324 = call ptr @__errno_location() #11
  %1325 = load i32, ptr %1324, align 4, !tbaa !5
  store i32 %1325, ptr %25, align 4, !tbaa !5
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = call i32 @s2n_print_stacktrace(ptr noundef %1326)
  %1328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1329 = trunc i8 %1328 to i1
  br i1 %1329, label %1330, label %1352

1330:                                             ; preds = %1323
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = call i32 @fileno(ptr noundef %1331) #10
  %1333 = call i32 @isatty(i32 noundef %1332) #10
  %1334 = icmp ne i32 %1333, 0
  br i1 %1334, label %1335, label %1352

1335:                                             ; preds = %1330
  %1336 = load i32, ptr %25, align 4, !tbaa !5
  %1337 = call ptr @__errno_location() #11
  store i32 %1336, ptr %1337, align 4, !tbaa !5
  %1338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1339 = load i32, ptr @test_count, align 4, !tbaa !5
  %1340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror(i32 noundef %1341, ptr noundef @.str.65)
  %1343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call ptr @s2n_strerror_debug(i32 noundef %1344, ptr noundef @.str.65)
  %1346 = call ptr @__errno_location() #11
  %1347 = load i32, ptr %1346, align 4, !tbaa !5
  %1348 = call ptr @strerror(i32 noundef %1347) #10
  %1349 = call ptr @__errno_location() #11
  %1350 = load i32, ptr %1349, align 4, !tbaa !5
  %1351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1338, ptr noundef @.str.63, i32 noundef %1339, ptr noundef @.str.83, ptr noundef @.str.62, i32 noundef 224, ptr noundef %1342, ptr noundef %1345, ptr noundef %1348, i32 noundef %1350) #10
  br label %1369

1352:                                             ; preds = %1330, %1323
  %1353 = load i32, ptr %25, align 4, !tbaa !5
  %1354 = call ptr @__errno_location() #11
  store i32 %1353, ptr %1354, align 4, !tbaa !5
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = load i32, ptr @test_count, align 4, !tbaa !5
  %1357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call ptr @s2n_strerror(i32 noundef %1358, ptr noundef @.str.65)
  %1360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = call ptr @s2n_strerror_debug(i32 noundef %1361, ptr noundef @.str.65)
  %1363 = call ptr @__errno_location() #11
  %1364 = load i32, ptr %1363, align 4, !tbaa !5
  %1365 = call ptr @strerror(i32 noundef %1364) #10
  %1366 = call ptr @__errno_location() #11
  %1367 = load i32, ptr %1366, align 4, !tbaa !5
  %1368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1355, ptr noundef @.str.66, i32 noundef %1356, ptr noundef @.str.83, ptr noundef @.str.62, i32 noundef 224, ptr noundef %1359, ptr noundef %1362, ptr noundef %1365, i32 noundef %1367) #10
  br label %1369

1369:                                             ; preds = %1352, %1335
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1370

1370:                                             ; preds = %1369
  br label %1371

1371:                                             ; preds = %1370
  call void @exit(i32 noundef 1) #12
  unreachable

1372:                                             ; No predecessors!
  br label %1373

1373:                                             ; preds = %1372
  br label %1374

1374:                                             ; preds = %1373, %1316
  br label %1375

1375:                                             ; preds = %1374
  br label %1376

1376:                                             ; preds = %1375
  br label %1377

1377:                                             ; preds = %1376
  %1378 = load i32, ptr @test_count, align 4, !tbaa !5
  %1379 = add nsw i32 %1378, 1
  store i32 %1379, ptr @test_count, align 4, !tbaa !5
  %1380 = load ptr, ptr %20, align 8, !tbaa !9
  %1381 = load ptr, ptr %24, align 8, !tbaa !9
  %1382 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1380, ptr noundef %1381)
  %1383 = icmp eq i32 %1382, -1
  br i1 %1383, label %1384, label %1437

1384:                                             ; preds = %1377
  br label %1385

1385:                                             ; preds = %1384
  br label %1386

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

1393:                                             ; preds = %1386
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = call i32 @fileno(ptr noundef %1394) #10
  %1396 = call i32 @isatty(i32 noundef %1395) #10
  %1397 = icmp ne i32 %1396, 0
  br i1 %1397, label %1398, label %1415

1398:                                             ; preds = %1393
  %1399 = load i32, ptr %26, align 4, !tbaa !5
  %1400 = call ptr @__errno_location() #11
  store i32 %1399, ptr %1400, align 4, !tbaa !5
  %1401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1402 = load i32, ptr @test_count, align 4, !tbaa !5
  %1403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1404 = load i32, ptr %1403, align 4, !tbaa !5
  %1405 = call ptr @s2n_strerror(i32 noundef %1404, ptr noundef @.str.65)
  %1406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1407 = load i32, ptr %1406, align 4, !tbaa !5
  %1408 = call ptr @s2n_strerror_debug(i32 noundef %1407, ptr noundef @.str.65)
  %1409 = call ptr @__errno_location() #11
  %1410 = load i32, ptr %1409, align 4, !tbaa !5
  %1411 = call ptr @strerror(i32 noundef %1410) #10
  %1412 = call ptr @__errno_location() #11
  %1413 = load i32, ptr %1412, align 4, !tbaa !5
  %1414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1401, ptr noundef @.str.63, i32 noundef %1402, ptr noundef @.str.84, ptr noundef @.str.62, i32 noundef 225, ptr noundef %1405, ptr noundef %1408, ptr noundef %1411, i32 noundef %1413) #10
  br label %1432

1415:                                             ; preds = %1393, %1386
  %1416 = load i32, ptr %26, align 4, !tbaa !5
  %1417 = call ptr @__errno_location() #11
  store i32 %1416, ptr %1417, align 4, !tbaa !5
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1419 = load i32, ptr @test_count, align 4, !tbaa !5
  %1420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1421 = load i32, ptr %1420, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror(i32 noundef %1421, ptr noundef @.str.65)
  %1423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1424 = load i32, ptr %1423, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror_debug(i32 noundef %1424, ptr noundef @.str.65)
  %1426 = call ptr @__errno_location() #11
  %1427 = load i32, ptr %1426, align 4, !tbaa !5
  %1428 = call ptr @strerror(i32 noundef %1427) #10
  %1429 = call ptr @__errno_location() #11
  %1430 = load i32, ptr %1429, align 4, !tbaa !5
  %1431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1418, ptr noundef @.str.66, i32 noundef %1419, ptr noundef @.str.84, ptr noundef @.str.62, i32 noundef 225, ptr noundef %1422, ptr noundef %1425, ptr noundef %1428, i32 noundef %1430) #10
  br label %1432

1432:                                             ; preds = %1415, %1398
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %1433

1433:                                             ; preds = %1432
  br label %1434

1434:                                             ; preds = %1433
  call void @exit(i32 noundef 1) #12
  unreachable

1435:                                             ; No predecessors!
  br label %1436

1436:                                             ; preds = %1435
  br label %1437

1437:                                             ; preds = %1436, %1377
  br label %1438

1438:                                             ; preds = %1437
  br label %1439

1439:                                             ; preds = %1438
  br label %1440

1440:                                             ; preds = %1439
  %1441 = load i32, ptr @test_count, align 4, !tbaa !5
  %1442 = add nsw i32 %1441, 1
  store i32 %1442, ptr @test_count, align 4, !tbaa !5
  %1443 = load ptr, ptr %20, align 8, !tbaa !9
  %1444 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %1443, i8 noundef zeroext 1)
  %1445 = icmp eq i32 %1444, -1
  br i1 %1445, label %1446, label %1499

1446:                                             ; preds = %1440
  br label %1447

1447:                                             ; preds = %1446
  br label %1448

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

1455:                                             ; preds = %1448
  %1456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1457 = call i32 @fileno(ptr noundef %1456) #10
  %1458 = call i32 @isatty(i32 noundef %1457) #10
  %1459 = icmp ne i32 %1458, 0
  br i1 %1459, label %1460, label %1477

1460:                                             ; preds = %1455
  %1461 = load i32, ptr %27, align 4, !tbaa !5
  %1462 = call ptr @__errno_location() #11
  store i32 %1461, ptr %1462, align 4, !tbaa !5
  %1463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1464 = load i32, ptr @test_count, align 4, !tbaa !5
  %1465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  %1467 = call ptr @s2n_strerror(i32 noundef %1466, ptr noundef @.str.65)
  %1468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1469 = load i32, ptr %1468, align 4, !tbaa !5
  %1470 = call ptr @s2n_strerror_debug(i32 noundef %1469, ptr noundef @.str.65)
  %1471 = call ptr @__errno_location() #11
  %1472 = load i32, ptr %1471, align 4, !tbaa !5
  %1473 = call ptr @strerror(i32 noundef %1472) #10
  %1474 = call ptr @__errno_location() #11
  %1475 = load i32, ptr %1474, align 4, !tbaa !5
  %1476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1463, ptr noundef @.str.63, i32 noundef %1464, ptr noundef @.str.85, ptr noundef @.str.62, i32 noundef 226, ptr noundef %1467, ptr noundef %1470, ptr noundef %1473, i32 noundef %1475) #10
  br label %1494

1477:                                             ; preds = %1455, %1448
  %1478 = load i32, ptr %27, align 4, !tbaa !5
  %1479 = call ptr @__errno_location() #11
  store i32 %1478, ptr %1479, align 4, !tbaa !5
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = load i32, ptr @test_count, align 4, !tbaa !5
  %1482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1483 = load i32, ptr %1482, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror(i32 noundef %1483, ptr noundef @.str.65)
  %1485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1486 = load i32, ptr %1485, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror_debug(i32 noundef %1486, ptr noundef @.str.65)
  %1488 = call ptr @__errno_location() #11
  %1489 = load i32, ptr %1488, align 4, !tbaa !5
  %1490 = call ptr @strerror(i32 noundef %1489) #10
  %1491 = call ptr @__errno_location() #11
  %1492 = load i32, ptr %1491, align 4, !tbaa !5
  %1493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1480, ptr noundef @.str.66, i32 noundef %1481, ptr noundef @.str.85, ptr noundef @.str.62, i32 noundef 226, ptr noundef %1484, ptr noundef %1487, ptr noundef %1490, i32 noundef %1492) #10
  br label %1494

1494:                                             ; preds = %1477, %1460
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  call void @exit(i32 noundef 1) #12
  unreachable

1497:                                             ; No predecessors!
  br label %1498

1498:                                             ; preds = %1497
  br label %1499

1499:                                             ; preds = %1498, %1440
  br label %1500

1500:                                             ; preds = %1499
  br label %1501

1501:                                             ; preds = %1500
  br label %1502

1502:                                             ; preds = %1501
  %1503 = load i32, ptr @test_count, align 4, !tbaa !5
  %1504 = add nsw i32 %1503, 1
  store i32 %1504, ptr @test_count, align 4, !tbaa !5
  %1505 = load ptr, ptr %20, align 8, !tbaa !9
  %1506 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %1505)
  %1507 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  store i32 %1506, ptr %1507, align 4
  %1508 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  %1509 = load i32, ptr %1508, align 4
  %1510 = call zeroext i1 @s2n_result_is_ok(i32 %1509)
  br i1 %1510, label %1564, label %1511

1511:                                             ; preds = %1502
  br label %1512

1512:                                             ; preds = %1511
  br label %1513

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

1520:                                             ; preds = %1513
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = call i32 @fileno(ptr noundef %1521) #10
  %1523 = call i32 @isatty(i32 noundef %1522) #10
  %1524 = icmp ne i32 %1523, 0
  br i1 %1524, label %1525, label %1542

1525:                                             ; preds = %1520
  %1526 = load i32, ptr %29, align 4, !tbaa !5
  %1527 = call ptr @__errno_location() #11
  store i32 %1526, ptr %1527, align 4, !tbaa !5
  %1528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1529 = load i32, ptr @test_count, align 4, !tbaa !5
  %1530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1531 = load i32, ptr %1530, align 4, !tbaa !5
  %1532 = call ptr @s2n_strerror(i32 noundef %1531, ptr noundef @.str.65)
  %1533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1534 = load i32, ptr %1533, align 4, !tbaa !5
  %1535 = call ptr @s2n_strerror_debug(i32 noundef %1534, ptr noundef @.str.65)
  %1536 = call ptr @__errno_location() #11
  %1537 = load i32, ptr %1536, align 4, !tbaa !5
  %1538 = call ptr @strerror(i32 noundef %1537) #10
  %1539 = call ptr @__errno_location() #11
  %1540 = load i32, ptr %1539, align 4, !tbaa !5
  %1541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1528, ptr noundef @.str.63, i32 noundef %1529, ptr noundef @.str.86, ptr noundef @.str.62, i32 noundef 227, ptr noundef %1532, ptr noundef %1535, ptr noundef %1538, i32 noundef %1540) #10
  br label %1559

1542:                                             ; preds = %1520, %1513
  %1543 = load i32, ptr %29, align 4, !tbaa !5
  %1544 = call ptr @__errno_location() #11
  store i32 %1543, ptr %1544, align 4, !tbaa !5
  %1545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1546 = load i32, ptr @test_count, align 4, !tbaa !5
  %1547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1548 = load i32, ptr %1547, align 4, !tbaa !5
  %1549 = call ptr @s2n_strerror(i32 noundef %1548, ptr noundef @.str.65)
  %1550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  %1552 = call ptr @s2n_strerror_debug(i32 noundef %1551, ptr noundef @.str.65)
  %1553 = call ptr @__errno_location() #11
  %1554 = load i32, ptr %1553, align 4, !tbaa !5
  %1555 = call ptr @strerror(i32 noundef %1554) #10
  %1556 = call ptr @__errno_location() #11
  %1557 = load i32, ptr %1556, align 4, !tbaa !5
  %1558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1545, ptr noundef @.str.66, i32 noundef %1546, ptr noundef @.str.86, ptr noundef @.str.62, i32 noundef 227, ptr noundef %1549, ptr noundef %1552, ptr noundef %1555, i32 noundef %1557) #10
  br label %1559

1559:                                             ; preds = %1542, %1525
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1560

1560:                                             ; preds = %1559
  br label %1561

1561:                                             ; preds = %1560
  call void @exit(i32 noundef 1) #12
  unreachable

1562:                                             ; No predecessors!
  br label %1563

1563:                                             ; preds = %1562
  br label %1564

1564:                                             ; preds = %1563, %1502
  br label %1565

1565:                                             ; preds = %1564
  br label %1566

1566:                                             ; preds = %1565
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  %1567 = call ptr @s2n_config_new()
  store ptr %1567, ptr %30, align 8, !tbaa !9
  br label %1568

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

1573:                                             ; preds = %1568
  br label %1574

1574:                                             ; preds = %1573
  br label %1575

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

1582:                                             ; preds = %1575
  %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
  %1586 = icmp ne i32 %1585, 0
  br i1 %1586, label %1587, label %1604

1587:                                             ; preds = %1582
  %1588 = load i32, ptr %31, align 4, !tbaa !5
  %1589 = call ptr @__errno_location() #11
  store i32 %1588, ptr %1589, align 4, !tbaa !5
  %1590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1591 = load i32, ptr @test_count, align 4, !tbaa !5
  %1592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = call ptr @s2n_strerror(i32 noundef %1593, ptr noundef @.str.65)
  %1595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1596 = load i32, ptr %1595, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror_debug(i32 noundef %1596, ptr noundef @.str.65)
  %1598 = call ptr @__errno_location() #11
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = call ptr @strerror(i32 noundef %1599) #10
  %1601 = call ptr @__errno_location() #11
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1590, ptr noundef @.str.63, i32 noundef %1591, ptr noundef @.str.87, ptr noundef @.str.62, i32 noundef 231, ptr noundef %1594, ptr noundef %1597, ptr noundef %1600, i32 noundef %1602) #10
  br label %1621

1604:                                             ; preds = %1582, %1575
  %1605 = load i32, ptr %31, align 4, !tbaa !5
  %1606 = call ptr @__errno_location() #11
  store i32 %1605, ptr %1606, align 4, !tbaa !5
  %1607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1608 = load i32, ptr @test_count, align 4, !tbaa !5
  %1609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1610 = load i32, ptr %1609, align 4, !tbaa !5
  %1611 = call ptr @s2n_strerror(i32 noundef %1610, ptr noundef @.str.65)
  %1612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1613 = load i32, ptr %1612, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror_debug(i32 noundef %1613, ptr noundef @.str.65)
  %1615 = call ptr @__errno_location() #11
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  %1617 = call ptr @strerror(i32 noundef %1616) #10
  %1618 = call ptr @__errno_location() #11
  %1619 = load i32, ptr %1618, align 4, !tbaa !5
  %1620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1607, ptr noundef @.str.66, i32 noundef %1608, ptr noundef @.str.87, ptr noundef @.str.62, i32 noundef 231, ptr noundef %1611, ptr noundef %1614, ptr noundef %1617, i32 noundef %1619) #10
  br label %1621

1621:                                             ; preds = %1604, %1587
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1622

1622:                                             ; preds = %1621
  br label %1623

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

1624:                                             ; No predecessors!
  br label %1625

1625:                                             ; preds = %1624
  br label %1626

1626:                                             ; preds = %1625, %1568
  br label %1627

1627:                                             ; preds = %1626
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

1629:                                             ; preds = %1628
  %1630 = load i32, ptr @test_count, align 4, !tbaa !5
  %1631 = add nsw i32 %1630, 1
  store i32 %1631, ptr @test_count, align 4, !tbaa !5
  %1632 = load ptr, ptr %30, align 8, !tbaa !9
  %1633 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %1632, ptr noundef @.str.88)
  %1634 = icmp eq i32 %1633, -1
  br i1 %1634, label %1635, label %1688

1635:                                             ; preds = %1629
  br label %1636

1636:                                             ; preds = %1635
  br label %1637

1637:                                             ; preds = %1636
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1638 = call ptr @__errno_location() #11
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  store i32 %1639, ptr %32, align 4, !tbaa !5
  %1640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1641 = call i32 @s2n_print_stacktrace(ptr noundef %1640)
  %1642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1643 = trunc i8 %1642 to i1
  br i1 %1643, label %1644, label %1666

1644:                                             ; preds = %1637
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @fileno(ptr noundef %1645) #10
  %1647 = call i32 @isatty(i32 noundef %1646) #10
  %1648 = icmp ne i32 %1647, 0
  br i1 %1648, label %1649, label %1666

1649:                                             ; preds = %1644
  %1650 = load i32, ptr %32, align 4, !tbaa !5
  %1651 = call ptr @__errno_location() #11
  store i32 %1650, ptr %1651, align 4, !tbaa !5
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call ptr @s2n_strerror(i32 noundef %1655, ptr noundef @.str.65)
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror_debug(i32 noundef %1658, ptr noundef @.str.65)
  %1660 = call ptr @__errno_location() #11
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call ptr @strerror(i32 noundef %1661) #10
  %1663 = call ptr @__errno_location() #11
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1652, ptr noundef @.str.63, i32 noundef %1653, ptr noundef @.str.89, ptr noundef @.str.62, i32 noundef 232, ptr noundef %1656, ptr noundef %1659, ptr noundef %1662, i32 noundef %1664) #10
  br label %1683

1666:                                             ; preds = %1644, %1637
  %1667 = load i32, ptr %32, align 4, !tbaa !5
  %1668 = call ptr @__errno_location() #11
  store i32 %1667, ptr %1668, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1672 = load i32, ptr %1671, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror(i32 noundef %1672, ptr noundef @.str.65)
  %1674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call ptr @s2n_strerror_debug(i32 noundef %1675, ptr noundef @.str.65)
  %1677 = call ptr @__errno_location() #11
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = call ptr @strerror(i32 noundef %1678) #10
  %1680 = call ptr @__errno_location() #11
  %1681 = load i32, ptr %1680, align 4, !tbaa !5
  %1682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef @.str.66, i32 noundef %1670, ptr noundef @.str.89, ptr noundef @.str.62, i32 noundef 232, ptr noundef %1673, ptr noundef %1676, ptr noundef %1679, i32 noundef %1681) #10
  br label %1683

1683:                                             ; preds = %1666, %1649
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1684

1684:                                             ; preds = %1683
  br label %1685

1685:                                             ; preds = %1684
  call void @exit(i32 noundef 1) #12
  unreachable

1686:                                             ; No predecessors!
  br label %1687

1687:                                             ; preds = %1686
  br label %1688

1688:                                             ; preds = %1687, %1629
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  br label %1691

1691:                                             ; preds = %1690
  %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 = load ptr, ptr %30, align 8, !tbaa !9
  %1695 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %1694)
  %1696 = icmp eq i32 %1695, -1
  br i1 %1696, label %1697, label %1750

1697:                                             ; preds = %1691
  br label %1698

1698:                                             ; preds = %1697
  br label %1699

1699:                                             ; preds = %1698
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1700 = call ptr @__errno_location() #11
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  store i32 %1701, ptr %33, align 4, !tbaa !5
  %1702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1703 = call i32 @s2n_print_stacktrace(ptr noundef %1702)
  %1704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1705 = trunc i8 %1704 to i1
  br i1 %1705, label %1706, label %1728

1706:                                             ; preds = %1699
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = call i32 @fileno(ptr noundef %1707) #10
  %1709 = call i32 @isatty(i32 noundef %1708) #10
  %1710 = icmp ne i32 %1709, 0
  br i1 %1710, label %1711, label %1728

1711:                                             ; preds = %1706
  %1712 = load i32, ptr %33, align 4, !tbaa !5
  %1713 = call ptr @__errno_location() #11
  store i32 %1712, ptr %1713, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror(i32 noundef %1717, ptr noundef @.str.65)
  %1719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1720 = load i32, ptr %1719, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror_debug(i32 noundef %1720, ptr noundef @.str.65)
  %1722 = call ptr @__errno_location() #11
  %1723 = load i32, ptr %1722, align 4, !tbaa !5
  %1724 = call ptr @strerror(i32 noundef %1723) #10
  %1725 = call ptr @__errno_location() #11
  %1726 = load i32, ptr %1725, align 4, !tbaa !5
  %1727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef @.str.63, i32 noundef %1715, ptr noundef @.str.90, ptr noundef @.str.62, i32 noundef 233, ptr noundef %1718, ptr noundef %1721, ptr noundef %1724, i32 noundef %1726) #10
  br label %1745

1728:                                             ; preds = %1706, %1699
  %1729 = load i32, ptr %33, align 4, !tbaa !5
  %1730 = call ptr @__errno_location() #11
  store i32 %1729, ptr %1730, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror(i32 noundef %1734, ptr noundef @.str.65)
  %1736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call ptr @s2n_strerror_debug(i32 noundef %1737, ptr noundef @.str.65)
  %1739 = call ptr @__errno_location() #11
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  %1741 = call ptr @strerror(i32 noundef %1740) #10
  %1742 = call ptr @__errno_location() #11
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1731, ptr noundef @.str.66, i32 noundef %1732, ptr noundef @.str.90, ptr noundef @.str.62, i32 noundef 233, ptr noundef %1735, ptr noundef %1738, ptr noundef %1741, i32 noundef %1743) #10
  br label %1745

1745:                                             ; preds = %1728, %1711
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1746

1746:                                             ; preds = %1745
  br label %1747

1747:                                             ; preds = %1746
  call void @exit(i32 noundef 1) #12
  unreachable

1748:                                             ; No predecessors!
  br label %1749

1749:                                             ; preds = %1748
  br label %1750

1750:                                             ; preds = %1749, %1691
  br label %1751

1751:                                             ; preds = %1750
  br label %1752

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

1753:                                             ; preds = %1752
  %1754 = load i32, ptr @test_count, align 4, !tbaa !5
  %1755 = add nsw i32 %1754, 1
  store i32 %1755, ptr @test_count, align 4, !tbaa !5
  %1756 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %34, ptr noundef @.str.91, ptr noundef @.str.92)
  %1757 = icmp eq i32 %1756, -1
  br i1 %1757, label %1758, label %1811

1758:                                             ; preds = %1753
  br label %1759

1759:                                             ; preds = %1758
  br label %1760

1760:                                             ; preds = %1759
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1761 = call ptr @__errno_location() #11
  %1762 = load i32, ptr %1761, align 4, !tbaa !5
  store i32 %1762, ptr %35, align 4, !tbaa !5
  %1763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1764 = call i32 @s2n_print_stacktrace(ptr noundef %1763)
  %1765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1766 = trunc i8 %1765 to i1
  br i1 %1766, label %1767, label %1789

1767:                                             ; preds = %1760
  %1768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1769 = call i32 @fileno(ptr noundef %1768) #10
  %1770 = call i32 @isatty(i32 noundef %1769) #10
  %1771 = icmp ne i32 %1770, 0
  br i1 %1771, label %1772, label %1789

1772:                                             ; preds = %1767
  %1773 = load i32, ptr %35, align 4, !tbaa !5
  %1774 = call ptr @__errno_location() #11
  store i32 %1773, ptr %1774, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = load i32, ptr @test_count, align 4, !tbaa !5
  %1777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror(i32 noundef %1778, ptr noundef @.str.65)
  %1780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call ptr @s2n_strerror_debug(i32 noundef %1781, ptr noundef @.str.65)
  %1783 = call ptr @__errno_location() #11
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @strerror(i32 noundef %1784) #10
  %1786 = call ptr @__errno_location() #11
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1775, ptr noundef @.str.63, i32 noundef %1776, ptr noundef @.str.93, ptr noundef @.str.62, i32 noundef 236, ptr noundef %1779, ptr noundef %1782, ptr noundef %1785, i32 noundef %1787) #10
  br label %1806

1789:                                             ; preds = %1767, %1760
  %1790 = load i32, ptr %35, align 4, !tbaa !5
  %1791 = call ptr @__errno_location() #11
  store i32 %1790, ptr %1791, align 4, !tbaa !5
  %1792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1793 = load i32, ptr @test_count, align 4, !tbaa !5
  %1794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1795 = load i32, ptr %1794, align 4, !tbaa !5
  %1796 = call ptr @s2n_strerror(i32 noundef %1795, ptr noundef @.str.65)
  %1797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1798 = load i32, ptr %1797, align 4, !tbaa !5
  %1799 = call ptr @s2n_strerror_debug(i32 noundef %1798, ptr noundef @.str.65)
  %1800 = call ptr @__errno_location() #11
  %1801 = load i32, ptr %1800, align 4, !tbaa !5
  %1802 = call ptr @strerror(i32 noundef %1801) #10
  %1803 = call ptr @__errno_location() #11
  %1804 = load i32, ptr %1803, align 4, !tbaa !5
  %1805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1792, ptr noundef @.str.66, i32 noundef %1793, ptr noundef @.str.93, ptr noundef @.str.62, i32 noundef 236, ptr noundef %1796, ptr noundef %1799, ptr noundef %1802, i32 noundef %1804) #10
  br label %1806

1806:                                             ; preds = %1789, %1772
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1807

1807:                                             ; preds = %1806
  br label %1808

1808:                                             ; preds = %1807
  call void @exit(i32 noundef 1) #12
  unreachable

1809:                                             ; No predecessors!
  br label %1810

1810:                                             ; preds = %1809
  br label %1811

1811:                                             ; preds = %1810, %1753
  br label %1812

1812:                                             ; preds = %1811
  br label %1813

1813:                                             ; preds = %1812
  br label %1814

1814:                                             ; preds = %1813
  %1815 = load i32, ptr @test_count, align 4, !tbaa !5
  %1816 = add nsw i32 %1815, 1
  store i32 %1816, ptr @test_count, align 4, !tbaa !5
  %1817 = load ptr, ptr %30, align 8, !tbaa !9
  %1818 = load ptr, ptr %34, align 8, !tbaa !9
  %1819 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1817, ptr noundef %1818)
  %1820 = icmp eq i32 %1819, -1
  br i1 %1820, label %1821, label %1874

1821:                                             ; preds = %1814
  br label %1822

1822:                                             ; preds = %1821
  br label %1823

1823:                                             ; preds = %1822
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1824 = call ptr @__errno_location() #11
  %1825 = load i32, ptr %1824, align 4, !tbaa !5
  store i32 %1825, ptr %36, align 4, !tbaa !5
  %1826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1827 = call i32 @s2n_print_stacktrace(ptr noundef %1826)
  %1828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1829 = trunc i8 %1828 to i1
  br i1 %1829, label %1830, label %1852

1830:                                             ; preds = %1823
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = call i32 @fileno(ptr noundef %1831) #10
  %1833 = call i32 @isatty(i32 noundef %1832) #10
  %1834 = icmp ne i32 %1833, 0
  br i1 %1834, label %1835, label %1852

1835:                                             ; preds = %1830
  %1836 = load i32, ptr %36, align 4, !tbaa !5
  %1837 = call ptr @__errno_location() #11
  store i32 %1836, ptr %1837, align 4, !tbaa !5
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = load i32, ptr @test_count, align 4, !tbaa !5
  %1840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1841 = load i32, ptr %1840, align 4, !tbaa !5
  %1842 = call ptr @s2n_strerror(i32 noundef %1841, ptr noundef @.str.65)
  %1843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  %1845 = call ptr @s2n_strerror_debug(i32 noundef %1844, ptr noundef @.str.65)
  %1846 = call ptr @__errno_location() #11
  %1847 = load i32, ptr %1846, align 4, !tbaa !5
  %1848 = call ptr @strerror(i32 noundef %1847) #10
  %1849 = call ptr @__errno_location() #11
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1838, ptr noundef @.str.63, i32 noundef %1839, ptr noundef @.str.94, ptr noundef @.str.62, i32 noundef 237, ptr noundef %1842, ptr noundef %1845, ptr noundef %1848, i32 noundef %1850) #10
  br label %1869

1852:                                             ; preds = %1830, %1823
  %1853 = load i32, ptr %36, align 4, !tbaa !5
  %1854 = call ptr @__errno_location() #11
  store i32 %1853, ptr %1854, align 4, !tbaa !5
  %1855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1856 = load i32, ptr @test_count, align 4, !tbaa !5
  %1857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1858 = load i32, ptr %1857, align 4, !tbaa !5
  %1859 = call ptr @s2n_strerror(i32 noundef %1858, ptr noundef @.str.65)
  %1860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1861 = load i32, ptr %1860, align 4, !tbaa !5
  %1862 = call ptr @s2n_strerror_debug(i32 noundef %1861, ptr noundef @.str.65)
  %1863 = call ptr @__errno_location() #11
  %1864 = load i32, ptr %1863, align 4, !tbaa !5
  %1865 = call ptr @strerror(i32 noundef %1864) #10
  %1866 = call ptr @__errno_location() #11
  %1867 = load i32, ptr %1866, align 4, !tbaa !5
  %1868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1855, ptr noundef @.str.66, i32 noundef %1856, ptr noundef @.str.94, ptr noundef @.str.62, i32 noundef 237, ptr noundef %1859, ptr noundef %1862, ptr noundef %1865, i32 noundef %1867) #10
  br label %1869

1869:                                             ; preds = %1852, %1835
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1870

1870:                                             ; preds = %1869
  br label %1871

1871:                                             ; preds = %1870
  call void @exit(i32 noundef 1) #12
  unreachable

1872:                                             ; No predecessors!
  br label %1873

1873:                                             ; preds = %1872
  br label %1874

1874:                                             ; preds = %1873, %1814
  br label %1875

1875:                                             ; preds = %1874
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

1877:                                             ; preds = %1876
  %1878 = load i32, ptr @test_count, align 4, !tbaa !5
  %1879 = add nsw i32 %1878, 1
  store i32 %1879, ptr @test_count, align 4, !tbaa !5
  %1880 = load ptr, ptr %30, align 8, !tbaa !9
  %1881 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %1880, i8 noundef zeroext 1)
  %1882 = icmp eq i32 %1881, -1
  br i1 %1882, label %1883, label %1936

1883:                                             ; preds = %1877
  br label %1884

1884:                                             ; preds = %1883
  br label %1885

1885:                                             ; preds = %1884
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1886 = call ptr @__errno_location() #11
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  store i32 %1887, ptr %37, align 4, !tbaa !5
  %1888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1889 = call i32 @s2n_print_stacktrace(ptr noundef %1888)
  %1890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1891 = trunc i8 %1890 to i1
  br i1 %1891, label %1892, label %1914

1892:                                             ; preds = %1885
  %1893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1894 = call i32 @fileno(ptr noundef %1893) #10
  %1895 = call i32 @isatty(i32 noundef %1894) #10
  %1896 = icmp ne i32 %1895, 0
  br i1 %1896, label %1897, label %1914

1897:                                             ; preds = %1892
  %1898 = load i32, ptr %37, align 4, !tbaa !5
  %1899 = call ptr @__errno_location() #11
  store i32 %1898, ptr %1899, align 4, !tbaa !5
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = load i32, ptr @test_count, align 4, !tbaa !5
  %1902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1903 = load i32, ptr %1902, align 4, !tbaa !5
  %1904 = call ptr @s2n_strerror(i32 noundef %1903, ptr noundef @.str.65)
  %1905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror_debug(i32 noundef %1906, ptr noundef @.str.65)
  %1908 = call ptr @__errno_location() #11
  %1909 = load i32, ptr %1908, align 4, !tbaa !5
  %1910 = call ptr @strerror(i32 noundef %1909) #10
  %1911 = call ptr @__errno_location() #11
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1900, ptr noundef @.str.63, i32 noundef %1901, ptr noundef @.str.95, ptr noundef @.str.62, i32 noundef 238, ptr noundef %1904, ptr noundef %1907, ptr noundef %1910, i32 noundef %1912) #10
  br label %1931

1914:                                             ; preds = %1892, %1885
  %1915 = load i32, ptr %37, align 4, !tbaa !5
  %1916 = call ptr @__errno_location() #11
  store i32 %1915, ptr %1916, align 4, !tbaa !5
  %1917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1918 = load i32, ptr @test_count, align 4, !tbaa !5
  %1919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1920 = load i32, ptr %1919, align 4, !tbaa !5
  %1921 = call ptr @s2n_strerror(i32 noundef %1920, ptr noundef @.str.65)
  %1922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1923 = load i32, ptr %1922, align 4, !tbaa !5
  %1924 = call ptr @s2n_strerror_debug(i32 noundef %1923, ptr noundef @.str.65)
  %1925 = call ptr @__errno_location() #11
  %1926 = load i32, ptr %1925, align 4, !tbaa !5
  %1927 = call ptr @strerror(i32 noundef %1926) #10
  %1928 = call ptr @__errno_location() #11
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  %1930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1917, ptr noundef @.str.66, i32 noundef %1918, ptr noundef @.str.95, ptr noundef @.str.62, i32 noundef 238, ptr noundef %1921, ptr noundef %1924, ptr noundef %1927, i32 noundef %1929) #10
  br label %1931

1931:                                             ; preds = %1914, %1897
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %1932

1932:                                             ; preds = %1931
  br label %1933

1933:                                             ; preds = %1932
  call void @exit(i32 noundef 1) #12
  unreachable

1934:                                             ; No predecessors!
  br label %1935

1935:                                             ; preds = %1934
  br label %1936

1936:                                             ; preds = %1935, %1877
  br label %1937

1937:                                             ; preds = %1936
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938
  %1940 = load i32, ptr @test_count, align 4, !tbaa !5
  %1941 = add nsw i32 %1940, 1
  store i32 %1941, ptr @test_count, align 4, !tbaa !5
  %1942 = load ptr, ptr %30, align 8, !tbaa !9
  %1943 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %1942)
  %1944 = getelementptr inbounds %struct.s2n_result, ptr %38, i32 0, i32 0
  store i32 %1943, ptr %1944, align 4
  %1945 = getelementptr inbounds %struct.s2n_result, ptr %38, i32 0, i32 0
  %1946 = load i32, ptr %1945, align 4
  %1947 = call zeroext i1 @s2n_result_is_ok(i32 %1946)
  br i1 %1947, label %2001, label %1948

1948:                                             ; preds = %1939
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  %1951 = call ptr @__errno_location() #11
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  store i32 %1952, ptr %39, align 4, !tbaa !5
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = call i32 @s2n_print_stacktrace(ptr noundef %1953)
  %1955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1956 = trunc i8 %1955 to i1
  br i1 %1956, label %1957, label %1979

1957:                                             ; preds = %1950
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @fileno(ptr noundef %1958) #10
  %1960 = call i32 @isatty(i32 noundef %1959) #10
  %1961 = icmp ne i32 %1960, 0
  br i1 %1961, label %1962, label %1979

1962:                                             ; preds = %1957
  %1963 = load i32, ptr %39, align 4, !tbaa !5
  %1964 = call ptr @__errno_location() #11
  store i32 %1963, ptr %1964, align 4, !tbaa !5
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = load i32, ptr @test_count, align 4, !tbaa !5
  %1967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1968 = load i32, ptr %1967, align 4, !tbaa !5
  %1969 = call ptr @s2n_strerror(i32 noundef %1968, ptr noundef @.str.65)
  %1970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1971 = load i32, ptr %1970, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror_debug(i32 noundef %1971, ptr noundef @.str.65)
  %1973 = call ptr @__errno_location() #11
  %1974 = load i32, ptr %1973, align 4, !tbaa !5
  %1975 = call ptr @strerror(i32 noundef %1974) #10
  %1976 = call ptr @__errno_location() #11
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1965, ptr noundef @.str.63, i32 noundef %1966, ptr noundef @.str.96, ptr noundef @.str.62, i32 noundef 239, ptr noundef %1969, ptr noundef %1972, ptr noundef %1975, i32 noundef %1977) #10
  br label %1996

1979:                                             ; preds = %1957, %1950
  %1980 = load i32, ptr %39, align 4, !tbaa !5
  %1981 = call ptr @__errno_location() #11
  store i32 %1980, ptr %1981, align 4, !tbaa !5
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = load i32, ptr @test_count, align 4, !tbaa !5
  %1984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror(i32 noundef %1985, ptr noundef @.str.65)
  %1987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1988 = load i32, ptr %1987, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror_debug(i32 noundef %1988, ptr noundef @.str.65)
  %1990 = call ptr @__errno_location() #11
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call ptr @strerror(i32 noundef %1991) #10
  %1993 = call ptr @__errno_location() #11
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1982, ptr noundef @.str.66, i32 noundef %1983, ptr noundef @.str.96, ptr noundef @.str.62, i32 noundef 239, ptr noundef %1986, ptr noundef %1989, ptr noundef %1992, i32 noundef %1994) #10
  br label %1996

1996:                                             ; preds = %1979, %1962
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %1997

1997:                                             ; preds = %1996
  br label %1998

1998:                                             ; preds = %1997
  call void @exit(i32 noundef 1) #12
  unreachable

1999:                                             ; No predecessors!
  br label %2000

2000:                                             ; preds = %1999
  br label %2001

2001:                                             ; preds = %2000, %1939
  br label %2002

2002:                                             ; preds = %2001
  br label %2003

2003:                                             ; preds = %2002
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #10
  %2004 = call ptr @s2n_config_new()
  store ptr %2004, ptr %40, align 8, !tbaa !9
  br label %2005

2005:                                             ; preds = %2003
  %2006 = load i32, ptr @test_count, align 4, !tbaa !5
  %2007 = add nsw i32 %2006, 1
  store i32 %2007, ptr @test_count, align 4, !tbaa !5
  %2008 = load ptr, ptr %40, align 8, !tbaa !9
  %2009 = icmp eq ptr %2008, null
  br i1 %2009, label %2010, label %2063

2010:                                             ; preds = %2005
  br label %2011

2011:                                             ; preds = %2010
  br label %2012

2012:                                             ; preds = %2011
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #10
  %2013 = call ptr @__errno_location() #11
  %2014 = load i32, ptr %2013, align 4, !tbaa !5
  store i32 %2014, ptr %41, align 4, !tbaa !5
  %2015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2016 = call i32 @s2n_print_stacktrace(ptr noundef %2015)
  %2017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2018 = trunc i8 %2017 to i1
  br i1 %2018, label %2019, label %2041

2019:                                             ; preds = %2012
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = call i32 @fileno(ptr noundef %2020) #10
  %2022 = call i32 @isatty(i32 noundef %2021) #10
  %2023 = icmp ne i32 %2022, 0
  br i1 %2023, label %2024, label %2041

2024:                                             ; preds = %2019
  %2025 = load i32, ptr %41, align 4, !tbaa !5
  %2026 = call ptr @__errno_location() #11
  store i32 %2025, ptr %2026, align 4, !tbaa !5
  %2027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2028 = load i32, ptr @test_count, align 4, !tbaa !5
  %2029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2030 = load i32, ptr %2029, align 4, !tbaa !5
  %2031 = call ptr @s2n_strerror(i32 noundef %2030, ptr noundef @.str.65)
  %2032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2033 = load i32, ptr %2032, align 4, !tbaa !5
  %2034 = call ptr @s2n_strerror_debug(i32 noundef %2033, ptr noundef @.str.65)
  %2035 = call ptr @__errno_location() #11
  %2036 = load i32, ptr %2035, align 4, !tbaa !5
  %2037 = call ptr @strerror(i32 noundef %2036) #10
  %2038 = call ptr @__errno_location() #11
  %2039 = load i32, ptr %2038, align 4, !tbaa !5
  %2040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2027, ptr noundef @.str.63, i32 noundef %2028, ptr noundef @.str.97, ptr noundef @.str.62, i32 noundef 243, ptr noundef %2031, ptr noundef %2034, ptr noundef %2037, i32 noundef %2039) #10
  br label %2058

2041:                                             ; preds = %2019, %2012
  %2042 = load i32, ptr %41, align 4, !tbaa !5
  %2043 = call ptr @__errno_location() #11
  store i32 %2042, ptr %2043, align 4, !tbaa !5
  %2044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef @.str.65)
  %2049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2050 = load i32, ptr %2049, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror_debug(i32 noundef %2050, ptr noundef @.str.65)
  %2052 = call ptr @__errno_location() #11
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = call ptr @strerror(i32 noundef %2053) #10
  %2055 = call ptr @__errno_location() #11
  %2056 = load i32, ptr %2055, align 4, !tbaa !5
  %2057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2044, ptr noundef @.str.66, i32 noundef %2045, ptr noundef @.str.97, ptr noundef @.str.62, i32 noundef 243, ptr noundef %2048, ptr noundef %2051, ptr noundef %2054, i32 noundef %2056) #10
  br label %2058

2058:                                             ; preds = %2041, %2024
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2059

2059:                                             ; preds = %2058
  br label %2060

2060:                                             ; preds = %2059
  call void @exit(i32 noundef 1) #12
  unreachable

2061:                                             ; No predecessors!
  br label %2062

2062:                                             ; preds = %2061
  br label %2063

2063:                                             ; preds = %2062, %2005
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

2065:                                             ; preds = %2064
  br label %2066

2066:                                             ; preds = %2065
  %2067 = load i32, ptr @test_count, align 4, !tbaa !5
  %2068 = add nsw i32 %2067, 1
  store i32 %2068, ptr @test_count, align 4, !tbaa !5
  %2069 = load ptr, ptr %40, align 8, !tbaa !9
  %2070 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %2069, ptr noundef @.str.78)
  %2071 = icmp eq i32 %2070, -1
  br i1 %2071, label %2072, label %2125

2072:                                             ; preds = %2066
  br label %2073

2073:                                             ; preds = %2072
  br label %2074

2074:                                             ; preds = %2073
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %2075 = call ptr @__errno_location() #11
  %2076 = load i32, ptr %2075, align 4, !tbaa !5
  store i32 %2076, ptr %42, align 4, !tbaa !5
  %2077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2078 = call i32 @s2n_print_stacktrace(ptr noundef %2077)
  %2079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2080 = trunc i8 %2079 to i1
  br i1 %2080, label %2081, label %2103

2081:                                             ; preds = %2074
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = call i32 @fileno(ptr noundef %2082) #10
  %2084 = call i32 @isatty(i32 noundef %2083) #10
  %2085 = icmp ne i32 %2084, 0
  br i1 %2085, label %2086, label %2103

2086:                                             ; preds = %2081
  %2087 = load i32, ptr %42, align 4, !tbaa !5
  %2088 = call ptr @__errno_location() #11
  store i32 %2087, ptr %2088, align 4, !tbaa !5
  %2089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2090 = load i32, ptr @test_count, align 4, !tbaa !5
  %2091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2092 = load i32, ptr %2091, align 4, !tbaa !5
  %2093 = call ptr @s2n_strerror(i32 noundef %2092, ptr noundef @.str.65)
  %2094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @s2n_strerror_debug(i32 noundef %2095, ptr noundef @.str.65)
  %2097 = call ptr @__errno_location() #11
  %2098 = load i32, ptr %2097, align 4, !tbaa !5
  %2099 = call ptr @strerror(i32 noundef %2098) #10
  %2100 = call ptr @__errno_location() #11
  %2101 = load i32, ptr %2100, align 4, !tbaa !5
  %2102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2089, ptr noundef @.str.63, i32 noundef %2090, ptr noundef @.str.98, ptr noundef @.str.62, i32 noundef 244, ptr noundef %2093, ptr noundef %2096, ptr noundef %2099, i32 noundef %2101) #10
  br label %2120

2103:                                             ; preds = %2081, %2074
  %2104 = load i32, ptr %42, align 4, !tbaa !5
  %2105 = call ptr @__errno_location() #11
  store i32 %2104, ptr %2105, align 4, !tbaa !5
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = load i32, ptr @test_count, align 4, !tbaa !5
  %2108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror(i32 noundef %2109, ptr noundef @.str.65)
  %2111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror_debug(i32 noundef %2112, ptr noundef @.str.65)
  %2114 = call ptr @__errno_location() #11
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @strerror(i32 noundef %2115) #10
  %2117 = call ptr @__errno_location() #11
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2106, ptr noundef @.str.66, i32 noundef %2107, ptr noundef @.str.98, ptr noundef @.str.62, i32 noundef 244, ptr noundef %2110, ptr noundef %2113, ptr noundef %2116, i32 noundef %2118) #10
  br label %2120

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

2121:                                             ; preds = %2120
  br label %2122

2122:                                             ; preds = %2121
  call void @exit(i32 noundef 1) #12
  unreachable

2123:                                             ; No predecessors!
  br label %2124

2124:                                             ; preds = %2123
  br label %2125

2125:                                             ; preds = %2124, %2066
  br label %2126

2126:                                             ; preds = %2125
  br label %2127

2127:                                             ; preds = %2126
  br label %2128

2128:                                             ; preds = %2127
  %2129 = load i32, ptr @test_count, align 4, !tbaa !5
  %2130 = add nsw i32 %2129, 1
  store i32 %2130, ptr @test_count, align 4, !tbaa !5
  %2131 = load ptr, ptr %40, align 8, !tbaa !9
  %2132 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %2131)
  %2133 = icmp eq i32 %2132, -1
  br i1 %2133, label %2134, label %2187

2134:                                             ; preds = %2128
  br label %2135

2135:                                             ; preds = %2134
  br label %2136

2136:                                             ; preds = %2135
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #10
  %2137 = call ptr @__errno_location() #11
  %2138 = load i32, ptr %2137, align 4, !tbaa !5
  store i32 %2138, ptr %43, align 4, !tbaa !5
  %2139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2140 = call i32 @s2n_print_stacktrace(ptr noundef %2139)
  %2141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2142 = trunc i8 %2141 to i1
  br i1 %2142, label %2143, label %2165

2143:                                             ; preds = %2136
  %2144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2145 = call i32 @fileno(ptr noundef %2144) #10
  %2146 = call i32 @isatty(i32 noundef %2145) #10
  %2147 = icmp ne i32 %2146, 0
  br i1 %2147, label %2148, label %2165

2148:                                             ; preds = %2143
  %2149 = load i32, ptr %43, align 4, !tbaa !5
  %2150 = call ptr @__errno_location() #11
  store i32 %2149, ptr %2150, align 4, !tbaa !5
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror(i32 noundef %2154, ptr noundef @.str.65)
  %2156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2157 = load i32, ptr %2156, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror_debug(i32 noundef %2157, ptr noundef @.str.65)
  %2159 = call ptr @__errno_location() #11
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  %2161 = call ptr @strerror(i32 noundef %2160) #10
  %2162 = call ptr @__errno_location() #11
  %2163 = load i32, ptr %2162, align 4, !tbaa !5
  %2164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2151, ptr noundef @.str.63, i32 noundef %2152, ptr noundef @.str.99, ptr noundef @.str.62, i32 noundef 245, ptr noundef %2155, ptr noundef %2158, ptr noundef %2161, i32 noundef %2163) #10
  br label %2182

2165:                                             ; preds = %2143, %2136
  %2166 = load i32, ptr %43, align 4, !tbaa !5
  %2167 = call ptr @__errno_location() #11
  store i32 %2166, ptr %2167, align 4, !tbaa !5
  %2168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2169 = load i32, ptr @test_count, align 4, !tbaa !5
  %2170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror(i32 noundef %2171, ptr noundef @.str.65)
  %2173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call ptr @s2n_strerror_debug(i32 noundef %2174, ptr noundef @.str.65)
  %2176 = call ptr @__errno_location() #11
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call ptr @strerror(i32 noundef %2177) #10
  %2179 = call ptr @__errno_location() #11
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2168, ptr noundef @.str.66, i32 noundef %2169, ptr noundef @.str.99, ptr noundef @.str.62, i32 noundef 245, ptr noundef %2172, ptr noundef %2175, ptr noundef %2178, i32 noundef %2180) #10
  br label %2182

2182:                                             ; preds = %2165, %2148
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %2183

2183:                                             ; preds = %2182
  br label %2184

2184:                                             ; preds = %2183
  call void @exit(i32 noundef 1) #12
  unreachable

2185:                                             ; No predecessors!
  br label %2186

2186:                                             ; preds = %2185
  br label %2187

2187:                                             ; preds = %2186, %2128
  br label %2188

2188:                                             ; preds = %2187
  br label %2189

2189:                                             ; preds = %2188
  br label %2190

2190:                                             ; preds = %2189
  %2191 = load i32, ptr @test_count, align 4, !tbaa !5
  %2192 = add nsw i32 %2191, 1
  store i32 %2192, ptr @test_count, align 4, !tbaa !5
  %2193 = load ptr, ptr %40, align 8, !tbaa !9
  %2194 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %2193, i8 noundef zeroext 1)
  %2195 = icmp eq i32 %2194, -1
  br i1 %2195, label %2196, label %2249

2196:                                             ; preds = %2190
  br label %2197

2197:                                             ; preds = %2196
  br label %2198

2198:                                             ; preds = %2197
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %2199 = call ptr @__errno_location() #11
  %2200 = load i32, ptr %2199, align 4, !tbaa !5
  store i32 %2200, ptr %44, align 4, !tbaa !5
  %2201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2202 = call i32 @s2n_print_stacktrace(ptr noundef %2201)
  %2203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2204 = trunc i8 %2203 to i1
  br i1 %2204, label %2205, label %2227

2205:                                             ; preds = %2198
  %2206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2207 = call i32 @fileno(ptr noundef %2206) #10
  %2208 = call i32 @isatty(i32 noundef %2207) #10
  %2209 = icmp ne i32 %2208, 0
  br i1 %2209, label %2210, label %2227

2210:                                             ; preds = %2205
  %2211 = load i32, ptr %44, align 4, !tbaa !5
  %2212 = call ptr @__errno_location() #11
  store i32 %2211, ptr %2212, align 4, !tbaa !5
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = load i32, ptr @test_count, align 4, !tbaa !5
  %2215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2216 = load i32, ptr %2215, align 4, !tbaa !5
  %2217 = call ptr @s2n_strerror(i32 noundef %2216, ptr noundef @.str.65)
  %2218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2219 = load i32, ptr %2218, align 4, !tbaa !5
  %2220 = call ptr @s2n_strerror_debug(i32 noundef %2219, ptr noundef @.str.65)
  %2221 = call ptr @__errno_location() #11
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = call ptr @strerror(i32 noundef %2222) #10
  %2224 = call ptr @__errno_location() #11
  %2225 = load i32, ptr %2224, align 4, !tbaa !5
  %2226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2213, ptr noundef @.str.63, i32 noundef %2214, ptr noundef @.str.100, ptr noundef @.str.62, i32 noundef 246, ptr noundef %2217, ptr noundef %2220, ptr noundef %2223, i32 noundef %2225) #10
  br label %2244

2227:                                             ; preds = %2205, %2198
  %2228 = load i32, ptr %44, align 4, !tbaa !5
  %2229 = call ptr @__errno_location() #11
  store i32 %2228, ptr %2229, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = load i32, ptr @test_count, align 4, !tbaa !5
  %2232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2233 = load i32, ptr %2232, align 4, !tbaa !5
  %2234 = call ptr @s2n_strerror(i32 noundef %2233, ptr noundef @.str.65)
  %2235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2236 = load i32, ptr %2235, align 4, !tbaa !5
  %2237 = call ptr @s2n_strerror_debug(i32 noundef %2236, ptr noundef @.str.65)
  %2238 = call ptr @__errno_location() #11
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  %2240 = call ptr @strerror(i32 noundef %2239) #10
  %2241 = call ptr @__errno_location() #11
  %2242 = load i32, ptr %2241, align 4, !tbaa !5
  %2243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2230, ptr noundef @.str.66, i32 noundef %2231, ptr noundef @.str.100, ptr noundef @.str.62, i32 noundef 246, ptr noundef %2234, ptr noundef %2237, ptr noundef %2240, i32 noundef %2242) #10
  br label %2244

2244:                                             ; preds = %2227, %2210
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %2245

2245:                                             ; preds = %2244
  br label %2246

2246:                                             ; preds = %2245
  call void @exit(i32 noundef 1) #12
  unreachable

2247:                                             ; No predecessors!
  br label %2248

2248:                                             ; preds = %2247
  br label %2249

2249:                                             ; preds = %2248, %2190
  br label %2250

2250:                                             ; preds = %2249
  br label %2251

2251:                                             ; preds = %2250
  call void @llvm.lifetime.start.p0(i64 40, ptr %45) #10
  call void @llvm.memset.p0.i64(ptr align 8 %45, i8 0, i64 40, i1 false)
  br label %2252

2252:                                             ; preds = %2251
  %2253 = load i32, ptr @test_count, align 4, !tbaa !5
  %2254 = add nsw i32 %2253, 1
  store i32 %2254, ptr @test_count, align 4, !tbaa !5
  %2255 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %45, i32 noundef 0)
  %2256 = icmp eq i32 %2255, -1
  br i1 %2256, label %2257, label %2310

2257:                                             ; preds = %2252
  br label %2258

2258:                                             ; preds = %2257
  br label %2259

2259:                                             ; preds = %2258
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  %2260 = call ptr @__errno_location() #11
  %2261 = load i32, ptr %2260, align 4, !tbaa !5
  store i32 %2261, ptr %46, align 4, !tbaa !5
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = call i32 @s2n_print_stacktrace(ptr noundef %2262)
  %2264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2265 = trunc i8 %2264 to i1
  br i1 %2265, label %2266, label %2288

2266:                                             ; preds = %2259
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = call i32 @fileno(ptr noundef %2267) #10
  %2269 = call i32 @isatty(i32 noundef %2268) #10
  %2270 = icmp ne i32 %2269, 0
  br i1 %2270, label %2271, label %2288

2271:                                             ; preds = %2266
  %2272 = load i32, ptr %46, align 4, !tbaa !5
  %2273 = call ptr @__errno_location() #11
  store i32 %2272, ptr %2273, align 4, !tbaa !5
  %2274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2275 = load i32, ptr @test_count, align 4, !tbaa !5
  %2276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2277 = load i32, ptr %2276, align 4, !tbaa !5
  %2278 = call ptr @s2n_strerror(i32 noundef %2277, ptr noundef @.str.65)
  %2279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2280 = load i32, ptr %2279, align 4, !tbaa !5
  %2281 = call ptr @s2n_strerror_debug(i32 noundef %2280, ptr noundef @.str.65)
  %2282 = call ptr @__errno_location() #11
  %2283 = load i32, ptr %2282, align 4, !tbaa !5
  %2284 = call ptr @strerror(i32 noundef %2283) #10
  %2285 = call ptr @__errno_location() #11
  %2286 = load i32, ptr %2285, align 4, !tbaa !5
  %2287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2274, ptr noundef @.str.63, i32 noundef %2275, ptr noundef @.str.101, ptr noundef @.str.62, i32 noundef 248, ptr noundef %2278, ptr noundef %2281, ptr noundef %2284, i32 noundef %2286) #10
  br label %2305

2288:                                             ; preds = %2266, %2259
  %2289 = load i32, ptr %46, align 4, !tbaa !5
  %2290 = call ptr @__errno_location() #11
  store i32 %2289, ptr %2290, align 4, !tbaa !5
  %2291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2292 = load i32, ptr @test_count, align 4, !tbaa !5
  %2293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2294 = load i32, ptr %2293, align 4, !tbaa !5
  %2295 = call ptr @s2n_strerror(i32 noundef %2294, ptr noundef @.str.65)
  %2296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  %2298 = call ptr @s2n_strerror_debug(i32 noundef %2297, ptr noundef @.str.65)
  %2299 = call ptr @__errno_location() #11
  %2300 = load i32, ptr %2299, align 4, !tbaa !5
  %2301 = call ptr @strerror(i32 noundef %2300) #10
  %2302 = call ptr @__errno_location() #11
  %2303 = load i32, ptr %2302, align 4, !tbaa !5
  %2304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2291, ptr noundef @.str.66, i32 noundef %2292, ptr noundef @.str.101, ptr noundef @.str.62, i32 noundef 248, ptr noundef %2295, ptr noundef %2298, ptr noundef %2301, i32 noundef %2303) #10
  br label %2305

2305:                                             ; preds = %2288, %2271
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  br label %2306

2306:                                             ; preds = %2305
  br label %2307

2307:                                             ; preds = %2306
  call void @exit(i32 noundef 1) #12
  unreachable

2308:                                             ; No predecessors!
  br label %2309

2309:                                             ; preds = %2308
  br label %2310

2310:                                             ; preds = %2309, %2252
  br label %2311

2311:                                             ; preds = %2310
  br label %2312

2312:                                             ; preds = %2311
  br label %2313

2313:                                             ; preds = %2312
  %2314 = load i32, ptr @test_count, align 4, !tbaa !5
  %2315 = add nsw i32 %2314, 1
  store i32 %2315, ptr @test_count, align 4, !tbaa !5
  %2316 = load ptr, ptr %40, align 8, !tbaa !9
  %2317 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %2316, ptr noundef @s2n_test_session_ticket_cb, ptr noundef %45)
  %2318 = icmp eq i32 %2317, -1
  br i1 %2318, label %2319, label %2372

2319:                                             ; preds = %2313
  br label %2320

2320:                                             ; preds = %2319
  br label %2321

2321:                                             ; preds = %2320
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #10
  %2322 = call ptr @__errno_location() #11
  %2323 = load i32, ptr %2322, align 4, !tbaa !5
  store i32 %2323, ptr %47, align 4, !tbaa !5
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = call i32 @s2n_print_stacktrace(ptr noundef %2324)
  %2326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2327 = trunc i8 %2326 to i1
  br i1 %2327, label %2328, label %2350

2328:                                             ; preds = %2321
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = call i32 @fileno(ptr noundef %2329) #10
  %2331 = call i32 @isatty(i32 noundef %2330) #10
  %2332 = icmp ne i32 %2331, 0
  br i1 %2332, label %2333, label %2350

2333:                                             ; preds = %2328
  %2334 = load i32, ptr %47, align 4, !tbaa !5
  %2335 = call ptr @__errno_location() #11
  store i32 %2334, ptr %2335, align 4, !tbaa !5
  %2336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2337 = load i32, ptr @test_count, align 4, !tbaa !5
  %2338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2339 = load i32, ptr %2338, align 4, !tbaa !5
  %2340 = call ptr @s2n_strerror(i32 noundef %2339, ptr noundef @.str.65)
  %2341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2342 = load i32, ptr %2341, align 4, !tbaa !5
  %2343 = call ptr @s2n_strerror_debug(i32 noundef %2342, ptr noundef @.str.65)
  %2344 = call ptr @__errno_location() #11
  %2345 = load i32, ptr %2344, align 4, !tbaa !5
  %2346 = call ptr @strerror(i32 noundef %2345) #10
  %2347 = call ptr @__errno_location() #11
  %2348 = load i32, ptr %2347, align 4, !tbaa !5
  %2349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2336, ptr noundef @.str.63, i32 noundef %2337, ptr noundef @.str.102, ptr noundef @.str.62, i32 noundef 249, ptr noundef %2340, ptr noundef %2343, ptr noundef %2346, i32 noundef %2348) #10
  br label %2367

2350:                                             ; preds = %2328, %2321
  %2351 = load i32, ptr %47, align 4, !tbaa !5
  %2352 = call ptr @__errno_location() #11
  store i32 %2351, ptr %2352, align 4, !tbaa !5
  %2353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2354 = load i32, ptr @test_count, align 4, !tbaa !5
  %2355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2356 = load i32, ptr %2355, align 4, !tbaa !5
  %2357 = call ptr @s2n_strerror(i32 noundef %2356, ptr noundef @.str.65)
  %2358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror_debug(i32 noundef %2359, ptr noundef @.str.65)
  %2361 = call ptr @__errno_location() #11
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call ptr @strerror(i32 noundef %2362) #10
  %2364 = call ptr @__errno_location() #11
  %2365 = load i32, ptr %2364, align 4, !tbaa !5
  %2366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2353, ptr noundef @.str.66, i32 noundef %2354, ptr noundef @.str.102, ptr noundef @.str.62, i32 noundef 249, ptr noundef %2357, ptr noundef %2360, ptr noundef %2363, i32 noundef %2365) #10
  br label %2367

2367:                                             ; preds = %2350, %2333
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #10
  br label %2368

2368:                                             ; preds = %2367
  br label %2369

2369:                                             ; preds = %2368
  call void @exit(i32 noundef 1) #12
  unreachable

2370:                                             ; No predecessors!
  br label %2371

2371:                                             ; preds = %2370
  br label %2372

2372:                                             ; preds = %2371, %2313
  br label %2373

2373:                                             ; preds = %2372
  br label %2374

2374:                                             ; preds = %2373
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #10
  %2375 = call ptr @s2n_config_new()
  store ptr %2375, ptr %48, align 8, !tbaa !9
  br label %2376

2376:                                             ; preds = %2374
  %2377 = load i32, ptr @test_count, align 4, !tbaa !5
  %2378 = add nsw i32 %2377, 1
  store i32 %2378, ptr @test_count, align 4, !tbaa !5
  %2379 = load ptr, ptr %48, align 8, !tbaa !9
  %2380 = icmp eq ptr %2379, null
  br i1 %2380, label %2381, label %2434

2381:                                             ; preds = %2376
  br label %2382

2382:                                             ; preds = %2381
  br label %2383

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

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

2395:                                             ; preds = %2390
  %2396 = load i32, ptr %49, align 4, !tbaa !5
  %2397 = call ptr @__errno_location() #11
  store i32 %2396, ptr %2397, align 4, !tbaa !5
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2399 = load i32, ptr @test_count, align 4, !tbaa !5
  %2400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2401 = load i32, ptr %2400, align 4, !tbaa !5
  %2402 = call ptr @s2n_strerror(i32 noundef %2401, ptr noundef @.str.65)
  %2403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2404 = load i32, ptr %2403, align 4, !tbaa !5
  %2405 = call ptr @s2n_strerror_debug(i32 noundef %2404, ptr noundef @.str.65)
  %2406 = call ptr @__errno_location() #11
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  %2408 = call ptr @strerror(i32 noundef %2407) #10
  %2409 = call ptr @__errno_location() #11
  %2410 = load i32, ptr %2409, align 4, !tbaa !5
  %2411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2398, ptr noundef @.str.63, i32 noundef %2399, ptr noundef @.str.103, ptr noundef @.str.62, i32 noundef 253, ptr noundef %2402, ptr noundef %2405, ptr noundef %2408, i32 noundef %2410) #10
  br label %2429

2412:                                             ; preds = %2390, %2383
  %2413 = load i32, ptr %49, align 4, !tbaa !5
  %2414 = call ptr @__errno_location() #11
  store i32 %2413, ptr %2414, align 4, !tbaa !5
  %2415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2416 = load i32, ptr @test_count, align 4, !tbaa !5
  %2417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2418 = load i32, ptr %2417, align 4, !tbaa !5
  %2419 = call ptr @s2n_strerror(i32 noundef %2418, ptr noundef @.str.65)
  %2420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @s2n_strerror_debug(i32 noundef %2421, ptr noundef @.str.65)
  %2423 = call ptr @__errno_location() #11
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @strerror(i32 noundef %2424) #10
  %2426 = call ptr @__errno_location() #11
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2415, ptr noundef @.str.66, i32 noundef %2416, ptr noundef @.str.103, ptr noundef @.str.62, i32 noundef 253, ptr noundef %2419, ptr noundef %2422, ptr noundef %2425, i32 noundef %2427) #10
  br label %2429

2429:                                             ; preds = %2412, %2395
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #10
  br label %2430

2430:                                             ; preds = %2429
  br label %2431

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

2432:                                             ; No predecessors!
  br label %2433

2433:                                             ; preds = %2432
  br label %2434

2434:                                             ; preds = %2433, %2376
  br label %2435

2435:                                             ; preds = %2434
  br label %2436

2436:                                             ; preds = %2435
  br label %2437

2437:                                             ; preds = %2436
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = add nsw i32 %2438, 1
  store i32 %2439, ptr @test_count, align 4, !tbaa !5
  %2440 = load ptr, ptr %48, align 8, !tbaa !9
  %2441 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %2440, ptr noundef @.str.104)
  %2442 = icmp eq i32 %2441, -1
  br i1 %2442, label %2443, label %2496

2443:                                             ; preds = %2437
  br label %2444

2444:                                             ; preds = %2443
  br label %2445

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

2452:                                             ; preds = %2445
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = call i32 @fileno(ptr noundef %2453) #10
  %2455 = call i32 @isatty(i32 noundef %2454) #10
  %2456 = icmp ne i32 %2455, 0
  br i1 %2456, label %2457, label %2474

2457:                                             ; preds = %2452
  %2458 = load i32, ptr %50, align 4, !tbaa !5
  %2459 = call ptr @__errno_location() #11
  store i32 %2458, ptr %2459, align 4, !tbaa !5
  %2460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2461 = load i32, ptr @test_count, align 4, !tbaa !5
  %2462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2463 = load i32, ptr %2462, align 4, !tbaa !5
  %2464 = call ptr @s2n_strerror(i32 noundef %2463, ptr noundef @.str.65)
  %2465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2466 = load i32, ptr %2465, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror_debug(i32 noundef %2466, ptr noundef @.str.65)
  %2468 = call ptr @__errno_location() #11
  %2469 = load i32, ptr %2468, align 4, !tbaa !5
  %2470 = call ptr @strerror(i32 noundef %2469) #10
  %2471 = call ptr @__errno_location() #11
  %2472 = load i32, ptr %2471, align 4, !tbaa !5
  %2473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2460, ptr noundef @.str.63, i32 noundef %2461, ptr noundef @.str.105, ptr noundef @.str.62, i32 noundef 254, ptr noundef %2464, ptr noundef %2467, ptr noundef %2470, i32 noundef %2472) #10
  br label %2491

2474:                                             ; preds = %2452, %2445
  %2475 = load i32, ptr %50, align 4, !tbaa !5
  %2476 = call ptr @__errno_location() #11
  store i32 %2475, ptr %2476, align 4, !tbaa !5
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = load i32, ptr @test_count, align 4, !tbaa !5
  %2479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call ptr @s2n_strerror(i32 noundef %2480, ptr noundef @.str.65)
  %2482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call ptr @s2n_strerror_debug(i32 noundef %2483, ptr noundef @.str.65)
  %2485 = call ptr @__errno_location() #11
  %2486 = load i32, ptr %2485, align 4, !tbaa !5
  %2487 = call ptr @strerror(i32 noundef %2486) #10
  %2488 = call ptr @__errno_location() #11
  %2489 = load i32, ptr %2488, align 4, !tbaa !5
  %2490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2477, ptr noundef @.str.66, i32 noundef %2478, ptr noundef @.str.105, ptr noundef @.str.62, i32 noundef 254, ptr noundef %2481, ptr noundef %2484, ptr noundef %2487, i32 noundef %2489) #10
  br label %2491

2491:                                             ; preds = %2474, %2457
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %2492

2492:                                             ; preds = %2491
  br label %2493

2493:                                             ; preds = %2492
  call void @exit(i32 noundef 1) #12
  unreachable

2494:                                             ; No predecessors!
  br label %2495

2495:                                             ; preds = %2494
  br label %2496

2496:                                             ; preds = %2495, %2437
  br label %2497

2497:                                             ; preds = %2496
  br label %2498

2498:                                             ; preds = %2497
  br label %2499

2499:                                             ; preds = %2498
  %2500 = load i32, ptr @test_count, align 4, !tbaa !5
  %2501 = add nsw i32 %2500, 1
  store i32 %2501, ptr @test_count, align 4, !tbaa !5
  %2502 = load ptr, ptr %48, align 8, !tbaa !9
  %2503 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %2502)
  %2504 = icmp eq i32 %2503, -1
  br i1 %2504, label %2505, label %2558

2505:                                             ; preds = %2499
  br label %2506

2506:                                             ; preds = %2505
  br label %2507

2507:                                             ; preds = %2506
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #10
  %2508 = call ptr @__errno_location() #11
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  store i32 %2509, ptr %51, align 4, !tbaa !5
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = call i32 @s2n_print_stacktrace(ptr noundef %2510)
  %2512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2513 = trunc i8 %2512 to i1
  br i1 %2513, label %2514, label %2536

2514:                                             ; preds = %2507
  %2515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2516 = call i32 @fileno(ptr noundef %2515) #10
  %2517 = call i32 @isatty(i32 noundef %2516) #10
  %2518 = icmp ne i32 %2517, 0
  br i1 %2518, label %2519, label %2536

2519:                                             ; preds = %2514
  %2520 = load i32, ptr %51, align 4, !tbaa !5
  %2521 = call ptr @__errno_location() #11
  store i32 %2520, ptr %2521, align 4, !tbaa !5
  %2522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2523 = load i32, ptr @test_count, align 4, !tbaa !5
  %2524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2525 = load i32, ptr %2524, align 4, !tbaa !5
  %2526 = call ptr @s2n_strerror(i32 noundef %2525, ptr noundef @.str.65)
  %2527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @s2n_strerror_debug(i32 noundef %2528, ptr noundef @.str.65)
  %2530 = call ptr @__errno_location() #11
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call ptr @strerror(i32 noundef %2531) #10
  %2533 = call ptr @__errno_location() #11
  %2534 = load i32, ptr %2533, align 4, !tbaa !5
  %2535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2522, ptr noundef @.str.63, i32 noundef %2523, ptr noundef @.str.106, ptr noundef @.str.62, i32 noundef 255, ptr noundef %2526, ptr noundef %2529, ptr noundef %2532, i32 noundef %2534) #10
  br label %2553

2536:                                             ; preds = %2514, %2507
  %2537 = load i32, ptr %51, align 4, !tbaa !5
  %2538 = call ptr @__errno_location() #11
  store i32 %2537, ptr %2538, align 4, !tbaa !5
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = load i32, ptr @test_count, align 4, !tbaa !5
  %2541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror(i32 noundef %2542, ptr noundef @.str.65)
  %2544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call ptr @s2n_strerror_debug(i32 noundef %2545, ptr noundef @.str.65)
  %2547 = call ptr @__errno_location() #11
  %2548 = load i32, ptr %2547, align 4, !tbaa !5
  %2549 = call ptr @strerror(i32 noundef %2548) #10
  %2550 = call ptr @__errno_location() #11
  %2551 = load i32, ptr %2550, align 4, !tbaa !5
  %2552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2539, ptr noundef @.str.66, i32 noundef %2540, ptr noundef @.str.106, ptr noundef @.str.62, i32 noundef 255, ptr noundef %2543, ptr noundef %2546, ptr noundef %2549, i32 noundef %2551) #10
  br label %2553

2553:                                             ; preds = %2536, %2519
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #10
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554
  call void @exit(i32 noundef 1) #12
  unreachable

2556:                                             ; No predecessors!
  br label %2557

2557:                                             ; preds = %2556
  br label %2558

2558:                                             ; preds = %2557, %2499
  br label %2559

2559:                                             ; preds = %2558
  br label %2560

2560:                                             ; preds = %2559
  br label %2561

2561:                                             ; preds = %2560
  %2562 = load i32, ptr @test_count, align 4, !tbaa !5
  %2563 = add nsw i32 %2562, 1
  store i32 %2563, ptr @test_count, align 4, !tbaa !5
  %2564 = load ptr, ptr %48, align 8, !tbaa !9
  %2565 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %2564, i8 noundef zeroext 1)
  %2566 = icmp eq i32 %2565, -1
  br i1 %2566, label %2567, label %2620

2567:                                             ; preds = %2561
  br label %2568

2568:                                             ; preds = %2567
  br label %2569

2569:                                             ; preds = %2568
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2570 = call ptr @__errno_location() #11
  %2571 = load i32, ptr %2570, align 4, !tbaa !5
  store i32 %2571, ptr %52, align 4, !tbaa !5
  %2572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2573 = call i32 @s2n_print_stacktrace(ptr noundef %2572)
  %2574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2575 = trunc i8 %2574 to i1
  br i1 %2575, label %2576, label %2598

2576:                                             ; preds = %2569
  %2577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2578 = call i32 @fileno(ptr noundef %2577) #10
  %2579 = call i32 @isatty(i32 noundef %2578) #10
  %2580 = icmp ne i32 %2579, 0
  br i1 %2580, label %2581, label %2598

2581:                                             ; preds = %2576
  %2582 = load i32, ptr %52, align 4, !tbaa !5
  %2583 = call ptr @__errno_location() #11
  store i32 %2582, ptr %2583, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2587 = load i32, ptr %2586, align 4, !tbaa !5
  %2588 = call ptr @s2n_strerror(i32 noundef %2587, ptr noundef @.str.65)
  %2589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2590 = load i32, ptr %2589, align 4, !tbaa !5
  %2591 = call ptr @s2n_strerror_debug(i32 noundef %2590, ptr noundef @.str.65)
  %2592 = call ptr @__errno_location() #11
  %2593 = load i32, ptr %2592, align 4, !tbaa !5
  %2594 = call ptr @strerror(i32 noundef %2593) #10
  %2595 = call ptr @__errno_location() #11
  %2596 = load i32, ptr %2595, align 4, !tbaa !5
  %2597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2584, ptr noundef @.str.63, i32 noundef %2585, ptr noundef @.str.107, ptr noundef @.str.62, i32 noundef 256, ptr noundef %2588, ptr noundef %2591, ptr noundef %2594, i32 noundef %2596) #10
  br label %2615

2598:                                             ; preds = %2576, %2569
  %2599 = load i32, ptr %52, align 4, !tbaa !5
  %2600 = call ptr @__errno_location() #11
  store i32 %2599, ptr %2600, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = load i32, ptr @test_count, align 4, !tbaa !5
  %2603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2604 = load i32, ptr %2603, align 4, !tbaa !5
  %2605 = call ptr @s2n_strerror(i32 noundef %2604, ptr noundef @.str.65)
  %2606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2607 = load i32, ptr %2606, align 4, !tbaa !5
  %2608 = call ptr @s2n_strerror_debug(i32 noundef %2607, ptr noundef @.str.65)
  %2609 = call ptr @__errno_location() #11
  %2610 = load i32, ptr %2609, align 4, !tbaa !5
  %2611 = call ptr @strerror(i32 noundef %2610) #10
  %2612 = call ptr @__errno_location() #11
  %2613 = load i32, ptr %2612, align 4, !tbaa !5
  %2614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2601, ptr noundef @.str.66, i32 noundef %2602, ptr noundef @.str.107, ptr noundef @.str.62, i32 noundef 256, ptr noundef %2605, ptr noundef %2608, ptr noundef %2611, i32 noundef %2613) #10
  br label %2615

2615:                                             ; preds = %2598, %2581
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %2616

2616:                                             ; preds = %2615
  br label %2617

2617:                                             ; preds = %2616
  call void @exit(i32 noundef 1) #12
  unreachable

2618:                                             ; No predecessors!
  br label %2619

2619:                                             ; preds = %2618
  br label %2620

2620:                                             ; preds = %2619, %2561
  br label %2621

2621:                                             ; preds = %2620
  br label %2622

2622:                                             ; preds = %2621
  br label %2623

2623:                                             ; preds = %2622
  %2624 = load i32, ptr @test_count, align 4, !tbaa !5
  %2625 = add nsw i32 %2624, 1
  store i32 %2625, ptr @test_count, align 4, !tbaa !5
  %2626 = load ptr, ptr %48, align 8, !tbaa !9
  %2627 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %2626, ptr noundef @s2n_test_session_ticket_cb, ptr noundef %45)
  %2628 = icmp eq i32 %2627, -1
  br i1 %2628, label %2629, label %2682

2629:                                             ; preds = %2623
  br label %2630

2630:                                             ; preds = %2629
  br label %2631

2631:                                             ; preds = %2630
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2632 = call ptr @__errno_location() #11
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  store i32 %2633, ptr %53, align 4, !tbaa !5
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = call i32 @s2n_print_stacktrace(ptr noundef %2634)
  %2636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2637 = trunc i8 %2636 to i1
  br i1 %2637, label %2638, label %2660

2638:                                             ; preds = %2631
  %2639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2640 = call i32 @fileno(ptr noundef %2639) #10
  %2641 = call i32 @isatty(i32 noundef %2640) #10
  %2642 = icmp ne i32 %2641, 0
  br i1 %2642, label %2643, label %2660

2643:                                             ; preds = %2638
  %2644 = load i32, ptr %53, align 4, !tbaa !5
  %2645 = call ptr @__errno_location() #11
  store i32 %2644, ptr %2645, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = load i32, ptr @test_count, align 4, !tbaa !5
  %2648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2649 = load i32, ptr %2648, align 4, !tbaa !5
  %2650 = call ptr @s2n_strerror(i32 noundef %2649, ptr noundef @.str.65)
  %2651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2652 = load i32, ptr %2651, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror_debug(i32 noundef %2652, ptr noundef @.str.65)
  %2654 = call ptr @__errno_location() #11
  %2655 = load i32, ptr %2654, align 4, !tbaa !5
  %2656 = call ptr @strerror(i32 noundef %2655) #10
  %2657 = call ptr @__errno_location() #11
  %2658 = load i32, ptr %2657, align 4, !tbaa !5
  %2659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2646, ptr noundef @.str.63, i32 noundef %2647, ptr noundef @.str.108, ptr noundef @.str.62, i32 noundef 257, ptr noundef %2650, ptr noundef %2653, ptr noundef %2656, i32 noundef %2658) #10
  br label %2677

2660:                                             ; preds = %2638, %2631
  %2661 = load i32, ptr %53, align 4, !tbaa !5
  %2662 = call ptr @__errno_location() #11
  store i32 %2661, ptr %2662, align 4, !tbaa !5
  %2663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2664 = load i32, ptr @test_count, align 4, !tbaa !5
  %2665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2666 = load i32, ptr %2665, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror(i32 noundef %2666, ptr noundef @.str.65)
  %2668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = call ptr @s2n_strerror_debug(i32 noundef %2669, ptr noundef @.str.65)
  %2671 = call ptr @__errno_location() #11
  %2672 = load i32, ptr %2671, align 4, !tbaa !5
  %2673 = call ptr @strerror(i32 noundef %2672) #10
  %2674 = call ptr @__errno_location() #11
  %2675 = load i32, ptr %2674, align 4, !tbaa !5
  %2676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2663, ptr noundef @.str.66, i32 noundef %2664, ptr noundef @.str.108, ptr noundef @.str.62, i32 noundef 257, ptr noundef %2667, ptr noundef %2670, ptr noundef %2673, i32 noundef %2675) #10
  br label %2677

2677:                                             ; preds = %2660, %2643
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

2679:                                             ; preds = %2678
  call void @exit(i32 noundef 1) #12
  unreachable

2680:                                             ; No predecessors!
  br label %2681

2681:                                             ; preds = %2680
  br label %2682

2682:                                             ; preds = %2681, %2623
  br label %2683

2683:                                             ; preds = %2682
  br label %2684

2684:                                             ; preds = %2683
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #10
  store i64 0, ptr %54, align 8, !tbaa !15
  br label %2685

2685:                                             ; preds = %4280, %2684
  %2686 = load i64, ptr %54, align 8, !tbaa !15
  %2687 = icmp ult i64 %2686, 8
  br i1 %2687, label %2689, label %2688

2688:                                             ; preds = %2685
  store i32 211, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #10
  br label %4283

2689:                                             ; preds = %2685
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %2690 = load i64, ptr %54, align 8, !tbaa !15
  %2691 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %12, i64 0, i64 %2690
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %55, ptr align 4 %2691, i64 4, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #10
  %2692 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2692, ptr %56, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  %2693 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2693, ptr %57, align 8, !tbaa !9
  br label %2694

2694:                                             ; preds = %2689
  %2695 = load i32, ptr @test_count, align 4, !tbaa !5
  %2696 = add nsw i32 %2695, 1
  store i32 %2696, ptr @test_count, align 4, !tbaa !5
  %2697 = load ptr, ptr %56, align 8, !tbaa !9
  %2698 = icmp eq ptr %2697, null
  br i1 %2698, label %2699, label %2752

2699:                                             ; preds = %2694
  br label %2700

2700:                                             ; preds = %2699
  br label %2701

2701:                                             ; preds = %2700
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %2702 = call ptr @__errno_location() #11
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  store i32 %2703, ptr %58, align 4, !tbaa !5
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @s2n_print_stacktrace(ptr noundef %2704)
  %2706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2707 = trunc i8 %2706 to i1
  br i1 %2707, label %2708, label %2730

2708:                                             ; preds = %2701
  %2709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2710 = call i32 @fileno(ptr noundef %2709) #10
  %2711 = call i32 @isatty(i32 noundef %2710) #10
  %2712 = icmp ne i32 %2711, 0
  br i1 %2712, label %2713, label %2730

2713:                                             ; preds = %2708
  %2714 = load i32, ptr %58, align 4, !tbaa !5
  %2715 = call ptr @__errno_location() #11
  store i32 %2714, ptr %2715, align 4, !tbaa !5
  %2716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2717 = load i32, ptr @test_count, align 4, !tbaa !5
  %2718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2719 = load i32, ptr %2718, align 4, !tbaa !5
  %2720 = call ptr @s2n_strerror(i32 noundef %2719, ptr noundef @.str.65)
  %2721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2722 = load i32, ptr %2721, align 4, !tbaa !5
  %2723 = call ptr @s2n_strerror_debug(i32 noundef %2722, ptr noundef @.str.65)
  %2724 = call ptr @__errno_location() #11
  %2725 = load i32, ptr %2724, align 4, !tbaa !5
  %2726 = call ptr @strerror(i32 noundef %2725) #10
  %2727 = call ptr @__errno_location() #11
  %2728 = load i32, ptr %2727, align 4, !tbaa !5
  %2729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2716, ptr noundef @.str.63, i32 noundef %2717, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 265, ptr noundef %2720, ptr noundef %2723, ptr noundef %2726, i32 noundef %2728) #10
  br label %2747

2730:                                             ; preds = %2708, %2701
  %2731 = load i32, ptr %58, align 4, !tbaa !5
  %2732 = call ptr @__errno_location() #11
  store i32 %2731, ptr %2732, align 4, !tbaa !5
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2734 = load i32, ptr @test_count, align 4, !tbaa !5
  %2735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror(i32 noundef %2736, ptr noundef @.str.65)
  %2738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call ptr @s2n_strerror_debug(i32 noundef %2739, ptr noundef @.str.65)
  %2741 = call ptr @__errno_location() #11
  %2742 = load i32, ptr %2741, align 4, !tbaa !5
  %2743 = call ptr @strerror(i32 noundef %2742) #10
  %2744 = call ptr @__errno_location() #11
  %2745 = load i32, ptr %2744, align 4, !tbaa !5
  %2746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2733, ptr noundef @.str.66, i32 noundef %2734, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 265, ptr noundef %2737, ptr noundef %2740, ptr noundef %2743, i32 noundef %2745) #10
  br label %2747

2747:                                             ; preds = %2730, %2713
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2748

2748:                                             ; preds = %2747
  br label %2749

2749:                                             ; preds = %2748
  call void @exit(i32 noundef 1) #12
  unreachable

2750:                                             ; No predecessors!
  br label %2751

2751:                                             ; preds = %2750
  br label %2752

2752:                                             ; preds = %2751, %2694
  br label %2753

2753:                                             ; preds = %2752
  br label %2754

2754:                                             ; preds = %2753
  br label %2755

2755:                                             ; preds = %2754
  %2756 = load i32, ptr @test_count, align 4, !tbaa !5
  %2757 = add nsw i32 %2756, 1
  store i32 %2757, ptr @test_count, align 4, !tbaa !5
  %2758 = load ptr, ptr %57, align 8, !tbaa !9
  %2759 = icmp eq ptr %2758, null
  br i1 %2759, label %2760, label %2813

2760:                                             ; preds = %2755
  br label %2761

2761:                                             ; preds = %2760
  br label %2762

2762:                                             ; preds = %2761
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #10
  %2763 = call ptr @__errno_location() #11
  %2764 = load i32, ptr %2763, align 4, !tbaa !5
  store i32 %2764, ptr %59, align 4, !tbaa !5
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = call i32 @s2n_print_stacktrace(ptr noundef %2765)
  %2767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2768 = trunc i8 %2767 to i1
  br i1 %2768, label %2769, label %2791

2769:                                             ; preds = %2762
  %2770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2771 = call i32 @fileno(ptr noundef %2770) #10
  %2772 = call i32 @isatty(i32 noundef %2771) #10
  %2773 = icmp ne i32 %2772, 0
  br i1 %2773, label %2774, label %2791

2774:                                             ; preds = %2769
  %2775 = load i32, ptr %59, align 4, !tbaa !5
  %2776 = call ptr @__errno_location() #11
  store i32 %2775, ptr %2776, align 4, !tbaa !5
  %2777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2778 = load i32, ptr @test_count, align 4, !tbaa !5
  %2779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call ptr @s2n_strerror(i32 noundef %2780, ptr noundef @.str.65)
  %2782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call ptr @s2n_strerror_debug(i32 noundef %2783, ptr noundef @.str.65)
  %2785 = call ptr @__errno_location() #11
  %2786 = load i32, ptr %2785, align 4, !tbaa !5
  %2787 = call ptr @strerror(i32 noundef %2786) #10
  %2788 = call ptr @__errno_location() #11
  %2789 = load i32, ptr %2788, align 4, !tbaa !5
  %2790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2777, ptr noundef @.str.63, i32 noundef %2778, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 266, ptr noundef %2781, ptr noundef %2784, ptr noundef %2787, i32 noundef %2789) #10
  br label %2808

2791:                                             ; preds = %2769, %2762
  %2792 = load i32, ptr %59, align 4, !tbaa !5
  %2793 = call ptr @__errno_location() #11
  store i32 %2792, ptr %2793, align 4, !tbaa !5
  %2794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2795 = load i32, ptr @test_count, align 4, !tbaa !5
  %2796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2797 = load i32, ptr %2796, align 4, !tbaa !5
  %2798 = call ptr @s2n_strerror(i32 noundef %2797, ptr noundef @.str.65)
  %2799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2800 = load i32, ptr %2799, align 4, !tbaa !5
  %2801 = call ptr @s2n_strerror_debug(i32 noundef %2800, ptr noundef @.str.65)
  %2802 = call ptr @__errno_location() #11
  %2803 = load i32, ptr %2802, align 4, !tbaa !5
  %2804 = call ptr @strerror(i32 noundef %2803) #10
  %2805 = call ptr @__errno_location() #11
  %2806 = load i32, ptr %2805, align 4, !tbaa !5
  %2807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2794, ptr noundef @.str.66, i32 noundef %2795, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 266, ptr noundef %2798, ptr noundef %2801, ptr noundef %2804, i32 noundef %2806) #10
  br label %2808

2808:                                             ; preds = %2791, %2774
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809
  call void @exit(i32 noundef 1) #12
  unreachable

2811:                                             ; No predecessors!
  br label %2812

2812:                                             ; preds = %2811
  br label %2813

2813:                                             ; preds = %2812, %2755
  br label %2814

2814:                                             ; preds = %2813
  br label %2815

2815:                                             ; preds = %2814
  br label %2816

2816:                                             ; preds = %2815
  %2817 = load i32, ptr @test_count, align 4, !tbaa !5
  %2818 = add nsw i32 %2817, 1
  store i32 %2818, ptr @test_count, align 4, !tbaa !5
  %2819 = load ptr, ptr %56, align 8, !tbaa !9
  %2820 = load ptr, ptr %40, align 8, !tbaa !9
  %2821 = call i32 @s2n_connection_set_config(ptr noundef %2819, ptr noundef %2820)
  %2822 = icmp eq i32 %2821, -1
  br i1 %2822, label %2823, label %2876

2823:                                             ; preds = %2816
  br label %2824

2824:                                             ; preds = %2823
  br label %2825

2825:                                             ; preds = %2824
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  %2826 = call ptr @__errno_location() #11
  %2827 = load i32, ptr %2826, align 4, !tbaa !5
  store i32 %2827, ptr %60, align 4, !tbaa !5
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = call i32 @s2n_print_stacktrace(ptr noundef %2828)
  %2830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2831 = trunc i8 %2830 to i1
  br i1 %2831, label %2832, label %2854

2832:                                             ; preds = %2825
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = call i32 @fileno(ptr noundef %2833) #10
  %2835 = call i32 @isatty(i32 noundef %2834) #10
  %2836 = icmp ne i32 %2835, 0
  br i1 %2836, label %2837, label %2854

2837:                                             ; preds = %2832
  %2838 = load i32, ptr %60, align 4, !tbaa !5
  %2839 = call ptr @__errno_location() #11
  store i32 %2838, ptr %2839, align 4, !tbaa !5
  %2840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2841 = load i32, ptr @test_count, align 4, !tbaa !5
  %2842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2843 = load i32, ptr %2842, align 4, !tbaa !5
  %2844 = call ptr @s2n_strerror(i32 noundef %2843, ptr noundef @.str.65)
  %2845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2846 = load i32, ptr %2845, align 4, !tbaa !5
  %2847 = call ptr @s2n_strerror_debug(i32 noundef %2846, ptr noundef @.str.65)
  %2848 = call ptr @__errno_location() #11
  %2849 = load i32, ptr %2848, align 4, !tbaa !5
  %2850 = call ptr @strerror(i32 noundef %2849) #10
  %2851 = call ptr @__errno_location() #11
  %2852 = load i32, ptr %2851, align 4, !tbaa !5
  %2853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2840, ptr noundef @.str.63, i32 noundef %2841, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 268, ptr noundef %2844, ptr noundef %2847, ptr noundef %2850, i32 noundef %2852) #10
  br label %2871

2854:                                             ; preds = %2832, %2825
  %2855 = load i32, ptr %60, align 4, !tbaa !5
  %2856 = call ptr @__errno_location() #11
  store i32 %2855, ptr %2856, align 4, !tbaa !5
  %2857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2858 = load i32, ptr @test_count, align 4, !tbaa !5
  %2859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2860 = load i32, ptr %2859, align 4, !tbaa !5
  %2861 = call ptr @s2n_strerror(i32 noundef %2860, ptr noundef @.str.65)
  %2862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2863 = load i32, ptr %2862, align 4, !tbaa !5
  %2864 = call ptr @s2n_strerror_debug(i32 noundef %2863, ptr noundef @.str.65)
  %2865 = call ptr @__errno_location() #11
  %2866 = load i32, ptr %2865, align 4, !tbaa !5
  %2867 = call ptr @strerror(i32 noundef %2866) #10
  %2868 = call ptr @__errno_location() #11
  %2869 = load i32, ptr %2868, align 4, !tbaa !5
  %2870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2857, ptr noundef @.str.66, i32 noundef %2858, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 268, ptr noundef %2861, ptr noundef %2864, ptr noundef %2867, i32 noundef %2869) #10
  br label %2871

2871:                                             ; preds = %2854, %2837
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %2872

2872:                                             ; preds = %2871
  br label %2873

2873:                                             ; preds = %2872
  call void @exit(i32 noundef 1) #12
  unreachable

2874:                                             ; No predecessors!
  br label %2875

2875:                                             ; preds = %2874
  br label %2876

2876:                                             ; preds = %2875, %2816
  br label %2877

2877:                                             ; preds = %2876
  br label %2878

2878:                                             ; preds = %2877
  br label %2879

2879:                                             ; preds = %2878
  %2880 = load i32, ptr @test_count, align 4, !tbaa !5
  %2881 = add nsw i32 %2880, 1
  store i32 %2881, ptr @test_count, align 4, !tbaa !5
  %2882 = load ptr, ptr %57, align 8, !tbaa !9
  %2883 = load ptr, ptr %20, align 8, !tbaa !9
  %2884 = call i32 @s2n_connection_set_config(ptr noundef %2882, ptr noundef %2883)
  %2885 = icmp eq i32 %2884, -1
  br i1 %2885, label %2886, label %2939

2886:                                             ; preds = %2879
  br label %2887

2887:                                             ; preds = %2886
  br label %2888

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

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

2900:                                             ; preds = %2895
  %2901 = load i32, ptr %61, align 4, !tbaa !5
  %2902 = call ptr @__errno_location() #11
  store i32 %2901, ptr %2902, align 4, !tbaa !5
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = load i32, ptr @test_count, align 4, !tbaa !5
  %2905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2906 = load i32, ptr %2905, align 4, !tbaa !5
  %2907 = call ptr @s2n_strerror(i32 noundef %2906, ptr noundef @.str.65)
  %2908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2909 = load i32, ptr %2908, align 4, !tbaa !5
  %2910 = call ptr @s2n_strerror_debug(i32 noundef %2909, ptr noundef @.str.65)
  %2911 = call ptr @__errno_location() #11
  %2912 = load i32, ptr %2911, align 4, !tbaa !5
  %2913 = call ptr @strerror(i32 noundef %2912) #10
  %2914 = call ptr @__errno_location() #11
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  %2916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2903, ptr noundef @.str.63, i32 noundef %2904, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 269, ptr noundef %2907, ptr noundef %2910, ptr noundef %2913, i32 noundef %2915) #10
  br label %2934

2917:                                             ; preds = %2895, %2888
  %2918 = load i32, ptr %61, align 4, !tbaa !5
  %2919 = call ptr @__errno_location() #11
  store i32 %2918, ptr %2919, align 4, !tbaa !5
  %2920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2921 = load i32, ptr @test_count, align 4, !tbaa !5
  %2922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2923 = load i32, ptr %2922, align 4, !tbaa !5
  %2924 = call ptr @s2n_strerror(i32 noundef %2923, ptr noundef @.str.65)
  %2925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2926 = load i32, ptr %2925, align 4, !tbaa !5
  %2927 = call ptr @s2n_strerror_debug(i32 noundef %2926, ptr noundef @.str.65)
  %2928 = call ptr @__errno_location() #11
  %2929 = load i32, ptr %2928, align 4, !tbaa !5
  %2930 = call ptr @strerror(i32 noundef %2929) #10
  %2931 = call ptr @__errno_location() #11
  %2932 = load i32, ptr %2931, align 4, !tbaa !5
  %2933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2920, ptr noundef @.str.66, i32 noundef %2921, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 269, ptr noundef %2924, ptr noundef %2927, ptr noundef %2930, i32 noundef %2932) #10
  br label %2934

2934:                                             ; preds = %2917, %2900
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %2935

2935:                                             ; preds = %2934
  br label %2936

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

2937:                                             ; No predecessors!
  br label %2938

2938:                                             ; preds = %2937
  br label %2939

2939:                                             ; preds = %2938, %2879
  br label %2940

2940:                                             ; preds = %2939
  br label %2941

2941:                                             ; preds = %2940
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #10
  call void @llvm.memset.p0.i64(ptr align 4 %62, i8 0, i64 8, i1 false)
  br label %2942

2942:                                             ; preds = %2941
  %2943 = load i32, ptr @test_count, align 4, !tbaa !5
  %2944 = add nsw i32 %2943, 1
  store i32 %2944, ptr @test_count, align 4, !tbaa !5
  %2945 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %62)
  %2946 = icmp eq i32 %2945, -1
  br i1 %2946, label %2947, label %3000

2947:                                             ; preds = %2942
  br label %2948

2948:                                             ; preds = %2947
  br label %2949

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

2956:                                             ; preds = %2949
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = call i32 @fileno(ptr noundef %2957) #10
  %2959 = call i32 @isatty(i32 noundef %2958) #10
  %2960 = icmp ne i32 %2959, 0
  br i1 %2960, label %2961, label %2978

2961:                                             ; preds = %2956
  %2962 = load i32, ptr %63, align 4, !tbaa !5
  %2963 = call ptr @__errno_location() #11
  store i32 %2962, ptr %2963, align 4, !tbaa !5
  %2964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2965 = load i32, ptr @test_count, align 4, !tbaa !5
  %2966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = call ptr @s2n_strerror(i32 noundef %2967, ptr noundef @.str.65)
  %2969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2970 = load i32, ptr %2969, align 4, !tbaa !5
  %2971 = call ptr @s2n_strerror_debug(i32 noundef %2970, ptr noundef @.str.65)
  %2972 = call ptr @__errno_location() #11
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call ptr @strerror(i32 noundef %2973) #10
  %2975 = call ptr @__errno_location() #11
  %2976 = load i32, ptr %2975, align 4, !tbaa !5
  %2977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2964, ptr noundef @.str.63, i32 noundef %2965, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 273, ptr noundef %2968, ptr noundef %2971, ptr noundef %2974, i32 noundef %2976) #10
  br label %2995

2978:                                             ; preds = %2956, %2949
  %2979 = load i32, ptr %63, align 4, !tbaa !5
  %2980 = call ptr @__errno_location() #11
  store i32 %2979, ptr %2980, align 4, !tbaa !5
  %2981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2982 = load i32, ptr @test_count, align 4, !tbaa !5
  %2983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  %2985 = call ptr @s2n_strerror(i32 noundef %2984, ptr noundef @.str.65)
  %2986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2987 = load i32, ptr %2986, align 4, !tbaa !5
  %2988 = call ptr @s2n_strerror_debug(i32 noundef %2987, ptr noundef @.str.65)
  %2989 = call ptr @__errno_location() #11
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call ptr @strerror(i32 noundef %2990) #10
  %2992 = call ptr @__errno_location() #11
  %2993 = load i32, ptr %2992, align 4, !tbaa !5
  %2994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2981, ptr noundef @.str.66, i32 noundef %2982, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 273, ptr noundef %2985, ptr noundef %2988, ptr noundef %2991, i32 noundef %2993) #10
  br label %2995

2995:                                             ; preds = %2978, %2961
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %2996

2996:                                             ; preds = %2995
  br label %2997

2997:                                             ; preds = %2996
  call void @exit(i32 noundef 1) #12
  unreachable

2998:                                             ; No predecessors!
  br label %2999

2999:                                             ; preds = %2998
  br label %3000

3000:                                             ; preds = %2999, %2942
  br label %3001

3001:                                             ; preds = %3000
  br label %3002

3002:                                             ; preds = %3001
  br label %3003

3003:                                             ; preds = %3002
  %3004 = load i32, ptr @test_count, align 4, !tbaa !5
  %3005 = add nsw i32 %3004, 1
  store i32 %3005, ptr @test_count, align 4, !tbaa !5
  %3006 = load ptr, ptr %56, align 8, !tbaa !9
  %3007 = load ptr, ptr %57, align 8, !tbaa !9
  %3008 = call i32 @s2n_connections_set_io_pair(ptr noundef %3006, ptr noundef %3007, ptr noundef %62)
  %3009 = icmp eq i32 %3008, -1
  br i1 %3009, label %3010, label %3063

3010:                                             ; preds = %3003
  br label %3011

3011:                                             ; preds = %3010
  br label %3012

3012:                                             ; preds = %3011
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %3013 = call ptr @__errno_location() #11
  %3014 = load i32, ptr %3013, align 4, !tbaa !5
  store i32 %3014, ptr %64, align 4, !tbaa !5
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = call i32 @s2n_print_stacktrace(ptr noundef %3015)
  %3017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3018 = trunc i8 %3017 to i1
  br i1 %3018, label %3019, label %3041

3019:                                             ; preds = %3012
  %3020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3021 = call i32 @fileno(ptr noundef %3020) #10
  %3022 = call i32 @isatty(i32 noundef %3021) #10
  %3023 = icmp ne i32 %3022, 0
  br i1 %3023, label %3024, label %3041

3024:                                             ; preds = %3019
  %3025 = load i32, ptr %64, align 4, !tbaa !5
  %3026 = call ptr @__errno_location() #11
  store i32 %3025, ptr %3026, align 4, !tbaa !5
  %3027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3028 = load i32, ptr @test_count, align 4, !tbaa !5
  %3029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3030 = load i32, ptr %3029, align 4, !tbaa !5
  %3031 = call ptr @s2n_strerror(i32 noundef %3030, ptr noundef @.str.65)
  %3032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3033 = load i32, ptr %3032, align 4, !tbaa !5
  %3034 = call ptr @s2n_strerror_debug(i32 noundef %3033, ptr noundef @.str.65)
  %3035 = call ptr @__errno_location() #11
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = call ptr @strerror(i32 noundef %3036) #10
  %3038 = call ptr @__errno_location() #11
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  %3040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3027, ptr noundef @.str.63, i32 noundef %3028, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 274, ptr noundef %3031, ptr noundef %3034, ptr noundef %3037, i32 noundef %3039) #10
  br label %3058

3041:                                             ; preds = %3019, %3012
  %3042 = load i32, ptr %64, align 4, !tbaa !5
  %3043 = call ptr @__errno_location() #11
  store i32 %3042, ptr %3043, align 4, !tbaa !5
  %3044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3045 = load i32, ptr @test_count, align 4, !tbaa !5
  %3046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3047 = load i32, ptr %3046, align 4, !tbaa !5
  %3048 = call ptr @s2n_strerror(i32 noundef %3047, ptr noundef @.str.65)
  %3049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3050 = load i32, ptr %3049, align 4, !tbaa !5
  %3051 = call ptr @s2n_strerror_debug(i32 noundef %3050, ptr noundef @.str.65)
  %3052 = call ptr @__errno_location() #11
  %3053 = load i32, ptr %3052, align 4, !tbaa !5
  %3054 = call ptr @strerror(i32 noundef %3053) #10
  %3055 = call ptr @__errno_location() #11
  %3056 = load i32, ptr %3055, align 4, !tbaa !5
  %3057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3044, ptr noundef @.str.66, i32 noundef %3045, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 274, ptr noundef %3048, ptr noundef %3051, ptr noundef %3054, i32 noundef %3056) #10
  br label %3058

3058:                                             ; preds = %3041, %3024
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %3059

3059:                                             ; preds = %3058
  br label %3060

3060:                                             ; preds = %3059
  call void @exit(i32 noundef 1) #12
  unreachable

3061:                                             ; No predecessors!
  br label %3062

3062:                                             ; preds = %3061
  br label %3063

3063:                                             ; preds = %3062, %3003
  br label %3064

3064:                                             ; preds = %3063
  br label %3065

3065:                                             ; preds = %3064
  br label %3066

3066:                                             ; preds = %3065
  %3067 = load i32, ptr @test_count, align 4, !tbaa !5
  %3068 = add nsw i32 %3067, 1
  store i32 %3068, ptr @test_count, align 4, !tbaa !5
  %3069 = load ptr, ptr %57, align 8, !tbaa !9
  %3070 = load ptr, ptr %56, align 8, !tbaa !9
  %3071 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3069, ptr noundef %3070)
  %3072 = icmp eq i32 %3071, -1
  br i1 %3072, label %3073, label %3126

3073:                                             ; preds = %3066
  br label %3074

3074:                                             ; preds = %3073
  br label %3075

3075:                                             ; preds = %3074
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #10
  %3076 = call ptr @__errno_location() #11
  %3077 = load i32, ptr %3076, align 4, !tbaa !5
  store i32 %3077, ptr %65, align 4, !tbaa !5
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = call i32 @s2n_print_stacktrace(ptr noundef %3078)
  %3080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3081 = trunc i8 %3080 to i1
  br i1 %3081, label %3082, label %3104

3082:                                             ; preds = %3075
  %3083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3084 = call i32 @fileno(ptr noundef %3083) #10
  %3085 = call i32 @isatty(i32 noundef %3084) #10
  %3086 = icmp ne i32 %3085, 0
  br i1 %3086, label %3087, label %3104

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

3104:                                             ; preds = %3082, %3075
  %3105 = load i32, ptr %65, align 4, !tbaa !5
  %3106 = call ptr @__errno_location() #11
  store i32 %3105, ptr %3106, align 4, !tbaa !5
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3110 = load i32, ptr %3109, align 4, !tbaa !5
  %3111 = call ptr @s2n_strerror(i32 noundef %3110, ptr noundef @.str.65)
  %3112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3113 = load i32, ptr %3112, align 4, !tbaa !5
  %3114 = call ptr @s2n_strerror_debug(i32 noundef %3113, ptr noundef @.str.65)
  %3115 = call ptr @__errno_location() #11
  %3116 = load i32, ptr %3115, align 4, !tbaa !5
  %3117 = call ptr @strerror(i32 noundef %3116) #10
  %3118 = call ptr @__errno_location() #11
  %3119 = load i32, ptr %3118, align 4, !tbaa !5
  %3120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3107, ptr noundef @.str.66, i32 noundef %3108, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 277, ptr noundef %3111, ptr noundef %3114, ptr noundef %3117, i32 noundef %3119) #10
  br label %3121

3121:                                             ; preds = %3104, %3087
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %3122

3122:                                             ; preds = %3121
  br label %3123

3123:                                             ; preds = %3122
  call void @exit(i32 noundef 1) #12
  unreachable

3124:                                             ; No predecessors!
  br label %3125

3125:                                             ; preds = %3124
  br label %3126

3126:                                             ; preds = %3125, %3066
  br label %3127

3127:                                             ; preds = %3126
  br label %3128

3128:                                             ; preds = %3127
  br label %3129

3129:                                             ; preds = %3128
  %3130 = load i32, ptr @test_count, align 4, !tbaa !5
  %3131 = add nsw i32 %3130, 1
  store i32 %3131, ptr @test_count, align 4, !tbaa !5
  %3132 = load ptr, ptr %56, align 8, !tbaa !9
  %3133 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3132, i32 noundef 2)
  br i1 %3133, label %3134, label %3137

3134:                                             ; preds = %3129
  %3135 = load ptr, ptr %57, align 8, !tbaa !9
  %3136 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3135, i32 noundef 2)
  br i1 %3136, label %3190, label %3137

3137:                                             ; preds = %3134, %3129
  br label %3138

3138:                                             ; preds = %3137
  br label %3139

3139:                                             ; preds = %3138
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %3140 = call ptr @__errno_location() #11
  %3141 = load i32, ptr %3140, align 4, !tbaa !5
  store i32 %3141, ptr %66, align 4, !tbaa !5
  %3142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3143 = call i32 @s2n_print_stacktrace(ptr noundef %3142)
  %3144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3145 = trunc i8 %3144 to i1
  br i1 %3145, label %3146, label %3168

3146:                                             ; preds = %3139
  %3147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3148 = call i32 @fileno(ptr noundef %3147) #10
  %3149 = call i32 @isatty(i32 noundef %3148) #10
  %3150 = icmp ne i32 %3149, 0
  br i1 %3150, label %3151, label %3168

3151:                                             ; preds = %3146
  %3152 = load i32, ptr %66, align 4, !tbaa !5
  %3153 = call ptr @__errno_location() #11
  store i32 %3152, ptr %3153, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = load i32, ptr @test_count, align 4, !tbaa !5
  %3156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3157 = load i32, ptr %3156, align 4, !tbaa !5
  %3158 = call ptr @s2n_strerror(i32 noundef %3157, ptr noundef @.str.65)
  %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_debug(i32 noundef %3160, ptr noundef @.str.65)
  %3162 = call ptr @__errno_location() #11
  %3163 = load i32, ptr %3162, align 4, !tbaa !5
  %3164 = call ptr @strerror(i32 noundef %3163) #10
  %3165 = call ptr @__errno_location() #11
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  %3167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3154, ptr noundef @.str.63, i32 noundef %3155, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 278, ptr noundef %3158, ptr noundef %3161, ptr noundef %3164, i32 noundef %3166) #10
  br label %3185

3168:                                             ; preds = %3146, %3139
  %3169 = load i32, ptr %66, align 4, !tbaa !5
  %3170 = call ptr @__errno_location() #11
  store i32 %3169, ptr %3170, align 4, !tbaa !5
  %3171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3172 = load i32, ptr @test_count, align 4, !tbaa !5
  %3173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3174 = load i32, ptr %3173, align 4, !tbaa !5
  %3175 = call ptr @s2n_strerror(i32 noundef %3174, ptr noundef @.str.65)
  %3176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror_debug(i32 noundef %3177, ptr noundef @.str.65)
  %3179 = call ptr @__errno_location() #11
  %3180 = load i32, ptr %3179, align 4, !tbaa !5
  %3181 = call ptr @strerror(i32 noundef %3180) #10
  %3182 = call ptr @__errno_location() #11
  %3183 = load i32, ptr %3182, align 4, !tbaa !5
  %3184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3171, ptr noundef @.str.66, i32 noundef %3172, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 278, ptr noundef %3175, ptr noundef %3178, ptr noundef %3181, i32 noundef %3183) #10
  br label %3185

3185:                                             ; preds = %3168, %3151
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3186

3186:                                             ; preds = %3185
  br label %3187

3187:                                             ; preds = %3186
  call void @exit(i32 noundef 1) #12
  unreachable

3188:                                             ; No predecessors!
  br label %3189

3189:                                             ; preds = %3188
  br label %3190

3190:                                             ; preds = %3189, %3134
  br label %3191

3191:                                             ; preds = %3190
  br label %3192

3192:                                             ; preds = %3191
  br label %3193

3193:                                             ; preds = %3192
  %3194 = load i32, ptr @test_count, align 4, !tbaa !5
  %3195 = add nsw i32 %3194, 1
  store i32 %3195, ptr @test_count, align 4, !tbaa !5
  %3196 = load ptr, ptr %57, align 8, !tbaa !9
  %3197 = load ptr, ptr %56, align 8, !tbaa !9
  %3198 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %3196, ptr noundef %3197, ptr noundef %55)
  %3199 = getelementptr inbounds %struct.s2n_result, ptr %67, i32 0, i32 0
  store i32 %3198, ptr %3199, align 4
  %3200 = getelementptr inbounds %struct.s2n_result, ptr %67, i32 0, i32 0
  %3201 = load i32, ptr %3200, align 4
  %3202 = call zeroext i1 @s2n_result_is_ok(i32 %3201)
  br i1 %3202, label %3256, label %3203

3203:                                             ; preds = %3193
  br label %3204

3204:                                             ; preds = %3203
  br label %3205

3205:                                             ; preds = %3204
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  %3206 = call ptr @__errno_location() #11
  %3207 = load i32, ptr %3206, align 4, !tbaa !5
  store i32 %3207, ptr %68, align 4, !tbaa !5
  %3208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3209 = call i32 @s2n_print_stacktrace(ptr noundef %3208)
  %3210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3211 = trunc i8 %3210 to i1
  br i1 %3211, label %3212, label %3234

3212:                                             ; preds = %3205
  %3213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3214 = call i32 @fileno(ptr noundef %3213) #10
  %3215 = call i32 @isatty(i32 noundef %3214) #10
  %3216 = icmp ne i32 %3215, 0
  br i1 %3216, label %3217, label %3234

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

3234:                                             ; preds = %3212, %3205
  %3235 = load i32, ptr %68, align 4, !tbaa !5
  %3236 = call ptr @__errno_location() #11
  store i32 %3235, ptr %3236, align 4, !tbaa !5
  %3237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3238 = load i32, ptr @test_count, align 4, !tbaa !5
  %3239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3240 = load i32, ptr %3239, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror(i32 noundef %3240, ptr noundef @.str.65)
  %3242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3243 = load i32, ptr %3242, align 4, !tbaa !5
  %3244 = call ptr @s2n_strerror_debug(i32 noundef %3243, ptr noundef @.str.65)
  %3245 = call ptr @__errno_location() #11
  %3246 = load i32, ptr %3245, align 4, !tbaa !5
  %3247 = call ptr @strerror(i32 noundef %3246) #10
  %3248 = call ptr @__errno_location() #11
  %3249 = load i32, ptr %3248, align 4, !tbaa !5
  %3250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3237, ptr noundef @.str.66, i32 noundef %3238, ptr noundef @.str.117, ptr noundef @.str.62, i32 noundef 281, ptr noundef %3241, ptr noundef %3244, ptr noundef %3247, i32 noundef %3249) #10
  br label %3251

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

3252:                                             ; preds = %3251
  br label %3253

3253:                                             ; preds = %3252
  call void @exit(i32 noundef 1) #12
  unreachable

3254:                                             ; No predecessors!
  br label %3255

3255:                                             ; preds = %3254
  br label %3256

3256:                                             ; preds = %3255, %3193
  br label %3257

3257:                                             ; preds = %3256
  br label %3258

3258:                                             ; preds = %3257
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #10
  store i64 0, ptr %69, align 8, !tbaa !15
  br label %3259

3259:                                             ; preds = %3967, %3258
  %3260 = load i64, ptr %69, align 8, !tbaa !15
  %3261 = icmp ult i64 %3260, 10
  br i1 %3261, label %3263, label %3262

3262:                                             ; preds = %3259
  store i32 268, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #10
  br label %3970

3263:                                             ; preds = %3259
  br label %3264

3264:                                             ; preds = %3263
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %3266 = add nsw i32 %3265, 1
  store i32 %3266, ptr @test_count, align 4, !tbaa !5
  %3267 = load ptr, ptr %57, align 8, !tbaa !9
  %3268 = load ptr, ptr %56, align 8, !tbaa !9
  %3269 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %3267, ptr noundef %3268)
  %3270 = icmp eq i32 %3269, -1
  br i1 %3270, label %3271, label %3324

3271:                                             ; preds = %3264
  br label %3272

3272:                                             ; preds = %3271
  br label %3273

3273:                                             ; preds = %3272
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #10
  %3274 = call ptr @__errno_location() #11
  %3275 = load i32, ptr %3274, align 4, !tbaa !5
  store i32 %3275, ptr %70, align 4, !tbaa !5
  %3276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3277 = call i32 @s2n_print_stacktrace(ptr noundef %3276)
  %3278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3279 = trunc i8 %3278 to i1
  br i1 %3279, label %3280, label %3302

3280:                                             ; preds = %3273
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3282 = call i32 @fileno(ptr noundef %3281) #10
  %3283 = call i32 @isatty(i32 noundef %3282) #10
  %3284 = icmp ne i32 %3283, 0
  br i1 %3284, label %3285, label %3302

3285:                                             ; preds = %3280
  %3286 = load i32, ptr %70, align 4, !tbaa !5
  %3287 = call ptr @__errno_location() #11
  store i32 %3286, ptr %3287, align 4, !tbaa !5
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = load i32, ptr @test_count, align 4, !tbaa !5
  %3290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3291 = load i32, ptr %3290, align 4, !tbaa !5
  %3292 = call ptr @s2n_strerror(i32 noundef %3291, ptr noundef @.str.65)
  %3293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3294 = load i32, ptr %3293, align 4, !tbaa !5
  %3295 = call ptr @s2n_strerror_debug(i32 noundef %3294, ptr noundef @.str.65)
  %3296 = call ptr @__errno_location() #11
  %3297 = load i32, ptr %3296, align 4, !tbaa !5
  %3298 = call ptr @strerror(i32 noundef %3297) #10
  %3299 = call ptr @__errno_location() #11
  %3300 = load i32, ptr %3299, align 4, !tbaa !5
  %3301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3288, ptr noundef @.str.63, i32 noundef %3289, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 285, ptr noundef %3292, ptr noundef %3295, ptr noundef %3298, i32 noundef %3300) #10
  br label %3319

3302:                                             ; preds = %3280, %3273
  %3303 = load i32, ptr %70, align 4, !tbaa !5
  %3304 = call ptr @__errno_location() #11
  store i32 %3303, ptr %3304, align 4, !tbaa !5
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = load i32, ptr @test_count, align 4, !tbaa !5
  %3307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  %3309 = call ptr @s2n_strerror(i32 noundef %3308, ptr noundef @.str.65)
  %3310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3311 = load i32, ptr %3310, align 4, !tbaa !5
  %3312 = call ptr @s2n_strerror_debug(i32 noundef %3311, ptr noundef @.str.65)
  %3313 = call ptr @__errno_location() #11
  %3314 = load i32, ptr %3313, align 4, !tbaa !5
  %3315 = call ptr @strerror(i32 noundef %3314) #10
  %3316 = call ptr @__errno_location() #11
  %3317 = load i32, ptr %3316, align 4, !tbaa !5
  %3318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3305, ptr noundef @.str.66, i32 noundef %3306, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 285, ptr noundef %3309, ptr noundef %3312, ptr noundef %3315, i32 noundef %3317) #10
  br label %3319

3319:                                             ; preds = %3302, %3285
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  br label %3320

3320:                                             ; preds = %3319
  br label %3321

3321:                                             ; preds = %3320
  call void @exit(i32 noundef 1) #12
  unreachable

3322:                                             ; No predecessors!
  br label %3323

3323:                                             ; preds = %3322
  br label %3324

3324:                                             ; preds = %3323, %3264
  br label %3325

3325:                                             ; preds = %3324
  br label %3326

3326:                                             ; preds = %3325
  br label %3327

3327:                                             ; preds = %3326
  %3328 = load i32, ptr @test_count, align 4, !tbaa !5
  %3329 = add nsw i32 %3328, 1
  store i32 %3329, ptr @test_count, align 4, !tbaa !5
  %3330 = load ptr, ptr %56, align 8, !tbaa !9
  %3331 = call i32 @s2n_connection_wipe(ptr noundef %3330)
  %3332 = icmp eq i32 %3331, -1
  br i1 %3332, label %3333, label %3386

3333:                                             ; preds = %3327
  br label %3334

3334:                                             ; preds = %3333
  br label %3335

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

3342:                                             ; preds = %3335
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = call i32 @fileno(ptr noundef %3343) #10
  %3345 = call i32 @isatty(i32 noundef %3344) #10
  %3346 = icmp ne i32 %3345, 0
  br i1 %3346, label %3347, label %3364

3347:                                             ; preds = %3342
  %3348 = load i32, ptr %71, align 4, !tbaa !5
  %3349 = call ptr @__errno_location() #11
  store i32 %3348, ptr %3349, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3353 = load i32, ptr %3352, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror(i32 noundef %3353, ptr noundef @.str.65)
  %3355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3356 = load i32, ptr %3355, align 4, !tbaa !5
  %3357 = call ptr @s2n_strerror_debug(i32 noundef %3356, ptr noundef @.str.65)
  %3358 = call ptr @__errno_location() #11
  %3359 = load i32, ptr %3358, align 4, !tbaa !5
  %3360 = call ptr @strerror(i32 noundef %3359) #10
  %3361 = call ptr @__errno_location() #11
  %3362 = load i32, ptr %3361, align 4, !tbaa !5
  %3363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3350, ptr noundef @.str.63, i32 noundef %3351, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 286, ptr noundef %3354, ptr noundef %3357, ptr noundef %3360, i32 noundef %3362) #10
  br label %3381

3364:                                             ; preds = %3342, %3335
  %3365 = load i32, ptr %71, align 4, !tbaa !5
  %3366 = call ptr @__errno_location() #11
  store i32 %3365, ptr %3366, align 4, !tbaa !5
  %3367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3368 = load i32, ptr @test_count, align 4, !tbaa !5
  %3369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3370 = load i32, ptr %3369, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror(i32 noundef %3370, ptr noundef @.str.65)
  %3372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3373 = load i32, ptr %3372, align 4, !tbaa !5
  %3374 = call ptr @s2n_strerror_debug(i32 noundef %3373, ptr noundef @.str.65)
  %3375 = call ptr @__errno_location() #11
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  %3377 = call ptr @strerror(i32 noundef %3376) #10
  %3378 = call ptr @__errno_location() #11
  %3379 = load i32, ptr %3378, align 4, !tbaa !5
  %3380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3367, ptr noundef @.str.66, i32 noundef %3368, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 286, ptr noundef %3371, ptr noundef %3374, ptr noundef %3377, i32 noundef %3379) #10
  br label %3381

3381:                                             ; preds = %3364, %3347
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382
  call void @exit(i32 noundef 1) #12
  unreachable

3384:                                             ; No predecessors!
  br label %3385

3385:                                             ; preds = %3384
  br label %3386

3386:                                             ; preds = %3385, %3327
  br label %3387

3387:                                             ; preds = %3386
  br label %3388

3388:                                             ; preds = %3387
  br label %3389

3389:                                             ; preds = %3388
  %3390 = load i32, ptr @test_count, align 4, !tbaa !5
  %3391 = add nsw i32 %3390, 1
  store i32 %3391, ptr @test_count, align 4, !tbaa !5
  %3392 = load ptr, ptr %57, align 8, !tbaa !9
  %3393 = call i32 @s2n_connection_wipe(ptr noundef %3392)
  %3394 = icmp eq i32 %3393, -1
  br i1 %3394, label %3395, label %3448

3395:                                             ; preds = %3389
  br label %3396

3396:                                             ; preds = %3395
  br label %3397

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

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

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

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

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

3444:                                             ; preds = %3443
  br label %3445

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

3446:                                             ; No predecessors!
  br label %3447

3447:                                             ; preds = %3446
  br label %3448

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

3449:                                             ; preds = %3448
  br label %3450

3450:                                             ; preds = %3449
  br label %3451

3451:                                             ; preds = %3450
  %3452 = load i32, ptr @test_count, align 4, !tbaa !5
  %3453 = add nsw i32 %3452, 1
  store i32 %3453, ptr @test_count, align 4, !tbaa !5
  %3454 = load ptr, ptr %56, align 8, !tbaa !9
  %3455 = load ptr, ptr %57, align 8, !tbaa !9
  %3456 = call i32 @s2n_connections_set_io_pair(ptr noundef %3454, ptr noundef %3455, ptr noundef %62)
  %3457 = icmp eq i32 %3456, -1
  br i1 %3457, label %3458, label %3511

3458:                                             ; preds = %3451
  br label %3459

3459:                                             ; preds = %3458
  br label %3460

3460:                                             ; preds = %3459
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #10
  %3461 = call ptr @__errno_location() #11
  %3462 = load i32, ptr %3461, align 4, !tbaa !5
  store i32 %3462, ptr %73, align 4, !tbaa !5
  %3463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3464 = call i32 @s2n_print_stacktrace(ptr noundef %3463)
  %3465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3466 = trunc i8 %3465 to i1
  br i1 %3466, label %3467, label %3489

3467:                                             ; preds = %3460
  %3468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3469 = call i32 @fileno(ptr noundef %3468) #10
  %3470 = call i32 @isatty(i32 noundef %3469) #10
  %3471 = icmp ne i32 %3470, 0
  br i1 %3471, label %3472, label %3489

3472:                                             ; preds = %3467
  %3473 = load i32, ptr %73, align 4, !tbaa !5
  %3474 = call ptr @__errno_location() #11
  store i32 %3473, ptr %3474, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = load i32, ptr @test_count, align 4, !tbaa !5
  %3477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3478 = load i32, ptr %3477, align 4, !tbaa !5
  %3479 = call ptr @s2n_strerror(i32 noundef %3478, ptr noundef @.str.65)
  %3480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3481 = load i32, ptr %3480, align 4, !tbaa !5
  %3482 = call ptr @s2n_strerror_debug(i32 noundef %3481, ptr noundef @.str.65)
  %3483 = call ptr @__errno_location() #11
  %3484 = load i32, ptr %3483, align 4, !tbaa !5
  %3485 = call ptr @strerror(i32 noundef %3484) #10
  %3486 = call ptr @__errno_location() #11
  %3487 = load i32, ptr %3486, align 4, !tbaa !5
  %3488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3475, ptr noundef @.str.63, i32 noundef %3476, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 288, ptr noundef %3479, ptr noundef %3482, ptr noundef %3485, i32 noundef %3487) #10
  br label %3506

3489:                                             ; preds = %3467, %3460
  %3490 = load i32, ptr %73, align 4, !tbaa !5
  %3491 = call ptr @__errno_location() #11
  store i32 %3490, ptr %3491, align 4, !tbaa !5
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = load i32, ptr @test_count, align 4, !tbaa !5
  %3494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3495 = load i32, ptr %3494, align 4, !tbaa !5
  %3496 = call ptr @s2n_strerror(i32 noundef %3495, ptr noundef @.str.65)
  %3497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3498 = load i32, ptr %3497, align 4, !tbaa !5
  %3499 = call ptr @s2n_strerror_debug(i32 noundef %3498, ptr noundef @.str.65)
  %3500 = call ptr @__errno_location() #11
  %3501 = load i32, ptr %3500, align 4, !tbaa !5
  %3502 = call ptr @strerror(i32 noundef %3501) #10
  %3503 = call ptr @__errno_location() #11
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  %3505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3492, ptr noundef @.str.66, i32 noundef %3493, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 288, ptr noundef %3496, ptr noundef %3499, ptr noundef %3502, i32 noundef %3504) #10
  br label %3506

3506:                                             ; preds = %3489, %3472
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #10
  br label %3507

3507:                                             ; preds = %3506
  br label %3508

3508:                                             ; preds = %3507
  call void @exit(i32 noundef 1) #12
  unreachable

3509:                                             ; No predecessors!
  br label %3510

3510:                                             ; preds = %3509
  br label %3511

3511:                                             ; preds = %3510, %3451
  br label %3512

3512:                                             ; preds = %3511
  br label %3513

3513:                                             ; preds = %3512
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #10
  %3514 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %3515 = load i32, ptr %3514, align 4, !tbaa !27
  %3516 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %3517 = load i32, ptr %3516, align 8, !tbaa !30
  %3518 = sub i32 %3515, %3517
  %3519 = zext i32 %3518 to i64
  store i64 %3519, ptr %74, align 8, !tbaa !15
  br label %3520

3520:                                             ; preds = %3513
  %3521 = load i32, ptr @test_count, align 4, !tbaa !5
  %3522 = add nsw i32 %3521, 1
  store i32 %3522, ptr @test_count, align 4, !tbaa !5
  %3523 = load ptr, ptr %56, align 8, !tbaa !9
  %3524 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 0
  %3525 = getelementptr inbounds %struct.s2n_blob, ptr %3524, i32 0, i32 0
  %3526 = load ptr, ptr %3525, align 8, !tbaa !31
  %3527 = load i64, ptr %74, align 8, !tbaa !15
  %3528 = call i32 @s2n_connection_set_session(ptr noundef %3523, ptr noundef %3526, i64 noundef %3527)
  %3529 = icmp eq i32 %3528, -1
  br i1 %3529, label %3530, label %3583

3530:                                             ; preds = %3520
  br label %3531

3531:                                             ; preds = %3530
  br label %3532

3532:                                             ; preds = %3531
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #10
  %3533 = call ptr @__errno_location() #11
  %3534 = load i32, ptr %3533, align 4, !tbaa !5
  store i32 %3534, ptr %75, align 4, !tbaa !5
  %3535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3536 = call i32 @s2n_print_stacktrace(ptr noundef %3535)
  %3537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3538 = trunc i8 %3537 to i1
  br i1 %3538, label %3539, label %3561

3539:                                             ; preds = %3532
  %3540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3541 = call i32 @fileno(ptr noundef %3540) #10
  %3542 = call i32 @isatty(i32 noundef %3541) #10
  %3543 = icmp ne i32 %3542, 0
  br i1 %3543, label %3544, label %3561

3544:                                             ; preds = %3539
  %3545 = load i32, ptr %75, align 4, !tbaa !5
  %3546 = call ptr @__errno_location() #11
  store i32 %3545, ptr %3546, align 4, !tbaa !5
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = load i32, ptr @test_count, align 4, !tbaa !5
  %3549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3550 = load i32, ptr %3549, align 4, !tbaa !5
  %3551 = call ptr @s2n_strerror(i32 noundef %3550, ptr noundef @.str.65)
  %3552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3553 = load i32, ptr %3552, align 4, !tbaa !5
  %3554 = call ptr @s2n_strerror_debug(i32 noundef %3553, ptr noundef @.str.65)
  %3555 = call ptr @__errno_location() #11
  %3556 = load i32, ptr %3555, align 4, !tbaa !5
  %3557 = call ptr @strerror(i32 noundef %3556) #10
  %3558 = call ptr @__errno_location() #11
  %3559 = load i32, ptr %3558, align 4, !tbaa !5
  %3560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3547, ptr noundef @.str.63, i32 noundef %3548, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 292, ptr noundef %3551, ptr noundef %3554, ptr noundef %3557, i32 noundef %3559) #10
  br label %3578

3561:                                             ; preds = %3539, %3532
  %3562 = load i32, ptr %75, align 4, !tbaa !5
  %3563 = call ptr @__errno_location() #11
  store i32 %3562, ptr %3563, align 4, !tbaa !5
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = load i32, ptr @test_count, align 4, !tbaa !5
  %3566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3567 = load i32, ptr %3566, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror(i32 noundef %3567, ptr noundef @.str.65)
  %3569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3570 = load i32, ptr %3569, align 4, !tbaa !5
  %3571 = call ptr @s2n_strerror_debug(i32 noundef %3570, ptr noundef @.str.65)
  %3572 = call ptr @__errno_location() #11
  %3573 = load i32, ptr %3572, align 4, !tbaa !5
  %3574 = call ptr @strerror(i32 noundef %3573) #10
  %3575 = call ptr @__errno_location() #11
  %3576 = load i32, ptr %3575, align 4, !tbaa !5
  %3577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3564, ptr noundef @.str.66, i32 noundef %3565, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 292, ptr noundef %3568, ptr noundef %3571, ptr noundef %3574, i32 noundef %3576) #10
  br label %3578

3578:                                             ; preds = %3561, %3544
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %3579

3579:                                             ; preds = %3578
  br label %3580

3580:                                             ; preds = %3579
  call void @exit(i32 noundef 1) #12
  unreachable

3581:                                             ; No predecessors!
  br label %3582

3582:                                             ; preds = %3581
  br label %3583

3583:                                             ; preds = %3582, %3520
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

3585:                                             ; preds = %3584
  br label %3586

3586:                                             ; preds = %3585
  %3587 = load i32, ptr @test_count, align 4, !tbaa !5
  %3588 = add nsw i32 %3587, 1
  store i32 %3588, ptr @test_count, align 4, !tbaa !5
  %3589 = call i32 @s2n_stuffer_rewrite(ptr noundef %45)
  %3590 = icmp eq i32 %3589, -1
  br i1 %3590, label %3591, label %3644

3591:                                             ; preds = %3586
  br label %3592

3592:                                             ; preds = %3591
  br label %3593

3593:                                             ; preds = %3592
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #10
  %3594 = call ptr @__errno_location() #11
  %3595 = load i32, ptr %3594, align 4, !tbaa !5
  store i32 %3595, ptr %76, align 4, !tbaa !5
  %3596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3597 = call i32 @s2n_print_stacktrace(ptr noundef %3596)
  %3598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3599 = trunc i8 %3598 to i1
  br i1 %3599, label %3600, label %3622

3600:                                             ; preds = %3593
  %3601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3602 = call i32 @fileno(ptr noundef %3601) #10
  %3603 = call i32 @isatty(i32 noundef %3602) #10
  %3604 = icmp ne i32 %3603, 0
  br i1 %3604, label %3605, label %3622

3605:                                             ; preds = %3600
  %3606 = load i32, ptr %76, align 4, !tbaa !5
  %3607 = call ptr @__errno_location() #11
  store i32 %3606, ptr %3607, align 4, !tbaa !5
  %3608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3609 = load i32, ptr @test_count, align 4, !tbaa !5
  %3610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = call ptr @s2n_strerror(i32 noundef %3611, ptr noundef @.str.65)
  %3613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3614 = load i32, ptr %3613, align 4, !tbaa !5
  %3615 = call ptr @s2n_strerror_debug(i32 noundef %3614, ptr noundef @.str.65)
  %3616 = call ptr @__errno_location() #11
  %3617 = load i32, ptr %3616, align 4, !tbaa !5
  %3618 = call ptr @strerror(i32 noundef %3617) #10
  %3619 = call ptr @__errno_location() #11
  %3620 = load i32, ptr %3619, align 4, !tbaa !5
  %3621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3608, ptr noundef @.str.63, i32 noundef %3609, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 293, ptr noundef %3612, ptr noundef %3615, ptr noundef %3618, i32 noundef %3620) #10
  br label %3639

3622:                                             ; preds = %3600, %3593
  %3623 = load i32, ptr %76, align 4, !tbaa !5
  %3624 = call ptr @__errno_location() #11
  store i32 %3623, ptr %3624, align 4, !tbaa !5
  %3625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3626 = load i32, ptr @test_count, align 4, !tbaa !5
  %3627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3628 = load i32, ptr %3627, align 4, !tbaa !5
  %3629 = call ptr @s2n_strerror(i32 noundef %3628, ptr noundef @.str.65)
  %3630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3631 = load i32, ptr %3630, align 4, !tbaa !5
  %3632 = call ptr @s2n_strerror_debug(i32 noundef %3631, ptr noundef @.str.65)
  %3633 = call ptr @__errno_location() #11
  %3634 = load i32, ptr %3633, align 4, !tbaa !5
  %3635 = call ptr @strerror(i32 noundef %3634) #10
  %3636 = call ptr @__errno_location() #11
  %3637 = load i32, ptr %3636, align 4, !tbaa !5
  %3638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3625, ptr noundef @.str.66, i32 noundef %3626, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 293, ptr noundef %3629, ptr noundef %3632, ptr noundef %3635, i32 noundef %3637) #10
  br label %3639

3639:                                             ; preds = %3622, %3605
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %3640

3640:                                             ; preds = %3639
  br label %3641

3641:                                             ; preds = %3640
  call void @exit(i32 noundef 1) #12
  unreachable

3642:                                             ; No predecessors!
  br label %3643

3643:                                             ; preds = %3642
  br label %3644

3644:                                             ; preds = %3643, %3586
  br label %3645

3645:                                             ; preds = %3644
  br label %3646

3646:                                             ; preds = %3645
  br label %3647

3647:                                             ; preds = %3646
  %3648 = load i32, ptr @test_count, align 4, !tbaa !5
  %3649 = add nsw i32 %3648, 1
  store i32 %3649, ptr @test_count, align 4, !tbaa !5
  %3650 = load ptr, ptr %57, align 8, !tbaa !9
  %3651 = load ptr, ptr %56, align 8, !tbaa !9
  %3652 = call i32 @s2n_test_negotiate(ptr noundef %3650, ptr noundef %3651, ptr noundef %55)
  %3653 = getelementptr inbounds %struct.s2n_result, ptr %77, i32 0, i32 0
  store i32 %3652, ptr %3653, align 4
  %3654 = getelementptr inbounds %struct.s2n_result, ptr %77, i32 0, i32 0
  %3655 = load i32, ptr %3654, align 4
  %3656 = call zeroext i1 @s2n_result_is_ok(i32 %3655)
  br i1 %3656, label %3710, label %3657

3657:                                             ; preds = %3647
  br label %3658

3658:                                             ; preds = %3657
  br label %3659

3659:                                             ; preds = %3658
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #10
  %3660 = call ptr @__errno_location() #11
  %3661 = load i32, ptr %3660, align 4, !tbaa !5
  store i32 %3661, ptr %78, align 4, !tbaa !5
  %3662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3663 = call i32 @s2n_print_stacktrace(ptr noundef %3662)
  %3664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3665 = trunc i8 %3664 to i1
  br i1 %3665, label %3666, label %3688

3666:                                             ; preds = %3659
  %3667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3668 = call i32 @fileno(ptr noundef %3667) #10
  %3669 = call i32 @isatty(i32 noundef %3668) #10
  %3670 = icmp ne i32 %3669, 0
  br i1 %3670, label %3671, label %3688

3671:                                             ; preds = %3666
  %3672 = load i32, ptr %78, align 4, !tbaa !5
  %3673 = call ptr @__errno_location() #11
  store i32 %3672, ptr %3673, align 4, !tbaa !5
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = load i32, ptr @test_count, align 4, !tbaa !5
  %3676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror(i32 noundef %3677, ptr noundef @.str.65)
  %3679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3680 = load i32, ptr %3679, align 4, !tbaa !5
  %3681 = call ptr @s2n_strerror_debug(i32 noundef %3680, ptr noundef @.str.65)
  %3682 = call ptr @__errno_location() #11
  %3683 = load i32, ptr %3682, align 4, !tbaa !5
  %3684 = call ptr @strerror(i32 noundef %3683) #10
  %3685 = call ptr @__errno_location() #11
  %3686 = load i32, ptr %3685, align 4, !tbaa !5
  %3687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3674, ptr noundef @.str.63, i32 noundef %3675, ptr noundef @.str.123, ptr noundef @.str.62, i32 noundef 296, ptr noundef %3678, ptr noundef %3681, ptr noundef %3684, i32 noundef %3686) #10
  br label %3705

3688:                                             ; preds = %3666, %3659
  %3689 = load i32, ptr %78, align 4, !tbaa !5
  %3690 = call ptr @__errno_location() #11
  store i32 %3689, ptr %3690, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = load i32, ptr @test_count, align 4, !tbaa !5
  %3693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3694 = load i32, ptr %3693, align 4, !tbaa !5
  %3695 = call ptr @s2n_strerror(i32 noundef %3694, ptr noundef @.str.65)
  %3696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3697 = load i32, ptr %3696, align 4, !tbaa !5
  %3698 = call ptr @s2n_strerror_debug(i32 noundef %3697, ptr noundef @.str.65)
  %3699 = call ptr @__errno_location() #11
  %3700 = load i32, ptr %3699, align 4, !tbaa !5
  %3701 = call ptr @strerror(i32 noundef %3700) #10
  %3702 = call ptr @__errno_location() #11
  %3703 = load i32, ptr %3702, align 4, !tbaa !5
  %3704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3691, ptr noundef @.str.66, i32 noundef %3692, ptr noundef @.str.123, ptr noundef @.str.62, i32 noundef 296, ptr noundef %3695, ptr noundef %3698, ptr noundef %3701, i32 noundef %3703) #10
  br label %3705

3705:                                             ; preds = %3688, %3671
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %3706

3706:                                             ; preds = %3705
  br label %3707

3707:                                             ; preds = %3706
  call void @exit(i32 noundef 1) #12
  unreachable

3708:                                             ; No predecessors!
  br label %3709

3709:                                             ; preds = %3708
  br label %3710

3710:                                             ; preds = %3709, %3647
  br label %3711

3711:                                             ; preds = %3710
  br label %3712

3712:                                             ; preds = %3711
  br label %3713

3713:                                             ; preds = %3712
  %3714 = load i32, ptr @test_count, align 4, !tbaa !5
  %3715 = add nsw i32 %3714, 1
  store i32 %3715, ptr @test_count, align 4, !tbaa !5
  %3716 = load ptr, ptr %56, align 8, !tbaa !9
  %3717 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3716, i32 noundef 2)
  br i1 %3717, label %3718, label %3774

3718:                                             ; preds = %3713
  %3719 = load ptr, ptr %57, align 8, !tbaa !9
  %3720 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3719, i32 noundef 2)
  br i1 %3720, label %3721, label %3774

3721:                                             ; preds = %3718
  br label %3722

3722:                                             ; preds = %3721
  br label %3723

3723:                                             ; preds = %3722
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  %3724 = call ptr @__errno_location() #11
  %3725 = load i32, ptr %3724, align 4, !tbaa !5
  store i32 %3725, ptr %79, align 4, !tbaa !5
  %3726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3727 = call i32 @s2n_print_stacktrace(ptr noundef %3726)
  %3728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3729 = trunc i8 %3728 to i1
  br i1 %3729, label %3730, label %3752

3730:                                             ; preds = %3723
  %3731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3732 = call i32 @fileno(ptr noundef %3731) #10
  %3733 = call i32 @isatty(i32 noundef %3732) #10
  %3734 = icmp ne i32 %3733, 0
  br i1 %3734, label %3735, label %3752

3735:                                             ; preds = %3730
  %3736 = load i32, ptr %79, align 4, !tbaa !5
  %3737 = call ptr @__errno_location() #11
  store i32 %3736, ptr %3737, align 4, !tbaa !5
  %3738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3739 = load i32, ptr @test_count, align 4, !tbaa !5
  %3740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3741 = load i32, ptr %3740, align 4, !tbaa !5
  %3742 = call ptr @s2n_strerror(i32 noundef %3741, ptr noundef @.str.65)
  %3743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3744 = load i32, ptr %3743, align 4, !tbaa !5
  %3745 = call ptr @s2n_strerror_debug(i32 noundef %3744, ptr noundef @.str.65)
  %3746 = call ptr @__errno_location() #11
  %3747 = load i32, ptr %3746, align 4, !tbaa !5
  %3748 = call ptr @strerror(i32 noundef %3747) #10
  %3749 = call ptr @__errno_location() #11
  %3750 = load i32, ptr %3749, align 4, !tbaa !5
  %3751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3738, ptr noundef @.str.63, i32 noundef %3739, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 297, ptr noundef %3742, ptr noundef %3745, ptr noundef %3748, i32 noundef %3750) #10
  br label %3769

3752:                                             ; preds = %3730, %3723
  %3753 = load i32, ptr %79, align 4, !tbaa !5
  %3754 = call ptr @__errno_location() #11
  store i32 %3753, ptr %3754, align 4, !tbaa !5
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = load i32, ptr @test_count, align 4, !tbaa !5
  %3757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3758 = load i32, ptr %3757, align 4, !tbaa !5
  %3759 = call ptr @s2n_strerror(i32 noundef %3758, ptr noundef @.str.65)
  %3760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3761 = load i32, ptr %3760, align 4, !tbaa !5
  %3762 = call ptr @s2n_strerror_debug(i32 noundef %3761, ptr noundef @.str.65)
  %3763 = call ptr @__errno_location() #11
  %3764 = load i32, ptr %3763, align 4, !tbaa !5
  %3765 = call ptr @strerror(i32 noundef %3764) #10
  %3766 = call ptr @__errno_location() #11
  %3767 = load i32, ptr %3766, align 4, !tbaa !5
  %3768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3755, ptr noundef @.str.66, i32 noundef %3756, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 297, ptr noundef %3759, ptr noundef %3762, ptr noundef %3765, i32 noundef %3767) #10
  br label %3769

3769:                                             ; preds = %3752, %3735
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  br label %3770

3770:                                             ; preds = %3769
  br label %3771

3771:                                             ; preds = %3770
  call void @exit(i32 noundef 1) #12
  unreachable

3772:                                             ; No predecessors!
  br label %3773

3773:                                             ; preds = %3772
  br label %3774

3774:                                             ; preds = %3773, %3718, %3713
  br label %3775

3775:                                             ; preds = %3774
  br label %3776

3776:                                             ; preds = %3775
  br label %3777

3777:                                             ; preds = %3776
  %3778 = load i32, ptr @test_count, align 4, !tbaa !5
  %3779 = add nsw i32 %3778, 1
  store i32 %3779, ptr @test_count, align 4, !tbaa !5
  %3780 = load ptr, ptr %56, align 8, !tbaa !9
  %3781 = call i32 @s2n_connection_free_handshake(ptr noundef %3780)
  %3782 = icmp eq i32 %3781, -1
  br i1 %3782, label %3783, label %3836

3783:                                             ; preds = %3777
  br label %3784

3784:                                             ; preds = %3783
  br label %3785

3785:                                             ; preds = %3784
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #10
  %3786 = call ptr @__errno_location() #11
  %3787 = load i32, ptr %3786, align 4, !tbaa !5
  store i32 %3787, ptr %80, align 4, !tbaa !5
  %3788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3789 = call i32 @s2n_print_stacktrace(ptr noundef %3788)
  %3790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3791 = trunc i8 %3790 to i1
  br i1 %3791, label %3792, label %3814

3792:                                             ; preds = %3785
  %3793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3794 = call i32 @fileno(ptr noundef %3793) #10
  %3795 = call i32 @isatty(i32 noundef %3794) #10
  %3796 = icmp ne i32 %3795, 0
  br i1 %3796, label %3797, label %3814

3797:                                             ; preds = %3792
  %3798 = load i32, ptr %80, align 4, !tbaa !5
  %3799 = call ptr @__errno_location() #11
  store i32 %3798, ptr %3799, align 4, !tbaa !5
  %3800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3801 = load i32, ptr @test_count, align 4, !tbaa !5
  %3802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3803 = load i32, ptr %3802, align 4, !tbaa !5
  %3804 = call ptr @s2n_strerror(i32 noundef %3803, ptr noundef @.str.65)
  %3805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3806 = load i32, ptr %3805, align 4, !tbaa !5
  %3807 = call ptr @s2n_strerror_debug(i32 noundef %3806, ptr noundef @.str.65)
  %3808 = call ptr @__errno_location() #11
  %3809 = load i32, ptr %3808, align 4, !tbaa !5
  %3810 = call ptr @strerror(i32 noundef %3809) #10
  %3811 = call ptr @__errno_location() #11
  %3812 = load i32, ptr %3811, align 4, !tbaa !5
  %3813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3800, ptr noundef @.str.63, i32 noundef %3801, ptr noundef @.str.125, ptr noundef @.str.62, i32 noundef 300, ptr noundef %3804, ptr noundef %3807, ptr noundef %3810, i32 noundef %3812) #10
  br label %3831

3814:                                             ; preds = %3792, %3785
  %3815 = load i32, ptr %80, align 4, !tbaa !5
  %3816 = call ptr @__errno_location() #11
  store i32 %3815, ptr %3816, align 4, !tbaa !5
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = load i32, ptr @test_count, align 4, !tbaa !5
  %3819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3820 = load i32, ptr %3819, align 4, !tbaa !5
  %3821 = call ptr @s2n_strerror(i32 noundef %3820, ptr noundef @.str.65)
  %3822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3823 = load i32, ptr %3822, align 4, !tbaa !5
  %3824 = call ptr @s2n_strerror_debug(i32 noundef %3823, ptr noundef @.str.65)
  %3825 = call ptr @__errno_location() #11
  %3826 = load i32, ptr %3825, align 4, !tbaa !5
  %3827 = call ptr @strerror(i32 noundef %3826) #10
  %3828 = call ptr @__errno_location() #11
  %3829 = load i32, ptr %3828, align 4, !tbaa !5
  %3830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3817, ptr noundef @.str.66, i32 noundef %3818, ptr noundef @.str.125, ptr noundef @.str.62, i32 noundef 300, ptr noundef %3821, ptr noundef %3824, ptr noundef %3827, i32 noundef %3829) #10
  br label %3831

3831:                                             ; preds = %3814, %3797
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %3832

3832:                                             ; preds = %3831
  br label %3833

3833:                                             ; preds = %3832
  call void @exit(i32 noundef 1) #12
  unreachable

3834:                                             ; No predecessors!
  br label %3835

3835:                                             ; preds = %3834
  br label %3836

3836:                                             ; preds = %3835, %3777
  br label %3837

3837:                                             ; preds = %3836
  br label %3838

3838:                                             ; preds = %3837
  br label %3839

3839:                                             ; preds = %3838
  %3840 = load i32, ptr @test_count, align 4, !tbaa !5
  %3841 = add nsw i32 %3840, 1
  store i32 %3841, ptr @test_count, align 4, !tbaa !5
  %3842 = load ptr, ptr %57, align 8, !tbaa !9
  %3843 = call i32 @s2n_connection_free_handshake(ptr noundef %3842)
  %3844 = icmp eq i32 %3843, -1
  br i1 %3844, label %3845, label %3898

3845:                                             ; preds = %3839
  br label %3846

3846:                                             ; preds = %3845
  br label %3847

3847:                                             ; preds = %3846
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #10
  %3848 = call ptr @__errno_location() #11
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  store i32 %3849, ptr %81, align 4, !tbaa !5
  %3850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3851 = call i32 @s2n_print_stacktrace(ptr noundef %3850)
  %3852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3853 = trunc i8 %3852 to i1
  br i1 %3853, label %3854, label %3876

3854:                                             ; preds = %3847
  %3855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3856 = call i32 @fileno(ptr noundef %3855) #10
  %3857 = call i32 @isatty(i32 noundef %3856) #10
  %3858 = icmp ne i32 %3857, 0
  br i1 %3858, label %3859, label %3876

3859:                                             ; preds = %3854
  %3860 = load i32, ptr %81, align 4, !tbaa !5
  %3861 = call ptr @__errno_location() #11
  store i32 %3860, ptr %3861, align 4, !tbaa !5
  %3862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3863 = load i32, ptr @test_count, align 4, !tbaa !5
  %3864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3865 = load i32, ptr %3864, align 4, !tbaa !5
  %3866 = call ptr @s2n_strerror(i32 noundef %3865, ptr noundef @.str.65)
  %3867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3868 = load i32, ptr %3867, align 4, !tbaa !5
  %3869 = call ptr @s2n_strerror_debug(i32 noundef %3868, ptr noundef @.str.65)
  %3870 = call ptr @__errno_location() #11
  %3871 = load i32, ptr %3870, align 4, !tbaa !5
  %3872 = call ptr @strerror(i32 noundef %3871) #10
  %3873 = call ptr @__errno_location() #11
  %3874 = load i32, ptr %3873, align 4, !tbaa !5
  %3875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3862, ptr noundef @.str.63, i32 noundef %3863, ptr noundef @.str.126, ptr noundef @.str.62, i32 noundef 301, ptr noundef %3866, ptr noundef %3869, ptr noundef %3872, i32 noundef %3874) #10
  br label %3893

3876:                                             ; preds = %3854, %3847
  %3877 = load i32, ptr %81, align 4, !tbaa !5
  %3878 = call ptr @__errno_location() #11
  store i32 %3877, ptr %3878, align 4, !tbaa !5
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = load i32, ptr @test_count, align 4, !tbaa !5
  %3881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3882 = load i32, ptr %3881, align 4, !tbaa !5
  %3883 = call ptr @s2n_strerror(i32 noundef %3882, ptr noundef @.str.65)
  %3884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3885 = load i32, ptr %3884, align 4, !tbaa !5
  %3886 = call ptr @s2n_strerror_debug(i32 noundef %3885, ptr noundef @.str.65)
  %3887 = call ptr @__errno_location() #11
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  %3889 = call ptr @strerror(i32 noundef %3888) #10
  %3890 = call ptr @__errno_location() #11
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3879, ptr noundef @.str.66, i32 noundef %3880, ptr noundef @.str.126, ptr noundef @.str.62, i32 noundef 301, ptr noundef %3883, ptr noundef %3886, ptr noundef %3889, i32 noundef %3891) #10
  br label %3893

3893:                                             ; preds = %3876, %3859
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %3894

3894:                                             ; preds = %3893
  br label %3895

3895:                                             ; preds = %3894
  call void @exit(i32 noundef 1) #12
  unreachable

3896:                                             ; No predecessors!
  br label %3897

3897:                                             ; preds = %3896
  br label %3898

3898:                                             ; preds = %3897, %3839
  br label %3899

3899:                                             ; preds = %3898
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = add nsw i32 %3902, 1
  store i32 %3903, ptr @test_count, align 4, !tbaa !5
  %3904 = load ptr, ptr %57, align 8, !tbaa !9
  %3905 = load ptr, ptr %56, align 8, !tbaa !9
  %3906 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %3904, ptr noundef %3905, ptr noundef %55)
  %3907 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  store i32 %3906, ptr %3907, align 4
  %3908 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  %3909 = load i32, ptr %3908, align 4
  %3910 = call zeroext i1 @s2n_result_is_ok(i32 %3909)
  br i1 %3910, label %3964, label %3911

3911:                                             ; preds = %3901
  br label %3912

3912:                                             ; preds = %3911
  br label %3913

3913:                                             ; preds = %3912
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #10
  %3914 = call ptr @__errno_location() #11
  %3915 = load i32, ptr %3914, align 4, !tbaa !5
  store i32 %3915, ptr %83, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = call i32 @s2n_print_stacktrace(ptr noundef %3916)
  %3918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3919 = trunc i8 %3918 to i1
  br i1 %3919, label %3920, label %3942

3920:                                             ; preds = %3913
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = call i32 @fileno(ptr noundef %3921) #10
  %3923 = call i32 @isatty(i32 noundef %3922) #10
  %3924 = icmp ne i32 %3923, 0
  br i1 %3924, label %3925, label %3942

3925:                                             ; preds = %3920
  %3926 = load i32, ptr %83, align 4, !tbaa !5
  %3927 = call ptr @__errno_location() #11
  store i32 %3926, ptr %3927, align 4, !tbaa !5
  %3928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3929 = load i32, ptr @test_count, align 4, !tbaa !5
  %3930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3931 = load i32, ptr %3930, align 4, !tbaa !5
  %3932 = call ptr @s2n_strerror(i32 noundef %3931, ptr noundef @.str.65)
  %3933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3934 = load i32, ptr %3933, align 4, !tbaa !5
  %3935 = call ptr @s2n_strerror_debug(i32 noundef %3934, ptr noundef @.str.65)
  %3936 = call ptr @__errno_location() #11
  %3937 = load i32, ptr %3936, align 4, !tbaa !5
  %3938 = call ptr @strerror(i32 noundef %3937) #10
  %3939 = call ptr @__errno_location() #11
  %3940 = load i32, ptr %3939, align 4, !tbaa !5
  %3941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3928, ptr noundef @.str.63, i32 noundef %3929, ptr noundef @.str.117, ptr noundef @.str.62, i32 noundef 304, ptr noundef %3932, ptr noundef %3935, ptr noundef %3938, i32 noundef %3940) #10
  br label %3959

3942:                                             ; preds = %3920, %3913
  %3943 = load i32, ptr %83, align 4, !tbaa !5
  %3944 = call ptr @__errno_location() #11
  store i32 %3943, ptr %3944, align 4, !tbaa !5
  %3945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3946 = load i32, ptr @test_count, align 4, !tbaa !5
  %3947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3948 = load i32, ptr %3947, align 4, !tbaa !5
  %3949 = call ptr @s2n_strerror(i32 noundef %3948, ptr noundef @.str.65)
  %3950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3951 = load i32, ptr %3950, align 4, !tbaa !5
  %3952 = call ptr @s2n_strerror_debug(i32 noundef %3951, ptr noundef @.str.65)
  %3953 = call ptr @__errno_location() #11
  %3954 = load i32, ptr %3953, align 4, !tbaa !5
  %3955 = call ptr @strerror(i32 noundef %3954) #10
  %3956 = call ptr @__errno_location() #11
  %3957 = load i32, ptr %3956, align 4, !tbaa !5
  %3958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3945, ptr noundef @.str.66, i32 noundef %3946, ptr noundef @.str.117, ptr noundef @.str.62, i32 noundef 304, ptr noundef %3949, ptr noundef %3952, ptr noundef %3955, i32 noundef %3957) #10
  br label %3959

3959:                                             ; preds = %3942, %3925
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %3960

3960:                                             ; preds = %3959
  br label %3961

3961:                                             ; preds = %3960
  call void @exit(i32 noundef 1) #12
  unreachable

3962:                                             ; No predecessors!
  br label %3963

3963:                                             ; preds = %3962
  br label %3964

3964:                                             ; preds = %3963, %3901
  br label %3965

3965:                                             ; preds = %3964
  br label %3966

3966:                                             ; preds = %3965
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #10
  br label %3967

3967:                                             ; preds = %3966
  %3968 = load i64, ptr %69, align 8, !tbaa !15
  %3969 = add i64 %3968, 1
  store i64 %3969, ptr %69, align 8, !tbaa !15
  br label %3259, !llvm.loop !32

3970:                                             ; preds = %3262
  br label %3971

3971:                                             ; preds = %3970
  %3972 = load i32, ptr @test_count, align 4, !tbaa !5
  %3973 = add nsw i32 %3972, 1
  store i32 %3973, ptr @test_count, align 4, !tbaa !5
  %3974 = load ptr, ptr %57, align 8, !tbaa !9
  %3975 = load ptr, ptr %56, align 8, !tbaa !9
  %3976 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %3974, ptr noundef %3975)
  %3977 = icmp eq i32 %3976, -1
  br i1 %3977, label %3978, label %4031

3978:                                             ; preds = %3971
  br label %3979

3979:                                             ; preds = %3978
  br label %3980

3980:                                             ; preds = %3979
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #10
  %3981 = call ptr @__errno_location() #11
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  store i32 %3982, ptr %84, align 4, !tbaa !5
  %3983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3984 = call i32 @s2n_print_stacktrace(ptr noundef %3983)
  %3985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3986 = trunc i8 %3985 to i1
  br i1 %3986, label %3987, label %4009

3987:                                             ; preds = %3980
  %3988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3989 = call i32 @fileno(ptr noundef %3988) #10
  %3990 = call i32 @isatty(i32 noundef %3989) #10
  %3991 = icmp ne i32 %3990, 0
  br i1 %3991, label %3992, label %4009

3992:                                             ; preds = %3987
  %3993 = load i32, ptr %84, align 4, !tbaa !5
  %3994 = call ptr @__errno_location() #11
  store i32 %3993, ptr %3994, align 4, !tbaa !5
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = load i32, ptr @test_count, align 4, !tbaa !5
  %3997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3998 = load i32, ptr %3997, align 4, !tbaa !5
  %3999 = call ptr @s2n_strerror(i32 noundef %3998, ptr noundef @.str.65)
  %4000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4001 = load i32, ptr %4000, align 4, !tbaa !5
  %4002 = call ptr @s2n_strerror_debug(i32 noundef %4001, ptr noundef @.str.65)
  %4003 = call ptr @__errno_location() #11
  %4004 = load i32, ptr %4003, align 4, !tbaa !5
  %4005 = call ptr @strerror(i32 noundef %4004) #10
  %4006 = call ptr @__errno_location() #11
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  %4008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3995, ptr noundef @.str.63, i32 noundef %3996, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 307, ptr noundef %3999, ptr noundef %4002, ptr noundef %4005, i32 noundef %4007) #10
  br label %4026

4009:                                             ; preds = %3987, %3980
  %4010 = load i32, ptr %84, align 4, !tbaa !5
  %4011 = call ptr @__errno_location() #11
  store i32 %4010, ptr %4011, align 4, !tbaa !5
  %4012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4013 = load i32, ptr @test_count, align 4, !tbaa !5
  %4014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4015 = load i32, ptr %4014, align 4, !tbaa !5
  %4016 = call ptr @s2n_strerror(i32 noundef %4015, ptr noundef @.str.65)
  %4017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4018 = load i32, ptr %4017, align 4, !tbaa !5
  %4019 = call ptr @s2n_strerror_debug(i32 noundef %4018, ptr noundef @.str.65)
  %4020 = call ptr @__errno_location() #11
  %4021 = load i32, ptr %4020, align 4, !tbaa !5
  %4022 = call ptr @strerror(i32 noundef %4021) #10
  %4023 = call ptr @__errno_location() #11
  %4024 = load i32, ptr %4023, align 4, !tbaa !5
  %4025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4012, ptr noundef @.str.66, i32 noundef %4013, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 307, ptr noundef %4016, ptr noundef %4019, ptr noundef %4022, i32 noundef %4024) #10
  br label %4026

4026:                                             ; preds = %4009, %3992
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %4027

4027:                                             ; preds = %4026
  br label %4028

4028:                                             ; preds = %4027
  call void @exit(i32 noundef 1) #12
  unreachable

4029:                                             ; No predecessors!
  br label %4030

4030:                                             ; preds = %4029
  br label %4031

4031:                                             ; preds = %4030, %3971
  br label %4032

4032:                                             ; preds = %4031
  br label %4033

4033:                                             ; preds = %4032
  br label %4034

4034:                                             ; preds = %4033
  %4035 = load i32, ptr @test_count, align 4, !tbaa !5
  %4036 = add nsw i32 %4035, 1
  store i32 %4036, ptr @test_count, align 4, !tbaa !5
  %4037 = load ptr, ptr %57, align 8, !tbaa !9
  %4038 = call i32 @s2n_connection_free(ptr noundef %4037)
  %4039 = icmp eq i32 %4038, -1
  br i1 %4039, label %4040, label %4093

4040:                                             ; preds = %4034
  br label %4041

4041:                                             ; preds = %4040
  br label %4042

4042:                                             ; preds = %4041
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #10
  %4043 = call ptr @__errno_location() #11
  %4044 = load i32, ptr %4043, align 4, !tbaa !5
  store i32 %4044, ptr %85, align 4, !tbaa !5
  %4045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4046 = call i32 @s2n_print_stacktrace(ptr noundef %4045)
  %4047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4048 = trunc i8 %4047 to i1
  br i1 %4048, label %4049, label %4071

4049:                                             ; preds = %4042
  %4050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4051 = call i32 @fileno(ptr noundef %4050) #10
  %4052 = call i32 @isatty(i32 noundef %4051) #10
  %4053 = icmp ne i32 %4052, 0
  br i1 %4053, label %4054, label %4071

4054:                                             ; preds = %4049
  %4055 = load i32, ptr %85, align 4, !tbaa !5
  %4056 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %4065 = call ptr @__errno_location() #11
  %4066 = load i32, ptr %4065, align 4, !tbaa !5
  %4067 = call ptr @strerror(i32 noundef %4066) #10
  %4068 = call ptr @__errno_location() #11
  %4069 = load i32, ptr %4068, align 4, !tbaa !5
  %4070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4057, ptr noundef @.str.63, i32 noundef %4058, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 308, ptr noundef %4061, ptr noundef %4064, ptr noundef %4067, i32 noundef %4069) #10
  br label %4088

4071:                                             ; preds = %4049, %4042
  %4072 = load i32, ptr %85, align 4, !tbaa !5
  %4073 = call ptr @__errno_location() #11
  store i32 %4072, ptr %4073, align 4, !tbaa !5
  %4074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4075 = load i32, ptr @test_count, align 4, !tbaa !5
  %4076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4077 = load i32, ptr %4076, align 4, !tbaa !5
  %4078 = call ptr @s2n_strerror(i32 noundef %4077, ptr noundef @.str.65)
  %4079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4080 = load i32, ptr %4079, align 4, !tbaa !5
  %4081 = call ptr @s2n_strerror_debug(i32 noundef %4080, ptr noundef @.str.65)
  %4082 = call ptr @__errno_location() #11
  %4083 = load i32, ptr %4082, align 4, !tbaa !5
  %4084 = call ptr @strerror(i32 noundef %4083) #10
  %4085 = call ptr @__errno_location() #11
  %4086 = load i32, ptr %4085, align 4, !tbaa !5
  %4087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4074, ptr noundef @.str.66, i32 noundef %4075, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 308, ptr noundef %4078, ptr noundef %4081, ptr noundef %4084, i32 noundef %4086) #10
  br label %4088

4088:                                             ; preds = %4071, %4054
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %4089

4089:                                             ; preds = %4088
  br label %4090

4090:                                             ; preds = %4089
  call void @exit(i32 noundef 1) #12
  unreachable

4091:                                             ; No predecessors!
  br label %4092

4092:                                             ; preds = %4091
  br label %4093

4093:                                             ; preds = %4092, %4034
  br label %4094

4094:                                             ; preds = %4093
  br label %4095

4095:                                             ; preds = %4094
  br label %4096

4096:                                             ; preds = %4095
  %4097 = load i32, ptr @test_count, align 4, !tbaa !5
  %4098 = add nsw i32 %4097, 1
  store i32 %4098, ptr @test_count, align 4, !tbaa !5
  %4099 = load ptr, ptr %56, align 8, !tbaa !9
  %4100 = call i32 @s2n_connection_free(ptr noundef %4099)
  %4101 = icmp eq i32 %4100, -1
  br i1 %4101, label %4102, label %4155

4102:                                             ; preds = %4096
  br label %4103

4103:                                             ; preds = %4102
  br label %4104

4104:                                             ; preds = %4103
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %4105 = call ptr @__errno_location() #11
  %4106 = load i32, ptr %4105, align 4, !tbaa !5
  store i32 %4106, ptr %86, align 4, !tbaa !5
  %4107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4108 = call i32 @s2n_print_stacktrace(ptr noundef %4107)
  %4109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4110 = trunc i8 %4109 to i1
  br i1 %4110, label %4111, label %4133

4111:                                             ; preds = %4104
  %4112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4113 = call i32 @fileno(ptr noundef %4112) #10
  %4114 = call i32 @isatty(i32 noundef %4113) #10
  %4115 = icmp ne i32 %4114, 0
  br i1 %4115, label %4116, label %4133

4116:                                             ; preds = %4111
  %4117 = load i32, ptr %86, align 4, !tbaa !5
  %4118 = call ptr @__errno_location() #11
  store i32 %4117, ptr %4118, align 4, !tbaa !5
  %4119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4120 = load i32, ptr @test_count, align 4, !tbaa !5
  %4121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4122 = load i32, ptr %4121, align 4, !tbaa !5
  %4123 = call ptr @s2n_strerror(i32 noundef %4122, ptr noundef @.str.65)
  %4124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4125 = load i32, ptr %4124, align 4, !tbaa !5
  %4126 = call ptr @s2n_strerror_debug(i32 noundef %4125, ptr noundef @.str.65)
  %4127 = call ptr @__errno_location() #11
  %4128 = load i32, ptr %4127, align 4, !tbaa !5
  %4129 = call ptr @strerror(i32 noundef %4128) #10
  %4130 = call ptr @__errno_location() #11
  %4131 = load i32, ptr %4130, align 4, !tbaa !5
  %4132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4119, ptr noundef @.str.63, i32 noundef %4120, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 309, ptr noundef %4123, ptr noundef %4126, ptr noundef %4129, i32 noundef %4131) #10
  br label %4150

4133:                                             ; preds = %4111, %4104
  %4134 = load i32, ptr %86, align 4, !tbaa !5
  %4135 = call ptr @__errno_location() #11
  store i32 %4134, ptr %4135, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = load i32, ptr @test_count, align 4, !tbaa !5
  %4138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4139 = load i32, ptr %4138, align 4, !tbaa !5
  %4140 = call ptr @s2n_strerror(i32 noundef %4139, ptr noundef @.str.65)
  %4141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef @.str.65)
  %4144 = call ptr @__errno_location() #11
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @strerror(i32 noundef %4145) #10
  %4147 = call ptr @__errno_location() #11
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4136, ptr noundef @.str.66, i32 noundef %4137, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 309, ptr noundef %4140, ptr noundef %4143, ptr noundef %4146, i32 noundef %4148) #10
  br label %4150

4150:                                             ; preds = %4133, %4116
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %4151

4151:                                             ; preds = %4150
  br label %4152

4152:                                             ; preds = %4151
  call void @exit(i32 noundef 1) #12
  unreachable

4153:                                             ; No predecessors!
  br label %4154

4154:                                             ; preds = %4153
  br label %4155

4155:                                             ; preds = %4154, %4096
  br label %4156

4156:                                             ; preds = %4155
  br label %4157

4157:                                             ; preds = %4156
  br label %4158

4158:                                             ; preds = %4157
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = add nsw i32 %4159, 1
  store i32 %4160, ptr @test_count, align 4, !tbaa !5
  %4161 = call i32 @s2n_io_pair_close(ptr noundef %62)
  %4162 = icmp eq i32 %4161, -1
  br i1 %4162, label %4163, label %4216

4163:                                             ; preds = %4158
  br label %4164

4164:                                             ; preds = %4163
  br label %4165

4165:                                             ; preds = %4164
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #10
  %4166 = call ptr @__errno_location() #11
  %4167 = load i32, ptr %4166, align 4, !tbaa !5
  store i32 %4167, ptr %87, align 4, !tbaa !5
  %4168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4169 = call i32 @s2n_print_stacktrace(ptr noundef %4168)
  %4170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4171 = trunc i8 %4170 to i1
  br i1 %4171, label %4172, label %4194

4172:                                             ; preds = %4165
  %4173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4174 = call i32 @fileno(ptr noundef %4173) #10
  %4175 = call i32 @isatty(i32 noundef %4174) #10
  %4176 = icmp ne i32 %4175, 0
  br i1 %4176, label %4177, label %4194

4177:                                             ; preds = %4172
  %4178 = load i32, ptr %87, align 4, !tbaa !5
  %4179 = call ptr @__errno_location() #11
  store i32 %4178, ptr %4179, align 4, !tbaa !5
  %4180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4181 = load i32, ptr @test_count, align 4, !tbaa !5
  %4182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4183 = load i32, ptr %4182, align 4, !tbaa !5
  %4184 = call ptr @s2n_strerror(i32 noundef %4183, ptr noundef @.str.65)
  %4185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4186 = load i32, ptr %4185, align 4, !tbaa !5
  %4187 = call ptr @s2n_strerror_debug(i32 noundef %4186, ptr noundef @.str.65)
  %4188 = call ptr @__errno_location() #11
  %4189 = load i32, ptr %4188, align 4, !tbaa !5
  %4190 = call ptr @strerror(i32 noundef %4189) #10
  %4191 = call ptr @__errno_location() #11
  %4192 = load i32, ptr %4191, align 4, !tbaa !5
  %4193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4180, ptr noundef @.str.63, i32 noundef %4181, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 310, ptr noundef %4184, ptr noundef %4187, ptr noundef %4190, i32 noundef %4192) #10
  br label %4211

4194:                                             ; preds = %4172, %4165
  %4195 = load i32, ptr %87, align 4, !tbaa !5
  %4196 = call ptr @__errno_location() #11
  store i32 %4195, ptr %4196, align 4, !tbaa !5
  %4197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4198 = load i32, ptr @test_count, align 4, !tbaa !5
  %4199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4200 = load i32, ptr %4199, align 4, !tbaa !5
  %4201 = call ptr @s2n_strerror(i32 noundef %4200, ptr noundef @.str.65)
  %4202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4203 = load i32, ptr %4202, align 4, !tbaa !5
  %4204 = call ptr @s2n_strerror_debug(i32 noundef %4203, ptr noundef @.str.65)
  %4205 = call ptr @__errno_location() #11
  %4206 = load i32, ptr %4205, align 4, !tbaa !5
  %4207 = call ptr @strerror(i32 noundef %4206) #10
  %4208 = call ptr @__errno_location() #11
  %4209 = load i32, ptr %4208, align 4, !tbaa !5
  %4210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4197, ptr noundef @.str.66, i32 noundef %4198, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 310, ptr noundef %4201, ptr noundef %4204, ptr noundef %4207, i32 noundef %4209) #10
  br label %4211

4211:                                             ; preds = %4194, %4177
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  br label %4212

4212:                                             ; preds = %4211
  br label %4213

4213:                                             ; preds = %4212
  call void @exit(i32 noundef 1) #12
  unreachable

4214:                                             ; No predecessors!
  br label %4215

4215:                                             ; preds = %4214
  br label %4216

4216:                                             ; preds = %4215, %4158
  br label %4217

4217:                                             ; preds = %4216
  br label %4218

4218:                                             ; preds = %4217
  br label %4219

4219:                                             ; preds = %4218
  %4220 = load i32, ptr @test_count, align 4, !tbaa !5
  %4221 = add nsw i32 %4220, 1
  store i32 %4221, ptr @test_count, align 4, !tbaa !5
  %4222 = call i32 @s2n_stuffer_rewrite(ptr noundef %45)
  %4223 = icmp eq i32 %4222, -1
  br i1 %4223, label %4224, label %4277

4224:                                             ; preds = %4219
  br label %4225

4225:                                             ; preds = %4224
  br label %4226

4226:                                             ; preds = %4225
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  %4227 = call ptr @__errno_location() #11
  %4228 = load i32, ptr %4227, align 4, !tbaa !5
  store i32 %4228, ptr %88, align 4, !tbaa !5
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = call i32 @s2n_print_stacktrace(ptr noundef %4229)
  %4231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4232 = trunc i8 %4231 to i1
  br i1 %4232, label %4233, label %4255

4233:                                             ; preds = %4226
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = call i32 @fileno(ptr noundef %4234) #10
  %4236 = call i32 @isatty(i32 noundef %4235) #10
  %4237 = icmp ne i32 %4236, 0
  br i1 %4237, label %4238, label %4255

4238:                                             ; preds = %4233
  %4239 = load i32, ptr %88, align 4, !tbaa !5
  %4240 = call ptr @__errno_location() #11
  store i32 %4239, ptr %4240, align 4, !tbaa !5
  %4241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4242 = load i32, ptr @test_count, align 4, !tbaa !5
  %4243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4244 = load i32, ptr %4243, align 4, !tbaa !5
  %4245 = call ptr @s2n_strerror(i32 noundef %4244, ptr noundef @.str.65)
  %4246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4247 = load i32, ptr %4246, align 4, !tbaa !5
  %4248 = call ptr @s2n_strerror_debug(i32 noundef %4247, ptr noundef @.str.65)
  %4249 = call ptr @__errno_location() #11
  %4250 = load i32, ptr %4249, align 4, !tbaa !5
  %4251 = call ptr @strerror(i32 noundef %4250) #10
  %4252 = call ptr @__errno_location() #11
  %4253 = load i32, ptr %4252, align 4, !tbaa !5
  %4254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4241, ptr noundef @.str.63, i32 noundef %4242, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 311, ptr noundef %4245, ptr noundef %4248, ptr noundef %4251, i32 noundef %4253) #10
  br label %4272

4255:                                             ; preds = %4233, %4226
  %4256 = load i32, ptr %88, align 4, !tbaa !5
  %4257 = call ptr @__errno_location() #11
  store i32 %4256, ptr %4257, align 4, !tbaa !5
  %4258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4259 = load i32, ptr @test_count, align 4, !tbaa !5
  %4260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4261 = load i32, ptr %4260, align 4, !tbaa !5
  %4262 = call ptr @s2n_strerror(i32 noundef %4261, ptr noundef @.str.65)
  %4263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4264 = load i32, ptr %4263, align 4, !tbaa !5
  %4265 = call ptr @s2n_strerror_debug(i32 noundef %4264, ptr noundef @.str.65)
  %4266 = call ptr @__errno_location() #11
  %4267 = load i32, ptr %4266, align 4, !tbaa !5
  %4268 = call ptr @strerror(i32 noundef %4267) #10
  %4269 = call ptr @__errno_location() #11
  %4270 = load i32, ptr %4269, align 4, !tbaa !5
  %4271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4258, ptr noundef @.str.66, i32 noundef %4259, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 311, ptr noundef %4262, ptr noundef %4265, ptr noundef %4268, i32 noundef %4270) #10
  br label %4272

4272:                                             ; preds = %4255, %4238
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %4273

4273:                                             ; preds = %4272
  br label %4274

4274:                                             ; preds = %4273
  call void @exit(i32 noundef 1) #12
  unreachable

4275:                                             ; No predecessors!
  br label %4276

4276:                                             ; preds = %4275
  br label %4277

4277:                                             ; preds = %4276, %4219
  br label %4278

4278:                                             ; preds = %4277
  br label %4279

4279:                                             ; preds = %4278
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %4280

4280:                                             ; preds = %4279
  %4281 = load i64, ptr %54, align 8, !tbaa !15
  %4282 = add i64 %4281, 1
  store i64 %4282, ptr %54, align 8, !tbaa !15
  br label %2685, !llvm.loop !33

4283:                                             ; preds = %2688
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #10
  %4284 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4284, ptr %89, align 8, !tbaa !9
  br label %4285

4285:                                             ; preds = %4283
  %4286 = load i32, ptr @test_count, align 4, !tbaa !5
  %4287 = add nsw i32 %4286, 1
  store i32 %4287, ptr @test_count, align 4, !tbaa !5
  %4288 = load ptr, ptr %89, align 8, !tbaa !9
  %4289 = icmp eq ptr %4288, null
  br i1 %4289, label %4290, label %4343

4290:                                             ; preds = %4285
  br label %4291

4291:                                             ; preds = %4290
  br label %4292

4292:                                             ; preds = %4291
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #10
  %4293 = call ptr @__errno_location() #11
  %4294 = load i32, ptr %4293, align 4, !tbaa !5
  store i32 %4294, ptr %90, align 4, !tbaa !5
  %4295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4296 = call i32 @s2n_print_stacktrace(ptr noundef %4295)
  %4297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4298 = trunc i8 %4297 to i1
  br i1 %4298, label %4299, label %4321

4299:                                             ; preds = %4292
  %4300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4301 = call i32 @fileno(ptr noundef %4300) #10
  %4302 = call i32 @isatty(i32 noundef %4301) #10
  %4303 = icmp ne i32 %4302, 0
  br i1 %4303, label %4304, label %4321

4304:                                             ; preds = %4299
  %4305 = load i32, ptr %90, align 4, !tbaa !5
  %4306 = call ptr @__errno_location() #11
  store i32 %4305, ptr %4306, align 4, !tbaa !5
  %4307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4308 = load i32, ptr @test_count, align 4, !tbaa !5
  %4309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4310 = load i32, ptr %4309, align 4, !tbaa !5
  %4311 = call ptr @s2n_strerror(i32 noundef %4310, ptr noundef @.str.65)
  %4312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4313 = load i32, ptr %4312, align 4, !tbaa !5
  %4314 = call ptr @s2n_strerror_debug(i32 noundef %4313, ptr noundef @.str.65)
  %4315 = call ptr @__errno_location() #11
  %4316 = load i32, ptr %4315, align 4, !tbaa !5
  %4317 = call ptr @strerror(i32 noundef %4316) #10
  %4318 = call ptr @__errno_location() #11
  %4319 = load i32, ptr %4318, align 4, !tbaa !5
  %4320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4307, ptr noundef @.str.63, i32 noundef %4308, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 318, ptr noundef %4311, ptr noundef %4314, ptr noundef %4317, i32 noundef %4319) #10
  br label %4338

4321:                                             ; preds = %4299, %4292
  %4322 = load i32, ptr %90, align 4, !tbaa !5
  %4323 = call ptr @__errno_location() #11
  store i32 %4322, ptr %4323, align 4, !tbaa !5
  %4324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4325 = load i32, ptr @test_count, align 4, !tbaa !5
  %4326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4327 = load i32, ptr %4326, align 4, !tbaa !5
  %4328 = call ptr @s2n_strerror(i32 noundef %4327, ptr noundef @.str.65)
  %4329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4330 = load i32, ptr %4329, align 4, !tbaa !5
  %4331 = call ptr @s2n_strerror_debug(i32 noundef %4330, ptr noundef @.str.65)
  %4332 = call ptr @__errno_location() #11
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = call ptr @strerror(i32 noundef %4333) #10
  %4335 = call ptr @__errno_location() #11
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4324, ptr noundef @.str.66, i32 noundef %4325, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 318, ptr noundef %4328, ptr noundef %4331, ptr noundef %4334, i32 noundef %4336) #10
  br label %4338

4338:                                             ; preds = %4321, %4304
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %4339

4339:                                             ; preds = %4338
  br label %4340

4340:                                             ; preds = %4339
  call void @exit(i32 noundef 1) #12
  unreachable

4341:                                             ; No predecessors!
  br label %4342

4342:                                             ; preds = %4341
  br label %4343

4343:                                             ; preds = %4342, %4285
  br label %4344

4344:                                             ; preds = %4343
  br label %4345

4345:                                             ; preds = %4344
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #10
  %4346 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4346, ptr %91, align 8, !tbaa !9
  br label %4347

4347:                                             ; preds = %4345
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = add nsw i32 %4348, 1
  store i32 %4349, ptr @test_count, align 4, !tbaa !5
  %4350 = load ptr, ptr %91, align 8, !tbaa !9
  %4351 = icmp eq ptr %4350, null
  br i1 %4351, label %4352, label %4405

4352:                                             ; preds = %4347
  br label %4353

4353:                                             ; preds = %4352
  br label %4354

4354:                                             ; preds = %4353
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #10
  %4355 = call ptr @__errno_location() #11
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  store i32 %4356, ptr %92, align 4, !tbaa !5
  %4357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4358 = call i32 @s2n_print_stacktrace(ptr noundef %4357)
  %4359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4360 = trunc i8 %4359 to i1
  br i1 %4360, label %4361, label %4383

4361:                                             ; preds = %4354
  %4362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4363 = call i32 @fileno(ptr noundef %4362) #10
  %4364 = call i32 @isatty(i32 noundef %4363) #10
  %4365 = icmp ne i32 %4364, 0
  br i1 %4365, label %4366, label %4383

4366:                                             ; preds = %4361
  %4367 = load i32, ptr %92, align 4, !tbaa !5
  %4368 = call ptr @__errno_location() #11
  store i32 %4367, ptr %4368, align 4, !tbaa !5
  %4369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4370 = load i32, ptr @test_count, align 4, !tbaa !5
  %4371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4372 = load i32, ptr %4371, align 4, !tbaa !5
  %4373 = call ptr @s2n_strerror(i32 noundef %4372, ptr noundef @.str.65)
  %4374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4375 = load i32, ptr %4374, align 4, !tbaa !5
  %4376 = call ptr @s2n_strerror_debug(i32 noundef %4375, ptr noundef @.str.65)
  %4377 = call ptr @__errno_location() #11
  %4378 = load i32, ptr %4377, align 4, !tbaa !5
  %4379 = call ptr @strerror(i32 noundef %4378) #10
  %4380 = call ptr @__errno_location() #11
  %4381 = load i32, ptr %4380, align 4, !tbaa !5
  %4382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4369, ptr noundef @.str.63, i32 noundef %4370, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 321, ptr noundef %4373, ptr noundef %4376, ptr noundef %4379, i32 noundef %4381) #10
  br label %4400

4383:                                             ; preds = %4361, %4354
  %4384 = load i32, ptr %92, align 4, !tbaa !5
  %4385 = call ptr @__errno_location() #11
  store i32 %4384, ptr %4385, align 4, !tbaa !5
  %4386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4387 = load i32, ptr @test_count, align 4, !tbaa !5
  %4388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  %4390 = call ptr @s2n_strerror(i32 noundef %4389, ptr noundef @.str.65)
  %4391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4392 = load i32, ptr %4391, align 4, !tbaa !5
  %4393 = call ptr @s2n_strerror_debug(i32 noundef %4392, ptr noundef @.str.65)
  %4394 = call ptr @__errno_location() #11
  %4395 = load i32, ptr %4394, align 4, !tbaa !5
  %4396 = call ptr @strerror(i32 noundef %4395) #10
  %4397 = call ptr @__errno_location() #11
  %4398 = load i32, ptr %4397, align 4, !tbaa !5
  %4399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4386, ptr noundef @.str.66, i32 noundef %4387, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 321, ptr noundef %4390, ptr noundef %4393, ptr noundef %4396, i32 noundef %4398) #10
  br label %4400

4400:                                             ; preds = %4383, %4366
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #10
  br label %4401

4401:                                             ; preds = %4400
  br label %4402

4402:                                             ; preds = %4401
  call void @exit(i32 noundef 1) #12
  unreachable

4403:                                             ; No predecessors!
  br label %4404

4404:                                             ; preds = %4403
  br label %4405

4405:                                             ; preds = %4404, %4347
  br label %4406

4406:                                             ; preds = %4405
  br label %4407

4407:                                             ; preds = %4406
  br label %4408

4408:                                             ; preds = %4407
  %4409 = load i32, ptr @test_count, align 4, !tbaa !5
  %4410 = add nsw i32 %4409, 1
  store i32 %4410, ptr @test_count, align 4, !tbaa !5
  %4411 = load ptr, ptr %89, align 8, !tbaa !9
  %4412 = load ptr, ptr %48, align 8, !tbaa !9
  %4413 = call i32 @s2n_connection_set_config(ptr noundef %4411, ptr noundef %4412)
  %4414 = icmp eq i32 %4413, -1
  br i1 %4414, label %4415, label %4468

4415:                                             ; preds = %4408
  br label %4416

4416:                                             ; preds = %4415
  br label %4417

4417:                                             ; preds = %4416
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #10
  %4418 = call ptr @__errno_location() #11
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  store i32 %4419, ptr %93, align 4, !tbaa !5
  %4420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4421 = call i32 @s2n_print_stacktrace(ptr noundef %4420)
  %4422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4423 = trunc i8 %4422 to i1
  br i1 %4423, label %4424, label %4446

4424:                                             ; preds = %4417
  %4425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4426 = call i32 @fileno(ptr noundef %4425) #10
  %4427 = call i32 @isatty(i32 noundef %4426) #10
  %4428 = icmp ne i32 %4427, 0
  br i1 %4428, label %4429, label %4446

4429:                                             ; preds = %4424
  %4430 = load i32, ptr %93, align 4, !tbaa !5
  %4431 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %4440 = call ptr @__errno_location() #11
  %4441 = load i32, ptr %4440, align 4, !tbaa !5
  %4442 = call ptr @strerror(i32 noundef %4441) #10
  %4443 = call ptr @__errno_location() #11
  %4444 = load i32, ptr %4443, align 4, !tbaa !5
  %4445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4432, ptr noundef @.str.63, i32 noundef %4433, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 323, ptr noundef %4436, ptr noundef %4439, ptr noundef %4442, i32 noundef %4444) #10
  br label %4463

4446:                                             ; preds = %4424, %4417
  %4447 = load i32, ptr %93, align 4, !tbaa !5
  %4448 = call ptr @__errno_location() #11
  store i32 %4447, ptr %4448, align 4, !tbaa !5
  %4449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4450 = load i32, ptr @test_count, align 4, !tbaa !5
  %4451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4452 = load i32, ptr %4451, align 4, !tbaa !5
  %4453 = call ptr @s2n_strerror(i32 noundef %4452, ptr noundef @.str.65)
  %4454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4455 = load i32, ptr %4454, align 4, !tbaa !5
  %4456 = call ptr @s2n_strerror_debug(i32 noundef %4455, ptr noundef @.str.65)
  %4457 = call ptr @__errno_location() #11
  %4458 = load i32, ptr %4457, align 4, !tbaa !5
  %4459 = call ptr @strerror(i32 noundef %4458) #10
  %4460 = call ptr @__errno_location() #11
  %4461 = load i32, ptr %4460, align 4, !tbaa !5
  %4462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4449, ptr noundef @.str.66, i32 noundef %4450, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 323, ptr noundef %4453, ptr noundef %4456, ptr noundef %4459, i32 noundef %4461) #10
  br label %4463

4463:                                             ; preds = %4446, %4429
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #10
  br label %4464

4464:                                             ; preds = %4463
  br label %4465

4465:                                             ; preds = %4464
  call void @exit(i32 noundef 1) #12
  unreachable

4466:                                             ; No predecessors!
  br label %4467

4467:                                             ; preds = %4466
  br label %4468

4468:                                             ; preds = %4467, %4408
  br label %4469

4469:                                             ; preds = %4468
  br label %4470

4470:                                             ; preds = %4469
  br label %4471

4471:                                             ; preds = %4470
  %4472 = load i32, ptr @test_count, align 4, !tbaa !5
  %4473 = add nsw i32 %4472, 1
  store i32 %4473, ptr @test_count, align 4, !tbaa !5
  %4474 = load ptr, ptr %91, align 8, !tbaa !9
  %4475 = load ptr, ptr %30, align 8, !tbaa !9
  %4476 = call i32 @s2n_connection_set_config(ptr noundef %4474, ptr noundef %4475)
  %4477 = icmp eq i32 %4476, -1
  br i1 %4477, label %4478, label %4531

4478:                                             ; preds = %4471
  br label %4479

4479:                                             ; preds = %4478
  br label %4480

4480:                                             ; preds = %4479
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #10
  %4481 = call ptr @__errno_location() #11
  %4482 = load i32, ptr %4481, align 4, !tbaa !5
  store i32 %4482, ptr %94, align 4, !tbaa !5
  %4483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4484 = call i32 @s2n_print_stacktrace(ptr noundef %4483)
  %4485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4486 = trunc i8 %4485 to i1
  br i1 %4486, label %4487, label %4509

4487:                                             ; preds = %4480
  %4488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4489 = call i32 @fileno(ptr noundef %4488) #10
  %4490 = call i32 @isatty(i32 noundef %4489) #10
  %4491 = icmp ne i32 %4490, 0
  br i1 %4491, label %4492, label %4509

4492:                                             ; preds = %4487
  %4493 = load i32, ptr %94, align 4, !tbaa !5
  %4494 = call ptr @__errno_location() #11
  store i32 %4493, ptr %4494, align 4, !tbaa !5
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = load i32, ptr @test_count, align 4, !tbaa !5
  %4497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  %4499 = call ptr @s2n_strerror(i32 noundef %4498, ptr noundef @.str.65)
  %4500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4501 = load i32, ptr %4500, align 4, !tbaa !5
  %4502 = call ptr @s2n_strerror_debug(i32 noundef %4501, ptr noundef @.str.65)
  %4503 = call ptr @__errno_location() #11
  %4504 = load i32, ptr %4503, align 4, !tbaa !5
  %4505 = call ptr @strerror(i32 noundef %4504) #10
  %4506 = call ptr @__errno_location() #11
  %4507 = load i32, ptr %4506, align 4, !tbaa !5
  %4508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4495, ptr noundef @.str.63, i32 noundef %4496, ptr noundef @.str.131, ptr noundef @.str.62, i32 noundef 324, ptr noundef %4499, ptr noundef %4502, ptr noundef %4505, i32 noundef %4507) #10
  br label %4526

4509:                                             ; preds = %4487, %4480
  %4510 = load i32, ptr %94, align 4, !tbaa !5
  %4511 = call ptr @__errno_location() #11
  store i32 %4510, ptr %4511, align 4, !tbaa !5
  %4512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4513 = load i32, ptr @test_count, align 4, !tbaa !5
  %4514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4515 = load i32, ptr %4514, align 4, !tbaa !5
  %4516 = call ptr @s2n_strerror(i32 noundef %4515, ptr noundef @.str.65)
  %4517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4518 = load i32, ptr %4517, align 4, !tbaa !5
  %4519 = call ptr @s2n_strerror_debug(i32 noundef %4518, ptr noundef @.str.65)
  %4520 = call ptr @__errno_location() #11
  %4521 = load i32, ptr %4520, align 4, !tbaa !5
  %4522 = call ptr @strerror(i32 noundef %4521) #10
  %4523 = call ptr @__errno_location() #11
  %4524 = load i32, ptr %4523, align 4, !tbaa !5
  %4525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4512, ptr noundef @.str.66, i32 noundef %4513, ptr noundef @.str.131, ptr noundef @.str.62, i32 noundef 324, ptr noundef %4516, ptr noundef %4519, ptr noundef %4522, i32 noundef %4524) #10
  br label %4526

4526:                                             ; preds = %4509, %4492
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %4527

4527:                                             ; preds = %4526
  br label %4528

4528:                                             ; preds = %4527
  call void @exit(i32 noundef 1) #12
  unreachable

4529:                                             ; No predecessors!
  br label %4530

4530:                                             ; preds = %4529
  br label %4531

4531:                                             ; preds = %4530, %4471
  br label %4532

4532:                                             ; preds = %4531
  br label %4533

4533:                                             ; preds = %4532
  call void @llvm.lifetime.start.p0(i64 24, ptr %95) #10
  call void @llvm.memset.p0.i64(ptr align 8 %95, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #10
  call void @llvm.memset.p0.i64(ptr align 4 %96, i8 0, i64 8, i1 false)
  br label %4534

4534:                                             ; preds = %4533
  %4535 = load i32, ptr @test_count, align 4, !tbaa !5
  %4536 = add nsw i32 %4535, 1
  store i32 %4536, ptr @test_count, align 4, !tbaa !5
  %4537 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %96)
  %4538 = icmp eq i32 %4537, -1
  br i1 %4538, label %4539, label %4592

4539:                                             ; preds = %4534
  br label %4540

4540:                                             ; preds = %4539
  br label %4541

4541:                                             ; preds = %4540
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #10
  %4542 = call ptr @__errno_location() #11
  %4543 = load i32, ptr %4542, align 4, !tbaa !5
  store i32 %4543, ptr %97, align 4, !tbaa !5
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = call i32 @s2n_print_stacktrace(ptr noundef %4544)
  %4546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4547 = trunc i8 %4546 to i1
  br i1 %4547, label %4548, label %4570

4548:                                             ; preds = %4541
  %4549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4550 = call i32 @fileno(ptr noundef %4549) #10
  %4551 = call i32 @isatty(i32 noundef %4550) #10
  %4552 = icmp ne i32 %4551, 0
  br i1 %4552, label %4553, label %4570

4553:                                             ; preds = %4548
  %4554 = load i32, ptr %97, align 4, !tbaa !5
  %4555 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %4564 = call ptr @__errno_location() #11
  %4565 = load i32, ptr %4564, align 4, !tbaa !5
  %4566 = call ptr @strerror(i32 noundef %4565) #10
  %4567 = call ptr @__errno_location() #11
  %4568 = load i32, ptr %4567, align 4, !tbaa !5
  %4569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4556, ptr noundef @.str.63, i32 noundef %4557, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 331, ptr noundef %4560, ptr noundef %4563, ptr noundef %4566, i32 noundef %4568) #10
  br label %4587

4570:                                             ; preds = %4548, %4541
  %4571 = load i32, ptr %97, align 4, !tbaa !5
  %4572 = call ptr @__errno_location() #11
  store i32 %4571, ptr %4572, align 4, !tbaa !5
  %4573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4574 = load i32, ptr @test_count, align 4, !tbaa !5
  %4575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4576 = load i32, ptr %4575, align 4, !tbaa !5
  %4577 = call ptr @s2n_strerror(i32 noundef %4576, ptr noundef @.str.65)
  %4578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4579 = load i32, ptr %4578, align 4, !tbaa !5
  %4580 = call ptr @s2n_strerror_debug(i32 noundef %4579, ptr noundef @.str.65)
  %4581 = call ptr @__errno_location() #11
  %4582 = load i32, ptr %4581, align 4, !tbaa !5
  %4583 = call ptr @strerror(i32 noundef %4582) #10
  %4584 = call ptr @__errno_location() #11
  %4585 = load i32, ptr %4584, align 4, !tbaa !5
  %4586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4573, ptr noundef @.str.66, i32 noundef %4574, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 331, ptr noundef %4577, ptr noundef %4580, ptr noundef %4583, i32 noundef %4585) #10
  br label %4587

4587:                                             ; preds = %4570, %4553
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %4588

4588:                                             ; preds = %4587
  br label %4589

4589:                                             ; preds = %4588
  call void @exit(i32 noundef 1) #12
  unreachable

4590:                                             ; No predecessors!
  br label %4591

4591:                                             ; preds = %4590
  br label %4592

4592:                                             ; preds = %4591, %4534
  br label %4593

4593:                                             ; preds = %4592
  br label %4594

4594:                                             ; preds = %4593
  br label %4595

4595:                                             ; preds = %4594
  %4596 = load i32, ptr @test_count, align 4, !tbaa !5
  %4597 = add nsw i32 %4596, 1
  store i32 %4597, ptr @test_count, align 4, !tbaa !5
  %4598 = load ptr, ptr %89, align 8, !tbaa !9
  %4599 = load ptr, ptr %91, align 8, !tbaa !9
  %4600 = call i32 @s2n_connections_set_io_pair(ptr noundef %4598, ptr noundef %4599, ptr noundef %96)
  %4601 = icmp eq i32 %4600, -1
  br i1 %4601, label %4602, label %4655

4602:                                             ; preds = %4595
  br label %4603

4603:                                             ; preds = %4602
  br label %4604

4604:                                             ; preds = %4603
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  %4605 = call ptr @__errno_location() #11
  %4606 = load i32, ptr %4605, align 4, !tbaa !5
  store i32 %4606, ptr %98, align 4, !tbaa !5
  %4607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4608 = call i32 @s2n_print_stacktrace(ptr noundef %4607)
  %4609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4610 = trunc i8 %4609 to i1
  br i1 %4610, label %4611, label %4633

4611:                                             ; preds = %4604
  %4612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4613 = call i32 @fileno(ptr noundef %4612) #10
  %4614 = call i32 @isatty(i32 noundef %4613) #10
  %4615 = icmp ne i32 %4614, 0
  br i1 %4615, label %4616, label %4633

4616:                                             ; preds = %4611
  %4617 = load i32, ptr %98, align 4, !tbaa !5
  %4618 = call ptr @__errno_location() #11
  store i32 %4617, ptr %4618, align 4, !tbaa !5
  %4619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4620 = load i32, ptr @test_count, align 4, !tbaa !5
  %4621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4622 = load i32, ptr %4621, align 4, !tbaa !5
  %4623 = call ptr @s2n_strerror(i32 noundef %4622, ptr noundef @.str.65)
  %4624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = call ptr @s2n_strerror_debug(i32 noundef %4625, ptr noundef @.str.65)
  %4627 = call ptr @__errno_location() #11
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call ptr @strerror(i32 noundef %4628) #10
  %4630 = call ptr @__errno_location() #11
  %4631 = load i32, ptr %4630, align 4, !tbaa !5
  %4632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4619, ptr noundef @.str.63, i32 noundef %4620, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 332, ptr noundef %4623, ptr noundef %4626, ptr noundef %4629, i32 noundef %4631) #10
  br label %4650

4633:                                             ; preds = %4611, %4604
  %4634 = load i32, ptr %98, align 4, !tbaa !5
  %4635 = call ptr @__errno_location() #11
  store i32 %4634, ptr %4635, align 4, !tbaa !5
  %4636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4637 = load i32, ptr @test_count, align 4, !tbaa !5
  %4638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4639 = load i32, ptr %4638, align 4, !tbaa !5
  %4640 = call ptr @s2n_strerror(i32 noundef %4639, ptr noundef @.str.65)
  %4641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4642 = load i32, ptr %4641, align 4, !tbaa !5
  %4643 = call ptr @s2n_strerror_debug(i32 noundef %4642, ptr noundef @.str.65)
  %4644 = call ptr @__errno_location() #11
  %4645 = load i32, ptr %4644, align 4, !tbaa !5
  %4646 = call ptr @strerror(i32 noundef %4645) #10
  %4647 = call ptr @__errno_location() #11
  %4648 = load i32, ptr %4647, align 4, !tbaa !5
  %4649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4636, ptr noundef @.str.66, i32 noundef %4637, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 332, ptr noundef %4640, ptr noundef %4643, ptr noundef %4646, i32 noundef %4648) #10
  br label %4650

4650:                                             ; preds = %4633, %4616
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %4651

4651:                                             ; preds = %4650
  br label %4652

4652:                                             ; preds = %4651
  call void @exit(i32 noundef 1) #12
  unreachable

4653:                                             ; No predecessors!
  br label %4654

4654:                                             ; preds = %4653
  br label %4655

4655:                                             ; preds = %4654, %4595
  br label %4656

4656:                                             ; preds = %4655
  br label %4657

4657:                                             ; preds = %4656
  br label %4658

4658:                                             ; preds = %4657
  %4659 = load i32, ptr @test_count, align 4, !tbaa !5
  %4660 = add nsw i32 %4659, 1
  store i32 %4660, ptr @test_count, align 4, !tbaa !5
  %4661 = load ptr, ptr %91, align 8, !tbaa !9
  %4662 = load ptr, ptr %89, align 8, !tbaa !9
  %4663 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4661, ptr noundef %4662)
  %4664 = icmp eq i32 %4663, -1
  br i1 %4664, label %4665, label %4718

4665:                                             ; preds = %4658
  br label %4666

4666:                                             ; preds = %4665
  br label %4667

4667:                                             ; preds = %4666
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %4668 = call ptr @__errno_location() #11
  %4669 = load i32, ptr %4668, align 4, !tbaa !5
  store i32 %4669, ptr %99, align 4, !tbaa !5
  %4670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4671 = call i32 @s2n_print_stacktrace(ptr noundef %4670)
  %4672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4673 = trunc i8 %4672 to i1
  br i1 %4673, label %4674, label %4696

4674:                                             ; preds = %4667
  %4675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4676 = call i32 @fileno(ptr noundef %4675) #10
  %4677 = call i32 @isatty(i32 noundef %4676) #10
  %4678 = icmp ne i32 %4677, 0
  br i1 %4678, label %4679, label %4696

4679:                                             ; preds = %4674
  %4680 = load i32, ptr %99, align 4, !tbaa !5
  %4681 = call ptr @__errno_location() #11
  store i32 %4680, ptr %4681, align 4, !tbaa !5
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = load i32, ptr @test_count, align 4, !tbaa !5
  %4684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4685 = load i32, ptr %4684, align 4, !tbaa !5
  %4686 = call ptr @s2n_strerror(i32 noundef %4685, ptr noundef @.str.65)
  %4687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4688 = load i32, ptr %4687, align 4, !tbaa !5
  %4689 = call ptr @s2n_strerror_debug(i32 noundef %4688, ptr noundef @.str.65)
  %4690 = call ptr @__errno_location() #11
  %4691 = load i32, ptr %4690, align 4, !tbaa !5
  %4692 = call ptr @strerror(i32 noundef %4691) #10
  %4693 = call ptr @__errno_location() #11
  %4694 = load i32, ptr %4693, align 4, !tbaa !5
  %4695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4682, ptr noundef @.str.63, i32 noundef %4683, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 335, ptr noundef %4686, ptr noundef %4689, ptr noundef %4692, i32 noundef %4694) #10
  br label %4713

4696:                                             ; preds = %4674, %4667
  %4697 = load i32, ptr %99, align 4, !tbaa !5
  %4698 = call ptr @__errno_location() #11
  store i32 %4697, ptr %4698, align 4, !tbaa !5
  %4699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4700 = load i32, ptr @test_count, align 4, !tbaa !5
  %4701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4702 = load i32, ptr %4701, align 4, !tbaa !5
  %4703 = call ptr @s2n_strerror(i32 noundef %4702, ptr noundef @.str.65)
  %4704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4705 = load i32, ptr %4704, align 4, !tbaa !5
  %4706 = call ptr @s2n_strerror_debug(i32 noundef %4705, ptr noundef @.str.65)
  %4707 = call ptr @__errno_location() #11
  %4708 = load i32, ptr %4707, align 4, !tbaa !5
  %4709 = call ptr @strerror(i32 noundef %4708) #10
  %4710 = call ptr @__errno_location() #11
  %4711 = load i32, ptr %4710, align 4, !tbaa !5
  %4712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4699, ptr noundef @.str.66, i32 noundef %4700, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 335, ptr noundef %4703, ptr noundef %4706, ptr noundef %4709, i32 noundef %4711) #10
  br label %4713

4713:                                             ; preds = %4696, %4679
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %4714

4714:                                             ; preds = %4713
  br label %4715

4715:                                             ; preds = %4714
  call void @exit(i32 noundef 1) #12
  unreachable

4716:                                             ; No predecessors!
  br label %4717

4717:                                             ; preds = %4716
  br label %4718

4718:                                             ; preds = %4717, %4658
  br label %4719

4719:                                             ; preds = %4718
  br label %4720

4720:                                             ; preds = %4719
  br label %4721

4721:                                             ; preds = %4720
  %4722 = load i32, ptr @test_count, align 4, !tbaa !5
  %4723 = add nsw i32 %4722, 1
  store i32 %4723, ptr @test_count, align 4, !tbaa !5
  %4724 = load ptr, ptr %89, align 8, !tbaa !9
  %4725 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4724, i32 noundef 2)
  br i1 %4725, label %4726, label %4729

4726:                                             ; preds = %4721
  %4727 = load ptr, ptr %91, align 8, !tbaa !9
  %4728 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4727, i32 noundef 2)
  br i1 %4728, label %4782, label %4729

4729:                                             ; preds = %4726, %4721
  br label %4730

4730:                                             ; preds = %4729
  br label %4731

4731:                                             ; preds = %4730
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %4732 = call ptr @__errno_location() #11
  %4733 = load i32, ptr %4732, align 4, !tbaa !5
  store i32 %4733, ptr %100, align 4, !tbaa !5
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = call i32 @s2n_print_stacktrace(ptr noundef %4734)
  %4736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4737 = trunc i8 %4736 to i1
  br i1 %4737, label %4738, label %4760

4738:                                             ; preds = %4731
  %4739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4740 = call i32 @fileno(ptr noundef %4739) #10
  %4741 = call i32 @isatty(i32 noundef %4740) #10
  %4742 = icmp ne i32 %4741, 0
  br i1 %4742, label %4743, label %4760

4743:                                             ; preds = %4738
  %4744 = load i32, ptr %100, align 4, !tbaa !5
  %4745 = call ptr @__errno_location() #11
  store i32 %4744, ptr %4745, align 4, !tbaa !5
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = load i32, ptr @test_count, align 4, !tbaa !5
  %4748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call ptr @s2n_strerror(i32 noundef %4749, ptr noundef @.str.65)
  %4751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror_debug(i32 noundef %4752, ptr noundef @.str.65)
  %4754 = call ptr @__errno_location() #11
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call ptr @strerror(i32 noundef %4755) #10
  %4757 = call ptr @__errno_location() #11
  %4758 = load i32, ptr %4757, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4746, ptr noundef @.str.63, i32 noundef %4747, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 336, ptr noundef %4750, ptr noundef %4753, ptr noundef %4756, i32 noundef %4758) #10
  br label %4777

4760:                                             ; preds = %4738, %4731
  %4761 = load i32, ptr %100, align 4, !tbaa !5
  %4762 = call ptr @__errno_location() #11
  store i32 %4761, ptr %4762, align 4, !tbaa !5
  %4763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4764 = load i32, ptr @test_count, align 4, !tbaa !5
  %4765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4766 = load i32, ptr %4765, align 4, !tbaa !5
  %4767 = call ptr @s2n_strerror(i32 noundef %4766, ptr noundef @.str.65)
  %4768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4769 = load i32, ptr %4768, align 4, !tbaa !5
  %4770 = call ptr @s2n_strerror_debug(i32 noundef %4769, ptr noundef @.str.65)
  %4771 = call ptr @__errno_location() #11
  %4772 = load i32, ptr %4771, align 4, !tbaa !5
  %4773 = call ptr @strerror(i32 noundef %4772) #10
  %4774 = call ptr @__errno_location() #11
  %4775 = load i32, ptr %4774, align 4, !tbaa !5
  %4776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4763, ptr noundef @.str.66, i32 noundef %4764, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 336, ptr noundef %4767, ptr noundef %4770, ptr noundef %4773, i32 noundef %4775) #10
  br label %4777

4777:                                             ; preds = %4760, %4743
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %4778

4778:                                             ; preds = %4777
  br label %4779

4779:                                             ; preds = %4778
  call void @exit(i32 noundef 1) #12
  unreachable

4780:                                             ; No predecessors!
  br label %4781

4781:                                             ; preds = %4780
  br label %4782

4782:                                             ; preds = %4781, %4726
  br label %4783

4783:                                             ; preds = %4782
  br label %4784

4784:                                             ; preds = %4783
  br label %4785

4785:                                             ; preds = %4784
  %4786 = load i32, ptr @test_count, align 4, !tbaa !5
  %4787 = add nsw i32 %4786, 1
  store i32 %4787, ptr @test_count, align 4, !tbaa !5
  %4788 = load ptr, ptr %91, align 8, !tbaa !9
  %4789 = load ptr, ptr %89, align 8, !tbaa !9
  %4790 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %4788, ptr noundef %4789)
  %4791 = icmp eq i32 %4790, -1
  br i1 %4791, label %4792, label %4845

4792:                                             ; preds = %4785
  br label %4793

4793:                                             ; preds = %4792
  br label %4794

4794:                                             ; preds = %4793
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %4795 = call ptr @__errno_location() #11
  %4796 = load i32, ptr %4795, align 4, !tbaa !5
  store i32 %4796, ptr %101, align 4, !tbaa !5
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @s2n_print_stacktrace(ptr noundef %4797)
  %4799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4800 = trunc i8 %4799 to i1
  br i1 %4800, label %4801, label %4823

4801:                                             ; preds = %4794
  %4802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4803 = call i32 @fileno(ptr noundef %4802) #10
  %4804 = call i32 @isatty(i32 noundef %4803) #10
  %4805 = icmp ne i32 %4804, 0
  br i1 %4805, label %4806, label %4823

4806:                                             ; preds = %4801
  %4807 = load i32, ptr %101, align 4, !tbaa !5
  %4808 = call ptr @__errno_location() #11
  store i32 %4807, ptr %4808, align 4, !tbaa !5
  %4809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4810 = load i32, ptr @test_count, align 4, !tbaa !5
  %4811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4812 = load i32, ptr %4811, align 4, !tbaa !5
  %4813 = call ptr @s2n_strerror(i32 noundef %4812, ptr noundef @.str.65)
  %4814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4815 = load i32, ptr %4814, align 4, !tbaa !5
  %4816 = call ptr @s2n_strerror_debug(i32 noundef %4815, ptr noundef @.str.65)
  %4817 = call ptr @__errno_location() #11
  %4818 = load i32, ptr %4817, align 4, !tbaa !5
  %4819 = call ptr @strerror(i32 noundef %4818) #10
  %4820 = call ptr @__errno_location() #11
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4809, ptr noundef @.str.63, i32 noundef %4810, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 337, ptr noundef %4813, ptr noundef %4816, ptr noundef %4819, i32 noundef %4821) #10
  br label %4840

4823:                                             ; preds = %4801, %4794
  %4824 = load i32, ptr %101, align 4, !tbaa !5
  %4825 = call ptr @__errno_location() #11
  store i32 %4824, ptr %4825, align 4, !tbaa !5
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = load i32, ptr @test_count, align 4, !tbaa !5
  %4828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4829 = load i32, ptr %4828, align 4, !tbaa !5
  %4830 = call ptr @s2n_strerror(i32 noundef %4829, ptr noundef @.str.65)
  %4831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4832 = load i32, ptr %4831, align 4, !tbaa !5
  %4833 = call ptr @s2n_strerror_debug(i32 noundef %4832, ptr noundef @.str.65)
  %4834 = call ptr @__errno_location() #11
  %4835 = load i32, ptr %4834, align 4, !tbaa !5
  %4836 = call ptr @strerror(i32 noundef %4835) #10
  %4837 = call ptr @__errno_location() #11
  %4838 = load i32, ptr %4837, align 4, !tbaa !5
  %4839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4826, ptr noundef @.str.66, i32 noundef %4827, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 337, ptr noundef %4830, ptr noundef %4833, ptr noundef %4836, i32 noundef %4838) #10
  br label %4840

4840:                                             ; preds = %4823, %4806
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %4841

4841:                                             ; preds = %4840
  br label %4842

4842:                                             ; preds = %4841
  call void @exit(i32 noundef 1) #12
  unreachable

4843:                                             ; No predecessors!
  br label %4844

4844:                                             ; preds = %4843
  br label %4845

4845:                                             ; preds = %4844, %4785
  br label %4846

4846:                                             ; preds = %4845
  br label %4847

4847:                                             ; preds = %4846
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #10
  %4848 = load ptr, ptr %89, align 8, !tbaa !9
  %4849 = call i32 @s2n_connection_get_session_length(ptr noundef %4848)
  store i32 %4849, ptr %102, align 4, !tbaa !5
  br label %4850

4850:                                             ; preds = %4847
  %4851 = load i32, ptr @test_count, align 4, !tbaa !5
  %4852 = add nsw i32 %4851, 1
  store i32 %4852, ptr @test_count, align 4, !tbaa !5
  %4853 = load i32, ptr %102, align 4, !tbaa !5
  %4854 = call i32 @s2n_alloc(ptr noundef %95, i32 noundef %4853)
  %4855 = icmp eq i32 %4854, -1
  br i1 %4855, label %4856, label %4909

4856:                                             ; preds = %4850
  br label %4857

4857:                                             ; preds = %4856
  br label %4858

4858:                                             ; preds = %4857
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #10
  %4859 = call ptr @__errno_location() #11
  %4860 = load i32, ptr %4859, align 4, !tbaa !5
  store i32 %4860, ptr %103, align 4, !tbaa !5
  %4861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4862 = call i32 @s2n_print_stacktrace(ptr noundef %4861)
  %4863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4864 = trunc i8 %4863 to i1
  br i1 %4864, label %4865, label %4887

4865:                                             ; preds = %4858
  %4866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4867 = call i32 @fileno(ptr noundef %4866) #10
  %4868 = call i32 @isatty(i32 noundef %4867) #10
  %4869 = icmp ne i32 %4868, 0
  br i1 %4869, label %4870, label %4887

4870:                                             ; preds = %4865
  %4871 = load i32, ptr %103, align 4, !tbaa !5
  %4872 = call ptr @__errno_location() #11
  store i32 %4871, ptr %4872, align 4, !tbaa !5
  %4873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4874 = load i32, ptr @test_count, align 4, !tbaa !5
  %4875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call ptr @s2n_strerror(i32 noundef %4876, ptr noundef @.str.65)
  %4878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef @.str.65)
  %4881 = call ptr @__errno_location() #11
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  %4883 = call ptr @strerror(i32 noundef %4882) #10
  %4884 = call ptr @__errno_location() #11
  %4885 = load i32, ptr %4884, align 4, !tbaa !5
  %4886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4873, ptr noundef @.str.63, i32 noundef %4874, ptr noundef @.str.132, ptr noundef @.str.62, i32 noundef 341, ptr noundef %4877, ptr noundef %4880, ptr noundef %4883, i32 noundef %4885) #10
  br label %4904

4887:                                             ; preds = %4865, %4858
  %4888 = load i32, ptr %103, align 4, !tbaa !5
  %4889 = call ptr @__errno_location() #11
  store i32 %4888, ptr %4889, align 4, !tbaa !5
  %4890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4891 = load i32, ptr @test_count, align 4, !tbaa !5
  %4892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @s2n_strerror(i32 noundef %4893, ptr noundef @.str.65)
  %4895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call ptr @s2n_strerror_debug(i32 noundef %4896, ptr noundef @.str.65)
  %4898 = call ptr @__errno_location() #11
  %4899 = load i32, ptr %4898, align 4, !tbaa !5
  %4900 = call ptr @strerror(i32 noundef %4899) #10
  %4901 = call ptr @__errno_location() #11
  %4902 = load i32, ptr %4901, align 4, !tbaa !5
  %4903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4890, ptr noundef @.str.66, i32 noundef %4891, ptr noundef @.str.132, ptr noundef @.str.62, i32 noundef 341, ptr noundef %4894, ptr noundef %4897, ptr noundef %4900, i32 noundef %4902) #10
  br label %4904

4904:                                             ; preds = %4887, %4870
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %4905

4905:                                             ; preds = %4904
  br label %4906

4906:                                             ; preds = %4905
  call void @exit(i32 noundef 1) #12
  unreachable

4907:                                             ; No predecessors!
  br label %4908

4908:                                             ; preds = %4907
  br label %4909

4909:                                             ; preds = %4908, %4850
  br label %4910

4910:                                             ; preds = %4909
  br label %4911

4911:                                             ; preds = %4910
  br label %4912

4912:                                             ; preds = %4911
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = add nsw i32 %4913, 1
  store i32 %4914, ptr @test_count, align 4, !tbaa !5
  %4915 = load ptr, ptr %89, align 8, !tbaa !9
  %4916 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 0
  %4917 = load ptr, ptr %4916, align 8, !tbaa !34
  %4918 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 1
  %4919 = load i32, ptr %4918, align 8, !tbaa !35
  %4920 = zext i32 %4919 to i64
  %4921 = call i32 @s2n_connection_get_session(ptr noundef %4915, ptr noundef %4917, i64 noundef %4920)
  %4922 = icmp eq i32 %4921, -1
  br i1 %4922, label %4923, label %4976

4923:                                             ; preds = %4912
  br label %4924

4924:                                             ; preds = %4923
  br label %4925

4925:                                             ; preds = %4924
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #10
  %4926 = call ptr @__errno_location() #11
  %4927 = load i32, ptr %4926, align 4, !tbaa !5
  store i32 %4927, ptr %104, align 4, !tbaa !5
  %4928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4929 = call i32 @s2n_print_stacktrace(ptr noundef %4928)
  %4930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4931 = trunc i8 %4930 to i1
  br i1 %4931, label %4932, label %4954

4932:                                             ; preds = %4925
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = call i32 @fileno(ptr noundef %4933) #10
  %4935 = call i32 @isatty(i32 noundef %4934) #10
  %4936 = icmp ne i32 %4935, 0
  br i1 %4936, label %4937, label %4954

4937:                                             ; preds = %4932
  %4938 = load i32, ptr %104, align 4, !tbaa !5
  %4939 = call ptr @__errno_location() #11
  store i32 %4938, ptr %4939, align 4, !tbaa !5
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = load i32, ptr @test_count, align 4, !tbaa !5
  %4942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4943 = load i32, ptr %4942, align 4, !tbaa !5
  %4944 = call ptr @s2n_strerror(i32 noundef %4943, ptr noundef @.str.65)
  %4945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4946 = load i32, ptr %4945, align 4, !tbaa !5
  %4947 = call ptr @s2n_strerror_debug(i32 noundef %4946, ptr noundef @.str.65)
  %4948 = call ptr @__errno_location() #11
  %4949 = load i32, ptr %4948, align 4, !tbaa !5
  %4950 = call ptr @strerror(i32 noundef %4949) #10
  %4951 = call ptr @__errno_location() #11
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4940, ptr noundef @.str.63, i32 noundef %4941, ptr noundef @.str.133, ptr noundef @.str.62, i32 noundef 342, ptr noundef %4944, ptr noundef %4947, ptr noundef %4950, i32 noundef %4952) #10
  br label %4971

4954:                                             ; preds = %4932, %4925
  %4955 = load i32, ptr %104, align 4, !tbaa !5
  %4956 = call ptr @__errno_location() #11
  store i32 %4955, ptr %4956, align 4, !tbaa !5
  %4957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4958 = load i32, ptr @test_count, align 4, !tbaa !5
  %4959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4960 = load i32, ptr %4959, align 4, !tbaa !5
  %4961 = call ptr @s2n_strerror(i32 noundef %4960, ptr noundef @.str.65)
  %4962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4963 = load i32, ptr %4962, align 4, !tbaa !5
  %4964 = call ptr @s2n_strerror_debug(i32 noundef %4963, ptr noundef @.str.65)
  %4965 = call ptr @__errno_location() #11
  %4966 = load i32, ptr %4965, align 4, !tbaa !5
  %4967 = call ptr @strerror(i32 noundef %4966) #10
  %4968 = call ptr @__errno_location() #11
  %4969 = load i32, ptr %4968, align 4, !tbaa !5
  %4970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4957, ptr noundef @.str.66, i32 noundef %4958, ptr noundef @.str.133, ptr noundef @.str.62, i32 noundef 342, ptr noundef %4961, ptr noundef %4964, ptr noundef %4967, i32 noundef %4969) #10
  br label %4971

4971:                                             ; preds = %4954, %4937
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  br label %4972

4972:                                             ; preds = %4971
  br label %4973

4973:                                             ; preds = %4972
  call void @exit(i32 noundef 1) #12
  unreachable

4974:                                             ; No predecessors!
  br label %4975

4975:                                             ; preds = %4974
  br label %4976

4976:                                             ; preds = %4975, %4912
  br label %4977

4977:                                             ; preds = %4976
  br label %4978

4978:                                             ; preds = %4977
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  %4979 = call i32 @s2n_io_pair_close(ptr noundef %96)
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #10
  br label %4980

4980:                                             ; preds = %4978
  %4981 = load i32, ptr @test_count, align 4, !tbaa !5
  %4982 = add nsw i32 %4981, 1
  store i32 %4982, ptr @test_count, align 4, !tbaa !5
  %4983 = load ptr, ptr %89, align 8, !tbaa !9
  %4984 = call i32 @s2n_connection_wipe(ptr noundef %4983)
  %4985 = icmp eq i32 %4984, -1
  br i1 %4985, label %4986, label %5039

4986:                                             ; preds = %4980
  br label %4987

4987:                                             ; preds = %4986
  br label %4988

4988:                                             ; preds = %4987
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  %4989 = call ptr @__errno_location() #11
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  store i32 %4990, ptr %105, align 4, !tbaa !5
  %4991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4992 = call i32 @s2n_print_stacktrace(ptr noundef %4991)
  %4993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4994 = trunc i8 %4993 to i1
  br i1 %4994, label %4995, label %5017

4995:                                             ; preds = %4988
  %4996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4997 = call i32 @fileno(ptr noundef %4996) #10
  %4998 = call i32 @isatty(i32 noundef %4997) #10
  %4999 = icmp ne i32 %4998, 0
  br i1 %4999, label %5000, label %5017

5000:                                             ; preds = %4995
  %5001 = load i32, ptr %105, align 4, !tbaa !5
  %5002 = call ptr @__errno_location() #11
  store i32 %5001, ptr %5002, align 4, !tbaa !5
  %5003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5004 = load i32, ptr @test_count, align 4, !tbaa !5
  %5005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5006 = load i32, ptr %5005, align 4, !tbaa !5
  %5007 = call ptr @s2n_strerror(i32 noundef %5006, ptr noundef @.str.65)
  %5008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5009 = load i32, ptr %5008, align 4, !tbaa !5
  %5010 = call ptr @s2n_strerror_debug(i32 noundef %5009, ptr noundef @.str.65)
  %5011 = call ptr @__errno_location() #11
  %5012 = load i32, ptr %5011, align 4, !tbaa !5
  %5013 = call ptr @strerror(i32 noundef %5012) #10
  %5014 = call ptr @__errno_location() #11
  %5015 = load i32, ptr %5014, align 4, !tbaa !5
  %5016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5003, ptr noundef @.str.63, i32 noundef %5004, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 345, ptr noundef %5007, ptr noundef %5010, ptr noundef %5013, i32 noundef %5015) #10
  br label %5034

5017:                                             ; preds = %4995, %4988
  %5018 = load i32, ptr %105, align 4, !tbaa !5
  %5019 = call ptr @__errno_location() #11
  store i32 %5018, ptr %5019, align 4, !tbaa !5
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = load i32, ptr @test_count, align 4, !tbaa !5
  %5022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5023 = load i32, ptr %5022, align 4, !tbaa !5
  %5024 = call ptr @s2n_strerror(i32 noundef %5023, ptr noundef @.str.65)
  %5025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5026 = load i32, ptr %5025, align 4, !tbaa !5
  %5027 = call ptr @s2n_strerror_debug(i32 noundef %5026, ptr noundef @.str.65)
  %5028 = call ptr @__errno_location() #11
  %5029 = load i32, ptr %5028, align 4, !tbaa !5
  %5030 = call ptr @strerror(i32 noundef %5029) #10
  %5031 = call ptr @__errno_location() #11
  %5032 = load i32, ptr %5031, align 4, !tbaa !5
  %5033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5020, ptr noundef @.str.66, i32 noundef %5021, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 345, ptr noundef %5024, ptr noundef %5027, ptr noundef %5030, i32 noundef %5032) #10
  br label %5034

5034:                                             ; preds = %5017, %5000
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %5035

5035:                                             ; preds = %5034
  br label %5036

5036:                                             ; preds = %5035
  call void @exit(i32 noundef 1) #12
  unreachable

5037:                                             ; No predecessors!
  br label %5038

5038:                                             ; preds = %5037
  br label %5039

5039:                                             ; preds = %5038, %4980
  br label %5040

5040:                                             ; preds = %5039
  br label %5041

5041:                                             ; preds = %5040
  br label %5042

5042:                                             ; preds = %5041
  %5043 = load i32, ptr @test_count, align 4, !tbaa !5
  %5044 = add nsw i32 %5043, 1
  store i32 %5044, ptr @test_count, align 4, !tbaa !5
  %5045 = load ptr, ptr %91, align 8, !tbaa !9
  %5046 = call i32 @s2n_connection_wipe(ptr noundef %5045)
  %5047 = icmp eq i32 %5046, -1
  br i1 %5047, label %5048, label %5101

5048:                                             ; preds = %5042
  br label %5049

5049:                                             ; preds = %5048
  br label %5050

5050:                                             ; preds = %5049
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #10
  %5051 = call ptr @__errno_location() #11
  %5052 = load i32, ptr %5051, align 4, !tbaa !5
  store i32 %5052, ptr %106, align 4, !tbaa !5
  %5053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5054 = call i32 @s2n_print_stacktrace(ptr noundef %5053)
  %5055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5056 = trunc i8 %5055 to i1
  br i1 %5056, label %5057, label %5079

5057:                                             ; preds = %5050
  %5058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5059 = call i32 @fileno(ptr noundef %5058) #10
  %5060 = call i32 @isatty(i32 noundef %5059) #10
  %5061 = icmp ne i32 %5060, 0
  br i1 %5061, label %5062, label %5079

5062:                                             ; preds = %5057
  %5063 = load i32, ptr %106, align 4, !tbaa !5
  %5064 = call ptr @__errno_location() #11
  store i32 %5063, ptr %5064, align 4, !tbaa !5
  %5065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5066 = load i32, ptr @test_count, align 4, !tbaa !5
  %5067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5068 = load i32, ptr %5067, align 4, !tbaa !5
  %5069 = call ptr @s2n_strerror(i32 noundef %5068, ptr noundef @.str.65)
  %5070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5071 = load i32, ptr %5070, align 4, !tbaa !5
  %5072 = call ptr @s2n_strerror_debug(i32 noundef %5071, ptr noundef @.str.65)
  %5073 = call ptr @__errno_location() #11
  %5074 = load i32, ptr %5073, align 4, !tbaa !5
  %5075 = call ptr @strerror(i32 noundef %5074) #10
  %5076 = call ptr @__errno_location() #11
  %5077 = load i32, ptr %5076, align 4, !tbaa !5
  %5078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5065, ptr noundef @.str.63, i32 noundef %5066, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 346, ptr noundef %5069, ptr noundef %5072, ptr noundef %5075, i32 noundef %5077) #10
  br label %5096

5079:                                             ; preds = %5057, %5050
  %5080 = load i32, ptr %106, align 4, !tbaa !5
  %5081 = call ptr @__errno_location() #11
  store i32 %5080, ptr %5081, align 4, !tbaa !5
  %5082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5083 = load i32, ptr @test_count, align 4, !tbaa !5
  %5084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5085 = load i32, ptr %5084, align 4, !tbaa !5
  %5086 = call ptr @s2n_strerror(i32 noundef %5085, ptr noundef @.str.65)
  %5087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5088 = load i32, ptr %5087, align 4, !tbaa !5
  %5089 = call ptr @s2n_strerror_debug(i32 noundef %5088, ptr noundef @.str.65)
  %5090 = call ptr @__errno_location() #11
  %5091 = load i32, ptr %5090, align 4, !tbaa !5
  %5092 = call ptr @strerror(i32 noundef %5091) #10
  %5093 = call ptr @__errno_location() #11
  %5094 = load i32, ptr %5093, align 4, !tbaa !5
  %5095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5082, ptr noundef @.str.66, i32 noundef %5083, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 346, ptr noundef %5086, ptr noundef %5089, ptr noundef %5092, i32 noundef %5094) #10
  br label %5096

5096:                                             ; preds = %5079, %5062
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %5097

5097:                                             ; preds = %5096
  br label %5098

5098:                                             ; preds = %5097
  call void @exit(i32 noundef 1) #12
  unreachable

5099:                                             ; No predecessors!
  br label %5100

5100:                                             ; preds = %5099
  br label %5101

5101:                                             ; preds = %5100, %5042
  br label %5102

5102:                                             ; preds = %5101
  br label %5103

5103:                                             ; preds = %5102
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #10
  call void @llvm.memset.p0.i64(ptr align 4 %107, i8 0, i64 8, i1 false)
  br label %5104

5104:                                             ; preds = %5103
  %5105 = load i32, ptr @test_count, align 4, !tbaa !5
  %5106 = add nsw i32 %5105, 1
  store i32 %5106, ptr @test_count, align 4, !tbaa !5
  %5107 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %107)
  %5108 = icmp eq i32 %5107, -1
  br i1 %5108, label %5109, label %5162

5109:                                             ; preds = %5104
  br label %5110

5110:                                             ; preds = %5109
  br label %5111

5111:                                             ; preds = %5110
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %5112 = call ptr @__errno_location() #11
  %5113 = load i32, ptr %5112, align 4, !tbaa !5
  store i32 %5113, ptr %108, align 4, !tbaa !5
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = call i32 @s2n_print_stacktrace(ptr noundef %5114)
  %5116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5117 = trunc i8 %5116 to i1
  br i1 %5117, label %5118, label %5140

5118:                                             ; preds = %5111
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = call i32 @fileno(ptr noundef %5119) #10
  %5121 = call i32 @isatty(i32 noundef %5120) #10
  %5122 = icmp ne i32 %5121, 0
  br i1 %5122, label %5123, label %5140

5123:                                             ; preds = %5118
  %5124 = load i32, ptr %108, align 4, !tbaa !5
  %5125 = call ptr @__errno_location() #11
  store i32 %5124, ptr %5125, align 4, !tbaa !5
  %5126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5127 = load i32, ptr @test_count, align 4, !tbaa !5
  %5128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5129 = load i32, ptr %5128, align 4, !tbaa !5
  %5130 = call ptr @s2n_strerror(i32 noundef %5129, ptr noundef @.str.65)
  %5131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5132 = load i32, ptr %5131, align 4, !tbaa !5
  %5133 = call ptr @s2n_strerror_debug(i32 noundef %5132, ptr noundef @.str.65)
  %5134 = call ptr @__errno_location() #11
  %5135 = load i32, ptr %5134, align 4, !tbaa !5
  %5136 = call ptr @strerror(i32 noundef %5135) #10
  %5137 = call ptr @__errno_location() #11
  %5138 = load i32, ptr %5137, align 4, !tbaa !5
  %5139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5126, ptr noundef @.str.63, i32 noundef %5127, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 352, ptr noundef %5130, ptr noundef %5133, ptr noundef %5136, i32 noundef %5138) #10
  br label %5157

5140:                                             ; preds = %5118, %5111
  %5141 = load i32, ptr %108, align 4, !tbaa !5
  %5142 = call ptr @__errno_location() #11
  store i32 %5141, ptr %5142, align 4, !tbaa !5
  %5143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5144 = load i32, ptr @test_count, align 4, !tbaa !5
  %5145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5146 = load i32, ptr %5145, align 4, !tbaa !5
  %5147 = call ptr @s2n_strerror(i32 noundef %5146, ptr noundef @.str.65)
  %5148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5149 = load i32, ptr %5148, align 4, !tbaa !5
  %5150 = call ptr @s2n_strerror_debug(i32 noundef %5149, ptr noundef @.str.65)
  %5151 = call ptr @__errno_location() #11
  %5152 = load i32, ptr %5151, align 4, !tbaa !5
  %5153 = call ptr @strerror(i32 noundef %5152) #10
  %5154 = call ptr @__errno_location() #11
  %5155 = load i32, ptr %5154, align 4, !tbaa !5
  %5156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5143, ptr noundef @.str.66, i32 noundef %5144, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 352, ptr noundef %5147, ptr noundef %5150, ptr noundef %5153, i32 noundef %5155) #10
  br label %5157

5157:                                             ; preds = %5140, %5123
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %5158

5158:                                             ; preds = %5157
  br label %5159

5159:                                             ; preds = %5158
  call void @exit(i32 noundef 1) #12
  unreachable

5160:                                             ; No predecessors!
  br label %5161

5161:                                             ; preds = %5160
  br label %5162

5162:                                             ; preds = %5161, %5104
  br label %5163

5163:                                             ; preds = %5162
  br label %5164

5164:                                             ; preds = %5163
  br label %5165

5165:                                             ; preds = %5164
  %5166 = load i32, ptr @test_count, align 4, !tbaa !5
  %5167 = add nsw i32 %5166, 1
  store i32 %5167, ptr @test_count, align 4, !tbaa !5
  %5168 = load ptr, ptr %89, align 8, !tbaa !9
  %5169 = load ptr, ptr %91, align 8, !tbaa !9
  %5170 = call i32 @s2n_connections_set_io_pair(ptr noundef %5168, ptr noundef %5169, ptr noundef %107)
  %5171 = icmp eq i32 %5170, -1
  br i1 %5171, label %5172, label %5225

5172:                                             ; preds = %5165
  br label %5173

5173:                                             ; preds = %5172
  br label %5174

5174:                                             ; preds = %5173
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #10
  %5175 = call ptr @__errno_location() #11
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  store i32 %5176, ptr %109, align 4, !tbaa !5
  %5177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5178 = call i32 @s2n_print_stacktrace(ptr noundef %5177)
  %5179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5180 = trunc i8 %5179 to i1
  br i1 %5180, label %5181, label %5203

5181:                                             ; preds = %5174
  %5182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5183 = call i32 @fileno(ptr noundef %5182) #10
  %5184 = call i32 @isatty(i32 noundef %5183) #10
  %5185 = icmp ne i32 %5184, 0
  br i1 %5185, label %5186, label %5203

5186:                                             ; preds = %5181
  %5187 = load i32, ptr %109, align 4, !tbaa !5
  %5188 = call ptr @__errno_location() #11
  store i32 %5187, ptr %5188, align 4, !tbaa !5
  %5189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5190 = load i32, ptr @test_count, align 4, !tbaa !5
  %5191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call ptr @s2n_strerror(i32 noundef %5192, ptr noundef @.str.65)
  %5194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  %5196 = call ptr @s2n_strerror_debug(i32 noundef %5195, ptr noundef @.str.65)
  %5197 = call ptr @__errno_location() #11
  %5198 = load i32, ptr %5197, align 4, !tbaa !5
  %5199 = call ptr @strerror(i32 noundef %5198) #10
  %5200 = call ptr @__errno_location() #11
  %5201 = load i32, ptr %5200, align 4, !tbaa !5
  %5202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5189, ptr noundef @.str.63, i32 noundef %5190, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 353, ptr noundef %5193, ptr noundef %5196, ptr noundef %5199, i32 noundef %5201) #10
  br label %5220

5203:                                             ; preds = %5181, %5174
  %5204 = load i32, ptr %109, align 4, !tbaa !5
  %5205 = call ptr @__errno_location() #11
  store i32 %5204, ptr %5205, align 4, !tbaa !5
  %5206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5207 = load i32, ptr @test_count, align 4, !tbaa !5
  %5208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call ptr @s2n_strerror(i32 noundef %5209, ptr noundef @.str.65)
  %5211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5212 = load i32, ptr %5211, align 4, !tbaa !5
  %5213 = call ptr @s2n_strerror_debug(i32 noundef %5212, ptr noundef @.str.65)
  %5214 = call ptr @__errno_location() #11
  %5215 = load i32, ptr %5214, align 4, !tbaa !5
  %5216 = call ptr @strerror(i32 noundef %5215) #10
  %5217 = call ptr @__errno_location() #11
  %5218 = load i32, ptr %5217, align 4, !tbaa !5
  %5219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5206, ptr noundef @.str.66, i32 noundef %5207, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 353, ptr noundef %5210, ptr noundef %5213, ptr noundef %5216, i32 noundef %5218) #10
  br label %5220

5220:                                             ; preds = %5203, %5186
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %5221

5221:                                             ; preds = %5220
  br label %5222

5222:                                             ; preds = %5221
  call void @exit(i32 noundef 1) #12
  unreachable

5223:                                             ; No predecessors!
  br label %5224

5224:                                             ; preds = %5223
  br label %5225

5225:                                             ; preds = %5224, %5165
  br label %5226

5226:                                             ; preds = %5225
  br label %5227

5227:                                             ; preds = %5226
  br label %5228

5228:                                             ; preds = %5227
  %5229 = load i32, ptr @test_count, align 4, !tbaa !5
  %5230 = add nsw i32 %5229, 1
  store i32 %5230, ptr @test_count, align 4, !tbaa !5
  %5231 = load ptr, ptr %89, align 8, !tbaa !9
  %5232 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 0
  %5233 = load ptr, ptr %5232, align 8, !tbaa !34
  %5234 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 1
  %5235 = load i32, ptr %5234, align 8, !tbaa !35
  %5236 = zext i32 %5235 to i64
  %5237 = call i32 @s2n_connection_set_session(ptr noundef %5231, ptr noundef %5233, i64 noundef %5236)
  %5238 = icmp eq i32 %5237, -1
  br i1 %5238, label %5239, label %5292

5239:                                             ; preds = %5228
  br label %5240

5240:                                             ; preds = %5239
  br label %5241

5241:                                             ; preds = %5240
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #10
  %5242 = call ptr @__errno_location() #11
  %5243 = load i32, ptr %5242, align 4, !tbaa !5
  store i32 %5243, ptr %110, align 4, !tbaa !5
  %5244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5245 = call i32 @s2n_print_stacktrace(ptr noundef %5244)
  %5246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5247 = trunc i8 %5246 to i1
  br i1 %5247, label %5248, label %5270

5248:                                             ; preds = %5241
  %5249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5250 = call i32 @fileno(ptr noundef %5249) #10
  %5251 = call i32 @isatty(i32 noundef %5250) #10
  %5252 = icmp ne i32 %5251, 0
  br i1 %5252, label %5253, label %5270

5253:                                             ; preds = %5248
  %5254 = load i32, ptr %110, align 4, !tbaa !5
  %5255 = call ptr @__errno_location() #11
  store i32 %5254, ptr %5255, align 4, !tbaa !5
  %5256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5257 = load i32, ptr @test_count, align 4, !tbaa !5
  %5258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5259 = load i32, ptr %5258, align 4, !tbaa !5
  %5260 = call ptr @s2n_strerror(i32 noundef %5259, ptr noundef @.str.65)
  %5261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5262 = load i32, ptr %5261, align 4, !tbaa !5
  %5263 = call ptr @s2n_strerror_debug(i32 noundef %5262, ptr noundef @.str.65)
  %5264 = call ptr @__errno_location() #11
  %5265 = load i32, ptr %5264, align 4, !tbaa !5
  %5266 = call ptr @strerror(i32 noundef %5265) #10
  %5267 = call ptr @__errno_location() #11
  %5268 = load i32, ptr %5267, align 4, !tbaa !5
  %5269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5256, ptr noundef @.str.63, i32 noundef %5257, ptr noundef @.str.134, ptr noundef @.str.62, i32 noundef 356, ptr noundef %5260, ptr noundef %5263, ptr noundef %5266, i32 noundef %5268) #10
  br label %5287

5270:                                             ; preds = %5248, %5241
  %5271 = load i32, ptr %110, align 4, !tbaa !5
  %5272 = call ptr @__errno_location() #11
  store i32 %5271, ptr %5272, align 4, !tbaa !5
  %5273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5274 = load i32, ptr @test_count, align 4, !tbaa !5
  %5275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5276 = load i32, ptr %5275, align 4, !tbaa !5
  %5277 = call ptr @s2n_strerror(i32 noundef %5276, ptr noundef @.str.65)
  %5278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5279 = load i32, ptr %5278, align 4, !tbaa !5
  %5280 = call ptr @s2n_strerror_debug(i32 noundef %5279, ptr noundef @.str.65)
  %5281 = call ptr @__errno_location() #11
  %5282 = load i32, ptr %5281, align 4, !tbaa !5
  %5283 = call ptr @strerror(i32 noundef %5282) #10
  %5284 = call ptr @__errno_location() #11
  %5285 = load i32, ptr %5284, align 4, !tbaa !5
  %5286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5273, ptr noundef @.str.66, i32 noundef %5274, ptr noundef @.str.134, ptr noundef @.str.62, i32 noundef 356, ptr noundef %5277, ptr noundef %5280, ptr noundef %5283, i32 noundef %5285) #10
  br label %5287

5287:                                             ; preds = %5270, %5253
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #10
  br label %5288

5288:                                             ; preds = %5287
  br label %5289

5289:                                             ; preds = %5288
  call void @exit(i32 noundef 1) #12
  unreachable

5290:                                             ; No predecessors!
  br label %5291

5291:                                             ; preds = %5290
  br label %5292

5292:                                             ; preds = %5291, %5228
  br label %5293

5293:                                             ; preds = %5292
  br label %5294

5294:                                             ; preds = %5293
  %5295 = load ptr, ptr %89, align 8, !tbaa !9
  %5296 = getelementptr inbounds %struct.s2n_connection, ptr %5295, i32 0, i32 24
  store i8 31, ptr %5296, align 1, !tbaa !36
  br label %5297

5297:                                             ; preds = %5294
  %5298 = load i32, ptr @test_count, align 4, !tbaa !5
  %5299 = add nsw i32 %5298, 1
  store i32 %5299, ptr @test_count, align 4, !tbaa !5
  %5300 = load ptr, ptr %89, align 8, !tbaa !9
  %5301 = call i32 @s2n_connection_set_blinding(ptr noundef %5300, i32 noundef 1)
  %5302 = icmp eq i32 %5301, -1
  br i1 %5302, label %5303, label %5356

5303:                                             ; preds = %5297
  br label %5304

5304:                                             ; preds = %5303
  br label %5305

5305:                                             ; preds = %5304
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #10
  %5306 = call ptr @__errno_location() #11
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  store i32 %5307, ptr %111, align 4, !tbaa !5
  %5308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5309 = call i32 @s2n_print_stacktrace(ptr noundef %5308)
  %5310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5311 = trunc i8 %5310 to i1
  br i1 %5311, label %5312, label %5334

5312:                                             ; preds = %5305
  %5313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5314 = call i32 @fileno(ptr noundef %5313) #10
  %5315 = call i32 @isatty(i32 noundef %5314) #10
  %5316 = icmp ne i32 %5315, 0
  br i1 %5316, label %5317, label %5334

5317:                                             ; preds = %5312
  %5318 = load i32, ptr %111, align 4, !tbaa !5
  %5319 = call ptr @__errno_location() #11
  store i32 %5318, ptr %5319, align 4, !tbaa !5
  %5320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call ptr @s2n_strerror(i32 noundef %5323, ptr noundef @.str.65)
  %5325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call ptr @s2n_strerror_debug(i32 noundef %5326, ptr noundef @.str.65)
  %5328 = call ptr @__errno_location() #11
  %5329 = load i32, ptr %5328, align 4, !tbaa !5
  %5330 = call ptr @strerror(i32 noundef %5329) #10
  %5331 = call ptr @__errno_location() #11
  %5332 = load i32, ptr %5331, align 4, !tbaa !5
  %5333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5320, ptr noundef @.str.63, i32 noundef %5321, ptr noundef @.str.135, ptr noundef @.str.62, i32 noundef 362, ptr noundef %5324, ptr noundef %5327, ptr noundef %5330, i32 noundef %5332) #10
  br label %5351

5334:                                             ; preds = %5312, %5305
  %5335 = load i32, ptr %111, align 4, !tbaa !5
  %5336 = call ptr @__errno_location() #11
  store i32 %5335, ptr %5336, align 4, !tbaa !5
  %5337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5338 = load i32, ptr @test_count, align 4, !tbaa !5
  %5339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5340 = load i32, ptr %5339, align 4, !tbaa !5
  %5341 = call ptr @s2n_strerror(i32 noundef %5340, ptr noundef @.str.65)
  %5342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5343 = load i32, ptr %5342, align 4, !tbaa !5
  %5344 = call ptr @s2n_strerror_debug(i32 noundef %5343, ptr noundef @.str.65)
  %5345 = call ptr @__errno_location() #11
  %5346 = load i32, ptr %5345, align 4, !tbaa !5
  %5347 = call ptr @strerror(i32 noundef %5346) #10
  %5348 = call ptr @__errno_location() #11
  %5349 = load i32, ptr %5348, align 4, !tbaa !5
  %5350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5337, ptr noundef @.str.66, i32 noundef %5338, ptr noundef @.str.135, ptr noundef @.str.62, i32 noundef 362, ptr noundef %5341, ptr noundef %5344, ptr noundef %5347, i32 noundef %5349) #10
  br label %5351

5351:                                             ; preds = %5334, %5317
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %5352

5352:                                             ; preds = %5351
  br label %5353

5353:                                             ; preds = %5352
  call void @exit(i32 noundef 1) #12
  unreachable

5354:                                             ; No predecessors!
  br label %5355

5355:                                             ; preds = %5354
  br label %5356

5356:                                             ; preds = %5355, %5297
  br label %5357

5357:                                             ; preds = %5356
  br label %5358

5358:                                             ; preds = %5357
  br label %5359

5359:                                             ; preds = %5358
  br label %5360

5360:                                             ; preds = %5359
  br label %5361

5361:                                             ; preds = %5360
  %5362 = load i32, ptr @test_count, align 4, !tbaa !5
  %5363 = add nsw i32 %5362, 1
  store i32 %5363, ptr @test_count, align 4, !tbaa !5
  %5364 = load ptr, ptr %91, align 8, !tbaa !9
  %5365 = load ptr, ptr %89, align 8, !tbaa !9
  %5366 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5364, ptr noundef %5365)
  %5367 = icmp eq i32 %5366, -1
  br i1 %5367, label %5421, label %5368

5368:                                             ; preds = %5361
  br label %5369

5369:                                             ; preds = %5368
  br label %5370

5370:                                             ; preds = %5369
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  %5371 = call ptr @__errno_location() #11
  %5372 = load i32, ptr %5371, align 4, !tbaa !5
  store i32 %5372, ptr %112, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = call i32 @s2n_print_stacktrace(ptr noundef %5373)
  %5375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5376 = trunc i8 %5375 to i1
  br i1 %5376, label %5377, label %5399

5377:                                             ; preds = %5370
  %5378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5379 = call i32 @fileno(ptr noundef %5378) #10
  %5380 = call i32 @isatty(i32 noundef %5379) #10
  %5381 = icmp ne i32 %5380, 0
  br i1 %5381, label %5382, label %5399

5382:                                             ; preds = %5377
  %5383 = load i32, ptr %112, align 4, !tbaa !5
  %5384 = call ptr @__errno_location() #11
  store i32 %5383, ptr %5384, align 4, !tbaa !5
  %5385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5386 = load i32, ptr @test_count, align 4, !tbaa !5
  %5387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5388 = load i32, ptr %5387, align 4, !tbaa !5
  %5389 = call ptr @s2n_strerror(i32 noundef %5388, ptr noundef @.str.65)
  %5390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5391 = load i32, ptr %5390, align 4, !tbaa !5
  %5392 = call ptr @s2n_strerror_debug(i32 noundef %5391, ptr noundef @.str.65)
  %5393 = call ptr @__errno_location() #11
  %5394 = load i32, ptr %5393, align 4, !tbaa !5
  %5395 = call ptr @strerror(i32 noundef %5394) #10
  %5396 = call ptr @__errno_location() #11
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  %5398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5385, ptr noundef @.str.63, i32 noundef %5386, ptr noundef @.str.136, ptr noundef @.str.62, i32 noundef 364, ptr noundef %5389, ptr noundef %5392, ptr noundef %5395, i32 noundef %5397) #10
  br label %5416

5399:                                             ; preds = %5377, %5370
  %5400 = load i32, ptr %112, align 4, !tbaa !5
  %5401 = call ptr @__errno_location() #11
  store i32 %5400, ptr %5401, align 4, !tbaa !5
  %5402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5403 = load i32, ptr @test_count, align 4, !tbaa !5
  %5404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5405 = load i32, ptr %5404, align 4, !tbaa !5
  %5406 = call ptr @s2n_strerror(i32 noundef %5405, ptr noundef @.str.65)
  %5407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5408 = load i32, ptr %5407, align 4, !tbaa !5
  %5409 = call ptr @s2n_strerror_debug(i32 noundef %5408, ptr noundef @.str.65)
  %5410 = call ptr @__errno_location() #11
  %5411 = load i32, ptr %5410, align 4, !tbaa !5
  %5412 = call ptr @strerror(i32 noundef %5411) #10
  %5413 = call ptr @__errno_location() #11
  %5414 = load i32, ptr %5413, align 4, !tbaa !5
  %5415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5402, ptr noundef @.str.66, i32 noundef %5403, ptr noundef @.str.136, ptr noundef @.str.62, i32 noundef 364, ptr noundef %5406, ptr noundef %5409, ptr noundef %5412, i32 noundef %5414) #10
  br label %5416

5416:                                             ; preds = %5399, %5382
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %5417

5417:                                             ; preds = %5416
  br label %5418

5418:                                             ; preds = %5417
  call void @exit(i32 noundef 1) #12
  unreachable

5419:                                             ; No predecessors!
  br label %5420

5420:                                             ; preds = %5419
  br label %5421

5421:                                             ; preds = %5420, %5361
  br label %5422

5422:                                             ; preds = %5421
  br label %5423

5423:                                             ; preds = %5422
  br label %5424

5424:                                             ; preds = %5423
  %5425 = load i32, ptr @test_count, align 4, !tbaa !5
  %5426 = add nsw i32 %5425, 1
  store i32 %5426, ptr @test_count, align 4, !tbaa !5
  %5427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5428 = load i32, ptr %5427, align 4, !tbaa !5
  %5429 = icmp eq i32 %5428, 335544322
  br i1 %5429, label %5483, label %5430

5430:                                             ; preds = %5424
  br label %5431

5431:                                             ; preds = %5430
  br label %5432

5432:                                             ; preds = %5431
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  %5433 = call ptr @__errno_location() #11
  %5434 = load i32, ptr %5433, align 4, !tbaa !5
  store i32 %5434, ptr %113, align 4, !tbaa !5
  %5435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5436 = call i32 @s2n_print_stacktrace(ptr noundef %5435)
  %5437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5438 = trunc i8 %5437 to i1
  br i1 %5438, label %5439, label %5461

5439:                                             ; preds = %5432
  %5440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5441 = call i32 @fileno(ptr noundef %5440) #10
  %5442 = call i32 @isatty(i32 noundef %5441) #10
  %5443 = icmp ne i32 %5442, 0
  br i1 %5443, label %5444, label %5461

5444:                                             ; preds = %5439
  %5445 = load i32, ptr %113, align 4, !tbaa !5
  %5446 = call ptr @__errno_location() #11
  store i32 %5445, ptr %5446, align 4, !tbaa !5
  %5447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5448 = load i32, ptr @test_count, align 4, !tbaa !5
  %5449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5450 = load i32, ptr %5449, align 4, !tbaa !5
  %5451 = call ptr @s2n_strerror(i32 noundef %5450, ptr noundef @.str.65)
  %5452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5453 = load i32, ptr %5452, align 4, !tbaa !5
  %5454 = call ptr @s2n_strerror_debug(i32 noundef %5453, ptr noundef @.str.65)
  %5455 = call ptr @__errno_location() #11
  %5456 = load i32, ptr %5455, align 4, !tbaa !5
  %5457 = call ptr @strerror(i32 noundef %5456) #10
  %5458 = call ptr @__errno_location() #11
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  %5460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5447, ptr noundef @.str.63, i32 noundef %5448, ptr noundef @.str.137, ptr noundef @.str.62, i32 noundef 364, ptr noundef %5451, ptr noundef %5454, ptr noundef %5457, i32 noundef %5459) #10
  br label %5478

5461:                                             ; preds = %5439, %5432
  %5462 = load i32, ptr %113, align 4, !tbaa !5
  %5463 = call ptr @__errno_location() #11
  store i32 %5462, ptr %5463, align 4, !tbaa !5
  %5464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5465 = load i32, ptr @test_count, align 4, !tbaa !5
  %5466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5467 = load i32, ptr %5466, align 4, !tbaa !5
  %5468 = call ptr @s2n_strerror(i32 noundef %5467, ptr noundef @.str.65)
  %5469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5470 = load i32, ptr %5469, align 4, !tbaa !5
  %5471 = call ptr @s2n_strerror_debug(i32 noundef %5470, ptr noundef @.str.65)
  %5472 = call ptr @__errno_location() #11
  %5473 = load i32, ptr %5472, align 4, !tbaa !5
  %5474 = call ptr @strerror(i32 noundef %5473) #10
  %5475 = call ptr @__errno_location() #11
  %5476 = load i32, ptr %5475, align 4, !tbaa !5
  %5477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5464, ptr noundef @.str.66, i32 noundef %5465, ptr noundef @.str.137, ptr noundef @.str.62, i32 noundef 364, ptr noundef %5468, ptr noundef %5471, ptr noundef %5474, i32 noundef %5476) #10
  br label %5478

5478:                                             ; preds = %5461, %5444
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5479

5479:                                             ; preds = %5478
  br label %5480

5480:                                             ; preds = %5479
  call void @exit(i32 noundef 1) #12
  unreachable

5481:                                             ; No predecessors!
  br label %5482

5482:                                             ; preds = %5481
  br label %5483

5483:                                             ; preds = %5482, %5424
  br label %5484

5484:                                             ; preds = %5483
  br label %5485

5485:                                             ; preds = %5484
  br label %5486

5486:                                             ; preds = %5485
  %5487 = load i32, ptr @test_count, align 4, !tbaa !5
  %5488 = add nsw i32 %5487, 1
  store i32 %5488, ptr @test_count, align 4, !tbaa !5
  %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.65)
  %5492 = icmp eq ptr %5491, null
  br i1 %5492, label %5493, label %5546

5493:                                             ; preds = %5486
  br label %5494

5494:                                             ; preds = %5493
  br label %5495

5495:                                             ; preds = %5494
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %5496 = call ptr @__errno_location() #11
  %5497 = load i32, ptr %5496, align 4, !tbaa !5
  store i32 %5497, ptr %114, align 4, !tbaa !5
  %5498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5499 = call i32 @s2n_print_stacktrace(ptr noundef %5498)
  %5500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5501 = trunc i8 %5500 to i1
  br i1 %5501, label %5502, label %5524

5502:                                             ; preds = %5495
  %5503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5504 = call i32 @fileno(ptr noundef %5503) #10
  %5505 = call i32 @isatty(i32 noundef %5504) #10
  %5506 = icmp ne i32 %5505, 0
  br i1 %5506, label %5507, label %5524

5507:                                             ; preds = %5502
  %5508 = load i32, ptr %114, align 4, !tbaa !5
  %5509 = call ptr @__errno_location() #11
  store i32 %5508, ptr %5509, align 4, !tbaa !5
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = load i32, ptr @test_count, align 4, !tbaa !5
  %5512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5513 = load i32, ptr %5512, align 4, !tbaa !5
  %5514 = call ptr @s2n_strerror(i32 noundef %5513, ptr noundef @.str.65)
  %5515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5516 = load i32, ptr %5515, align 4, !tbaa !5
  %5517 = call ptr @s2n_strerror_debug(i32 noundef %5516, ptr noundef @.str.65)
  %5518 = call ptr @__errno_location() #11
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  %5520 = call ptr @strerror(i32 noundef %5519) #10
  %5521 = call ptr @__errno_location() #11
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  %5523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5510, ptr noundef @.str.63, i32 noundef %5511, ptr noundef @.str.138, ptr noundef @.str.62, i32 noundef 364, ptr noundef %5514, ptr noundef %5517, ptr noundef %5520, i32 noundef %5522) #10
  br label %5541

5524:                                             ; preds = %5502, %5495
  %5525 = load i32, ptr %114, align 4, !tbaa !5
  %5526 = call ptr @__errno_location() #11
  store i32 %5525, ptr %5526, align 4, !tbaa !5
  %5527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5528 = load i32, ptr @test_count, align 4, !tbaa !5
  %5529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5530 = load i32, ptr %5529, align 4, !tbaa !5
  %5531 = call ptr @s2n_strerror(i32 noundef %5530, ptr noundef @.str.65)
  %5532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5533 = load i32, ptr %5532, align 4, !tbaa !5
  %5534 = call ptr @s2n_strerror_debug(i32 noundef %5533, ptr noundef @.str.65)
  %5535 = call ptr @__errno_location() #11
  %5536 = load i32, ptr %5535, align 4, !tbaa !5
  %5537 = call ptr @strerror(i32 noundef %5536) #10
  %5538 = call ptr @__errno_location() #11
  %5539 = load i32, ptr %5538, align 4, !tbaa !5
  %5540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5527, ptr noundef @.str.66, i32 noundef %5528, ptr noundef @.str.138, ptr noundef @.str.62, i32 noundef 364, ptr noundef %5531, ptr noundef %5534, ptr noundef %5537, i32 noundef %5539) #10
  br label %5541

5541:                                             ; preds = %5524, %5507
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %5542

5542:                                             ; preds = %5541
  br label %5543

5543:                                             ; preds = %5542
  call void @exit(i32 noundef 1) #12
  unreachable

5544:                                             ; No predecessors!
  br label %5545

5545:                                             ; preds = %5544
  br label %5546

5546:                                             ; preds = %5545, %5486
  br label %5547

5547:                                             ; preds = %5546
  br label %5548

5548:                                             ; preds = %5547
  br label %5549

5549:                                             ; preds = %5548
  br label %5550

5550:                                             ; preds = %5549
  br label %5551

5551:                                             ; preds = %5550
  %5552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5552, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5553 = call ptr @__errno_location() #11
  store i32 0, ptr %5553, align 4, !tbaa !5
  br label %5554

5554:                                             ; preds = %5551
  br label %5555

5555:                                             ; preds = %5554
  br label %5556

5556:                                             ; preds = %5555
  br label %5557

5557:                                             ; preds = %5556
  %5558 = call i32 @s2n_io_pair_close(ptr noundef %107)
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #10
  br label %5559

5559:                                             ; preds = %5557
  %5560 = load i32, ptr @test_count, align 4, !tbaa !5
  %5561 = add nsw i32 %5560, 1
  store i32 %5561, ptr @test_count, align 4, !tbaa !5
  %5562 = load ptr, ptr %89, align 8, !tbaa !9
  %5563 = call i32 @s2n_connection_wipe(ptr noundef %5562)
  %5564 = icmp eq i32 %5563, -1
  br i1 %5564, label %5565, label %5618

5565:                                             ; preds = %5559
  br label %5566

5566:                                             ; preds = %5565
  br label %5567

5567:                                             ; preds = %5566
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  %5568 = call ptr @__errno_location() #11
  %5569 = load i32, ptr %5568, align 4, !tbaa !5
  store i32 %5569, ptr %115, align 4, !tbaa !5
  %5570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5571 = call i32 @s2n_print_stacktrace(ptr noundef %5570)
  %5572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5573 = trunc i8 %5572 to i1
  br i1 %5573, label %5574, label %5596

5574:                                             ; preds = %5567
  %5575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5576 = call i32 @fileno(ptr noundef %5575) #10
  %5577 = call i32 @isatty(i32 noundef %5576) #10
  %5578 = icmp ne i32 %5577, 0
  br i1 %5578, label %5579, label %5596

5579:                                             ; preds = %5574
  %5580 = load i32, ptr %115, align 4, !tbaa !5
  %5581 = call ptr @__errno_location() #11
  store i32 %5580, ptr %5581, align 4, !tbaa !5
  %5582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5583 = load i32, ptr @test_count, align 4, !tbaa !5
  %5584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5585 = load i32, ptr %5584, align 4, !tbaa !5
  %5586 = call ptr @s2n_strerror(i32 noundef %5585, ptr noundef @.str.65)
  %5587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5588 = load i32, ptr %5587, align 4, !tbaa !5
  %5589 = call ptr @s2n_strerror_debug(i32 noundef %5588, ptr noundef @.str.65)
  %5590 = call ptr @__errno_location() #11
  %5591 = load i32, ptr %5590, align 4, !tbaa !5
  %5592 = call ptr @strerror(i32 noundef %5591) #10
  %5593 = call ptr @__errno_location() #11
  %5594 = load i32, ptr %5593, align 4, !tbaa !5
  %5595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5582, ptr noundef @.str.63, i32 noundef %5583, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 367, ptr noundef %5586, ptr noundef %5589, ptr noundef %5592, i32 noundef %5594) #10
  br label %5613

5596:                                             ; preds = %5574, %5567
  %5597 = load i32, ptr %115, align 4, !tbaa !5
  %5598 = call ptr @__errno_location() #11
  store i32 %5597, ptr %5598, align 4, !tbaa !5
  %5599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5600 = load i32, ptr @test_count, align 4, !tbaa !5
  %5601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5602 = load i32, ptr %5601, align 4, !tbaa !5
  %5603 = call ptr @s2n_strerror(i32 noundef %5602, ptr noundef @.str.65)
  %5604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5605 = load i32, ptr %5604, align 4, !tbaa !5
  %5606 = call ptr @s2n_strerror_debug(i32 noundef %5605, ptr noundef @.str.65)
  %5607 = call ptr @__errno_location() #11
  %5608 = load i32, ptr %5607, align 4, !tbaa !5
  %5609 = call ptr @strerror(i32 noundef %5608) #10
  %5610 = call ptr @__errno_location() #11
  %5611 = load i32, ptr %5610, align 4, !tbaa !5
  %5612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5599, ptr noundef @.str.66, i32 noundef %5600, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 367, ptr noundef %5603, ptr noundef %5606, ptr noundef %5609, i32 noundef %5611) #10
  br label %5613

5613:                                             ; preds = %5596, %5579
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %5614

5614:                                             ; preds = %5613
  br label %5615

5615:                                             ; preds = %5614
  call void @exit(i32 noundef 1) #12
  unreachable

5616:                                             ; No predecessors!
  br label %5617

5617:                                             ; preds = %5616
  br label %5618

5618:                                             ; preds = %5617, %5559
  br label %5619

5619:                                             ; preds = %5618
  br label %5620

5620:                                             ; preds = %5619
  br label %5621

5621:                                             ; preds = %5620
  %5622 = load i32, ptr @test_count, align 4, !tbaa !5
  %5623 = add nsw i32 %5622, 1
  store i32 %5623, ptr @test_count, align 4, !tbaa !5
  %5624 = load ptr, ptr %91, align 8, !tbaa !9
  %5625 = call i32 @s2n_connection_wipe(ptr noundef %5624)
  %5626 = icmp eq i32 %5625, -1
  br i1 %5626, label %5627, label %5680

5627:                                             ; preds = %5621
  br label %5628

5628:                                             ; preds = %5627
  br label %5629

5629:                                             ; preds = %5628
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  %5630 = call ptr @__errno_location() #11
  %5631 = load i32, ptr %5630, align 4, !tbaa !5
  store i32 %5631, ptr %116, align 4, !tbaa !5
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = call i32 @s2n_print_stacktrace(ptr noundef %5632)
  %5634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5635 = trunc i8 %5634 to i1
  br i1 %5635, label %5636, label %5658

5636:                                             ; preds = %5629
  %5637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5638 = call i32 @fileno(ptr noundef %5637) #10
  %5639 = call i32 @isatty(i32 noundef %5638) #10
  %5640 = icmp ne i32 %5639, 0
  br i1 %5640, label %5641, label %5658

5641:                                             ; preds = %5636
  %5642 = load i32, ptr %116, align 4, !tbaa !5
  %5643 = call ptr @__errno_location() #11
  store i32 %5642, ptr %5643, align 4, !tbaa !5
  %5644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5645 = load i32, ptr @test_count, align 4, !tbaa !5
  %5646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5647 = load i32, ptr %5646, align 4, !tbaa !5
  %5648 = call ptr @s2n_strerror(i32 noundef %5647, ptr noundef @.str.65)
  %5649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5650 = load i32, ptr %5649, align 4, !tbaa !5
  %5651 = call ptr @s2n_strerror_debug(i32 noundef %5650, ptr noundef @.str.65)
  %5652 = call ptr @__errno_location() #11
  %5653 = load i32, ptr %5652, align 4, !tbaa !5
  %5654 = call ptr @strerror(i32 noundef %5653) #10
  %5655 = call ptr @__errno_location() #11
  %5656 = load i32, ptr %5655, align 4, !tbaa !5
  %5657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5644, ptr noundef @.str.63, i32 noundef %5645, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 368, ptr noundef %5648, ptr noundef %5651, ptr noundef %5654, i32 noundef %5656) #10
  br label %5675

5658:                                             ; preds = %5636, %5629
  %5659 = load i32, ptr %116, align 4, !tbaa !5
  %5660 = call ptr @__errno_location() #11
  store i32 %5659, ptr %5660, align 4, !tbaa !5
  %5661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5662 = load i32, ptr @test_count, align 4, !tbaa !5
  %5663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5664 = load i32, ptr %5663, align 4, !tbaa !5
  %5665 = call ptr @s2n_strerror(i32 noundef %5664, ptr noundef @.str.65)
  %5666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5667 = load i32, ptr %5666, align 4, !tbaa !5
  %5668 = call ptr @s2n_strerror_debug(i32 noundef %5667, ptr noundef @.str.65)
  %5669 = call ptr @__errno_location() #11
  %5670 = load i32, ptr %5669, align 4, !tbaa !5
  %5671 = call ptr @strerror(i32 noundef %5670) #10
  %5672 = call ptr @__errno_location() #11
  %5673 = load i32, ptr %5672, align 4, !tbaa !5
  %5674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5661, ptr noundef @.str.66, i32 noundef %5662, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 368, ptr noundef %5665, ptr noundef %5668, ptr noundef %5671, i32 noundef %5673) #10
  br label %5675

5675:                                             ; preds = %5658, %5641
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %5676

5676:                                             ; preds = %5675
  br label %5677

5677:                                             ; preds = %5676
  call void @exit(i32 noundef 1) #12
  unreachable

5678:                                             ; No predecessors!
  br label %5679

5679:                                             ; preds = %5678
  br label %5680

5680:                                             ; preds = %5679, %5621
  br label %5681

5681:                                             ; preds = %5680
  br label %5682

5682:                                             ; preds = %5681
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #10
  call void @llvm.memset.p0.i64(ptr align 4 %117, i8 0, i64 8, i1 false)
  br label %5683

5683:                                             ; preds = %5682
  %5684 = load i32, ptr @test_count, align 4, !tbaa !5
  %5685 = add nsw i32 %5684, 1
  store i32 %5685, ptr @test_count, align 4, !tbaa !5
  %5686 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %117)
  %5687 = icmp eq i32 %5686, -1
  br i1 %5687, label %5688, label %5741

5688:                                             ; preds = %5683
  br label %5689

5689:                                             ; preds = %5688
  br label %5690

5690:                                             ; preds = %5689
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %5691 = call ptr @__errno_location() #11
  %5692 = load i32, ptr %5691, align 4, !tbaa !5
  store i32 %5692, ptr %118, align 4, !tbaa !5
  %5693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5694 = call i32 @s2n_print_stacktrace(ptr noundef %5693)
  %5695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5696 = trunc i8 %5695 to i1
  br i1 %5696, label %5697, label %5719

5697:                                             ; preds = %5690
  %5698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5699 = call i32 @fileno(ptr noundef %5698) #10
  %5700 = call i32 @isatty(i32 noundef %5699) #10
  %5701 = icmp ne i32 %5700, 0
  br i1 %5701, label %5702, label %5719

5702:                                             ; preds = %5697
  %5703 = load i32, ptr %118, align 4, !tbaa !5
  %5704 = call ptr @__errno_location() #11
  store i32 %5703, ptr %5704, align 4, !tbaa !5
  %5705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5706 = load i32, ptr @test_count, align 4, !tbaa !5
  %5707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call ptr @s2n_strerror(i32 noundef %5708, ptr noundef @.str.65)
  %5710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call ptr @s2n_strerror_debug(i32 noundef %5711, ptr noundef @.str.65)
  %5713 = call ptr @__errno_location() #11
  %5714 = load i32, ptr %5713, align 4, !tbaa !5
  %5715 = call ptr @strerror(i32 noundef %5714) #10
  %5716 = call ptr @__errno_location() #11
  %5717 = load i32, ptr %5716, align 4, !tbaa !5
  %5718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5705, ptr noundef @.str.63, i32 noundef %5706, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 374, ptr noundef %5709, ptr noundef %5712, ptr noundef %5715, i32 noundef %5717) #10
  br label %5736

5719:                                             ; preds = %5697, %5690
  %5720 = load i32, ptr %118, align 4, !tbaa !5
  %5721 = call ptr @__errno_location() #11
  store i32 %5720, ptr %5721, align 4, !tbaa !5
  %5722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5723 = load i32, ptr @test_count, align 4, !tbaa !5
  %5724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = call ptr @s2n_strerror(i32 noundef %5725, ptr noundef @.str.65)
  %5727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = call ptr @s2n_strerror_debug(i32 noundef %5728, ptr noundef @.str.65)
  %5730 = call ptr @__errno_location() #11
  %5731 = load i32, ptr %5730, align 4, !tbaa !5
  %5732 = call ptr @strerror(i32 noundef %5731) #10
  %5733 = call ptr @__errno_location() #11
  %5734 = load i32, ptr %5733, align 4, !tbaa !5
  %5735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5722, ptr noundef @.str.66, i32 noundef %5723, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 374, ptr noundef %5726, ptr noundef %5729, ptr noundef %5732, i32 noundef %5734) #10
  br label %5736

5736:                                             ; preds = %5719, %5702
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %5737

5737:                                             ; preds = %5736
  br label %5738

5738:                                             ; preds = %5737
  call void @exit(i32 noundef 1) #12
  unreachable

5739:                                             ; No predecessors!
  br label %5740

5740:                                             ; preds = %5739
  br label %5741

5741:                                             ; preds = %5740, %5683
  br label %5742

5742:                                             ; preds = %5741
  br label %5743

5743:                                             ; preds = %5742
  br label %5744

5744:                                             ; preds = %5743
  %5745 = load i32, ptr @test_count, align 4, !tbaa !5
  %5746 = add nsw i32 %5745, 1
  store i32 %5746, ptr @test_count, align 4, !tbaa !5
  %5747 = load ptr, ptr %89, align 8, !tbaa !9
  %5748 = load ptr, ptr %91, align 8, !tbaa !9
  %5749 = call i32 @s2n_connections_set_io_pair(ptr noundef %5747, ptr noundef %5748, ptr noundef %117)
  %5750 = icmp eq i32 %5749, -1
  br i1 %5750, label %5751, label %5804

5751:                                             ; preds = %5744
  br label %5752

5752:                                             ; preds = %5751
  br label %5753

5753:                                             ; preds = %5752
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  %5754 = call ptr @__errno_location() #11
  %5755 = load i32, ptr %5754, align 4, !tbaa !5
  store i32 %5755, ptr %119, align 4, !tbaa !5
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = call i32 @s2n_print_stacktrace(ptr noundef %5756)
  %5758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5759 = trunc i8 %5758 to i1
  br i1 %5759, label %5760, label %5782

5760:                                             ; preds = %5753
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = call i32 @fileno(ptr noundef %5761) #10
  %5763 = call i32 @isatty(i32 noundef %5762) #10
  %5764 = icmp ne i32 %5763, 0
  br i1 %5764, label %5765, label %5782

5765:                                             ; preds = %5760
  %5766 = load i32, ptr %119, align 4, !tbaa !5
  %5767 = call ptr @__errno_location() #11
  store i32 %5766, ptr %5767, align 4, !tbaa !5
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = load i32, ptr @test_count, align 4, !tbaa !5
  %5770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror(i32 noundef %5771, ptr noundef @.str.65)
  %5773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  %5775 = call ptr @s2n_strerror_debug(i32 noundef %5774, ptr noundef @.str.65)
  %5776 = call ptr @__errno_location() #11
  %5777 = load i32, ptr %5776, align 4, !tbaa !5
  %5778 = call ptr @strerror(i32 noundef %5777) #10
  %5779 = call ptr @__errno_location() #11
  %5780 = load i32, ptr %5779, align 4, !tbaa !5
  %5781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5768, ptr noundef @.str.63, i32 noundef %5769, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 375, ptr noundef %5772, ptr noundef %5775, ptr noundef %5778, i32 noundef %5780) #10
  br label %5799

5782:                                             ; preds = %5760, %5753
  %5783 = load i32, ptr %119, align 4, !tbaa !5
  %5784 = call ptr @__errno_location() #11
  store i32 %5783, ptr %5784, align 4, !tbaa !5
  %5785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5786 = load i32, ptr @test_count, align 4, !tbaa !5
  %5787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call ptr @s2n_strerror(i32 noundef %5788, ptr noundef @.str.65)
  %5790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5791 = load i32, ptr %5790, align 4, !tbaa !5
  %5792 = call ptr @s2n_strerror_debug(i32 noundef %5791, ptr noundef @.str.65)
  %5793 = call ptr @__errno_location() #11
  %5794 = load i32, ptr %5793, align 4, !tbaa !5
  %5795 = call ptr @strerror(i32 noundef %5794) #10
  %5796 = call ptr @__errno_location() #11
  %5797 = load i32, ptr %5796, align 4, !tbaa !5
  %5798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5785, ptr noundef @.str.66, i32 noundef %5786, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 375, ptr noundef %5789, ptr noundef %5792, ptr noundef %5795, i32 noundef %5797) #10
  br label %5799

5799:                                             ; preds = %5782, %5765
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %5800

5800:                                             ; preds = %5799
  br label %5801

5801:                                             ; preds = %5800
  call void @exit(i32 noundef 1) #12
  unreachable

5802:                                             ; No predecessors!
  br label %5803

5803:                                             ; preds = %5802
  br label %5804

5804:                                             ; preds = %5803, %5744
  br label %5805

5805:                                             ; preds = %5804
  br label %5806

5806:                                             ; preds = %5805
  br label %5807

5807:                                             ; preds = %5806
  %5808 = load i32, ptr @test_count, align 4, !tbaa !5
  %5809 = add nsw i32 %5808, 1
  store i32 %5809, ptr @test_count, align 4, !tbaa !5
  %5810 = load ptr, ptr %89, align 8, !tbaa !9
  %5811 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 0
  %5812 = load ptr, ptr %5811, align 8, !tbaa !34
  %5813 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 1
  %5814 = load i32, ptr %5813, align 8, !tbaa !35
  %5815 = zext i32 %5814 to i64
  %5816 = call i32 @s2n_connection_set_session(ptr noundef %5810, ptr noundef %5812, i64 noundef %5815)
  %5817 = icmp eq i32 %5816, -1
  br i1 %5817, label %5818, label %5871

5818:                                             ; preds = %5807
  br label %5819

5819:                                             ; preds = %5818
  br label %5820

5820:                                             ; preds = %5819
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #10
  %5821 = call ptr @__errno_location() #11
  %5822 = load i32, ptr %5821, align 4, !tbaa !5
  store i32 %5822, ptr %120, align 4, !tbaa !5
  %5823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5824 = call i32 @s2n_print_stacktrace(ptr noundef %5823)
  %5825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5826 = trunc i8 %5825 to i1
  br i1 %5826, label %5827, label %5849

5827:                                             ; preds = %5820
  %5828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5829 = call i32 @fileno(ptr noundef %5828) #10
  %5830 = call i32 @isatty(i32 noundef %5829) #10
  %5831 = icmp ne i32 %5830, 0
  br i1 %5831, label %5832, label %5849

5832:                                             ; preds = %5827
  %5833 = load i32, ptr %120, align 4, !tbaa !5
  %5834 = call ptr @__errno_location() #11
  store i32 %5833, ptr %5834, align 4, !tbaa !5
  %5835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5836 = load i32, ptr @test_count, align 4, !tbaa !5
  %5837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5838 = load i32, ptr %5837, align 4, !tbaa !5
  %5839 = call ptr @s2n_strerror(i32 noundef %5838, ptr noundef @.str.65)
  %5840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5841 = load i32, ptr %5840, align 4, !tbaa !5
  %5842 = call ptr @s2n_strerror_debug(i32 noundef %5841, ptr noundef @.str.65)
  %5843 = call ptr @__errno_location() #11
  %5844 = load i32, ptr %5843, align 4, !tbaa !5
  %5845 = call ptr @strerror(i32 noundef %5844) #10
  %5846 = call ptr @__errno_location() #11
  %5847 = load i32, ptr %5846, align 4, !tbaa !5
  %5848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5835, ptr noundef @.str.63, i32 noundef %5836, ptr noundef @.str.134, ptr noundef @.str.62, i32 noundef 378, ptr noundef %5839, ptr noundef %5842, ptr noundef %5845, i32 noundef %5847) #10
  br label %5866

5849:                                             ; preds = %5827, %5820
  %5850 = load i32, ptr %120, align 4, !tbaa !5
  %5851 = call ptr @__errno_location() #11
  store i32 %5850, ptr %5851, align 4, !tbaa !5
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = load i32, ptr @test_count, align 4, !tbaa !5
  %5854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5855 = load i32, ptr %5854, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror(i32 noundef %5855, ptr noundef @.str.65)
  %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_debug(i32 noundef %5858, ptr noundef @.str.65)
  %5860 = call ptr @__errno_location() #11
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  %5862 = call ptr @strerror(i32 noundef %5861) #10
  %5863 = call ptr @__errno_location() #11
  %5864 = load i32, ptr %5863, align 4, !tbaa !5
  %5865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5852, ptr noundef @.str.66, i32 noundef %5853, ptr noundef @.str.134, ptr noundef @.str.62, i32 noundef 378, ptr noundef %5856, ptr noundef %5859, ptr noundef %5862, i32 noundef %5864) #10
  br label %5866

5866:                                             ; preds = %5849, %5832
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %5867

5867:                                             ; preds = %5866
  br label %5868

5868:                                             ; preds = %5867
  call void @exit(i32 noundef 1) #12
  unreachable

5869:                                             ; No predecessors!
  br label %5870

5870:                                             ; preds = %5869
  br label %5871

5871:                                             ; preds = %5870, %5807
  br label %5872

5872:                                             ; preds = %5871
  br label %5873

5873:                                             ; preds = %5872
  br label %5874

5874:                                             ; preds = %5873
  %5875 = load i32, ptr @test_count, align 4, !tbaa !5
  %5876 = add nsw i32 %5875, 1
  store i32 %5876, ptr @test_count, align 4, !tbaa !5
  %5877 = load ptr, ptr %89, align 8, !tbaa !9
  %5878 = getelementptr inbounds %struct.s2n_connection, ptr %5877, i32 0, i32 27
  %5879 = load ptr, ptr %5878, align 8, !tbaa !60
  %5880 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5879, i32 0, i32 0
  %5881 = load ptr, ptr %5880, align 8, !tbaa !61
  %5882 = icmp eq ptr %5881, @s2n_rsa_with_aes_256_cbc_sha
  br i1 %5882, label %5883, label %5936

5883:                                             ; preds = %5874
  br label %5884

5884:                                             ; preds = %5883
  br label %5885

5885:                                             ; preds = %5884
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #10
  %5886 = call ptr @__errno_location() #11
  %5887 = load i32, ptr %5886, align 4, !tbaa !5
  store i32 %5887, ptr %121, align 4, !tbaa !5
  %5888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5889 = call i32 @s2n_print_stacktrace(ptr noundef %5888)
  %5890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5891 = trunc i8 %5890 to i1
  br i1 %5891, label %5892, label %5914

5892:                                             ; preds = %5885
  %5893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5894 = call i32 @fileno(ptr noundef %5893) #10
  %5895 = call i32 @isatty(i32 noundef %5894) #10
  %5896 = icmp ne i32 %5895, 0
  br i1 %5896, label %5897, label %5914

5897:                                             ; preds = %5892
  %5898 = load i32, ptr %121, align 4, !tbaa !5
  %5899 = call ptr @__errno_location() #11
  store i32 %5898, ptr %5899, align 4, !tbaa !5
  %5900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5901 = load i32, ptr @test_count, align 4, !tbaa !5
  %5902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5903 = load i32, ptr %5902, align 4, !tbaa !5
  %5904 = call ptr @s2n_strerror(i32 noundef %5903, ptr noundef @.str.65)
  %5905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5906 = load i32, ptr %5905, align 4, !tbaa !5
  %5907 = call ptr @s2n_strerror_debug(i32 noundef %5906, ptr noundef @.str.65)
  %5908 = call ptr @__errno_location() #11
  %5909 = load i32, ptr %5908, align 4, !tbaa !5
  %5910 = call ptr @strerror(i32 noundef %5909) #10
  %5911 = call ptr @__errno_location() #11
  %5912 = load i32, ptr %5911, align 4, !tbaa !5
  %5913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5900, ptr noundef @.str.63, i32 noundef %5901, ptr noundef @.str.139, ptr noundef @.str.62, i32 noundef 381, ptr noundef %5904, ptr noundef %5907, ptr noundef %5910, i32 noundef %5912) #10
  br label %5931

5914:                                             ; preds = %5892, %5885
  %5915 = load i32, ptr %121, align 4, !tbaa !5
  %5916 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %5925 = call ptr @__errno_location() #11
  %5926 = load i32, ptr %5925, align 4, !tbaa !5
  %5927 = call ptr @strerror(i32 noundef %5926) #10
  %5928 = call ptr @__errno_location() #11
  %5929 = load i32, ptr %5928, align 4, !tbaa !5
  %5930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5917, ptr noundef @.str.66, i32 noundef %5918, ptr noundef @.str.139, ptr noundef @.str.62, i32 noundef 381, ptr noundef %5921, ptr noundef %5924, ptr noundef %5927, i32 noundef %5929) #10
  br label %5931

5931:                                             ; preds = %5914, %5897
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %5932

5932:                                             ; preds = %5931
  br label %5933

5933:                                             ; preds = %5932
  call void @exit(i32 noundef 1) #12
  unreachable

5934:                                             ; No predecessors!
  br label %5935

5935:                                             ; preds = %5934
  br label %5936

5936:                                             ; preds = %5935, %5874
  br label %5937

5937:                                             ; preds = %5936
  br label %5938

5938:                                             ; preds = %5937
  %5939 = load ptr, ptr %89, align 8, !tbaa !9
  %5940 = getelementptr inbounds %struct.s2n_connection, ptr %5939, i32 0, i32 27
  %5941 = load ptr, ptr %5940, align 8, !tbaa !60
  %5942 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5941, i32 0, i32 0
  store ptr @s2n_rsa_with_aes_256_cbc_sha, ptr %5942, align 8, !tbaa !61
  br label %5943

5943:                                             ; preds = %5938
  %5944 = load i32, ptr @test_count, align 4, !tbaa !5
  %5945 = add nsw i32 %5944, 1
  store i32 %5945, ptr @test_count, align 4, !tbaa !5
  %5946 = load ptr, ptr %89, align 8, !tbaa !9
  %5947 = call i32 @s2n_connection_set_blinding(ptr noundef %5946, i32 noundef 1)
  %5948 = icmp eq i32 %5947, -1
  br i1 %5948, label %5949, label %6002

5949:                                             ; preds = %5943
  br label %5950

5950:                                             ; preds = %5949
  br label %5951

5951:                                             ; preds = %5950
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %5952 = call ptr @__errno_location() #11
  %5953 = load i32, ptr %5952, align 4, !tbaa !5
  store i32 %5953, ptr %122, align 4, !tbaa !5
  %5954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5955 = call i32 @s2n_print_stacktrace(ptr noundef %5954)
  %5956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5957 = trunc i8 %5956 to i1
  br i1 %5957, label %5958, label %5980

5958:                                             ; preds = %5951
  %5959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5960 = call i32 @fileno(ptr noundef %5959) #10
  %5961 = call i32 @isatty(i32 noundef %5960) #10
  %5962 = icmp ne i32 %5961, 0
  br i1 %5962, label %5963, label %5980

5963:                                             ; preds = %5958
  %5964 = load i32, ptr %122, align 4, !tbaa !5
  %5965 = call ptr @__errno_location() #11
  store i32 %5964, ptr %5965, align 4, !tbaa !5
  %5966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5967 = load i32, ptr @test_count, align 4, !tbaa !5
  %5968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5969 = load i32, ptr %5968, align 4, !tbaa !5
  %5970 = call ptr @s2n_strerror(i32 noundef %5969, ptr noundef @.str.65)
  %5971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5972 = load i32, ptr %5971, align 4, !tbaa !5
  %5973 = call ptr @s2n_strerror_debug(i32 noundef %5972, ptr noundef @.str.65)
  %5974 = call ptr @__errno_location() #11
  %5975 = load i32, ptr %5974, align 4, !tbaa !5
  %5976 = call ptr @strerror(i32 noundef %5975) #10
  %5977 = call ptr @__errno_location() #11
  %5978 = load i32, ptr %5977, align 4, !tbaa !5
  %5979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5966, ptr noundef @.str.63, i32 noundef %5967, ptr noundef @.str.135, ptr noundef @.str.62, i32 noundef 385, ptr noundef %5970, ptr noundef %5973, ptr noundef %5976, i32 noundef %5978) #10
  br label %5997

5980:                                             ; preds = %5958, %5951
  %5981 = load i32, ptr %122, align 4, !tbaa !5
  %5982 = call ptr @__errno_location() #11
  store i32 %5981, ptr %5982, align 4, !tbaa !5
  %5983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5984 = load i32, ptr @test_count, align 4, !tbaa !5
  %5985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5986 = load i32, ptr %5985, align 4, !tbaa !5
  %5987 = call ptr @s2n_strerror(i32 noundef %5986, ptr noundef @.str.65)
  %5988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5989 = load i32, ptr %5988, align 4, !tbaa !5
  %5990 = call ptr @s2n_strerror_debug(i32 noundef %5989, ptr noundef @.str.65)
  %5991 = call ptr @__errno_location() #11
  %5992 = load i32, ptr %5991, align 4, !tbaa !5
  %5993 = call ptr @strerror(i32 noundef %5992) #10
  %5994 = call ptr @__errno_location() #11
  %5995 = load i32, ptr %5994, align 4, !tbaa !5
  %5996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5983, ptr noundef @.str.66, i32 noundef %5984, ptr noundef @.str.135, ptr noundef @.str.62, i32 noundef 385, ptr noundef %5987, ptr noundef %5990, ptr noundef %5993, i32 noundef %5995) #10
  br label %5997

5997:                                             ; preds = %5980, %5963
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %5998

5998:                                             ; preds = %5997
  br label %5999

5999:                                             ; preds = %5998
  call void @exit(i32 noundef 1) #12
  unreachable

6000:                                             ; No predecessors!
  br label %6001

6001:                                             ; preds = %6000
  br label %6002

6002:                                             ; preds = %6001, %5943
  br label %6003

6003:                                             ; preds = %6002
  br label %6004

6004:                                             ; preds = %6003
  br label %6005

6005:                                             ; preds = %6004
  br label %6006

6006:                                             ; preds = %6005
  br label %6007

6007:                                             ; preds = %6006
  %6008 = load i32, ptr @test_count, align 4, !tbaa !5
  %6009 = add nsw i32 %6008, 1
  store i32 %6009, ptr @test_count, align 4, !tbaa !5
  %6010 = load ptr, ptr %91, align 8, !tbaa !9
  %6011 = load ptr, ptr %89, align 8, !tbaa !9
  %6012 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6010, ptr noundef %6011)
  %6013 = icmp eq i32 %6012, -1
  br i1 %6013, label %6067, label %6014

6014:                                             ; preds = %6007
  br label %6015

6015:                                             ; preds = %6014
  br label %6016

6016:                                             ; preds = %6015
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  %6017 = call ptr @__errno_location() #11
  %6018 = load i32, ptr %6017, align 4, !tbaa !5
  store i32 %6018, ptr %123, align 4, !tbaa !5
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = call i32 @s2n_print_stacktrace(ptr noundef %6019)
  %6021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6022 = trunc i8 %6021 to i1
  br i1 %6022, label %6023, label %6045

6023:                                             ; preds = %6016
  %6024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6025 = call i32 @fileno(ptr noundef %6024) #10
  %6026 = call i32 @isatty(i32 noundef %6025) #10
  %6027 = icmp ne i32 %6026, 0
  br i1 %6027, label %6028, label %6045

6028:                                             ; preds = %6023
  %6029 = load i32, ptr %123, align 4, !tbaa !5
  %6030 = call ptr @__errno_location() #11
  store i32 %6029, ptr %6030, align 4, !tbaa !5
  %6031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6032 = load i32, ptr @test_count, align 4, !tbaa !5
  %6033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6034 = load i32, ptr %6033, align 4, !tbaa !5
  %6035 = call ptr @s2n_strerror(i32 noundef %6034, ptr noundef @.str.65)
  %6036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6037 = load i32, ptr %6036, align 4, !tbaa !5
  %6038 = call ptr @s2n_strerror_debug(i32 noundef %6037, ptr noundef @.str.65)
  %6039 = call ptr @__errno_location() #11
  %6040 = load i32, ptr %6039, align 4, !tbaa !5
  %6041 = call ptr @strerror(i32 noundef %6040) #10
  %6042 = call ptr @__errno_location() #11
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6031, ptr noundef @.str.63, i32 noundef %6032, ptr noundef @.str.136, ptr noundef @.str.62, i32 noundef 387, ptr noundef %6035, ptr noundef %6038, ptr noundef %6041, i32 noundef %6043) #10
  br label %6062

6045:                                             ; preds = %6023, %6016
  %6046 = load i32, ptr %123, align 4, !tbaa !5
  %6047 = call ptr @__errno_location() #11
  store i32 %6046, ptr %6047, align 4, !tbaa !5
  %6048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6049 = load i32, ptr @test_count, align 4, !tbaa !5
  %6050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6051 = load i32, ptr %6050, align 4, !tbaa !5
  %6052 = call ptr @s2n_strerror(i32 noundef %6051, ptr noundef @.str.65)
  %6053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6054 = load i32, ptr %6053, align 4, !tbaa !5
  %6055 = call ptr @s2n_strerror_debug(i32 noundef %6054, ptr noundef @.str.65)
  %6056 = call ptr @__errno_location() #11
  %6057 = load i32, ptr %6056, align 4, !tbaa !5
  %6058 = call ptr @strerror(i32 noundef %6057) #10
  %6059 = call ptr @__errno_location() #11
  %6060 = load i32, ptr %6059, align 4, !tbaa !5
  %6061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6048, ptr noundef @.str.66, i32 noundef %6049, ptr noundef @.str.136, ptr noundef @.str.62, i32 noundef 387, ptr noundef %6052, ptr noundef %6055, ptr noundef %6058, i32 noundef %6060) #10
  br label %6062

6062:                                             ; preds = %6045, %6028
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %6063

6063:                                             ; preds = %6062
  br label %6064

6064:                                             ; preds = %6063
  call void @exit(i32 noundef 1) #12
  unreachable

6065:                                             ; No predecessors!
  br label %6066

6066:                                             ; preds = %6065
  br label %6067

6067:                                             ; preds = %6066, %6007
  br label %6068

6068:                                             ; preds = %6067
  br label %6069

6069:                                             ; preds = %6068
  br label %6070

6070:                                             ; preds = %6069
  %6071 = load i32, ptr @test_count, align 4, !tbaa !5
  %6072 = add nsw i32 %6071, 1
  store i32 %6072, ptr @test_count, align 4, !tbaa !5
  %6073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6074 = load i32, ptr %6073, align 4, !tbaa !5
  %6075 = icmp eq i32 %6074, 335544322
  br i1 %6075, label %6129, label %6076

6076:                                             ; preds = %6070
  br label %6077

6077:                                             ; preds = %6076
  br label %6078

6078:                                             ; preds = %6077
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  %6079 = call ptr @__errno_location() #11
  %6080 = load i32, ptr %6079, align 4, !tbaa !5
  store i32 %6080, ptr %124, align 4, !tbaa !5
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = call i32 @s2n_print_stacktrace(ptr noundef %6081)
  %6083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6084 = trunc i8 %6083 to i1
  br i1 %6084, label %6085, label %6107

6085:                                             ; preds = %6078
  %6086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6087 = call i32 @fileno(ptr noundef %6086) #10
  %6088 = call i32 @isatty(i32 noundef %6087) #10
  %6089 = icmp ne i32 %6088, 0
  br i1 %6089, label %6090, label %6107

6090:                                             ; preds = %6085
  %6091 = load i32, ptr %124, align 4, !tbaa !5
  %6092 = call ptr @__errno_location() #11
  store i32 %6091, ptr %6092, align 4, !tbaa !5
  %6093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6094 = load i32, ptr @test_count, align 4, !tbaa !5
  %6095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6096 = load i32, ptr %6095, align 4, !tbaa !5
  %6097 = call ptr @s2n_strerror(i32 noundef %6096, ptr noundef @.str.65)
  %6098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6099 = load i32, ptr %6098, align 4, !tbaa !5
  %6100 = call ptr @s2n_strerror_debug(i32 noundef %6099, ptr noundef @.str.65)
  %6101 = call ptr @__errno_location() #11
  %6102 = load i32, ptr %6101, align 4, !tbaa !5
  %6103 = call ptr @strerror(i32 noundef %6102) #10
  %6104 = call ptr @__errno_location() #11
  %6105 = load i32, ptr %6104, align 4, !tbaa !5
  %6106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6093, ptr noundef @.str.63, i32 noundef %6094, ptr noundef @.str.137, ptr noundef @.str.62, i32 noundef 387, ptr noundef %6097, ptr noundef %6100, ptr noundef %6103, i32 noundef %6105) #10
  br label %6124

6107:                                             ; preds = %6085, %6078
  %6108 = load i32, ptr %124, align 4, !tbaa !5
  %6109 = call ptr @__errno_location() #11
  store i32 %6108, ptr %6109, align 4, !tbaa !5
  %6110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6111 = load i32, ptr @test_count, align 4, !tbaa !5
  %6112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6113 = load i32, ptr %6112, align 4, !tbaa !5
  %6114 = call ptr @s2n_strerror(i32 noundef %6113, ptr noundef @.str.65)
  %6115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6116 = load i32, ptr %6115, align 4, !tbaa !5
  %6117 = call ptr @s2n_strerror_debug(i32 noundef %6116, ptr noundef @.str.65)
  %6118 = call ptr @__errno_location() #11
  %6119 = load i32, ptr %6118, align 4, !tbaa !5
  %6120 = call ptr @strerror(i32 noundef %6119) #10
  %6121 = call ptr @__errno_location() #11
  %6122 = load i32, ptr %6121, align 4, !tbaa !5
  %6123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6110, ptr noundef @.str.66, i32 noundef %6111, ptr noundef @.str.137, ptr noundef @.str.62, i32 noundef 387, ptr noundef %6114, ptr noundef %6117, ptr noundef %6120, i32 noundef %6122) #10
  br label %6124

6124:                                             ; preds = %6107, %6090
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  br label %6125

6125:                                             ; preds = %6124
  br label %6126

6126:                                             ; preds = %6125
  call void @exit(i32 noundef 1) #12
  unreachable

6127:                                             ; No predecessors!
  br label %6128

6128:                                             ; preds = %6127
  br label %6129

6129:                                             ; preds = %6128, %6070
  br label %6130

6130:                                             ; preds = %6129
  br label %6131

6131:                                             ; preds = %6130
  br label %6132

6132:                                             ; preds = %6131
  %6133 = load i32, ptr @test_count, align 4, !tbaa !5
  %6134 = add nsw i32 %6133, 1
  store i32 %6134, ptr @test_count, align 4, !tbaa !5
  %6135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6136 = load i32, ptr %6135, align 4, !tbaa !5
  %6137 = call ptr @s2n_strerror_debug(i32 noundef %6136, ptr noundef @.str.65)
  %6138 = icmp eq ptr %6137, null
  br i1 %6138, label %6139, label %6192

6139:                                             ; preds = %6132
  br label %6140

6140:                                             ; preds = %6139
  br label %6141

6141:                                             ; preds = %6140
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %6142 = call ptr @__errno_location() #11
  %6143 = load i32, ptr %6142, align 4, !tbaa !5
  store i32 %6143, ptr %125, align 4, !tbaa !5
  %6144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6145 = call i32 @s2n_print_stacktrace(ptr noundef %6144)
  %6146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6147 = trunc i8 %6146 to i1
  br i1 %6147, label %6148, label %6170

6148:                                             ; preds = %6141
  %6149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6150 = call i32 @fileno(ptr noundef %6149) #10
  %6151 = call i32 @isatty(i32 noundef %6150) #10
  %6152 = icmp ne i32 %6151, 0
  br i1 %6152, label %6153, label %6170

6153:                                             ; preds = %6148
  %6154 = load i32, ptr %125, align 4, !tbaa !5
  %6155 = call ptr @__errno_location() #11
  store i32 %6154, ptr %6155, align 4, !tbaa !5
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = load i32, ptr @test_count, align 4, !tbaa !5
  %6158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6159 = load i32, ptr %6158, align 4, !tbaa !5
  %6160 = call ptr @s2n_strerror(i32 noundef %6159, ptr noundef @.str.65)
  %6161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6162 = load i32, ptr %6161, align 4, !tbaa !5
  %6163 = call ptr @s2n_strerror_debug(i32 noundef %6162, ptr noundef @.str.65)
  %6164 = call ptr @__errno_location() #11
  %6165 = load i32, ptr %6164, align 4, !tbaa !5
  %6166 = call ptr @strerror(i32 noundef %6165) #10
  %6167 = call ptr @__errno_location() #11
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6156, ptr noundef @.str.63, i32 noundef %6157, ptr noundef @.str.138, ptr noundef @.str.62, i32 noundef 387, ptr noundef %6160, ptr noundef %6163, ptr noundef %6166, i32 noundef %6168) #10
  br label %6187

6170:                                             ; preds = %6148, %6141
  %6171 = load i32, ptr %125, align 4, !tbaa !5
  %6172 = call ptr @__errno_location() #11
  store i32 %6171, ptr %6172, align 4, !tbaa !5
  %6173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6174 = load i32, ptr @test_count, align 4, !tbaa !5
  %6175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6176 = load i32, ptr %6175, align 4, !tbaa !5
  %6177 = call ptr @s2n_strerror(i32 noundef %6176, ptr noundef @.str.65)
  %6178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6179 = load i32, ptr %6178, align 4, !tbaa !5
  %6180 = call ptr @s2n_strerror_debug(i32 noundef %6179, ptr noundef @.str.65)
  %6181 = call ptr @__errno_location() #11
  %6182 = load i32, ptr %6181, align 4, !tbaa !5
  %6183 = call ptr @strerror(i32 noundef %6182) #10
  %6184 = call ptr @__errno_location() #11
  %6185 = load i32, ptr %6184, align 4, !tbaa !5
  %6186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6173, ptr noundef @.str.66, i32 noundef %6174, ptr noundef @.str.138, ptr noundef @.str.62, i32 noundef 387, ptr noundef %6177, ptr noundef %6180, ptr noundef %6183, i32 noundef %6185) #10
  br label %6187

6187:                                             ; preds = %6170, %6153
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #10
  br label %6188

6188:                                             ; preds = %6187
  br label %6189

6189:                                             ; preds = %6188
  call void @exit(i32 noundef 1) #12
  unreachable

6190:                                             ; No predecessors!
  br label %6191

6191:                                             ; preds = %6190
  br label %6192

6192:                                             ; preds = %6191, %6132
  br label %6193

6193:                                             ; preds = %6192
  br label %6194

6194:                                             ; preds = %6193
  br label %6195

6195:                                             ; preds = %6194
  br label %6196

6196:                                             ; preds = %6195
  br label %6197

6197:                                             ; preds = %6196
  %6198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6198, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6199 = call ptr @__errno_location() #11
  store i32 0, ptr %6199, align 4, !tbaa !5
  br label %6200

6200:                                             ; preds = %6197
  br label %6201

6201:                                             ; preds = %6200
  br label %6202

6202:                                             ; preds = %6201
  br label %6203

6203:                                             ; preds = %6202
  %6204 = call i32 @s2n_io_pair_close(ptr noundef %117)
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #10
  br label %6205

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

6211:                                             ; preds = %6205
  br label %6212

6212:                                             ; preds = %6211
  br label %6213

6213:                                             ; preds = %6212
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %6214 = call ptr @__errno_location() #11
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  store i32 %6215, ptr %126, 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) #10
  %6223 = call i32 @isatty(i32 noundef %6222) #10
  %6224 = icmp ne i32 %6223, 0
  br i1 %6224, label %6225, label %6242

6225:                                             ; preds = %6220
  %6226 = load i32, ptr %126, align 4, !tbaa !5
  %6227 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %6236 = call ptr @__errno_location() #11
  %6237 = load i32, ptr %6236, align 4, !tbaa !5
  %6238 = call ptr @strerror(i32 noundef %6237) #10
  %6239 = call ptr @__errno_location() #11
  %6240 = load i32, ptr %6239, align 4, !tbaa !5
  %6241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6228, ptr noundef @.str.63, i32 noundef %6229, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 390, ptr noundef %6232, ptr noundef %6235, ptr noundef %6238, i32 noundef %6240) #10
  br label %6259

6242:                                             ; preds = %6220, %6213
  %6243 = load i32, ptr %126, align 4, !tbaa !5
  %6244 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %6253 = call ptr @__errno_location() #11
  %6254 = load i32, ptr %6253, align 4, !tbaa !5
  %6255 = call ptr @strerror(i32 noundef %6254) #10
  %6256 = call ptr @__errno_location() #11
  %6257 = load i32, ptr %6256, align 4, !tbaa !5
  %6258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6245, ptr noundef @.str.66, i32 noundef %6246, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 390, ptr noundef %6249, ptr noundef %6252, ptr noundef %6255, i32 noundef %6257) #10
  br label %6259

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

6260:                                             ; preds = %6259
  br label %6261

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

6262:                                             ; No predecessors!
  br label %6263

6263:                                             ; preds = %6262
  br label %6264

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

6265:                                             ; preds = %6264
  br label %6266

6266:                                             ; preds = %6265
  br label %6267

6267:                                             ; preds = %6266
  %6268 = load i32, ptr @test_count, align 4, !tbaa !5
  %6269 = add nsw i32 %6268, 1
  store i32 %6269, ptr @test_count, align 4, !tbaa !5
  %6270 = load ptr, ptr %91, align 8, !tbaa !9
  %6271 = call i32 @s2n_connection_wipe(ptr noundef %6270)
  %6272 = icmp eq i32 %6271, -1
  br i1 %6272, label %6273, label %6326

6273:                                             ; preds = %6267
  br label %6274

6274:                                             ; preds = %6273
  br label %6275

6275:                                             ; preds = %6274
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %6276 = call ptr @__errno_location() #11
  %6277 = load i32, ptr %6276, align 4, !tbaa !5
  store i32 %6277, ptr %127, 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) #10
  %6285 = call i32 @isatty(i32 noundef %6284) #10
  %6286 = icmp ne i32 %6285, 0
  br i1 %6286, label %6287, label %6304

6287:                                             ; preds = %6282
  %6288 = load i32, ptr %127, align 4, !tbaa !5
  %6289 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %6298 = call ptr @__errno_location() #11
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @strerror(i32 noundef %6299) #10
  %6301 = call ptr @__errno_location() #11
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6290, ptr noundef @.str.63, i32 noundef %6291, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 391, ptr noundef %6294, ptr noundef %6297, ptr noundef %6300, i32 noundef %6302) #10
  br label %6321

6304:                                             ; preds = %6282, %6275
  %6305 = load i32, ptr %127, align 4, !tbaa !5
  %6306 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %6315 = call ptr @__errno_location() #11
  %6316 = load i32, ptr %6315, align 4, !tbaa !5
  %6317 = call ptr @strerror(i32 noundef %6316) #10
  %6318 = call ptr @__errno_location() #11
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6307, ptr noundef @.str.66, i32 noundef %6308, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 391, ptr noundef %6311, ptr noundef %6314, ptr noundef %6317, i32 noundef %6319) #10
  br label %6321

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

6322:                                             ; preds = %6321
  br label %6323

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

6324:                                             ; No predecessors!
  br label %6325

6325:                                             ; preds = %6324
  br label %6326

6326:                                             ; preds = %6325, %6267
  br label %6327

6327:                                             ; preds = %6326
  br label %6328

6328:                                             ; preds = %6327
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #10
  call void @llvm.memset.p0.i64(ptr align 4 %128, i8 0, i64 8, i1 false)
  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 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %128)
  %6333 = icmp eq i32 %6332, -1
  br i1 %6333, label %6334, label %6387

6334:                                             ; preds = %6329
  br label %6335

6335:                                             ; preds = %6334
  br label %6336

6336:                                             ; preds = %6335
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %6337 = call ptr @__errno_location() #11
  %6338 = load i32, ptr %6337, align 4, !tbaa !5
  store i32 %6338, ptr %129, align 4, !tbaa !5
  %6339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6340 = call i32 @s2n_print_stacktrace(ptr noundef %6339)
  %6341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6342 = trunc i8 %6341 to i1
  br i1 %6342, label %6343, label %6365

6343:                                             ; preds = %6336
  %6344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6345 = call i32 @fileno(ptr noundef %6344) #10
  %6346 = call i32 @isatty(i32 noundef %6345) #10
  %6347 = icmp ne i32 %6346, 0
  br i1 %6347, label %6348, label %6365

6348:                                             ; preds = %6343
  %6349 = load i32, ptr %129, align 4, !tbaa !5
  %6350 = call ptr @__errno_location() #11
  store i32 %6349, ptr %6350, align 4, !tbaa !5
  %6351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6352 = load i32, ptr @test_count, align 4, !tbaa !5
  %6353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6354 = load i32, ptr %6353, align 4, !tbaa !5
  %6355 = call ptr @s2n_strerror(i32 noundef %6354, ptr noundef @.str.65)
  %6356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6357 = load i32, ptr %6356, align 4, !tbaa !5
  %6358 = call ptr @s2n_strerror_debug(i32 noundef %6357, ptr noundef @.str.65)
  %6359 = call ptr @__errno_location() #11
  %6360 = load i32, ptr %6359, align 4, !tbaa !5
  %6361 = call ptr @strerror(i32 noundef %6360) #10
  %6362 = call ptr @__errno_location() #11
  %6363 = load i32, ptr %6362, align 4, !tbaa !5
  %6364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6351, ptr noundef @.str.63, i32 noundef %6352, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 397, ptr noundef %6355, ptr noundef %6358, ptr noundef %6361, i32 noundef %6363) #10
  br label %6382

6365:                                             ; preds = %6343, %6336
  %6366 = load i32, ptr %129, align 4, !tbaa !5
  %6367 = call ptr @__errno_location() #11
  store i32 %6366, ptr %6367, align 4, !tbaa !5
  %6368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6369 = load i32, ptr @test_count, align 4, !tbaa !5
  %6370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6371 = load i32, ptr %6370, align 4, !tbaa !5
  %6372 = call ptr @s2n_strerror(i32 noundef %6371, ptr noundef @.str.65)
  %6373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6374 = load i32, ptr %6373, align 4, !tbaa !5
  %6375 = call ptr @s2n_strerror_debug(i32 noundef %6374, ptr noundef @.str.65)
  %6376 = call ptr @__errno_location() #11
  %6377 = load i32, ptr %6376, align 4, !tbaa !5
  %6378 = call ptr @strerror(i32 noundef %6377) #10
  %6379 = call ptr @__errno_location() #11
  %6380 = load i32, ptr %6379, align 4, !tbaa !5
  %6381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6368, ptr noundef @.str.66, i32 noundef %6369, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 397, ptr noundef %6372, ptr noundef %6375, ptr noundef %6378, i32 noundef %6380) #10
  br label %6382

6382:                                             ; preds = %6365, %6348
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %6383

6383:                                             ; preds = %6382
  br label %6384

6384:                                             ; preds = %6383
  call void @exit(i32 noundef 1) #12
  unreachable

6385:                                             ; No predecessors!
  br label %6386

6386:                                             ; preds = %6385
  br label %6387

6387:                                             ; preds = %6386, %6329
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

6389:                                             ; preds = %6388
  br label %6390

6390:                                             ; preds = %6389
  %6391 = load i32, ptr @test_count, align 4, !tbaa !5
  %6392 = add nsw i32 %6391, 1
  store i32 %6392, ptr @test_count, align 4, !tbaa !5
  %6393 = load ptr, ptr %89, align 8, !tbaa !9
  %6394 = load ptr, ptr %91, align 8, !tbaa !9
  %6395 = call i32 @s2n_connections_set_io_pair(ptr noundef %6393, ptr noundef %6394, ptr noundef %128)
  %6396 = icmp eq i32 %6395, -1
  br i1 %6396, label %6397, label %6450

6397:                                             ; preds = %6390
  br label %6398

6398:                                             ; preds = %6397
  br label %6399

6399:                                             ; preds = %6398
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %6400 = call ptr @__errno_location() #11
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  store i32 %6401, ptr %130, 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) #10
  %6409 = call i32 @isatty(i32 noundef %6408) #10
  %6410 = icmp ne i32 %6409, 0
  br i1 %6410, label %6411, label %6428

6411:                                             ; preds = %6406
  %6412 = load i32, ptr %130, align 4, !tbaa !5
  %6413 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %6422 = call ptr @__errno_location() #11
  %6423 = load i32, ptr %6422, align 4, !tbaa !5
  %6424 = call ptr @strerror(i32 noundef %6423) #10
  %6425 = call ptr @__errno_location() #11
  %6426 = load i32, ptr %6425, align 4, !tbaa !5
  %6427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6414, ptr noundef @.str.63, i32 noundef %6415, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 398, ptr noundef %6418, ptr noundef %6421, ptr noundef %6424, i32 noundef %6426) #10
  br label %6445

6428:                                             ; preds = %6406, %6399
  %6429 = load i32, ptr %130, align 4, !tbaa !5
  %6430 = call ptr @__errno_location() #11
  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.65)
  %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.65)
  %6439 = call ptr @__errno_location() #11
  %6440 = load i32, ptr %6439, align 4, !tbaa !5
  %6441 = call ptr @strerror(i32 noundef %6440) #10
  %6442 = call ptr @__errno_location() #11
  %6443 = load i32, ptr %6442, align 4, !tbaa !5
  %6444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6431, ptr noundef @.str.66, i32 noundef %6432, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 398, ptr noundef %6435, ptr noundef %6438, ptr noundef %6441, i32 noundef %6443) #10
  br label %6445

6445:                                             ; preds = %6428, %6411
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6446

6446:                                             ; preds = %6445
  br label %6447

6447:                                             ; preds = %6446
  call void @exit(i32 noundef 1) #12
  unreachable

6448:                                             ; No predecessors!
  br label %6449

6449:                                             ; preds = %6448
  br label %6450

6450:                                             ; preds = %6449, %6390
  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 %89, align 8, !tbaa !9
  %6457 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 0
  %6458 = load ptr, ptr %6457, align 8, !tbaa !34
  %6459 = getelementptr inbounds %struct.s2n_blob, ptr %95, i32 0, i32 1
  %6460 = load i32, ptr %6459, align 8, !tbaa !35
  %6461 = zext i32 %6460 to i64
  %6462 = call i32 @s2n_connection_set_session(ptr noundef %6456, ptr noundef %6458, i64 noundef %6461)
  %6463 = icmp eq i32 %6462, -1
  br i1 %6463, label %6464, label %6517

6464:                                             ; preds = %6453
  br label %6465

6465:                                             ; preds = %6464
  br label %6466

6466:                                             ; preds = %6465
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %6467 = call ptr @__errno_location() #11
  %6468 = load i32, ptr %6467, align 4, !tbaa !5
  store i32 %6468, ptr %131, align 4, !tbaa !5
  %6469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6470 = call i32 @s2n_print_stacktrace(ptr noundef %6469)
  %6471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6472 = trunc i8 %6471 to i1
  br i1 %6472, label %6473, label %6495

6473:                                             ; preds = %6466
  %6474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6475 = call i32 @fileno(ptr noundef %6474) #10
  %6476 = call i32 @isatty(i32 noundef %6475) #10
  %6477 = icmp ne i32 %6476, 0
  br i1 %6477, label %6478, label %6495

6478:                                             ; preds = %6473
  %6479 = load i32, ptr %131, align 4, !tbaa !5
  %6480 = call ptr @__errno_location() #11
  store i32 %6479, ptr %6480, align 4, !tbaa !5
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = load i32, ptr @test_count, align 4, !tbaa !5
  %6483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6484 = load i32, ptr %6483, align 4, !tbaa !5
  %6485 = call ptr @s2n_strerror(i32 noundef %6484, ptr noundef @.str.65)
  %6486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6487 = load i32, ptr %6486, align 4, !tbaa !5
  %6488 = call ptr @s2n_strerror_debug(i32 noundef %6487, ptr noundef @.str.65)
  %6489 = call ptr @__errno_location() #11
  %6490 = load i32, ptr %6489, align 4, !tbaa !5
  %6491 = call ptr @strerror(i32 noundef %6490) #10
  %6492 = call ptr @__errno_location() #11
  %6493 = load i32, ptr %6492, align 4, !tbaa !5
  %6494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6481, ptr noundef @.str.63, i32 noundef %6482, ptr noundef @.str.134, ptr noundef @.str.62, i32 noundef 401, ptr noundef %6485, ptr noundef %6488, ptr noundef %6491, i32 noundef %6493) #10
  br label %6512

6495:                                             ; preds = %6473, %6466
  %6496 = load i32, ptr %131, align 4, !tbaa !5
  %6497 = call ptr @__errno_location() #11
  store i32 %6496, ptr %6497, align 4, !tbaa !5
  %6498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6499 = load i32, ptr @test_count, align 4, !tbaa !5
  %6500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6501 = load i32, ptr %6500, align 4, !tbaa !5
  %6502 = call ptr @s2n_strerror(i32 noundef %6501, ptr noundef @.str.65)
  %6503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6504 = load i32, ptr %6503, align 4, !tbaa !5
  %6505 = call ptr @s2n_strerror_debug(i32 noundef %6504, ptr noundef @.str.65)
  %6506 = call ptr @__errno_location() #11
  %6507 = load i32, ptr %6506, align 4, !tbaa !5
  %6508 = call ptr @strerror(i32 noundef %6507) #10
  %6509 = call ptr @__errno_location() #11
  %6510 = load i32, ptr %6509, align 4, !tbaa !5
  %6511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6498, ptr noundef @.str.66, i32 noundef %6499, ptr noundef @.str.134, ptr noundef @.str.62, i32 noundef 401, ptr noundef %6502, ptr noundef %6505, ptr noundef %6508, i32 noundef %6510) #10
  br label %6512

6512:                                             ; preds = %6495, %6478
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6513

6513:                                             ; preds = %6512
  br label %6514

6514:                                             ; preds = %6513
  call void @exit(i32 noundef 1) #12
  unreachable

6515:                                             ; No predecessors!
  br label %6516

6516:                                             ; preds = %6515
  br label %6517

6517:                                             ; preds = %6516, %6453
  br label %6518

6518:                                             ; preds = %6517
  br label %6519

6519:                                             ; preds = %6518
  br label %6520

6520:                                             ; preds = %6519
  %6521 = load i32, ptr @test_count, align 4, !tbaa !5
  %6522 = add nsw i32 %6521, 1
  store i32 %6522, ptr @test_count, align 4, !tbaa !5
  %6523 = load ptr, ptr %91, align 8, !tbaa !9
  %6524 = load ptr, ptr %89, align 8, !tbaa !9
  %6525 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6523, ptr noundef %6524)
  %6526 = icmp eq i32 %6525, -1
  br i1 %6526, label %6527, label %6580

6527:                                             ; preds = %6520
  br label %6528

6528:                                             ; preds = %6527
  br label %6529

6529:                                             ; preds = %6528
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %6530 = call ptr @__errno_location() #11
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  store i32 %6531, ptr %132, align 4, !tbaa !5
  %6532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6533 = call i32 @s2n_print_stacktrace(ptr noundef %6532)
  %6534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6535 = trunc i8 %6534 to i1
  br i1 %6535, label %6536, label %6558

6536:                                             ; preds = %6529
  %6537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6538 = call i32 @fileno(ptr noundef %6537) #10
  %6539 = call i32 @isatty(i32 noundef %6538) #10
  %6540 = icmp ne i32 %6539, 0
  br i1 %6540, label %6541, label %6558

6541:                                             ; preds = %6536
  %6542 = load i32, ptr %132, align 4, !tbaa !5
  %6543 = call ptr @__errno_location() #11
  store i32 %6542, ptr %6543, align 4, !tbaa !5
  %6544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6545 = load i32, ptr @test_count, align 4, !tbaa !5
  %6546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6547 = load i32, ptr %6546, align 4, !tbaa !5
  %6548 = call ptr @s2n_strerror(i32 noundef %6547, ptr noundef @.str.65)
  %6549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call ptr @s2n_strerror_debug(i32 noundef %6550, ptr noundef @.str.65)
  %6552 = call ptr @__errno_location() #11
  %6553 = load i32, ptr %6552, align 4, !tbaa !5
  %6554 = call ptr @strerror(i32 noundef %6553) #10
  %6555 = call ptr @__errno_location() #11
  %6556 = load i32, ptr %6555, align 4, !tbaa !5
  %6557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6544, ptr noundef @.str.63, i32 noundef %6545, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 404, ptr noundef %6548, ptr noundef %6551, ptr noundef %6554, i32 noundef %6556) #10
  br label %6575

6558:                                             ; preds = %6536, %6529
  %6559 = load i32, ptr %132, align 4, !tbaa !5
  %6560 = call ptr @__errno_location() #11
  store i32 %6559, ptr %6560, align 4, !tbaa !5
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = load i32, ptr @test_count, align 4, !tbaa !5
  %6563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call ptr @s2n_strerror(i32 noundef %6564, ptr noundef @.str.65)
  %6566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call ptr @s2n_strerror_debug(i32 noundef %6567, ptr noundef @.str.65)
  %6569 = call ptr @__errno_location() #11
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  %6571 = call ptr @strerror(i32 noundef %6570) #10
  %6572 = call ptr @__errno_location() #11
  %6573 = load i32, ptr %6572, align 4, !tbaa !5
  %6574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6561, ptr noundef @.str.66, i32 noundef %6562, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 404, ptr noundef %6565, ptr noundef %6568, ptr noundef %6571, i32 noundef %6573) #10
  br label %6575

6575:                                             ; preds = %6558, %6541
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %6576

6576:                                             ; preds = %6575
  br label %6577

6577:                                             ; preds = %6576
  call void @exit(i32 noundef 1) #12
  unreachable

6578:                                             ; No predecessors!
  br label %6579

6579:                                             ; preds = %6578
  br label %6580

6580:                                             ; preds = %6579, %6520
  br label %6581

6581:                                             ; preds = %6580
  br label %6582

6582:                                             ; preds = %6581
  br label %6583

6583:                                             ; preds = %6582
  %6584 = load i32, ptr @test_count, align 4, !tbaa !5
  %6585 = add nsw i32 %6584, 1
  store i32 %6585, ptr @test_count, align 4, !tbaa !5
  %6586 = load ptr, ptr %89, align 8, !tbaa !9
  %6587 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6586, i32 noundef 2)
  br i1 %6587, label %6588, label %6644

6588:                                             ; preds = %6583
  %6589 = load ptr, ptr %91, align 8, !tbaa !9
  %6590 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6589, i32 noundef 2)
  br i1 %6590, label %6591, label %6644

6591:                                             ; preds = %6588
  br label %6592

6592:                                             ; preds = %6591
  br label %6593

6593:                                             ; preds = %6592
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %6594 = call ptr @__errno_location() #11
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  store i32 %6595, ptr %133, align 4, !tbaa !5
  %6596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6597 = call i32 @s2n_print_stacktrace(ptr noundef %6596)
  %6598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6599 = trunc i8 %6598 to i1
  br i1 %6599, label %6600, label %6622

6600:                                             ; preds = %6593
  %6601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6602 = call i32 @fileno(ptr noundef %6601) #10
  %6603 = call i32 @isatty(i32 noundef %6602) #10
  %6604 = icmp ne i32 %6603, 0
  br i1 %6604, label %6605, label %6622

6605:                                             ; preds = %6600
  %6606 = load i32, ptr %133, align 4, !tbaa !5
  %6607 = call ptr @__errno_location() #11
  store i32 %6606, ptr %6607, align 4, !tbaa !5
  %6608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6609 = load i32, ptr @test_count, align 4, !tbaa !5
  %6610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror(i32 noundef %6611, ptr noundef @.str.65)
  %6613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6614 = load i32, ptr %6613, align 4, !tbaa !5
  %6615 = call ptr @s2n_strerror_debug(i32 noundef %6614, ptr noundef @.str.65)
  %6616 = call ptr @__errno_location() #11
  %6617 = load i32, ptr %6616, align 4, !tbaa !5
  %6618 = call ptr @strerror(i32 noundef %6617) #10
  %6619 = call ptr @__errno_location() #11
  %6620 = load i32, ptr %6619, align 4, !tbaa !5
  %6621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6608, ptr noundef @.str.63, i32 noundef %6609, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 405, ptr noundef %6612, ptr noundef %6615, ptr noundef %6618, i32 noundef %6620) #10
  br label %6639

6622:                                             ; preds = %6600, %6593
  %6623 = load i32, ptr %133, align 4, !tbaa !5
  %6624 = call ptr @__errno_location() #11
  store i32 %6623, ptr %6624, align 4, !tbaa !5
  %6625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6626 = load i32, ptr @test_count, align 4, !tbaa !5
  %6627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6628 = load i32, ptr %6627, align 4, !tbaa !5
  %6629 = call ptr @s2n_strerror(i32 noundef %6628, ptr noundef @.str.65)
  %6630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6631 = load i32, ptr %6630, align 4, !tbaa !5
  %6632 = call ptr @s2n_strerror_debug(i32 noundef %6631, ptr noundef @.str.65)
  %6633 = call ptr @__errno_location() #11
  %6634 = load i32, ptr %6633, align 4, !tbaa !5
  %6635 = call ptr @strerror(i32 noundef %6634) #10
  %6636 = call ptr @__errno_location() #11
  %6637 = load i32, ptr %6636, align 4, !tbaa !5
  %6638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6625, ptr noundef @.str.66, i32 noundef %6626, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 405, ptr noundef %6629, ptr noundef %6632, ptr noundef %6635, i32 noundef %6637) #10
  br label %6639

6639:                                             ; preds = %6622, %6605
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %6640

6640:                                             ; preds = %6639
  br label %6641

6641:                                             ; preds = %6640
  call void @exit(i32 noundef 1) #12
  unreachable

6642:                                             ; No predecessors!
  br label %6643

6643:                                             ; preds = %6642
  br label %6644

6644:                                             ; preds = %6643, %6588, %6583
  br label %6645

6645:                                             ; preds = %6644
  br label %6646

6646:                                             ; preds = %6645
  %6647 = call i32 @s2n_io_pair_close(ptr noundef %128)
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #10
  %6648 = call i32 @s2n_free(ptr noundef %95)
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #10
  %6649 = call i32 @s2n_connection_ptr_free(ptr noundef %91)
  %6650 = getelementptr inbounds %struct.s2n_result, ptr %134, i32 0, i32 0
  store i32 %6649, ptr %6650, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #10
  %6651 = call i32 @s2n_connection_ptr_free(ptr noundef %89)
  %6652 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  store i32 %6651, ptr %6652, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #10
  %6653 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6653, ptr %136, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #10
  %6654 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6654, ptr %137, align 8, !tbaa !9
  br label %6655

6655:                                             ; preds = %6646
  %6656 = load i32, ptr @test_count, align 4, !tbaa !5
  %6657 = add nsw i32 %6656, 1
  store i32 %6657, ptr @test_count, align 4, !tbaa !5
  %6658 = load ptr, ptr %136, align 8, !tbaa !9
  %6659 = icmp eq ptr %6658, null
  br i1 %6659, label %6660, label %6713

6660:                                             ; preds = %6655
  br label %6661

6661:                                             ; preds = %6660
  br label %6662

6662:                                             ; preds = %6661
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %6663 = call ptr @__errno_location() #11
  %6664 = load i32, ptr %6663, align 4, !tbaa !5
  store i32 %6664, ptr %138, align 4, !tbaa !5
  %6665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6666 = call i32 @s2n_print_stacktrace(ptr noundef %6665)
  %6667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6668 = trunc i8 %6667 to i1
  br i1 %6668, label %6669, label %6691

6669:                                             ; preds = %6662
  %6670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6671 = call i32 @fileno(ptr noundef %6670) #10
  %6672 = call i32 @isatty(i32 noundef %6671) #10
  %6673 = icmp ne i32 %6672, 0
  br i1 %6673, label %6674, label %6691

6674:                                             ; preds = %6669
  %6675 = load i32, ptr %138, align 4, !tbaa !5
  %6676 = call ptr @__errno_location() #11
  store i32 %6675, ptr %6676, align 4, !tbaa !5
  %6677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6678 = load i32, ptr @test_count, align 4, !tbaa !5
  %6679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  %6681 = call ptr @s2n_strerror(i32 noundef %6680, ptr noundef @.str.65)
  %6682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6683 = load i32, ptr %6682, align 4, !tbaa !5
  %6684 = call ptr @s2n_strerror_debug(i32 noundef %6683, ptr noundef @.str.65)
  %6685 = call ptr @__errno_location() #11
  %6686 = load i32, ptr %6685, align 4, !tbaa !5
  %6687 = call ptr @strerror(i32 noundef %6686) #10
  %6688 = call ptr @__errno_location() #11
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  %6690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6677, ptr noundef @.str.63, i32 noundef %6678, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 413, ptr noundef %6681, ptr noundef %6684, ptr noundef %6687, i32 noundef %6689) #10
  br label %6708

6691:                                             ; preds = %6669, %6662
  %6692 = load i32, ptr %138, align 4, !tbaa !5
  %6693 = call ptr @__errno_location() #11
  store i32 %6692, ptr %6693, align 4, !tbaa !5
  %6694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6695 = load i32, ptr @test_count, align 4, !tbaa !5
  %6696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6697 = load i32, ptr %6696, align 4, !tbaa !5
  %6698 = call ptr @s2n_strerror(i32 noundef %6697, ptr noundef @.str.65)
  %6699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6700 = load i32, ptr %6699, align 4, !tbaa !5
  %6701 = call ptr @s2n_strerror_debug(i32 noundef %6700, ptr noundef @.str.65)
  %6702 = call ptr @__errno_location() #11
  %6703 = load i32, ptr %6702, align 4, !tbaa !5
  %6704 = call ptr @strerror(i32 noundef %6703) #10
  %6705 = call ptr @__errno_location() #11
  %6706 = load i32, ptr %6705, align 4, !tbaa !5
  %6707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6694, ptr noundef @.str.66, i32 noundef %6695, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 413, ptr noundef %6698, ptr noundef %6701, ptr noundef %6704, i32 noundef %6706) #10
  br label %6708

6708:                                             ; preds = %6691, %6674
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %6709

6709:                                             ; preds = %6708
  br label %6710

6710:                                             ; preds = %6709
  call void @exit(i32 noundef 1) #12
  unreachable

6711:                                             ; No predecessors!
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

6713:                                             ; preds = %6712, %6655
  br label %6714

6714:                                             ; preds = %6713
  br label %6715

6715:                                             ; preds = %6714
  br label %6716

6716:                                             ; preds = %6715
  %6717 = load i32, ptr @test_count, align 4, !tbaa !5
  %6718 = add nsw i32 %6717, 1
  store i32 %6718, ptr @test_count, align 4, !tbaa !5
  %6719 = load ptr, ptr %137, align 8, !tbaa !9
  %6720 = icmp eq ptr %6719, null
  br i1 %6720, label %6721, label %6774

6721:                                             ; preds = %6716
  br label %6722

6722:                                             ; preds = %6721
  br label %6723

6723:                                             ; preds = %6722
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %6724 = call ptr @__errno_location() #11
  %6725 = load i32, ptr %6724, align 4, !tbaa !5
  store i32 %6725, ptr %139, align 4, !tbaa !5
  %6726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6727 = call i32 @s2n_print_stacktrace(ptr noundef %6726)
  %6728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6729 = trunc i8 %6728 to i1
  br i1 %6729, label %6730, label %6752

6730:                                             ; preds = %6723
  %6731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6732 = call i32 @fileno(ptr noundef %6731) #10
  %6733 = call i32 @isatty(i32 noundef %6732) #10
  %6734 = icmp ne i32 %6733, 0
  br i1 %6734, label %6735, label %6752

6735:                                             ; preds = %6730
  %6736 = load i32, ptr %139, align 4, !tbaa !5
  %6737 = call ptr @__errno_location() #11
  store i32 %6736, ptr %6737, align 4, !tbaa !5
  %6738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6739 = load i32, ptr @test_count, align 4, !tbaa !5
  %6740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6741 = load i32, ptr %6740, align 4, !tbaa !5
  %6742 = call ptr @s2n_strerror(i32 noundef %6741, ptr noundef @.str.65)
  %6743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6744 = load i32, ptr %6743, align 4, !tbaa !5
  %6745 = call ptr @s2n_strerror_debug(i32 noundef %6744, ptr noundef @.str.65)
  %6746 = call ptr @__errno_location() #11
  %6747 = load i32, ptr %6746, align 4, !tbaa !5
  %6748 = call ptr @strerror(i32 noundef %6747) #10
  %6749 = call ptr @__errno_location() #11
  %6750 = load i32, ptr %6749, align 4, !tbaa !5
  %6751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6738, ptr noundef @.str.63, i32 noundef %6739, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 414, ptr noundef %6742, ptr noundef %6745, ptr noundef %6748, i32 noundef %6750) #10
  br label %6769

6752:                                             ; preds = %6730, %6723
  %6753 = load i32, ptr %139, align 4, !tbaa !5
  %6754 = call ptr @__errno_location() #11
  store i32 %6753, ptr %6754, align 4, !tbaa !5
  %6755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6756 = load i32, ptr @test_count, align 4, !tbaa !5
  %6757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6758 = load i32, ptr %6757, align 4, !tbaa !5
  %6759 = call ptr @s2n_strerror(i32 noundef %6758, ptr noundef @.str.65)
  %6760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6761 = load i32, ptr %6760, align 4, !tbaa !5
  %6762 = call ptr @s2n_strerror_debug(i32 noundef %6761, ptr noundef @.str.65)
  %6763 = call ptr @__errno_location() #11
  %6764 = load i32, ptr %6763, align 4, !tbaa !5
  %6765 = call ptr @strerror(i32 noundef %6764) #10
  %6766 = call ptr @__errno_location() #11
  %6767 = load i32, ptr %6766, align 4, !tbaa !5
  %6768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6755, ptr noundef @.str.66, i32 noundef %6756, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 414, ptr noundef %6759, ptr noundef %6762, ptr noundef %6765, i32 noundef %6767) #10
  br label %6769

6769:                                             ; preds = %6752, %6735
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %6770

6770:                                             ; preds = %6769
  br label %6771

6771:                                             ; preds = %6770
  call void @exit(i32 noundef 1) #12
  unreachable

6772:                                             ; No predecessors!
  br label %6773

6773:                                             ; preds = %6772
  br label %6774

6774:                                             ; preds = %6773, %6716
  br label %6775

6775:                                             ; preds = %6774
  br label %6776

6776:                                             ; preds = %6775
  br label %6777

6777:                                             ; preds = %6776
  %6778 = load i32, ptr @test_count, align 4, !tbaa !5
  %6779 = add nsw i32 %6778, 1
  store i32 %6779, ptr @test_count, align 4, !tbaa !5
  %6780 = load ptr, ptr %136, align 8, !tbaa !9
  %6781 = load ptr, ptr %40, align 8, !tbaa !9
  %6782 = call i32 @s2n_connection_set_config(ptr noundef %6780, ptr noundef %6781)
  %6783 = icmp eq i32 %6782, -1
  br i1 %6783, label %6784, label %6837

6784:                                             ; preds = %6777
  br label %6785

6785:                                             ; preds = %6784
  br label %6786

6786:                                             ; preds = %6785
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  %6787 = call ptr @__errno_location() #11
  %6788 = load i32, ptr %6787, align 4, !tbaa !5
  store i32 %6788, ptr %140, align 4, !tbaa !5
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = call i32 @s2n_print_stacktrace(ptr noundef %6789)
  %6791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6792 = trunc i8 %6791 to i1
  br i1 %6792, label %6793, label %6815

6793:                                             ; preds = %6786
  %6794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6795 = call i32 @fileno(ptr noundef %6794) #10
  %6796 = call i32 @isatty(i32 noundef %6795) #10
  %6797 = icmp ne i32 %6796, 0
  br i1 %6797, label %6798, label %6815

6798:                                             ; preds = %6793
  %6799 = load i32, ptr %140, align 4, !tbaa !5
  %6800 = call ptr @__errno_location() #11
  store i32 %6799, ptr %6800, align 4, !tbaa !5
  %6801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6802 = load i32, ptr @test_count, align 4, !tbaa !5
  %6803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6804 = load i32, ptr %6803, align 4, !tbaa !5
  %6805 = call ptr @s2n_strerror(i32 noundef %6804, ptr noundef @.str.65)
  %6806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6807 = load i32, ptr %6806, align 4, !tbaa !5
  %6808 = call ptr @s2n_strerror_debug(i32 noundef %6807, ptr noundef @.str.65)
  %6809 = call ptr @__errno_location() #11
  %6810 = load i32, ptr %6809, align 4, !tbaa !5
  %6811 = call ptr @strerror(i32 noundef %6810) #10
  %6812 = call ptr @__errno_location() #11
  %6813 = load i32, ptr %6812, align 4, !tbaa !5
  %6814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6801, ptr noundef @.str.63, i32 noundef %6802, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 416, ptr noundef %6805, ptr noundef %6808, ptr noundef %6811, i32 noundef %6813) #10
  br label %6832

6815:                                             ; preds = %6793, %6786
  %6816 = load i32, ptr %140, align 4, !tbaa !5
  %6817 = call ptr @__errno_location() #11
  store i32 %6816, ptr %6817, align 4, !tbaa !5
  %6818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6819 = load i32, ptr @test_count, align 4, !tbaa !5
  %6820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6821 = load i32, ptr %6820, align 4, !tbaa !5
  %6822 = call ptr @s2n_strerror(i32 noundef %6821, ptr noundef @.str.65)
  %6823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6824 = load i32, ptr %6823, align 4, !tbaa !5
  %6825 = call ptr @s2n_strerror_debug(i32 noundef %6824, ptr noundef @.str.65)
  %6826 = call ptr @__errno_location() #11
  %6827 = load i32, ptr %6826, align 4, !tbaa !5
  %6828 = call ptr @strerror(i32 noundef %6827) #10
  %6829 = call ptr @__errno_location() #11
  %6830 = load i32, ptr %6829, align 4, !tbaa !5
  %6831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6818, ptr noundef @.str.66, i32 noundef %6819, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 416, ptr noundef %6822, ptr noundef %6825, ptr noundef %6828, i32 noundef %6830) #10
  br label %6832

6832:                                             ; preds = %6815, %6798
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %6833

6833:                                             ; preds = %6832
  br label %6834

6834:                                             ; preds = %6833
  call void @exit(i32 noundef 1) #12
  unreachable

6835:                                             ; No predecessors!
  br label %6836

6836:                                             ; preds = %6835
  br label %6837

6837:                                             ; preds = %6836, %6777
  br label %6838

6838:                                             ; preds = %6837
  br label %6839

6839:                                             ; preds = %6838
  br label %6840

6840:                                             ; preds = %6839
  %6841 = load i32, ptr @test_count, align 4, !tbaa !5
  %6842 = add nsw i32 %6841, 1
  store i32 %6842, ptr @test_count, align 4, !tbaa !5
  %6843 = load ptr, ptr %137, align 8, !tbaa !9
  %6844 = load ptr, ptr %20, align 8, !tbaa !9
  %6845 = call i32 @s2n_connection_set_config(ptr noundef %6843, ptr noundef %6844)
  %6846 = icmp eq i32 %6845, -1
  br i1 %6846, label %6847, label %6900

6847:                                             ; preds = %6840
  br label %6848

6848:                                             ; preds = %6847
  br label %6849

6849:                                             ; preds = %6848
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %6850 = call ptr @__errno_location() #11
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  store i32 %6851, ptr %141, align 4, !tbaa !5
  %6852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6853 = call i32 @s2n_print_stacktrace(ptr noundef %6852)
  %6854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6855 = trunc i8 %6854 to i1
  br i1 %6855, label %6856, label %6878

6856:                                             ; preds = %6849
  %6857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6858 = call i32 @fileno(ptr noundef %6857) #10
  %6859 = call i32 @isatty(i32 noundef %6858) #10
  %6860 = icmp ne i32 %6859, 0
  br i1 %6860, label %6861, label %6878

6861:                                             ; preds = %6856
  %6862 = load i32, ptr %141, align 4, !tbaa !5
  %6863 = call ptr @__errno_location() #11
  store i32 %6862, ptr %6863, align 4, !tbaa !5
  %6864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6865 = load i32, ptr @test_count, align 4, !tbaa !5
  %6866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6867 = load i32, ptr %6866, align 4, !tbaa !5
  %6868 = call ptr @s2n_strerror(i32 noundef %6867, ptr noundef @.str.65)
  %6869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6870 = load i32, ptr %6869, align 4, !tbaa !5
  %6871 = call ptr @s2n_strerror_debug(i32 noundef %6870, ptr noundef @.str.65)
  %6872 = call ptr @__errno_location() #11
  %6873 = load i32, ptr %6872, align 4, !tbaa !5
  %6874 = call ptr @strerror(i32 noundef %6873) #10
  %6875 = call ptr @__errno_location() #11
  %6876 = load i32, ptr %6875, align 4, !tbaa !5
  %6877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6864, ptr noundef @.str.63, i32 noundef %6865, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 417, ptr noundef %6868, ptr noundef %6871, ptr noundef %6874, i32 noundef %6876) #10
  br label %6895

6878:                                             ; preds = %6856, %6849
  %6879 = load i32, ptr %141, align 4, !tbaa !5
  %6880 = call ptr @__errno_location() #11
  store i32 %6879, ptr %6880, align 4, !tbaa !5
  %6881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6882 = load i32, ptr @test_count, align 4, !tbaa !5
  %6883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6884 = load i32, ptr %6883, align 4, !tbaa !5
  %6885 = call ptr @s2n_strerror(i32 noundef %6884, ptr noundef @.str.65)
  %6886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6887 = load i32, ptr %6886, align 4, !tbaa !5
  %6888 = call ptr @s2n_strerror_debug(i32 noundef %6887, ptr noundef @.str.65)
  %6889 = call ptr @__errno_location() #11
  %6890 = load i32, ptr %6889, align 4, !tbaa !5
  %6891 = call ptr @strerror(i32 noundef %6890) #10
  %6892 = call ptr @__errno_location() #11
  %6893 = load i32, ptr %6892, align 4, !tbaa !5
  %6894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6881, ptr noundef @.str.66, i32 noundef %6882, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 417, ptr noundef %6885, ptr noundef %6888, ptr noundef %6891, i32 noundef %6893) #10
  br label %6895

6895:                                             ; preds = %6878, %6861
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %6896

6896:                                             ; preds = %6895
  br label %6897

6897:                                             ; preds = %6896
  call void @exit(i32 noundef 1) #12
  unreachable

6898:                                             ; No predecessors!
  br label %6899

6899:                                             ; preds = %6898
  br label %6900

6900:                                             ; preds = %6899, %6840
  br label %6901

6901:                                             ; preds = %6900
  br label %6902

6902:                                             ; preds = %6901
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #10
  call void @llvm.memset.p0.i64(ptr align 4 %142, i8 0, i64 8, i1 false)
  br label %6903

6903:                                             ; preds = %6902
  %6904 = load i32, ptr @test_count, align 4, !tbaa !5
  %6905 = add nsw i32 %6904, 1
  store i32 %6905, ptr @test_count, align 4, !tbaa !5
  %6906 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %142)
  %6907 = icmp eq i32 %6906, -1
  br i1 %6907, label %6908, label %6961

6908:                                             ; preds = %6903
  br label %6909

6909:                                             ; preds = %6908
  br label %6910

6910:                                             ; preds = %6909
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %6911 = call ptr @__errno_location() #11
  %6912 = load i32, ptr %6911, align 4, !tbaa !5
  store i32 %6912, ptr %143, align 4, !tbaa !5
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @s2n_print_stacktrace(ptr noundef %6913)
  %6915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6916 = trunc i8 %6915 to i1
  br i1 %6916, label %6917, label %6939

6917:                                             ; preds = %6910
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = call i32 @fileno(ptr noundef %6918) #10
  %6920 = call i32 @isatty(i32 noundef %6919) #10
  %6921 = icmp ne i32 %6920, 0
  br i1 %6921, label %6922, label %6939

6922:                                             ; preds = %6917
  %6923 = load i32, ptr %143, align 4, !tbaa !5
  %6924 = call ptr @__errno_location() #11
  store i32 %6923, ptr %6924, align 4, !tbaa !5
  %6925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6926 = load i32, ptr @test_count, align 4, !tbaa !5
  %6927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6928 = load i32, ptr %6927, align 4, !tbaa !5
  %6929 = call ptr @s2n_strerror(i32 noundef %6928, ptr noundef @.str.65)
  %6930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6931 = load i32, ptr %6930, align 4, !tbaa !5
  %6932 = call ptr @s2n_strerror_debug(i32 noundef %6931, ptr noundef @.str.65)
  %6933 = call ptr @__errno_location() #11
  %6934 = load i32, ptr %6933, align 4, !tbaa !5
  %6935 = call ptr @strerror(i32 noundef %6934) #10
  %6936 = call ptr @__errno_location() #11
  %6937 = load i32, ptr %6936, align 4, !tbaa !5
  %6938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6925, ptr noundef @.str.63, i32 noundef %6926, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 421, ptr noundef %6929, ptr noundef %6932, ptr noundef %6935, i32 noundef %6937) #10
  br label %6956

6939:                                             ; preds = %6917, %6910
  %6940 = load i32, ptr %143, align 4, !tbaa !5
  %6941 = call ptr @__errno_location() #11
  store i32 %6940, ptr %6941, align 4, !tbaa !5
  %6942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6943 = load i32, ptr @test_count, align 4, !tbaa !5
  %6944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6945 = load i32, ptr %6944, align 4, !tbaa !5
  %6946 = call ptr @s2n_strerror(i32 noundef %6945, ptr noundef @.str.65)
  %6947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6948 = load i32, ptr %6947, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror_debug(i32 noundef %6948, ptr noundef @.str.65)
  %6950 = call ptr @__errno_location() #11
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #10
  %6953 = call ptr @__errno_location() #11
  %6954 = load i32, ptr %6953, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6942, ptr noundef @.str.66, i32 noundef %6943, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 421, ptr noundef %6946, ptr noundef %6949, ptr noundef %6952, i32 noundef %6954) #10
  br label %6956

6956:                                             ; preds = %6939, %6922
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %6957

6957:                                             ; preds = %6956
  br label %6958

6958:                                             ; preds = %6957
  call void @exit(i32 noundef 1) #12
  unreachable

6959:                                             ; No predecessors!
  br label %6960

6960:                                             ; preds = %6959
  br label %6961

6961:                                             ; preds = %6960, %6903
  br label %6962

6962:                                             ; preds = %6961
  br label %6963

6963:                                             ; preds = %6962
  br label %6964

6964:                                             ; preds = %6963
  %6965 = load i32, ptr @test_count, align 4, !tbaa !5
  %6966 = add nsw i32 %6965, 1
  store i32 %6966, ptr @test_count, align 4, !tbaa !5
  %6967 = load ptr, ptr %136, align 8, !tbaa !9
  %6968 = load ptr, ptr %137, align 8, !tbaa !9
  %6969 = call i32 @s2n_connections_set_io_pair(ptr noundef %6967, ptr noundef %6968, ptr noundef %142)
  %6970 = icmp eq i32 %6969, -1
  br i1 %6970, label %6971, label %7024

6971:                                             ; preds = %6964
  br label %6972

6972:                                             ; preds = %6971
  br label %6973

6973:                                             ; preds = %6972
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #10
  %6974 = call ptr @__errno_location() #11
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  store i32 %6975, ptr %144, align 4, !tbaa !5
  %6976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6977 = call i32 @s2n_print_stacktrace(ptr noundef %6976)
  %6978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6979 = trunc i8 %6978 to i1
  br i1 %6979, label %6980, label %7002

6980:                                             ; preds = %6973
  %6981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6982 = call i32 @fileno(ptr noundef %6981) #10
  %6983 = call i32 @isatty(i32 noundef %6982) #10
  %6984 = icmp ne i32 %6983, 0
  br i1 %6984, label %6985, label %7002

6985:                                             ; preds = %6980
  %6986 = load i32, ptr %144, align 4, !tbaa !5
  %6987 = call ptr @__errno_location() #11
  store i32 %6986, ptr %6987, align 4, !tbaa !5
  %6988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6989 = load i32, ptr @test_count, align 4, !tbaa !5
  %6990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call ptr @s2n_strerror(i32 noundef %6991, ptr noundef @.str.65)
  %6993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6994 = load i32, ptr %6993, align 4, !tbaa !5
  %6995 = call ptr @s2n_strerror_debug(i32 noundef %6994, ptr noundef @.str.65)
  %6996 = call ptr @__errno_location() #11
  %6997 = load i32, ptr %6996, align 4, !tbaa !5
  %6998 = call ptr @strerror(i32 noundef %6997) #10
  %6999 = call ptr @__errno_location() #11
  %7000 = load i32, ptr %6999, align 4, !tbaa !5
  %7001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6988, ptr noundef @.str.63, i32 noundef %6989, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 422, ptr noundef %6992, ptr noundef %6995, ptr noundef %6998, i32 noundef %7000) #10
  br label %7019

7002:                                             ; preds = %6980, %6973
  %7003 = load i32, ptr %144, align 4, !tbaa !5
  %7004 = call ptr @__errno_location() #11
  store i32 %7003, ptr %7004, align 4, !tbaa !5
  %7005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7006 = load i32, ptr @test_count, align 4, !tbaa !5
  %7007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7008 = load i32, ptr %7007, align 4, !tbaa !5
  %7009 = call ptr @s2n_strerror(i32 noundef %7008, ptr noundef @.str.65)
  %7010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7011 = load i32, ptr %7010, align 4, !tbaa !5
  %7012 = call ptr @s2n_strerror_debug(i32 noundef %7011, ptr noundef @.str.65)
  %7013 = call ptr @__errno_location() #11
  %7014 = load i32, ptr %7013, align 4, !tbaa !5
  %7015 = call ptr @strerror(i32 noundef %7014) #10
  %7016 = call ptr @__errno_location() #11
  %7017 = load i32, ptr %7016, align 4, !tbaa !5
  %7018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7005, ptr noundef @.str.66, i32 noundef %7006, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 422, ptr noundef %7009, ptr noundef %7012, ptr noundef %7015, i32 noundef %7017) #10
  br label %7019

7019:                                             ; preds = %7002, %6985
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #10
  br label %7020

7020:                                             ; preds = %7019
  br label %7021

7021:                                             ; preds = %7020
  call void @exit(i32 noundef 1) #12
  unreachable

7022:                                             ; No predecessors!
  br label %7023

7023:                                             ; preds = %7022
  br label %7024

7024:                                             ; preds = %7023, %6964
  br label %7025

7025:                                             ; preds = %7024
  br label %7026

7026:                                             ; preds = %7025
  br label %7027

7027:                                             ; preds = %7026
  %7028 = load i32, ptr @test_count, align 4, !tbaa !5
  %7029 = add nsw i32 %7028, 1
  store i32 %7029, ptr @test_count, align 4, !tbaa !5
  %7030 = load ptr, ptr %137, align 8, !tbaa !9
  %7031 = load ptr, ptr %136, align 8, !tbaa !9
  %7032 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7030, ptr noundef %7031)
  %7033 = icmp eq i32 %7032, -1
  br i1 %7033, label %7034, label %7087

7034:                                             ; preds = %7027
  br label %7035

7035:                                             ; preds = %7034
  br label %7036

7036:                                             ; preds = %7035
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #10
  %7037 = call ptr @__errno_location() #11
  %7038 = load i32, ptr %7037, align 4, !tbaa !5
  store i32 %7038, ptr %145, align 4, !tbaa !5
  %7039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7040 = call i32 @s2n_print_stacktrace(ptr noundef %7039)
  %7041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7042 = trunc i8 %7041 to i1
  br i1 %7042, label %7043, label %7065

7043:                                             ; preds = %7036
  %7044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7045 = call i32 @fileno(ptr noundef %7044) #10
  %7046 = call i32 @isatty(i32 noundef %7045) #10
  %7047 = icmp ne i32 %7046, 0
  br i1 %7047, label %7048, label %7065

7048:                                             ; preds = %7043
  %7049 = load i32, ptr %145, align 4, !tbaa !5
  %7050 = call ptr @__errno_location() #11
  store i32 %7049, ptr %7050, align 4, !tbaa !5
  %7051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7052 = load i32, ptr @test_count, align 4, !tbaa !5
  %7053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call ptr @s2n_strerror(i32 noundef %7054, ptr noundef @.str.65)
  %7056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call ptr @s2n_strerror_debug(i32 noundef %7057, ptr noundef @.str.65)
  %7059 = call ptr @__errno_location() #11
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call ptr @strerror(i32 noundef %7060) #10
  %7062 = call ptr @__errno_location() #11
  %7063 = load i32, ptr %7062, align 4, !tbaa !5
  %7064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7051, ptr noundef @.str.63, i32 noundef %7052, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 425, ptr noundef %7055, ptr noundef %7058, ptr noundef %7061, i32 noundef %7063) #10
  br label %7082

7065:                                             ; preds = %7043, %7036
  %7066 = load i32, ptr %145, align 4, !tbaa !5
  %7067 = call ptr @__errno_location() #11
  store i32 %7066, ptr %7067, align 4, !tbaa !5
  %7068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7069 = load i32, ptr @test_count, align 4, !tbaa !5
  %7070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7071 = load i32, ptr %7070, align 4, !tbaa !5
  %7072 = call ptr @s2n_strerror(i32 noundef %7071, ptr noundef @.str.65)
  %7073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call ptr @s2n_strerror_debug(i32 noundef %7074, ptr noundef @.str.65)
  %7076 = call ptr @__errno_location() #11
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = call ptr @strerror(i32 noundef %7077) #10
  %7079 = call ptr @__errno_location() #11
  %7080 = load i32, ptr %7079, align 4, !tbaa !5
  %7081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7068, ptr noundef @.str.66, i32 noundef %7069, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 425, ptr noundef %7072, ptr noundef %7075, ptr noundef %7078, i32 noundef %7080) #10
  br label %7082

7082:                                             ; preds = %7065, %7048
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #10
  br label %7083

7083:                                             ; preds = %7082
  br label %7084

7084:                                             ; preds = %7083
  call void @exit(i32 noundef 1) #12
  unreachable

7085:                                             ; No predecessors!
  br label %7086

7086:                                             ; preds = %7085
  br label %7087

7087:                                             ; preds = %7086, %7027
  br label %7088

7088:                                             ; preds = %7087
  br label %7089

7089:                                             ; preds = %7088
  br label %7090

7090:                                             ; preds = %7089
  %7091 = load i32, ptr @test_count, align 4, !tbaa !5
  %7092 = add nsw i32 %7091, 1
  store i32 %7092, ptr @test_count, align 4, !tbaa !5
  %7093 = load ptr, ptr %136, align 8, !tbaa !9
  %7094 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7093, i32 noundef 2)
  br i1 %7094, label %7095, label %7098

7095:                                             ; preds = %7090
  %7096 = load ptr, ptr %137, align 8, !tbaa !9
  %7097 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7096, i32 noundef 2)
  br i1 %7097, label %7151, label %7098

7098:                                             ; preds = %7095, %7090
  br label %7099

7099:                                             ; preds = %7098
  br label %7100

7100:                                             ; preds = %7099
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #10
  %7101 = call ptr @__errno_location() #11
  %7102 = load i32, ptr %7101, align 4, !tbaa !5
  store i32 %7102, ptr %146, align 4, !tbaa !5
  %7103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7104 = call i32 @s2n_print_stacktrace(ptr noundef %7103)
  %7105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7106 = trunc i8 %7105 to i1
  br i1 %7106, label %7107, label %7129

7107:                                             ; preds = %7100
  %7108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7109 = call i32 @fileno(ptr noundef %7108) #10
  %7110 = call i32 @isatty(i32 noundef %7109) #10
  %7111 = icmp ne i32 %7110, 0
  br i1 %7111, label %7112, label %7129

7112:                                             ; preds = %7107
  %7113 = load i32, ptr %146, align 4, !tbaa !5
  %7114 = call ptr @__errno_location() #11
  store i32 %7113, ptr %7114, align 4, !tbaa !5
  %7115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7116 = load i32, ptr @test_count, align 4, !tbaa !5
  %7117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7118 = load i32, ptr %7117, align 4, !tbaa !5
  %7119 = call ptr @s2n_strerror(i32 noundef %7118, ptr noundef @.str.65)
  %7120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7121 = load i32, ptr %7120, align 4, !tbaa !5
  %7122 = call ptr @s2n_strerror_debug(i32 noundef %7121, ptr noundef @.str.65)
  %7123 = call ptr @__errno_location() #11
  %7124 = load i32, ptr %7123, align 4, !tbaa !5
  %7125 = call ptr @strerror(i32 noundef %7124) #10
  %7126 = call ptr @__errno_location() #11
  %7127 = load i32, ptr %7126, align 4, !tbaa !5
  %7128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7115, ptr noundef @.str.63, i32 noundef %7116, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 426, ptr noundef %7119, ptr noundef %7122, ptr noundef %7125, i32 noundef %7127) #10
  br label %7146

7129:                                             ; preds = %7107, %7100
  %7130 = load i32, ptr %146, align 4, !tbaa !5
  %7131 = call ptr @__errno_location() #11
  store i32 %7130, ptr %7131, align 4, !tbaa !5
  %7132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7133 = load i32, ptr @test_count, align 4, !tbaa !5
  %7134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7135 = load i32, ptr %7134, align 4, !tbaa !5
  %7136 = call ptr @s2n_strerror(i32 noundef %7135, ptr noundef @.str.65)
  %7137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7138 = load i32, ptr %7137, align 4, !tbaa !5
  %7139 = call ptr @s2n_strerror_debug(i32 noundef %7138, ptr noundef @.str.65)
  %7140 = call ptr @__errno_location() #11
  %7141 = load i32, ptr %7140, align 4, !tbaa !5
  %7142 = call ptr @strerror(i32 noundef %7141) #10
  %7143 = call ptr @__errno_location() #11
  %7144 = load i32, ptr %7143, align 4, !tbaa !5
  %7145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7132, ptr noundef @.str.66, i32 noundef %7133, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 426, ptr noundef %7136, ptr noundef %7139, ptr noundef %7142, i32 noundef %7144) #10
  br label %7146

7146:                                             ; preds = %7129, %7112
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #10
  br label %7147

7147:                                             ; preds = %7146
  br label %7148

7148:                                             ; preds = %7147
  call void @exit(i32 noundef 1) #12
  unreachable

7149:                                             ; No predecessors!
  br label %7150

7150:                                             ; preds = %7149
  br label %7151

7151:                                             ; preds = %7150, %7095
  br label %7152

7152:                                             ; preds = %7151
  br label %7153

7153:                                             ; preds = %7152
  br label %7154

7154:                                             ; preds = %7153
  %7155 = load i32, ptr @test_count, align 4, !tbaa !5
  %7156 = add nsw i32 %7155, 1
  store i32 %7156, ptr @test_count, align 4, !tbaa !5
  %7157 = load ptr, ptr %137, align 8, !tbaa !9
  %7158 = load ptr, ptr %136, align 8, !tbaa !9
  %7159 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %7157, ptr noundef %7158, ptr noundef %19)
  %7160 = getelementptr inbounds %struct.s2n_result, ptr %147, i32 0, i32 0
  store i32 %7159, ptr %7160, align 4
  %7161 = getelementptr inbounds %struct.s2n_result, ptr %147, i32 0, i32 0
  %7162 = load i32, ptr %7161, align 4
  %7163 = call zeroext i1 @s2n_result_is_ok(i32 %7162)
  br i1 %7163, label %7217, label %7164

7164:                                             ; preds = %7154
  br label %7165

7165:                                             ; preds = %7164
  br label %7166

7166:                                             ; preds = %7165
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #10
  %7167 = call ptr @__errno_location() #11
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  store i32 %7168, ptr %148, align 4, !tbaa !5
  %7169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7170 = call i32 @s2n_print_stacktrace(ptr noundef %7169)
  %7171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7172 = trunc i8 %7171 to i1
  br i1 %7172, label %7173, label %7195

7173:                                             ; preds = %7166
  %7174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7175 = call i32 @fileno(ptr noundef %7174) #10
  %7176 = call i32 @isatty(i32 noundef %7175) #10
  %7177 = icmp ne i32 %7176, 0
  br i1 %7177, label %7178, label %7195

7178:                                             ; preds = %7173
  %7179 = load i32, ptr %148, align 4, !tbaa !5
  %7180 = call ptr @__errno_location() #11
  store i32 %7179, ptr %7180, align 4, !tbaa !5
  %7181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7182 = load i32, ptr @test_count, align 4, !tbaa !5
  %7183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7184 = load i32, ptr %7183, align 4, !tbaa !5
  %7185 = call ptr @s2n_strerror(i32 noundef %7184, ptr noundef @.str.65)
  %7186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7187 = load i32, ptr %7186, align 4, !tbaa !5
  %7188 = call ptr @s2n_strerror_debug(i32 noundef %7187, ptr noundef @.str.65)
  %7189 = call ptr @__errno_location() #11
  %7190 = load i32, ptr %7189, align 4, !tbaa !5
  %7191 = call ptr @strerror(i32 noundef %7190) #10
  %7192 = call ptr @__errno_location() #11
  %7193 = load i32, ptr %7192, align 4, !tbaa !5
  %7194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7181, ptr noundef @.str.63, i32 noundef %7182, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 429, ptr noundef %7185, ptr noundef %7188, ptr noundef %7191, i32 noundef %7193) #10
  br label %7212

7195:                                             ; preds = %7173, %7166
  %7196 = load i32, ptr %148, align 4, !tbaa !5
  %7197 = call ptr @__errno_location() #11
  store i32 %7196, ptr %7197, align 4, !tbaa !5
  %7198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7199 = load i32, ptr @test_count, align 4, !tbaa !5
  %7200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7201 = load i32, ptr %7200, align 4, !tbaa !5
  %7202 = call ptr @s2n_strerror(i32 noundef %7201, ptr noundef @.str.65)
  %7203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7204 = load i32, ptr %7203, align 4, !tbaa !5
  %7205 = call ptr @s2n_strerror_debug(i32 noundef %7204, ptr noundef @.str.65)
  %7206 = call ptr @__errno_location() #11
  %7207 = load i32, ptr %7206, align 4, !tbaa !5
  %7208 = call ptr @strerror(i32 noundef %7207) #10
  %7209 = call ptr @__errno_location() #11
  %7210 = load i32, ptr %7209, align 4, !tbaa !5
  %7211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7198, ptr noundef @.str.66, i32 noundef %7199, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 429, ptr noundef %7202, ptr noundef %7205, ptr noundef %7208, i32 noundef %7210) #10
  br label %7212

7212:                                             ; preds = %7195, %7178
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #10
  br label %7213

7213:                                             ; preds = %7212
  br label %7214

7214:                                             ; preds = %7213
  call void @exit(i32 noundef 1) #12
  unreachable

7215:                                             ; No predecessors!
  br label %7216

7216:                                             ; preds = %7215
  br label %7217

7217:                                             ; preds = %7216, %7154
  br label %7218

7218:                                             ; preds = %7217
  br label %7219

7219:                                             ; preds = %7218
  br label %7220

7220:                                             ; preds = %7219
  %7221 = load i32, ptr @test_count, align 4, !tbaa !5
  %7222 = add nsw i32 %7221, 1
  store i32 %7222, ptr @test_count, align 4, !tbaa !5
  %7223 = load ptr, ptr %137, align 8, !tbaa !9
  %7224 = load ptr, ptr %136, align 8, !tbaa !9
  %7225 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %7223, ptr noundef %7224)
  %7226 = icmp eq i32 %7225, -1
  br i1 %7226, label %7227, label %7280

7227:                                             ; preds = %7220
  br label %7228

7228:                                             ; preds = %7227
  br label %7229

7229:                                             ; preds = %7228
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #10
  %7230 = call ptr @__errno_location() #11
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  store i32 %7231, ptr %149, align 4, !tbaa !5
  %7232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7233 = call i32 @s2n_print_stacktrace(ptr noundef %7232)
  %7234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7235 = trunc i8 %7234 to i1
  br i1 %7235, label %7236, label %7258

7236:                                             ; preds = %7229
  %7237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7238 = call i32 @fileno(ptr noundef %7237) #10
  %7239 = call i32 @isatty(i32 noundef %7238) #10
  %7240 = icmp ne i32 %7239, 0
  br i1 %7240, label %7241, label %7258

7241:                                             ; preds = %7236
  %7242 = load i32, ptr %149, align 4, !tbaa !5
  %7243 = call ptr @__errno_location() #11
  store i32 %7242, ptr %7243, align 4, !tbaa !5
  %7244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7245 = load i32, ptr @test_count, align 4, !tbaa !5
  %7246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call ptr @s2n_strerror(i32 noundef %7247, ptr noundef @.str.65)
  %7249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7250 = load i32, ptr %7249, align 4, !tbaa !5
  %7251 = call ptr @s2n_strerror_debug(i32 noundef %7250, ptr noundef @.str.65)
  %7252 = call ptr @__errno_location() #11
  %7253 = load i32, ptr %7252, align 4, !tbaa !5
  %7254 = call ptr @strerror(i32 noundef %7253) #10
  %7255 = call ptr @__errno_location() #11
  %7256 = load i32, ptr %7255, align 4, !tbaa !5
  %7257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7244, ptr noundef @.str.63, i32 noundef %7245, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 432, ptr noundef %7248, ptr noundef %7251, ptr noundef %7254, i32 noundef %7256) #10
  br label %7275

7258:                                             ; preds = %7236, %7229
  %7259 = load i32, ptr %149, align 4, !tbaa !5
  %7260 = call ptr @__errno_location() #11
  store i32 %7259, ptr %7260, align 4, !tbaa !5
  %7261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7262 = load i32, ptr @test_count, align 4, !tbaa !5
  %7263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call ptr @s2n_strerror(i32 noundef %7264, ptr noundef @.str.65)
  %7266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call ptr @s2n_strerror_debug(i32 noundef %7267, ptr noundef @.str.65)
  %7269 = call ptr @__errno_location() #11
  %7270 = load i32, ptr %7269, align 4, !tbaa !5
  %7271 = call ptr @strerror(i32 noundef %7270) #10
  %7272 = call ptr @__errno_location() #11
  %7273 = load i32, ptr %7272, align 4, !tbaa !5
  %7274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7261, ptr noundef @.str.66, i32 noundef %7262, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 432, ptr noundef %7265, ptr noundef %7268, ptr noundef %7271, i32 noundef %7273) #10
  br label %7275

7275:                                             ; preds = %7258, %7241
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %7276

7276:                                             ; preds = %7275
  br label %7277

7277:                                             ; preds = %7276
  call void @exit(i32 noundef 1) #12
  unreachable

7278:                                             ; No predecessors!
  br label %7279

7279:                                             ; preds = %7278
  br label %7280

7280:                                             ; preds = %7279, %7220
  br label %7281

7281:                                             ; preds = %7280
  br label %7282

7282:                                             ; preds = %7281
  br label %7283

7283:                                             ; preds = %7282
  %7284 = load i32, ptr @test_count, align 4, !tbaa !5
  %7285 = add nsw i32 %7284, 1
  store i32 %7285, ptr @test_count, align 4, !tbaa !5
  %7286 = load ptr, ptr %136, align 8, !tbaa !9
  %7287 = call i32 @s2n_connection_wipe(ptr noundef %7286)
  %7288 = icmp eq i32 %7287, -1
  br i1 %7288, label %7289, label %7342

7289:                                             ; preds = %7283
  br label %7290

7290:                                             ; preds = %7289
  br label %7291

7291:                                             ; preds = %7290
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #10
  %7292 = call ptr @__errno_location() #11
  %7293 = load i32, ptr %7292, align 4, !tbaa !5
  store i32 %7293, ptr %150, align 4, !tbaa !5
  %7294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7295 = call i32 @s2n_print_stacktrace(ptr noundef %7294)
  %7296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7297 = trunc i8 %7296 to i1
  br i1 %7297, label %7298, label %7320

7298:                                             ; preds = %7291
  %7299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7300 = call i32 @fileno(ptr noundef %7299) #10
  %7301 = call i32 @isatty(i32 noundef %7300) #10
  %7302 = icmp ne i32 %7301, 0
  br i1 %7302, label %7303, label %7320

7303:                                             ; preds = %7298
  %7304 = load i32, ptr %150, align 4, !tbaa !5
  %7305 = call ptr @__errno_location() #11
  store i32 %7304, ptr %7305, align 4, !tbaa !5
  %7306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7307 = load i32, ptr @test_count, align 4, !tbaa !5
  %7308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7309 = load i32, ptr %7308, align 4, !tbaa !5
  %7310 = call ptr @s2n_strerror(i32 noundef %7309, ptr noundef @.str.65)
  %7311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7312 = load i32, ptr %7311, align 4, !tbaa !5
  %7313 = call ptr @s2n_strerror_debug(i32 noundef %7312, ptr noundef @.str.65)
  %7314 = call ptr @__errno_location() #11
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  %7316 = call ptr @strerror(i32 noundef %7315) #10
  %7317 = call ptr @__errno_location() #11
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  %7319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7306, ptr noundef @.str.63, i32 noundef %7307, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 433, ptr noundef %7310, ptr noundef %7313, ptr noundef %7316, i32 noundef %7318) #10
  br label %7337

7320:                                             ; preds = %7298, %7291
  %7321 = load i32, ptr %150, align 4, !tbaa !5
  %7322 = call ptr @__errno_location() #11
  store i32 %7321, ptr %7322, align 4, !tbaa !5
  %7323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7324 = load i32, ptr @test_count, align 4, !tbaa !5
  %7325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7326 = load i32, ptr %7325, align 4, !tbaa !5
  %7327 = call ptr @s2n_strerror(i32 noundef %7326, ptr noundef @.str.65)
  %7328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7329 = load i32, ptr %7328, align 4, !tbaa !5
  %7330 = call ptr @s2n_strerror_debug(i32 noundef %7329, ptr noundef @.str.65)
  %7331 = call ptr @__errno_location() #11
  %7332 = load i32, ptr %7331, align 4, !tbaa !5
  %7333 = call ptr @strerror(i32 noundef %7332) #10
  %7334 = call ptr @__errno_location() #11
  %7335 = load i32, ptr %7334, align 4, !tbaa !5
  %7336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7323, ptr noundef @.str.66, i32 noundef %7324, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 433, ptr noundef %7327, ptr noundef %7330, ptr noundef %7333, i32 noundef %7335) #10
  br label %7337

7337:                                             ; preds = %7320, %7303
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #10
  br label %7338

7338:                                             ; preds = %7337
  br label %7339

7339:                                             ; preds = %7338
  call void @exit(i32 noundef 1) #12
  unreachable

7340:                                             ; No predecessors!
  br label %7341

7341:                                             ; preds = %7340
  br label %7342

7342:                                             ; preds = %7341, %7283
  br label %7343

7343:                                             ; preds = %7342
  br label %7344

7344:                                             ; preds = %7343
  br label %7345

7345:                                             ; preds = %7344
  %7346 = load i32, ptr @test_count, align 4, !tbaa !5
  %7347 = add nsw i32 %7346, 1
  store i32 %7347, ptr @test_count, align 4, !tbaa !5
  %7348 = load ptr, ptr %137, align 8, !tbaa !9
  %7349 = call i32 @s2n_connection_wipe(ptr noundef %7348)
  %7350 = icmp eq i32 %7349, -1
  br i1 %7350, label %7351, label %7404

7351:                                             ; preds = %7345
  br label %7352

7352:                                             ; preds = %7351
  br label %7353

7353:                                             ; preds = %7352
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #10
  %7354 = call ptr @__errno_location() #11
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  store i32 %7355, ptr %151, align 4, !tbaa !5
  %7356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7357 = call i32 @s2n_print_stacktrace(ptr noundef %7356)
  %7358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7359 = trunc i8 %7358 to i1
  br i1 %7359, label %7360, label %7382

7360:                                             ; preds = %7353
  %7361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7362 = call i32 @fileno(ptr noundef %7361) #10
  %7363 = call i32 @isatty(i32 noundef %7362) #10
  %7364 = icmp ne i32 %7363, 0
  br i1 %7364, label %7365, label %7382

7365:                                             ; preds = %7360
  %7366 = load i32, ptr %151, align 4, !tbaa !5
  %7367 = call ptr @__errno_location() #11
  store i32 %7366, ptr %7367, align 4, !tbaa !5
  %7368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7369 = load i32, ptr @test_count, align 4, !tbaa !5
  %7370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7371 = load i32, ptr %7370, align 4, !tbaa !5
  %7372 = call ptr @s2n_strerror(i32 noundef %7371, ptr noundef @.str.65)
  %7373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7374 = load i32, ptr %7373, align 4, !tbaa !5
  %7375 = call ptr @s2n_strerror_debug(i32 noundef %7374, ptr noundef @.str.65)
  %7376 = call ptr @__errno_location() #11
  %7377 = load i32, ptr %7376, align 4, !tbaa !5
  %7378 = call ptr @strerror(i32 noundef %7377) #10
  %7379 = call ptr @__errno_location() #11
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7368, ptr noundef @.str.63, i32 noundef %7369, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 434, ptr noundef %7372, ptr noundef %7375, ptr noundef %7378, i32 noundef %7380) #10
  br label %7399

7382:                                             ; preds = %7360, %7353
  %7383 = load i32, ptr %151, align 4, !tbaa !5
  %7384 = call ptr @__errno_location() #11
  store i32 %7383, ptr %7384, align 4, !tbaa !5
  %7385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7386 = load i32, ptr @test_count, align 4, !tbaa !5
  %7387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7388 = load i32, ptr %7387, align 4, !tbaa !5
  %7389 = call ptr @s2n_strerror(i32 noundef %7388, ptr noundef @.str.65)
  %7390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7391 = load i32, ptr %7390, align 4, !tbaa !5
  %7392 = call ptr @s2n_strerror_debug(i32 noundef %7391, ptr noundef @.str.65)
  %7393 = call ptr @__errno_location() #11
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = call ptr @strerror(i32 noundef %7394) #10
  %7396 = call ptr @__errno_location() #11
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7385, ptr noundef @.str.66, i32 noundef %7386, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 434, ptr noundef %7389, ptr noundef %7392, ptr noundef %7395, i32 noundef %7397) #10
  br label %7399

7399:                                             ; preds = %7382, %7365
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  br label %7400

7400:                                             ; preds = %7399
  br label %7401

7401:                                             ; preds = %7400
  call void @exit(i32 noundef 1) #12
  unreachable

7402:                                             ; No predecessors!
  br label %7403

7403:                                             ; preds = %7402
  br label %7404

7404:                                             ; preds = %7403, %7345
  br label %7405

7405:                                             ; preds = %7404
  br label %7406

7406:                                             ; preds = %7405
  br label %7407

7407:                                             ; preds = %7406
  %7408 = load i32, ptr @test_count, align 4, !tbaa !5
  %7409 = add nsw i32 %7408, 1
  store i32 %7409, ptr @test_count, align 4, !tbaa !5
  %7410 = load ptr, ptr %136, align 8, !tbaa !9
  %7411 = load ptr, ptr %137, align 8, !tbaa !9
  %7412 = call i32 @s2n_connections_set_io_pair(ptr noundef %7410, ptr noundef %7411, ptr noundef %142)
  %7413 = icmp eq i32 %7412, -1
  br i1 %7413, label %7414, label %7467

7414:                                             ; preds = %7407
  br label %7415

7415:                                             ; preds = %7414
  br label %7416

7416:                                             ; preds = %7415
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  %7417 = call ptr @__errno_location() #11
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  store i32 %7418, ptr %152, align 4, !tbaa !5
  %7419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7420 = call i32 @s2n_print_stacktrace(ptr noundef %7419)
  %7421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7422 = trunc i8 %7421 to i1
  br i1 %7422, label %7423, label %7445

7423:                                             ; preds = %7416
  %7424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7425 = call i32 @fileno(ptr noundef %7424) #10
  %7426 = call i32 @isatty(i32 noundef %7425) #10
  %7427 = icmp ne i32 %7426, 0
  br i1 %7427, label %7428, label %7445

7428:                                             ; preds = %7423
  %7429 = load i32, ptr %152, align 4, !tbaa !5
  %7430 = call ptr @__errno_location() #11
  store i32 %7429, ptr %7430, align 4, !tbaa !5
  %7431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7432 = load i32, ptr @test_count, align 4, !tbaa !5
  %7433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call ptr @s2n_strerror(i32 noundef %7434, ptr noundef @.str.65)
  %7436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7437 = load i32, ptr %7436, align 4, !tbaa !5
  %7438 = call ptr @s2n_strerror_debug(i32 noundef %7437, ptr noundef @.str.65)
  %7439 = call ptr @__errno_location() #11
  %7440 = load i32, ptr %7439, align 4, !tbaa !5
  %7441 = call ptr @strerror(i32 noundef %7440) #10
  %7442 = call ptr @__errno_location() #11
  %7443 = load i32, ptr %7442, align 4, !tbaa !5
  %7444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7431, ptr noundef @.str.63, i32 noundef %7432, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 435, ptr noundef %7435, ptr noundef %7438, ptr noundef %7441, i32 noundef %7443) #10
  br label %7462

7445:                                             ; preds = %7423, %7416
  %7446 = load i32, ptr %152, align 4, !tbaa !5
  %7447 = call ptr @__errno_location() #11
  store i32 %7446, ptr %7447, align 4, !tbaa !5
  %7448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7449 = load i32, ptr @test_count, align 4, !tbaa !5
  %7450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7451 = load i32, ptr %7450, align 4, !tbaa !5
  %7452 = call ptr @s2n_strerror(i32 noundef %7451, ptr noundef @.str.65)
  %7453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call ptr @s2n_strerror_debug(i32 noundef %7454, ptr noundef @.str.65)
  %7456 = call ptr @__errno_location() #11
  %7457 = load i32, ptr %7456, align 4, !tbaa !5
  %7458 = call ptr @strerror(i32 noundef %7457) #10
  %7459 = call ptr @__errno_location() #11
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  %7461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7448, ptr noundef @.str.66, i32 noundef %7449, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 435, ptr noundef %7452, ptr noundef %7455, ptr noundef %7458, i32 noundef %7460) #10
  br label %7462

7462:                                             ; preds = %7445, %7428
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  br label %7463

7463:                                             ; preds = %7462
  br label %7464

7464:                                             ; preds = %7463
  call void @exit(i32 noundef 1) #12
  unreachable

7465:                                             ; No predecessors!
  br label %7466

7466:                                             ; preds = %7465
  br label %7467

7467:                                             ; preds = %7466, %7407
  br label %7468

7468:                                             ; preds = %7467
  br label %7469

7469:                                             ; preds = %7468
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #10
  %7470 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %7471 = load i32, ptr %7470, align 4, !tbaa !27
  %7472 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %7473 = load i32, ptr %7472, align 8, !tbaa !30
  %7474 = sub i32 %7471, %7473
  %7475 = zext i32 %7474 to i64
  store i64 %7475, ptr %153, align 8, !tbaa !15
  br label %7476

7476:                                             ; preds = %7469
  %7477 = load i32, ptr @test_count, align 4, !tbaa !5
  %7478 = add nsw i32 %7477, 1
  store i32 %7478, ptr @test_count, align 4, !tbaa !5
  %7479 = load ptr, ptr %136, align 8, !tbaa !9
  %7480 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 0
  %7481 = getelementptr inbounds %struct.s2n_blob, ptr %7480, i32 0, i32 0
  %7482 = load ptr, ptr %7481, align 8, !tbaa !31
  %7483 = load i64, ptr %153, align 8, !tbaa !15
  %7484 = call i32 @s2n_connection_set_session(ptr noundef %7479, ptr noundef %7482, i64 noundef %7483)
  %7485 = icmp eq i32 %7484, -1
  br i1 %7485, label %7486, label %7539

7486:                                             ; preds = %7476
  br label %7487

7487:                                             ; preds = %7486
  br label %7488

7488:                                             ; preds = %7487
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %7489 = call ptr @__errno_location() #11
  %7490 = load i32, ptr %7489, align 4, !tbaa !5
  store i32 %7490, ptr %154, align 4, !tbaa !5
  %7491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7492 = call i32 @s2n_print_stacktrace(ptr noundef %7491)
  %7493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7494 = trunc i8 %7493 to i1
  br i1 %7494, label %7495, label %7517

7495:                                             ; preds = %7488
  %7496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7497 = call i32 @fileno(ptr noundef %7496) #10
  %7498 = call i32 @isatty(i32 noundef %7497) #10
  %7499 = icmp ne i32 %7498, 0
  br i1 %7499, label %7500, label %7517

7500:                                             ; preds = %7495
  %7501 = load i32, ptr %154, align 4, !tbaa !5
  %7502 = call ptr @__errno_location() #11
  store i32 %7501, ptr %7502, align 4, !tbaa !5
  %7503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7504 = load i32, ptr @test_count, align 4, !tbaa !5
  %7505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7506 = load i32, ptr %7505, align 4, !tbaa !5
  %7507 = call ptr @s2n_strerror(i32 noundef %7506, ptr noundef @.str.65)
  %7508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7509 = load i32, ptr %7508, align 4, !tbaa !5
  %7510 = call ptr @s2n_strerror_debug(i32 noundef %7509, ptr noundef @.str.65)
  %7511 = call ptr @__errno_location() #11
  %7512 = load i32, ptr %7511, align 4, !tbaa !5
  %7513 = call ptr @strerror(i32 noundef %7512) #10
  %7514 = call ptr @__errno_location() #11
  %7515 = load i32, ptr %7514, align 4, !tbaa !5
  %7516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7503, ptr noundef @.str.63, i32 noundef %7504, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 439, ptr noundef %7507, ptr noundef %7510, ptr noundef %7513, i32 noundef %7515) #10
  br label %7534

7517:                                             ; preds = %7495, %7488
  %7518 = load i32, ptr %154, align 4, !tbaa !5
  %7519 = call ptr @__errno_location() #11
  store i32 %7518, ptr %7519, align 4, !tbaa !5
  %7520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7521 = load i32, ptr @test_count, align 4, !tbaa !5
  %7522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7523 = load i32, ptr %7522, align 4, !tbaa !5
  %7524 = call ptr @s2n_strerror(i32 noundef %7523, ptr noundef @.str.65)
  %7525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7526 = load i32, ptr %7525, align 4, !tbaa !5
  %7527 = call ptr @s2n_strerror_debug(i32 noundef %7526, ptr noundef @.str.65)
  %7528 = call ptr @__errno_location() #11
  %7529 = load i32, ptr %7528, align 4, !tbaa !5
  %7530 = call ptr @strerror(i32 noundef %7529) #10
  %7531 = call ptr @__errno_location() #11
  %7532 = load i32, ptr %7531, align 4, !tbaa !5
  %7533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7520, ptr noundef @.str.66, i32 noundef %7521, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 439, ptr noundef %7524, ptr noundef %7527, ptr noundef %7530, i32 noundef %7532) #10
  br label %7534

7534:                                             ; preds = %7517, %7500
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %7535

7535:                                             ; preds = %7534
  br label %7536

7536:                                             ; preds = %7535
  call void @exit(i32 noundef 1) #12
  unreachable

7537:                                             ; No predecessors!
  br label %7538

7538:                                             ; preds = %7537
  br label %7539

7539:                                             ; preds = %7538, %7476
  br label %7540

7540:                                             ; preds = %7539
  br label %7541

7541:                                             ; preds = %7540
  br label %7542

7542:                                             ; preds = %7541
  %7543 = load i32, ptr @test_count, align 4, !tbaa !5
  %7544 = add nsw i32 %7543, 1
  store i32 %7544, ptr @test_count, align 4, !tbaa !5
  %7545 = call i32 @s2n_stuffer_rewrite(ptr noundef %45)
  %7546 = icmp eq i32 %7545, -1
  br i1 %7546, label %7547, label %7600

7547:                                             ; preds = %7542
  br label %7548

7548:                                             ; preds = %7547
  br label %7549

7549:                                             ; preds = %7548
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %7550 = call ptr @__errno_location() #11
  %7551 = load i32, ptr %7550, align 4, !tbaa !5
  store i32 %7551, ptr %155, align 4, !tbaa !5
  %7552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7553 = call i32 @s2n_print_stacktrace(ptr noundef %7552)
  %7554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7555 = trunc i8 %7554 to i1
  br i1 %7555, label %7556, label %7578

7556:                                             ; preds = %7549
  %7557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7558 = call i32 @fileno(ptr noundef %7557) #10
  %7559 = call i32 @isatty(i32 noundef %7558) #10
  %7560 = icmp ne i32 %7559, 0
  br i1 %7560, label %7561, label %7578

7561:                                             ; preds = %7556
  %7562 = load i32, ptr %155, align 4, !tbaa !5
  %7563 = call ptr @__errno_location() #11
  store i32 %7562, ptr %7563, align 4, !tbaa !5
  %7564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7565 = load i32, ptr @test_count, align 4, !tbaa !5
  %7566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7567 = load i32, ptr %7566, align 4, !tbaa !5
  %7568 = call ptr @s2n_strerror(i32 noundef %7567, ptr noundef @.str.65)
  %7569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7570 = load i32, ptr %7569, align 4, !tbaa !5
  %7571 = call ptr @s2n_strerror_debug(i32 noundef %7570, ptr noundef @.str.65)
  %7572 = call ptr @__errno_location() #11
  %7573 = load i32, ptr %7572, align 4, !tbaa !5
  %7574 = call ptr @strerror(i32 noundef %7573) #10
  %7575 = call ptr @__errno_location() #11
  %7576 = load i32, ptr %7575, align 4, !tbaa !5
  %7577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7564, ptr noundef @.str.63, i32 noundef %7565, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 440, ptr noundef %7568, ptr noundef %7571, ptr noundef %7574, i32 noundef %7576) #10
  br label %7595

7578:                                             ; preds = %7556, %7549
  %7579 = load i32, ptr %155, align 4, !tbaa !5
  %7580 = call ptr @__errno_location() #11
  store i32 %7579, ptr %7580, align 4, !tbaa !5
  %7581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7582 = load i32, ptr @test_count, align 4, !tbaa !5
  %7583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7584 = load i32, ptr %7583, align 4, !tbaa !5
  %7585 = call ptr @s2n_strerror(i32 noundef %7584, ptr noundef @.str.65)
  %7586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  %7588 = call ptr @s2n_strerror_debug(i32 noundef %7587, ptr noundef @.str.65)
  %7589 = call ptr @__errno_location() #11
  %7590 = load i32, ptr %7589, align 4, !tbaa !5
  %7591 = call ptr @strerror(i32 noundef %7590) #10
  %7592 = call ptr @__errno_location() #11
  %7593 = load i32, ptr %7592, align 4, !tbaa !5
  %7594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7581, ptr noundef @.str.66, i32 noundef %7582, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 440, ptr noundef %7585, ptr noundef %7588, ptr noundef %7591, i32 noundef %7593) #10
  br label %7595

7595:                                             ; preds = %7578, %7561
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %7596

7596:                                             ; preds = %7595
  br label %7597

7597:                                             ; preds = %7596
  call void @exit(i32 noundef 1) #12
  unreachable

7598:                                             ; No predecessors!
  br label %7599

7599:                                             ; preds = %7598
  br label %7600

7600:                                             ; preds = %7599, %7542
  br label %7601

7601:                                             ; preds = %7600
  br label %7602

7602:                                             ; preds = %7601
  br label %7603

7603:                                             ; preds = %7602
  %7604 = load i32, ptr @test_count, align 4, !tbaa !5
  %7605 = add nsw i32 %7604, 1
  store i32 %7605, ptr @test_count, align 4, !tbaa !5
  %7606 = load ptr, ptr %20, align 8, !tbaa !9
  %7607 = call i32 @s2n_config_set_session_state_lifetime(ptr noundef %7606, i64 noundef 0)
  %7608 = icmp eq i32 %7607, -1
  br i1 %7608, label %7609, label %7662

7609:                                             ; preds = %7603
  br label %7610

7610:                                             ; preds = %7609
  br label %7611

7611:                                             ; preds = %7610
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #10
  %7612 = call ptr @__errno_location() #11
  %7613 = load i32, ptr %7612, align 4, !tbaa !5
  store i32 %7613, ptr %156, align 4, !tbaa !5
  %7614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7615 = call i32 @s2n_print_stacktrace(ptr noundef %7614)
  %7616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7617 = trunc i8 %7616 to i1
  br i1 %7617, label %7618, label %7640

7618:                                             ; preds = %7611
  %7619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7620 = call i32 @fileno(ptr noundef %7619) #10
  %7621 = call i32 @isatty(i32 noundef %7620) #10
  %7622 = icmp ne i32 %7621, 0
  br i1 %7622, label %7623, label %7640

7623:                                             ; preds = %7618
  %7624 = load i32, ptr %156, align 4, !tbaa !5
  %7625 = call ptr @__errno_location() #11
  store i32 %7624, ptr %7625, align 4, !tbaa !5
  %7626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7627 = load i32, ptr @test_count, align 4, !tbaa !5
  %7628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7629 = load i32, ptr %7628, align 4, !tbaa !5
  %7630 = call ptr @s2n_strerror(i32 noundef %7629, ptr noundef @.str.65)
  %7631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7632 = load i32, ptr %7631, align 4, !tbaa !5
  %7633 = call ptr @s2n_strerror_debug(i32 noundef %7632, ptr noundef @.str.65)
  %7634 = call ptr @__errno_location() #11
  %7635 = load i32, ptr %7634, align 4, !tbaa !5
  %7636 = call ptr @strerror(i32 noundef %7635) #10
  %7637 = call ptr @__errno_location() #11
  %7638 = load i32, ptr %7637, align 4, !tbaa !5
  %7639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7626, ptr noundef @.str.63, i32 noundef %7627, ptr noundef @.str.141, ptr noundef @.str.62, i32 noundef 443, ptr noundef %7630, ptr noundef %7633, ptr noundef %7636, i32 noundef %7638) #10
  br label %7657

7640:                                             ; preds = %7618, %7611
  %7641 = load i32, ptr %156, align 4, !tbaa !5
  %7642 = call ptr @__errno_location() #11
  store i32 %7641, ptr %7642, align 4, !tbaa !5
  %7643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7644 = load i32, ptr @test_count, align 4, !tbaa !5
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror(i32 noundef %7646, ptr noundef @.str.65)
  %7648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  %7650 = call ptr @s2n_strerror_debug(i32 noundef %7649, ptr noundef @.str.65)
  %7651 = call ptr @__errno_location() #11
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call ptr @strerror(i32 noundef %7652) #10
  %7654 = call ptr @__errno_location() #11
  %7655 = load i32, ptr %7654, align 4, !tbaa !5
  %7656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7643, ptr noundef @.str.66, i32 noundef %7644, ptr noundef @.str.141, ptr noundef @.str.62, i32 noundef 443, ptr noundef %7647, ptr noundef %7650, ptr noundef %7653, i32 noundef %7655) #10
  br label %7657

7657:                                             ; preds = %7640, %7623
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %7658

7658:                                             ; preds = %7657
  br label %7659

7659:                                             ; preds = %7658
  call void @exit(i32 noundef 1) #12
  unreachable

7660:                                             ; No predecessors!
  br label %7661

7661:                                             ; preds = %7660
  br label %7662

7662:                                             ; preds = %7661, %7603
  br label %7663

7663:                                             ; preds = %7662
  br label %7664

7664:                                             ; preds = %7663
  br label %7665

7665:                                             ; preds = %7664
  %7666 = load i32, ptr @test_count, align 4, !tbaa !5
  %7667 = add nsw i32 %7666, 1
  store i32 %7667, ptr @test_count, align 4, !tbaa !5
  %7668 = load ptr, ptr %137, align 8, !tbaa !9
  %7669 = load ptr, ptr %136, align 8, !tbaa !9
  %7670 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7668, ptr noundef %7669)
  %7671 = icmp eq i32 %7670, -1
  br i1 %7671, label %7672, label %7725

7672:                                             ; preds = %7665
  br label %7673

7673:                                             ; preds = %7672
  br label %7674

7674:                                             ; preds = %7673
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %7675 = call ptr @__errno_location() #11
  %7676 = load i32, ptr %7675, align 4, !tbaa !5
  store i32 %7676, ptr %157, align 4, !tbaa !5
  %7677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7678 = call i32 @s2n_print_stacktrace(ptr noundef %7677)
  %7679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7680 = trunc i8 %7679 to i1
  br i1 %7680, label %7681, label %7703

7681:                                             ; preds = %7674
  %7682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7683 = call i32 @fileno(ptr noundef %7682) #10
  %7684 = call i32 @isatty(i32 noundef %7683) #10
  %7685 = icmp ne i32 %7684, 0
  br i1 %7685, label %7686, label %7703

7686:                                             ; preds = %7681
  %7687 = load i32, ptr %157, align 4, !tbaa !5
  %7688 = call ptr @__errno_location() #11
  store i32 %7687, ptr %7688, align 4, !tbaa !5
  %7689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7690 = load i32, ptr @test_count, align 4, !tbaa !5
  %7691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7692 = load i32, ptr %7691, align 4, !tbaa !5
  %7693 = call ptr @s2n_strerror(i32 noundef %7692, ptr noundef @.str.65)
  %7694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7695 = load i32, ptr %7694, align 4, !tbaa !5
  %7696 = call ptr @s2n_strerror_debug(i32 noundef %7695, ptr noundef @.str.65)
  %7697 = call ptr @__errno_location() #11
  %7698 = load i32, ptr %7697, align 4, !tbaa !5
  %7699 = call ptr @strerror(i32 noundef %7698) #10
  %7700 = call ptr @__errno_location() #11
  %7701 = load i32, ptr %7700, align 4, !tbaa !5
  %7702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7689, ptr noundef @.str.63, i32 noundef %7690, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 446, ptr noundef %7693, ptr noundef %7696, ptr noundef %7699, i32 noundef %7701) #10
  br label %7720

7703:                                             ; preds = %7681, %7674
  %7704 = load i32, ptr %157, align 4, !tbaa !5
  %7705 = call ptr @__errno_location() #11
  store i32 %7704, ptr %7705, align 4, !tbaa !5
  %7706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7707 = load i32, ptr @test_count, align 4, !tbaa !5
  %7708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7709 = load i32, ptr %7708, align 4, !tbaa !5
  %7710 = call ptr @s2n_strerror(i32 noundef %7709, ptr noundef @.str.65)
  %7711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7712 = load i32, ptr %7711, align 4, !tbaa !5
  %7713 = call ptr @s2n_strerror_debug(i32 noundef %7712, ptr noundef @.str.65)
  %7714 = call ptr @__errno_location() #11
  %7715 = load i32, ptr %7714, align 4, !tbaa !5
  %7716 = call ptr @strerror(i32 noundef %7715) #10
  %7717 = call ptr @__errno_location() #11
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7706, ptr noundef @.str.66, i32 noundef %7707, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 446, ptr noundef %7710, ptr noundef %7713, ptr noundef %7716, i32 noundef %7718) #10
  br label %7720

7720:                                             ; preds = %7703, %7686
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %7721

7721:                                             ; preds = %7720
  br label %7722

7722:                                             ; preds = %7721
  call void @exit(i32 noundef 1) #12
  unreachable

7723:                                             ; No predecessors!
  br label %7724

7724:                                             ; preds = %7723
  br label %7725

7725:                                             ; preds = %7724, %7665
  br label %7726

7726:                                             ; preds = %7725
  br label %7727

7727:                                             ; preds = %7726
  br label %7728

7728:                                             ; preds = %7727
  %7729 = load i32, ptr @test_count, align 4, !tbaa !5
  %7730 = add nsw i32 %7729, 1
  store i32 %7730, ptr @test_count, align 4, !tbaa !5
  %7731 = load ptr, ptr %136, align 8, !tbaa !9
  %7732 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7731, i32 noundef 2)
  br i1 %7732, label %7733, label %7736

7733:                                             ; preds = %7728
  %7734 = load ptr, ptr %137, align 8, !tbaa !9
  %7735 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7734, i32 noundef 2)
  br i1 %7735, label %7789, label %7736

7736:                                             ; preds = %7733, %7728
  br label %7737

7737:                                             ; preds = %7736
  br label %7738

7738:                                             ; preds = %7737
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %7739 = call ptr @__errno_location() #11
  %7740 = load i32, ptr %7739, align 4, !tbaa !5
  store i32 %7740, ptr %158, align 4, !tbaa !5
  %7741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7742 = call i32 @s2n_print_stacktrace(ptr noundef %7741)
  %7743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7744 = trunc i8 %7743 to i1
  br i1 %7744, label %7745, label %7767

7745:                                             ; preds = %7738
  %7746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7747 = call i32 @fileno(ptr noundef %7746) #10
  %7748 = call i32 @isatty(i32 noundef %7747) #10
  %7749 = icmp ne i32 %7748, 0
  br i1 %7749, label %7750, label %7767

7750:                                             ; preds = %7745
  %7751 = load i32, ptr %158, align 4, !tbaa !5
  %7752 = call ptr @__errno_location() #11
  store i32 %7751, ptr %7752, align 4, !tbaa !5
  %7753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7754 = load i32, ptr @test_count, align 4, !tbaa !5
  %7755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7756 = load i32, ptr %7755, align 4, !tbaa !5
  %7757 = call ptr @s2n_strerror(i32 noundef %7756, ptr noundef @.str.65)
  %7758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7759 = load i32, ptr %7758, align 4, !tbaa !5
  %7760 = call ptr @s2n_strerror_debug(i32 noundef %7759, ptr noundef @.str.65)
  %7761 = call ptr @__errno_location() #11
  %7762 = load i32, ptr %7761, align 4, !tbaa !5
  %7763 = call ptr @strerror(i32 noundef %7762) #10
  %7764 = call ptr @__errno_location() #11
  %7765 = load i32, ptr %7764, align 4, !tbaa !5
  %7766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7753, ptr noundef @.str.63, i32 noundef %7754, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 447, ptr noundef %7757, ptr noundef %7760, ptr noundef %7763, i32 noundef %7765) #10
  br label %7784

7767:                                             ; preds = %7745, %7738
  %7768 = load i32, ptr %158, align 4, !tbaa !5
  %7769 = call ptr @__errno_location() #11
  store i32 %7768, ptr %7769, align 4, !tbaa !5
  %7770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7771 = load i32, ptr @test_count, align 4, !tbaa !5
  %7772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7773 = load i32, ptr %7772, align 4, !tbaa !5
  %7774 = call ptr @s2n_strerror(i32 noundef %7773, ptr noundef @.str.65)
  %7775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7776 = load i32, ptr %7775, align 4, !tbaa !5
  %7777 = call ptr @s2n_strerror_debug(i32 noundef %7776, ptr noundef @.str.65)
  %7778 = call ptr @__errno_location() #11
  %7779 = load i32, ptr %7778, align 4, !tbaa !5
  %7780 = call ptr @strerror(i32 noundef %7779) #10
  %7781 = call ptr @__errno_location() #11
  %7782 = load i32, ptr %7781, align 4, !tbaa !5
  %7783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7770, ptr noundef @.str.66, i32 noundef %7771, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 447, ptr noundef %7774, ptr noundef %7777, ptr noundef %7780, i32 noundef %7782) #10
  br label %7784

7784:                                             ; preds = %7767, %7750
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %7785

7785:                                             ; preds = %7784
  br label %7786

7786:                                             ; preds = %7785
  call void @exit(i32 noundef 1) #12
  unreachable

7787:                                             ; No predecessors!
  br label %7788

7788:                                             ; preds = %7787
  br label %7789

7789:                                             ; preds = %7788, %7733
  br label %7790

7790:                                             ; preds = %7789
  br label %7791

7791:                                             ; preds = %7790
  br label %7792

7792:                                             ; preds = %7791
  %7793 = load i32, ptr @test_count, align 4, !tbaa !5
  %7794 = add nsw i32 %7793, 1
  store i32 %7794, ptr @test_count, align 4, !tbaa !5
  %7795 = load ptr, ptr %137, align 8, !tbaa !9
  %7796 = call i32 @s2n_connection_free(ptr noundef %7795)
  %7797 = icmp eq i32 %7796, -1
  br i1 %7797, label %7798, label %7851

7798:                                             ; preds = %7792
  br label %7799

7799:                                             ; preds = %7798
  br label %7800

7800:                                             ; preds = %7799
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %7801 = call ptr @__errno_location() #11
  %7802 = load i32, ptr %7801, align 4, !tbaa !5
  store i32 %7802, ptr %159, align 4, !tbaa !5
  %7803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7804 = call i32 @s2n_print_stacktrace(ptr noundef %7803)
  %7805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7806 = trunc i8 %7805 to i1
  br i1 %7806, label %7807, label %7829

7807:                                             ; preds = %7800
  %7808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7809 = call i32 @fileno(ptr noundef %7808) #10
  %7810 = call i32 @isatty(i32 noundef %7809) #10
  %7811 = icmp ne i32 %7810, 0
  br i1 %7811, label %7812, label %7829

7812:                                             ; preds = %7807
  %7813 = load i32, ptr %159, align 4, !tbaa !5
  %7814 = call ptr @__errno_location() #11
  store i32 %7813, ptr %7814, align 4, !tbaa !5
  %7815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7816 = load i32, ptr @test_count, align 4, !tbaa !5
  %7817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7818 = load i32, ptr %7817, align 4, !tbaa !5
  %7819 = call ptr @s2n_strerror(i32 noundef %7818, ptr noundef @.str.65)
  %7820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  %7822 = call ptr @s2n_strerror_debug(i32 noundef %7821, ptr noundef @.str.65)
  %7823 = call ptr @__errno_location() #11
  %7824 = load i32, ptr %7823, align 4, !tbaa !5
  %7825 = call ptr @strerror(i32 noundef %7824) #10
  %7826 = call ptr @__errno_location() #11
  %7827 = load i32, ptr %7826, align 4, !tbaa !5
  %7828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7815, ptr noundef @.str.63, i32 noundef %7816, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 449, ptr noundef %7819, ptr noundef %7822, ptr noundef %7825, i32 noundef %7827) #10
  br label %7846

7829:                                             ; preds = %7807, %7800
  %7830 = load i32, ptr %159, align 4, !tbaa !5
  %7831 = call ptr @__errno_location() #11
  store i32 %7830, ptr %7831, align 4, !tbaa !5
  %7832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7833 = load i32, ptr @test_count, align 4, !tbaa !5
  %7834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7835 = load i32, ptr %7834, align 4, !tbaa !5
  %7836 = call ptr @s2n_strerror(i32 noundef %7835, ptr noundef @.str.65)
  %7837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  %7839 = call ptr @s2n_strerror_debug(i32 noundef %7838, ptr noundef @.str.65)
  %7840 = call ptr @__errno_location() #11
  %7841 = load i32, ptr %7840, align 4, !tbaa !5
  %7842 = call ptr @strerror(i32 noundef %7841) #10
  %7843 = call ptr @__errno_location() #11
  %7844 = load i32, ptr %7843, align 4, !tbaa !5
  %7845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7832, ptr noundef @.str.66, i32 noundef %7833, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 449, ptr noundef %7836, ptr noundef %7839, ptr noundef %7842, i32 noundef %7844) #10
  br label %7846

7846:                                             ; preds = %7829, %7812
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %7847

7847:                                             ; preds = %7846
  br label %7848

7848:                                             ; preds = %7847
  call void @exit(i32 noundef 1) #12
  unreachable

7849:                                             ; No predecessors!
  br label %7850

7850:                                             ; preds = %7849
  br label %7851

7851:                                             ; preds = %7850, %7792
  br label %7852

7852:                                             ; preds = %7851
  br label %7853

7853:                                             ; preds = %7852
  br label %7854

7854:                                             ; preds = %7853
  %7855 = load i32, ptr @test_count, align 4, !tbaa !5
  %7856 = add nsw i32 %7855, 1
  store i32 %7856, ptr @test_count, align 4, !tbaa !5
  %7857 = load ptr, ptr %136, align 8, !tbaa !9
  %7858 = call i32 @s2n_connection_free(ptr noundef %7857)
  %7859 = icmp eq i32 %7858, -1
  br i1 %7859, label %7860, label %7913

7860:                                             ; preds = %7854
  br label %7861

7861:                                             ; preds = %7860
  br label %7862

7862:                                             ; preds = %7861
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %7863 = call ptr @__errno_location() #11
  %7864 = load i32, ptr %7863, align 4, !tbaa !5
  store i32 %7864, ptr %160, align 4, !tbaa !5
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = call i32 @s2n_print_stacktrace(ptr noundef %7865)
  %7867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7868 = trunc i8 %7867 to i1
  br i1 %7868, label %7869, label %7891

7869:                                             ; preds = %7862
  %7870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7871 = call i32 @fileno(ptr noundef %7870) #10
  %7872 = call i32 @isatty(i32 noundef %7871) #10
  %7873 = icmp ne i32 %7872, 0
  br i1 %7873, label %7874, label %7891

7874:                                             ; preds = %7869
  %7875 = load i32, ptr %160, align 4, !tbaa !5
  %7876 = call ptr @__errno_location() #11
  store i32 %7875, ptr %7876, align 4, !tbaa !5
  %7877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7878 = load i32, ptr @test_count, align 4, !tbaa !5
  %7879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call ptr @s2n_strerror(i32 noundef %7880, ptr noundef @.str.65)
  %7882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7883 = load i32, ptr %7882, align 4, !tbaa !5
  %7884 = call ptr @s2n_strerror_debug(i32 noundef %7883, ptr noundef @.str.65)
  %7885 = call ptr @__errno_location() #11
  %7886 = load i32, ptr %7885, align 4, !tbaa !5
  %7887 = call ptr @strerror(i32 noundef %7886) #10
  %7888 = call ptr @__errno_location() #11
  %7889 = load i32, ptr %7888, align 4, !tbaa !5
  %7890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7877, ptr noundef @.str.63, i32 noundef %7878, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 450, ptr noundef %7881, ptr noundef %7884, ptr noundef %7887, i32 noundef %7889) #10
  br label %7908

7891:                                             ; preds = %7869, %7862
  %7892 = load i32, ptr %160, align 4, !tbaa !5
  %7893 = call ptr @__errno_location() #11
  store i32 %7892, ptr %7893, align 4, !tbaa !5
  %7894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7895 = load i32, ptr @test_count, align 4, !tbaa !5
  %7896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7897 = load i32, ptr %7896, align 4, !tbaa !5
  %7898 = call ptr @s2n_strerror(i32 noundef %7897, ptr noundef @.str.65)
  %7899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  %7901 = call ptr @s2n_strerror_debug(i32 noundef %7900, ptr noundef @.str.65)
  %7902 = call ptr @__errno_location() #11
  %7903 = load i32, ptr %7902, align 4, !tbaa !5
  %7904 = call ptr @strerror(i32 noundef %7903) #10
  %7905 = call ptr @__errno_location() #11
  %7906 = load i32, ptr %7905, align 4, !tbaa !5
  %7907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7894, ptr noundef @.str.66, i32 noundef %7895, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 450, ptr noundef %7898, ptr noundef %7901, ptr noundef %7904, i32 noundef %7906) #10
  br label %7908

7908:                                             ; preds = %7891, %7874
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %7909

7909:                                             ; preds = %7908
  br label %7910

7910:                                             ; preds = %7909
  call void @exit(i32 noundef 1) #12
  unreachable

7911:                                             ; No predecessors!
  br label %7912

7912:                                             ; preds = %7911
  br label %7913

7913:                                             ; preds = %7912, %7854
  br label %7914

7914:                                             ; preds = %7913
  br label %7915

7915:                                             ; preds = %7914
  br label %7916

7916:                                             ; preds = %7915
  %7917 = load i32, ptr @test_count, align 4, !tbaa !5
  %7918 = add nsw i32 %7917, 1
  store i32 %7918, ptr @test_count, align 4, !tbaa !5
  %7919 = call i32 @s2n_io_pair_close(ptr noundef %142)
  %7920 = icmp eq i32 %7919, -1
  br i1 %7920, label %7921, label %7974

7921:                                             ; preds = %7916
  br label %7922

7922:                                             ; preds = %7921
  br label %7923

7923:                                             ; preds = %7922
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %7924 = call ptr @__errno_location() #11
  %7925 = load i32, ptr %7924, align 4, !tbaa !5
  store i32 %7925, ptr %161, align 4, !tbaa !5
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = call i32 @s2n_print_stacktrace(ptr noundef %7926)
  %7928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7929 = trunc i8 %7928 to i1
  br i1 %7929, label %7930, label %7952

7930:                                             ; preds = %7923
  %7931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7932 = call i32 @fileno(ptr noundef %7931) #10
  %7933 = call i32 @isatty(i32 noundef %7932) #10
  %7934 = icmp ne i32 %7933, 0
  br i1 %7934, label %7935, label %7952

7935:                                             ; preds = %7930
  %7936 = load i32, ptr %161, align 4, !tbaa !5
  %7937 = call ptr @__errno_location() #11
  store i32 %7936, ptr %7937, align 4, !tbaa !5
  %7938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7939 = load i32, ptr @test_count, align 4, !tbaa !5
  %7940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7941 = load i32, ptr %7940, align 4, !tbaa !5
  %7942 = call ptr @s2n_strerror(i32 noundef %7941, ptr noundef @.str.65)
  %7943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7944 = load i32, ptr %7943, align 4, !tbaa !5
  %7945 = call ptr @s2n_strerror_debug(i32 noundef %7944, ptr noundef @.str.65)
  %7946 = call ptr @__errno_location() #11
  %7947 = load i32, ptr %7946, align 4, !tbaa !5
  %7948 = call ptr @strerror(i32 noundef %7947) #10
  %7949 = call ptr @__errno_location() #11
  %7950 = load i32, ptr %7949, align 4, !tbaa !5
  %7951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7938, ptr noundef @.str.63, i32 noundef %7939, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 451, ptr noundef %7942, ptr noundef %7945, ptr noundef %7948, i32 noundef %7950) #10
  br label %7969

7952:                                             ; preds = %7930, %7923
  %7953 = load i32, ptr %161, align 4, !tbaa !5
  %7954 = call ptr @__errno_location() #11
  store i32 %7953, ptr %7954, align 4, !tbaa !5
  %7955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7956 = load i32, ptr @test_count, align 4, !tbaa !5
  %7957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7958 = load i32, ptr %7957, align 4, !tbaa !5
  %7959 = call ptr @s2n_strerror(i32 noundef %7958, ptr noundef @.str.65)
  %7960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  %7962 = call ptr @s2n_strerror_debug(i32 noundef %7961, ptr noundef @.str.65)
  %7963 = call ptr @__errno_location() #11
  %7964 = load i32, ptr %7963, align 4, !tbaa !5
  %7965 = call ptr @strerror(i32 noundef %7964) #10
  %7966 = call ptr @__errno_location() #11
  %7967 = load i32, ptr %7966, align 4, !tbaa !5
  %7968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7955, ptr noundef @.str.66, i32 noundef %7956, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 451, ptr noundef %7959, ptr noundef %7962, ptr noundef %7965, i32 noundef %7967) #10
  br label %7969

7969:                                             ; preds = %7952, %7935
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %7970

7970:                                             ; preds = %7969
  br label %7971

7971:                                             ; preds = %7970
  call void @exit(i32 noundef 1) #12
  unreachable

7972:                                             ; No predecessors!
  br label %7973

7973:                                             ; preds = %7972
  br label %7974

7974:                                             ; preds = %7973, %7916
  br label %7975

7975:                                             ; preds = %7974
  br label %7976

7976:                                             ; preds = %7975
  br label %7977

7977:                                             ; preds = %7976
  %7978 = load i32, ptr @test_count, align 4, !tbaa !5
  %7979 = add nsw i32 %7978, 1
  store i32 %7979, ptr @test_count, align 4, !tbaa !5
  %7980 = call i32 @s2n_stuffer_rewrite(ptr noundef %45)
  %7981 = icmp eq i32 %7980, -1
  br i1 %7981, label %7982, label %8035

7982:                                             ; preds = %7977
  br label %7983

7983:                                             ; preds = %7982
  br label %7984

7984:                                             ; preds = %7983
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  %7985 = call ptr @__errno_location() #11
  %7986 = load i32, ptr %7985, align 4, !tbaa !5
  store i32 %7986, ptr %162, align 4, !tbaa !5
  %7987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7988 = call i32 @s2n_print_stacktrace(ptr noundef %7987)
  %7989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7990 = trunc i8 %7989 to i1
  br i1 %7990, label %7991, label %8013

7991:                                             ; preds = %7984
  %7992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7993 = call i32 @fileno(ptr noundef %7992) #10
  %7994 = call i32 @isatty(i32 noundef %7993) #10
  %7995 = icmp ne i32 %7994, 0
  br i1 %7995, label %7996, label %8013

7996:                                             ; preds = %7991
  %7997 = load i32, ptr %162, align 4, !tbaa !5
  %7998 = call ptr @__errno_location() #11
  store i32 %7997, ptr %7998, align 4, !tbaa !5
  %7999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8000 = load i32, ptr @test_count, align 4, !tbaa !5
  %8001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8002 = load i32, ptr %8001, align 4, !tbaa !5
  %8003 = call ptr @s2n_strerror(i32 noundef %8002, ptr noundef @.str.65)
  %8004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8005 = load i32, ptr %8004, align 4, !tbaa !5
  %8006 = call ptr @s2n_strerror_debug(i32 noundef %8005, ptr noundef @.str.65)
  %8007 = call ptr @__errno_location() #11
  %8008 = load i32, ptr %8007, align 4, !tbaa !5
  %8009 = call ptr @strerror(i32 noundef %8008) #10
  %8010 = call ptr @__errno_location() #11
  %8011 = load i32, ptr %8010, align 4, !tbaa !5
  %8012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7999, ptr noundef @.str.63, i32 noundef %8000, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 452, ptr noundef %8003, ptr noundef %8006, ptr noundef %8009, i32 noundef %8011) #10
  br label %8030

8013:                                             ; preds = %7991, %7984
  %8014 = load i32, ptr %162, align 4, !tbaa !5
  %8015 = call ptr @__errno_location() #11
  store i32 %8014, ptr %8015, align 4, !tbaa !5
  %8016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8017 = load i32, ptr @test_count, align 4, !tbaa !5
  %8018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8019 = load i32, ptr %8018, align 4, !tbaa !5
  %8020 = call ptr @s2n_strerror(i32 noundef %8019, ptr noundef @.str.65)
  %8021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8022 = load i32, ptr %8021, align 4, !tbaa !5
  %8023 = call ptr @s2n_strerror_debug(i32 noundef %8022, ptr noundef @.str.65)
  %8024 = call ptr @__errno_location() #11
  %8025 = load i32, ptr %8024, align 4, !tbaa !5
  %8026 = call ptr @strerror(i32 noundef %8025) #10
  %8027 = call ptr @__errno_location() #11
  %8028 = load i32, ptr %8027, align 4, !tbaa !5
  %8029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8016, ptr noundef @.str.66, i32 noundef %8017, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 452, ptr noundef %8020, ptr noundef %8023, ptr noundef %8026, i32 noundef %8028) #10
  br label %8030

8030:                                             ; preds = %8013, %7996
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %8031

8031:                                             ; preds = %8030
  br label %8032

8032:                                             ; preds = %8031
  call void @exit(i32 noundef 1) #12
  unreachable

8033:                                             ; No predecessors!
  br label %8034

8034:                                             ; preds = %8033
  br label %8035

8035:                                             ; preds = %8034, %7977
  br label %8036

8036:                                             ; preds = %8035
  br label %8037

8037:                                             ; preds = %8036
  br label %8038

8038:                                             ; preds = %8037
  %8039 = load i32, ptr @test_count, align 4, !tbaa !5
  %8040 = add nsw i32 %8039, 1
  store i32 %8040, ptr @test_count, align 4, !tbaa !5
  %8041 = load ptr, ptr %20, align 8, !tbaa !9
  %8042 = call i32 @s2n_config_set_session_state_lifetime(ptr noundef %8041, i64 noundef 54000000000000)
  %8043 = icmp eq i32 %8042, -1
  br i1 %8043, label %8044, label %8097

8044:                                             ; preds = %8038
  br label %8045

8045:                                             ; preds = %8044
  br label %8046

8046:                                             ; preds = %8045
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #10
  %8047 = call ptr @__errno_location() #11
  %8048 = load i32, ptr %8047, align 4, !tbaa !5
  store i32 %8048, ptr %163, align 4, !tbaa !5
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = call i32 @s2n_print_stacktrace(ptr noundef %8049)
  %8051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8052 = trunc i8 %8051 to i1
  br i1 %8052, label %8053, label %8075

8053:                                             ; preds = %8046
  %8054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8055 = call i32 @fileno(ptr noundef %8054) #10
  %8056 = call i32 @isatty(i32 noundef %8055) #10
  %8057 = icmp ne i32 %8056, 0
  br i1 %8057, label %8058, label %8075

8058:                                             ; preds = %8053
  %8059 = load i32, ptr %163, align 4, !tbaa !5
  %8060 = call ptr @__errno_location() #11
  store i32 %8059, ptr %8060, align 4, !tbaa !5
  %8061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8062 = load i32, ptr @test_count, align 4, !tbaa !5
  %8063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8064 = load i32, ptr %8063, align 4, !tbaa !5
  %8065 = call ptr @s2n_strerror(i32 noundef %8064, ptr noundef @.str.65)
  %8066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8067 = load i32, ptr %8066, align 4, !tbaa !5
  %8068 = call ptr @s2n_strerror_debug(i32 noundef %8067, ptr noundef @.str.65)
  %8069 = call ptr @__errno_location() #11
  %8070 = load i32, ptr %8069, align 4, !tbaa !5
  %8071 = call ptr @strerror(i32 noundef %8070) #10
  %8072 = call ptr @__errno_location() #11
  %8073 = load i32, ptr %8072, align 4, !tbaa !5
  %8074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8061, ptr noundef @.str.63, i32 noundef %8062, ptr noundef @.str.142, ptr noundef @.str.62, i32 noundef 453, ptr noundef %8065, ptr noundef %8068, ptr noundef %8071, i32 noundef %8073) #10
  br label %8092

8075:                                             ; preds = %8053, %8046
  %8076 = load i32, ptr %163, align 4, !tbaa !5
  %8077 = call ptr @__errno_location() #11
  store i32 %8076, ptr %8077, align 4, !tbaa !5
  %8078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8079 = load i32, ptr @test_count, align 4, !tbaa !5
  %8080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8081 = load i32, ptr %8080, align 4, !tbaa !5
  %8082 = call ptr @s2n_strerror(i32 noundef %8081, ptr noundef @.str.65)
  %8083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8084 = load i32, ptr %8083, align 4, !tbaa !5
  %8085 = call ptr @s2n_strerror_debug(i32 noundef %8084, ptr noundef @.str.65)
  %8086 = call ptr @__errno_location() #11
  %8087 = load i32, ptr %8086, align 4, !tbaa !5
  %8088 = call ptr @strerror(i32 noundef %8087) #10
  %8089 = call ptr @__errno_location() #11
  %8090 = load i32, ptr %8089, align 4, !tbaa !5
  %8091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8078, ptr noundef @.str.66, i32 noundef %8079, ptr noundef @.str.142, ptr noundef @.str.62, i32 noundef 453, ptr noundef %8082, ptr noundef %8085, ptr noundef %8088, i32 noundef %8090) #10
  br label %8092

8092:                                             ; preds = %8075, %8058
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  br label %8093

8093:                                             ; preds = %8092
  br label %8094

8094:                                             ; preds = %8093
  call void @exit(i32 noundef 1) #12
  unreachable

8095:                                             ; No predecessors!
  br label %8096

8096:                                             ; preds = %8095
  br label %8097

8097:                                             ; preds = %8096, %8038
  br label %8098

8098:                                             ; preds = %8097
  br label %8099

8099:                                             ; preds = %8098
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #10
  store i64 0, ptr %164, align 8, !tbaa !15
  br label %8100

8100:                                             ; preds = %9627, %8099
  %8101 = load i64, ptr %164, align 8, !tbaa !15
  %8102 = icmp ult i64 %8101, 8
  br i1 %8102, label %8104, label %8103

8103:                                             ; preds = %8100
  store i32 739, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #10
  br label %9630

8104:                                             ; preds = %8100
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %8105 = load i64, ptr %164, align 8, !tbaa !15
  %8106 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %12, i64 0, i64 %8105
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %165, ptr align 4 %8106, i64 4, i1 false), !tbaa.struct !26
  %8107 = getelementptr inbounds %struct.s2n_early_data_test_case, ptr %165, i32 0, i32 3
  store i8 0, ptr %8107, align 1, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #10
  %8108 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8108, ptr %166, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #10
  %8109 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8109, ptr %167, align 8, !tbaa !9
  br label %8110

8110:                                             ; preds = %8104
  %8111 = load i32, ptr @test_count, align 4, !tbaa !5
  %8112 = add nsw i32 %8111, 1
  store i32 %8112, ptr @test_count, align 4, !tbaa !5
  %8113 = load ptr, ptr %166, align 8, !tbaa !9
  %8114 = icmp eq ptr %8113, null
  br i1 %8114, label %8115, label %8168

8115:                                             ; preds = %8110
  br label %8116

8116:                                             ; preds = %8115
  br label %8117

8117:                                             ; preds = %8116
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %8118 = call ptr @__errno_location() #11
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  store i32 %8119, ptr %168, align 4, !tbaa !5
  %8120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8121 = call i32 @s2n_print_stacktrace(ptr noundef %8120)
  %8122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8123 = trunc i8 %8122 to i1
  br i1 %8123, label %8124, label %8146

8124:                                             ; preds = %8117
  %8125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8126 = call i32 @fileno(ptr noundef %8125) #10
  %8127 = call i32 @isatty(i32 noundef %8126) #10
  %8128 = icmp ne i32 %8127, 0
  br i1 %8128, label %8129, label %8146

8129:                                             ; preds = %8124
  %8130 = load i32, ptr %168, align 4, !tbaa !5
  %8131 = call ptr @__errno_location() #11
  store i32 %8130, ptr %8131, align 4, !tbaa !5
  %8132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8133 = load i32, ptr @test_count, align 4, !tbaa !5
  %8134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8135 = load i32, ptr %8134, align 4, !tbaa !5
  %8136 = call ptr @s2n_strerror(i32 noundef %8135, ptr noundef @.str.65)
  %8137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8138 = load i32, ptr %8137, align 4, !tbaa !5
  %8139 = call ptr @s2n_strerror_debug(i32 noundef %8138, ptr noundef @.str.65)
  %8140 = call ptr @__errno_location() #11
  %8141 = load i32, ptr %8140, align 4, !tbaa !5
  %8142 = call ptr @strerror(i32 noundef %8141) #10
  %8143 = call ptr @__errno_location() #11
  %8144 = load i32, ptr %8143, align 4, !tbaa !5
  %8145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8132, ptr noundef @.str.63, i32 noundef %8133, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 464, ptr noundef %8136, ptr noundef %8139, ptr noundef %8142, i32 noundef %8144) #10
  br label %8163

8146:                                             ; preds = %8124, %8117
  %8147 = load i32, ptr %168, align 4, !tbaa !5
  %8148 = call ptr @__errno_location() #11
  store i32 %8147, ptr %8148, align 4, !tbaa !5
  %8149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8150 = load i32, ptr @test_count, align 4, !tbaa !5
  %8151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8152 = load i32, ptr %8151, align 4, !tbaa !5
  %8153 = call ptr @s2n_strerror(i32 noundef %8152, ptr noundef @.str.65)
  %8154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8155 = load i32, ptr %8154, align 4, !tbaa !5
  %8156 = call ptr @s2n_strerror_debug(i32 noundef %8155, ptr noundef @.str.65)
  %8157 = call ptr @__errno_location() #11
  %8158 = load i32, ptr %8157, align 4, !tbaa !5
  %8159 = call ptr @strerror(i32 noundef %8158) #10
  %8160 = call ptr @__errno_location() #11
  %8161 = load i32, ptr %8160, align 4, !tbaa !5
  %8162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8149, ptr noundef @.str.66, i32 noundef %8150, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 464, ptr noundef %8153, ptr noundef %8156, ptr noundef %8159, i32 noundef %8161) #10
  br label %8163

8163:                                             ; preds = %8146, %8129
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %8164

8164:                                             ; preds = %8163
  br label %8165

8165:                                             ; preds = %8164
  call void @exit(i32 noundef 1) #12
  unreachable

8166:                                             ; No predecessors!
  br label %8167

8167:                                             ; preds = %8166
  br label %8168

8168:                                             ; preds = %8167, %8110
  br label %8169

8169:                                             ; preds = %8168
  br label %8170

8170:                                             ; preds = %8169
  br label %8171

8171:                                             ; preds = %8170
  %8172 = load i32, ptr @test_count, align 4, !tbaa !5
  %8173 = add nsw i32 %8172, 1
  store i32 %8173, ptr @test_count, align 4, !tbaa !5
  %8174 = load ptr, ptr %167, align 8, !tbaa !9
  %8175 = icmp eq ptr %8174, null
  br i1 %8175, label %8176, label %8229

8176:                                             ; preds = %8171
  br label %8177

8177:                                             ; preds = %8176
  br label %8178

8178:                                             ; preds = %8177
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %8179 = call ptr @__errno_location() #11
  %8180 = load i32, ptr %8179, align 4, !tbaa !5
  store i32 %8180, ptr %169, align 4, !tbaa !5
  %8181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8182 = call i32 @s2n_print_stacktrace(ptr noundef %8181)
  %8183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8184 = trunc i8 %8183 to i1
  br i1 %8184, label %8185, label %8207

8185:                                             ; preds = %8178
  %8186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8187 = call i32 @fileno(ptr noundef %8186) #10
  %8188 = call i32 @isatty(i32 noundef %8187) #10
  %8189 = icmp ne i32 %8188, 0
  br i1 %8189, label %8190, label %8207

8190:                                             ; preds = %8185
  %8191 = load i32, ptr %169, align 4, !tbaa !5
  %8192 = call ptr @__errno_location() #11
  store i32 %8191, ptr %8192, align 4, !tbaa !5
  %8193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8194 = load i32, ptr @test_count, align 4, !tbaa !5
  %8195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror(i32 noundef %8196, ptr noundef @.str.65)
  %8198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call ptr @s2n_strerror_debug(i32 noundef %8199, ptr noundef @.str.65)
  %8201 = call ptr @__errno_location() #11
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call ptr @strerror(i32 noundef %8202) #10
  %8204 = call ptr @__errno_location() #11
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8193, ptr noundef @.str.63, i32 noundef %8194, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 465, ptr noundef %8197, ptr noundef %8200, ptr noundef %8203, i32 noundef %8205) #10
  br label %8224

8207:                                             ; preds = %8185, %8178
  %8208 = load i32, ptr %169, align 4, !tbaa !5
  %8209 = call ptr @__errno_location() #11
  store i32 %8208, ptr %8209, align 4, !tbaa !5
  %8210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8211 = load i32, ptr @test_count, align 4, !tbaa !5
  %8212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8213 = load i32, ptr %8212, align 4, !tbaa !5
  %8214 = call ptr @s2n_strerror(i32 noundef %8213, ptr noundef @.str.65)
  %8215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  %8217 = call ptr @s2n_strerror_debug(i32 noundef %8216, ptr noundef @.str.65)
  %8218 = call ptr @__errno_location() #11
  %8219 = load i32, ptr %8218, align 4, !tbaa !5
  %8220 = call ptr @strerror(i32 noundef %8219) #10
  %8221 = call ptr @__errno_location() #11
  %8222 = load i32, ptr %8221, align 4, !tbaa !5
  %8223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8210, ptr noundef @.str.66, i32 noundef %8211, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 465, ptr noundef %8214, ptr noundef %8217, ptr noundef %8220, i32 noundef %8222) #10
  br label %8224

8224:                                             ; preds = %8207, %8190
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %8225

8225:                                             ; preds = %8224
  br label %8226

8226:                                             ; preds = %8225
  call void @exit(i32 noundef 1) #12
  unreachable

8227:                                             ; No predecessors!
  br label %8228

8228:                                             ; preds = %8227
  br label %8229

8229:                                             ; preds = %8228, %8171
  br label %8230

8230:                                             ; preds = %8229
  br label %8231

8231:                                             ; preds = %8230
  br label %8232

8232:                                             ; preds = %8231
  %8233 = load i32, ptr @test_count, align 4, !tbaa !5
  %8234 = add nsw i32 %8233, 1
  store i32 %8234, ptr @test_count, align 4, !tbaa !5
  %8235 = load ptr, ptr %166, align 8, !tbaa !9
  %8236 = load ptr, ptr %40, align 8, !tbaa !9
  %8237 = call i32 @s2n_connection_set_config(ptr noundef %8235, ptr noundef %8236)
  %8238 = icmp eq i32 %8237, -1
  br i1 %8238, label %8239, label %8292

8239:                                             ; preds = %8232
  br label %8240

8240:                                             ; preds = %8239
  br label %8241

8241:                                             ; preds = %8240
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %8242 = call ptr @__errno_location() #11
  %8243 = load i32, ptr %8242, align 4, !tbaa !5
  store i32 %8243, ptr %170, align 4, !tbaa !5
  %8244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8245 = call i32 @s2n_print_stacktrace(ptr noundef %8244)
  %8246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8247 = trunc i8 %8246 to i1
  br i1 %8247, label %8248, label %8270

8248:                                             ; preds = %8241
  %8249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8250 = call i32 @fileno(ptr noundef %8249) #10
  %8251 = call i32 @isatty(i32 noundef %8250) #10
  %8252 = icmp ne i32 %8251, 0
  br i1 %8252, label %8253, label %8270

8253:                                             ; preds = %8248
  %8254 = load i32, ptr %170, align 4, !tbaa !5
  %8255 = call ptr @__errno_location() #11
  store i32 %8254, ptr %8255, align 4, !tbaa !5
  %8256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8257 = load i32, ptr @test_count, align 4, !tbaa !5
  %8258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8259 = load i32, ptr %8258, align 4, !tbaa !5
  %8260 = call ptr @s2n_strerror(i32 noundef %8259, ptr noundef @.str.65)
  %8261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call ptr @s2n_strerror_debug(i32 noundef %8262, ptr noundef @.str.65)
  %8264 = call ptr @__errno_location() #11
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @strerror(i32 noundef %8265) #10
  %8267 = call ptr @__errno_location() #11
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8256, ptr noundef @.str.63, i32 noundef %8257, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 467, ptr noundef %8260, ptr noundef %8263, ptr noundef %8266, i32 noundef %8268) #10
  br label %8287

8270:                                             ; preds = %8248, %8241
  %8271 = load i32, ptr %170, align 4, !tbaa !5
  %8272 = call ptr @__errno_location() #11
  store i32 %8271, ptr %8272, align 4, !tbaa !5
  %8273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8276 = load i32, ptr %8275, align 4, !tbaa !5
  %8277 = call ptr @s2n_strerror(i32 noundef %8276, ptr noundef @.str.65)
  %8278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8279 = load i32, ptr %8278, align 4, !tbaa !5
  %8280 = call ptr @s2n_strerror_debug(i32 noundef %8279, ptr noundef @.str.65)
  %8281 = call ptr @__errno_location() #11
  %8282 = load i32, ptr %8281, align 4, !tbaa !5
  %8283 = call ptr @strerror(i32 noundef %8282) #10
  %8284 = call ptr @__errno_location() #11
  %8285 = load i32, ptr %8284, align 4, !tbaa !5
  %8286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8273, ptr noundef @.str.66, i32 noundef %8274, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 467, ptr noundef %8277, ptr noundef %8280, ptr noundef %8283, i32 noundef %8285) #10
  br label %8287

8287:                                             ; preds = %8270, %8253
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %8288

8288:                                             ; preds = %8287
  br label %8289

8289:                                             ; preds = %8288
  call void @exit(i32 noundef 1) #12
  unreachable

8290:                                             ; No predecessors!
  br label %8291

8291:                                             ; preds = %8290
  br label %8292

8292:                                             ; preds = %8291, %8232
  br label %8293

8293:                                             ; preds = %8292
  br label %8294

8294:                                             ; preds = %8293
  br label %8295

8295:                                             ; preds = %8294
  %8296 = load i32, ptr @test_count, align 4, !tbaa !5
  %8297 = add nsw i32 %8296, 1
  store i32 %8297, ptr @test_count, align 4, !tbaa !5
  %8298 = load ptr, ptr %167, align 8, !tbaa !9
  %8299 = load ptr, ptr %20, align 8, !tbaa !9
  %8300 = call i32 @s2n_connection_set_config(ptr noundef %8298, ptr noundef %8299)
  %8301 = icmp eq i32 %8300, -1
  br i1 %8301, label %8302, label %8355

8302:                                             ; preds = %8295
  br label %8303

8303:                                             ; preds = %8302
  br label %8304

8304:                                             ; preds = %8303
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %8305 = call ptr @__errno_location() #11
  %8306 = load i32, ptr %8305, align 4, !tbaa !5
  store i32 %8306, ptr %171, align 4, !tbaa !5
  %8307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8308 = call i32 @s2n_print_stacktrace(ptr noundef %8307)
  %8309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8310 = trunc i8 %8309 to i1
  br i1 %8310, label %8311, label %8333

8311:                                             ; preds = %8304
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = call i32 @fileno(ptr noundef %8312) #10
  %8314 = call i32 @isatty(i32 noundef %8313) #10
  %8315 = icmp ne i32 %8314, 0
  br i1 %8315, label %8316, label %8333

8316:                                             ; preds = %8311
  %8317 = load i32, ptr %171, align 4, !tbaa !5
  %8318 = call ptr @__errno_location() #11
  store i32 %8317, ptr %8318, align 4, !tbaa !5
  %8319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8320 = load i32, ptr @test_count, align 4, !tbaa !5
  %8321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8322 = load i32, ptr %8321, align 4, !tbaa !5
  %8323 = call ptr @s2n_strerror(i32 noundef %8322, ptr noundef @.str.65)
  %8324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8325 = load i32, ptr %8324, align 4, !tbaa !5
  %8326 = call ptr @s2n_strerror_debug(i32 noundef %8325, ptr noundef @.str.65)
  %8327 = call ptr @__errno_location() #11
  %8328 = load i32, ptr %8327, align 4, !tbaa !5
  %8329 = call ptr @strerror(i32 noundef %8328) #10
  %8330 = call ptr @__errno_location() #11
  %8331 = load i32, ptr %8330, align 4, !tbaa !5
  %8332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8319, ptr noundef @.str.63, i32 noundef %8320, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 468, ptr noundef %8323, ptr noundef %8326, ptr noundef %8329, i32 noundef %8331) #10
  br label %8350

8333:                                             ; preds = %8311, %8304
  %8334 = load i32, ptr %171, align 4, !tbaa !5
  %8335 = call ptr @__errno_location() #11
  store i32 %8334, ptr %8335, align 4, !tbaa !5
  %8336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8337 = load i32, ptr @test_count, align 4, !tbaa !5
  %8338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8339 = load i32, ptr %8338, align 4, !tbaa !5
  %8340 = call ptr @s2n_strerror(i32 noundef %8339, ptr noundef @.str.65)
  %8341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8342 = load i32, ptr %8341, align 4, !tbaa !5
  %8343 = call ptr @s2n_strerror_debug(i32 noundef %8342, ptr noundef @.str.65)
  %8344 = call ptr @__errno_location() #11
  %8345 = load i32, ptr %8344, align 4, !tbaa !5
  %8346 = call ptr @strerror(i32 noundef %8345) #10
  %8347 = call ptr @__errno_location() #11
  %8348 = load i32, ptr %8347, align 4, !tbaa !5
  %8349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8336, ptr noundef @.str.66, i32 noundef %8337, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 468, ptr noundef %8340, ptr noundef %8343, ptr noundef %8346, i32 noundef %8348) #10
  br label %8350

8350:                                             ; preds = %8333, %8316
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %8351

8351:                                             ; preds = %8350
  br label %8352

8352:                                             ; preds = %8351
  call void @exit(i32 noundef 1) #12
  unreachable

8353:                                             ; No predecessors!
  br label %8354

8354:                                             ; preds = %8353
  br label %8355

8355:                                             ; preds = %8354, %8295
  br label %8356

8356:                                             ; preds = %8355
  br label %8357

8357:                                             ; preds = %8356
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #10
  call void @llvm.memset.p0.i64(ptr align 4 %172, i8 0, i64 8, i1 false)
  br label %8358

8358:                                             ; preds = %8357
  %8359 = load i32, ptr @test_count, align 4, !tbaa !5
  %8360 = add nsw i32 %8359, 1
  store i32 %8360, ptr @test_count, align 4, !tbaa !5
  %8361 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %172)
  %8362 = icmp eq i32 %8361, -1
  br i1 %8362, label %8363, label %8416

8363:                                             ; preds = %8358
  br label %8364

8364:                                             ; preds = %8363
  br label %8365

8365:                                             ; preds = %8364
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #10
  %8366 = call ptr @__errno_location() #11
  %8367 = load i32, ptr %8366, align 4, !tbaa !5
  store i32 %8367, ptr %173, align 4, !tbaa !5
  %8368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8369 = call i32 @s2n_print_stacktrace(ptr noundef %8368)
  %8370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8371 = trunc i8 %8370 to i1
  br i1 %8371, label %8372, label %8394

8372:                                             ; preds = %8365
  %8373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8374 = call i32 @fileno(ptr noundef %8373) #10
  %8375 = call i32 @isatty(i32 noundef %8374) #10
  %8376 = icmp ne i32 %8375, 0
  br i1 %8376, label %8377, label %8394

8377:                                             ; preds = %8372
  %8378 = load i32, ptr %173, align 4, !tbaa !5
  %8379 = call ptr @__errno_location() #11
  store i32 %8378, ptr %8379, align 4, !tbaa !5
  %8380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8381 = load i32, ptr @test_count, align 4, !tbaa !5
  %8382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8383 = load i32, ptr %8382, align 4, !tbaa !5
  %8384 = call ptr @s2n_strerror(i32 noundef %8383, ptr noundef @.str.65)
  %8385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call ptr @s2n_strerror_debug(i32 noundef %8386, ptr noundef @.str.65)
  %8388 = call ptr @__errno_location() #11
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @strerror(i32 noundef %8389) #10
  %8391 = call ptr @__errno_location() #11
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8380, ptr noundef @.str.63, i32 noundef %8381, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 472, ptr noundef %8384, ptr noundef %8387, ptr noundef %8390, i32 noundef %8392) #10
  br label %8411

8394:                                             ; preds = %8372, %8365
  %8395 = load i32, ptr %173, align 4, !tbaa !5
  %8396 = call ptr @__errno_location() #11
  store i32 %8395, ptr %8396, align 4, !tbaa !5
  %8397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8398 = load i32, ptr @test_count, align 4, !tbaa !5
  %8399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror(i32 noundef %8400, ptr noundef @.str.65)
  %8402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call ptr @s2n_strerror_debug(i32 noundef %8403, ptr noundef @.str.65)
  %8405 = call ptr @__errno_location() #11
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call ptr @strerror(i32 noundef %8406) #10
  %8408 = call ptr @__errno_location() #11
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  %8410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8397, ptr noundef @.str.66, i32 noundef %8398, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 472, ptr noundef %8401, ptr noundef %8404, ptr noundef %8407, i32 noundef %8409) #10
  br label %8411

8411:                                             ; preds = %8394, %8377
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %8412

8412:                                             ; preds = %8411
  br label %8413

8413:                                             ; preds = %8412
  call void @exit(i32 noundef 1) #12
  unreachable

8414:                                             ; No predecessors!
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415, %8358
  br label %8417

8417:                                             ; preds = %8416
  br label %8418

8418:                                             ; preds = %8417
  br label %8419

8419:                                             ; preds = %8418
  %8420 = load i32, ptr @test_count, align 4, !tbaa !5
  %8421 = add nsw i32 %8420, 1
  store i32 %8421, ptr @test_count, align 4, !tbaa !5
  %8422 = load ptr, ptr %166, align 8, !tbaa !9
  %8423 = load ptr, ptr %167, align 8, !tbaa !9
  %8424 = call i32 @s2n_connections_set_io_pair(ptr noundef %8422, ptr noundef %8423, ptr noundef %172)
  %8425 = icmp eq i32 %8424, -1
  br i1 %8425, label %8426, label %8479

8426:                                             ; preds = %8419
  br label %8427

8427:                                             ; preds = %8426
  br label %8428

8428:                                             ; preds = %8427
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %8429 = call ptr @__errno_location() #11
  %8430 = load i32, ptr %8429, align 4, !tbaa !5
  store i32 %8430, ptr %174, align 4, !tbaa !5
  %8431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8432 = call i32 @s2n_print_stacktrace(ptr noundef %8431)
  %8433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8434 = trunc i8 %8433 to i1
  br i1 %8434, label %8435, label %8457

8435:                                             ; preds = %8428
  %8436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8437 = call i32 @fileno(ptr noundef %8436) #10
  %8438 = call i32 @isatty(i32 noundef %8437) #10
  %8439 = icmp ne i32 %8438, 0
  br i1 %8439, label %8440, label %8457

8440:                                             ; preds = %8435
  %8441 = load i32, ptr %174, align 4, !tbaa !5
  %8442 = call ptr @__errno_location() #11
  store i32 %8441, ptr %8442, align 4, !tbaa !5
  %8443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8444 = load i32, ptr @test_count, align 4, !tbaa !5
  %8445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8446 = load i32, ptr %8445, align 4, !tbaa !5
  %8447 = call ptr @s2n_strerror(i32 noundef %8446, ptr noundef @.str.65)
  %8448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8449 = load i32, ptr %8448, align 4, !tbaa !5
  %8450 = call ptr @s2n_strerror_debug(i32 noundef %8449, ptr noundef @.str.65)
  %8451 = call ptr @__errno_location() #11
  %8452 = load i32, ptr %8451, align 4, !tbaa !5
  %8453 = call ptr @strerror(i32 noundef %8452) #10
  %8454 = call ptr @__errno_location() #11
  %8455 = load i32, ptr %8454, align 4, !tbaa !5
  %8456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8443, ptr noundef @.str.63, i32 noundef %8444, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 473, ptr noundef %8447, ptr noundef %8450, ptr noundef %8453, i32 noundef %8455) #10
  br label %8474

8457:                                             ; preds = %8435, %8428
  %8458 = load i32, ptr %174, align 4, !tbaa !5
  %8459 = call ptr @__errno_location() #11
  store i32 %8458, ptr %8459, align 4, !tbaa !5
  %8460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8461 = load i32, ptr @test_count, align 4, !tbaa !5
  %8462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8463 = load i32, ptr %8462, align 4, !tbaa !5
  %8464 = call ptr @s2n_strerror(i32 noundef %8463, ptr noundef @.str.65)
  %8465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8466 = load i32, ptr %8465, align 4, !tbaa !5
  %8467 = call ptr @s2n_strerror_debug(i32 noundef %8466, ptr noundef @.str.65)
  %8468 = call ptr @__errno_location() #11
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  %8470 = call ptr @strerror(i32 noundef %8469) #10
  %8471 = call ptr @__errno_location() #11
  %8472 = load i32, ptr %8471, align 4, !tbaa !5
  %8473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8460, ptr noundef @.str.66, i32 noundef %8461, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 473, ptr noundef %8464, ptr noundef %8467, ptr noundef %8470, i32 noundef %8472) #10
  br label %8474

8474:                                             ; preds = %8457, %8440
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %8475

8475:                                             ; preds = %8474
  br label %8476

8476:                                             ; preds = %8475
  call void @exit(i32 noundef 1) #12
  unreachable

8477:                                             ; No predecessors!
  br label %8478

8478:                                             ; preds = %8477
  br label %8479

8479:                                             ; preds = %8478, %8419
  br label %8480

8480:                                             ; preds = %8479
  br label %8481

8481:                                             ; preds = %8480
  br label %8482

8482:                                             ; preds = %8481
  %8483 = load i32, ptr @test_count, align 4, !tbaa !5
  %8484 = add nsw i32 %8483, 1
  store i32 %8484, ptr @test_count, align 4, !tbaa !5
  %8485 = load ptr, ptr %167, align 8, !tbaa !9
  %8486 = load ptr, ptr %166, align 8, !tbaa !9
  %8487 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8485, ptr noundef %8486)
  %8488 = icmp eq i32 %8487, -1
  br i1 %8488, label %8489, label %8542

8489:                                             ; preds = %8482
  br label %8490

8490:                                             ; preds = %8489
  br label %8491

8491:                                             ; preds = %8490
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #10
  %8492 = call ptr @__errno_location() #11
  %8493 = load i32, ptr %8492, align 4, !tbaa !5
  store i32 %8493, ptr %175, align 4, !tbaa !5
  %8494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8495 = call i32 @s2n_print_stacktrace(ptr noundef %8494)
  %8496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8497 = trunc i8 %8496 to i1
  br i1 %8497, label %8498, label %8520

8498:                                             ; preds = %8491
  %8499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8500 = call i32 @fileno(ptr noundef %8499) #10
  %8501 = call i32 @isatty(i32 noundef %8500) #10
  %8502 = icmp ne i32 %8501, 0
  br i1 %8502, label %8503, label %8520

8503:                                             ; preds = %8498
  %8504 = load i32, ptr %175, align 4, !tbaa !5
  %8505 = call ptr @__errno_location() #11
  store i32 %8504, ptr %8505, align 4, !tbaa !5
  %8506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8507 = load i32, ptr @test_count, align 4, !tbaa !5
  %8508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8509 = load i32, ptr %8508, align 4, !tbaa !5
  %8510 = call ptr @s2n_strerror(i32 noundef %8509, ptr noundef @.str.65)
  %8511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8512 = load i32, ptr %8511, align 4, !tbaa !5
  %8513 = call ptr @s2n_strerror_debug(i32 noundef %8512, ptr noundef @.str.65)
  %8514 = call ptr @__errno_location() #11
  %8515 = load i32, ptr %8514, align 4, !tbaa !5
  %8516 = call ptr @strerror(i32 noundef %8515) #10
  %8517 = call ptr @__errno_location() #11
  %8518 = load i32, ptr %8517, align 4, !tbaa !5
  %8519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8506, ptr noundef @.str.63, i32 noundef %8507, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 476, ptr noundef %8510, ptr noundef %8513, ptr noundef %8516, i32 noundef %8518) #10
  br label %8537

8520:                                             ; preds = %8498, %8491
  %8521 = load i32, ptr %175, align 4, !tbaa !5
  %8522 = call ptr @__errno_location() #11
  store i32 %8521, ptr %8522, align 4, !tbaa !5
  %8523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8524 = load i32, ptr @test_count, align 4, !tbaa !5
  %8525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8526 = load i32, ptr %8525, align 4, !tbaa !5
  %8527 = call ptr @s2n_strerror(i32 noundef %8526, ptr noundef @.str.65)
  %8528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8529 = load i32, ptr %8528, align 4, !tbaa !5
  %8530 = call ptr @s2n_strerror_debug(i32 noundef %8529, ptr noundef @.str.65)
  %8531 = call ptr @__errno_location() #11
  %8532 = load i32, ptr %8531, align 4, !tbaa !5
  %8533 = call ptr @strerror(i32 noundef %8532) #10
  %8534 = call ptr @__errno_location() #11
  %8535 = load i32, ptr %8534, align 4, !tbaa !5
  %8536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8523, ptr noundef @.str.66, i32 noundef %8524, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 476, ptr noundef %8527, ptr noundef %8530, ptr noundef %8533, i32 noundef %8535) #10
  br label %8537

8537:                                             ; preds = %8520, %8503
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #10
  br label %8538

8538:                                             ; preds = %8537
  br label %8539

8539:                                             ; preds = %8538
  call void @exit(i32 noundef 1) #12
  unreachable

8540:                                             ; No predecessors!
  br label %8541

8541:                                             ; preds = %8540
  br label %8542

8542:                                             ; preds = %8541, %8482
  br label %8543

8543:                                             ; preds = %8542
  br label %8544

8544:                                             ; preds = %8543
  br label %8545

8545:                                             ; preds = %8544
  %8546 = load i32, ptr @test_count, align 4, !tbaa !5
  %8547 = add nsw i32 %8546, 1
  store i32 %8547, ptr @test_count, align 4, !tbaa !5
  %8548 = load ptr, ptr %166, align 8, !tbaa !9
  %8549 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8548, i32 noundef 2)
  br i1 %8549, label %8550, label %8553

8550:                                             ; preds = %8545
  %8551 = load ptr, ptr %167, align 8, !tbaa !9
  %8552 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8551, i32 noundef 2)
  br i1 %8552, label %8606, label %8553

8553:                                             ; preds = %8550, %8545
  br label %8554

8554:                                             ; preds = %8553
  br label %8555

8555:                                             ; preds = %8554
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #10
  %8556 = call ptr @__errno_location() #11
  %8557 = load i32, ptr %8556, align 4, !tbaa !5
  store i32 %8557, ptr %176, align 4, !tbaa !5
  %8558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8559 = call i32 @s2n_print_stacktrace(ptr noundef %8558)
  %8560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8561 = trunc i8 %8560 to i1
  br i1 %8561, label %8562, label %8584

8562:                                             ; preds = %8555
  %8563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8564 = call i32 @fileno(ptr noundef %8563) #10
  %8565 = call i32 @isatty(i32 noundef %8564) #10
  %8566 = icmp ne i32 %8565, 0
  br i1 %8566, label %8567, label %8584

8567:                                             ; preds = %8562
  %8568 = load i32, ptr %176, align 4, !tbaa !5
  %8569 = call ptr @__errno_location() #11
  store i32 %8568, ptr %8569, align 4, !tbaa !5
  %8570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8571 = load i32, ptr @test_count, align 4, !tbaa !5
  %8572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8573 = load i32, ptr %8572, align 4, !tbaa !5
  %8574 = call ptr @s2n_strerror(i32 noundef %8573, ptr noundef @.str.65)
  %8575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8576 = load i32, ptr %8575, align 4, !tbaa !5
  %8577 = call ptr @s2n_strerror_debug(i32 noundef %8576, ptr noundef @.str.65)
  %8578 = call ptr @__errno_location() #11
  %8579 = load i32, ptr %8578, align 4, !tbaa !5
  %8580 = call ptr @strerror(i32 noundef %8579) #10
  %8581 = call ptr @__errno_location() #11
  %8582 = load i32, ptr %8581, align 4, !tbaa !5
  %8583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8570, ptr noundef @.str.63, i32 noundef %8571, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 477, ptr noundef %8574, ptr noundef %8577, ptr noundef %8580, i32 noundef %8582) #10
  br label %8601

8584:                                             ; preds = %8562, %8555
  %8585 = load i32, ptr %176, align 4, !tbaa !5
  %8586 = call ptr @__errno_location() #11
  store i32 %8585, ptr %8586, align 4, !tbaa !5
  %8587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8588 = load i32, ptr @test_count, align 4, !tbaa !5
  %8589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8590 = load i32, ptr %8589, align 4, !tbaa !5
  %8591 = call ptr @s2n_strerror(i32 noundef %8590, ptr noundef @.str.65)
  %8592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8593 = load i32, ptr %8592, align 4, !tbaa !5
  %8594 = call ptr @s2n_strerror_debug(i32 noundef %8593, ptr noundef @.str.65)
  %8595 = call ptr @__errno_location() #11
  %8596 = load i32, ptr %8595, align 4, !tbaa !5
  %8597 = call ptr @strerror(i32 noundef %8596) #10
  %8598 = call ptr @__errno_location() #11
  %8599 = load i32, ptr %8598, align 4, !tbaa !5
  %8600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8587, ptr noundef @.str.66, i32 noundef %8588, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 477, ptr noundef %8591, ptr noundef %8594, ptr noundef %8597, i32 noundef %8599) #10
  br label %8601

8601:                                             ; preds = %8584, %8567
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #10
  br label %8602

8602:                                             ; preds = %8601
  br label %8603

8603:                                             ; preds = %8602
  call void @exit(i32 noundef 1) #12
  unreachable

8604:                                             ; No predecessors!
  br label %8605

8605:                                             ; preds = %8604
  br label %8606

8606:                                             ; preds = %8605, %8550
  br label %8607

8607:                                             ; preds = %8606
  br label %8608

8608:                                             ; preds = %8607
  br label %8609

8609:                                             ; preds = %8608
  %8610 = load i32, ptr @test_count, align 4, !tbaa !5
  %8611 = add nsw i32 %8610, 1
  store i32 %8611, ptr @test_count, align 4, !tbaa !5
  %8612 = load ptr, ptr %167, align 8, !tbaa !9
  %8613 = load ptr, ptr %166, align 8, !tbaa !9
  %8614 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %8612, ptr noundef %8613, ptr noundef %165)
  %8615 = getelementptr inbounds %struct.s2n_result, ptr %177, i32 0, i32 0
  store i32 %8614, ptr %8615, align 4
  %8616 = getelementptr inbounds %struct.s2n_result, ptr %177, i32 0, i32 0
  %8617 = load i32, ptr %8616, align 4
  %8618 = call zeroext i1 @s2n_result_is_ok(i32 %8617)
  br i1 %8618, label %8672, label %8619

8619:                                             ; preds = %8609
  br label %8620

8620:                                             ; preds = %8619
  br label %8621

8621:                                             ; preds = %8620
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  %8622 = call ptr @__errno_location() #11
  %8623 = load i32, ptr %8622, align 4, !tbaa !5
  store i32 %8623, ptr %178, align 4, !tbaa !5
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = call i32 @s2n_print_stacktrace(ptr noundef %8624)
  %8626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8627 = trunc i8 %8626 to i1
  br i1 %8627, label %8628, label %8650

8628:                                             ; preds = %8621
  %8629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8630 = call i32 @fileno(ptr noundef %8629) #10
  %8631 = call i32 @isatty(i32 noundef %8630) #10
  %8632 = icmp ne i32 %8631, 0
  br i1 %8632, label %8633, label %8650

8633:                                             ; preds = %8628
  %8634 = load i32, ptr %178, align 4, !tbaa !5
  %8635 = call ptr @__errno_location() #11
  store i32 %8634, ptr %8635, align 4, !tbaa !5
  %8636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8637 = load i32, ptr @test_count, align 4, !tbaa !5
  %8638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8639 = load i32, ptr %8638, align 4, !tbaa !5
  %8640 = call ptr @s2n_strerror(i32 noundef %8639, ptr noundef @.str.65)
  %8641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8642 = load i32, ptr %8641, align 4, !tbaa !5
  %8643 = call ptr @s2n_strerror_debug(i32 noundef %8642, ptr noundef @.str.65)
  %8644 = call ptr @__errno_location() #11
  %8645 = load i32, ptr %8644, align 4, !tbaa !5
  %8646 = call ptr @strerror(i32 noundef %8645) #10
  %8647 = call ptr @__errno_location() #11
  %8648 = load i32, ptr %8647, align 4, !tbaa !5
  %8649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8636, ptr noundef @.str.63, i32 noundef %8637, ptr noundef @.str.117, ptr noundef @.str.62, i32 noundef 480, ptr noundef %8640, ptr noundef %8643, ptr noundef %8646, i32 noundef %8648) #10
  br label %8667

8650:                                             ; preds = %8628, %8621
  %8651 = load i32, ptr %178, align 4, !tbaa !5
  %8652 = call ptr @__errno_location() #11
  store i32 %8651, ptr %8652, align 4, !tbaa !5
  %8653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8654 = load i32, ptr @test_count, align 4, !tbaa !5
  %8655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8656 = load i32, ptr %8655, align 4, !tbaa !5
  %8657 = call ptr @s2n_strerror(i32 noundef %8656, ptr noundef @.str.65)
  %8658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8659 = load i32, ptr %8658, align 4, !tbaa !5
  %8660 = call ptr @s2n_strerror_debug(i32 noundef %8659, ptr noundef @.str.65)
  %8661 = call ptr @__errno_location() #11
  %8662 = load i32, ptr %8661, align 4, !tbaa !5
  %8663 = call ptr @strerror(i32 noundef %8662) #10
  %8664 = call ptr @__errno_location() #11
  %8665 = load i32, ptr %8664, align 4, !tbaa !5
  %8666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8653, ptr noundef @.str.66, i32 noundef %8654, ptr noundef @.str.117, ptr noundef @.str.62, i32 noundef 480, ptr noundef %8657, ptr noundef %8660, ptr noundef %8663, i32 noundef %8665) #10
  br label %8667

8667:                                             ; preds = %8650, %8633
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #10
  br label %8668

8668:                                             ; preds = %8667
  br label %8669

8669:                                             ; preds = %8668
  call void @exit(i32 noundef 1) #12
  unreachable

8670:                                             ; No predecessors!
  br label %8671

8671:                                             ; preds = %8670
  br label %8672

8672:                                             ; preds = %8671, %8609
  br label %8673

8673:                                             ; preds = %8672
  br label %8674

8674:                                             ; preds = %8673
  br label %8675

8675:                                             ; preds = %8674
  %8676 = load i32, ptr @test_count, align 4, !tbaa !5
  %8677 = add nsw i32 %8676, 1
  store i32 %8677, ptr @test_count, align 4, !tbaa !5
  %8678 = load ptr, ptr %167, align 8, !tbaa !9
  %8679 = load ptr, ptr %166, align 8, !tbaa !9
  %8680 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %8678, ptr noundef %8679)
  %8681 = icmp eq i32 %8680, -1
  br i1 %8681, label %8682, label %8735

8682:                                             ; preds = %8675
  br label %8683

8683:                                             ; preds = %8682
  br label %8684

8684:                                             ; preds = %8683
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #10
  %8685 = call ptr @__errno_location() #11
  %8686 = load i32, ptr %8685, align 4, !tbaa !5
  store i32 %8686, ptr %179, align 4, !tbaa !5
  %8687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8688 = call i32 @s2n_print_stacktrace(ptr noundef %8687)
  %8689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8690 = trunc i8 %8689 to i1
  br i1 %8690, label %8691, label %8713

8691:                                             ; preds = %8684
  %8692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8693 = call i32 @fileno(ptr noundef %8692) #10
  %8694 = call i32 @isatty(i32 noundef %8693) #10
  %8695 = icmp ne i32 %8694, 0
  br i1 %8695, label %8696, label %8713

8696:                                             ; preds = %8691
  %8697 = load i32, ptr %179, align 4, !tbaa !5
  %8698 = call ptr @__errno_location() #11
  store i32 %8697, ptr %8698, align 4, !tbaa !5
  %8699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8700 = load i32, ptr @test_count, align 4, !tbaa !5
  %8701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8702 = load i32, ptr %8701, align 4, !tbaa !5
  %8703 = call ptr @s2n_strerror(i32 noundef %8702, ptr noundef @.str.65)
  %8704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  %8706 = call ptr @s2n_strerror_debug(i32 noundef %8705, ptr noundef @.str.65)
  %8707 = call ptr @__errno_location() #11
  %8708 = load i32, ptr %8707, align 4, !tbaa !5
  %8709 = call ptr @strerror(i32 noundef %8708) #10
  %8710 = call ptr @__errno_location() #11
  %8711 = load i32, ptr %8710, align 4, !tbaa !5
  %8712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8699, ptr noundef @.str.63, i32 noundef %8700, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 483, ptr noundef %8703, ptr noundef %8706, ptr noundef %8709, i32 noundef %8711) #10
  br label %8730

8713:                                             ; preds = %8691, %8684
  %8714 = load i32, ptr %179, align 4, !tbaa !5
  %8715 = call ptr @__errno_location() #11
  store i32 %8714, ptr %8715, align 4, !tbaa !5
  %8716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8717 = load i32, ptr @test_count, align 4, !tbaa !5
  %8718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8719 = load i32, ptr %8718, align 4, !tbaa !5
  %8720 = call ptr @s2n_strerror(i32 noundef %8719, ptr noundef @.str.65)
  %8721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8722 = load i32, ptr %8721, align 4, !tbaa !5
  %8723 = call ptr @s2n_strerror_debug(i32 noundef %8722, ptr noundef @.str.65)
  %8724 = call ptr @__errno_location() #11
  %8725 = load i32, ptr %8724, align 4, !tbaa !5
  %8726 = call ptr @strerror(i32 noundef %8725) #10
  %8727 = call ptr @__errno_location() #11
  %8728 = load i32, ptr %8727, align 4, !tbaa !5
  %8729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8716, ptr noundef @.str.66, i32 noundef %8717, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 483, ptr noundef %8720, ptr noundef %8723, ptr noundef %8726, i32 noundef %8728) #10
  br label %8730

8730:                                             ; preds = %8713, %8696
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  br label %8731

8731:                                             ; preds = %8730
  br label %8732

8732:                                             ; preds = %8731
  call void @exit(i32 noundef 1) #12
  unreachable

8733:                                             ; No predecessors!
  br label %8734

8734:                                             ; preds = %8733
  br label %8735

8735:                                             ; preds = %8734, %8675
  br label %8736

8736:                                             ; preds = %8735
  br label %8737

8737:                                             ; preds = %8736
  br label %8738

8738:                                             ; preds = %8737
  %8739 = load i32, ptr @test_count, align 4, !tbaa !5
  %8740 = add nsw i32 %8739, 1
  store i32 %8740, ptr @test_count, align 4, !tbaa !5
  %8741 = load ptr, ptr %166, align 8, !tbaa !9
  %8742 = call i32 @s2n_connection_wipe(ptr noundef %8741)
  %8743 = icmp eq i32 %8742, -1
  br i1 %8743, label %8744, label %8797

8744:                                             ; preds = %8738
  br label %8745

8745:                                             ; preds = %8744
  br label %8746

8746:                                             ; preds = %8745
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #10
  %8747 = call ptr @__errno_location() #11
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  store i32 %8748, ptr %180, align 4, !tbaa !5
  %8749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8750 = call i32 @s2n_print_stacktrace(ptr noundef %8749)
  %8751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8752 = trunc i8 %8751 to i1
  br i1 %8752, label %8753, label %8775

8753:                                             ; preds = %8746
  %8754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8755 = call i32 @fileno(ptr noundef %8754) #10
  %8756 = call i32 @isatty(i32 noundef %8755) #10
  %8757 = icmp ne i32 %8756, 0
  br i1 %8757, label %8758, label %8775

8758:                                             ; preds = %8753
  %8759 = load i32, ptr %180, align 4, !tbaa !5
  %8760 = call ptr @__errno_location() #11
  store i32 %8759, ptr %8760, align 4, !tbaa !5
  %8761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8762 = load i32, ptr @test_count, align 4, !tbaa !5
  %8763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8764 = load i32, ptr %8763, align 4, !tbaa !5
  %8765 = call ptr @s2n_strerror(i32 noundef %8764, ptr noundef @.str.65)
  %8766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8767 = load i32, ptr %8766, align 4, !tbaa !5
  %8768 = call ptr @s2n_strerror_debug(i32 noundef %8767, ptr noundef @.str.65)
  %8769 = call ptr @__errno_location() #11
  %8770 = load i32, ptr %8769, align 4, !tbaa !5
  %8771 = call ptr @strerror(i32 noundef %8770) #10
  %8772 = call ptr @__errno_location() #11
  %8773 = load i32, ptr %8772, align 4, !tbaa !5
  %8774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8761, ptr noundef @.str.63, i32 noundef %8762, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 484, ptr noundef %8765, ptr noundef %8768, ptr noundef %8771, i32 noundef %8773) #10
  br label %8792

8775:                                             ; preds = %8753, %8746
  %8776 = load i32, ptr %180, align 4, !tbaa !5
  %8777 = call ptr @__errno_location() #11
  store i32 %8776, ptr %8777, align 4, !tbaa !5
  %8778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8779 = load i32, ptr @test_count, align 4, !tbaa !5
  %8780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8781 = load i32, ptr %8780, align 4, !tbaa !5
  %8782 = call ptr @s2n_strerror(i32 noundef %8781, ptr noundef @.str.65)
  %8783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8784 = load i32, ptr %8783, align 4, !tbaa !5
  %8785 = call ptr @s2n_strerror_debug(i32 noundef %8784, ptr noundef @.str.65)
  %8786 = call ptr @__errno_location() #11
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  %8788 = call ptr @strerror(i32 noundef %8787) #10
  %8789 = call ptr @__errno_location() #11
  %8790 = load i32, ptr %8789, align 4, !tbaa !5
  %8791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8778, ptr noundef @.str.66, i32 noundef %8779, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 484, ptr noundef %8782, ptr noundef %8785, ptr noundef %8788, i32 noundef %8790) #10
  br label %8792

8792:                                             ; preds = %8775, %8758
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #10
  br label %8793

8793:                                             ; preds = %8792
  br label %8794

8794:                                             ; preds = %8793
  call void @exit(i32 noundef 1) #12
  unreachable

8795:                                             ; No predecessors!
  br label %8796

8796:                                             ; preds = %8795
  br label %8797

8797:                                             ; preds = %8796, %8738
  br label %8798

8798:                                             ; preds = %8797
  br label %8799

8799:                                             ; preds = %8798
  br label %8800

8800:                                             ; preds = %8799
  %8801 = load i32, ptr @test_count, align 4, !tbaa !5
  %8802 = add nsw i32 %8801, 1
  store i32 %8802, ptr @test_count, align 4, !tbaa !5
  %8803 = load ptr, ptr %167, align 8, !tbaa !9
  %8804 = call i32 @s2n_connection_wipe(ptr noundef %8803)
  %8805 = icmp eq i32 %8804, -1
  br i1 %8805, label %8806, label %8859

8806:                                             ; preds = %8800
  br label %8807

8807:                                             ; preds = %8806
  br label %8808

8808:                                             ; preds = %8807
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #10
  %8809 = call ptr @__errno_location() #11
  %8810 = load i32, ptr %8809, align 4, !tbaa !5
  store i32 %8810, ptr %181, align 4, !tbaa !5
  %8811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8812 = call i32 @s2n_print_stacktrace(ptr noundef %8811)
  %8813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8814 = trunc i8 %8813 to i1
  br i1 %8814, label %8815, label %8837

8815:                                             ; preds = %8808
  %8816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8817 = call i32 @fileno(ptr noundef %8816) #10
  %8818 = call i32 @isatty(i32 noundef %8817) #10
  %8819 = icmp ne i32 %8818, 0
  br i1 %8819, label %8820, label %8837

8820:                                             ; preds = %8815
  %8821 = load i32, ptr %181, align 4, !tbaa !5
  %8822 = call ptr @__errno_location() #11
  store i32 %8821, ptr %8822, align 4, !tbaa !5
  %8823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8824 = load i32, ptr @test_count, align 4, !tbaa !5
  %8825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8826 = load i32, ptr %8825, align 4, !tbaa !5
  %8827 = call ptr @s2n_strerror(i32 noundef %8826, ptr noundef @.str.65)
  %8828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8829 = load i32, ptr %8828, align 4, !tbaa !5
  %8830 = call ptr @s2n_strerror_debug(i32 noundef %8829, ptr noundef @.str.65)
  %8831 = call ptr @__errno_location() #11
  %8832 = load i32, ptr %8831, align 4, !tbaa !5
  %8833 = call ptr @strerror(i32 noundef %8832) #10
  %8834 = call ptr @__errno_location() #11
  %8835 = load i32, ptr %8834, align 4, !tbaa !5
  %8836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8823, ptr noundef @.str.63, i32 noundef %8824, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 485, ptr noundef %8827, ptr noundef %8830, ptr noundef %8833, i32 noundef %8835) #10
  br label %8854

8837:                                             ; preds = %8815, %8808
  %8838 = load i32, ptr %181, align 4, !tbaa !5
  %8839 = call ptr @__errno_location() #11
  store i32 %8838, ptr %8839, align 4, !tbaa !5
  %8840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8841 = load i32, ptr @test_count, align 4, !tbaa !5
  %8842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8843 = load i32, ptr %8842, align 4, !tbaa !5
  %8844 = call ptr @s2n_strerror(i32 noundef %8843, ptr noundef @.str.65)
  %8845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8846 = load i32, ptr %8845, align 4, !tbaa !5
  %8847 = call ptr @s2n_strerror_debug(i32 noundef %8846, ptr noundef @.str.65)
  %8848 = call ptr @__errno_location() #11
  %8849 = load i32, ptr %8848, align 4, !tbaa !5
  %8850 = call ptr @strerror(i32 noundef %8849) #10
  %8851 = call ptr @__errno_location() #11
  %8852 = load i32, ptr %8851, align 4, !tbaa !5
  %8853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8840, ptr noundef @.str.66, i32 noundef %8841, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 485, ptr noundef %8844, ptr noundef %8847, ptr noundef %8850, i32 noundef %8852) #10
  br label %8854

8854:                                             ; preds = %8837, %8820
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #10
  br label %8855

8855:                                             ; preds = %8854
  br label %8856

8856:                                             ; preds = %8855
  call void @exit(i32 noundef 1) #12
  unreachable

8857:                                             ; No predecessors!
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

8859:                                             ; preds = %8858, %8800
  br label %8860

8860:                                             ; preds = %8859
  br label %8861

8861:                                             ; preds = %8860
  br label %8862

8862:                                             ; preds = %8861
  %8863 = load i32, ptr @test_count, align 4, !tbaa !5
  %8864 = add nsw i32 %8863, 1
  store i32 %8864, ptr @test_count, align 4, !tbaa !5
  %8865 = load ptr, ptr %166, align 8, !tbaa !9
  %8866 = load ptr, ptr %167, align 8, !tbaa !9
  %8867 = call i32 @s2n_connections_set_io_pair(ptr noundef %8865, ptr noundef %8866, ptr noundef %172)
  %8868 = icmp eq i32 %8867, -1
  br i1 %8868, label %8869, label %8922

8869:                                             ; preds = %8862
  br label %8870

8870:                                             ; preds = %8869
  br label %8871

8871:                                             ; preds = %8870
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #10
  %8872 = call ptr @__errno_location() #11
  %8873 = load i32, ptr %8872, align 4, !tbaa !5
  store i32 %8873, ptr %182, align 4, !tbaa !5
  %8874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8875 = call i32 @s2n_print_stacktrace(ptr noundef %8874)
  %8876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8877 = trunc i8 %8876 to i1
  br i1 %8877, label %8878, label %8900

8878:                                             ; preds = %8871
  %8879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8880 = call i32 @fileno(ptr noundef %8879) #10
  %8881 = call i32 @isatty(i32 noundef %8880) #10
  %8882 = icmp ne i32 %8881, 0
  br i1 %8882, label %8883, label %8900

8883:                                             ; preds = %8878
  %8884 = load i32, ptr %182, align 4, !tbaa !5
  %8885 = call ptr @__errno_location() #11
  store i32 %8884, ptr %8885, align 4, !tbaa !5
  %8886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8887 = load i32, ptr @test_count, align 4, !tbaa !5
  %8888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8889 = load i32, ptr %8888, align 4, !tbaa !5
  %8890 = call ptr @s2n_strerror(i32 noundef %8889, ptr noundef @.str.65)
  %8891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8892 = load i32, ptr %8891, align 4, !tbaa !5
  %8893 = call ptr @s2n_strerror_debug(i32 noundef %8892, ptr noundef @.str.65)
  %8894 = call ptr @__errno_location() #11
  %8895 = load i32, ptr %8894, align 4, !tbaa !5
  %8896 = call ptr @strerror(i32 noundef %8895) #10
  %8897 = call ptr @__errno_location() #11
  %8898 = load i32, ptr %8897, align 4, !tbaa !5
  %8899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8886, ptr noundef @.str.63, i32 noundef %8887, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 486, ptr noundef %8890, ptr noundef %8893, ptr noundef %8896, i32 noundef %8898) #10
  br label %8917

8900:                                             ; preds = %8878, %8871
  %8901 = load i32, ptr %182, align 4, !tbaa !5
  %8902 = call ptr @__errno_location() #11
  store i32 %8901, ptr %8902, align 4, !tbaa !5
  %8903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8904 = load i32, ptr @test_count, align 4, !tbaa !5
  %8905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8906 = load i32, ptr %8905, align 4, !tbaa !5
  %8907 = call ptr @s2n_strerror(i32 noundef %8906, ptr noundef @.str.65)
  %8908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8909 = load i32, ptr %8908, align 4, !tbaa !5
  %8910 = call ptr @s2n_strerror_debug(i32 noundef %8909, ptr noundef @.str.65)
  %8911 = call ptr @__errno_location() #11
  %8912 = load i32, ptr %8911, align 4, !tbaa !5
  %8913 = call ptr @strerror(i32 noundef %8912) #10
  %8914 = call ptr @__errno_location() #11
  %8915 = load i32, ptr %8914, align 4, !tbaa !5
  %8916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8903, ptr noundef @.str.66, i32 noundef %8904, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 486, ptr noundef %8907, ptr noundef %8910, ptr noundef %8913, i32 noundef %8915) #10
  br label %8917

8917:                                             ; preds = %8900, %8883
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #10
  br label %8918

8918:                                             ; preds = %8917
  br label %8919

8919:                                             ; preds = %8918
  call void @exit(i32 noundef 1) #12
  unreachable

8920:                                             ; No predecessors!
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921, %8862
  br label %8923

8923:                                             ; preds = %8922
  br label %8924

8924:                                             ; preds = %8923
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #10
  %8925 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %8926 = load i32, ptr %8925, align 4, !tbaa !27
  %8927 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %8928 = load i32, ptr %8927, align 8, !tbaa !30
  %8929 = sub i32 %8926, %8928
  %8930 = zext i32 %8929 to i64
  store i64 %8930, ptr %183, align 8, !tbaa !15
  br label %8931

8931:                                             ; preds = %8924
  %8932 = load i32, ptr @test_count, align 4, !tbaa !5
  %8933 = add nsw i32 %8932, 1
  store i32 %8933, ptr @test_count, align 4, !tbaa !5
  %8934 = load ptr, ptr %166, align 8, !tbaa !9
  %8935 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 0
  %8936 = getelementptr inbounds %struct.s2n_blob, ptr %8935, i32 0, i32 0
  %8937 = load ptr, ptr %8936, align 8, !tbaa !31
  %8938 = load i64, ptr %183, align 8, !tbaa !15
  %8939 = call i32 @s2n_connection_set_session(ptr noundef %8934, ptr noundef %8937, i64 noundef %8938)
  %8940 = icmp eq i32 %8939, -1
  br i1 %8940, label %8941, label %8994

8941:                                             ; preds = %8931
  br label %8942

8942:                                             ; preds = %8941
  br label %8943

8943:                                             ; preds = %8942
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %8944 = call ptr @__errno_location() #11
  %8945 = load i32, ptr %8944, align 4, !tbaa !5
  store i32 %8945, ptr %184, align 4, !tbaa !5
  %8946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8947 = call i32 @s2n_print_stacktrace(ptr noundef %8946)
  %8948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8949 = trunc i8 %8948 to i1
  br i1 %8949, label %8950, label %8972

8950:                                             ; preds = %8943
  %8951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8952 = call i32 @fileno(ptr noundef %8951) #10
  %8953 = call i32 @isatty(i32 noundef %8952) #10
  %8954 = icmp ne i32 %8953, 0
  br i1 %8954, label %8955, label %8972

8955:                                             ; preds = %8950
  %8956 = load i32, ptr %184, align 4, !tbaa !5
  %8957 = call ptr @__errno_location() #11
  store i32 %8956, ptr %8957, align 4, !tbaa !5
  %8958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8959 = load i32, ptr @test_count, align 4, !tbaa !5
  %8960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8961 = load i32, ptr %8960, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror(i32 noundef %8961, ptr noundef @.str.65)
  %8963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8964 = load i32, ptr %8963, align 4, !tbaa !5
  %8965 = call ptr @s2n_strerror_debug(i32 noundef %8964, ptr noundef @.str.65)
  %8966 = call ptr @__errno_location() #11
  %8967 = load i32, ptr %8966, align 4, !tbaa !5
  %8968 = call ptr @strerror(i32 noundef %8967) #10
  %8969 = call ptr @__errno_location() #11
  %8970 = load i32, ptr %8969, align 4, !tbaa !5
  %8971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8958, ptr noundef @.str.63, i32 noundef %8959, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 490, ptr noundef %8962, ptr noundef %8965, ptr noundef %8968, i32 noundef %8970) #10
  br label %8989

8972:                                             ; preds = %8950, %8943
  %8973 = load i32, ptr %184, align 4, !tbaa !5
  %8974 = call ptr @__errno_location() #11
  store i32 %8973, ptr %8974, align 4, !tbaa !5
  %8975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8976 = load i32, ptr @test_count, align 4, !tbaa !5
  %8977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8978 = load i32, ptr %8977, align 4, !tbaa !5
  %8979 = call ptr @s2n_strerror(i32 noundef %8978, ptr noundef @.str.65)
  %8980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8981 = load i32, ptr %8980, align 4, !tbaa !5
  %8982 = call ptr @s2n_strerror_debug(i32 noundef %8981, ptr noundef @.str.65)
  %8983 = call ptr @__errno_location() #11
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  %8985 = call ptr @strerror(i32 noundef %8984) #10
  %8986 = call ptr @__errno_location() #11
  %8987 = load i32, ptr %8986, align 4, !tbaa !5
  %8988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8975, ptr noundef @.str.66, i32 noundef %8976, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 490, ptr noundef %8979, ptr noundef %8982, ptr noundef %8985, i32 noundef %8987) #10
  br label %8989

8989:                                             ; preds = %8972, %8955
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %8990

8990:                                             ; preds = %8989
  br label %8991

8991:                                             ; preds = %8990
  call void @exit(i32 noundef 1) #12
  unreachable

8992:                                             ; No predecessors!
  br label %8993

8993:                                             ; preds = %8992
  br label %8994

8994:                                             ; preds = %8993, %8931
  br label %8995

8995:                                             ; preds = %8994
  br label %8996

8996:                                             ; preds = %8995
  br label %8997

8997:                                             ; preds = %8996
  %8998 = load i32, ptr @test_count, align 4, !tbaa !5
  %8999 = add nsw i32 %8998, 1
  store i32 %8999, ptr @test_count, align 4, !tbaa !5
  %9000 = call i32 @s2n_stuffer_rewrite(ptr noundef %45)
  %9001 = icmp eq i32 %9000, -1
  br i1 %9001, label %9002, label %9055

9002:                                             ; preds = %8997
  br label %9003

9003:                                             ; preds = %9002
  br label %9004

9004:                                             ; preds = %9003
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  %9005 = call ptr @__errno_location() #11
  %9006 = load i32, ptr %9005, align 4, !tbaa !5
  store i32 %9006, ptr %185, align 4, !tbaa !5
  %9007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9008 = call i32 @s2n_print_stacktrace(ptr noundef %9007)
  %9009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9010 = trunc i8 %9009 to i1
  br i1 %9010, label %9011, label %9033

9011:                                             ; preds = %9004
  %9012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9013 = call i32 @fileno(ptr noundef %9012) #10
  %9014 = call i32 @isatty(i32 noundef %9013) #10
  %9015 = icmp ne i32 %9014, 0
  br i1 %9015, label %9016, label %9033

9016:                                             ; preds = %9011
  %9017 = load i32, ptr %185, align 4, !tbaa !5
  %9018 = call ptr @__errno_location() #11
  store i32 %9017, ptr %9018, align 4, !tbaa !5
  %9019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9020 = load i32, ptr @test_count, align 4, !tbaa !5
  %9021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9022 = load i32, ptr %9021, align 4, !tbaa !5
  %9023 = call ptr @s2n_strerror(i32 noundef %9022, ptr noundef @.str.65)
  %9024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9025 = load i32, ptr %9024, align 4, !tbaa !5
  %9026 = call ptr @s2n_strerror_debug(i32 noundef %9025, ptr noundef @.str.65)
  %9027 = call ptr @__errno_location() #11
  %9028 = load i32, ptr %9027, align 4, !tbaa !5
  %9029 = call ptr @strerror(i32 noundef %9028) #10
  %9030 = call ptr @__errno_location() #11
  %9031 = load i32, ptr %9030, align 4, !tbaa !5
  %9032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9019, ptr noundef @.str.63, i32 noundef %9020, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 491, ptr noundef %9023, ptr noundef %9026, ptr noundef %9029, i32 noundef %9031) #10
  br label %9050

9033:                                             ; preds = %9011, %9004
  %9034 = load i32, ptr %185, align 4, !tbaa !5
  %9035 = call ptr @__errno_location() #11
  store i32 %9034, ptr %9035, align 4, !tbaa !5
  %9036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9037 = load i32, ptr @test_count, align 4, !tbaa !5
  %9038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9039 = load i32, ptr %9038, align 4, !tbaa !5
  %9040 = call ptr @s2n_strerror(i32 noundef %9039, ptr noundef @.str.65)
  %9041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9042 = load i32, ptr %9041, align 4, !tbaa !5
  %9043 = call ptr @s2n_strerror_debug(i32 noundef %9042, ptr noundef @.str.65)
  %9044 = call ptr @__errno_location() #11
  %9045 = load i32, ptr %9044, align 4, !tbaa !5
  %9046 = call ptr @strerror(i32 noundef %9045) #10
  %9047 = call ptr @__errno_location() #11
  %9048 = load i32, ptr %9047, align 4, !tbaa !5
  %9049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9036, ptr noundef @.str.66, i32 noundef %9037, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 491, ptr noundef %9040, ptr noundef %9043, ptr noundef %9046, i32 noundef %9048) #10
  br label %9050

9050:                                             ; preds = %9033, %9016
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  br label %9051

9051:                                             ; preds = %9050
  br label %9052

9052:                                             ; preds = %9051
  call void @exit(i32 noundef 1) #12
  unreachable

9053:                                             ; No predecessors!
  br label %9054

9054:                                             ; preds = %9053
  br label %9055

9055:                                             ; preds = %9054, %8997
  br label %9056

9056:                                             ; preds = %9055
  br label %9057

9057:                                             ; preds = %9056
  br label %9058

9058:                                             ; preds = %9057
  %9059 = load i32, ptr @test_count, align 4, !tbaa !5
  %9060 = add nsw i32 %9059, 1
  store i32 %9060, ptr @test_count, align 4, !tbaa !5
  %9061 = load ptr, ptr %166, align 8, !tbaa !9
  %9062 = load ptr, ptr %48, align 8, !tbaa !9
  %9063 = call i32 @s2n_connection_set_config(ptr noundef %9061, ptr noundef %9062)
  %9064 = icmp eq i32 %9063, -1
  br i1 %9064, label %9065, label %9118

9065:                                             ; preds = %9058
  br label %9066

9066:                                             ; preds = %9065
  br label %9067

9067:                                             ; preds = %9066
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #10
  %9068 = call ptr @__errno_location() #11
  %9069 = load i32, ptr %9068, align 4, !tbaa !5
  store i32 %9069, ptr %186, align 4, !tbaa !5
  %9070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9071 = call i32 @s2n_print_stacktrace(ptr noundef %9070)
  %9072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9073 = trunc i8 %9072 to i1
  br i1 %9073, label %9074, label %9096

9074:                                             ; preds = %9067
  %9075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9076 = call i32 @fileno(ptr noundef %9075) #10
  %9077 = call i32 @isatty(i32 noundef %9076) #10
  %9078 = icmp ne i32 %9077, 0
  br i1 %9078, label %9079, label %9096

9079:                                             ; preds = %9074
  %9080 = load i32, ptr %186, align 4, !tbaa !5
  %9081 = call ptr @__errno_location() #11
  store i32 %9080, ptr %9081, align 4, !tbaa !5
  %9082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9083 = load i32, ptr @test_count, align 4, !tbaa !5
  %9084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9085 = load i32, ptr %9084, align 4, !tbaa !5
  %9086 = call ptr @s2n_strerror(i32 noundef %9085, ptr noundef @.str.65)
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror_debug(i32 noundef %9088, ptr noundef @.str.65)
  %9090 = call ptr @__errno_location() #11
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @strerror(i32 noundef %9091) #10
  %9093 = call ptr @__errno_location() #11
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9082, ptr noundef @.str.63, i32 noundef %9083, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 494, ptr noundef %9086, ptr noundef %9089, ptr noundef %9092, i32 noundef %9094) #10
  br label %9113

9096:                                             ; preds = %9074, %9067
  %9097 = load i32, ptr %186, align 4, !tbaa !5
  %9098 = call ptr @__errno_location() #11
  store i32 %9097, ptr %9098, align 4, !tbaa !5
  %9099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9100 = load i32, ptr @test_count, align 4, !tbaa !5
  %9101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9102 = load i32, ptr %9101, align 4, !tbaa !5
  %9103 = call ptr @s2n_strerror(i32 noundef %9102, ptr noundef @.str.65)
  %9104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call ptr @s2n_strerror_debug(i32 noundef %9105, ptr noundef @.str.65)
  %9107 = call ptr @__errno_location() #11
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  %9109 = call ptr @strerror(i32 noundef %9108) #10
  %9110 = call ptr @__errno_location() #11
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9099, ptr noundef @.str.66, i32 noundef %9100, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 494, ptr noundef %9103, ptr noundef %9106, ptr noundef %9109, i32 noundef %9111) #10
  br label %9113

9113:                                             ; preds = %9096, %9079
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #10
  br label %9114

9114:                                             ; preds = %9113
  br label %9115

9115:                                             ; preds = %9114
  call void @exit(i32 noundef 1) #12
  unreachable

9116:                                             ; No predecessors!
  br label %9117

9117:                                             ; preds = %9116
  br label %9118

9118:                                             ; preds = %9117, %9058
  br label %9119

9119:                                             ; preds = %9118
  br label %9120

9120:                                             ; preds = %9119
  br label %9121

9121:                                             ; preds = %9120
  %9122 = load i32, ptr @test_count, align 4, !tbaa !5
  %9123 = add nsw i32 %9122, 1
  store i32 %9123, ptr @test_count, align 4, !tbaa !5
  %9124 = load ptr, ptr %167, align 8, !tbaa !9
  %9125 = load ptr, ptr %166, align 8, !tbaa !9
  %9126 = call i32 @s2n_test_negotiate(ptr noundef %9124, ptr noundef %9125, ptr noundef %165)
  %9127 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  store i32 %9126, ptr %9127, align 4
  %9128 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  %9129 = load i32, ptr %9128, align 4
  %9130 = call zeroext i1 @s2n_result_is_ok(i32 %9129)
  br i1 %9130, label %9184, label %9131

9131:                                             ; preds = %9121
  br label %9132

9132:                                             ; preds = %9131
  br label %9133

9133:                                             ; preds = %9132
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #10
  %9134 = call ptr @__errno_location() #11
  %9135 = load i32, ptr %9134, align 4, !tbaa !5
  store i32 %9135, ptr %188, align 4, !tbaa !5
  %9136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9137 = call i32 @s2n_print_stacktrace(ptr noundef %9136)
  %9138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9139 = trunc i8 %9138 to i1
  br i1 %9139, label %9140, label %9162

9140:                                             ; preds = %9133
  %9141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9142 = call i32 @fileno(ptr noundef %9141) #10
  %9143 = call i32 @isatty(i32 noundef %9142) #10
  %9144 = icmp ne i32 %9143, 0
  br i1 %9144, label %9145, label %9162

9145:                                             ; preds = %9140
  %9146 = load i32, ptr %188, align 4, !tbaa !5
  %9147 = call ptr @__errno_location() #11
  store i32 %9146, ptr %9147, align 4, !tbaa !5
  %9148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9149 = load i32, ptr @test_count, align 4, !tbaa !5
  %9150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9151 = load i32, ptr %9150, align 4, !tbaa !5
  %9152 = call ptr @s2n_strerror(i32 noundef %9151, ptr noundef @.str.65)
  %9153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9154 = load i32, ptr %9153, align 4, !tbaa !5
  %9155 = call ptr @s2n_strerror_debug(i32 noundef %9154, ptr noundef @.str.65)
  %9156 = call ptr @__errno_location() #11
  %9157 = load i32, ptr %9156, align 4, !tbaa !5
  %9158 = call ptr @strerror(i32 noundef %9157) #10
  %9159 = call ptr @__errno_location() #11
  %9160 = load i32, ptr %9159, align 4, !tbaa !5
  %9161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9148, ptr noundef @.str.63, i32 noundef %9149, ptr noundef @.str.123, ptr noundef @.str.62, i32 noundef 497, ptr noundef %9152, ptr noundef %9155, ptr noundef %9158, i32 noundef %9160) #10
  br label %9179

9162:                                             ; preds = %9140, %9133
  %9163 = load i32, ptr %188, align 4, !tbaa !5
  %9164 = call ptr @__errno_location() #11
  store i32 %9163, ptr %9164, align 4, !tbaa !5
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = load i32, ptr @test_count, align 4, !tbaa !5
  %9167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9168 = load i32, ptr %9167, align 4, !tbaa !5
  %9169 = call ptr @s2n_strerror(i32 noundef %9168, ptr noundef @.str.65)
  %9170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9171 = load i32, ptr %9170, align 4, !tbaa !5
  %9172 = call ptr @s2n_strerror_debug(i32 noundef %9171, ptr noundef @.str.65)
  %9173 = call ptr @__errno_location() #11
  %9174 = load i32, ptr %9173, align 4, !tbaa !5
  %9175 = call ptr @strerror(i32 noundef %9174) #10
  %9176 = call ptr @__errno_location() #11
  %9177 = load i32, ptr %9176, align 4, !tbaa !5
  %9178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9165, ptr noundef @.str.66, i32 noundef %9166, ptr noundef @.str.123, ptr noundef @.str.62, i32 noundef 497, ptr noundef %9169, ptr noundef %9172, ptr noundef %9175, i32 noundef %9177) #10
  br label %9179

9179:                                             ; preds = %9162, %9145
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #10
  br label %9180

9180:                                             ; preds = %9179
  br label %9181

9181:                                             ; preds = %9180
  call void @exit(i32 noundef 1) #12
  unreachable

9182:                                             ; No predecessors!
  br label %9183

9183:                                             ; preds = %9182
  br label %9184

9184:                                             ; preds = %9183, %9121
  br label %9185

9185:                                             ; preds = %9184
  br label %9186

9186:                                             ; preds = %9185
  br label %9187

9187:                                             ; preds = %9186
  %9188 = load i32, ptr @test_count, align 4, !tbaa !5
  %9189 = add nsw i32 %9188, 1
  store i32 %9189, ptr @test_count, align 4, !tbaa !5
  %9190 = load ptr, ptr %166, align 8, !tbaa !9
  %9191 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %9190, i32 noundef 2)
  br i1 %9191, label %9192, label %9195

9192:                                             ; preds = %9187
  %9193 = load ptr, ptr %167, align 8, !tbaa !9
  %9194 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %9193, i32 noundef 2)
  br i1 %9194, label %9248, label %9195

9195:                                             ; preds = %9192, %9187
  br label %9196

9196:                                             ; preds = %9195
  br label %9197

9197:                                             ; preds = %9196
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %9198 = call ptr @__errno_location() #11
  %9199 = load i32, ptr %9198, align 4, !tbaa !5
  store i32 %9199, ptr %189, align 4, !tbaa !5
  %9200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9201 = call i32 @s2n_print_stacktrace(ptr noundef %9200)
  %9202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9203 = trunc i8 %9202 to i1
  br i1 %9203, label %9204, label %9226

9204:                                             ; preds = %9197
  %9205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9206 = call i32 @fileno(ptr noundef %9205) #10
  %9207 = call i32 @isatty(i32 noundef %9206) #10
  %9208 = icmp ne i32 %9207, 0
  br i1 %9208, label %9209, label %9226

9209:                                             ; preds = %9204
  %9210 = load i32, ptr %189, align 4, !tbaa !5
  %9211 = call ptr @__errno_location() #11
  store i32 %9210, ptr %9211, align 4, !tbaa !5
  %9212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9213 = load i32, ptr @test_count, align 4, !tbaa !5
  %9214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9215 = load i32, ptr %9214, align 4, !tbaa !5
  %9216 = call ptr @s2n_strerror(i32 noundef %9215, ptr noundef @.str.65)
  %9217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9218 = load i32, ptr %9217, align 4, !tbaa !5
  %9219 = call ptr @s2n_strerror_debug(i32 noundef %9218, ptr noundef @.str.65)
  %9220 = call ptr @__errno_location() #11
  %9221 = load i32, ptr %9220, align 4, !tbaa !5
  %9222 = call ptr @strerror(i32 noundef %9221) #10
  %9223 = call ptr @__errno_location() #11
  %9224 = load i32, ptr %9223, align 4, !tbaa !5
  %9225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9212, ptr noundef @.str.63, i32 noundef %9213, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 500, ptr noundef %9216, ptr noundef %9219, ptr noundef %9222, i32 noundef %9224) #10
  br label %9243

9226:                                             ; preds = %9204, %9197
  %9227 = load i32, ptr %189, align 4, !tbaa !5
  %9228 = call ptr @__errno_location() #11
  store i32 %9227, ptr %9228, align 4, !tbaa !5
  %9229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9230 = load i32, ptr @test_count, align 4, !tbaa !5
  %9231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9232 = load i32, ptr %9231, align 4, !tbaa !5
  %9233 = call ptr @s2n_strerror(i32 noundef %9232, ptr noundef @.str.65)
  %9234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9235 = load i32, ptr %9234, align 4, !tbaa !5
  %9236 = call ptr @s2n_strerror_debug(i32 noundef %9235, ptr noundef @.str.65)
  %9237 = call ptr @__errno_location() #11
  %9238 = load i32, ptr %9237, align 4, !tbaa !5
  %9239 = call ptr @strerror(i32 noundef %9238) #10
  %9240 = call ptr @__errno_location() #11
  %9241 = load i32, ptr %9240, align 4, !tbaa !5
  %9242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9229, ptr noundef @.str.66, i32 noundef %9230, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 500, ptr noundef %9233, ptr noundef %9236, ptr noundef %9239, i32 noundef %9241) #10
  br label %9243

9243:                                             ; preds = %9226, %9209
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %9244

9244:                                             ; preds = %9243
  br label %9245

9245:                                             ; preds = %9244
  call void @exit(i32 noundef 1) #12
  unreachable

9246:                                             ; No predecessors!
  br label %9247

9247:                                             ; preds = %9246
  br label %9248

9248:                                             ; preds = %9247, %9192
  br label %9249

9249:                                             ; preds = %9248
  br label %9250

9250:                                             ; preds = %9249
  br label %9251

9251:                                             ; preds = %9250
  %9252 = load i32, ptr @test_count, align 4, !tbaa !5
  %9253 = add nsw i32 %9252, 1
  store i32 %9253, ptr @test_count, align 4, !tbaa !5
  %9254 = load ptr, ptr %166, align 8, !tbaa !9
  %9255 = getelementptr inbounds %struct.s2n_connection, ptr %9254, i32 0, i32 23
  %9256 = load i8, ptr %9255, align 4, !tbaa !66
  %9257 = zext i8 %9256 to i32
  %9258 = icmp eq i32 %9257, 33
  br i1 %9258, label %9312, label %9259

9259:                                             ; preds = %9251
  br label %9260

9260:                                             ; preds = %9259
  br label %9261

9261:                                             ; preds = %9260
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  %9262 = call ptr @__errno_location() #11
  %9263 = load i32, ptr %9262, align 4, !tbaa !5
  store i32 %9263, ptr %190, align 4, !tbaa !5
  %9264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9265 = call i32 @s2n_print_stacktrace(ptr noundef %9264)
  %9266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9267 = trunc i8 %9266 to i1
  br i1 %9267, label %9268, label %9290

9268:                                             ; preds = %9261
  %9269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9270 = call i32 @fileno(ptr noundef %9269) #10
  %9271 = call i32 @isatty(i32 noundef %9270) #10
  %9272 = icmp ne i32 %9271, 0
  br i1 %9272, label %9273, label %9290

9273:                                             ; preds = %9268
  %9274 = load i32, ptr %190, align 4, !tbaa !5
  %9275 = call ptr @__errno_location() #11
  store i32 %9274, ptr %9275, align 4, !tbaa !5
  %9276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9277 = load i32, ptr @test_count, align 4, !tbaa !5
  %9278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9279 = load i32, ptr %9278, align 4, !tbaa !5
  %9280 = call ptr @s2n_strerror(i32 noundef %9279, ptr noundef @.str.65)
  %9281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9282 = load i32, ptr %9281, align 4, !tbaa !5
  %9283 = call ptr @s2n_strerror_debug(i32 noundef %9282, ptr noundef @.str.65)
  %9284 = call ptr @__errno_location() #11
  %9285 = load i32, ptr %9284, align 4, !tbaa !5
  %9286 = call ptr @strerror(i32 noundef %9285) #10
  %9287 = call ptr @__errno_location() #11
  %9288 = load i32, ptr %9287, align 4, !tbaa !5
  %9289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9276, ptr noundef @.str.63, i32 noundef %9277, ptr noundef @.str.143, ptr noundef @.str.62, i32 noundef 501, ptr noundef %9280, ptr noundef %9283, ptr noundef %9286, i32 noundef %9288) #10
  br label %9307

9290:                                             ; preds = %9268, %9261
  %9291 = load i32, ptr %190, align 4, !tbaa !5
  %9292 = call ptr @__errno_location() #11
  store i32 %9291, ptr %9292, align 4, !tbaa !5
  %9293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9294 = load i32, ptr @test_count, align 4, !tbaa !5
  %9295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9296 = load i32, ptr %9295, align 4, !tbaa !5
  %9297 = call ptr @s2n_strerror(i32 noundef %9296, ptr noundef @.str.65)
  %9298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9299 = load i32, ptr %9298, align 4, !tbaa !5
  %9300 = call ptr @s2n_strerror_debug(i32 noundef %9299, ptr noundef @.str.65)
  %9301 = call ptr @__errno_location() #11
  %9302 = load i32, ptr %9301, align 4, !tbaa !5
  %9303 = call ptr @strerror(i32 noundef %9302) #10
  %9304 = call ptr @__errno_location() #11
  %9305 = load i32, ptr %9304, align 4, !tbaa !5
  %9306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9293, ptr noundef @.str.66, i32 noundef %9294, ptr noundef @.str.143, ptr noundef @.str.62, i32 noundef 501, ptr noundef %9297, ptr noundef %9300, ptr noundef %9303, i32 noundef %9305) #10
  br label %9307

9307:                                             ; preds = %9290, %9273
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  br label %9308

9308:                                             ; preds = %9307
  br label %9309

9309:                                             ; preds = %9308
  call void @exit(i32 noundef 1) #12
  unreachable

9310:                                             ; No predecessors!
  br label %9311

9311:                                             ; preds = %9310
  br label %9312

9312:                                             ; preds = %9311, %9251
  br label %9313

9313:                                             ; preds = %9312
  br label %9314

9314:                                             ; preds = %9313
  br label %9315

9315:                                             ; preds = %9314
  %9316 = load i32, ptr @test_count, align 4, !tbaa !5
  %9317 = add nsw i32 %9316, 1
  store i32 %9317, ptr @test_count, align 4, !tbaa !5
  %9318 = load ptr, ptr %167, align 8, !tbaa !9
  %9319 = getelementptr inbounds %struct.s2n_connection, ptr %9318, i32 0, i32 23
  %9320 = load i8, ptr %9319, align 4, !tbaa !66
  %9321 = zext i8 %9320 to i32
  %9322 = icmp eq i32 %9321, 33
  br i1 %9322, label %9376, label %9323

9323:                                             ; preds = %9315
  br label %9324

9324:                                             ; preds = %9323
  br label %9325

9325:                                             ; preds = %9324
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  %9326 = call ptr @__errno_location() #11
  %9327 = load i32, ptr %9326, align 4, !tbaa !5
  store i32 %9327, ptr %191, align 4, !tbaa !5
  %9328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9329 = call i32 @s2n_print_stacktrace(ptr noundef %9328)
  %9330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9331 = trunc i8 %9330 to i1
  br i1 %9331, label %9332, label %9354

9332:                                             ; preds = %9325
  %9333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9334 = call i32 @fileno(ptr noundef %9333) #10
  %9335 = call i32 @isatty(i32 noundef %9334) #10
  %9336 = icmp ne i32 %9335, 0
  br i1 %9336, label %9337, label %9354

9337:                                             ; preds = %9332
  %9338 = load i32, ptr %191, align 4, !tbaa !5
  %9339 = call ptr @__errno_location() #11
  store i32 %9338, ptr %9339, align 4, !tbaa !5
  %9340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9341 = load i32, ptr @test_count, align 4, !tbaa !5
  %9342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9343 = load i32, ptr %9342, align 4, !tbaa !5
  %9344 = call ptr @s2n_strerror(i32 noundef %9343, ptr noundef @.str.65)
  %9345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9346 = load i32, ptr %9345, align 4, !tbaa !5
  %9347 = call ptr @s2n_strerror_debug(i32 noundef %9346, ptr noundef @.str.65)
  %9348 = call ptr @__errno_location() #11
  %9349 = load i32, ptr %9348, align 4, !tbaa !5
  %9350 = call ptr @strerror(i32 noundef %9349) #10
  %9351 = call ptr @__errno_location() #11
  %9352 = load i32, ptr %9351, align 4, !tbaa !5
  %9353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9340, ptr noundef @.str.63, i32 noundef %9341, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 502, ptr noundef %9344, ptr noundef %9347, ptr noundef %9350, i32 noundef %9352) #10
  br label %9371

9354:                                             ; preds = %9332, %9325
  %9355 = load i32, ptr %191, align 4, !tbaa !5
  %9356 = call ptr @__errno_location() #11
  store i32 %9355, ptr %9356, align 4, !tbaa !5
  %9357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9358 = load i32, ptr @test_count, align 4, !tbaa !5
  %9359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9360 = load i32, ptr %9359, align 4, !tbaa !5
  %9361 = call ptr @s2n_strerror(i32 noundef %9360, ptr noundef @.str.65)
  %9362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9363 = load i32, ptr %9362, align 4, !tbaa !5
  %9364 = call ptr @s2n_strerror_debug(i32 noundef %9363, ptr noundef @.str.65)
  %9365 = call ptr @__errno_location() #11
  %9366 = load i32, ptr %9365, align 4, !tbaa !5
  %9367 = call ptr @strerror(i32 noundef %9366) #10
  %9368 = call ptr @__errno_location() #11
  %9369 = load i32, ptr %9368, align 4, !tbaa !5
  %9370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9357, ptr noundef @.str.66, i32 noundef %9358, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 502, ptr noundef %9361, ptr noundef %9364, ptr noundef %9367, i32 noundef %9369) #10
  br label %9371

9371:                                             ; preds = %9354, %9337
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  br label %9372

9372:                                             ; preds = %9371
  br label %9373

9373:                                             ; preds = %9372
  call void @exit(i32 noundef 1) #12
  unreachable

9374:                                             ; No predecessors!
  br label %9375

9375:                                             ; preds = %9374
  br label %9376

9376:                                             ; preds = %9375, %9315
  br label %9377

9377:                                             ; preds = %9376
  br label %9378

9378:                                             ; preds = %9377
  br label %9379

9379:                                             ; preds = %9378
  %9380 = load i32, ptr @test_count, align 4, !tbaa !5
  %9381 = add nsw i32 %9380, 1
  store i32 %9381, ptr @test_count, align 4, !tbaa !5
  %9382 = load ptr, ptr %167, align 8, !tbaa !9
  %9383 = load ptr, ptr %166, align 8, !tbaa !9
  %9384 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %9382, ptr noundef %9383)
  %9385 = icmp eq i32 %9384, -1
  br i1 %9385, label %9386, label %9439

9386:                                             ; preds = %9379
  br label %9387

9387:                                             ; preds = %9386
  br label %9388

9388:                                             ; preds = %9387
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %9389 = call ptr @__errno_location() #11
  %9390 = load i32, ptr %9389, align 4, !tbaa !5
  store i32 %9390, ptr %192, align 4, !tbaa !5
  %9391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9392 = call i32 @s2n_print_stacktrace(ptr noundef %9391)
  %9393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9394 = trunc i8 %9393 to i1
  br i1 %9394, label %9395, label %9417

9395:                                             ; preds = %9388
  %9396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9397 = call i32 @fileno(ptr noundef %9396) #10
  %9398 = call i32 @isatty(i32 noundef %9397) #10
  %9399 = icmp ne i32 %9398, 0
  br i1 %9399, label %9400, label %9417

9400:                                             ; preds = %9395
  %9401 = load i32, ptr %192, align 4, !tbaa !5
  %9402 = call ptr @__errno_location() #11
  store i32 %9401, ptr %9402, align 4, !tbaa !5
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = load i32, ptr @test_count, align 4, !tbaa !5
  %9405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9406 = load i32, ptr %9405, align 4, !tbaa !5
  %9407 = call ptr @s2n_strerror(i32 noundef %9406, ptr noundef @.str.65)
  %9408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9409 = load i32, ptr %9408, align 4, !tbaa !5
  %9410 = call ptr @s2n_strerror_debug(i32 noundef %9409, ptr noundef @.str.65)
  %9411 = call ptr @__errno_location() #11
  %9412 = load i32, ptr %9411, align 4, !tbaa !5
  %9413 = call ptr @strerror(i32 noundef %9412) #10
  %9414 = call ptr @__errno_location() #11
  %9415 = load i32, ptr %9414, align 4, !tbaa !5
  %9416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9403, ptr noundef @.str.63, i32 noundef %9404, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 504, ptr noundef %9407, ptr noundef %9410, ptr noundef %9413, i32 noundef %9415) #10
  br label %9434

9417:                                             ; preds = %9395, %9388
  %9418 = load i32, ptr %192, align 4, !tbaa !5
  %9419 = call ptr @__errno_location() #11
  store i32 %9418, ptr %9419, align 4, !tbaa !5
  %9420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9421 = load i32, ptr @test_count, align 4, !tbaa !5
  %9422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9423 = load i32, ptr %9422, align 4, !tbaa !5
  %9424 = call ptr @s2n_strerror(i32 noundef %9423, ptr noundef @.str.65)
  %9425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9426 = load i32, ptr %9425, align 4, !tbaa !5
  %9427 = call ptr @s2n_strerror_debug(i32 noundef %9426, ptr noundef @.str.65)
  %9428 = call ptr @__errno_location() #11
  %9429 = load i32, ptr %9428, align 4, !tbaa !5
  %9430 = call ptr @strerror(i32 noundef %9429) #10
  %9431 = call ptr @__errno_location() #11
  %9432 = load i32, ptr %9431, align 4, !tbaa !5
  %9433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9420, ptr noundef @.str.66, i32 noundef %9421, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 504, ptr noundef %9424, ptr noundef %9427, ptr noundef %9430, i32 noundef %9432) #10
  br label %9434

9434:                                             ; preds = %9417, %9400
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %9435

9435:                                             ; preds = %9434
  br label %9436

9436:                                             ; preds = %9435
  call void @exit(i32 noundef 1) #12
  unreachable

9437:                                             ; No predecessors!
  br label %9438

9438:                                             ; preds = %9437
  br label %9439

9439:                                             ; preds = %9438, %9379
  br label %9440

9440:                                             ; preds = %9439
  br label %9441

9441:                                             ; preds = %9440
  br label %9442

9442:                                             ; preds = %9441
  %9443 = load i32, ptr @test_count, align 4, !tbaa !5
  %9444 = add nsw i32 %9443, 1
  store i32 %9444, ptr @test_count, align 4, !tbaa !5
  %9445 = load ptr, ptr %167, align 8, !tbaa !9
  %9446 = call i32 @s2n_connection_free(ptr noundef %9445)
  %9447 = icmp eq i32 %9446, -1
  br i1 %9447, label %9448, label %9501

9448:                                             ; preds = %9442
  br label %9449

9449:                                             ; preds = %9448
  br label %9450

9450:                                             ; preds = %9449
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %9451 = call ptr @__errno_location() #11
  %9452 = load i32, ptr %9451, align 4, !tbaa !5
  store i32 %9452, ptr %193, align 4, !tbaa !5
  %9453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9454 = call i32 @s2n_print_stacktrace(ptr noundef %9453)
  %9455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9456 = trunc i8 %9455 to i1
  br i1 %9456, label %9457, label %9479

9457:                                             ; preds = %9450
  %9458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9459 = call i32 @fileno(ptr noundef %9458) #10
  %9460 = call i32 @isatty(i32 noundef %9459) #10
  %9461 = icmp ne i32 %9460, 0
  br i1 %9461, label %9462, label %9479

9462:                                             ; preds = %9457
  %9463 = load i32, ptr %193, align 4, !tbaa !5
  %9464 = call ptr @__errno_location() #11
  store i32 %9463, ptr %9464, align 4, !tbaa !5
  %9465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9466 = load i32, ptr @test_count, align 4, !tbaa !5
  %9467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9468 = load i32, ptr %9467, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror(i32 noundef %9468, ptr noundef @.str.65)
  %9470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  %9472 = call ptr @s2n_strerror_debug(i32 noundef %9471, ptr noundef @.str.65)
  %9473 = call ptr @__errno_location() #11
  %9474 = load i32, ptr %9473, align 4, !tbaa !5
  %9475 = call ptr @strerror(i32 noundef %9474) #10
  %9476 = call ptr @__errno_location() #11
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  %9478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9465, ptr noundef @.str.63, i32 noundef %9466, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 505, ptr noundef %9469, ptr noundef %9472, ptr noundef %9475, i32 noundef %9477) #10
  br label %9496

9479:                                             ; preds = %9457, %9450
  %9480 = load i32, ptr %193, align 4, !tbaa !5
  %9481 = call ptr @__errno_location() #11
  store i32 %9480, ptr %9481, align 4, !tbaa !5
  %9482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9483 = load i32, ptr @test_count, align 4, !tbaa !5
  %9484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9485 = load i32, ptr %9484, align 4, !tbaa !5
  %9486 = call ptr @s2n_strerror(i32 noundef %9485, ptr noundef @.str.65)
  %9487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9488 = load i32, ptr %9487, align 4, !tbaa !5
  %9489 = call ptr @s2n_strerror_debug(i32 noundef %9488, ptr noundef @.str.65)
  %9490 = call ptr @__errno_location() #11
  %9491 = load i32, ptr %9490, align 4, !tbaa !5
  %9492 = call ptr @strerror(i32 noundef %9491) #10
  %9493 = call ptr @__errno_location() #11
  %9494 = load i32, ptr %9493, align 4, !tbaa !5
  %9495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9482, ptr noundef @.str.66, i32 noundef %9483, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 505, ptr noundef %9486, ptr noundef %9489, ptr noundef %9492, i32 noundef %9494) #10
  br label %9496

9496:                                             ; preds = %9479, %9462
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %9497

9497:                                             ; preds = %9496
  br label %9498

9498:                                             ; preds = %9497
  call void @exit(i32 noundef 1) #12
  unreachable

9499:                                             ; No predecessors!
  br label %9500

9500:                                             ; preds = %9499
  br label %9501

9501:                                             ; preds = %9500, %9442
  br label %9502

9502:                                             ; preds = %9501
  br label %9503

9503:                                             ; preds = %9502
  br label %9504

9504:                                             ; preds = %9503
  %9505 = load i32, ptr @test_count, align 4, !tbaa !5
  %9506 = add nsw i32 %9505, 1
  store i32 %9506, ptr @test_count, align 4, !tbaa !5
  %9507 = load ptr, ptr %166, align 8, !tbaa !9
  %9508 = call i32 @s2n_connection_free(ptr noundef %9507)
  %9509 = icmp eq i32 %9508, -1
  br i1 %9509, label %9510, label %9563

9510:                                             ; preds = %9504
  br label %9511

9511:                                             ; preds = %9510
  br label %9512

9512:                                             ; preds = %9511
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #10
  %9513 = call ptr @__errno_location() #11
  %9514 = load i32, ptr %9513, align 4, !tbaa !5
  store i32 %9514, ptr %194, align 4, !tbaa !5
  %9515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9516 = call i32 @s2n_print_stacktrace(ptr noundef %9515)
  %9517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9518 = trunc i8 %9517 to i1
  br i1 %9518, label %9519, label %9541

9519:                                             ; preds = %9512
  %9520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9521 = call i32 @fileno(ptr noundef %9520) #10
  %9522 = call i32 @isatty(i32 noundef %9521) #10
  %9523 = icmp ne i32 %9522, 0
  br i1 %9523, label %9524, label %9541

9524:                                             ; preds = %9519
  %9525 = load i32, ptr %194, align 4, !tbaa !5
  %9526 = call ptr @__errno_location() #11
  store i32 %9525, ptr %9526, align 4, !tbaa !5
  %9527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9528 = load i32, ptr @test_count, align 4, !tbaa !5
  %9529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9530 = load i32, ptr %9529, align 4, !tbaa !5
  %9531 = call ptr @s2n_strerror(i32 noundef %9530, ptr noundef @.str.65)
  %9532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9533 = load i32, ptr %9532, align 4, !tbaa !5
  %9534 = call ptr @s2n_strerror_debug(i32 noundef %9533, ptr noundef @.str.65)
  %9535 = call ptr @__errno_location() #11
  %9536 = load i32, ptr %9535, align 4, !tbaa !5
  %9537 = call ptr @strerror(i32 noundef %9536) #10
  %9538 = call ptr @__errno_location() #11
  %9539 = load i32, ptr %9538, align 4, !tbaa !5
  %9540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9527, ptr noundef @.str.63, i32 noundef %9528, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 506, ptr noundef %9531, ptr noundef %9534, ptr noundef %9537, i32 noundef %9539) #10
  br label %9558

9541:                                             ; preds = %9519, %9512
  %9542 = load i32, ptr %194, align 4, !tbaa !5
  %9543 = call ptr @__errno_location() #11
  store i32 %9542, ptr %9543, align 4, !tbaa !5
  %9544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9545 = load i32, ptr @test_count, align 4, !tbaa !5
  %9546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9547 = load i32, ptr %9546, align 4, !tbaa !5
  %9548 = call ptr @s2n_strerror(i32 noundef %9547, ptr noundef @.str.65)
  %9549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9550 = load i32, ptr %9549, align 4, !tbaa !5
  %9551 = call ptr @s2n_strerror_debug(i32 noundef %9550, ptr noundef @.str.65)
  %9552 = call ptr @__errno_location() #11
  %9553 = load i32, ptr %9552, align 4, !tbaa !5
  %9554 = call ptr @strerror(i32 noundef %9553) #10
  %9555 = call ptr @__errno_location() #11
  %9556 = load i32, ptr %9555, align 4, !tbaa !5
  %9557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9544, ptr noundef @.str.66, i32 noundef %9545, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 506, ptr noundef %9548, ptr noundef %9551, ptr noundef %9554, i32 noundef %9556) #10
  br label %9558

9558:                                             ; preds = %9541, %9524
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #10
  br label %9559

9559:                                             ; preds = %9558
  br label %9560

9560:                                             ; preds = %9559
  call void @exit(i32 noundef 1) #12
  unreachable

9561:                                             ; No predecessors!
  br label %9562

9562:                                             ; preds = %9561
  br label %9563

9563:                                             ; preds = %9562, %9504
  br label %9564

9564:                                             ; preds = %9563
  br label %9565

9565:                                             ; preds = %9564
  br label %9566

9566:                                             ; preds = %9565
  %9567 = load i32, ptr @test_count, align 4, !tbaa !5
  %9568 = add nsw i32 %9567, 1
  store i32 %9568, ptr @test_count, align 4, !tbaa !5
  %9569 = call i32 @s2n_io_pair_close(ptr noundef %172)
  %9570 = icmp eq i32 %9569, -1
  br i1 %9570, label %9571, label %9624

9571:                                             ; preds = %9566
  br label %9572

9572:                                             ; preds = %9571
  br label %9573

9573:                                             ; preds = %9572
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %9574 = call ptr @__errno_location() #11
  %9575 = load i32, ptr %9574, align 4, !tbaa !5
  store i32 %9575, ptr %195, align 4, !tbaa !5
  %9576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9577 = call i32 @s2n_print_stacktrace(ptr noundef %9576)
  %9578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9579 = trunc i8 %9578 to i1
  br i1 %9579, label %9580, label %9602

9580:                                             ; preds = %9573
  %9581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9582 = call i32 @fileno(ptr noundef %9581) #10
  %9583 = call i32 @isatty(i32 noundef %9582) #10
  %9584 = icmp ne i32 %9583, 0
  br i1 %9584, label %9585, label %9602

9585:                                             ; preds = %9580
  %9586 = load i32, ptr %195, align 4, !tbaa !5
  %9587 = call ptr @__errno_location() #11
  store i32 %9586, ptr %9587, align 4, !tbaa !5
  %9588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9589 = load i32, ptr @test_count, align 4, !tbaa !5
  %9590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9591 = load i32, ptr %9590, align 4, !tbaa !5
  %9592 = call ptr @s2n_strerror(i32 noundef %9591, ptr noundef @.str.65)
  %9593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9594 = load i32, ptr %9593, align 4, !tbaa !5
  %9595 = call ptr @s2n_strerror_debug(i32 noundef %9594, ptr noundef @.str.65)
  %9596 = call ptr @__errno_location() #11
  %9597 = load i32, ptr %9596, align 4, !tbaa !5
  %9598 = call ptr @strerror(i32 noundef %9597) #10
  %9599 = call ptr @__errno_location() #11
  %9600 = load i32, ptr %9599, align 4, !tbaa !5
  %9601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9588, ptr noundef @.str.63, i32 noundef %9589, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 507, ptr noundef %9592, ptr noundef %9595, ptr noundef %9598, i32 noundef %9600) #10
  br label %9619

9602:                                             ; preds = %9580, %9573
  %9603 = load i32, ptr %195, align 4, !tbaa !5
  %9604 = call ptr @__errno_location() #11
  store i32 %9603, ptr %9604, align 4, !tbaa !5
  %9605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9606 = load i32, ptr @test_count, align 4, !tbaa !5
  %9607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9608 = load i32, ptr %9607, align 4, !tbaa !5
  %9609 = call ptr @s2n_strerror(i32 noundef %9608, ptr noundef @.str.65)
  %9610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9611 = load i32, ptr %9610, align 4, !tbaa !5
  %9612 = call ptr @s2n_strerror_debug(i32 noundef %9611, ptr noundef @.str.65)
  %9613 = call ptr @__errno_location() #11
  %9614 = load i32, ptr %9613, align 4, !tbaa !5
  %9615 = call ptr @strerror(i32 noundef %9614) #10
  %9616 = call ptr @__errno_location() #11
  %9617 = load i32, ptr %9616, align 4, !tbaa !5
  %9618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9605, ptr noundef @.str.66, i32 noundef %9606, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 507, ptr noundef %9609, ptr noundef %9612, ptr noundef %9615, i32 noundef %9617) #10
  br label %9619

9619:                                             ; preds = %9602, %9585
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %9620

9620:                                             ; preds = %9619
  br label %9621

9621:                                             ; preds = %9620
  call void @exit(i32 noundef 1) #12
  unreachable

9622:                                             ; No predecessors!
  br label %9623

9623:                                             ; preds = %9622
  br label %9624

9624:                                             ; preds = %9623, %9566
  br label %9625

9625:                                             ; preds = %9624
  br label %9626

9626:                                             ; preds = %9625
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %9627

9627:                                             ; preds = %9626
  %9628 = load i64, ptr %164, align 8, !tbaa !15
  %9629 = add i64 %9628, 1
  store i64 %9629, ptr %164, align 8, !tbaa !15
  br label %8100, !llvm.loop !67

9630:                                             ; preds = %8103
  call void @llvm.lifetime.start.p0(i64 24, ptr %196) #10
  call void @llvm.memset.p0.i64(ptr align 8 %196, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #10
  %9631 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9631, ptr %197, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #10
  %9632 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9632, ptr %198, align 8, !tbaa !9
  br label %9633

9633:                                             ; preds = %9630
  %9634 = load i32, ptr @test_count, align 4, !tbaa !5
  %9635 = add nsw i32 %9634, 1
  store i32 %9635, ptr @test_count, align 4, !tbaa !5
  %9636 = load ptr, ptr %197, align 8, !tbaa !9
  %9637 = icmp eq ptr %9636, null
  br i1 %9637, label %9638, label %9691

9638:                                             ; preds = %9633
  br label %9639

9639:                                             ; preds = %9638
  br label %9640

9640:                                             ; preds = %9639
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #10
  %9641 = call ptr @__errno_location() #11
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  store i32 %9642, ptr %199, align 4, !tbaa !5
  %9643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9644 = call i32 @s2n_print_stacktrace(ptr noundef %9643)
  %9645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9646 = trunc i8 %9645 to i1
  br i1 %9646, label %9647, label %9669

9647:                                             ; preds = %9640
  %9648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9649 = call i32 @fileno(ptr noundef %9648) #10
  %9650 = call i32 @isatty(i32 noundef %9649) #10
  %9651 = icmp ne i32 %9650, 0
  br i1 %9651, label %9652, label %9669

9652:                                             ; preds = %9647
  %9653 = load i32, ptr %199, align 4, !tbaa !5
  %9654 = call ptr @__errno_location() #11
  store i32 %9653, ptr %9654, align 4, !tbaa !5
  %9655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9656 = load i32, ptr @test_count, align 4, !tbaa !5
  %9657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9658 = load i32, ptr %9657, align 4, !tbaa !5
  %9659 = call ptr @s2n_strerror(i32 noundef %9658, ptr noundef @.str.65)
  %9660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9661 = load i32, ptr %9660, align 4, !tbaa !5
  %9662 = call ptr @s2n_strerror_debug(i32 noundef %9661, ptr noundef @.str.65)
  %9663 = call ptr @__errno_location() #11
  %9664 = load i32, ptr %9663, align 4, !tbaa !5
  %9665 = call ptr @strerror(i32 noundef %9664) #10
  %9666 = call ptr @__errno_location() #11
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  %9668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9655, ptr noundef @.str.63, i32 noundef %9656, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 520, ptr noundef %9659, ptr noundef %9662, ptr noundef %9665, i32 noundef %9667) #10
  br label %9686

9669:                                             ; preds = %9647, %9640
  %9670 = load i32, ptr %199, align 4, !tbaa !5
  %9671 = call ptr @__errno_location() #11
  store i32 %9670, ptr %9671, align 4, !tbaa !5
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = load i32, ptr @test_count, align 4, !tbaa !5
  %9674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9675 = load i32, ptr %9674, align 4, !tbaa !5
  %9676 = call ptr @s2n_strerror(i32 noundef %9675, ptr noundef @.str.65)
  %9677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9678 = load i32, ptr %9677, align 4, !tbaa !5
  %9679 = call ptr @s2n_strerror_debug(i32 noundef %9678, ptr noundef @.str.65)
  %9680 = call ptr @__errno_location() #11
  %9681 = load i32, ptr %9680, align 4, !tbaa !5
  %9682 = call ptr @strerror(i32 noundef %9681) #10
  %9683 = call ptr @__errno_location() #11
  %9684 = load i32, ptr %9683, align 4, !tbaa !5
  %9685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9672, ptr noundef @.str.66, i32 noundef %9673, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 520, ptr noundef %9676, ptr noundef %9679, ptr noundef %9682, i32 noundef %9684) #10
  br label %9686

9686:                                             ; preds = %9669, %9652
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #10
  br label %9687

9687:                                             ; preds = %9686
  br label %9688

9688:                                             ; preds = %9687
  call void @exit(i32 noundef 1) #12
  unreachable

9689:                                             ; No predecessors!
  br label %9690

9690:                                             ; preds = %9689
  br label %9691

9691:                                             ; preds = %9690, %9633
  br label %9692

9692:                                             ; preds = %9691
  br label %9693

9693:                                             ; preds = %9692
  br label %9694

9694:                                             ; preds = %9693
  %9695 = load i32, ptr @test_count, align 4, !tbaa !5
  %9696 = add nsw i32 %9695, 1
  store i32 %9696, ptr @test_count, align 4, !tbaa !5
  %9697 = load ptr, ptr %198, align 8, !tbaa !9
  %9698 = icmp eq ptr %9697, null
  br i1 %9698, label %9699, label %9752

9699:                                             ; preds = %9694
  br label %9700

9700:                                             ; preds = %9699
  br label %9701

9701:                                             ; preds = %9700
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  %9702 = call ptr @__errno_location() #11
  %9703 = load i32, ptr %9702, align 4, !tbaa !5
  store i32 %9703, ptr %200, align 4, !tbaa !5
  %9704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9705 = call i32 @s2n_print_stacktrace(ptr noundef %9704)
  %9706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9707 = trunc i8 %9706 to i1
  br i1 %9707, label %9708, label %9730

9708:                                             ; preds = %9701
  %9709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9710 = call i32 @fileno(ptr noundef %9709) #10
  %9711 = call i32 @isatty(i32 noundef %9710) #10
  %9712 = icmp ne i32 %9711, 0
  br i1 %9712, label %9713, label %9730

9713:                                             ; preds = %9708
  %9714 = load i32, ptr %200, align 4, !tbaa !5
  %9715 = call ptr @__errno_location() #11
  store i32 %9714, ptr %9715, align 4, !tbaa !5
  %9716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9717 = load i32, ptr @test_count, align 4, !tbaa !5
  %9718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @s2n_strerror(i32 noundef %9719, ptr noundef @.str.65)
  %9721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call ptr @s2n_strerror_debug(i32 noundef %9722, ptr noundef @.str.65)
  %9724 = call ptr @__errno_location() #11
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call ptr @strerror(i32 noundef %9725) #10
  %9727 = call ptr @__errno_location() #11
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9716, ptr noundef @.str.63, i32 noundef %9717, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 521, ptr noundef %9720, ptr noundef %9723, ptr noundef %9726, i32 noundef %9728) #10
  br label %9747

9730:                                             ; preds = %9708, %9701
  %9731 = load i32, ptr %200, align 4, !tbaa !5
  %9732 = call ptr @__errno_location() #11
  store i32 %9731, ptr %9732, align 4, !tbaa !5
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = load i32, ptr @test_count, align 4, !tbaa !5
  %9735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9736 = load i32, ptr %9735, align 4, !tbaa !5
  %9737 = call ptr @s2n_strerror(i32 noundef %9736, ptr noundef @.str.65)
  %9738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9739 = load i32, ptr %9738, align 4, !tbaa !5
  %9740 = call ptr @s2n_strerror_debug(i32 noundef %9739, ptr noundef @.str.65)
  %9741 = call ptr @__errno_location() #11
  %9742 = load i32, ptr %9741, align 4, !tbaa !5
  %9743 = call ptr @strerror(i32 noundef %9742) #10
  %9744 = call ptr @__errno_location() #11
  %9745 = load i32, ptr %9744, align 4, !tbaa !5
  %9746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9733, ptr noundef @.str.66, i32 noundef %9734, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 521, ptr noundef %9737, ptr noundef %9740, ptr noundef %9743, i32 noundef %9745) #10
  br label %9747

9747:                                             ; preds = %9730, %9713
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  br label %9748

9748:                                             ; preds = %9747
  br label %9749

9749:                                             ; preds = %9748
  call void @exit(i32 noundef 1) #12
  unreachable

9750:                                             ; No predecessors!
  br label %9751

9751:                                             ; preds = %9750
  br label %9752

9752:                                             ; preds = %9751, %9694
  br label %9753

9753:                                             ; preds = %9752
  br label %9754

9754:                                             ; preds = %9753
  br label %9755

9755:                                             ; preds = %9754
  %9756 = load i32, ptr @test_count, align 4, !tbaa !5
  %9757 = add nsw i32 %9756, 1
  store i32 %9757, ptr @test_count, align 4, !tbaa !5
  %9758 = load ptr, ptr %197, align 8, !tbaa !9
  %9759 = load ptr, ptr %48, align 8, !tbaa !9
  %9760 = call i32 @s2n_connection_set_config(ptr noundef %9758, ptr noundef %9759)
  %9761 = icmp eq i32 %9760, -1
  br i1 %9761, label %9762, label %9815

9762:                                             ; preds = %9755
  br label %9763

9763:                                             ; preds = %9762
  br label %9764

9764:                                             ; preds = %9763
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %9765 = call ptr @__errno_location() #11
  %9766 = load i32, ptr %9765, align 4, !tbaa !5
  store i32 %9766, ptr %201, align 4, !tbaa !5
  %9767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9768 = call i32 @s2n_print_stacktrace(ptr noundef %9767)
  %9769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9770 = trunc i8 %9769 to i1
  br i1 %9770, label %9771, label %9793

9771:                                             ; preds = %9764
  %9772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9773 = call i32 @fileno(ptr noundef %9772) #10
  %9774 = call i32 @isatty(i32 noundef %9773) #10
  %9775 = icmp ne i32 %9774, 0
  br i1 %9775, label %9776, label %9793

9776:                                             ; preds = %9771
  %9777 = load i32, ptr %201, align 4, !tbaa !5
  %9778 = call ptr @__errno_location() #11
  store i32 %9777, ptr %9778, align 4, !tbaa !5
  %9779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9780 = load i32, ptr @test_count, align 4, !tbaa !5
  %9781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9782 = load i32, ptr %9781, align 4, !tbaa !5
  %9783 = call ptr @s2n_strerror(i32 noundef %9782, ptr noundef @.str.65)
  %9784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call ptr @s2n_strerror_debug(i32 noundef %9785, ptr noundef @.str.65)
  %9787 = call ptr @__errno_location() #11
  %9788 = load i32, ptr %9787, align 4, !tbaa !5
  %9789 = call ptr @strerror(i32 noundef %9788) #10
  %9790 = call ptr @__errno_location() #11
  %9791 = load i32, ptr %9790, align 4, !tbaa !5
  %9792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9779, ptr noundef @.str.63, i32 noundef %9780, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 523, ptr noundef %9783, ptr noundef %9786, ptr noundef %9789, i32 noundef %9791) #10
  br label %9810

9793:                                             ; preds = %9771, %9764
  %9794 = load i32, ptr %201, align 4, !tbaa !5
  %9795 = call ptr @__errno_location() #11
  store i32 %9794, ptr %9795, align 4, !tbaa !5
  %9796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9797 = load i32, ptr @test_count, align 4, !tbaa !5
  %9798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9799 = load i32, ptr %9798, align 4, !tbaa !5
  %9800 = call ptr @s2n_strerror(i32 noundef %9799, ptr noundef @.str.65)
  %9801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9802 = load i32, ptr %9801, align 4, !tbaa !5
  %9803 = call ptr @s2n_strerror_debug(i32 noundef %9802, ptr noundef @.str.65)
  %9804 = call ptr @__errno_location() #11
  %9805 = load i32, ptr %9804, align 4, !tbaa !5
  %9806 = call ptr @strerror(i32 noundef %9805) #10
  %9807 = call ptr @__errno_location() #11
  %9808 = load i32, ptr %9807, align 4, !tbaa !5
  %9809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9796, ptr noundef @.str.66, i32 noundef %9797, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 523, ptr noundef %9800, ptr noundef %9803, ptr noundef %9806, i32 noundef %9808) #10
  br label %9810

9810:                                             ; preds = %9793, %9776
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %9811

9811:                                             ; preds = %9810
  br label %9812

9812:                                             ; preds = %9811
  call void @exit(i32 noundef 1) #12
  unreachable

9813:                                             ; No predecessors!
  br label %9814

9814:                                             ; preds = %9813
  br label %9815

9815:                                             ; preds = %9814, %9755
  br label %9816

9816:                                             ; preds = %9815
  br label %9817

9817:                                             ; preds = %9816
  br label %9818

9818:                                             ; preds = %9817
  %9819 = load i32, ptr @test_count, align 4, !tbaa !5
  %9820 = add nsw i32 %9819, 1
  store i32 %9820, ptr @test_count, align 4, !tbaa !5
  %9821 = load ptr, ptr %198, align 8, !tbaa !9
  %9822 = load ptr, ptr %20, align 8, !tbaa !9
  %9823 = call i32 @s2n_connection_set_config(ptr noundef %9821, ptr noundef %9822)
  %9824 = icmp eq i32 %9823, -1
  br i1 %9824, label %9825, label %9878

9825:                                             ; preds = %9818
  br label %9826

9826:                                             ; preds = %9825
  br label %9827

9827:                                             ; preds = %9826
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #10
  %9828 = call ptr @__errno_location() #11
  %9829 = load i32, ptr %9828, align 4, !tbaa !5
  store i32 %9829, ptr %202, align 4, !tbaa !5
  %9830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9831 = call i32 @s2n_print_stacktrace(ptr noundef %9830)
  %9832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9833 = trunc i8 %9832 to i1
  br i1 %9833, label %9834, label %9856

9834:                                             ; preds = %9827
  %9835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9836 = call i32 @fileno(ptr noundef %9835) #10
  %9837 = call i32 @isatty(i32 noundef %9836) #10
  %9838 = icmp ne i32 %9837, 0
  br i1 %9838, label %9839, label %9856

9839:                                             ; preds = %9834
  %9840 = load i32, ptr %202, align 4, !tbaa !5
  %9841 = call ptr @__errno_location() #11
  store i32 %9840, ptr %9841, align 4, !tbaa !5
  %9842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9843 = load i32, ptr @test_count, align 4, !tbaa !5
  %9844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9845 = load i32, ptr %9844, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror(i32 noundef %9845, ptr noundef @.str.65)
  %9847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @s2n_strerror_debug(i32 noundef %9848, ptr noundef @.str.65)
  %9850 = call ptr @__errno_location() #11
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call ptr @strerror(i32 noundef %9851) #10
  %9853 = call ptr @__errno_location() #11
  %9854 = load i32, ptr %9853, align 4, !tbaa !5
  %9855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9842, ptr noundef @.str.63, i32 noundef %9843, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 524, ptr noundef %9846, ptr noundef %9849, ptr noundef %9852, i32 noundef %9854) #10
  br label %9873

9856:                                             ; preds = %9834, %9827
  %9857 = load i32, ptr %202, align 4, !tbaa !5
  %9858 = call ptr @__errno_location() #11
  store i32 %9857, ptr %9858, align 4, !tbaa !5
  %9859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9860 = load i32, ptr @test_count, align 4, !tbaa !5
  %9861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9862 = load i32, ptr %9861, align 4, !tbaa !5
  %9863 = call ptr @s2n_strerror(i32 noundef %9862, ptr noundef @.str.65)
  %9864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9865 = load i32, ptr %9864, align 4, !tbaa !5
  %9866 = call ptr @s2n_strerror_debug(i32 noundef %9865, ptr noundef @.str.65)
  %9867 = call ptr @__errno_location() #11
  %9868 = load i32, ptr %9867, align 4, !tbaa !5
  %9869 = call ptr @strerror(i32 noundef %9868) #10
  %9870 = call ptr @__errno_location() #11
  %9871 = load i32, ptr %9870, align 4, !tbaa !5
  %9872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9859, ptr noundef @.str.66, i32 noundef %9860, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 524, ptr noundef %9863, ptr noundef %9866, ptr noundef %9869, i32 noundef %9871) #10
  br label %9873

9873:                                             ; preds = %9856, %9839
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #10
  br label %9874

9874:                                             ; preds = %9873
  br label %9875

9875:                                             ; preds = %9874
  call void @exit(i32 noundef 1) #12
  unreachable

9876:                                             ; No predecessors!
  br label %9877

9877:                                             ; preds = %9876
  br label %9878

9878:                                             ; preds = %9877, %9818
  br label %9879

9879:                                             ; preds = %9878
  br label %9880

9880:                                             ; preds = %9879
  call void @llvm.lifetime.start.p0(i64 8, ptr %203) #10
  call void @llvm.memset.p0.i64(ptr align 4 %203, i8 0, i64 8, i1 false)
  br label %9881

9881:                                             ; preds = %9880
  %9882 = load i32, ptr @test_count, align 4, !tbaa !5
  %9883 = add nsw i32 %9882, 1
  store i32 %9883, ptr @test_count, align 4, !tbaa !5
  %9884 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %203)
  %9885 = icmp eq i32 %9884, -1
  br i1 %9885, label %9886, label %9939

9886:                                             ; preds = %9881
  br label %9887

9887:                                             ; preds = %9886
  br label %9888

9888:                                             ; preds = %9887
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %9889 = call ptr @__errno_location() #11
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  store i32 %9890, ptr %204, align 4, !tbaa !5
  %9891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9892 = call i32 @s2n_print_stacktrace(ptr noundef %9891)
  %9893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9894 = trunc i8 %9893 to i1
  br i1 %9894, label %9895, label %9917

9895:                                             ; preds = %9888
  %9896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9897 = call i32 @fileno(ptr noundef %9896) #10
  %9898 = call i32 @isatty(i32 noundef %9897) #10
  %9899 = icmp ne i32 %9898, 0
  br i1 %9899, label %9900, label %9917

9900:                                             ; preds = %9895
  %9901 = load i32, ptr %204, align 4, !tbaa !5
  %9902 = call ptr @__errno_location() #11
  store i32 %9901, ptr %9902, align 4, !tbaa !5
  %9903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9904 = load i32, ptr @test_count, align 4, !tbaa !5
  %9905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9906 = load i32, ptr %9905, align 4, !tbaa !5
  %9907 = call ptr @s2n_strerror(i32 noundef %9906, ptr noundef @.str.65)
  %9908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9909 = load i32, ptr %9908, align 4, !tbaa !5
  %9910 = call ptr @s2n_strerror_debug(i32 noundef %9909, ptr noundef @.str.65)
  %9911 = call ptr @__errno_location() #11
  %9912 = load i32, ptr %9911, align 4, !tbaa !5
  %9913 = call ptr @strerror(i32 noundef %9912) #10
  %9914 = call ptr @__errno_location() #11
  %9915 = load i32, ptr %9914, align 4, !tbaa !5
  %9916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9903, ptr noundef @.str.63, i32 noundef %9904, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 528, ptr noundef %9907, ptr noundef %9910, ptr noundef %9913, i32 noundef %9915) #10
  br label %9934

9917:                                             ; preds = %9895, %9888
  %9918 = load i32, ptr %204, align 4, !tbaa !5
  %9919 = call ptr @__errno_location() #11
  store i32 %9918, ptr %9919, align 4, !tbaa !5
  %9920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9921 = load i32, ptr @test_count, align 4, !tbaa !5
  %9922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9923 = load i32, ptr %9922, align 4, !tbaa !5
  %9924 = call ptr @s2n_strerror(i32 noundef %9923, ptr noundef @.str.65)
  %9925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9926 = load i32, ptr %9925, align 4, !tbaa !5
  %9927 = call ptr @s2n_strerror_debug(i32 noundef %9926, ptr noundef @.str.65)
  %9928 = call ptr @__errno_location() #11
  %9929 = load i32, ptr %9928, align 4, !tbaa !5
  %9930 = call ptr @strerror(i32 noundef %9929) #10
  %9931 = call ptr @__errno_location() #11
  %9932 = load i32, ptr %9931, align 4, !tbaa !5
  %9933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9920, ptr noundef @.str.66, i32 noundef %9921, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 528, ptr noundef %9924, ptr noundef %9927, ptr noundef %9930, i32 noundef %9932) #10
  br label %9934

9934:                                             ; preds = %9917, %9900
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %9935

9935:                                             ; preds = %9934
  br label %9936

9936:                                             ; preds = %9935
  call void @exit(i32 noundef 1) #12
  unreachable

9937:                                             ; No predecessors!
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

9939:                                             ; preds = %9938, %9881
  br label %9940

9940:                                             ; preds = %9939
  br label %9941

9941:                                             ; preds = %9940
  br label %9942

9942:                                             ; preds = %9941
  %9943 = load i32, ptr @test_count, align 4, !tbaa !5
  %9944 = add nsw i32 %9943, 1
  store i32 %9944, ptr @test_count, align 4, !tbaa !5
  %9945 = load ptr, ptr %197, align 8, !tbaa !9
  %9946 = load ptr, ptr %198, align 8, !tbaa !9
  %9947 = call i32 @s2n_connections_set_io_pair(ptr noundef %9945, ptr noundef %9946, ptr noundef %203)
  %9948 = icmp eq i32 %9947, -1
  br i1 %9948, label %9949, label %10002

9949:                                             ; preds = %9942
  br label %9950

9950:                                             ; preds = %9949
  br label %9951

9951:                                             ; preds = %9950
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #10
  %9952 = call ptr @__errno_location() #11
  %9953 = load i32, ptr %9952, align 4, !tbaa !5
  store i32 %9953, ptr %205, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = call i32 @s2n_print_stacktrace(ptr noundef %9954)
  %9956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9957 = trunc i8 %9956 to i1
  br i1 %9957, label %9958, label %9980

9958:                                             ; preds = %9951
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = call i32 @fileno(ptr noundef %9959) #10
  %9961 = call i32 @isatty(i32 noundef %9960) #10
  %9962 = icmp ne i32 %9961, 0
  br i1 %9962, label %9963, label %9980

9963:                                             ; preds = %9958
  %9964 = load i32, ptr %205, align 4, !tbaa !5
  %9965 = call ptr @__errno_location() #11
  store i32 %9964, ptr %9965, align 4, !tbaa !5
  %9966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9967 = load i32, ptr @test_count, align 4, !tbaa !5
  %9968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9969 = load i32, ptr %9968, align 4, !tbaa !5
  %9970 = call ptr @s2n_strerror(i32 noundef %9969, ptr noundef @.str.65)
  %9971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9972 = load i32, ptr %9971, align 4, !tbaa !5
  %9973 = call ptr @s2n_strerror_debug(i32 noundef %9972, ptr noundef @.str.65)
  %9974 = call ptr @__errno_location() #11
  %9975 = load i32, ptr %9974, align 4, !tbaa !5
  %9976 = call ptr @strerror(i32 noundef %9975) #10
  %9977 = call ptr @__errno_location() #11
  %9978 = load i32, ptr %9977, align 4, !tbaa !5
  %9979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9966, ptr noundef @.str.63, i32 noundef %9967, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 529, ptr noundef %9970, ptr noundef %9973, ptr noundef %9976, i32 noundef %9978) #10
  br label %9997

9980:                                             ; preds = %9958, %9951
  %9981 = load i32, ptr %205, align 4, !tbaa !5
  %9982 = call ptr @__errno_location() #11
  store i32 %9981, ptr %9982, align 4, !tbaa !5
  %9983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9984 = load i32, ptr @test_count, align 4, !tbaa !5
  %9985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9986 = load i32, ptr %9985, align 4, !tbaa !5
  %9987 = call ptr @s2n_strerror(i32 noundef %9986, ptr noundef @.str.65)
  %9988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9989 = load i32, ptr %9988, align 4, !tbaa !5
  %9990 = call ptr @s2n_strerror_debug(i32 noundef %9989, ptr noundef @.str.65)
  %9991 = call ptr @__errno_location() #11
  %9992 = load i32, ptr %9991, align 4, !tbaa !5
  %9993 = call ptr @strerror(i32 noundef %9992) #10
  %9994 = call ptr @__errno_location() #11
  %9995 = load i32, ptr %9994, align 4, !tbaa !5
  %9996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9983, ptr noundef @.str.66, i32 noundef %9984, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 529, ptr noundef %9987, ptr noundef %9990, ptr noundef %9993, i32 noundef %9995) #10
  br label %9997

9997:                                             ; preds = %9980, %9963
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #10
  br label %9998

9998:                                             ; preds = %9997
  br label %9999

9999:                                             ; preds = %9998
  call void @exit(i32 noundef 1) #12
  unreachable

10000:                                            ; No predecessors!
  br label %10001

10001:                                            ; preds = %10000
  br label %10002

10002:                                            ; preds = %10001, %9942
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

10004:                                            ; preds = %10003
  br label %10005

10005:                                            ; preds = %10004
  %10006 = load i32, ptr @test_count, align 4, !tbaa !5
  %10007 = add nsw i32 %10006, 1
  store i32 %10007, ptr @test_count, align 4, !tbaa !5
  %10008 = load ptr, ptr %198, align 8, !tbaa !9
  %10009 = load ptr, ptr %197, align 8, !tbaa !9
  %10010 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10008, ptr noundef %10009)
  %10011 = icmp eq i32 %10010, -1
  br i1 %10011, label %10012, label %10065

10012:                                            ; preds = %10005
  br label %10013

10013:                                            ; preds = %10012
  br label %10014

10014:                                            ; preds = %10013
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #10
  %10015 = call ptr @__errno_location() #11
  %10016 = load i32, ptr %10015, align 4, !tbaa !5
  store i32 %10016, ptr %206, align 4, !tbaa !5
  %10017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10018 = call i32 @s2n_print_stacktrace(ptr noundef %10017)
  %10019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10020 = trunc i8 %10019 to i1
  br i1 %10020, label %10021, label %10043

10021:                                            ; preds = %10014
  %10022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10023 = call i32 @fileno(ptr noundef %10022) #10
  %10024 = call i32 @isatty(i32 noundef %10023) #10
  %10025 = icmp ne i32 %10024, 0
  br i1 %10025, label %10026, label %10043

10026:                                            ; preds = %10021
  %10027 = load i32, ptr %206, align 4, !tbaa !5
  %10028 = call ptr @__errno_location() #11
  store i32 %10027, ptr %10028, align 4, !tbaa !5
  %10029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10030 = load i32, ptr @test_count, align 4, !tbaa !5
  %10031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  %10033 = call ptr @s2n_strerror(i32 noundef %10032, ptr noundef @.str.65)
  %10034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call ptr @s2n_strerror_debug(i32 noundef %10035, ptr noundef @.str.65)
  %10037 = call ptr @__errno_location() #11
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @strerror(i32 noundef %10038) #10
  %10040 = call ptr @__errno_location() #11
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10029, ptr noundef @.str.63, i32 noundef %10030, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 532, ptr noundef %10033, ptr noundef %10036, ptr noundef %10039, i32 noundef %10041) #10
  br label %10060

10043:                                            ; preds = %10021, %10014
  %10044 = load i32, ptr %206, align 4, !tbaa !5
  %10045 = call ptr @__errno_location() #11
  store i32 %10044, ptr %10045, align 4, !tbaa !5
  %10046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10047 = load i32, ptr @test_count, align 4, !tbaa !5
  %10048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10049 = load i32, ptr %10048, align 4, !tbaa !5
  %10050 = call ptr @s2n_strerror(i32 noundef %10049, ptr noundef @.str.65)
  %10051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10052 = load i32, ptr %10051, align 4, !tbaa !5
  %10053 = call ptr @s2n_strerror_debug(i32 noundef %10052, ptr noundef @.str.65)
  %10054 = call ptr @__errno_location() #11
  %10055 = load i32, ptr %10054, align 4, !tbaa !5
  %10056 = call ptr @strerror(i32 noundef %10055) #10
  %10057 = call ptr @__errno_location() #11
  %10058 = load i32, ptr %10057, align 4, !tbaa !5
  %10059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10046, ptr noundef @.str.66, i32 noundef %10047, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 532, ptr noundef %10050, ptr noundef %10053, ptr noundef %10056, i32 noundef %10058) #10
  br label %10060

10060:                                            ; preds = %10043, %10026
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #10
  br label %10061

10061:                                            ; preds = %10060
  br label %10062

10062:                                            ; preds = %10061
  call void @exit(i32 noundef 1) #12
  unreachable

10063:                                            ; No predecessors!
  br label %10064

10064:                                            ; preds = %10063
  br label %10065

10065:                                            ; preds = %10064, %10005
  br label %10066

10066:                                            ; preds = %10065
  br label %10067

10067:                                            ; preds = %10066
  br label %10068

10068:                                            ; preds = %10067
  %10069 = load i32, ptr @test_count, align 4, !tbaa !5
  %10070 = add nsw i32 %10069, 1
  store i32 %10070, ptr @test_count, align 4, !tbaa !5
  %10071 = load ptr, ptr %197, align 8, !tbaa !9
  %10072 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %10071, i32 noundef 2)
  br i1 %10072, label %10073, label %10076

10073:                                            ; preds = %10068
  %10074 = load ptr, ptr %198, align 8, !tbaa !9
  %10075 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %10074, i32 noundef 2)
  br i1 %10075, label %10129, label %10076

10076:                                            ; preds = %10073, %10068
  br label %10077

10077:                                            ; preds = %10076
  br label %10078

10078:                                            ; preds = %10077
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %10079 = call ptr @__errno_location() #11
  %10080 = load i32, ptr %10079, align 4, !tbaa !5
  store i32 %10080, ptr %207, align 4, !tbaa !5
  %10081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10082 = call i32 @s2n_print_stacktrace(ptr noundef %10081)
  %10083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10084 = trunc i8 %10083 to i1
  br i1 %10084, label %10085, label %10107

10085:                                            ; preds = %10078
  %10086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10087 = call i32 @fileno(ptr noundef %10086) #10
  %10088 = call i32 @isatty(i32 noundef %10087) #10
  %10089 = icmp ne i32 %10088, 0
  br i1 %10089, label %10090, label %10107

10090:                                            ; preds = %10085
  %10091 = load i32, ptr %207, align 4, !tbaa !5
  %10092 = call ptr @__errno_location() #11
  store i32 %10091, ptr %10092, align 4, !tbaa !5
  %10093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10094 = load i32, ptr @test_count, align 4, !tbaa !5
  %10095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = call ptr @s2n_strerror(i32 noundef %10096, ptr noundef @.str.65)
  %10098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10099 = load i32, ptr %10098, align 4, !tbaa !5
  %10100 = call ptr @s2n_strerror_debug(i32 noundef %10099, ptr noundef @.str.65)
  %10101 = call ptr @__errno_location() #11
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call ptr @strerror(i32 noundef %10102) #10
  %10104 = call ptr @__errno_location() #11
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10093, ptr noundef @.str.63, i32 noundef %10094, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 533, ptr noundef %10097, ptr noundef %10100, ptr noundef %10103, i32 noundef %10105) #10
  br label %10124

10107:                                            ; preds = %10085, %10078
  %10108 = load i32, ptr %207, align 4, !tbaa !5
  %10109 = call ptr @__errno_location() #11
  store i32 %10108, ptr %10109, align 4, !tbaa !5
  %10110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10111 = load i32, ptr @test_count, align 4, !tbaa !5
  %10112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10113 = load i32, ptr %10112, align 4, !tbaa !5
  %10114 = call ptr @s2n_strerror(i32 noundef %10113, ptr noundef @.str.65)
  %10115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10116 = load i32, ptr %10115, align 4, !tbaa !5
  %10117 = call ptr @s2n_strerror_debug(i32 noundef %10116, ptr noundef @.str.65)
  %10118 = call ptr @__errno_location() #11
  %10119 = load i32, ptr %10118, align 4, !tbaa !5
  %10120 = call ptr @strerror(i32 noundef %10119) #10
  %10121 = call ptr @__errno_location() #11
  %10122 = load i32, ptr %10121, align 4, !tbaa !5
  %10123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10110, ptr noundef @.str.66, i32 noundef %10111, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 533, ptr noundef %10114, ptr noundef %10117, ptr noundef %10120, i32 noundef %10122) #10
  br label %10124

10124:                                            ; preds = %10107, %10090
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %10125

10125:                                            ; preds = %10124
  br label %10126

10126:                                            ; preds = %10125
  call void @exit(i32 noundef 1) #12
  unreachable

10127:                                            ; No predecessors!
  br label %10128

10128:                                            ; preds = %10127
  br label %10129

10129:                                            ; preds = %10128, %10073
  br label %10130

10130:                                            ; preds = %10129
  br label %10131

10131:                                            ; preds = %10130
  br label %10132

10132:                                            ; preds = %10131
  %10133 = load i32, ptr @test_count, align 4, !tbaa !5
  %10134 = add nsw i32 %10133, 1
  store i32 %10134, ptr @test_count, align 4, !tbaa !5
  %10135 = load ptr, ptr %198, align 8, !tbaa !9
  %10136 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %10135, i32 noundef 64)
  br i1 %10136, label %10190, label %10137

10137:                                            ; preds = %10132
  br label %10138

10138:                                            ; preds = %10137
  br label %10139

10139:                                            ; preds = %10138
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #10
  %10140 = call ptr @__errno_location() #11
  %10141 = load i32, ptr %10140, align 4, !tbaa !5
  store i32 %10141, ptr %208, align 4, !tbaa !5
  %10142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10143 = call i32 @s2n_print_stacktrace(ptr noundef %10142)
  %10144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10145 = trunc i8 %10144 to i1
  br i1 %10145, label %10146, label %10168

10146:                                            ; preds = %10139
  %10147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10148 = call i32 @fileno(ptr noundef %10147) #10
  %10149 = call i32 @isatty(i32 noundef %10148) #10
  %10150 = icmp ne i32 %10149, 0
  br i1 %10150, label %10151, label %10168

10151:                                            ; preds = %10146
  %10152 = load i32, ptr %208, align 4, !tbaa !5
  %10153 = call ptr @__errno_location() #11
  store i32 %10152, ptr %10153, align 4, !tbaa !5
  %10154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10155 = load i32, ptr @test_count, align 4, !tbaa !5
  %10156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10157 = load i32, ptr %10156, align 4, !tbaa !5
  %10158 = call ptr @s2n_strerror(i32 noundef %10157, ptr noundef @.str.65)
  %10159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10160 = load i32, ptr %10159, align 4, !tbaa !5
  %10161 = call ptr @s2n_strerror_debug(i32 noundef %10160, ptr noundef @.str.65)
  %10162 = call ptr @__errno_location() #11
  %10163 = load i32, ptr %10162, align 4, !tbaa !5
  %10164 = call ptr @strerror(i32 noundef %10163) #10
  %10165 = call ptr @__errno_location() #11
  %10166 = load i32, ptr %10165, align 4, !tbaa !5
  %10167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10154, ptr noundef @.str.63, i32 noundef %10155, ptr noundef @.str.145, ptr noundef @.str.62, i32 noundef 534, ptr noundef %10158, ptr noundef %10161, ptr noundef %10164, i32 noundef %10166) #10
  br label %10185

10168:                                            ; preds = %10146, %10139
  %10169 = load i32, ptr %208, align 4, !tbaa !5
  %10170 = call ptr @__errno_location() #11
  store i32 %10169, ptr %10170, align 4, !tbaa !5
  %10171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10172 = load i32, ptr @test_count, align 4, !tbaa !5
  %10173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10174 = load i32, ptr %10173, align 4, !tbaa !5
  %10175 = call ptr @s2n_strerror(i32 noundef %10174, ptr noundef @.str.65)
  %10176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10177 = load i32, ptr %10176, align 4, !tbaa !5
  %10178 = call ptr @s2n_strerror_debug(i32 noundef %10177, ptr noundef @.str.65)
  %10179 = call ptr @__errno_location() #11
  %10180 = load i32, ptr %10179, align 4, !tbaa !5
  %10181 = call ptr @strerror(i32 noundef %10180) #10
  %10182 = call ptr @__errno_location() #11
  %10183 = load i32, ptr %10182, align 4, !tbaa !5
  %10184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10171, ptr noundef @.str.66, i32 noundef %10172, ptr noundef @.str.145, ptr noundef @.str.62, i32 noundef 534, ptr noundef %10175, ptr noundef %10178, ptr noundef %10181, i32 noundef %10183) #10
  br label %10185

10185:                                            ; preds = %10168, %10151
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #10
  br label %10186

10186:                                            ; preds = %10185
  br label %10187

10187:                                            ; preds = %10186
  call void @exit(i32 noundef 1) #12
  unreachable

10188:                                            ; No predecessors!
  br label %10189

10189:                                            ; preds = %10188
  br label %10190

10190:                                            ; preds = %10189, %10132
  br label %10191

10191:                                            ; preds = %10190
  br label %10192

10192:                                            ; preds = %10191
  br label %10193

10193:                                            ; preds = %10192
  %10194 = load i32, ptr @test_count, align 4, !tbaa !5
  %10195 = add nsw i32 %10194, 1
  store i32 %10195, ptr @test_count, align 4, !tbaa !5
  %10196 = load ptr, ptr %197, align 8, !tbaa !9
  %10197 = load i32, ptr %10196, align 8
  %10198 = lshr i32 %10197, 13
  %10199 = and i32 %10198, 1
  %10200 = icmp ne i32 %10199, 0
  br i1 %10200, label %10254, label %10201

10201:                                            ; preds = %10193
  br label %10202

10202:                                            ; preds = %10201
  br label %10203

10203:                                            ; preds = %10202
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #10
  %10204 = call ptr @__errno_location() #11
  %10205 = load i32, ptr %10204, align 4, !tbaa !5
  store i32 %10205, ptr %209, align 4, !tbaa !5
  %10206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10207 = call i32 @s2n_print_stacktrace(ptr noundef %10206)
  %10208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10209 = trunc i8 %10208 to i1
  br i1 %10209, label %10210, label %10232

10210:                                            ; preds = %10203
  %10211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10212 = call i32 @fileno(ptr noundef %10211) #10
  %10213 = call i32 @isatty(i32 noundef %10212) #10
  %10214 = icmp ne i32 %10213, 0
  br i1 %10214, label %10215, label %10232

10215:                                            ; preds = %10210
  %10216 = load i32, ptr %209, align 4, !tbaa !5
  %10217 = call ptr @__errno_location() #11
  store i32 %10216, ptr %10217, align 4, !tbaa !5
  %10218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10219 = load i32, ptr @test_count, align 4, !tbaa !5
  %10220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10221 = load i32, ptr %10220, align 4, !tbaa !5
  %10222 = call ptr @s2n_strerror(i32 noundef %10221, ptr noundef @.str.65)
  %10223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror_debug(i32 noundef %10224, ptr noundef @.str.65)
  %10226 = call ptr @__errno_location() #11
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @strerror(i32 noundef %10227) #10
  %10229 = call ptr @__errno_location() #11
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10218, ptr noundef @.str.63, i32 noundef %10219, ptr noundef @.str.146, ptr noundef @.str.62, i32 noundef 535, ptr noundef %10222, ptr noundef %10225, ptr noundef %10228, i32 noundef %10230) #10
  br label %10249

10232:                                            ; preds = %10210, %10203
  %10233 = load i32, ptr %209, align 4, !tbaa !5
  %10234 = call ptr @__errno_location() #11
  store i32 %10233, ptr %10234, align 4, !tbaa !5
  %10235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10236 = load i32, ptr @test_count, align 4, !tbaa !5
  %10237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10238 = load i32, ptr %10237, align 4, !tbaa !5
  %10239 = call ptr @s2n_strerror(i32 noundef %10238, ptr noundef @.str.65)
  %10240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10241 = load i32, ptr %10240, align 4, !tbaa !5
  %10242 = call ptr @s2n_strerror_debug(i32 noundef %10241, ptr noundef @.str.65)
  %10243 = call ptr @__errno_location() #11
  %10244 = load i32, ptr %10243, align 4, !tbaa !5
  %10245 = call ptr @strerror(i32 noundef %10244) #10
  %10246 = call ptr @__errno_location() #11
  %10247 = load i32, ptr %10246, align 4, !tbaa !5
  %10248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10235, ptr noundef @.str.66, i32 noundef %10236, ptr noundef @.str.146, ptr noundef @.str.62, i32 noundef 535, ptr noundef %10239, ptr noundef %10242, ptr noundef %10245, i32 noundef %10247) #10
  br label %10249

10249:                                            ; preds = %10232, %10215
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #10
  br label %10250

10250:                                            ; preds = %10249
  br label %10251

10251:                                            ; preds = %10250
  call void @exit(i32 noundef 1) #12
  unreachable

10252:                                            ; No predecessors!
  br label %10253

10253:                                            ; preds = %10252
  br label %10254

10254:                                            ; preds = %10253, %10193
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #10
  %10257 = load ptr, ptr %197, align 8, !tbaa !9
  %10258 = call i32 @s2n_connection_get_session_length(ptr noundef %10257)
  %10259 = sext i32 %10258 to i64
  store i64 %10259, ptr %210, align 8, !tbaa !15
  br label %10260

10260:                                            ; preds = %10256
  %10261 = load i32, ptr @test_count, align 4, !tbaa !5
  %10262 = add nsw i32 %10261, 1
  store i32 %10262, ptr @test_count, align 4, !tbaa !5
  %10263 = load i64, ptr %210, align 8, !tbaa !15
  %10264 = trunc i64 %10263 to i32
  %10265 = call i32 @s2n_realloc(ptr noundef %196, i32 noundef %10264)
  %10266 = icmp eq i32 %10265, -1
  br i1 %10266, label %10267, label %10320

10267:                                            ; preds = %10260
  br label %10268

10268:                                            ; preds = %10267
  br label %10269

10269:                                            ; preds = %10268
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  %10270 = call ptr @__errno_location() #11
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  store i32 %10271, ptr %211, align 4, !tbaa !5
  %10272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10273 = call i32 @s2n_print_stacktrace(ptr noundef %10272)
  %10274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10275 = trunc i8 %10274 to i1
  br i1 %10275, label %10276, label %10298

10276:                                            ; preds = %10269
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = call i32 @fileno(ptr noundef %10277) #10
  %10279 = call i32 @isatty(i32 noundef %10278) #10
  %10280 = icmp ne i32 %10279, 0
  br i1 %10280, label %10281, label %10298

10281:                                            ; preds = %10276
  %10282 = load i32, ptr %211, align 4, !tbaa !5
  %10283 = call ptr @__errno_location() #11
  store i32 %10282, ptr %10283, align 4, !tbaa !5
  %10284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10285 = load i32, ptr @test_count, align 4, !tbaa !5
  %10286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @s2n_strerror(i32 noundef %10287, ptr noundef @.str.65)
  %10289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call ptr @s2n_strerror_debug(i32 noundef %10290, ptr noundef @.str.65)
  %10292 = call ptr @__errno_location() #11
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  %10294 = call ptr @strerror(i32 noundef %10293) #10
  %10295 = call ptr @__errno_location() #11
  %10296 = load i32, ptr %10295, align 4, !tbaa !5
  %10297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10284, ptr noundef @.str.63, i32 noundef %10285, ptr noundef @.str.147, ptr noundef @.str.62, i32 noundef 539, ptr noundef %10288, ptr noundef %10291, ptr noundef %10294, i32 noundef %10296) #10
  br label %10315

10298:                                            ; preds = %10276, %10269
  %10299 = load i32, ptr %211, align 4, !tbaa !5
  %10300 = call ptr @__errno_location() #11
  store i32 %10299, ptr %10300, align 4, !tbaa !5
  %10301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10302 = load i32, ptr @test_count, align 4, !tbaa !5
  %10303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  %10305 = call ptr @s2n_strerror(i32 noundef %10304, ptr noundef @.str.65)
  %10306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10307 = load i32, ptr %10306, align 4, !tbaa !5
  %10308 = call ptr @s2n_strerror_debug(i32 noundef %10307, ptr noundef @.str.65)
  %10309 = call ptr @__errno_location() #11
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  %10311 = call ptr @strerror(i32 noundef %10310) #10
  %10312 = call ptr @__errno_location() #11
  %10313 = load i32, ptr %10312, align 4, !tbaa !5
  %10314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10301, ptr noundef @.str.66, i32 noundef %10302, ptr noundef @.str.147, ptr noundef @.str.62, i32 noundef 539, ptr noundef %10305, ptr noundef %10308, ptr noundef %10311, i32 noundef %10313) #10
  br label %10315

10315:                                            ; preds = %10298, %10281
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  br label %10316

10316:                                            ; preds = %10315
  br label %10317

10317:                                            ; preds = %10316
  call void @exit(i32 noundef 1) #12
  unreachable

10318:                                            ; No predecessors!
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319, %10260
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321
  br label %10323

10323:                                            ; preds = %10322
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = add nsw i32 %10324, 1
  store i32 %10325, ptr @test_count, align 4, !tbaa !5
  %10326 = load ptr, ptr %197, align 8, !tbaa !9
  %10327 = getelementptr inbounds %struct.s2n_blob, ptr %196, i32 0, i32 0
  %10328 = load ptr, ptr %10327, align 8, !tbaa !34
  %10329 = getelementptr inbounds %struct.s2n_blob, ptr %196, i32 0, i32 1
  %10330 = load i32, ptr %10329, align 8, !tbaa !35
  %10331 = zext i32 %10330 to i64
  %10332 = call i32 @s2n_connection_get_session(ptr noundef %10326, ptr noundef %10328, i64 noundef %10331)
  %10333 = icmp eq i32 %10332, -1
  br i1 %10333, label %10334, label %10387

10334:                                            ; preds = %10323
  br label %10335

10335:                                            ; preds = %10334
  br label %10336

10336:                                            ; preds = %10335
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #10
  %10337 = call ptr @__errno_location() #11
  %10338 = load i32, ptr %10337, align 4, !tbaa !5
  store i32 %10338, ptr %212, align 4, !tbaa !5
  %10339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10340 = call i32 @s2n_print_stacktrace(ptr noundef %10339)
  %10341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10342 = trunc i8 %10341 to i1
  br i1 %10342, label %10343, label %10365

10343:                                            ; preds = %10336
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = call i32 @fileno(ptr noundef %10344) #10
  %10346 = call i32 @isatty(i32 noundef %10345) #10
  %10347 = icmp ne i32 %10346, 0
  br i1 %10347, label %10348, label %10365

10348:                                            ; preds = %10343
  %10349 = load i32, ptr %212, align 4, !tbaa !5
  %10350 = call ptr @__errno_location() #11
  store i32 %10349, ptr %10350, align 4, !tbaa !5
  %10351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10352 = load i32, ptr @test_count, align 4, !tbaa !5
  %10353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call ptr @s2n_strerror(i32 noundef %10354, ptr noundef @.str.65)
  %10356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  %10358 = call ptr @s2n_strerror_debug(i32 noundef %10357, ptr noundef @.str.65)
  %10359 = call ptr @__errno_location() #11
  %10360 = load i32, ptr %10359, align 4, !tbaa !5
  %10361 = call ptr @strerror(i32 noundef %10360) #10
  %10362 = call ptr @__errno_location() #11
  %10363 = load i32, ptr %10362, align 4, !tbaa !5
  %10364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10351, ptr noundef @.str.63, i32 noundef %10352, ptr noundef @.str.148, ptr noundef @.str.62, i32 noundef 540, ptr noundef %10355, ptr noundef %10358, ptr noundef %10361, i32 noundef %10363) #10
  br label %10382

10365:                                            ; preds = %10343, %10336
  %10366 = load i32, ptr %212, align 4, !tbaa !5
  %10367 = call ptr @__errno_location() #11
  store i32 %10366, ptr %10367, align 4, !tbaa !5
  %10368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10369 = load i32, ptr @test_count, align 4, !tbaa !5
  %10370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call ptr @s2n_strerror(i32 noundef %10371, ptr noundef @.str.65)
  %10373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10374 = load i32, ptr %10373, align 4, !tbaa !5
  %10375 = call ptr @s2n_strerror_debug(i32 noundef %10374, ptr noundef @.str.65)
  %10376 = call ptr @__errno_location() #11
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  %10378 = call ptr @strerror(i32 noundef %10377) #10
  %10379 = call ptr @__errno_location() #11
  %10380 = load i32, ptr %10379, align 4, !tbaa !5
  %10381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10368, ptr noundef @.str.66, i32 noundef %10369, ptr noundef @.str.148, ptr noundef @.str.62, i32 noundef 540, ptr noundef %10372, ptr noundef %10375, ptr noundef %10378, i32 noundef %10380) #10
  br label %10382

10382:                                            ; preds = %10365, %10348
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #10
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383
  call void @exit(i32 noundef 1) #12
  unreachable

10385:                                            ; No predecessors!
  br label %10386

10386:                                            ; preds = %10385
  br label %10387

10387:                                            ; preds = %10386, %10323
  br label %10388

10388:                                            ; preds = %10387
  br label %10389

10389:                                            ; preds = %10388
  br label %10390

10390:                                            ; preds = %10389
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %10392 = add nsw i32 %10391, 1
  store i32 %10392, ptr @test_count, align 4, !tbaa !5
  %10393 = load ptr, ptr %198, align 8, !tbaa !9
  %10394 = load ptr, ptr %197, align 8, !tbaa !9
  %10395 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %10393, ptr noundef %10394)
  %10396 = icmp eq i32 %10395, -1
  br i1 %10396, label %10397, label %10450

10397:                                            ; preds = %10390
  br label %10398

10398:                                            ; preds = %10397
  br label %10399

10399:                                            ; preds = %10398
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %10400 = call ptr @__errno_location() #11
  %10401 = load i32, ptr %10400, align 4, !tbaa !5
  store i32 %10401, ptr %213, align 4, !tbaa !5
  %10402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10403 = call i32 @s2n_print_stacktrace(ptr noundef %10402)
  %10404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10405 = trunc i8 %10404 to i1
  br i1 %10405, label %10406, label %10428

10406:                                            ; preds = %10399
  %10407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10408 = call i32 @fileno(ptr noundef %10407) #10
  %10409 = call i32 @isatty(i32 noundef %10408) #10
  %10410 = icmp ne i32 %10409, 0
  br i1 %10410, label %10411, label %10428

10411:                                            ; preds = %10406
  %10412 = load i32, ptr %213, align 4, !tbaa !5
  %10413 = call ptr @__errno_location() #11
  store i32 %10412, ptr %10413, align 4, !tbaa !5
  %10414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10415 = load i32, ptr @test_count, align 4, !tbaa !5
  %10416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10417 = load i32, ptr %10416, align 4, !tbaa !5
  %10418 = call ptr @s2n_strerror(i32 noundef %10417, ptr noundef @.str.65)
  %10419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10420 = load i32, ptr %10419, align 4, !tbaa !5
  %10421 = call ptr @s2n_strerror_debug(i32 noundef %10420, ptr noundef @.str.65)
  %10422 = call ptr @__errno_location() #11
  %10423 = load i32, ptr %10422, align 4, !tbaa !5
  %10424 = call ptr @strerror(i32 noundef %10423) #10
  %10425 = call ptr @__errno_location() #11
  %10426 = load i32, ptr %10425, align 4, !tbaa !5
  %10427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10414, ptr noundef @.str.63, i32 noundef %10415, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 543, ptr noundef %10418, ptr noundef %10421, ptr noundef %10424, i32 noundef %10426) #10
  br label %10445

10428:                                            ; preds = %10406, %10399
  %10429 = load i32, ptr %213, align 4, !tbaa !5
  %10430 = call ptr @__errno_location() #11
  store i32 %10429, ptr %10430, align 4, !tbaa !5
  %10431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10432 = load i32, ptr @test_count, align 4, !tbaa !5
  %10433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  %10435 = call ptr @s2n_strerror(i32 noundef %10434, ptr noundef @.str.65)
  %10436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10437 = load i32, ptr %10436, align 4, !tbaa !5
  %10438 = call ptr @s2n_strerror_debug(i32 noundef %10437, ptr noundef @.str.65)
  %10439 = call ptr @__errno_location() #11
  %10440 = load i32, ptr %10439, align 4, !tbaa !5
  %10441 = call ptr @strerror(i32 noundef %10440) #10
  %10442 = call ptr @__errno_location() #11
  %10443 = load i32, ptr %10442, align 4, !tbaa !5
  %10444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10431, ptr noundef @.str.66, i32 noundef %10432, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 543, ptr noundef %10435, ptr noundef %10438, ptr noundef %10441, i32 noundef %10443) #10
  br label %10445

10445:                                            ; preds = %10428, %10411
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %10446

10446:                                            ; preds = %10445
  br label %10447

10447:                                            ; preds = %10446
  call void @exit(i32 noundef 1) #12
  unreachable

10448:                                            ; No predecessors!
  br label %10449

10449:                                            ; preds = %10448
  br label %10450

10450:                                            ; preds = %10449, %10390
  br label %10451

10451:                                            ; preds = %10450
  br label %10452

10452:                                            ; preds = %10451
  br label %10453

10453:                                            ; preds = %10452
  %10454 = load i32, ptr @test_count, align 4, !tbaa !5
  %10455 = add nsw i32 %10454, 1
  store i32 %10455, ptr @test_count, align 4, !tbaa !5
  %10456 = load ptr, ptr %197, align 8, !tbaa !9
  %10457 = call i32 @s2n_connection_wipe(ptr noundef %10456)
  %10458 = icmp eq i32 %10457, -1
  br i1 %10458, label %10459, label %10512

10459:                                            ; preds = %10453
  br label %10460

10460:                                            ; preds = %10459
  br label %10461

10461:                                            ; preds = %10460
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #10
  %10462 = call ptr @__errno_location() #11
  %10463 = load i32, ptr %10462, align 4, !tbaa !5
  store i32 %10463, ptr %214, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = call i32 @s2n_print_stacktrace(ptr noundef %10464)
  %10466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10467 = trunc i8 %10466 to i1
  br i1 %10467, label %10468, label %10490

10468:                                            ; preds = %10461
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = call i32 @fileno(ptr noundef %10469) #10
  %10471 = call i32 @isatty(i32 noundef %10470) #10
  %10472 = icmp ne i32 %10471, 0
  br i1 %10472, label %10473, label %10490

10473:                                            ; preds = %10468
  %10474 = load i32, ptr %214, align 4, !tbaa !5
  %10475 = call ptr @__errno_location() #11
  store i32 %10474, ptr %10475, align 4, !tbaa !5
  %10476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10477 = load i32, ptr @test_count, align 4, !tbaa !5
  %10478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call ptr @s2n_strerror(i32 noundef %10479, ptr noundef @.str.65)
  %10481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @s2n_strerror_debug(i32 noundef %10482, ptr noundef @.str.65)
  %10484 = call ptr @__errno_location() #11
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call ptr @strerror(i32 noundef %10485) #10
  %10487 = call ptr @__errno_location() #11
  %10488 = load i32, ptr %10487, align 4, !tbaa !5
  %10489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10476, ptr noundef @.str.63, i32 noundef %10477, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 544, ptr noundef %10480, ptr noundef %10483, ptr noundef %10486, i32 noundef %10488) #10
  br label %10507

10490:                                            ; preds = %10468, %10461
  %10491 = load i32, ptr %214, align 4, !tbaa !5
  %10492 = call ptr @__errno_location() #11
  store i32 %10491, ptr %10492, align 4, !tbaa !5
  %10493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10494 = load i32, ptr @test_count, align 4, !tbaa !5
  %10495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror(i32 noundef %10496, ptr noundef @.str.65)
  %10498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @s2n_strerror_debug(i32 noundef %10499, ptr noundef @.str.65)
  %10501 = call ptr @__errno_location() #11
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call ptr @strerror(i32 noundef %10502) #10
  %10504 = call ptr @__errno_location() #11
  %10505 = load i32, ptr %10504, align 4, !tbaa !5
  %10506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10493, ptr noundef @.str.66, i32 noundef %10494, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 544, ptr noundef %10497, ptr noundef %10500, ptr noundef %10503, i32 noundef %10505) #10
  br label %10507

10507:                                            ; preds = %10490, %10473
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #10
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

10509:                                            ; preds = %10508
  call void @exit(i32 noundef 1) #12
  unreachable

10510:                                            ; No predecessors!
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

10512:                                            ; preds = %10511, %10453
  br label %10513

10513:                                            ; preds = %10512
  br label %10514

10514:                                            ; preds = %10513
  br label %10515

10515:                                            ; preds = %10514
  %10516 = load i32, ptr @test_count, align 4, !tbaa !5
  %10517 = add nsw i32 %10516, 1
  store i32 %10517, ptr @test_count, align 4, !tbaa !5
  %10518 = load ptr, ptr %198, align 8, !tbaa !9
  %10519 = call i32 @s2n_connection_wipe(ptr noundef %10518)
  %10520 = icmp eq i32 %10519, -1
  br i1 %10520, label %10521, label %10574

10521:                                            ; preds = %10515
  br label %10522

10522:                                            ; preds = %10521
  br label %10523

10523:                                            ; preds = %10522
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %10524 = call ptr @__errno_location() #11
  %10525 = load i32, ptr %10524, align 4, !tbaa !5
  store i32 %10525, ptr %215, align 4, !tbaa !5
  %10526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10527 = call i32 @s2n_print_stacktrace(ptr noundef %10526)
  %10528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10529 = trunc i8 %10528 to i1
  br i1 %10529, label %10530, label %10552

10530:                                            ; preds = %10523
  %10531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10532 = call i32 @fileno(ptr noundef %10531) #10
  %10533 = call i32 @isatty(i32 noundef %10532) #10
  %10534 = icmp ne i32 %10533, 0
  br i1 %10534, label %10535, label %10552

10535:                                            ; preds = %10530
  %10536 = load i32, ptr %215, align 4, !tbaa !5
  %10537 = call ptr @__errno_location() #11
  store i32 %10536, ptr %10537, align 4, !tbaa !5
  %10538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10539 = load i32, ptr @test_count, align 4, !tbaa !5
  %10540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10541 = load i32, ptr %10540, align 4, !tbaa !5
  %10542 = call ptr @s2n_strerror(i32 noundef %10541, ptr noundef @.str.65)
  %10543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror_debug(i32 noundef %10544, ptr noundef @.str.65)
  %10546 = call ptr @__errno_location() #11
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @strerror(i32 noundef %10547) #10
  %10549 = call ptr @__errno_location() #11
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10538, ptr noundef @.str.63, i32 noundef %10539, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 545, ptr noundef %10542, ptr noundef %10545, ptr noundef %10548, i32 noundef %10550) #10
  br label %10569

10552:                                            ; preds = %10530, %10523
  %10553 = load i32, ptr %215, align 4, !tbaa !5
  %10554 = call ptr @__errno_location() #11
  store i32 %10553, ptr %10554, align 4, !tbaa !5
  %10555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10556 = load i32, ptr @test_count, align 4, !tbaa !5
  %10557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10558 = load i32, ptr %10557, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror(i32 noundef %10558, ptr noundef @.str.65)
  %10560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @s2n_strerror_debug(i32 noundef %10561, ptr noundef @.str.65)
  %10563 = call ptr @__errno_location() #11
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call ptr @strerror(i32 noundef %10564) #10
  %10566 = call ptr @__errno_location() #11
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10555, ptr noundef @.str.66, i32 noundef %10556, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 545, ptr noundef %10559, ptr noundef %10562, ptr noundef %10565, i32 noundef %10567) #10
  br label %10569

10569:                                            ; preds = %10552, %10535
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  br label %10570

10570:                                            ; preds = %10569
  br label %10571

10571:                                            ; preds = %10570
  call void @exit(i32 noundef 1) #12
  unreachable

10572:                                            ; No predecessors!
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

10574:                                            ; preds = %10573, %10515
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575
  br label %10577

10577:                                            ; preds = %10576
  %10578 = load i32, ptr @test_count, align 4, !tbaa !5
  %10579 = add nsw i32 %10578, 1
  store i32 %10579, ptr @test_count, align 4, !tbaa !5
  %10580 = load ptr, ptr %197, align 8, !tbaa !9
  %10581 = load ptr, ptr %198, align 8, !tbaa !9
  %10582 = call i32 @s2n_connections_set_io_pair(ptr noundef %10580, ptr noundef %10581, ptr noundef %203)
  %10583 = icmp eq i32 %10582, -1
  br i1 %10583, label %10584, label %10637

10584:                                            ; preds = %10577
  br label %10585

10585:                                            ; preds = %10584
  br label %10586

10586:                                            ; preds = %10585
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #10
  %10587 = call ptr @__errno_location() #11
  %10588 = load i32, ptr %10587, align 4, !tbaa !5
  store i32 %10588, ptr %216, align 4, !tbaa !5
  %10589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10590 = call i32 @s2n_print_stacktrace(ptr noundef %10589)
  %10591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10592 = trunc i8 %10591 to i1
  br i1 %10592, label %10593, label %10615

10593:                                            ; preds = %10586
  %10594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10595 = call i32 @fileno(ptr noundef %10594) #10
  %10596 = call i32 @isatty(i32 noundef %10595) #10
  %10597 = icmp ne i32 %10596, 0
  br i1 %10597, label %10598, label %10615

10598:                                            ; preds = %10593
  %10599 = load i32, ptr %216, align 4, !tbaa !5
  %10600 = call ptr @__errno_location() #11
  store i32 %10599, ptr %10600, align 4, !tbaa !5
  %10601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10602 = load i32, ptr @test_count, align 4, !tbaa !5
  %10603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10604 = load i32, ptr %10603, align 4, !tbaa !5
  %10605 = call ptr @s2n_strerror(i32 noundef %10604, ptr noundef @.str.65)
  %10606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10607 = load i32, ptr %10606, align 4, !tbaa !5
  %10608 = call ptr @s2n_strerror_debug(i32 noundef %10607, ptr noundef @.str.65)
  %10609 = call ptr @__errno_location() #11
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call ptr @strerror(i32 noundef %10610) #10
  %10612 = call ptr @__errno_location() #11
  %10613 = load i32, ptr %10612, align 4, !tbaa !5
  %10614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10601, ptr noundef @.str.63, i32 noundef %10602, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 546, ptr noundef %10605, ptr noundef %10608, ptr noundef %10611, i32 noundef %10613) #10
  br label %10632

10615:                                            ; preds = %10593, %10586
  %10616 = load i32, ptr %216, align 4, !tbaa !5
  %10617 = call ptr @__errno_location() #11
  store i32 %10616, ptr %10617, align 4, !tbaa !5
  %10618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10619 = load i32, ptr @test_count, align 4, !tbaa !5
  %10620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10621 = load i32, ptr %10620, align 4, !tbaa !5
  %10622 = call ptr @s2n_strerror(i32 noundef %10621, ptr noundef @.str.65)
  %10623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10624 = load i32, ptr %10623, align 4, !tbaa !5
  %10625 = call ptr @s2n_strerror_debug(i32 noundef %10624, ptr noundef @.str.65)
  %10626 = call ptr @__errno_location() #11
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call ptr @strerror(i32 noundef %10627) #10
  %10629 = call ptr @__errno_location() #11
  %10630 = load i32, ptr %10629, align 4, !tbaa !5
  %10631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10618, ptr noundef @.str.66, i32 noundef %10619, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 546, ptr noundef %10622, ptr noundef %10625, ptr noundef %10628, i32 noundef %10630) #10
  br label %10632

10632:                                            ; preds = %10615, %10598
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #10
  br label %10633

10633:                                            ; preds = %10632
  br label %10634

10634:                                            ; preds = %10633
  call void @exit(i32 noundef 1) #12
  unreachable

10635:                                            ; No predecessors!
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

10637:                                            ; preds = %10636, %10577
  br label %10638

10638:                                            ; preds = %10637
  br label %10639

10639:                                            ; preds = %10638
  br label %10640

10640:                                            ; preds = %10639
  %10641 = load i32, ptr @test_count, align 4, !tbaa !5
  %10642 = add nsw i32 %10641, 1
  store i32 %10642, ptr @test_count, align 4, !tbaa !5
  %10643 = load ptr, ptr %197, align 8, !tbaa !9
  %10644 = call i32 @s2n_connection_set_blinding(ptr noundef %10643, i32 noundef 1)
  %10645 = icmp eq i32 %10644, -1
  br i1 %10645, label %10646, label %10699

10646:                                            ; preds = %10640
  br label %10647

10647:                                            ; preds = %10646
  br label %10648

10648:                                            ; preds = %10647
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %10649 = call ptr @__errno_location() #11
  %10650 = load i32, ptr %10649, align 4, !tbaa !5
  store i32 %10650, ptr %217, align 4, !tbaa !5
  %10651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10652 = call i32 @s2n_print_stacktrace(ptr noundef %10651)
  %10653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10654 = trunc i8 %10653 to i1
  br i1 %10654, label %10655, label %10677

10655:                                            ; preds = %10648
  %10656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10657 = call i32 @fileno(ptr noundef %10656) #10
  %10658 = call i32 @isatty(i32 noundef %10657) #10
  %10659 = icmp ne i32 %10658, 0
  br i1 %10659, label %10660, label %10677

10660:                                            ; preds = %10655
  %10661 = load i32, ptr %217, align 4, !tbaa !5
  %10662 = call ptr @__errno_location() #11
  store i32 %10661, ptr %10662, align 4, !tbaa !5
  %10663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10664 = load i32, ptr @test_count, align 4, !tbaa !5
  %10665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10666 = load i32, ptr %10665, align 4, !tbaa !5
  %10667 = call ptr @s2n_strerror(i32 noundef %10666, ptr noundef @.str.65)
  %10668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10669 = load i32, ptr %10668, align 4, !tbaa !5
  %10670 = call ptr @s2n_strerror_debug(i32 noundef %10669, ptr noundef @.str.65)
  %10671 = call ptr @__errno_location() #11
  %10672 = load i32, ptr %10671, align 4, !tbaa !5
  %10673 = call ptr @strerror(i32 noundef %10672) #10
  %10674 = call ptr @__errno_location() #11
  %10675 = load i32, ptr %10674, align 4, !tbaa !5
  %10676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10663, ptr noundef @.str.63, i32 noundef %10664, ptr noundef @.str.135, ptr noundef @.str.62, i32 noundef 547, ptr noundef %10667, ptr noundef %10670, ptr noundef %10673, i32 noundef %10675) #10
  br label %10694

10677:                                            ; preds = %10655, %10648
  %10678 = load i32, ptr %217, align 4, !tbaa !5
  %10679 = call ptr @__errno_location() #11
  store i32 %10678, ptr %10679, align 4, !tbaa !5
  %10680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10681 = load i32, ptr @test_count, align 4, !tbaa !5
  %10682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call ptr @s2n_strerror(i32 noundef %10683, ptr noundef @.str.65)
  %10685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10686 = load i32, ptr %10685, align 4, !tbaa !5
  %10687 = call ptr @s2n_strerror_debug(i32 noundef %10686, ptr noundef @.str.65)
  %10688 = call ptr @__errno_location() #11
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  %10690 = call ptr @strerror(i32 noundef %10689) #10
  %10691 = call ptr @__errno_location() #11
  %10692 = load i32, ptr %10691, align 4, !tbaa !5
  %10693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10680, ptr noundef @.str.66, i32 noundef %10681, ptr noundef @.str.135, ptr noundef @.str.62, i32 noundef 547, ptr noundef %10684, ptr noundef %10687, ptr noundef %10690, i32 noundef %10692) #10
  br label %10694

10694:                                            ; preds = %10677, %10660
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %10695

10695:                                            ; preds = %10694
  br label %10696

10696:                                            ; preds = %10695
  call void @exit(i32 noundef 1) #12
  unreachable

10697:                                            ; No predecessors!
  br label %10698

10698:                                            ; preds = %10697
  br label %10699

10699:                                            ; preds = %10698, %10640
  br label %10700

10700:                                            ; preds = %10699
  br label %10701

10701:                                            ; preds = %10700
  br label %10702

10702:                                            ; preds = %10701
  %10703 = load i32, ptr @test_count, align 4, !tbaa !5
  %10704 = add nsw i32 %10703, 1
  store i32 %10704, ptr @test_count, align 4, !tbaa !5
  %10705 = load ptr, ptr %197, align 8, !tbaa !9
  %10706 = getelementptr inbounds %struct.s2n_blob, ptr %196, i32 0, i32 0
  %10707 = load ptr, ptr %10706, align 8, !tbaa !34
  %10708 = getelementptr inbounds %struct.s2n_blob, ptr %196, i32 0, i32 1
  %10709 = load i32, ptr %10708, align 8, !tbaa !35
  %10710 = zext i32 %10709 to i64
  %10711 = call i32 @s2n_connection_set_session(ptr noundef %10705, ptr noundef %10707, i64 noundef %10710)
  %10712 = icmp eq i32 %10711, -1
  br i1 %10712, label %10713, label %10766

10713:                                            ; preds = %10702
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

10715:                                            ; preds = %10714
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #10
  %10716 = call ptr @__errno_location() #11
  %10717 = load i32, ptr %10716, align 4, !tbaa !5
  store i32 %10717, ptr %218, align 4, !tbaa !5
  %10718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10719 = call i32 @s2n_print_stacktrace(ptr noundef %10718)
  %10720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10721 = trunc i8 %10720 to i1
  br i1 %10721, label %10722, label %10744

10722:                                            ; preds = %10715
  %10723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10724 = call i32 @fileno(ptr noundef %10723) #10
  %10725 = call i32 @isatty(i32 noundef %10724) #10
  %10726 = icmp ne i32 %10725, 0
  br i1 %10726, label %10727, label %10744

10727:                                            ; preds = %10722
  %10728 = load i32, ptr %218, align 4, !tbaa !5
  %10729 = call ptr @__errno_location() #11
  store i32 %10728, ptr %10729, align 4, !tbaa !5
  %10730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10731 = load i32, ptr @test_count, align 4, !tbaa !5
  %10732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10733 = load i32, ptr %10732, align 4, !tbaa !5
  %10734 = call ptr @s2n_strerror(i32 noundef %10733, ptr noundef @.str.65)
  %10735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10736 = load i32, ptr %10735, align 4, !tbaa !5
  %10737 = call ptr @s2n_strerror_debug(i32 noundef %10736, ptr noundef @.str.65)
  %10738 = call ptr @__errno_location() #11
  %10739 = load i32, ptr %10738, align 4, !tbaa !5
  %10740 = call ptr @strerror(i32 noundef %10739) #10
  %10741 = call ptr @__errno_location() #11
  %10742 = load i32, ptr %10741, align 4, !tbaa !5
  %10743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10730, ptr noundef @.str.63, i32 noundef %10731, ptr noundef @.str.149, ptr noundef @.str.62, i32 noundef 550, ptr noundef %10734, ptr noundef %10737, ptr noundef %10740, i32 noundef %10742) #10
  br label %10761

10744:                                            ; preds = %10722, %10715
  %10745 = load i32, ptr %218, align 4, !tbaa !5
  %10746 = call ptr @__errno_location() #11
  store i32 %10745, ptr %10746, align 4, !tbaa !5
  %10747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10748 = load i32, ptr @test_count, align 4, !tbaa !5
  %10749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10750 = load i32, ptr %10749, align 4, !tbaa !5
  %10751 = call ptr @s2n_strerror(i32 noundef %10750, ptr noundef @.str.65)
  %10752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10753 = load i32, ptr %10752, align 4, !tbaa !5
  %10754 = call ptr @s2n_strerror_debug(i32 noundef %10753, ptr noundef @.str.65)
  %10755 = call ptr @__errno_location() #11
  %10756 = load i32, ptr %10755, align 4, !tbaa !5
  %10757 = call ptr @strerror(i32 noundef %10756) #10
  %10758 = call ptr @__errno_location() #11
  %10759 = load i32, ptr %10758, align 4, !tbaa !5
  %10760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10747, ptr noundef @.str.66, i32 noundef %10748, ptr noundef @.str.149, ptr noundef @.str.62, i32 noundef 550, ptr noundef %10751, ptr noundef %10754, ptr noundef %10757, i32 noundef %10759) #10
  br label %10761

10761:                                            ; preds = %10744, %10727
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #10
  br label %10762

10762:                                            ; preds = %10761
  br label %10763

10763:                                            ; preds = %10762
  call void @exit(i32 noundef 1) #12
  unreachable

10764:                                            ; No predecessors!
  br label %10765

10765:                                            ; preds = %10764
  br label %10766

10766:                                            ; preds = %10765, %10702
  br label %10767

10767:                                            ; preds = %10766
  br label %10768

10768:                                            ; preds = %10767
  br label %10769

10769:                                            ; preds = %10768
  %10770 = load i32, ptr @test_count, align 4, !tbaa !5
  %10771 = add nsw i32 %10770, 1
  store i32 %10771, ptr @test_count, align 4, !tbaa !5
  %10772 = load ptr, ptr %197, align 8, !tbaa !9
  %10773 = load i32, ptr %10772, align 8
  %10774 = lshr i32 %10773, 13
  %10775 = and i32 %10774, 1
  %10776 = icmp ne i32 %10775, 0
  br i1 %10776, label %10830, label %10777

10777:                                            ; preds = %10769
  br label %10778

10778:                                            ; preds = %10777
  br label %10779

10779:                                            ; preds = %10778
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #10
  %10780 = call ptr @__errno_location() #11
  %10781 = load i32, ptr %10780, align 4, !tbaa !5
  store i32 %10781, ptr %219, align 4, !tbaa !5
  %10782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10783 = call i32 @s2n_print_stacktrace(ptr noundef %10782)
  %10784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10785 = trunc i8 %10784 to i1
  br i1 %10785, label %10786, label %10808

10786:                                            ; preds = %10779
  %10787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10788 = call i32 @fileno(ptr noundef %10787) #10
  %10789 = call i32 @isatty(i32 noundef %10788) #10
  %10790 = icmp ne i32 %10789, 0
  br i1 %10790, label %10791, label %10808

10791:                                            ; preds = %10786
  %10792 = load i32, ptr %219, align 4, !tbaa !5
  %10793 = call ptr @__errno_location() #11
  store i32 %10792, ptr %10793, align 4, !tbaa !5
  %10794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10795 = load i32, ptr @test_count, align 4, !tbaa !5
  %10796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10797 = load i32, ptr %10796, align 4, !tbaa !5
  %10798 = call ptr @s2n_strerror(i32 noundef %10797, ptr noundef @.str.65)
  %10799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10800 = load i32, ptr %10799, align 4, !tbaa !5
  %10801 = call ptr @s2n_strerror_debug(i32 noundef %10800, ptr noundef @.str.65)
  %10802 = call ptr @__errno_location() #11
  %10803 = load i32, ptr %10802, align 4, !tbaa !5
  %10804 = call ptr @strerror(i32 noundef %10803) #10
  %10805 = call ptr @__errno_location() #11
  %10806 = load i32, ptr %10805, align 4, !tbaa !5
  %10807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10794, ptr noundef @.str.63, i32 noundef %10795, ptr noundef @.str.146, ptr noundef @.str.62, i32 noundef 552, ptr noundef %10798, ptr noundef %10801, ptr noundef %10804, i32 noundef %10806) #10
  br label %10825

10808:                                            ; preds = %10786, %10779
  %10809 = load i32, ptr %219, align 4, !tbaa !5
  %10810 = call ptr @__errno_location() #11
  store i32 %10809, ptr %10810, align 4, !tbaa !5
  %10811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10812 = load i32, ptr @test_count, align 4, !tbaa !5
  %10813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10814 = load i32, ptr %10813, align 4, !tbaa !5
  %10815 = call ptr @s2n_strerror(i32 noundef %10814, ptr noundef @.str.65)
  %10816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  %10818 = call ptr @s2n_strerror_debug(i32 noundef %10817, ptr noundef @.str.65)
  %10819 = call ptr @__errno_location() #11
  %10820 = load i32, ptr %10819, align 4, !tbaa !5
  %10821 = call ptr @strerror(i32 noundef %10820) #10
  %10822 = call ptr @__errno_location() #11
  %10823 = load i32, ptr %10822, align 4, !tbaa !5
  %10824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10811, ptr noundef @.str.66, i32 noundef %10812, ptr noundef @.str.146, ptr noundef @.str.62, i32 noundef 552, ptr noundef %10815, ptr noundef %10818, ptr noundef %10821, i32 noundef %10823) #10
  br label %10825

10825:                                            ; preds = %10808, %10791
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #10
  br label %10826

10826:                                            ; preds = %10825
  br label %10827

10827:                                            ; preds = %10826
  call void @exit(i32 noundef 1) #12
  unreachable

10828:                                            ; No predecessors!
  br label %10829

10829:                                            ; preds = %10828
  br label %10830

10830:                                            ; preds = %10829, %10769
  br label %10831

10831:                                            ; preds = %10830
  br label %10832

10832:                                            ; preds = %10831
  br label %10833

10833:                                            ; preds = %10832
  %10834 = load i32, ptr @test_count, align 4, !tbaa !5
  %10835 = add nsw i32 %10834, 1
  store i32 %10835, ptr @test_count, align 4, !tbaa !5
  %10836 = load ptr, ptr %197, align 8, !tbaa !9
  %10837 = load ptr, ptr %40, align 8, !tbaa !9
  %10838 = call i32 @s2n_connection_set_config(ptr noundef %10836, ptr noundef %10837)
  %10839 = icmp eq i32 %10838, -1
  br i1 %10839, label %10840, label %10893

10840:                                            ; preds = %10833
  br label %10841

10841:                                            ; preds = %10840
  br label %10842

10842:                                            ; preds = %10841
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %10843 = call ptr @__errno_location() #11
  %10844 = load i32, ptr %10843, align 4, !tbaa !5
  store i32 %10844, ptr %220, align 4, !tbaa !5
  %10845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10846 = call i32 @s2n_print_stacktrace(ptr noundef %10845)
  %10847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10848 = trunc i8 %10847 to i1
  br i1 %10848, label %10849, label %10871

10849:                                            ; preds = %10842
  %10850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10851 = call i32 @fileno(ptr noundef %10850) #10
  %10852 = call i32 @isatty(i32 noundef %10851) #10
  %10853 = icmp ne i32 %10852, 0
  br i1 %10853, label %10854, label %10871

10854:                                            ; preds = %10849
  %10855 = load i32, ptr %220, align 4, !tbaa !5
  %10856 = call ptr @__errno_location() #11
  store i32 %10855, ptr %10856, align 4, !tbaa !5
  %10857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10858 = load i32, ptr @test_count, align 4, !tbaa !5
  %10859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10860 = load i32, ptr %10859, align 4, !tbaa !5
  %10861 = call ptr @s2n_strerror(i32 noundef %10860, ptr noundef @.str.65)
  %10862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10863 = load i32, ptr %10862, align 4, !tbaa !5
  %10864 = call ptr @s2n_strerror_debug(i32 noundef %10863, ptr noundef @.str.65)
  %10865 = call ptr @__errno_location() #11
  %10866 = load i32, ptr %10865, align 4, !tbaa !5
  %10867 = call ptr @strerror(i32 noundef %10866) #10
  %10868 = call ptr @__errno_location() #11
  %10869 = load i32, ptr %10868, align 4, !tbaa !5
  %10870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10857, ptr noundef @.str.63, i32 noundef %10858, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 555, ptr noundef %10861, ptr noundef %10864, ptr noundef %10867, i32 noundef %10869) #10
  br label %10888

10871:                                            ; preds = %10849, %10842
  %10872 = load i32, ptr %220, align 4, !tbaa !5
  %10873 = call ptr @__errno_location() #11
  store i32 %10872, ptr %10873, align 4, !tbaa !5
  %10874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10875 = load i32, ptr @test_count, align 4, !tbaa !5
  %10876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10877 = load i32, ptr %10876, align 4, !tbaa !5
  %10878 = call ptr @s2n_strerror(i32 noundef %10877, ptr noundef @.str.65)
  %10879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10880 = load i32, ptr %10879, align 4, !tbaa !5
  %10881 = call ptr @s2n_strerror_debug(i32 noundef %10880, ptr noundef @.str.65)
  %10882 = call ptr @__errno_location() #11
  %10883 = load i32, ptr %10882, align 4, !tbaa !5
  %10884 = call ptr @strerror(i32 noundef %10883) #10
  %10885 = call ptr @__errno_location() #11
  %10886 = load i32, ptr %10885, align 4, !tbaa !5
  %10887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10874, ptr noundef @.str.66, i32 noundef %10875, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 555, ptr noundef %10878, ptr noundef %10881, ptr noundef %10884, i32 noundef %10886) #10
  br label %10888

10888:                                            ; preds = %10871, %10854
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #10
  br label %10889

10889:                                            ; preds = %10888
  br label %10890

10890:                                            ; preds = %10889
  call void @exit(i32 noundef 1) #12
  unreachable

10891:                                            ; No predecessors!
  br label %10892

10892:                                            ; preds = %10891
  br label %10893

10893:                                            ; preds = %10892, %10833
  br label %10894

10894:                                            ; preds = %10893
  br label %10895

10895:                                            ; preds = %10894
  br label %10896

10896:                                            ; preds = %10895
  %10897 = load i32, ptr @test_count, align 4, !tbaa !5
  %10898 = add nsw i32 %10897, 1
  store i32 %10898, ptr @test_count, align 4, !tbaa !5
  %10899 = load ptr, ptr %198, align 8, !tbaa !9
  %10900 = load ptr, ptr %197, align 8, !tbaa !9
  %10901 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10899, ptr noundef %10900)
  %10902 = icmp eq i32 %10901, -1
  br i1 %10902, label %10903, label %10956

10903:                                            ; preds = %10896
  br label %10904

10904:                                            ; preds = %10903
  br label %10905

10905:                                            ; preds = %10904
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  %10906 = call ptr @__errno_location() #11
  %10907 = load i32, ptr %10906, align 4, !tbaa !5
  store i32 %10907, ptr %221, align 4, !tbaa !5
  %10908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10909 = call i32 @s2n_print_stacktrace(ptr noundef %10908)
  %10910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10911 = trunc i8 %10910 to i1
  br i1 %10911, label %10912, label %10934

10912:                                            ; preds = %10905
  %10913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10914 = call i32 @fileno(ptr noundef %10913) #10
  %10915 = call i32 @isatty(i32 noundef %10914) #10
  %10916 = icmp ne i32 %10915, 0
  br i1 %10916, label %10917, label %10934

10917:                                            ; preds = %10912
  %10918 = load i32, ptr %221, align 4, !tbaa !5
  %10919 = call ptr @__errno_location() #11
  store i32 %10918, ptr %10919, align 4, !tbaa !5
  %10920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10921 = load i32, ptr @test_count, align 4, !tbaa !5
  %10922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10923 = load i32, ptr %10922, align 4, !tbaa !5
  %10924 = call ptr @s2n_strerror(i32 noundef %10923, ptr noundef @.str.65)
  %10925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10926 = load i32, ptr %10925, align 4, !tbaa !5
  %10927 = call ptr @s2n_strerror_debug(i32 noundef %10926, ptr noundef @.str.65)
  %10928 = call ptr @__errno_location() #11
  %10929 = load i32, ptr %10928, align 4, !tbaa !5
  %10930 = call ptr @strerror(i32 noundef %10929) #10
  %10931 = call ptr @__errno_location() #11
  %10932 = load i32, ptr %10931, align 4, !tbaa !5
  %10933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10920, ptr noundef @.str.63, i32 noundef %10921, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 558, ptr noundef %10924, ptr noundef %10927, ptr noundef %10930, i32 noundef %10932) #10
  br label %10951

10934:                                            ; preds = %10912, %10905
  %10935 = load i32, ptr %221, align 4, !tbaa !5
  %10936 = call ptr @__errno_location() #11
  store i32 %10935, ptr %10936, align 4, !tbaa !5
  %10937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10938 = load i32, ptr @test_count, align 4, !tbaa !5
  %10939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10940 = load i32, ptr %10939, align 4, !tbaa !5
  %10941 = call ptr @s2n_strerror(i32 noundef %10940, ptr noundef @.str.65)
  %10942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10943 = load i32, ptr %10942, align 4, !tbaa !5
  %10944 = call ptr @s2n_strerror_debug(i32 noundef %10943, ptr noundef @.str.65)
  %10945 = call ptr @__errno_location() #11
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  %10947 = call ptr @strerror(i32 noundef %10946) #10
  %10948 = call ptr @__errno_location() #11
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10937, ptr noundef @.str.66, i32 noundef %10938, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 558, ptr noundef %10941, ptr noundef %10944, ptr noundef %10947, i32 noundef %10949) #10
  br label %10951

10951:                                            ; preds = %10934, %10917
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  br label %10952

10952:                                            ; preds = %10951
  br label %10953

10953:                                            ; preds = %10952
  call void @exit(i32 noundef 1) #12
  unreachable

10954:                                            ; No predecessors!
  br label %10955

10955:                                            ; preds = %10954
  br label %10956

10956:                                            ; preds = %10955, %10896
  br label %10957

10957:                                            ; preds = %10956
  br label %10958

10958:                                            ; preds = %10957
  br label %10959

10959:                                            ; preds = %10958
  %10960 = load i32, ptr @test_count, align 4, !tbaa !5
  %10961 = add nsw i32 %10960, 1
  store i32 %10961, ptr @test_count, align 4, !tbaa !5
  %10962 = load ptr, ptr %197, align 8, !tbaa !9
  %10963 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %10962, i32 noundef 2)
  br i1 %10963, label %10964, label %10967

10964:                                            ; preds = %10959
  %10965 = load ptr, ptr %198, align 8, !tbaa !9
  %10966 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %10965, i32 noundef 2)
  br i1 %10966, label %11020, label %10967

10967:                                            ; preds = %10964, %10959
  br label %10968

10968:                                            ; preds = %10967
  br label %10969

10969:                                            ; preds = %10968
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %10970 = call ptr @__errno_location() #11
  %10971 = load i32, ptr %10970, align 4, !tbaa !5
  store i32 %10971, ptr %222, align 4, !tbaa !5
  %10972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10973 = call i32 @s2n_print_stacktrace(ptr noundef %10972)
  %10974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10975 = trunc i8 %10974 to i1
  br i1 %10975, label %10976, label %10998

10976:                                            ; preds = %10969
  %10977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10978 = call i32 @fileno(ptr noundef %10977) #10
  %10979 = call i32 @isatty(i32 noundef %10978) #10
  %10980 = icmp ne i32 %10979, 0
  br i1 %10980, label %10981, label %10998

10981:                                            ; preds = %10976
  %10982 = load i32, ptr %222, align 4, !tbaa !5
  %10983 = call ptr @__errno_location() #11
  store i32 %10982, ptr %10983, align 4, !tbaa !5
  %10984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10985 = load i32, ptr @test_count, align 4, !tbaa !5
  %10986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10987 = load i32, ptr %10986, align 4, !tbaa !5
  %10988 = call ptr @s2n_strerror(i32 noundef %10987, ptr noundef @.str.65)
  %10989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10990 = load i32, ptr %10989, align 4, !tbaa !5
  %10991 = call ptr @s2n_strerror_debug(i32 noundef %10990, ptr noundef @.str.65)
  %10992 = call ptr @__errno_location() #11
  %10993 = load i32, ptr %10992, align 4, !tbaa !5
  %10994 = call ptr @strerror(i32 noundef %10993) #10
  %10995 = call ptr @__errno_location() #11
  %10996 = load i32, ptr %10995, align 4, !tbaa !5
  %10997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10984, ptr noundef @.str.63, i32 noundef %10985, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 559, ptr noundef %10988, ptr noundef %10991, ptr noundef %10994, i32 noundef %10996) #10
  br label %11015

10998:                                            ; preds = %10976, %10969
  %10999 = load i32, ptr %222, align 4, !tbaa !5
  %11000 = call ptr @__errno_location() #11
  store i32 %10999, ptr %11000, align 4, !tbaa !5
  %11001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11002 = load i32, ptr @test_count, align 4, !tbaa !5
  %11003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11004 = load i32, ptr %11003, align 4, !tbaa !5
  %11005 = call ptr @s2n_strerror(i32 noundef %11004, ptr noundef @.str.65)
  %11006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11007 = load i32, ptr %11006, align 4, !tbaa !5
  %11008 = call ptr @s2n_strerror_debug(i32 noundef %11007, ptr noundef @.str.65)
  %11009 = call ptr @__errno_location() #11
  %11010 = load i32, ptr %11009, align 4, !tbaa !5
  %11011 = call ptr @strerror(i32 noundef %11010) #10
  %11012 = call ptr @__errno_location() #11
  %11013 = load i32, ptr %11012, align 4, !tbaa !5
  %11014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11001, ptr noundef @.str.66, i32 noundef %11002, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 559, ptr noundef %11005, ptr noundef %11008, ptr noundef %11011, i32 noundef %11013) #10
  br label %11015

11015:                                            ; preds = %10998, %10981
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %11016

11016:                                            ; preds = %11015
  br label %11017

11017:                                            ; preds = %11016
  call void @exit(i32 noundef 1) #12
  unreachable

11018:                                            ; No predecessors!
  br label %11019

11019:                                            ; preds = %11018
  br label %11020

11020:                                            ; preds = %11019, %10964
  br label %11021

11021:                                            ; preds = %11020
  br label %11022

11022:                                            ; preds = %11021
  br label %11023

11023:                                            ; preds = %11022
  %11024 = load i32, ptr @test_count, align 4, !tbaa !5
  %11025 = add nsw i32 %11024, 1
  store i32 %11025, ptr @test_count, align 4, !tbaa !5
  %11026 = load ptr, ptr %198, align 8, !tbaa !9
  %11027 = getelementptr inbounds %struct.s2n_connection, ptr %11026, i32 0, i32 23
  %11028 = load i8, ptr %11027, align 4, !tbaa !66
  %11029 = zext i8 %11028 to i32
  %11030 = icmp eq i32 %11029, 34
  br i1 %11030, label %11084, label %11031

11031:                                            ; preds = %11023
  br label %11032

11032:                                            ; preds = %11031
  br label %11033

11033:                                            ; preds = %11032
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #10
  %11034 = call ptr @__errno_location() #11
  %11035 = load i32, ptr %11034, align 4, !tbaa !5
  store i32 %11035, ptr %223, align 4, !tbaa !5
  %11036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11037 = call i32 @s2n_print_stacktrace(ptr noundef %11036)
  %11038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11039 = trunc i8 %11038 to i1
  br i1 %11039, label %11040, label %11062

11040:                                            ; preds = %11033
  %11041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11042 = call i32 @fileno(ptr noundef %11041) #10
  %11043 = call i32 @isatty(i32 noundef %11042) #10
  %11044 = icmp ne i32 %11043, 0
  br i1 %11044, label %11045, label %11062

11045:                                            ; preds = %11040
  %11046 = load i32, ptr %223, align 4, !tbaa !5
  %11047 = call ptr @__errno_location() #11
  store i32 %11046, ptr %11047, align 4, !tbaa !5
  %11048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11049 = load i32, ptr @test_count, align 4, !tbaa !5
  %11050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11051 = load i32, ptr %11050, align 4, !tbaa !5
  %11052 = call ptr @s2n_strerror(i32 noundef %11051, ptr noundef @.str.65)
  %11053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11054 = load i32, ptr %11053, align 4, !tbaa !5
  %11055 = call ptr @s2n_strerror_debug(i32 noundef %11054, ptr noundef @.str.65)
  %11056 = call ptr @__errno_location() #11
  %11057 = load i32, ptr %11056, align 4, !tbaa !5
  %11058 = call ptr @strerror(i32 noundef %11057) #10
  %11059 = call ptr @__errno_location() #11
  %11060 = load i32, ptr %11059, align 4, !tbaa !5
  %11061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11048, ptr noundef @.str.63, i32 noundef %11049, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 560, ptr noundef %11052, ptr noundef %11055, ptr noundef %11058, i32 noundef %11060) #10
  br label %11079

11062:                                            ; preds = %11040, %11033
  %11063 = load i32, ptr %223, align 4, !tbaa !5
  %11064 = call ptr @__errno_location() #11
  store i32 %11063, ptr %11064, align 4, !tbaa !5
  %11065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11066 = load i32, ptr @test_count, align 4, !tbaa !5
  %11067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11068 = load i32, ptr %11067, align 4, !tbaa !5
  %11069 = call ptr @s2n_strerror(i32 noundef %11068, ptr noundef @.str.65)
  %11070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  %11072 = call ptr @s2n_strerror_debug(i32 noundef %11071, ptr noundef @.str.65)
  %11073 = call ptr @__errno_location() #11
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call ptr @strerror(i32 noundef %11074) #10
  %11076 = call ptr @__errno_location() #11
  %11077 = load i32, ptr %11076, align 4, !tbaa !5
  %11078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11065, ptr noundef @.str.66, i32 noundef %11066, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 560, ptr noundef %11069, ptr noundef %11072, ptr noundef %11075, i32 noundef %11077) #10
  br label %11079

11079:                                            ; preds = %11062, %11045
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #10
  br label %11080

11080:                                            ; preds = %11079
  br label %11081

11081:                                            ; preds = %11080
  call void @exit(i32 noundef 1) #12
  unreachable

11082:                                            ; No predecessors!
  br label %11083

11083:                                            ; preds = %11082
  br label %11084

11084:                                            ; preds = %11083, %11023
  br label %11085

11085:                                            ; preds = %11084
  br label %11086

11086:                                            ; preds = %11085
  br label %11087

11087:                                            ; preds = %11086
  %11088 = load i32, ptr @test_count, align 4, !tbaa !5
  %11089 = add nsw i32 %11088, 1
  store i32 %11089, ptr @test_count, align 4, !tbaa !5
  %11090 = load ptr, ptr %197, align 8, !tbaa !9
  %11091 = getelementptr inbounds %struct.s2n_connection, ptr %11090, i32 0, i32 23
  %11092 = load i8, ptr %11091, align 4, !tbaa !66
  %11093 = zext i8 %11092 to i32
  %11094 = icmp eq i32 %11093, 34
  br i1 %11094, label %11148, label %11095

11095:                                            ; preds = %11087
  br label %11096

11096:                                            ; preds = %11095
  br label %11097

11097:                                            ; preds = %11096
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #10
  %11098 = call ptr @__errno_location() #11
  %11099 = load i32, ptr %11098, align 4, !tbaa !5
  store i32 %11099, ptr %224, align 4, !tbaa !5
  %11100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11101 = call i32 @s2n_print_stacktrace(ptr noundef %11100)
  %11102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11103 = trunc i8 %11102 to i1
  br i1 %11103, label %11104, label %11126

11104:                                            ; preds = %11097
  %11105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11106 = call i32 @fileno(ptr noundef %11105) #10
  %11107 = call i32 @isatty(i32 noundef %11106) #10
  %11108 = icmp ne i32 %11107, 0
  br i1 %11108, label %11109, label %11126

11109:                                            ; preds = %11104
  %11110 = load i32, ptr %224, align 4, !tbaa !5
  %11111 = call ptr @__errno_location() #11
  store i32 %11110, ptr %11111, align 4, !tbaa !5
  %11112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11113 = load i32, ptr @test_count, align 4, !tbaa !5
  %11114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11115 = load i32, ptr %11114, align 4, !tbaa !5
  %11116 = call ptr @s2n_strerror(i32 noundef %11115, ptr noundef @.str.65)
  %11117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11118 = load i32, ptr %11117, align 4, !tbaa !5
  %11119 = call ptr @s2n_strerror_debug(i32 noundef %11118, ptr noundef @.str.65)
  %11120 = call ptr @__errno_location() #11
  %11121 = load i32, ptr %11120, align 4, !tbaa !5
  %11122 = call ptr @strerror(i32 noundef %11121) #10
  %11123 = call ptr @__errno_location() #11
  %11124 = load i32, ptr %11123, align 4, !tbaa !5
  %11125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11112, ptr noundef @.str.63, i32 noundef %11113, ptr noundef @.str.151, ptr noundef @.str.62, i32 noundef 561, ptr noundef %11116, ptr noundef %11119, ptr noundef %11122, i32 noundef %11124) #10
  br label %11143

11126:                                            ; preds = %11104, %11097
  %11127 = load i32, ptr %224, align 4, !tbaa !5
  %11128 = call ptr @__errno_location() #11
  store i32 %11127, ptr %11128, align 4, !tbaa !5
  %11129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11130 = load i32, ptr @test_count, align 4, !tbaa !5
  %11131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11132 = load i32, ptr %11131, align 4, !tbaa !5
  %11133 = call ptr @s2n_strerror(i32 noundef %11132, ptr noundef @.str.65)
  %11134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11135 = load i32, ptr %11134, align 4, !tbaa !5
  %11136 = call ptr @s2n_strerror_debug(i32 noundef %11135, ptr noundef @.str.65)
  %11137 = call ptr @__errno_location() #11
  %11138 = load i32, ptr %11137, align 4, !tbaa !5
  %11139 = call ptr @strerror(i32 noundef %11138) #10
  %11140 = call ptr @__errno_location() #11
  %11141 = load i32, ptr %11140, align 4, !tbaa !5
  %11142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11129, ptr noundef @.str.66, i32 noundef %11130, ptr noundef @.str.151, ptr noundef @.str.62, i32 noundef 561, ptr noundef %11133, ptr noundef %11136, ptr noundef %11139, i32 noundef %11141) #10
  br label %11143

11143:                                            ; preds = %11126, %11109
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #10
  br label %11144

11144:                                            ; preds = %11143
  br label %11145

11145:                                            ; preds = %11144
  call void @exit(i32 noundef 1) #12
  unreachable

11146:                                            ; No predecessors!
  br label %11147

11147:                                            ; preds = %11146
  br label %11148

11148:                                            ; preds = %11147, %11087
  br label %11149

11149:                                            ; preds = %11148
  br label %11150

11150:                                            ; preds = %11149
  br label %11151

11151:                                            ; preds = %11150
  %11152 = load i32, ptr @test_count, align 4, !tbaa !5
  %11153 = add nsw i32 %11152, 1
  store i32 %11153, ptr @test_count, align 4, !tbaa !5
  %11154 = load ptr, ptr %197, align 8, !tbaa !9
  %11155 = call i32 @s2n_connection_get_session_length(ptr noundef %11154)
  %11156 = icmp eq i32 %11155, 0
  br i1 %11156, label %11210, label %11157

11157:                                            ; preds = %11151
  br label %11158

11158:                                            ; preds = %11157
  br label %11159

11159:                                            ; preds = %11158
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #10
  %11160 = call ptr @__errno_location() #11
  %11161 = load i32, ptr %11160, align 4, !tbaa !5
  store i32 %11161, ptr %225, align 4, !tbaa !5
  %11162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11163 = call i32 @s2n_print_stacktrace(ptr noundef %11162)
  %11164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11165 = trunc i8 %11164 to i1
  br i1 %11165, label %11166, label %11188

11166:                                            ; preds = %11159
  %11167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11168 = call i32 @fileno(ptr noundef %11167) #10
  %11169 = call i32 @isatty(i32 noundef %11168) #10
  %11170 = icmp ne i32 %11169, 0
  br i1 %11170, label %11171, label %11188

11171:                                            ; preds = %11166
  %11172 = load i32, ptr %225, align 4, !tbaa !5
  %11173 = call ptr @__errno_location() #11
  store i32 %11172, ptr %11173, align 4, !tbaa !5
  %11174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11175 = load i32, ptr @test_count, align 4, !tbaa !5
  %11176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11177 = load i32, ptr %11176, align 4, !tbaa !5
  %11178 = call ptr @s2n_strerror(i32 noundef %11177, ptr noundef @.str.65)
  %11179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11180 = load i32, ptr %11179, align 4, !tbaa !5
  %11181 = call ptr @s2n_strerror_debug(i32 noundef %11180, ptr noundef @.str.65)
  %11182 = call ptr @__errno_location() #11
  %11183 = load i32, ptr %11182, align 4, !tbaa !5
  %11184 = call ptr @strerror(i32 noundef %11183) #10
  %11185 = call ptr @__errno_location() #11
  %11186 = load i32, ptr %11185, align 4, !tbaa !5
  %11187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11174, ptr noundef @.str.63, i32 noundef %11175, ptr noundef @.str.152, ptr noundef @.str.62, i32 noundef 566, ptr noundef %11178, ptr noundef %11181, ptr noundef %11184, i32 noundef %11186) #10
  br label %11205

11188:                                            ; preds = %11166, %11159
  %11189 = load i32, ptr %225, align 4, !tbaa !5
  %11190 = call ptr @__errno_location() #11
  store i32 %11189, ptr %11190, align 4, !tbaa !5
  %11191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11192 = load i32, ptr @test_count, align 4, !tbaa !5
  %11193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11194 = load i32, ptr %11193, align 4, !tbaa !5
  %11195 = call ptr @s2n_strerror(i32 noundef %11194, ptr noundef @.str.65)
  %11196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11197 = load i32, ptr %11196, align 4, !tbaa !5
  %11198 = call ptr @s2n_strerror_debug(i32 noundef %11197, ptr noundef @.str.65)
  %11199 = call ptr @__errno_location() #11
  %11200 = load i32, ptr %11199, align 4, !tbaa !5
  %11201 = call ptr @strerror(i32 noundef %11200) #10
  %11202 = call ptr @__errno_location() #11
  %11203 = load i32, ptr %11202, align 4, !tbaa !5
  %11204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11191, ptr noundef @.str.66, i32 noundef %11192, ptr noundef @.str.152, ptr noundef @.str.62, i32 noundef 566, ptr noundef %11195, ptr noundef %11198, ptr noundef %11201, i32 noundef %11203) #10
  br label %11205

11205:                                            ; preds = %11188, %11171
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #10
  br label %11206

11206:                                            ; preds = %11205
  br label %11207

11207:                                            ; preds = %11206
  call void @exit(i32 noundef 1) #12
  unreachable

11208:                                            ; No predecessors!
  br label %11209

11209:                                            ; preds = %11208
  br label %11210

11210:                                            ; preds = %11209, %11151
  br label %11211

11211:                                            ; preds = %11210
  br label %11212

11212:                                            ; preds = %11211
  br label %11213

11213:                                            ; preds = %11212
  %11214 = load i32, ptr @test_count, align 4, !tbaa !5
  %11215 = add nsw i32 %11214, 1
  store i32 %11215, ptr @test_count, align 4, !tbaa !5
  %11216 = load ptr, ptr %197, align 8, !tbaa !9
  %11217 = getelementptr inbounds %struct.s2n_blob, ptr %196, i32 0, i32 0
  %11218 = load ptr, ptr %11217, align 8, !tbaa !34
  %11219 = getelementptr inbounds %struct.s2n_blob, ptr %196, i32 0, i32 1
  %11220 = load i32, ptr %11219, align 8, !tbaa !35
  %11221 = zext i32 %11220 to i64
  %11222 = call i32 @s2n_connection_get_session(ptr noundef %11216, ptr noundef %11218, i64 noundef %11221)
  %11223 = icmp eq i32 %11222, 0
  br i1 %11223, label %11277, label %11224

11224:                                            ; preds = %11213
  br label %11225

11225:                                            ; preds = %11224
  br label %11226

11226:                                            ; preds = %11225
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  %11227 = call ptr @__errno_location() #11
  %11228 = load i32, ptr %11227, align 4, !tbaa !5
  store i32 %11228, ptr %226, align 4, !tbaa !5
  %11229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11230 = call i32 @s2n_print_stacktrace(ptr noundef %11229)
  %11231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11232 = trunc i8 %11231 to i1
  br i1 %11232, label %11233, label %11255

11233:                                            ; preds = %11226
  %11234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11235 = call i32 @fileno(ptr noundef %11234) #10
  %11236 = call i32 @isatty(i32 noundef %11235) #10
  %11237 = icmp ne i32 %11236, 0
  br i1 %11237, label %11238, label %11255

11238:                                            ; preds = %11233
  %11239 = load i32, ptr %226, align 4, !tbaa !5
  %11240 = call ptr @__errno_location() #11
  store i32 %11239, ptr %11240, align 4, !tbaa !5
  %11241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11242 = load i32, ptr @test_count, align 4, !tbaa !5
  %11243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11244 = load i32, ptr %11243, align 4, !tbaa !5
  %11245 = call ptr @s2n_strerror(i32 noundef %11244, ptr noundef @.str.65)
  %11246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11247 = load i32, ptr %11246, align 4, !tbaa !5
  %11248 = call ptr @s2n_strerror_debug(i32 noundef %11247, ptr noundef @.str.65)
  %11249 = call ptr @__errno_location() #11
  %11250 = load i32, ptr %11249, align 4, !tbaa !5
  %11251 = call ptr @strerror(i32 noundef %11250) #10
  %11252 = call ptr @__errno_location() #11
  %11253 = load i32, ptr %11252, align 4, !tbaa !5
  %11254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11241, ptr noundef @.str.63, i32 noundef %11242, ptr noundef @.str.153, ptr noundef @.str.62, i32 noundef 567, ptr noundef %11245, ptr noundef %11248, ptr noundef %11251, i32 noundef %11253) #10
  br label %11272

11255:                                            ; preds = %11233, %11226
  %11256 = load i32, ptr %226, align 4, !tbaa !5
  %11257 = call ptr @__errno_location() #11
  store i32 %11256, ptr %11257, align 4, !tbaa !5
  %11258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11259 = load i32, ptr @test_count, align 4, !tbaa !5
  %11260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11261 = load i32, ptr %11260, align 4, !tbaa !5
  %11262 = call ptr @s2n_strerror(i32 noundef %11261, ptr noundef @.str.65)
  %11263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11264 = load i32, ptr %11263, align 4, !tbaa !5
  %11265 = call ptr @s2n_strerror_debug(i32 noundef %11264, ptr noundef @.str.65)
  %11266 = call ptr @__errno_location() #11
  %11267 = load i32, ptr %11266, align 4, !tbaa !5
  %11268 = call ptr @strerror(i32 noundef %11267) #10
  %11269 = call ptr @__errno_location() #11
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  %11271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11258, ptr noundef @.str.66, i32 noundef %11259, ptr noundef @.str.153, ptr noundef @.str.62, i32 noundef 567, ptr noundef %11262, ptr noundef %11265, ptr noundef %11268, i32 noundef %11270) #10
  br label %11272

11272:                                            ; preds = %11255, %11238
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  br label %11273

11273:                                            ; preds = %11272
  br label %11274

11274:                                            ; preds = %11273
  call void @exit(i32 noundef 1) #12
  unreachable

11275:                                            ; No predecessors!
  br label %11276

11276:                                            ; preds = %11275
  br label %11277

11277:                                            ; preds = %11276, %11213
  br label %11278

11278:                                            ; preds = %11277
  br label %11279

11279:                                            ; preds = %11278
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #10
  %11280 = call i32 @s2n_io_pair_close(ptr noundef %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr %203) #10
  %11281 = call i32 @s2n_connection_ptr_free(ptr noundef %198)
  %11282 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %11281, ptr %11282, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #10
  %11283 = call i32 @s2n_connection_ptr_free(ptr noundef %197)
  %11284 = getelementptr inbounds %struct.s2n_result, ptr %228, i32 0, i32 0
  store i32 %11283, ptr %11284, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #10
  %11285 = call i32 @s2n_free(ptr noundef %196)
  call void @llvm.lifetime.end.p0(i64 24, ptr %196) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %229) #10
  store i64 0, ptr %229, align 8, !tbaa !15
  br label %11286

11286:                                            ; preds = %12707, %11279
  %11287 = load i64, ptr %229, align 8, !tbaa !15
  %11288 = icmp ult i64 %11287, 8
  br i1 %11288, label %11290, label %11289

11289:                                            ; preds = %11286
  store i32 1042, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #10
  br label %12710

11290:                                            ; preds = %11286
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %11291 = load i64, ptr %229, align 8, !tbaa !15
  %11292 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %12, i64 0, i64 %11291
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %230, ptr align 4 %11292, i64 4, i1 false), !tbaa.struct !26
  %11293 = getelementptr inbounds %struct.s2n_early_data_test_case, ptr %230, i32 0, i32 3
  store i8 0, ptr %11293, align 1, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #10
  %11294 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11294, ptr %231, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #10
  %11295 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11295, ptr %232, align 8, !tbaa !9
  br label %11296

11296:                                            ; preds = %11290
  %11297 = load i32, ptr @test_count, align 4, !tbaa !5
  %11298 = add nsw i32 %11297, 1
  store i32 %11298, ptr @test_count, align 4, !tbaa !5
  %11299 = load ptr, ptr %231, align 8, !tbaa !9
  %11300 = icmp eq ptr %11299, null
  br i1 %11300, label %11301, label %11354

11301:                                            ; preds = %11296
  br label %11302

11302:                                            ; preds = %11301
  br label %11303

11303:                                            ; preds = %11302
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #10
  %11304 = call ptr @__errno_location() #11
  %11305 = load i32, ptr %11304, align 4, !tbaa !5
  store i32 %11305, ptr %233, align 4, !tbaa !5
  %11306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11307 = call i32 @s2n_print_stacktrace(ptr noundef %11306)
  %11308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11309 = trunc i8 %11308 to i1
  br i1 %11309, label %11310, label %11332

11310:                                            ; preds = %11303
  %11311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11312 = call i32 @fileno(ptr noundef %11311) #10
  %11313 = call i32 @isatty(i32 noundef %11312) #10
  %11314 = icmp ne i32 %11313, 0
  br i1 %11314, label %11315, label %11332

11315:                                            ; preds = %11310
  %11316 = load i32, ptr %233, align 4, !tbaa !5
  %11317 = call ptr @__errno_location() #11
  store i32 %11316, ptr %11317, align 4, !tbaa !5
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = load i32, ptr @test_count, align 4, !tbaa !5
  %11320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  %11322 = call ptr @s2n_strerror(i32 noundef %11321, ptr noundef @.str.65)
  %11323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11324 = load i32, ptr %11323, align 4, !tbaa !5
  %11325 = call ptr @s2n_strerror_debug(i32 noundef %11324, ptr noundef @.str.65)
  %11326 = call ptr @__errno_location() #11
  %11327 = load i32, ptr %11326, align 4, !tbaa !5
  %11328 = call ptr @strerror(i32 noundef %11327) #10
  %11329 = call ptr @__errno_location() #11
  %11330 = load i32, ptr %11329, align 4, !tbaa !5
  %11331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11318, ptr noundef @.str.63, i32 noundef %11319, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 578, ptr noundef %11322, ptr noundef %11325, ptr noundef %11328, i32 noundef %11330) #10
  br label %11349

11332:                                            ; preds = %11310, %11303
  %11333 = load i32, ptr %233, align 4, !tbaa !5
  %11334 = call ptr @__errno_location() #11
  store i32 %11333, ptr %11334, align 4, !tbaa !5
  %11335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11336 = load i32, ptr @test_count, align 4, !tbaa !5
  %11337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11338 = load i32, ptr %11337, align 4, !tbaa !5
  %11339 = call ptr @s2n_strerror(i32 noundef %11338, ptr noundef @.str.65)
  %11340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11341 = load i32, ptr %11340, align 4, !tbaa !5
  %11342 = call ptr @s2n_strerror_debug(i32 noundef %11341, ptr noundef @.str.65)
  %11343 = call ptr @__errno_location() #11
  %11344 = load i32, ptr %11343, align 4, !tbaa !5
  %11345 = call ptr @strerror(i32 noundef %11344) #10
  %11346 = call ptr @__errno_location() #11
  %11347 = load i32, ptr %11346, align 4, !tbaa !5
  %11348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11335, ptr noundef @.str.66, i32 noundef %11336, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 578, ptr noundef %11339, ptr noundef %11342, ptr noundef %11345, i32 noundef %11347) #10
  br label %11349

11349:                                            ; preds = %11332, %11315
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #10
  br label %11350

11350:                                            ; preds = %11349
  br label %11351

11351:                                            ; preds = %11350
  call void @exit(i32 noundef 1) #12
  unreachable

11352:                                            ; No predecessors!
  br label %11353

11353:                                            ; preds = %11352
  br label %11354

11354:                                            ; preds = %11353, %11296
  br label %11355

11355:                                            ; preds = %11354
  br label %11356

11356:                                            ; preds = %11355
  br label %11357

11357:                                            ; preds = %11356
  %11358 = load i32, ptr @test_count, align 4, !tbaa !5
  %11359 = add nsw i32 %11358, 1
  store i32 %11359, ptr @test_count, align 4, !tbaa !5
  %11360 = load ptr, ptr %232, align 8, !tbaa !9
  %11361 = icmp eq ptr %11360, null
  br i1 %11361, label %11362, label %11415

11362:                                            ; preds = %11357
  br label %11363

11363:                                            ; preds = %11362
  br label %11364

11364:                                            ; preds = %11363
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  %11365 = call ptr @__errno_location() #11
  %11366 = load i32, ptr %11365, align 4, !tbaa !5
  store i32 %11366, ptr %234, align 4, !tbaa !5
  %11367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11368 = call i32 @s2n_print_stacktrace(ptr noundef %11367)
  %11369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11370 = trunc i8 %11369 to i1
  br i1 %11370, label %11371, label %11393

11371:                                            ; preds = %11364
  %11372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11373 = call i32 @fileno(ptr noundef %11372) #10
  %11374 = call i32 @isatty(i32 noundef %11373) #10
  %11375 = icmp ne i32 %11374, 0
  br i1 %11375, label %11376, label %11393

11376:                                            ; preds = %11371
  %11377 = load i32, ptr %234, align 4, !tbaa !5
  %11378 = call ptr @__errno_location() #11
  store i32 %11377, ptr %11378, align 4, !tbaa !5
  %11379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11380 = load i32, ptr @test_count, align 4, !tbaa !5
  %11381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11382 = load i32, ptr %11381, align 4, !tbaa !5
  %11383 = call ptr @s2n_strerror(i32 noundef %11382, ptr noundef @.str.65)
  %11384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11385 = load i32, ptr %11384, align 4, !tbaa !5
  %11386 = call ptr @s2n_strerror_debug(i32 noundef %11385, ptr noundef @.str.65)
  %11387 = call ptr @__errno_location() #11
  %11388 = load i32, ptr %11387, align 4, !tbaa !5
  %11389 = call ptr @strerror(i32 noundef %11388) #10
  %11390 = call ptr @__errno_location() #11
  %11391 = load i32, ptr %11390, align 4, !tbaa !5
  %11392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11379, ptr noundef @.str.63, i32 noundef %11380, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 579, ptr noundef %11383, ptr noundef %11386, ptr noundef %11389, i32 noundef %11391) #10
  br label %11410

11393:                                            ; preds = %11371, %11364
  %11394 = load i32, ptr %234, align 4, !tbaa !5
  %11395 = call ptr @__errno_location() #11
  store i32 %11394, ptr %11395, align 4, !tbaa !5
  %11396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11397 = load i32, ptr @test_count, align 4, !tbaa !5
  %11398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11399 = load i32, ptr %11398, align 4, !tbaa !5
  %11400 = call ptr @s2n_strerror(i32 noundef %11399, ptr noundef @.str.65)
  %11401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11402 = load i32, ptr %11401, align 4, !tbaa !5
  %11403 = call ptr @s2n_strerror_debug(i32 noundef %11402, ptr noundef @.str.65)
  %11404 = call ptr @__errno_location() #11
  %11405 = load i32, ptr %11404, align 4, !tbaa !5
  %11406 = call ptr @strerror(i32 noundef %11405) #10
  %11407 = call ptr @__errno_location() #11
  %11408 = load i32, ptr %11407, align 4, !tbaa !5
  %11409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11396, ptr noundef @.str.66, i32 noundef %11397, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 579, ptr noundef %11400, ptr noundef %11403, ptr noundef %11406, i32 noundef %11408) #10
  br label %11410

11410:                                            ; preds = %11393, %11376
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  br label %11411

11411:                                            ; preds = %11410
  br label %11412

11412:                                            ; preds = %11411
  call void @exit(i32 noundef 1) #12
  unreachable

11413:                                            ; No predecessors!
  br label %11414

11414:                                            ; preds = %11413
  br label %11415

11415:                                            ; preds = %11414, %11357
  br label %11416

11416:                                            ; preds = %11415
  br label %11417

11417:                                            ; preds = %11416
  br label %11418

11418:                                            ; preds = %11417
  %11419 = load i32, ptr @test_count, align 4, !tbaa !5
  %11420 = add nsw i32 %11419, 1
  store i32 %11420, ptr @test_count, align 4, !tbaa !5
  %11421 = load ptr, ptr %231, align 8, !tbaa !9
  %11422 = load ptr, ptr %40, align 8, !tbaa !9
  %11423 = call i32 @s2n_connection_set_config(ptr noundef %11421, ptr noundef %11422)
  %11424 = icmp eq i32 %11423, -1
  br i1 %11424, label %11425, label %11478

11425:                                            ; preds = %11418
  br label %11426

11426:                                            ; preds = %11425
  br label %11427

11427:                                            ; preds = %11426
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #10
  %11428 = call ptr @__errno_location() #11
  %11429 = load i32, ptr %11428, align 4, !tbaa !5
  store i32 %11429, ptr %235, align 4, !tbaa !5
  %11430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11431 = call i32 @s2n_print_stacktrace(ptr noundef %11430)
  %11432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11433 = trunc i8 %11432 to i1
  br i1 %11433, label %11434, label %11456

11434:                                            ; preds = %11427
  %11435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11436 = call i32 @fileno(ptr noundef %11435) #10
  %11437 = call i32 @isatty(i32 noundef %11436) #10
  %11438 = icmp ne i32 %11437, 0
  br i1 %11438, label %11439, label %11456

11439:                                            ; preds = %11434
  %11440 = load i32, ptr %235, align 4, !tbaa !5
  %11441 = call ptr @__errno_location() #11
  store i32 %11440, ptr %11441, align 4, !tbaa !5
  %11442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11443 = load i32, ptr @test_count, align 4, !tbaa !5
  %11444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11445 = load i32, ptr %11444, align 4, !tbaa !5
  %11446 = call ptr @s2n_strerror(i32 noundef %11445, ptr noundef @.str.65)
  %11447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11448 = load i32, ptr %11447, align 4, !tbaa !5
  %11449 = call ptr @s2n_strerror_debug(i32 noundef %11448, ptr noundef @.str.65)
  %11450 = call ptr @__errno_location() #11
  %11451 = load i32, ptr %11450, align 4, !tbaa !5
  %11452 = call ptr @strerror(i32 noundef %11451) #10
  %11453 = call ptr @__errno_location() #11
  %11454 = load i32, ptr %11453, align 4, !tbaa !5
  %11455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11442, ptr noundef @.str.63, i32 noundef %11443, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 581, ptr noundef %11446, ptr noundef %11449, ptr noundef %11452, i32 noundef %11454) #10
  br label %11473

11456:                                            ; preds = %11434, %11427
  %11457 = load i32, ptr %235, align 4, !tbaa !5
  %11458 = call ptr @__errno_location() #11
  store i32 %11457, ptr %11458, align 4, !tbaa !5
  %11459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11460 = load i32, ptr @test_count, align 4, !tbaa !5
  %11461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11462 = load i32, ptr %11461, align 4, !tbaa !5
  %11463 = call ptr @s2n_strerror(i32 noundef %11462, ptr noundef @.str.65)
  %11464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11465 = load i32, ptr %11464, align 4, !tbaa !5
  %11466 = call ptr @s2n_strerror_debug(i32 noundef %11465, ptr noundef @.str.65)
  %11467 = call ptr @__errno_location() #11
  %11468 = load i32, ptr %11467, align 4, !tbaa !5
  %11469 = call ptr @strerror(i32 noundef %11468) #10
  %11470 = call ptr @__errno_location() #11
  %11471 = load i32, ptr %11470, align 4, !tbaa !5
  %11472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11459, ptr noundef @.str.66, i32 noundef %11460, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 581, ptr noundef %11463, ptr noundef %11466, ptr noundef %11469, i32 noundef %11471) #10
  br label %11473

11473:                                            ; preds = %11456, %11439
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #10
  br label %11474

11474:                                            ; preds = %11473
  br label %11475

11475:                                            ; preds = %11474
  call void @exit(i32 noundef 1) #12
  unreachable

11476:                                            ; No predecessors!
  br label %11477

11477:                                            ; preds = %11476
  br label %11478

11478:                                            ; preds = %11477, %11418
  br label %11479

11479:                                            ; preds = %11478
  br label %11480

11480:                                            ; preds = %11479
  br label %11481

11481:                                            ; preds = %11480
  %11482 = load i32, ptr @test_count, align 4, !tbaa !5
  %11483 = add nsw i32 %11482, 1
  store i32 %11483, ptr @test_count, align 4, !tbaa !5
  %11484 = load ptr, ptr %232, align 8, !tbaa !9
  %11485 = load ptr, ptr %20, align 8, !tbaa !9
  %11486 = call i32 @s2n_connection_set_config(ptr noundef %11484, ptr noundef %11485)
  %11487 = icmp eq i32 %11486, -1
  br i1 %11487, label %11488, label %11541

11488:                                            ; preds = %11481
  br label %11489

11489:                                            ; preds = %11488
  br label %11490

11490:                                            ; preds = %11489
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %11491 = call ptr @__errno_location() #11
  %11492 = load i32, ptr %11491, align 4, !tbaa !5
  store i32 %11492, ptr %236, align 4, !tbaa !5
  %11493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11494 = call i32 @s2n_print_stacktrace(ptr noundef %11493)
  %11495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11496 = trunc i8 %11495 to i1
  br i1 %11496, label %11497, label %11519

11497:                                            ; preds = %11490
  %11498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11499 = call i32 @fileno(ptr noundef %11498) #10
  %11500 = call i32 @isatty(i32 noundef %11499) #10
  %11501 = icmp ne i32 %11500, 0
  br i1 %11501, label %11502, label %11519

11502:                                            ; preds = %11497
  %11503 = load i32, ptr %236, align 4, !tbaa !5
  %11504 = call ptr @__errno_location() #11
  store i32 %11503, ptr %11504, align 4, !tbaa !5
  %11505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11506 = load i32, ptr @test_count, align 4, !tbaa !5
  %11507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call ptr @s2n_strerror(i32 noundef %11508, ptr noundef @.str.65)
  %11510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11511 = load i32, ptr %11510, align 4, !tbaa !5
  %11512 = call ptr @s2n_strerror_debug(i32 noundef %11511, ptr noundef @.str.65)
  %11513 = call ptr @__errno_location() #11
  %11514 = load i32, ptr %11513, align 4, !tbaa !5
  %11515 = call ptr @strerror(i32 noundef %11514) #10
  %11516 = call ptr @__errno_location() #11
  %11517 = load i32, ptr %11516, align 4, !tbaa !5
  %11518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11505, ptr noundef @.str.63, i32 noundef %11506, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 582, ptr noundef %11509, ptr noundef %11512, ptr noundef %11515, i32 noundef %11517) #10
  br label %11536

11519:                                            ; preds = %11497, %11490
  %11520 = load i32, ptr %236, align 4, !tbaa !5
  %11521 = call ptr @__errno_location() #11
  store i32 %11520, ptr %11521, align 4, !tbaa !5
  %11522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11523 = load i32, ptr @test_count, align 4, !tbaa !5
  %11524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call ptr @s2n_strerror(i32 noundef %11525, ptr noundef @.str.65)
  %11527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11528 = load i32, ptr %11527, align 4, !tbaa !5
  %11529 = call ptr @s2n_strerror_debug(i32 noundef %11528, ptr noundef @.str.65)
  %11530 = call ptr @__errno_location() #11
  %11531 = load i32, ptr %11530, align 4, !tbaa !5
  %11532 = call ptr @strerror(i32 noundef %11531) #10
  %11533 = call ptr @__errno_location() #11
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  %11535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11522, ptr noundef @.str.66, i32 noundef %11523, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 582, ptr noundef %11526, ptr noundef %11529, ptr noundef %11532, i32 noundef %11534) #10
  br label %11536

11536:                                            ; preds = %11519, %11502
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %11537

11537:                                            ; preds = %11536
  br label %11538

11538:                                            ; preds = %11537
  call void @exit(i32 noundef 1) #12
  unreachable

11539:                                            ; No predecessors!
  br label %11540

11540:                                            ; preds = %11539
  br label %11541

11541:                                            ; preds = %11540, %11481
  br label %11542

11542:                                            ; preds = %11541
  br label %11543

11543:                                            ; preds = %11542
  %11544 = load ptr, ptr %231, align 8, !tbaa !9
  %11545 = getelementptr inbounds %struct.s2n_connection, ptr %11544, i32 0, i32 2
  store ptr @security_policy_test_tls13_retry, ptr %11545, align 8, !tbaa !68
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #10
  call void @llvm.memset.p0.i64(ptr align 4 %237, i8 0, i64 8, i1 false)
  br label %11546

11546:                                            ; preds = %11543
  %11547 = load i32, ptr @test_count, align 4, !tbaa !5
  %11548 = add nsw i32 %11547, 1
  store i32 %11548, ptr @test_count, align 4, !tbaa !5
  %11549 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %237)
  %11550 = icmp eq i32 %11549, -1
  br i1 %11550, label %11551, label %11604

11551:                                            ; preds = %11546
  br label %11552

11552:                                            ; preds = %11551
  br label %11553

11553:                                            ; preds = %11552
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #10
  %11554 = call ptr @__errno_location() #11
  %11555 = load i32, ptr %11554, align 4, !tbaa !5
  store i32 %11555, ptr %238, align 4, !tbaa !5
  %11556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11557 = call i32 @s2n_print_stacktrace(ptr noundef %11556)
  %11558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11559 = trunc i8 %11558 to i1
  br i1 %11559, label %11560, label %11582

11560:                                            ; preds = %11553
  %11561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11562 = call i32 @fileno(ptr noundef %11561) #10
  %11563 = call i32 @isatty(i32 noundef %11562) #10
  %11564 = icmp ne i32 %11563, 0
  br i1 %11564, label %11565, label %11582

11565:                                            ; preds = %11560
  %11566 = load i32, ptr %238, align 4, !tbaa !5
  %11567 = call ptr @__errno_location() #11
  store i32 %11566, ptr %11567, align 4, !tbaa !5
  %11568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11569 = load i32, ptr @test_count, align 4, !tbaa !5
  %11570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11571 = load i32, ptr %11570, align 4, !tbaa !5
  %11572 = call ptr @s2n_strerror(i32 noundef %11571, ptr noundef @.str.65)
  %11573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11574 = load i32, ptr %11573, align 4, !tbaa !5
  %11575 = call ptr @s2n_strerror_debug(i32 noundef %11574, ptr noundef @.str.65)
  %11576 = call ptr @__errno_location() #11
  %11577 = load i32, ptr %11576, align 4, !tbaa !5
  %11578 = call ptr @strerror(i32 noundef %11577) #10
  %11579 = call ptr @__errno_location() #11
  %11580 = load i32, ptr %11579, align 4, !tbaa !5
  %11581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11568, ptr noundef @.str.63, i32 noundef %11569, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 587, ptr noundef %11572, ptr noundef %11575, ptr noundef %11578, i32 noundef %11580) #10
  br label %11599

11582:                                            ; preds = %11560, %11553
  %11583 = load i32, ptr %238, align 4, !tbaa !5
  %11584 = call ptr @__errno_location() #11
  store i32 %11583, ptr %11584, align 4, !tbaa !5
  %11585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11586 = load i32, ptr @test_count, align 4, !tbaa !5
  %11587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11588 = load i32, ptr %11587, align 4, !tbaa !5
  %11589 = call ptr @s2n_strerror(i32 noundef %11588, ptr noundef @.str.65)
  %11590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11591 = load i32, ptr %11590, align 4, !tbaa !5
  %11592 = call ptr @s2n_strerror_debug(i32 noundef %11591, ptr noundef @.str.65)
  %11593 = call ptr @__errno_location() #11
  %11594 = load i32, ptr %11593, align 4, !tbaa !5
  %11595 = call ptr @strerror(i32 noundef %11594) #10
  %11596 = call ptr @__errno_location() #11
  %11597 = load i32, ptr %11596, align 4, !tbaa !5
  %11598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11585, ptr noundef @.str.66, i32 noundef %11586, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 587, ptr noundef %11589, ptr noundef %11592, ptr noundef %11595, i32 noundef %11597) #10
  br label %11599

11599:                                            ; preds = %11582, %11565
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #10
  br label %11600

11600:                                            ; preds = %11599
  br label %11601

11601:                                            ; preds = %11600
  call void @exit(i32 noundef 1) #12
  unreachable

11602:                                            ; No predecessors!
  br label %11603

11603:                                            ; preds = %11602
  br label %11604

11604:                                            ; preds = %11603, %11546
  br label %11605

11605:                                            ; preds = %11604
  br label %11606

11606:                                            ; preds = %11605
  br label %11607

11607:                                            ; preds = %11606
  %11608 = load i32, ptr @test_count, align 4, !tbaa !5
  %11609 = add nsw i32 %11608, 1
  store i32 %11609, ptr @test_count, align 4, !tbaa !5
  %11610 = load ptr, ptr %231, align 8, !tbaa !9
  %11611 = load ptr, ptr %232, align 8, !tbaa !9
  %11612 = call i32 @s2n_connections_set_io_pair(ptr noundef %11610, ptr noundef %11611, ptr noundef %237)
  %11613 = icmp eq i32 %11612, -1
  br i1 %11613, label %11614, label %11667

11614:                                            ; preds = %11607
  br label %11615

11615:                                            ; preds = %11614
  br label %11616

11616:                                            ; preds = %11615
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %11617 = call ptr @__errno_location() #11
  %11618 = load i32, ptr %11617, align 4, !tbaa !5
  store i32 %11618, ptr %239, align 4, !tbaa !5
  %11619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11620 = call i32 @s2n_print_stacktrace(ptr noundef %11619)
  %11621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11622 = trunc i8 %11621 to i1
  br i1 %11622, label %11623, label %11645

11623:                                            ; preds = %11616
  %11624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11625 = call i32 @fileno(ptr noundef %11624) #10
  %11626 = call i32 @isatty(i32 noundef %11625) #10
  %11627 = icmp ne i32 %11626, 0
  br i1 %11627, label %11628, label %11645

11628:                                            ; preds = %11623
  %11629 = load i32, ptr %239, align 4, !tbaa !5
  %11630 = call ptr @__errno_location() #11
  store i32 %11629, ptr %11630, align 4, !tbaa !5
  %11631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11632 = load i32, ptr @test_count, align 4, !tbaa !5
  %11633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11634 = load i32, ptr %11633, align 4, !tbaa !5
  %11635 = call ptr @s2n_strerror(i32 noundef %11634, ptr noundef @.str.65)
  %11636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11637 = load i32, ptr %11636, align 4, !tbaa !5
  %11638 = call ptr @s2n_strerror_debug(i32 noundef %11637, ptr noundef @.str.65)
  %11639 = call ptr @__errno_location() #11
  %11640 = load i32, ptr %11639, align 4, !tbaa !5
  %11641 = call ptr @strerror(i32 noundef %11640) #10
  %11642 = call ptr @__errno_location() #11
  %11643 = load i32, ptr %11642, align 4, !tbaa !5
  %11644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11631, ptr noundef @.str.63, i32 noundef %11632, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 588, ptr noundef %11635, ptr noundef %11638, ptr noundef %11641, i32 noundef %11643) #10
  br label %11662

11645:                                            ; preds = %11623, %11616
  %11646 = load i32, ptr %239, align 4, !tbaa !5
  %11647 = call ptr @__errno_location() #11
  store i32 %11646, ptr %11647, align 4, !tbaa !5
  %11648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11649 = load i32, ptr @test_count, align 4, !tbaa !5
  %11650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  %11652 = call ptr @s2n_strerror(i32 noundef %11651, ptr noundef @.str.65)
  %11653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11654 = load i32, ptr %11653, align 4, !tbaa !5
  %11655 = call ptr @s2n_strerror_debug(i32 noundef %11654, ptr noundef @.str.65)
  %11656 = call ptr @__errno_location() #11
  %11657 = load i32, ptr %11656, align 4, !tbaa !5
  %11658 = call ptr @strerror(i32 noundef %11657) #10
  %11659 = call ptr @__errno_location() #11
  %11660 = load i32, ptr %11659, align 4, !tbaa !5
  %11661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11648, ptr noundef @.str.66, i32 noundef %11649, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 588, ptr noundef %11652, ptr noundef %11655, ptr noundef %11658, i32 noundef %11660) #10
  br label %11662

11662:                                            ; preds = %11645, %11628
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %11663

11663:                                            ; preds = %11662
  br label %11664

11664:                                            ; preds = %11663
  call void @exit(i32 noundef 1) #12
  unreachable

11665:                                            ; No predecessors!
  br label %11666

11666:                                            ; preds = %11665
  br label %11667

11667:                                            ; preds = %11666, %11607
  br label %11668

11668:                                            ; preds = %11667
  br label %11669

11669:                                            ; preds = %11668
  br label %11670

11670:                                            ; preds = %11669
  %11671 = load i32, ptr @test_count, align 4, !tbaa !5
  %11672 = add nsw i32 %11671, 1
  store i32 %11672, ptr @test_count, align 4, !tbaa !5
  %11673 = load ptr, ptr %232, align 8, !tbaa !9
  %11674 = load ptr, ptr %231, align 8, !tbaa !9
  %11675 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11673, ptr noundef %11674)
  %11676 = icmp eq i32 %11675, -1
  br i1 %11676, label %11677, label %11730

11677:                                            ; preds = %11670
  br label %11678

11678:                                            ; preds = %11677
  br label %11679

11679:                                            ; preds = %11678
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #10
  %11680 = call ptr @__errno_location() #11
  %11681 = load i32, ptr %11680, align 4, !tbaa !5
  store i32 %11681, ptr %240, align 4, !tbaa !5
  %11682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11683 = call i32 @s2n_print_stacktrace(ptr noundef %11682)
  %11684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11685 = trunc i8 %11684 to i1
  br i1 %11685, label %11686, label %11708

11686:                                            ; preds = %11679
  %11687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11688 = call i32 @fileno(ptr noundef %11687) #10
  %11689 = call i32 @isatty(i32 noundef %11688) #10
  %11690 = icmp ne i32 %11689, 0
  br i1 %11690, label %11691, label %11708

11691:                                            ; preds = %11686
  %11692 = load i32, ptr %240, align 4, !tbaa !5
  %11693 = call ptr @__errno_location() #11
  store i32 %11692, ptr %11693, align 4, !tbaa !5
  %11694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11695 = load i32, ptr @test_count, align 4, !tbaa !5
  %11696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11697 = load i32, ptr %11696, align 4, !tbaa !5
  %11698 = call ptr @s2n_strerror(i32 noundef %11697, ptr noundef @.str.65)
  %11699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11700 = load i32, ptr %11699, align 4, !tbaa !5
  %11701 = call ptr @s2n_strerror_debug(i32 noundef %11700, ptr noundef @.str.65)
  %11702 = call ptr @__errno_location() #11
  %11703 = load i32, ptr %11702, align 4, !tbaa !5
  %11704 = call ptr @strerror(i32 noundef %11703) #10
  %11705 = call ptr @__errno_location() #11
  %11706 = load i32, ptr %11705, align 4, !tbaa !5
  %11707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11694, ptr noundef @.str.63, i32 noundef %11695, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 591, ptr noundef %11698, ptr noundef %11701, ptr noundef %11704, i32 noundef %11706) #10
  br label %11725

11708:                                            ; preds = %11686, %11679
  %11709 = load i32, ptr %240, align 4, !tbaa !5
  %11710 = call ptr @__errno_location() #11
  store i32 %11709, ptr %11710, align 4, !tbaa !5
  %11711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11712 = load i32, ptr @test_count, align 4, !tbaa !5
  %11713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11714 = load i32, ptr %11713, align 4, !tbaa !5
  %11715 = call ptr @s2n_strerror(i32 noundef %11714, ptr noundef @.str.65)
  %11716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11717 = load i32, ptr %11716, align 4, !tbaa !5
  %11718 = call ptr @s2n_strerror_debug(i32 noundef %11717, ptr noundef @.str.65)
  %11719 = call ptr @__errno_location() #11
  %11720 = load i32, ptr %11719, align 4, !tbaa !5
  %11721 = call ptr @strerror(i32 noundef %11720) #10
  %11722 = call ptr @__errno_location() #11
  %11723 = load i32, ptr %11722, align 4, !tbaa !5
  %11724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11711, ptr noundef @.str.66, i32 noundef %11712, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 591, ptr noundef %11715, ptr noundef %11718, ptr noundef %11721, i32 noundef %11723) #10
  br label %11725

11725:                                            ; preds = %11708, %11691
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #10
  br label %11726

11726:                                            ; preds = %11725
  br label %11727

11727:                                            ; preds = %11726
  call void @exit(i32 noundef 1) #12
  unreachable

11728:                                            ; No predecessors!
  br label %11729

11729:                                            ; preds = %11728
  br label %11730

11730:                                            ; preds = %11729, %11670
  br label %11731

11731:                                            ; preds = %11730
  br label %11732

11732:                                            ; preds = %11731
  br label %11733

11733:                                            ; preds = %11732
  %11734 = load i32, ptr @test_count, align 4, !tbaa !5
  %11735 = add nsw i32 %11734, 1
  store i32 %11735, ptr @test_count, align 4, !tbaa !5
  %11736 = load ptr, ptr %231, align 8, !tbaa !9
  %11737 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %11736, i32 noundef 2)
  br i1 %11737, label %11738, label %11741

11738:                                            ; preds = %11733
  %11739 = load ptr, ptr %232, align 8, !tbaa !9
  %11740 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %11739, i32 noundef 2)
  br i1 %11740, label %11794, label %11741

11741:                                            ; preds = %11738, %11733
  br label %11742

11742:                                            ; preds = %11741
  br label %11743

11743:                                            ; preds = %11742
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %11744 = call ptr @__errno_location() #11
  %11745 = load i32, ptr %11744, align 4, !tbaa !5
  store i32 %11745, ptr %241, align 4, !tbaa !5
  %11746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11747 = call i32 @s2n_print_stacktrace(ptr noundef %11746)
  %11748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11749 = trunc i8 %11748 to i1
  br i1 %11749, label %11750, label %11772

11750:                                            ; preds = %11743
  %11751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11752 = call i32 @fileno(ptr noundef %11751) #10
  %11753 = call i32 @isatty(i32 noundef %11752) #10
  %11754 = icmp ne i32 %11753, 0
  br i1 %11754, label %11755, label %11772

11755:                                            ; preds = %11750
  %11756 = load i32, ptr %241, align 4, !tbaa !5
  %11757 = call ptr @__errno_location() #11
  store i32 %11756, ptr %11757, align 4, !tbaa !5
  %11758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11759 = load i32, ptr @test_count, align 4, !tbaa !5
  %11760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11761 = load i32, ptr %11760, align 4, !tbaa !5
  %11762 = call ptr @s2n_strerror(i32 noundef %11761, ptr noundef @.str.65)
  %11763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11764 = load i32, ptr %11763, align 4, !tbaa !5
  %11765 = call ptr @s2n_strerror_debug(i32 noundef %11764, ptr noundef @.str.65)
  %11766 = call ptr @__errno_location() #11
  %11767 = load i32, ptr %11766, align 4, !tbaa !5
  %11768 = call ptr @strerror(i32 noundef %11767) #10
  %11769 = call ptr @__errno_location() #11
  %11770 = load i32, ptr %11769, align 4, !tbaa !5
  %11771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11758, ptr noundef @.str.63, i32 noundef %11759, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 594, ptr noundef %11762, ptr noundef %11765, ptr noundef %11768, i32 noundef %11770) #10
  br label %11789

11772:                                            ; preds = %11750, %11743
  %11773 = load i32, ptr %241, align 4, !tbaa !5
  %11774 = call ptr @__errno_location() #11
  store i32 %11773, ptr %11774, align 4, !tbaa !5
  %11775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11776 = load i32, ptr @test_count, align 4, !tbaa !5
  %11777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11778 = load i32, ptr %11777, align 4, !tbaa !5
  %11779 = call ptr @s2n_strerror(i32 noundef %11778, ptr noundef @.str.65)
  %11780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11781 = load i32, ptr %11780, align 4, !tbaa !5
  %11782 = call ptr @s2n_strerror_debug(i32 noundef %11781, ptr noundef @.str.65)
  %11783 = call ptr @__errno_location() #11
  %11784 = load i32, ptr %11783, align 4, !tbaa !5
  %11785 = call ptr @strerror(i32 noundef %11784) #10
  %11786 = call ptr @__errno_location() #11
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11775, ptr noundef @.str.66, i32 noundef %11776, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 594, ptr noundef %11779, ptr noundef %11782, ptr noundef %11785, i32 noundef %11787) #10
  br label %11789

11789:                                            ; preds = %11772, %11755
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %11790

11790:                                            ; preds = %11789
  br label %11791

11791:                                            ; preds = %11790
  call void @exit(i32 noundef 1) #12
  unreachable

11792:                                            ; No predecessors!
  br label %11793

11793:                                            ; preds = %11792
  br label %11794

11794:                                            ; preds = %11793, %11738
  br label %11795

11795:                                            ; preds = %11794
  br label %11796

11796:                                            ; preds = %11795
  br label %11797

11797:                                            ; preds = %11796
  %11798 = load i32, ptr @test_count, align 4, !tbaa !5
  %11799 = add nsw i32 %11798, 1
  store i32 %11799, ptr @test_count, align 4, !tbaa !5
  %11800 = load ptr, ptr %231, align 8, !tbaa !9
  %11801 = getelementptr inbounds %struct.s2n_connection, ptr %11800, i32 0, i32 52
  %11802 = getelementptr inbounds %struct.s2n_handshake, ptr %11801, i32 0, i32 6
  %11803 = load i32, ptr %11802, align 4, !tbaa !69
  %11804 = and i32 %11803, 16
  %11805 = icmp ne i32 %11804, 0
  br i1 %11805, label %11806, label %11813

11806:                                            ; preds = %11797
  %11807 = load ptr, ptr %232, align 8, !tbaa !9
  %11808 = getelementptr inbounds %struct.s2n_connection, ptr %11807, i32 0, i32 52
  %11809 = getelementptr inbounds %struct.s2n_handshake, ptr %11808, i32 0, i32 6
  %11810 = load i32, ptr %11809, align 4, !tbaa !69
  %11811 = and i32 %11810, 16
  %11812 = icmp ne i32 %11811, 0
  br i1 %11812, label %11866, label %11813

11813:                                            ; preds = %11806, %11797
  br label %11814

11814:                                            ; preds = %11813
  br label %11815

11815:                                            ; preds = %11814
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #10
  %11816 = call ptr @__errno_location() #11
  %11817 = load i32, ptr %11816, align 4, !tbaa !5
  store i32 %11817, ptr %242, align 4, !tbaa !5
  %11818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11819 = call i32 @s2n_print_stacktrace(ptr noundef %11818)
  %11820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11821 = trunc i8 %11820 to i1
  br i1 %11821, label %11822, label %11844

11822:                                            ; preds = %11815
  %11823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11824 = call i32 @fileno(ptr noundef %11823) #10
  %11825 = call i32 @isatty(i32 noundef %11824) #10
  %11826 = icmp ne i32 %11825, 0
  br i1 %11826, label %11827, label %11844

11827:                                            ; preds = %11822
  %11828 = load i32, ptr %242, align 4, !tbaa !5
  %11829 = call ptr @__errno_location() #11
  store i32 %11828, ptr %11829, align 4, !tbaa !5
  %11830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11831 = load i32, ptr @test_count, align 4, !tbaa !5
  %11832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11833 = load i32, ptr %11832, align 4, !tbaa !5
  %11834 = call ptr @s2n_strerror(i32 noundef %11833, ptr noundef @.str.65)
  %11835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11836 = load i32, ptr %11835, align 4, !tbaa !5
  %11837 = call ptr @s2n_strerror_debug(i32 noundef %11836, ptr noundef @.str.65)
  %11838 = call ptr @__errno_location() #11
  %11839 = load i32, ptr %11838, align 4, !tbaa !5
  %11840 = call ptr @strerror(i32 noundef %11839) #10
  %11841 = call ptr @__errno_location() #11
  %11842 = load i32, ptr %11841, align 4, !tbaa !5
  %11843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11830, ptr noundef @.str.63, i32 noundef %11831, ptr noundef @.str.154, ptr noundef @.str.62, i32 noundef 595, ptr noundef %11834, ptr noundef %11837, ptr noundef %11840, i32 noundef %11842) #10
  br label %11861

11844:                                            ; preds = %11822, %11815
  %11845 = load i32, ptr %242, align 4, !tbaa !5
  %11846 = call ptr @__errno_location() #11
  store i32 %11845, ptr %11846, align 4, !tbaa !5
  %11847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11848 = load i32, ptr @test_count, align 4, !tbaa !5
  %11849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11850 = load i32, ptr %11849, align 4, !tbaa !5
  %11851 = call ptr @s2n_strerror(i32 noundef %11850, ptr noundef @.str.65)
  %11852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  %11854 = call ptr @s2n_strerror_debug(i32 noundef %11853, ptr noundef @.str.65)
  %11855 = call ptr @__errno_location() #11
  %11856 = load i32, ptr %11855, align 4, !tbaa !5
  %11857 = call ptr @strerror(i32 noundef %11856) #10
  %11858 = call ptr @__errno_location() #11
  %11859 = load i32, ptr %11858, align 4, !tbaa !5
  %11860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11847, ptr noundef @.str.66, i32 noundef %11848, ptr noundef @.str.154, ptr noundef @.str.62, i32 noundef 595, ptr noundef %11851, ptr noundef %11854, ptr noundef %11857, i32 noundef %11859) #10
  br label %11861

11861:                                            ; preds = %11844, %11827
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #10
  br label %11862

11862:                                            ; preds = %11861
  br label %11863

11863:                                            ; preds = %11862
  call void @exit(i32 noundef 1) #12
  unreachable

11864:                                            ; No predecessors!
  br label %11865

11865:                                            ; preds = %11864
  br label %11866

11866:                                            ; preds = %11865, %11806
  br label %11867

11867:                                            ; preds = %11866
  br label %11868

11868:                                            ; preds = %11867
  br label %11869

11869:                                            ; preds = %11868
  %11870 = load i32, ptr @test_count, align 4, !tbaa !5
  %11871 = add nsw i32 %11870, 1
  store i32 %11871, ptr @test_count, align 4, !tbaa !5
  %11872 = load ptr, ptr %232, align 8, !tbaa !9
  %11873 = load ptr, ptr %231, align 8, !tbaa !9
  %11874 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %11872, ptr noundef %11873, ptr noundef %230)
  %11875 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  store i32 %11874, ptr %11875, align 4
  %11876 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  %11877 = load i32, ptr %11876, align 4
  %11878 = call zeroext i1 @s2n_result_is_ok(i32 %11877)
  br i1 %11878, label %11932, label %11879

11879:                                            ; preds = %11869
  br label %11880

11880:                                            ; preds = %11879
  br label %11881

11881:                                            ; preds = %11880
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #10
  %11882 = call ptr @__errno_location() #11
  %11883 = load i32, ptr %11882, align 4, !tbaa !5
  store i32 %11883, ptr %244, align 4, !tbaa !5
  %11884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11885 = call i32 @s2n_print_stacktrace(ptr noundef %11884)
  %11886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11887 = trunc i8 %11886 to i1
  br i1 %11887, label %11888, label %11910

11888:                                            ; preds = %11881
  %11889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11890 = call i32 @fileno(ptr noundef %11889) #10
  %11891 = call i32 @isatty(i32 noundef %11890) #10
  %11892 = icmp ne i32 %11891, 0
  br i1 %11892, label %11893, label %11910

11893:                                            ; preds = %11888
  %11894 = load i32, ptr %244, align 4, !tbaa !5
  %11895 = call ptr @__errno_location() #11
  store i32 %11894, ptr %11895, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = load i32, ptr @test_count, align 4, !tbaa !5
  %11898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11899 = load i32, ptr %11898, align 4, !tbaa !5
  %11900 = call ptr @s2n_strerror(i32 noundef %11899, ptr noundef @.str.65)
  %11901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11902 = load i32, ptr %11901, align 4, !tbaa !5
  %11903 = call ptr @s2n_strerror_debug(i32 noundef %11902, ptr noundef @.str.65)
  %11904 = call ptr @__errno_location() #11
  %11905 = load i32, ptr %11904, align 4, !tbaa !5
  %11906 = call ptr @strerror(i32 noundef %11905) #10
  %11907 = call ptr @__errno_location() #11
  %11908 = load i32, ptr %11907, align 4, !tbaa !5
  %11909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11896, ptr noundef @.str.63, i32 noundef %11897, ptr noundef @.str.117, ptr noundef @.str.62, i32 noundef 598, ptr noundef %11900, ptr noundef %11903, ptr noundef %11906, i32 noundef %11908) #10
  br label %11927

11910:                                            ; preds = %11888, %11881
  %11911 = load i32, ptr %244, align 4, !tbaa !5
  %11912 = call ptr @__errno_location() #11
  store i32 %11911, ptr %11912, align 4, !tbaa !5
  %11913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11914 = load i32, ptr @test_count, align 4, !tbaa !5
  %11915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11916 = load i32, ptr %11915, align 4, !tbaa !5
  %11917 = call ptr @s2n_strerror(i32 noundef %11916, ptr noundef @.str.65)
  %11918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11919 = load i32, ptr %11918, align 4, !tbaa !5
  %11920 = call ptr @s2n_strerror_debug(i32 noundef %11919, ptr noundef @.str.65)
  %11921 = call ptr @__errno_location() #11
  %11922 = load i32, ptr %11921, align 4, !tbaa !5
  %11923 = call ptr @strerror(i32 noundef %11922) #10
  %11924 = call ptr @__errno_location() #11
  %11925 = load i32, ptr %11924, align 4, !tbaa !5
  %11926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11913, ptr noundef @.str.66, i32 noundef %11914, ptr noundef @.str.117, ptr noundef @.str.62, i32 noundef 598, ptr noundef %11917, ptr noundef %11920, ptr noundef %11923, i32 noundef %11925) #10
  br label %11927

11927:                                            ; preds = %11910, %11893
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #10
  br label %11928

11928:                                            ; preds = %11927
  br label %11929

11929:                                            ; preds = %11928
  call void @exit(i32 noundef 1) #12
  unreachable

11930:                                            ; No predecessors!
  br label %11931

11931:                                            ; preds = %11930
  br label %11932

11932:                                            ; preds = %11931, %11869
  br label %11933

11933:                                            ; preds = %11932
  br label %11934

11934:                                            ; preds = %11933
  br label %11935

11935:                                            ; preds = %11934
  %11936 = load i32, ptr @test_count, align 4, !tbaa !5
  %11937 = add nsw i32 %11936, 1
  store i32 %11937, ptr @test_count, align 4, !tbaa !5
  %11938 = load ptr, ptr %232, align 8, !tbaa !9
  %11939 = load ptr, ptr %231, align 8, !tbaa !9
  %11940 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %11938, ptr noundef %11939)
  %11941 = icmp eq i32 %11940, -1
  br i1 %11941, label %11942, label %11995

11942:                                            ; preds = %11935
  br label %11943

11943:                                            ; preds = %11942
  br label %11944

11944:                                            ; preds = %11943
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #10
  %11945 = call ptr @__errno_location() #11
  %11946 = load i32, ptr %11945, align 4, !tbaa !5
  store i32 %11946, ptr %245, align 4, !tbaa !5
  %11947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11948 = call i32 @s2n_print_stacktrace(ptr noundef %11947)
  %11949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11950 = trunc i8 %11949 to i1
  br i1 %11950, label %11951, label %11973

11951:                                            ; preds = %11944
  %11952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11953 = call i32 @fileno(ptr noundef %11952) #10
  %11954 = call i32 @isatty(i32 noundef %11953) #10
  %11955 = icmp ne i32 %11954, 0
  br i1 %11955, label %11956, label %11973

11956:                                            ; preds = %11951
  %11957 = load i32, ptr %245, align 4, !tbaa !5
  %11958 = call ptr @__errno_location() #11
  store i32 %11957, ptr %11958, align 4, !tbaa !5
  %11959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11960 = load i32, ptr @test_count, align 4, !tbaa !5
  %11961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11962 = load i32, ptr %11961, align 4, !tbaa !5
  %11963 = call ptr @s2n_strerror(i32 noundef %11962, ptr noundef @.str.65)
  %11964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11965 = load i32, ptr %11964, align 4, !tbaa !5
  %11966 = call ptr @s2n_strerror_debug(i32 noundef %11965, ptr noundef @.str.65)
  %11967 = call ptr @__errno_location() #11
  %11968 = load i32, ptr %11967, align 4, !tbaa !5
  %11969 = call ptr @strerror(i32 noundef %11968) #10
  %11970 = call ptr @__errno_location() #11
  %11971 = load i32, ptr %11970, align 4, !tbaa !5
  %11972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11959, ptr noundef @.str.63, i32 noundef %11960, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 601, ptr noundef %11963, ptr noundef %11966, ptr noundef %11969, i32 noundef %11971) #10
  br label %11990

11973:                                            ; preds = %11951, %11944
  %11974 = load i32, ptr %245, align 4, !tbaa !5
  %11975 = call ptr @__errno_location() #11
  store i32 %11974, ptr %11975, align 4, !tbaa !5
  %11976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11977 = load i32, ptr @test_count, align 4, !tbaa !5
  %11978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11979 = load i32, ptr %11978, align 4, !tbaa !5
  %11980 = call ptr @s2n_strerror(i32 noundef %11979, ptr noundef @.str.65)
  %11981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11982 = load i32, ptr %11981, align 4, !tbaa !5
  %11983 = call ptr @s2n_strerror_debug(i32 noundef %11982, ptr noundef @.str.65)
  %11984 = call ptr @__errno_location() #11
  %11985 = load i32, ptr %11984, align 4, !tbaa !5
  %11986 = call ptr @strerror(i32 noundef %11985) #10
  %11987 = call ptr @__errno_location() #11
  %11988 = load i32, ptr %11987, align 4, !tbaa !5
  %11989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11976, ptr noundef @.str.66, i32 noundef %11977, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 601, ptr noundef %11980, ptr noundef %11983, ptr noundef %11986, i32 noundef %11988) #10
  br label %11990

11990:                                            ; preds = %11973, %11956
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #10
  br label %11991

11991:                                            ; preds = %11990
  br label %11992

11992:                                            ; preds = %11991
  call void @exit(i32 noundef 1) #12
  unreachable

11993:                                            ; No predecessors!
  br label %11994

11994:                                            ; preds = %11993
  br label %11995

11995:                                            ; preds = %11994, %11935
  br label %11996

11996:                                            ; preds = %11995
  br label %11997

11997:                                            ; preds = %11996
  br label %11998

11998:                                            ; preds = %11997
  %11999 = load i32, ptr @test_count, align 4, !tbaa !5
  %12000 = add nsw i32 %11999, 1
  store i32 %12000, ptr @test_count, align 4, !tbaa !5
  %12001 = load ptr, ptr %231, align 8, !tbaa !9
  %12002 = call i32 @s2n_connection_wipe(ptr noundef %12001)
  %12003 = icmp eq i32 %12002, -1
  br i1 %12003, label %12004, label %12057

12004:                                            ; preds = %11998
  br label %12005

12005:                                            ; preds = %12004
  br label %12006

12006:                                            ; preds = %12005
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  %12007 = call ptr @__errno_location() #11
  %12008 = load i32, ptr %12007, align 4, !tbaa !5
  store i32 %12008, ptr %246, align 4, !tbaa !5
  %12009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12010 = call i32 @s2n_print_stacktrace(ptr noundef %12009)
  %12011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12012 = trunc i8 %12011 to i1
  br i1 %12012, label %12013, label %12035

12013:                                            ; preds = %12006
  %12014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12015 = call i32 @fileno(ptr noundef %12014) #10
  %12016 = call i32 @isatty(i32 noundef %12015) #10
  %12017 = icmp ne i32 %12016, 0
  br i1 %12017, label %12018, label %12035

12018:                                            ; preds = %12013
  %12019 = load i32, ptr %246, align 4, !tbaa !5
  %12020 = call ptr @__errno_location() #11
  store i32 %12019, ptr %12020, align 4, !tbaa !5
  %12021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12022 = load i32, ptr @test_count, align 4, !tbaa !5
  %12023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12024 = load i32, ptr %12023, align 4, !tbaa !5
  %12025 = call ptr @s2n_strerror(i32 noundef %12024, ptr noundef @.str.65)
  %12026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12027 = load i32, ptr %12026, align 4, !tbaa !5
  %12028 = call ptr @s2n_strerror_debug(i32 noundef %12027, ptr noundef @.str.65)
  %12029 = call ptr @__errno_location() #11
  %12030 = load i32, ptr %12029, align 4, !tbaa !5
  %12031 = call ptr @strerror(i32 noundef %12030) #10
  %12032 = call ptr @__errno_location() #11
  %12033 = load i32, ptr %12032, align 4, !tbaa !5
  %12034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12021, ptr noundef @.str.63, i32 noundef %12022, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 602, ptr noundef %12025, ptr noundef %12028, ptr noundef %12031, i32 noundef %12033) #10
  br label %12052

12035:                                            ; preds = %12013, %12006
  %12036 = load i32, ptr %246, align 4, !tbaa !5
  %12037 = call ptr @__errno_location() #11
  store i32 %12036, ptr %12037, align 4, !tbaa !5
  %12038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12039 = load i32, ptr @test_count, align 4, !tbaa !5
  %12040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12041 = load i32, ptr %12040, align 4, !tbaa !5
  %12042 = call ptr @s2n_strerror(i32 noundef %12041, ptr noundef @.str.65)
  %12043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12044 = load i32, ptr %12043, align 4, !tbaa !5
  %12045 = call ptr @s2n_strerror_debug(i32 noundef %12044, ptr noundef @.str.65)
  %12046 = call ptr @__errno_location() #11
  %12047 = load i32, ptr %12046, align 4, !tbaa !5
  %12048 = call ptr @strerror(i32 noundef %12047) #10
  %12049 = call ptr @__errno_location() #11
  %12050 = load i32, ptr %12049, align 4, !tbaa !5
  %12051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12038, ptr noundef @.str.66, i32 noundef %12039, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 602, ptr noundef %12042, ptr noundef %12045, ptr noundef %12048, i32 noundef %12050) #10
  br label %12052

12052:                                            ; preds = %12035, %12018
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  br label %12053

12053:                                            ; preds = %12052
  br label %12054

12054:                                            ; preds = %12053
  call void @exit(i32 noundef 1) #12
  unreachable

12055:                                            ; No predecessors!
  br label %12056

12056:                                            ; preds = %12055
  br label %12057

12057:                                            ; preds = %12056, %11998
  br label %12058

12058:                                            ; preds = %12057
  br label %12059

12059:                                            ; preds = %12058
  br label %12060

12060:                                            ; preds = %12059
  %12061 = load i32, ptr @test_count, align 4, !tbaa !5
  %12062 = add nsw i32 %12061, 1
  store i32 %12062, ptr @test_count, align 4, !tbaa !5
  %12063 = load ptr, ptr %232, align 8, !tbaa !9
  %12064 = call i32 @s2n_connection_wipe(ptr noundef %12063)
  %12065 = icmp eq i32 %12064, -1
  br i1 %12065, label %12066, label %12119

12066:                                            ; preds = %12060
  br label %12067

12067:                                            ; preds = %12066
  br label %12068

12068:                                            ; preds = %12067
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #10
  %12069 = call ptr @__errno_location() #11
  %12070 = load i32, ptr %12069, align 4, !tbaa !5
  store i32 %12070, ptr %247, align 4, !tbaa !5
  %12071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12072 = call i32 @s2n_print_stacktrace(ptr noundef %12071)
  %12073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12074 = trunc i8 %12073 to i1
  br i1 %12074, label %12075, label %12097

12075:                                            ; preds = %12068
  %12076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12077 = call i32 @fileno(ptr noundef %12076) #10
  %12078 = call i32 @isatty(i32 noundef %12077) #10
  %12079 = icmp ne i32 %12078, 0
  br i1 %12079, label %12080, label %12097

12080:                                            ; preds = %12075
  %12081 = load i32, ptr %247, align 4, !tbaa !5
  %12082 = call ptr @__errno_location() #11
  store i32 %12081, ptr %12082, align 4, !tbaa !5
  %12083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12084 = load i32, ptr @test_count, align 4, !tbaa !5
  %12085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12086 = load i32, ptr %12085, align 4, !tbaa !5
  %12087 = call ptr @s2n_strerror(i32 noundef %12086, ptr noundef @.str.65)
  %12088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12089 = load i32, ptr %12088, align 4, !tbaa !5
  %12090 = call ptr @s2n_strerror_debug(i32 noundef %12089, ptr noundef @.str.65)
  %12091 = call ptr @__errno_location() #11
  %12092 = load i32, ptr %12091, align 4, !tbaa !5
  %12093 = call ptr @strerror(i32 noundef %12092) #10
  %12094 = call ptr @__errno_location() #11
  %12095 = load i32, ptr %12094, align 4, !tbaa !5
  %12096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12083, ptr noundef @.str.63, i32 noundef %12084, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 603, ptr noundef %12087, ptr noundef %12090, ptr noundef %12093, i32 noundef %12095) #10
  br label %12114

12097:                                            ; preds = %12075, %12068
  %12098 = load i32, ptr %247, align 4, !tbaa !5
  %12099 = call ptr @__errno_location() #11
  store i32 %12098, ptr %12099, align 4, !tbaa !5
  %12100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12101 = load i32, ptr @test_count, align 4, !tbaa !5
  %12102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call ptr @s2n_strerror(i32 noundef %12103, ptr noundef @.str.65)
  %12105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  %12107 = call ptr @s2n_strerror_debug(i32 noundef %12106, ptr noundef @.str.65)
  %12108 = call ptr @__errno_location() #11
  %12109 = load i32, ptr %12108, align 4, !tbaa !5
  %12110 = call ptr @strerror(i32 noundef %12109) #10
  %12111 = call ptr @__errno_location() #11
  %12112 = load i32, ptr %12111, align 4, !tbaa !5
  %12113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12100, ptr noundef @.str.66, i32 noundef %12101, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 603, ptr noundef %12104, ptr noundef %12107, ptr noundef %12110, i32 noundef %12112) #10
  br label %12114

12114:                                            ; preds = %12097, %12080
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #10
  br label %12115

12115:                                            ; preds = %12114
  br label %12116

12116:                                            ; preds = %12115
  call void @exit(i32 noundef 1) #12
  unreachable

12117:                                            ; No predecessors!
  br label %12118

12118:                                            ; preds = %12117
  br label %12119

12119:                                            ; preds = %12118, %12060
  br label %12120

12120:                                            ; preds = %12119
  br label %12121

12121:                                            ; preds = %12120
  br label %12122

12122:                                            ; preds = %12121
  %12123 = load i32, ptr @test_count, align 4, !tbaa !5
  %12124 = add nsw i32 %12123, 1
  store i32 %12124, ptr @test_count, align 4, !tbaa !5
  %12125 = load ptr, ptr %231, align 8, !tbaa !9
  %12126 = load ptr, ptr %232, align 8, !tbaa !9
  %12127 = call i32 @s2n_connections_set_io_pair(ptr noundef %12125, ptr noundef %12126, ptr noundef %237)
  %12128 = icmp eq i32 %12127, -1
  br i1 %12128, label %12129, label %12182

12129:                                            ; preds = %12122
  br label %12130

12130:                                            ; preds = %12129
  br label %12131

12131:                                            ; preds = %12130
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #10
  %12132 = call ptr @__errno_location() #11
  %12133 = load i32, ptr %12132, align 4, !tbaa !5
  store i32 %12133, ptr %248, align 4, !tbaa !5
  %12134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12135 = call i32 @s2n_print_stacktrace(ptr noundef %12134)
  %12136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12137 = trunc i8 %12136 to i1
  br i1 %12137, label %12138, label %12160

12138:                                            ; preds = %12131
  %12139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12140 = call i32 @fileno(ptr noundef %12139) #10
  %12141 = call i32 @isatty(i32 noundef %12140) #10
  %12142 = icmp ne i32 %12141, 0
  br i1 %12142, label %12143, label %12160

12143:                                            ; preds = %12138
  %12144 = load i32, ptr %248, align 4, !tbaa !5
  %12145 = call ptr @__errno_location() #11
  store i32 %12144, ptr %12145, align 4, !tbaa !5
  %12146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12147 = load i32, ptr @test_count, align 4, !tbaa !5
  %12148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12149 = load i32, ptr %12148, align 4, !tbaa !5
  %12150 = call ptr @s2n_strerror(i32 noundef %12149, ptr noundef @.str.65)
  %12151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12152 = load i32, ptr %12151, align 4, !tbaa !5
  %12153 = call ptr @s2n_strerror_debug(i32 noundef %12152, ptr noundef @.str.65)
  %12154 = call ptr @__errno_location() #11
  %12155 = load i32, ptr %12154, align 4, !tbaa !5
  %12156 = call ptr @strerror(i32 noundef %12155) #10
  %12157 = call ptr @__errno_location() #11
  %12158 = load i32, ptr %12157, align 4, !tbaa !5
  %12159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12146, ptr noundef @.str.63, i32 noundef %12147, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 604, ptr noundef %12150, ptr noundef %12153, ptr noundef %12156, i32 noundef %12158) #10
  br label %12177

12160:                                            ; preds = %12138, %12131
  %12161 = load i32, ptr %248, align 4, !tbaa !5
  %12162 = call ptr @__errno_location() #11
  store i32 %12161, ptr %12162, align 4, !tbaa !5
  %12163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12164 = load i32, ptr @test_count, align 4, !tbaa !5
  %12165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12166 = load i32, ptr %12165, align 4, !tbaa !5
  %12167 = call ptr @s2n_strerror(i32 noundef %12166, ptr noundef @.str.65)
  %12168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12169 = load i32, ptr %12168, align 4, !tbaa !5
  %12170 = call ptr @s2n_strerror_debug(i32 noundef %12169, ptr noundef @.str.65)
  %12171 = call ptr @__errno_location() #11
  %12172 = load i32, ptr %12171, align 4, !tbaa !5
  %12173 = call ptr @strerror(i32 noundef %12172) #10
  %12174 = call ptr @__errno_location() #11
  %12175 = load i32, ptr %12174, align 4, !tbaa !5
  %12176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12163, ptr noundef @.str.66, i32 noundef %12164, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 604, ptr noundef %12167, ptr noundef %12170, ptr noundef %12173, i32 noundef %12175) #10
  br label %12177

12177:                                            ; preds = %12160, %12143
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #10
  br label %12178

12178:                                            ; preds = %12177
  br label %12179

12179:                                            ; preds = %12178
  call void @exit(i32 noundef 1) #12
  unreachable

12180:                                            ; No predecessors!
  br label %12181

12181:                                            ; preds = %12180
  br label %12182

12182:                                            ; preds = %12181, %12122
  br label %12183

12183:                                            ; preds = %12182
  br label %12184

12184:                                            ; preds = %12183
  %12185 = load ptr, ptr %231, align 8, !tbaa !9
  %12186 = getelementptr inbounds %struct.s2n_connection, ptr %12185, i32 0, i32 2
  store ptr @security_policy_test_tls13_retry, ptr %12186, align 8, !tbaa !68
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #10
  %12187 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %12188 = load i32, ptr %12187, align 4, !tbaa !27
  %12189 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %12190 = load i32, ptr %12189, align 8, !tbaa !30
  %12191 = sub i32 %12188, %12190
  %12192 = zext i32 %12191 to i64
  store i64 %12192, ptr %249, align 8, !tbaa !15
  br label %12193

12193:                                            ; preds = %12184
  %12194 = load i32, ptr @test_count, align 4, !tbaa !5
  %12195 = add nsw i32 %12194, 1
  store i32 %12195, ptr @test_count, align 4, !tbaa !5
  %12196 = load ptr, ptr %231, align 8, !tbaa !9
  %12197 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 0
  %12198 = getelementptr inbounds %struct.s2n_blob, ptr %12197, i32 0, i32 0
  %12199 = load ptr, ptr %12198, align 8, !tbaa !31
  %12200 = load i64, ptr %249, align 8, !tbaa !15
  %12201 = call i32 @s2n_connection_set_session(ptr noundef %12196, ptr noundef %12199, i64 noundef %12200)
  %12202 = icmp eq i32 %12201, -1
  br i1 %12202, label %12203, label %12256

12203:                                            ; preds = %12193
  br label %12204

12204:                                            ; preds = %12203
  br label %12205

12205:                                            ; preds = %12204
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %12206 = call ptr @__errno_location() #11
  %12207 = load i32, ptr %12206, align 4, !tbaa !5
  store i32 %12207, ptr %250, align 4, !tbaa !5
  %12208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12209 = call i32 @s2n_print_stacktrace(ptr noundef %12208)
  %12210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12211 = trunc i8 %12210 to i1
  br i1 %12211, label %12212, label %12234

12212:                                            ; preds = %12205
  %12213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12214 = call i32 @fileno(ptr noundef %12213) #10
  %12215 = call i32 @isatty(i32 noundef %12214) #10
  %12216 = icmp ne i32 %12215, 0
  br i1 %12216, label %12217, label %12234

12217:                                            ; preds = %12212
  %12218 = load i32, ptr %250, align 4, !tbaa !5
  %12219 = call ptr @__errno_location() #11
  store i32 %12218, ptr %12219, align 4, !tbaa !5
  %12220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12221 = load i32, ptr @test_count, align 4, !tbaa !5
  %12222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12223 = load i32, ptr %12222, align 4, !tbaa !5
  %12224 = call ptr @s2n_strerror(i32 noundef %12223, ptr noundef @.str.65)
  %12225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12226 = load i32, ptr %12225, align 4, !tbaa !5
  %12227 = call ptr @s2n_strerror_debug(i32 noundef %12226, ptr noundef @.str.65)
  %12228 = call ptr @__errno_location() #11
  %12229 = load i32, ptr %12228, align 4, !tbaa !5
  %12230 = call ptr @strerror(i32 noundef %12229) #10
  %12231 = call ptr @__errno_location() #11
  %12232 = load i32, ptr %12231, align 4, !tbaa !5
  %12233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12220, ptr noundef @.str.63, i32 noundef %12221, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 609, ptr noundef %12224, ptr noundef %12227, ptr noundef %12230, i32 noundef %12232) #10
  br label %12251

12234:                                            ; preds = %12212, %12205
  %12235 = load i32, ptr %250, align 4, !tbaa !5
  %12236 = call ptr @__errno_location() #11
  store i32 %12235, ptr %12236, align 4, !tbaa !5
  %12237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12238 = load i32, ptr @test_count, align 4, !tbaa !5
  %12239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12240 = load i32, ptr %12239, align 4, !tbaa !5
  %12241 = call ptr @s2n_strerror(i32 noundef %12240, ptr noundef @.str.65)
  %12242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12243 = load i32, ptr %12242, align 4, !tbaa !5
  %12244 = call ptr @s2n_strerror_debug(i32 noundef %12243, ptr noundef @.str.65)
  %12245 = call ptr @__errno_location() #11
  %12246 = load i32, ptr %12245, align 4, !tbaa !5
  %12247 = call ptr @strerror(i32 noundef %12246) #10
  %12248 = call ptr @__errno_location() #11
  %12249 = load i32, ptr %12248, align 4, !tbaa !5
  %12250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12237, ptr noundef @.str.66, i32 noundef %12238, ptr noundef @.str.121, ptr noundef @.str.62, i32 noundef 609, ptr noundef %12241, ptr noundef %12244, ptr noundef %12247, i32 noundef %12249) #10
  br label %12251

12251:                                            ; preds = %12234, %12217
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %12252

12252:                                            ; preds = %12251
  br label %12253

12253:                                            ; preds = %12252
  call void @exit(i32 noundef 1) #12
  unreachable

12254:                                            ; No predecessors!
  br label %12255

12255:                                            ; preds = %12254
  br label %12256

12256:                                            ; preds = %12255, %12193
  br label %12257

12257:                                            ; preds = %12256
  br label %12258

12258:                                            ; preds = %12257
  br label %12259

12259:                                            ; preds = %12258
  %12260 = load i32, ptr @test_count, align 4, !tbaa !5
  %12261 = add nsw i32 %12260, 1
  store i32 %12261, ptr @test_count, align 4, !tbaa !5
  %12262 = call i32 @s2n_stuffer_rewrite(ptr noundef %45)
  %12263 = icmp eq i32 %12262, -1
  br i1 %12263, label %12264, label %12317

12264:                                            ; preds = %12259
  br label %12265

12265:                                            ; preds = %12264
  br label %12266

12266:                                            ; preds = %12265
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #10
  %12267 = call ptr @__errno_location() #11
  %12268 = load i32, ptr %12267, align 4, !tbaa !5
  store i32 %12268, ptr %251, align 4, !tbaa !5
  %12269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12270 = call i32 @s2n_print_stacktrace(ptr noundef %12269)
  %12271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12272 = trunc i8 %12271 to i1
  br i1 %12272, label %12273, label %12295

12273:                                            ; preds = %12266
  %12274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12275 = call i32 @fileno(ptr noundef %12274) #10
  %12276 = call i32 @isatty(i32 noundef %12275) #10
  %12277 = icmp ne i32 %12276, 0
  br i1 %12277, label %12278, label %12295

12278:                                            ; preds = %12273
  %12279 = load i32, ptr %251, align 4, !tbaa !5
  %12280 = call ptr @__errno_location() #11
  store i32 %12279, ptr %12280, align 4, !tbaa !5
  %12281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12282 = load i32, ptr @test_count, align 4, !tbaa !5
  %12283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12284 = load i32, ptr %12283, align 4, !tbaa !5
  %12285 = call ptr @s2n_strerror(i32 noundef %12284, ptr noundef @.str.65)
  %12286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call ptr @s2n_strerror_debug(i32 noundef %12287, ptr noundef @.str.65)
  %12289 = call ptr @__errno_location() #11
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call ptr @strerror(i32 noundef %12290) #10
  %12292 = call ptr @__errno_location() #11
  %12293 = load i32, ptr %12292, align 4, !tbaa !5
  %12294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12281, ptr noundef @.str.63, i32 noundef %12282, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 610, ptr noundef %12285, ptr noundef %12288, ptr noundef %12291, i32 noundef %12293) #10
  br label %12312

12295:                                            ; preds = %12273, %12266
  %12296 = load i32, ptr %251, align 4, !tbaa !5
  %12297 = call ptr @__errno_location() #11
  store i32 %12296, ptr %12297, align 4, !tbaa !5
  %12298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12299 = load i32, ptr @test_count, align 4, !tbaa !5
  %12300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12301 = load i32, ptr %12300, align 4, !tbaa !5
  %12302 = call ptr @s2n_strerror(i32 noundef %12301, ptr noundef @.str.65)
  %12303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @s2n_strerror_debug(i32 noundef %12304, ptr noundef @.str.65)
  %12306 = call ptr @__errno_location() #11
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call ptr @strerror(i32 noundef %12307) #10
  %12309 = call ptr @__errno_location() #11
  %12310 = load i32, ptr %12309, align 4, !tbaa !5
  %12311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12298, ptr noundef @.str.66, i32 noundef %12299, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 610, ptr noundef %12302, ptr noundef %12305, ptr noundef %12308, i32 noundef %12310) #10
  br label %12312

12312:                                            ; preds = %12295, %12278
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #10
  br label %12313

12313:                                            ; preds = %12312
  br label %12314

12314:                                            ; preds = %12313
  call void @exit(i32 noundef 1) #12
  unreachable

12315:                                            ; No predecessors!
  br label %12316

12316:                                            ; preds = %12315
  br label %12317

12317:                                            ; preds = %12316, %12259
  br label %12318

12318:                                            ; preds = %12317
  br label %12319

12319:                                            ; preds = %12318
  br label %12320

12320:                                            ; preds = %12319
  %12321 = load i32, ptr @test_count, align 4, !tbaa !5
  %12322 = add nsw i32 %12321, 1
  store i32 %12322, ptr @test_count, align 4, !tbaa !5
  %12323 = load ptr, ptr %232, align 8, !tbaa !9
  %12324 = load ptr, ptr %231, align 8, !tbaa !9
  %12325 = call i32 @s2n_test_negotiate(ptr noundef %12323, ptr noundef %12324, ptr noundef %230)
  %12326 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  store i32 %12325, ptr %12326, align 4
  %12327 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  %12328 = load i32, ptr %12327, align 4
  %12329 = call zeroext i1 @s2n_result_is_ok(i32 %12328)
  br i1 %12329, label %12383, label %12330

12330:                                            ; preds = %12320
  br label %12331

12331:                                            ; preds = %12330
  br label %12332

12332:                                            ; preds = %12331
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #10
  %12333 = call ptr @__errno_location() #11
  %12334 = load i32, ptr %12333, align 4, !tbaa !5
  store i32 %12334, ptr %253, align 4, !tbaa !5
  %12335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12336 = call i32 @s2n_print_stacktrace(ptr noundef %12335)
  %12337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12338 = trunc i8 %12337 to i1
  br i1 %12338, label %12339, label %12361

12339:                                            ; preds = %12332
  %12340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12341 = call i32 @fileno(ptr noundef %12340) #10
  %12342 = call i32 @isatty(i32 noundef %12341) #10
  %12343 = icmp ne i32 %12342, 0
  br i1 %12343, label %12344, label %12361

12344:                                            ; preds = %12339
  %12345 = load i32, ptr %253, align 4, !tbaa !5
  %12346 = call ptr @__errno_location() #11
  store i32 %12345, ptr %12346, align 4, !tbaa !5
  %12347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12348 = load i32, ptr @test_count, align 4, !tbaa !5
  %12349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12350 = load i32, ptr %12349, align 4, !tbaa !5
  %12351 = call ptr @s2n_strerror(i32 noundef %12350, ptr noundef @.str.65)
  %12352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12353 = load i32, ptr %12352, align 4, !tbaa !5
  %12354 = call ptr @s2n_strerror_debug(i32 noundef %12353, ptr noundef @.str.65)
  %12355 = call ptr @__errno_location() #11
  %12356 = load i32, ptr %12355, align 4, !tbaa !5
  %12357 = call ptr @strerror(i32 noundef %12356) #10
  %12358 = call ptr @__errno_location() #11
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  %12360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12347, ptr noundef @.str.63, i32 noundef %12348, ptr noundef @.str.123, ptr noundef @.str.62, i32 noundef 613, ptr noundef %12351, ptr noundef %12354, ptr noundef %12357, i32 noundef %12359) #10
  br label %12378

12361:                                            ; preds = %12339, %12332
  %12362 = load i32, ptr %253, align 4, !tbaa !5
  %12363 = call ptr @__errno_location() #11
  store i32 %12362, ptr %12363, align 4, !tbaa !5
  %12364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12365 = load i32, ptr @test_count, align 4, !tbaa !5
  %12366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12367 = load i32, ptr %12366, align 4, !tbaa !5
  %12368 = call ptr @s2n_strerror(i32 noundef %12367, ptr noundef @.str.65)
  %12369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12370 = load i32, ptr %12369, align 4, !tbaa !5
  %12371 = call ptr @s2n_strerror_debug(i32 noundef %12370, ptr noundef @.str.65)
  %12372 = call ptr @__errno_location() #11
  %12373 = load i32, ptr %12372, align 4, !tbaa !5
  %12374 = call ptr @strerror(i32 noundef %12373) #10
  %12375 = call ptr @__errno_location() #11
  %12376 = load i32, ptr %12375, align 4, !tbaa !5
  %12377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12364, ptr noundef @.str.66, i32 noundef %12365, ptr noundef @.str.123, ptr noundef @.str.62, i32 noundef 613, ptr noundef %12368, ptr noundef %12371, ptr noundef %12374, i32 noundef %12376) #10
  br label %12378

12378:                                            ; preds = %12361, %12344
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #10
  br label %12379

12379:                                            ; preds = %12378
  br label %12380

12380:                                            ; preds = %12379
  call void @exit(i32 noundef 1) #12
  unreachable

12381:                                            ; No predecessors!
  br label %12382

12382:                                            ; preds = %12381
  br label %12383

12383:                                            ; preds = %12382, %12320
  br label %12384

12384:                                            ; preds = %12383
  br label %12385

12385:                                            ; preds = %12384
  br label %12386

12386:                                            ; preds = %12385
  %12387 = load i32, ptr @test_count, align 4, !tbaa !5
  %12388 = add nsw i32 %12387, 1
  store i32 %12388, ptr @test_count, align 4, !tbaa !5
  %12389 = load ptr, ptr %231, align 8, !tbaa !9
  %12390 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %12389, i32 noundef 2)
  br i1 %12390, label %12391, label %12447

12391:                                            ; preds = %12386
  %12392 = load ptr, ptr %232, align 8, !tbaa !9
  %12393 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %12392, i32 noundef 2)
  br i1 %12393, label %12394, label %12447

12394:                                            ; preds = %12391
  br label %12395

12395:                                            ; preds = %12394
  br label %12396

12396:                                            ; preds = %12395
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #10
  %12397 = call ptr @__errno_location() #11
  %12398 = load i32, ptr %12397, align 4, !tbaa !5
  store i32 %12398, ptr %254, align 4, !tbaa !5
  %12399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12400 = call i32 @s2n_print_stacktrace(ptr noundef %12399)
  %12401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12402 = trunc i8 %12401 to i1
  br i1 %12402, label %12403, label %12425

12403:                                            ; preds = %12396
  %12404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12405 = call i32 @fileno(ptr noundef %12404) #10
  %12406 = call i32 @isatty(i32 noundef %12405) #10
  %12407 = icmp ne i32 %12406, 0
  br i1 %12407, label %12408, label %12425

12408:                                            ; preds = %12403
  %12409 = load i32, ptr %254, align 4, !tbaa !5
  %12410 = call ptr @__errno_location() #11
  store i32 %12409, ptr %12410, align 4, !tbaa !5
  %12411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12412 = load i32, ptr @test_count, align 4, !tbaa !5
  %12413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12414 = load i32, ptr %12413, align 4, !tbaa !5
  %12415 = call ptr @s2n_strerror(i32 noundef %12414, ptr noundef @.str.65)
  %12416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12417 = load i32, ptr %12416, align 4, !tbaa !5
  %12418 = call ptr @s2n_strerror_debug(i32 noundef %12417, ptr noundef @.str.65)
  %12419 = call ptr @__errno_location() #11
  %12420 = load i32, ptr %12419, align 4, !tbaa !5
  %12421 = call ptr @strerror(i32 noundef %12420) #10
  %12422 = call ptr @__errno_location() #11
  %12423 = load i32, ptr %12422, align 4, !tbaa !5
  %12424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12411, ptr noundef @.str.63, i32 noundef %12412, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 614, ptr noundef %12415, ptr noundef %12418, ptr noundef %12421, i32 noundef %12423) #10
  br label %12442

12425:                                            ; preds = %12403, %12396
  %12426 = load i32, ptr %254, align 4, !tbaa !5
  %12427 = call ptr @__errno_location() #11
  store i32 %12426, ptr %12427, align 4, !tbaa !5
  %12428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12429 = load i32, ptr @test_count, align 4, !tbaa !5
  %12430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12431 = load i32, ptr %12430, align 4, !tbaa !5
  %12432 = call ptr @s2n_strerror(i32 noundef %12431, ptr noundef @.str.65)
  %12433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12434 = load i32, ptr %12433, align 4, !tbaa !5
  %12435 = call ptr @s2n_strerror_debug(i32 noundef %12434, ptr noundef @.str.65)
  %12436 = call ptr @__errno_location() #11
  %12437 = load i32, ptr %12436, align 4, !tbaa !5
  %12438 = call ptr @strerror(i32 noundef %12437) #10
  %12439 = call ptr @__errno_location() #11
  %12440 = load i32, ptr %12439, align 4, !tbaa !5
  %12441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12428, ptr noundef @.str.66, i32 noundef %12429, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 614, ptr noundef %12432, ptr noundef %12435, ptr noundef %12438, i32 noundef %12440) #10
  br label %12442

12442:                                            ; preds = %12425, %12408
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #10
  br label %12443

12443:                                            ; preds = %12442
  br label %12444

12444:                                            ; preds = %12443
  call void @exit(i32 noundef 1) #12
  unreachable

12445:                                            ; No predecessors!
  br label %12446

12446:                                            ; preds = %12445
  br label %12447

12447:                                            ; preds = %12446, %12391, %12386
  br label %12448

12448:                                            ; preds = %12447
  br label %12449

12449:                                            ; preds = %12448
  br label %12450

12450:                                            ; preds = %12449
  %12451 = load i32, ptr @test_count, align 4, !tbaa !5
  %12452 = add nsw i32 %12451, 1
  store i32 %12452, ptr @test_count, align 4, !tbaa !5
  %12453 = load ptr, ptr %231, align 8, !tbaa !9
  %12454 = getelementptr inbounds %struct.s2n_connection, ptr %12453, i32 0, i32 52
  %12455 = getelementptr inbounds %struct.s2n_handshake, ptr %12454, i32 0, i32 6
  %12456 = load i32, ptr %12455, align 4, !tbaa !69
  %12457 = and i32 %12456, 16
  %12458 = icmp ne i32 %12457, 0
  br i1 %12458, label %12459, label %12466

12459:                                            ; preds = %12450
  %12460 = load ptr, ptr %232, align 8, !tbaa !9
  %12461 = getelementptr inbounds %struct.s2n_connection, ptr %12460, i32 0, i32 52
  %12462 = getelementptr inbounds %struct.s2n_handshake, ptr %12461, i32 0, i32 6
  %12463 = load i32, ptr %12462, align 4, !tbaa !69
  %12464 = and i32 %12463, 16
  %12465 = icmp ne i32 %12464, 0
  br i1 %12465, label %12519, label %12466

12466:                                            ; preds = %12459, %12450
  br label %12467

12467:                                            ; preds = %12466
  br label %12468

12468:                                            ; preds = %12467
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #10
  %12469 = call ptr @__errno_location() #11
  %12470 = load i32, ptr %12469, align 4, !tbaa !5
  store i32 %12470, ptr %255, align 4, !tbaa !5
  %12471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12472 = call i32 @s2n_print_stacktrace(ptr noundef %12471)
  %12473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12474 = trunc i8 %12473 to i1
  br i1 %12474, label %12475, label %12497

12475:                                            ; preds = %12468
  %12476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12477 = call i32 @fileno(ptr noundef %12476) #10
  %12478 = call i32 @isatty(i32 noundef %12477) #10
  %12479 = icmp ne i32 %12478, 0
  br i1 %12479, label %12480, label %12497

12480:                                            ; preds = %12475
  %12481 = load i32, ptr %255, align 4, !tbaa !5
  %12482 = call ptr @__errno_location() #11
  store i32 %12481, ptr %12482, align 4, !tbaa !5
  %12483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12484 = load i32, ptr @test_count, align 4, !tbaa !5
  %12485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  %12487 = call ptr @s2n_strerror(i32 noundef %12486, ptr noundef @.str.65)
  %12488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12489 = load i32, ptr %12488, align 4, !tbaa !5
  %12490 = call ptr @s2n_strerror_debug(i32 noundef %12489, ptr noundef @.str.65)
  %12491 = call ptr @__errno_location() #11
  %12492 = load i32, ptr %12491, align 4, !tbaa !5
  %12493 = call ptr @strerror(i32 noundef %12492) #10
  %12494 = call ptr @__errno_location() #11
  %12495 = load i32, ptr %12494, align 4, !tbaa !5
  %12496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12483, ptr noundef @.str.63, i32 noundef %12484, ptr noundef @.str.154, ptr noundef @.str.62, i32 noundef 615, ptr noundef %12487, ptr noundef %12490, ptr noundef %12493, i32 noundef %12495) #10
  br label %12514

12497:                                            ; preds = %12475, %12468
  %12498 = load i32, ptr %255, align 4, !tbaa !5
  %12499 = call ptr @__errno_location() #11
  store i32 %12498, ptr %12499, align 4, !tbaa !5
  %12500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12501 = load i32, ptr @test_count, align 4, !tbaa !5
  %12502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12503 = load i32, ptr %12502, align 4, !tbaa !5
  %12504 = call ptr @s2n_strerror(i32 noundef %12503, ptr noundef @.str.65)
  %12505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  %12507 = call ptr @s2n_strerror_debug(i32 noundef %12506, ptr noundef @.str.65)
  %12508 = call ptr @__errno_location() #11
  %12509 = load i32, ptr %12508, align 4, !tbaa !5
  %12510 = call ptr @strerror(i32 noundef %12509) #10
  %12511 = call ptr @__errno_location() #11
  %12512 = load i32, ptr %12511, align 4, !tbaa !5
  %12513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12500, ptr noundef @.str.66, i32 noundef %12501, ptr noundef @.str.154, ptr noundef @.str.62, i32 noundef 615, ptr noundef %12504, ptr noundef %12507, ptr noundef %12510, i32 noundef %12512) #10
  br label %12514

12514:                                            ; preds = %12497, %12480
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #10
  br label %12515

12515:                                            ; preds = %12514
  br label %12516

12516:                                            ; preds = %12515
  call void @exit(i32 noundef 1) #12
  unreachable

12517:                                            ; No predecessors!
  br label %12518

12518:                                            ; preds = %12517
  br label %12519

12519:                                            ; preds = %12518, %12459
  br label %12520

12520:                                            ; preds = %12519
  br label %12521

12521:                                            ; preds = %12520
  br label %12522

12522:                                            ; preds = %12521
  %12523 = load i32, ptr @test_count, align 4, !tbaa !5
  %12524 = add nsw i32 %12523, 1
  store i32 %12524, ptr @test_count, align 4, !tbaa !5
  %12525 = load ptr, ptr %232, align 8, !tbaa !9
  %12526 = call i32 @s2n_connection_free(ptr noundef %12525)
  %12527 = icmp eq i32 %12526, -1
  br i1 %12527, label %12528, label %12581

12528:                                            ; preds = %12522
  br label %12529

12529:                                            ; preds = %12528
  br label %12530

12530:                                            ; preds = %12529
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #10
  %12531 = call ptr @__errno_location() #11
  %12532 = load i32, ptr %12531, align 4, !tbaa !5
  store i32 %12532, ptr %256, align 4, !tbaa !5
  %12533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12534 = call i32 @s2n_print_stacktrace(ptr noundef %12533)
  %12535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12536 = trunc i8 %12535 to i1
  br i1 %12536, label %12537, label %12559

12537:                                            ; preds = %12530
  %12538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12539 = call i32 @fileno(ptr noundef %12538) #10
  %12540 = call i32 @isatty(i32 noundef %12539) #10
  %12541 = icmp ne i32 %12540, 0
  br i1 %12541, label %12542, label %12559

12542:                                            ; preds = %12537
  %12543 = load i32, ptr %256, align 4, !tbaa !5
  %12544 = call ptr @__errno_location() #11
  store i32 %12543, ptr %12544, align 4, !tbaa !5
  %12545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12546 = load i32, ptr @test_count, align 4, !tbaa !5
  %12547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12548 = load i32, ptr %12547, align 4, !tbaa !5
  %12549 = call ptr @s2n_strerror(i32 noundef %12548, ptr noundef @.str.65)
  %12550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12551 = load i32, ptr %12550, align 4, !tbaa !5
  %12552 = call ptr @s2n_strerror_debug(i32 noundef %12551, ptr noundef @.str.65)
  %12553 = call ptr @__errno_location() #11
  %12554 = load i32, ptr %12553, align 4, !tbaa !5
  %12555 = call ptr @strerror(i32 noundef %12554) #10
  %12556 = call ptr @__errno_location() #11
  %12557 = load i32, ptr %12556, align 4, !tbaa !5
  %12558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12545, ptr noundef @.str.63, i32 noundef %12546, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 617, ptr noundef %12549, ptr noundef %12552, ptr noundef %12555, i32 noundef %12557) #10
  br label %12576

12559:                                            ; preds = %12537, %12530
  %12560 = load i32, ptr %256, align 4, !tbaa !5
  %12561 = call ptr @__errno_location() #11
  store i32 %12560, ptr %12561, align 4, !tbaa !5
  %12562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12563 = load i32, ptr @test_count, align 4, !tbaa !5
  %12564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12565 = load i32, ptr %12564, align 4, !tbaa !5
  %12566 = call ptr @s2n_strerror(i32 noundef %12565, ptr noundef @.str.65)
  %12567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12568 = load i32, ptr %12567, align 4, !tbaa !5
  %12569 = call ptr @s2n_strerror_debug(i32 noundef %12568, ptr noundef @.str.65)
  %12570 = call ptr @__errno_location() #11
  %12571 = load i32, ptr %12570, align 4, !tbaa !5
  %12572 = call ptr @strerror(i32 noundef %12571) #10
  %12573 = call ptr @__errno_location() #11
  %12574 = load i32, ptr %12573, align 4, !tbaa !5
  %12575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12562, ptr noundef @.str.66, i32 noundef %12563, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 617, ptr noundef %12566, ptr noundef %12569, ptr noundef %12572, i32 noundef %12574) #10
  br label %12576

12576:                                            ; preds = %12559, %12542
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #10
  br label %12577

12577:                                            ; preds = %12576
  br label %12578

12578:                                            ; preds = %12577
  call void @exit(i32 noundef 1) #12
  unreachable

12579:                                            ; No predecessors!
  br label %12580

12580:                                            ; preds = %12579
  br label %12581

12581:                                            ; preds = %12580, %12522
  br label %12582

12582:                                            ; preds = %12581
  br label %12583

12583:                                            ; preds = %12582
  br label %12584

12584:                                            ; preds = %12583
  %12585 = load i32, ptr @test_count, align 4, !tbaa !5
  %12586 = add nsw i32 %12585, 1
  store i32 %12586, ptr @test_count, align 4, !tbaa !5
  %12587 = load ptr, ptr %231, align 8, !tbaa !9
  %12588 = call i32 @s2n_connection_free(ptr noundef %12587)
  %12589 = icmp eq i32 %12588, -1
  br i1 %12589, label %12590, label %12643

12590:                                            ; preds = %12584
  br label %12591

12591:                                            ; preds = %12590
  br label %12592

12592:                                            ; preds = %12591
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %12593 = call ptr @__errno_location() #11
  %12594 = load i32, ptr %12593, align 4, !tbaa !5
  store i32 %12594, ptr %257, align 4, !tbaa !5
  %12595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12596 = call i32 @s2n_print_stacktrace(ptr noundef %12595)
  %12597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12598 = trunc i8 %12597 to i1
  br i1 %12598, label %12599, label %12621

12599:                                            ; preds = %12592
  %12600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12601 = call i32 @fileno(ptr noundef %12600) #10
  %12602 = call i32 @isatty(i32 noundef %12601) #10
  %12603 = icmp ne i32 %12602, 0
  br i1 %12603, label %12604, label %12621

12604:                                            ; preds = %12599
  %12605 = load i32, ptr %257, align 4, !tbaa !5
  %12606 = call ptr @__errno_location() #11
  store i32 %12605, ptr %12606, align 4, !tbaa !5
  %12607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12608 = load i32, ptr @test_count, align 4, !tbaa !5
  %12609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12610 = load i32, ptr %12609, align 4, !tbaa !5
  %12611 = call ptr @s2n_strerror(i32 noundef %12610, ptr noundef @.str.65)
  %12612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12613 = load i32, ptr %12612, align 4, !tbaa !5
  %12614 = call ptr @s2n_strerror_debug(i32 noundef %12613, ptr noundef @.str.65)
  %12615 = call ptr @__errno_location() #11
  %12616 = load i32, ptr %12615, align 4, !tbaa !5
  %12617 = call ptr @strerror(i32 noundef %12616) #10
  %12618 = call ptr @__errno_location() #11
  %12619 = load i32, ptr %12618, align 4, !tbaa !5
  %12620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12607, ptr noundef @.str.63, i32 noundef %12608, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 618, ptr noundef %12611, ptr noundef %12614, ptr noundef %12617, i32 noundef %12619) #10
  br label %12638

12621:                                            ; preds = %12599, %12592
  %12622 = load i32, ptr %257, align 4, !tbaa !5
  %12623 = call ptr @__errno_location() #11
  store i32 %12622, ptr %12623, align 4, !tbaa !5
  %12624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12625 = load i32, ptr @test_count, align 4, !tbaa !5
  %12626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12627 = load i32, ptr %12626, align 4, !tbaa !5
  %12628 = call ptr @s2n_strerror(i32 noundef %12627, ptr noundef @.str.65)
  %12629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12630 = load i32, ptr %12629, align 4, !tbaa !5
  %12631 = call ptr @s2n_strerror_debug(i32 noundef %12630, ptr noundef @.str.65)
  %12632 = call ptr @__errno_location() #11
  %12633 = load i32, ptr %12632, align 4, !tbaa !5
  %12634 = call ptr @strerror(i32 noundef %12633) #10
  %12635 = call ptr @__errno_location() #11
  %12636 = load i32, ptr %12635, align 4, !tbaa !5
  %12637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12624, ptr noundef @.str.66, i32 noundef %12625, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 618, ptr noundef %12628, ptr noundef %12631, ptr noundef %12634, i32 noundef %12636) #10
  br label %12638

12638:                                            ; preds = %12621, %12604
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %12639

12639:                                            ; preds = %12638
  br label %12640

12640:                                            ; preds = %12639
  call void @exit(i32 noundef 1) #12
  unreachable

12641:                                            ; No predecessors!
  br label %12642

12642:                                            ; preds = %12641
  br label %12643

12643:                                            ; preds = %12642, %12584
  br label %12644

12644:                                            ; preds = %12643
  br label %12645

12645:                                            ; preds = %12644
  br label %12646

12646:                                            ; preds = %12645
  %12647 = load i32, ptr @test_count, align 4, !tbaa !5
  %12648 = add nsw i32 %12647, 1
  store i32 %12648, ptr @test_count, align 4, !tbaa !5
  %12649 = call i32 @s2n_io_pair_close(ptr noundef %237)
  %12650 = icmp eq i32 %12649, -1
  br i1 %12650, label %12651, label %12704

12651:                                            ; preds = %12646
  br label %12652

12652:                                            ; preds = %12651
  br label %12653

12653:                                            ; preds = %12652
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #10
  %12654 = call ptr @__errno_location() #11
  %12655 = load i32, ptr %12654, align 4, !tbaa !5
  store i32 %12655, ptr %258, align 4, !tbaa !5
  %12656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12657 = call i32 @s2n_print_stacktrace(ptr noundef %12656)
  %12658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12659 = trunc i8 %12658 to i1
  br i1 %12659, label %12660, label %12682

12660:                                            ; preds = %12653
  %12661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12662 = call i32 @fileno(ptr noundef %12661) #10
  %12663 = call i32 @isatty(i32 noundef %12662) #10
  %12664 = icmp ne i32 %12663, 0
  br i1 %12664, label %12665, label %12682

12665:                                            ; preds = %12660
  %12666 = load i32, ptr %258, align 4, !tbaa !5
  %12667 = call ptr @__errno_location() #11
  store i32 %12666, ptr %12667, align 4, !tbaa !5
  %12668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12669 = load i32, ptr @test_count, align 4, !tbaa !5
  %12670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12671 = load i32, ptr %12670, align 4, !tbaa !5
  %12672 = call ptr @s2n_strerror(i32 noundef %12671, ptr noundef @.str.65)
  %12673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12674 = load i32, ptr %12673, align 4, !tbaa !5
  %12675 = call ptr @s2n_strerror_debug(i32 noundef %12674, ptr noundef @.str.65)
  %12676 = call ptr @__errno_location() #11
  %12677 = load i32, ptr %12676, align 4, !tbaa !5
  %12678 = call ptr @strerror(i32 noundef %12677) #10
  %12679 = call ptr @__errno_location() #11
  %12680 = load i32, ptr %12679, align 4, !tbaa !5
  %12681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12668, ptr noundef @.str.63, i32 noundef %12669, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 619, ptr noundef %12672, ptr noundef %12675, ptr noundef %12678, i32 noundef %12680) #10
  br label %12699

12682:                                            ; preds = %12660, %12653
  %12683 = load i32, ptr %258, align 4, !tbaa !5
  %12684 = call ptr @__errno_location() #11
  store i32 %12683, ptr %12684, align 4, !tbaa !5
  %12685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12686 = load i32, ptr @test_count, align 4, !tbaa !5
  %12687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call ptr @s2n_strerror(i32 noundef %12688, ptr noundef @.str.65)
  %12690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12691 = load i32, ptr %12690, align 4, !tbaa !5
  %12692 = call ptr @s2n_strerror_debug(i32 noundef %12691, ptr noundef @.str.65)
  %12693 = call ptr @__errno_location() #11
  %12694 = load i32, ptr %12693, align 4, !tbaa !5
  %12695 = call ptr @strerror(i32 noundef %12694) #10
  %12696 = call ptr @__errno_location() #11
  %12697 = load i32, ptr %12696, align 4, !tbaa !5
  %12698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12685, ptr noundef @.str.66, i32 noundef %12686, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 619, ptr noundef %12689, ptr noundef %12692, ptr noundef %12695, i32 noundef %12697) #10
  br label %12699

12699:                                            ; preds = %12682, %12665
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #10
  br label %12700

12700:                                            ; preds = %12699
  br label %12701

12701:                                            ; preds = %12700
  call void @exit(i32 noundef 1) #12
  unreachable

12702:                                            ; No predecessors!
  br label %12703

12703:                                            ; preds = %12702
  br label %12704

12704:                                            ; preds = %12703, %12646
  br label %12705

12705:                                            ; preds = %12704
  br label %12706

12706:                                            ; preds = %12705
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %12707

12707:                                            ; preds = %12706
  %12708 = load i64, ptr %229, align 8, !tbaa !15
  %12709 = add i64 %12708, 1
  store i64 %12709, ptr %229, align 8, !tbaa !15
  br label %11286, !llvm.loop !70

12710:                                            ; preds = %11289
  call void @llvm.lifetime.start.p0(i64 8, ptr %259) #10
  %12711 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12711, ptr %259, align 8, !tbaa !9
  br label %12712

12712:                                            ; preds = %12710
  %12713 = load i32, ptr @test_count, align 4, !tbaa !5
  %12714 = add nsw i32 %12713, 1
  store i32 %12714, ptr @test_count, align 4, !tbaa !5
  %12715 = load ptr, ptr %259, align 8, !tbaa !9
  %12716 = icmp eq ptr %12715, null
  br i1 %12716, label %12717, label %12770

12717:                                            ; preds = %12712
  br label %12718

12718:                                            ; preds = %12717
  br label %12719

12719:                                            ; preds = %12718
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %12720 = call ptr @__errno_location() #11
  %12721 = load i32, ptr %12720, align 4, !tbaa !5
  store i32 %12721, ptr %260, align 4, !tbaa !5
  %12722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12723 = call i32 @s2n_print_stacktrace(ptr noundef %12722)
  %12724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12725 = trunc i8 %12724 to i1
  br i1 %12725, label %12726, label %12748

12726:                                            ; preds = %12719
  %12727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12728 = call i32 @fileno(ptr noundef %12727) #10
  %12729 = call i32 @isatty(i32 noundef %12728) #10
  %12730 = icmp ne i32 %12729, 0
  br i1 %12730, label %12731, label %12748

12731:                                            ; preds = %12726
  %12732 = load i32, ptr %260, align 4, !tbaa !5
  %12733 = call ptr @__errno_location() #11
  store i32 %12732, ptr %12733, align 4, !tbaa !5
  %12734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12735 = load i32, ptr @test_count, align 4, !tbaa !5
  %12736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12737 = load i32, ptr %12736, align 4, !tbaa !5
  %12738 = call ptr @s2n_strerror(i32 noundef %12737, ptr noundef @.str.65)
  %12739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12740 = load i32, ptr %12739, align 4, !tbaa !5
  %12741 = call ptr @s2n_strerror_debug(i32 noundef %12740, ptr noundef @.str.65)
  %12742 = call ptr @__errno_location() #11
  %12743 = load i32, ptr %12742, align 4, !tbaa !5
  %12744 = call ptr @strerror(i32 noundef %12743) #10
  %12745 = call ptr @__errno_location() #11
  %12746 = load i32, ptr %12745, align 4, !tbaa !5
  %12747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12734, ptr noundef @.str.63, i32 noundef %12735, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 629, ptr noundef %12738, ptr noundef %12741, ptr noundef %12744, i32 noundef %12746) #10
  br label %12765

12748:                                            ; preds = %12726, %12719
  %12749 = load i32, ptr %260, align 4, !tbaa !5
  %12750 = call ptr @__errno_location() #11
  store i32 %12749, ptr %12750, align 4, !tbaa !5
  %12751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12752 = load i32, ptr @test_count, align 4, !tbaa !5
  %12753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12754 = load i32, ptr %12753, align 4, !tbaa !5
  %12755 = call ptr @s2n_strerror(i32 noundef %12754, ptr noundef @.str.65)
  %12756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12757 = load i32, ptr %12756, align 4, !tbaa !5
  %12758 = call ptr @s2n_strerror_debug(i32 noundef %12757, ptr noundef @.str.65)
  %12759 = call ptr @__errno_location() #11
  %12760 = load i32, ptr %12759, align 4, !tbaa !5
  %12761 = call ptr @strerror(i32 noundef %12760) #10
  %12762 = call ptr @__errno_location() #11
  %12763 = load i32, ptr %12762, align 4, !tbaa !5
  %12764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12751, ptr noundef @.str.66, i32 noundef %12752, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 629, ptr noundef %12755, ptr noundef %12758, ptr noundef %12761, i32 noundef %12763) #10
  br label %12765

12765:                                            ; preds = %12748, %12731
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %12766

12766:                                            ; preds = %12765
  br label %12767

12767:                                            ; preds = %12766
  call void @exit(i32 noundef 1) #12
  unreachable

12768:                                            ; No predecessors!
  br label %12769

12769:                                            ; preds = %12768
  br label %12770

12770:                                            ; preds = %12769, %12712
  br label %12771

12771:                                            ; preds = %12770
  br label %12772

12772:                                            ; preds = %12771
  call void @llvm.lifetime.start.p0(i64 8, ptr %261) #10
  %12773 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12773, ptr %261, align 8, !tbaa !9
  br label %12774

12774:                                            ; preds = %12772
  %12775 = load i32, ptr @test_count, align 4, !tbaa !5
  %12776 = add nsw i32 %12775, 1
  store i32 %12776, ptr @test_count, align 4, !tbaa !5
  %12777 = load ptr, ptr %261, align 8, !tbaa !9
  %12778 = icmp eq ptr %12777, null
  br i1 %12778, label %12779, label %12832

12779:                                            ; preds = %12774
  br label %12780

12780:                                            ; preds = %12779
  br label %12781

12781:                                            ; preds = %12780
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %12782 = call ptr @__errno_location() #11
  %12783 = load i32, ptr %12782, align 4, !tbaa !5
  store i32 %12783, ptr %262, align 4, !tbaa !5
  %12784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12785 = call i32 @s2n_print_stacktrace(ptr noundef %12784)
  %12786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12787 = trunc i8 %12786 to i1
  br i1 %12787, label %12788, label %12810

12788:                                            ; preds = %12781
  %12789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12790 = call i32 @fileno(ptr noundef %12789) #10
  %12791 = call i32 @isatty(i32 noundef %12790) #10
  %12792 = icmp ne i32 %12791, 0
  br i1 %12792, label %12793, label %12810

12793:                                            ; preds = %12788
  %12794 = load i32, ptr %262, align 4, !tbaa !5
  %12795 = call ptr @__errno_location() #11
  store i32 %12794, ptr %12795, align 4, !tbaa !5
  %12796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12797 = load i32, ptr @test_count, align 4, !tbaa !5
  %12798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12799 = load i32, ptr %12798, align 4, !tbaa !5
  %12800 = call ptr @s2n_strerror(i32 noundef %12799, ptr noundef @.str.65)
  %12801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12802 = load i32, ptr %12801, align 4, !tbaa !5
  %12803 = call ptr @s2n_strerror_debug(i32 noundef %12802, ptr noundef @.str.65)
  %12804 = call ptr @__errno_location() #11
  %12805 = load i32, ptr %12804, align 4, !tbaa !5
  %12806 = call ptr @strerror(i32 noundef %12805) #10
  %12807 = call ptr @__errno_location() #11
  %12808 = load i32, ptr %12807, align 4, !tbaa !5
  %12809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12796, ptr noundef @.str.63, i32 noundef %12797, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 632, ptr noundef %12800, ptr noundef %12803, ptr noundef %12806, i32 noundef %12808) #10
  br label %12827

12810:                                            ; preds = %12788, %12781
  %12811 = load i32, ptr %262, align 4, !tbaa !5
  %12812 = call ptr @__errno_location() #11
  store i32 %12811, ptr %12812, align 4, !tbaa !5
  %12813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12814 = load i32, ptr @test_count, align 4, !tbaa !5
  %12815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12816 = load i32, ptr %12815, align 4, !tbaa !5
  %12817 = call ptr @s2n_strerror(i32 noundef %12816, ptr noundef @.str.65)
  %12818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12819 = load i32, ptr %12818, align 4, !tbaa !5
  %12820 = call ptr @s2n_strerror_debug(i32 noundef %12819, ptr noundef @.str.65)
  %12821 = call ptr @__errno_location() #11
  %12822 = load i32, ptr %12821, align 4, !tbaa !5
  %12823 = call ptr @strerror(i32 noundef %12822) #10
  %12824 = call ptr @__errno_location() #11
  %12825 = load i32, ptr %12824, align 4, !tbaa !5
  %12826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12813, ptr noundef @.str.66, i32 noundef %12814, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 632, ptr noundef %12817, ptr noundef %12820, ptr noundef %12823, i32 noundef %12825) #10
  br label %12827

12827:                                            ; preds = %12810, %12793
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %12828

12828:                                            ; preds = %12827
  br label %12829

12829:                                            ; preds = %12828
  call void @exit(i32 noundef 1) #12
  unreachable

12830:                                            ; No predecessors!
  br label %12831

12831:                                            ; preds = %12830
  br label %12832

12832:                                            ; preds = %12831, %12774
  br label %12833

12833:                                            ; preds = %12832
  br label %12834

12834:                                            ; preds = %12833
  br label %12835

12835:                                            ; preds = %12834
  %12836 = load i32, ptr @test_count, align 4, !tbaa !5
  %12837 = add nsw i32 %12836, 1
  store i32 %12837, ptr @test_count, align 4, !tbaa !5
  %12838 = load ptr, ptr %261, align 8, !tbaa !9
  %12839 = load ptr, ptr %20, align 8, !tbaa !9
  %12840 = call i32 @s2n_connection_set_config(ptr noundef %12838, ptr noundef %12839)
  %12841 = icmp eq i32 %12840, -1
  br i1 %12841, label %12842, label %12895

12842:                                            ; preds = %12835
  br label %12843

12843:                                            ; preds = %12842
  br label %12844

12844:                                            ; preds = %12843
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #10
  %12845 = call ptr @__errno_location() #11
  %12846 = load i32, ptr %12845, align 4, !tbaa !5
  store i32 %12846, ptr %263, align 4, !tbaa !5
  %12847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12848 = call i32 @s2n_print_stacktrace(ptr noundef %12847)
  %12849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12850 = trunc i8 %12849 to i1
  br i1 %12850, label %12851, label %12873

12851:                                            ; preds = %12844
  %12852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12853 = call i32 @fileno(ptr noundef %12852) #10
  %12854 = call i32 @isatty(i32 noundef %12853) #10
  %12855 = icmp ne i32 %12854, 0
  br i1 %12855, label %12856, label %12873

12856:                                            ; preds = %12851
  %12857 = load i32, ptr %263, align 4, !tbaa !5
  %12858 = call ptr @__errno_location() #11
  store i32 %12857, ptr %12858, align 4, !tbaa !5
  %12859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12860 = load i32, ptr @test_count, align 4, !tbaa !5
  %12861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12862 = load i32, ptr %12861, align 4, !tbaa !5
  %12863 = call ptr @s2n_strerror(i32 noundef %12862, ptr noundef @.str.65)
  %12864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12865 = load i32, ptr %12864, align 4, !tbaa !5
  %12866 = call ptr @s2n_strerror_debug(i32 noundef %12865, ptr noundef @.str.65)
  %12867 = call ptr @__errno_location() #11
  %12868 = load i32, ptr %12867, align 4, !tbaa !5
  %12869 = call ptr @strerror(i32 noundef %12868) #10
  %12870 = call ptr @__errno_location() #11
  %12871 = load i32, ptr %12870, align 4, !tbaa !5
  %12872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12859, ptr noundef @.str.63, i32 noundef %12860, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 633, ptr noundef %12863, ptr noundef %12866, ptr noundef %12869, i32 noundef %12871) #10
  br label %12890

12873:                                            ; preds = %12851, %12844
  %12874 = load i32, ptr %263, align 4, !tbaa !5
  %12875 = call ptr @__errno_location() #11
  store i32 %12874, ptr %12875, align 4, !tbaa !5
  %12876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12877 = load i32, ptr @test_count, align 4, !tbaa !5
  %12878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12879 = load i32, ptr %12878, align 4, !tbaa !5
  %12880 = call ptr @s2n_strerror(i32 noundef %12879, ptr noundef @.str.65)
  %12881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12882 = load i32, ptr %12881, align 4, !tbaa !5
  %12883 = call ptr @s2n_strerror_debug(i32 noundef %12882, ptr noundef @.str.65)
  %12884 = call ptr @__errno_location() #11
  %12885 = load i32, ptr %12884, align 4, !tbaa !5
  %12886 = call ptr @strerror(i32 noundef %12885) #10
  %12887 = call ptr @__errno_location() #11
  %12888 = load i32, ptr %12887, align 4, !tbaa !5
  %12889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12876, ptr noundef @.str.66, i32 noundef %12877, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 633, ptr noundef %12880, ptr noundef %12883, ptr noundef %12886, i32 noundef %12888) #10
  br label %12890

12890:                                            ; preds = %12873, %12856
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #10
  br label %12891

12891:                                            ; preds = %12890
  br label %12892

12892:                                            ; preds = %12891
  call void @exit(i32 noundef 1) #12
  unreachable

12893:                                            ; No predecessors!
  br label %12894

12894:                                            ; preds = %12893
  br label %12895

12895:                                            ; preds = %12894, %12835
  br label %12896

12896:                                            ; preds = %12895
  br label %12897

12897:                                            ; preds = %12896
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #10
  call void @llvm.memset.p0.i64(ptr align 4 %264, i8 0, i64 8, i1 false)
  br label %12898

12898:                                            ; preds = %12897
  %12899 = load i32, ptr @test_count, align 4, !tbaa !5
  %12900 = add nsw i32 %12899, 1
  store i32 %12900, ptr @test_count, align 4, !tbaa !5
  %12901 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %264)
  %12902 = icmp eq i32 %12901, -1
  br i1 %12902, label %12903, label %12956

12903:                                            ; preds = %12898
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %12906 = call ptr @__errno_location() #11
  %12907 = load i32, ptr %12906, align 4, !tbaa !5
  store i32 %12907, ptr %265, align 4, !tbaa !5
  %12908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12909 = call i32 @s2n_print_stacktrace(ptr noundef %12908)
  %12910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12911 = trunc i8 %12910 to i1
  br i1 %12911, label %12912, label %12934

12912:                                            ; preds = %12905
  %12913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12914 = call i32 @fileno(ptr noundef %12913) #10
  %12915 = call i32 @isatty(i32 noundef %12914) #10
  %12916 = icmp ne i32 %12915, 0
  br i1 %12916, label %12917, label %12934

12917:                                            ; preds = %12912
  %12918 = load i32, ptr %265, align 4, !tbaa !5
  %12919 = call ptr @__errno_location() #11
  store i32 %12918, ptr %12919, align 4, !tbaa !5
  %12920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12921 = load i32, ptr @test_count, align 4, !tbaa !5
  %12922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12923 = load i32, ptr %12922, align 4, !tbaa !5
  %12924 = call ptr @s2n_strerror(i32 noundef %12923, ptr noundef @.str.65)
  %12925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12926 = load i32, ptr %12925, align 4, !tbaa !5
  %12927 = call ptr @s2n_strerror_debug(i32 noundef %12926, ptr noundef @.str.65)
  %12928 = call ptr @__errno_location() #11
  %12929 = load i32, ptr %12928, align 4, !tbaa !5
  %12930 = call ptr @strerror(i32 noundef %12929) #10
  %12931 = call ptr @__errno_location() #11
  %12932 = load i32, ptr %12931, align 4, !tbaa !5
  %12933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12920, ptr noundef @.str.63, i32 noundef %12921, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 637, ptr noundef %12924, ptr noundef %12927, ptr noundef %12930, i32 noundef %12932) #10
  br label %12951

12934:                                            ; preds = %12912, %12905
  %12935 = load i32, ptr %265, align 4, !tbaa !5
  %12936 = call ptr @__errno_location() #11
  store i32 %12935, ptr %12936, align 4, !tbaa !5
  %12937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12938 = load i32, ptr @test_count, align 4, !tbaa !5
  %12939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call ptr @s2n_strerror(i32 noundef %12940, ptr noundef @.str.65)
  %12942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call ptr @s2n_strerror_debug(i32 noundef %12943, ptr noundef @.str.65)
  %12945 = call ptr @__errno_location() #11
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call ptr @strerror(i32 noundef %12946) #10
  %12948 = call ptr @__errno_location() #11
  %12949 = load i32, ptr %12948, align 4, !tbaa !5
  %12950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12937, ptr noundef @.str.66, i32 noundef %12938, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 637, ptr noundef %12941, ptr noundef %12944, ptr noundef %12947, i32 noundef %12949) #10
  br label %12951

12951:                                            ; preds = %12934, %12917
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %12952

12952:                                            ; preds = %12951
  br label %12953

12953:                                            ; preds = %12952
  call void @exit(i32 noundef 1) #12
  unreachable

12954:                                            ; No predecessors!
  br label %12955

12955:                                            ; preds = %12954
  br label %12956

12956:                                            ; preds = %12955, %12898
  br label %12957

12957:                                            ; preds = %12956
  br label %12958

12958:                                            ; preds = %12957
  br label %12959

12959:                                            ; preds = %12958
  %12960 = load i32, ptr @test_count, align 4, !tbaa !5
  %12961 = add nsw i32 %12960, 1
  store i32 %12961, ptr @test_count, align 4, !tbaa !5
  %12962 = load ptr, ptr %259, align 8, !tbaa !9
  %12963 = load ptr, ptr %261, align 8, !tbaa !9
  %12964 = call i32 @s2n_connections_set_io_pair(ptr noundef %12962, ptr noundef %12963, ptr noundef %264)
  %12965 = icmp eq i32 %12964, -1
  br i1 %12965, label %12966, label %13019

12966:                                            ; preds = %12959
  br label %12967

12967:                                            ; preds = %12966
  br label %12968

12968:                                            ; preds = %12967
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #10
  %12969 = call ptr @__errno_location() #11
  %12970 = load i32, ptr %12969, align 4, !tbaa !5
  store i32 %12970, ptr %266, align 4, !tbaa !5
  %12971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12972 = call i32 @s2n_print_stacktrace(ptr noundef %12971)
  %12973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12974 = trunc i8 %12973 to i1
  br i1 %12974, label %12975, label %12997

12975:                                            ; preds = %12968
  %12976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12977 = call i32 @fileno(ptr noundef %12976) #10
  %12978 = call i32 @isatty(i32 noundef %12977) #10
  %12979 = icmp ne i32 %12978, 0
  br i1 %12979, label %12980, label %12997

12980:                                            ; preds = %12975
  %12981 = load i32, ptr %266, align 4, !tbaa !5
  %12982 = call ptr @__errno_location() #11
  store i32 %12981, ptr %12982, align 4, !tbaa !5
  %12983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12984 = load i32, ptr @test_count, align 4, !tbaa !5
  %12985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12986 = load i32, ptr %12985, align 4, !tbaa !5
  %12987 = call ptr @s2n_strerror(i32 noundef %12986, ptr noundef @.str.65)
  %12988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12989 = load i32, ptr %12988, align 4, !tbaa !5
  %12990 = call ptr @s2n_strerror_debug(i32 noundef %12989, ptr noundef @.str.65)
  %12991 = call ptr @__errno_location() #11
  %12992 = load i32, ptr %12991, align 4, !tbaa !5
  %12993 = call ptr @strerror(i32 noundef %12992) #10
  %12994 = call ptr @__errno_location() #11
  %12995 = load i32, ptr %12994, align 4, !tbaa !5
  %12996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12983, ptr noundef @.str.63, i32 noundef %12984, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 638, ptr noundef %12987, ptr noundef %12990, ptr noundef %12993, i32 noundef %12995) #10
  br label %13014

12997:                                            ; preds = %12975, %12968
  %12998 = load i32, ptr %266, align 4, !tbaa !5
  %12999 = call ptr @__errno_location() #11
  store i32 %12998, ptr %12999, align 4, !tbaa !5
  %13000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13001 = load i32, ptr @test_count, align 4, !tbaa !5
  %13002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13003 = load i32, ptr %13002, align 4, !tbaa !5
  %13004 = call ptr @s2n_strerror(i32 noundef %13003, ptr noundef @.str.65)
  %13005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call ptr @s2n_strerror_debug(i32 noundef %13006, ptr noundef @.str.65)
  %13008 = call ptr @__errno_location() #11
  %13009 = load i32, ptr %13008, align 4, !tbaa !5
  %13010 = call ptr @strerror(i32 noundef %13009) #10
  %13011 = call ptr @__errno_location() #11
  %13012 = load i32, ptr %13011, align 4, !tbaa !5
  %13013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13000, ptr noundef @.str.66, i32 noundef %13001, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 638, ptr noundef %13004, ptr noundef %13007, ptr noundef %13010, i32 noundef %13012) #10
  br label %13014

13014:                                            ; preds = %12997, %12980
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #10
  br label %13015

13015:                                            ; preds = %13014
  br label %13016

13016:                                            ; preds = %13015
  call void @exit(i32 noundef 1) #12
  unreachable

13017:                                            ; No predecessors!
  br label %13018

13018:                                            ; preds = %13017
  br label %13019

13019:                                            ; preds = %13018, %12959
  br label %13020

13020:                                            ; preds = %13019
  br label %13021

13021:                                            ; preds = %13020
  call void @llvm.lifetime.start.p0(i64 40, ptr %267) #10
  call void @llvm.memset.p0.i64(ptr align 8 %267, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %268) #10
  call void @llvm.memset.p0.i64(ptr align 8 %268, i8 0, i64 40, i1 false)
  br label %13022

13022:                                            ; preds = %13021
  %13023 = load i32, ptr @test_count, align 4, !tbaa !5
  %13024 = add nsw i32 %13023, 1
  store i32 %13024, ptr @test_count, align 4, !tbaa !5
  %13025 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %267, i32 noundef 0)
  %13026 = icmp eq i32 %13025, -1
  br i1 %13026, label %13027, label %13080

13027:                                            ; preds = %13022
  br label %13028

13028:                                            ; preds = %13027
  br label %13029

13029:                                            ; preds = %13028
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #10
  %13030 = call ptr @__errno_location() #11
  %13031 = load i32, ptr %13030, align 4, !tbaa !5
  store i32 %13031, ptr %269, align 4, !tbaa !5
  %13032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13033 = call i32 @s2n_print_stacktrace(ptr noundef %13032)
  %13034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13035 = trunc i8 %13034 to i1
  br i1 %13035, label %13036, label %13058

13036:                                            ; preds = %13029
  %13037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13038 = call i32 @fileno(ptr noundef %13037) #10
  %13039 = call i32 @isatty(i32 noundef %13038) #10
  %13040 = icmp ne i32 %13039, 0
  br i1 %13040, label %13041, label %13058

13041:                                            ; preds = %13036
  %13042 = load i32, ptr %269, align 4, !tbaa !5
  %13043 = call ptr @__errno_location() #11
  store i32 %13042, ptr %13043, align 4, !tbaa !5
  %13044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13045 = load i32, ptr @test_count, align 4, !tbaa !5
  %13046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13047 = load i32, ptr %13046, align 4, !tbaa !5
  %13048 = call ptr @s2n_strerror(i32 noundef %13047, ptr noundef @.str.65)
  %13049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13050 = load i32, ptr %13049, align 4, !tbaa !5
  %13051 = call ptr @s2n_strerror_debug(i32 noundef %13050, ptr noundef @.str.65)
  %13052 = call ptr @__errno_location() #11
  %13053 = load i32, ptr %13052, align 4, !tbaa !5
  %13054 = call ptr @strerror(i32 noundef %13053) #10
  %13055 = call ptr @__errno_location() #11
  %13056 = load i32, ptr %13055, align 4, !tbaa !5
  %13057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13044, ptr noundef @.str.63, i32 noundef %13045, ptr noundef @.str.155, ptr noundef @.str.62, i32 noundef 642, ptr noundef %13048, ptr noundef %13051, ptr noundef %13054, i32 noundef %13056) #10
  br label %13075

13058:                                            ; preds = %13036, %13029
  %13059 = load i32, ptr %269, align 4, !tbaa !5
  %13060 = call ptr @__errno_location() #11
  store i32 %13059, ptr %13060, align 4, !tbaa !5
  %13061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13062 = load i32, ptr @test_count, align 4, !tbaa !5
  %13063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13064 = load i32, ptr %13063, align 4, !tbaa !5
  %13065 = call ptr @s2n_strerror(i32 noundef %13064, ptr noundef @.str.65)
  %13066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13067 = load i32, ptr %13066, align 4, !tbaa !5
  %13068 = call ptr @s2n_strerror_debug(i32 noundef %13067, ptr noundef @.str.65)
  %13069 = call ptr @__errno_location() #11
  %13070 = load i32, ptr %13069, align 4, !tbaa !5
  %13071 = call ptr @strerror(i32 noundef %13070) #10
  %13072 = call ptr @__errno_location() #11
  %13073 = load i32, ptr %13072, align 4, !tbaa !5
  %13074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13061, ptr noundef @.str.66, i32 noundef %13062, ptr noundef @.str.155, ptr noundef @.str.62, i32 noundef 642, ptr noundef %13065, ptr noundef %13068, ptr noundef %13071, i32 noundef %13073) #10
  br label %13075

13075:                                            ; preds = %13058, %13041
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #10
  br label %13076

13076:                                            ; preds = %13075
  br label %13077

13077:                                            ; preds = %13076
  call void @exit(i32 noundef 1) #12
  unreachable

13078:                                            ; No predecessors!
  br label %13079

13079:                                            ; preds = %13078
  br label %13080

13080:                                            ; preds = %13079, %13022
  br label %13081

13081:                                            ; preds = %13080
  br label %13082

13082:                                            ; preds = %13081
  br label %13083

13083:                                            ; preds = %13082
  %13084 = load i32, ptr @test_count, align 4, !tbaa !5
  %13085 = add nsw i32 %13084, 1
  store i32 %13085, ptr @test_count, align 4, !tbaa !5
  %13086 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %268, i32 noundef 0)
  %13087 = icmp eq i32 %13086, -1
  br i1 %13087, label %13088, label %13141

13088:                                            ; preds = %13083
  br label %13089

13089:                                            ; preds = %13088
  br label %13090

13090:                                            ; preds = %13089
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %13091 = call ptr @__errno_location() #11
  %13092 = load i32, ptr %13091, align 4, !tbaa !5
  store i32 %13092, ptr %270, align 4, !tbaa !5
  %13093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13094 = call i32 @s2n_print_stacktrace(ptr noundef %13093)
  %13095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13096 = trunc i8 %13095 to i1
  br i1 %13096, label %13097, label %13119

13097:                                            ; preds = %13090
  %13098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13099 = call i32 @fileno(ptr noundef %13098) #10
  %13100 = call i32 @isatty(i32 noundef %13099) #10
  %13101 = icmp ne i32 %13100, 0
  br i1 %13101, label %13102, label %13119

13102:                                            ; preds = %13097
  %13103 = load i32, ptr %270, align 4, !tbaa !5
  %13104 = call ptr @__errno_location() #11
  store i32 %13103, ptr %13104, align 4, !tbaa !5
  %13105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13106 = load i32, ptr @test_count, align 4, !tbaa !5
  %13107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13108 = load i32, ptr %13107, align 4, !tbaa !5
  %13109 = call ptr @s2n_strerror(i32 noundef %13108, ptr noundef @.str.65)
  %13110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13111 = load i32, ptr %13110, align 4, !tbaa !5
  %13112 = call ptr @s2n_strerror_debug(i32 noundef %13111, ptr noundef @.str.65)
  %13113 = call ptr @__errno_location() #11
  %13114 = load i32, ptr %13113, align 4, !tbaa !5
  %13115 = call ptr @strerror(i32 noundef %13114) #10
  %13116 = call ptr @__errno_location() #11
  %13117 = load i32, ptr %13116, align 4, !tbaa !5
  %13118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13105, ptr noundef @.str.63, i32 noundef %13106, ptr noundef @.str.156, ptr noundef @.str.62, i32 noundef 643, ptr noundef %13109, ptr noundef %13112, ptr noundef %13115, i32 noundef %13117) #10
  br label %13136

13119:                                            ; preds = %13097, %13090
  %13120 = load i32, ptr %270, align 4, !tbaa !5
  %13121 = call ptr @__errno_location() #11
  store i32 %13120, ptr %13121, align 4, !tbaa !5
  %13122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13123 = load i32, ptr @test_count, align 4, !tbaa !5
  %13124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13125 = load i32, ptr %13124, align 4, !tbaa !5
  %13126 = call ptr @s2n_strerror(i32 noundef %13125, ptr noundef @.str.65)
  %13127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13128 = load i32, ptr %13127, align 4, !tbaa !5
  %13129 = call ptr @s2n_strerror_debug(i32 noundef %13128, ptr noundef @.str.65)
  %13130 = call ptr @__errno_location() #11
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  %13132 = call ptr @strerror(i32 noundef %13131) #10
  %13133 = call ptr @__errno_location() #11
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13122, ptr noundef @.str.66, i32 noundef %13123, ptr noundef @.str.156, ptr noundef @.str.62, i32 noundef 643, ptr noundef %13126, ptr noundef %13129, ptr noundef %13132, i32 noundef %13134) #10
  br label %13136

13136:                                            ; preds = %13119, %13102
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %13137

13137:                                            ; preds = %13136
  br label %13138

13138:                                            ; preds = %13137
  call void @exit(i32 noundef 1) #12
  unreachable

13139:                                            ; No predecessors!
  br label %13140

13140:                                            ; preds = %13139
  br label %13141

13141:                                            ; preds = %13140, %13083
  br label %13142

13142:                                            ; preds = %13141
  br label %13143

13143:                                            ; preds = %13142
  br label %13144

13144:                                            ; preds = %13143
  %13145 = load i32, ptr @test_count, align 4, !tbaa !5
  %13146 = add nsw i32 %13145, 1
  store i32 %13146, ptr @test_count, align 4, !tbaa !5
  %13147 = load ptr, ptr %259, align 8, !tbaa !9
  %13148 = load ptr, ptr %40, align 8, !tbaa !9
  %13149 = call i32 @s2n_connection_set_config(ptr noundef %13147, ptr noundef %13148)
  %13150 = icmp eq i32 %13149, -1
  br i1 %13150, label %13151, label %13204

13151:                                            ; preds = %13144
  br label %13152

13152:                                            ; preds = %13151
  br label %13153

13153:                                            ; preds = %13152
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %13154 = call ptr @__errno_location() #11
  %13155 = load i32, ptr %13154, align 4, !tbaa !5
  store i32 %13155, ptr %271, align 4, !tbaa !5
  %13156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13157 = call i32 @s2n_print_stacktrace(ptr noundef %13156)
  %13158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13159 = trunc i8 %13158 to i1
  br i1 %13159, label %13160, label %13182

13160:                                            ; preds = %13153
  %13161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13162 = call i32 @fileno(ptr noundef %13161) #10
  %13163 = call i32 @isatty(i32 noundef %13162) #10
  %13164 = icmp ne i32 %13163, 0
  br i1 %13164, label %13165, label %13182

13165:                                            ; preds = %13160
  %13166 = load i32, ptr %271, align 4, !tbaa !5
  %13167 = call ptr @__errno_location() #11
  store i32 %13166, ptr %13167, align 4, !tbaa !5
  %13168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13169 = load i32, ptr @test_count, align 4, !tbaa !5
  %13170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13171 = load i32, ptr %13170, align 4, !tbaa !5
  %13172 = call ptr @s2n_strerror(i32 noundef %13171, ptr noundef @.str.65)
  %13173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13174 = load i32, ptr %13173, align 4, !tbaa !5
  %13175 = call ptr @s2n_strerror_debug(i32 noundef %13174, ptr noundef @.str.65)
  %13176 = call ptr @__errno_location() #11
  %13177 = load i32, ptr %13176, align 4, !tbaa !5
  %13178 = call ptr @strerror(i32 noundef %13177) #10
  %13179 = call ptr @__errno_location() #11
  %13180 = load i32, ptr %13179, align 4, !tbaa !5
  %13181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13168, ptr noundef @.str.63, i32 noundef %13169, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 646, ptr noundef %13172, ptr noundef %13175, ptr noundef %13178, i32 noundef %13180) #10
  br label %13199

13182:                                            ; preds = %13160, %13153
  %13183 = load i32, ptr %271, align 4, !tbaa !5
  %13184 = call ptr @__errno_location() #11
  store i32 %13183, ptr %13184, align 4, !tbaa !5
  %13185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13186 = load i32, ptr @test_count, align 4, !tbaa !5
  %13187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13188 = load i32, ptr %13187, align 4, !tbaa !5
  %13189 = call ptr @s2n_strerror(i32 noundef %13188, ptr noundef @.str.65)
  %13190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13191 = load i32, ptr %13190, align 4, !tbaa !5
  %13192 = call ptr @s2n_strerror_debug(i32 noundef %13191, ptr noundef @.str.65)
  %13193 = call ptr @__errno_location() #11
  %13194 = load i32, ptr %13193, align 4, !tbaa !5
  %13195 = call ptr @strerror(i32 noundef %13194) #10
  %13196 = call ptr @__errno_location() #11
  %13197 = load i32, ptr %13196, align 4, !tbaa !5
  %13198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13185, ptr noundef @.str.66, i32 noundef %13186, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 646, ptr noundef %13189, ptr noundef %13192, ptr noundef %13195, i32 noundef %13197) #10
  br label %13199

13199:                                            ; preds = %13182, %13165
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  br label %13200

13200:                                            ; preds = %13199
  br label %13201

13201:                                            ; preds = %13200
  call void @exit(i32 noundef 1) #12
  unreachable

13202:                                            ; No predecessors!
  br label %13203

13203:                                            ; preds = %13202
  br label %13204

13204:                                            ; preds = %13203, %13144
  br label %13205

13205:                                            ; preds = %13204
  br label %13206

13206:                                            ; preds = %13205
  br label %13207

13207:                                            ; preds = %13206
  %13208 = load i32, ptr @test_count, align 4, !tbaa !5
  %13209 = add nsw i32 %13208, 1
  store i32 %13209, ptr @test_count, align 4, !tbaa !5
  %13210 = load ptr, ptr %261, align 8, !tbaa !9
  %13211 = load ptr, ptr %259, align 8, !tbaa !9
  %13212 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13210, ptr noundef %13211)
  %13213 = icmp eq i32 %13212, -1
  br i1 %13213, label %13214, label %13267

13214:                                            ; preds = %13207
  br label %13215

13215:                                            ; preds = %13214
  br label %13216

13216:                                            ; preds = %13215
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #10
  %13217 = call ptr @__errno_location() #11
  %13218 = load i32, ptr %13217, align 4, !tbaa !5
  store i32 %13218, ptr %272, align 4, !tbaa !5
  %13219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13220 = call i32 @s2n_print_stacktrace(ptr noundef %13219)
  %13221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13222 = trunc i8 %13221 to i1
  br i1 %13222, label %13223, label %13245

13223:                                            ; preds = %13216
  %13224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13225 = call i32 @fileno(ptr noundef %13224) #10
  %13226 = call i32 @isatty(i32 noundef %13225) #10
  %13227 = icmp ne i32 %13226, 0
  br i1 %13227, label %13228, label %13245

13228:                                            ; preds = %13223
  %13229 = load i32, ptr %272, align 4, !tbaa !5
  %13230 = call ptr @__errno_location() #11
  store i32 %13229, ptr %13230, align 4, !tbaa !5
  %13231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13232 = load i32, ptr @test_count, align 4, !tbaa !5
  %13233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13234 = load i32, ptr %13233, align 4, !tbaa !5
  %13235 = call ptr @s2n_strerror(i32 noundef %13234, ptr noundef @.str.65)
  %13236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13237 = load i32, ptr %13236, align 4, !tbaa !5
  %13238 = call ptr @s2n_strerror_debug(i32 noundef %13237, ptr noundef @.str.65)
  %13239 = call ptr @__errno_location() #11
  %13240 = load i32, ptr %13239, align 4, !tbaa !5
  %13241 = call ptr @strerror(i32 noundef %13240) #10
  %13242 = call ptr @__errno_location() #11
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  %13244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13231, ptr noundef @.str.63, i32 noundef %13232, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 647, ptr noundef %13235, ptr noundef %13238, ptr noundef %13241, i32 noundef %13243) #10
  br label %13262

13245:                                            ; preds = %13223, %13216
  %13246 = load i32, ptr %272, align 4, !tbaa !5
  %13247 = call ptr @__errno_location() #11
  store i32 %13246, ptr %13247, align 4, !tbaa !5
  %13248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13249 = load i32, ptr @test_count, align 4, !tbaa !5
  %13250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13251 = load i32, ptr %13250, align 4, !tbaa !5
  %13252 = call ptr @s2n_strerror(i32 noundef %13251, ptr noundef @.str.65)
  %13253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13254 = load i32, ptr %13253, align 4, !tbaa !5
  %13255 = call ptr @s2n_strerror_debug(i32 noundef %13254, ptr noundef @.str.65)
  %13256 = call ptr @__errno_location() #11
  %13257 = load i32, ptr %13256, align 4, !tbaa !5
  %13258 = call ptr @strerror(i32 noundef %13257) #10
  %13259 = call ptr @__errno_location() #11
  %13260 = load i32, ptr %13259, align 4, !tbaa !5
  %13261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13248, ptr noundef @.str.66, i32 noundef %13249, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 647, ptr noundef %13252, ptr noundef %13255, ptr noundef %13258, i32 noundef %13260) #10
  br label %13262

13262:                                            ; preds = %13245, %13228
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #10
  br label %13263

13263:                                            ; preds = %13262
  br label %13264

13264:                                            ; preds = %13263
  call void @exit(i32 noundef 1) #12
  unreachable

13265:                                            ; No predecessors!
  br label %13266

13266:                                            ; preds = %13265
  br label %13267

13267:                                            ; preds = %13266, %13207
  br label %13268

13268:                                            ; preds = %13267
  br label %13269

13269:                                            ; preds = %13268
  br label %13270

13270:                                            ; preds = %13269
  %13271 = load i32, ptr @test_count, align 4, !tbaa !5
  %13272 = add nsw i32 %13271, 1
  store i32 %13272, ptr @test_count, align 4, !tbaa !5
  %13273 = load ptr, ptr %259, align 8, !tbaa !9
  %13274 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %13273, i32 noundef 2)
  br i1 %13274, label %13275, label %13278

13275:                                            ; preds = %13270
  %13276 = load ptr, ptr %261, align 8, !tbaa !9
  %13277 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %13276, i32 noundef 2)
  br i1 %13277, label %13331, label %13278

13278:                                            ; preds = %13275, %13270
  br label %13279

13279:                                            ; preds = %13278
  br label %13280

13280:                                            ; preds = %13279
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %13281 = call ptr @__errno_location() #11
  %13282 = load i32, ptr %13281, align 4, !tbaa !5
  store i32 %13282, ptr %273, align 4, !tbaa !5
  %13283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13284 = call i32 @s2n_print_stacktrace(ptr noundef %13283)
  %13285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13286 = trunc i8 %13285 to i1
  br i1 %13286, label %13287, label %13309

13287:                                            ; preds = %13280
  %13288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13289 = call i32 @fileno(ptr noundef %13288) #10
  %13290 = call i32 @isatty(i32 noundef %13289) #10
  %13291 = icmp ne i32 %13290, 0
  br i1 %13291, label %13292, label %13309

13292:                                            ; preds = %13287
  %13293 = load i32, ptr %273, align 4, !tbaa !5
  %13294 = call ptr @__errno_location() #11
  store i32 %13293, ptr %13294, align 4, !tbaa !5
  %13295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13296 = load i32, ptr @test_count, align 4, !tbaa !5
  %13297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13298 = load i32, ptr %13297, align 4, !tbaa !5
  %13299 = call ptr @s2n_strerror(i32 noundef %13298, ptr noundef @.str.65)
  %13300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13301 = load i32, ptr %13300, align 4, !tbaa !5
  %13302 = call ptr @s2n_strerror_debug(i32 noundef %13301, ptr noundef @.str.65)
  %13303 = call ptr @__errno_location() #11
  %13304 = load i32, ptr %13303, align 4, !tbaa !5
  %13305 = call ptr @strerror(i32 noundef %13304) #10
  %13306 = call ptr @__errno_location() #11
  %13307 = load i32, ptr %13306, align 4, !tbaa !5
  %13308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13295, ptr noundef @.str.63, i32 noundef %13296, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 648, ptr noundef %13299, ptr noundef %13302, ptr noundef %13305, i32 noundef %13307) #10
  br label %13326

13309:                                            ; preds = %13287, %13280
  %13310 = load i32, ptr %273, align 4, !tbaa !5
  %13311 = call ptr @__errno_location() #11
  store i32 %13310, ptr %13311, align 4, !tbaa !5
  %13312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13313 = load i32, ptr @test_count, align 4, !tbaa !5
  %13314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13315 = load i32, ptr %13314, align 4, !tbaa !5
  %13316 = call ptr @s2n_strerror(i32 noundef %13315, ptr noundef @.str.65)
  %13317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13318 = load i32, ptr %13317, align 4, !tbaa !5
  %13319 = call ptr @s2n_strerror_debug(i32 noundef %13318, ptr noundef @.str.65)
  %13320 = call ptr @__errno_location() #11
  %13321 = load i32, ptr %13320, align 4, !tbaa !5
  %13322 = call ptr @strerror(i32 noundef %13321) #10
  %13323 = call ptr @__errno_location() #11
  %13324 = load i32, ptr %13323, align 4, !tbaa !5
  %13325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13312, ptr noundef @.str.66, i32 noundef %13313, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 648, ptr noundef %13316, ptr noundef %13319, ptr noundef %13322, i32 noundef %13324) #10
  br label %13326

13326:                                            ; preds = %13309, %13292
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %13327

13327:                                            ; preds = %13326
  br label %13328

13328:                                            ; preds = %13327
  call void @exit(i32 noundef 1) #12
  unreachable

13329:                                            ; No predecessors!
  br label %13330

13330:                                            ; preds = %13329
  br label %13331

13331:                                            ; preds = %13330, %13275
  br label %13332

13332:                                            ; preds = %13331
  br label %13333

13333:                                            ; preds = %13332
  br label %13334

13334:                                            ; preds = %13333
  %13335 = load i32, ptr @test_count, align 4, !tbaa !5
  %13336 = add nsw i32 %13335, 1
  store i32 %13336, ptr @test_count, align 4, !tbaa !5
  %13337 = load ptr, ptr %261, align 8, !tbaa !9
  %13338 = load ptr, ptr %259, align 8, !tbaa !9
  %13339 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %13337, ptr noundef %13338, ptr noundef %19)
  %13340 = getelementptr inbounds %struct.s2n_result, ptr %274, i32 0, i32 0
  store i32 %13339, ptr %13340, align 4
  %13341 = getelementptr inbounds %struct.s2n_result, ptr %274, i32 0, i32 0
  %13342 = load i32, ptr %13341, align 4
  %13343 = call zeroext i1 @s2n_result_is_ok(i32 %13342)
  br i1 %13343, label %13397, label %13344

13344:                                            ; preds = %13334
  br label %13345

13345:                                            ; preds = %13344
  br label %13346

13346:                                            ; preds = %13345
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #10
  %13347 = call ptr @__errno_location() #11
  %13348 = load i32, ptr %13347, align 4, !tbaa !5
  store i32 %13348, ptr %275, align 4, !tbaa !5
  %13349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13350 = call i32 @s2n_print_stacktrace(ptr noundef %13349)
  %13351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13352 = trunc i8 %13351 to i1
  br i1 %13352, label %13353, label %13375

13353:                                            ; preds = %13346
  %13354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13355 = call i32 @fileno(ptr noundef %13354) #10
  %13356 = call i32 @isatty(i32 noundef %13355) #10
  %13357 = icmp ne i32 %13356, 0
  br i1 %13357, label %13358, label %13375

13358:                                            ; preds = %13353
  %13359 = load i32, ptr %275, align 4, !tbaa !5
  %13360 = call ptr @__errno_location() #11
  store i32 %13359, ptr %13360, align 4, !tbaa !5
  %13361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13362 = load i32, ptr @test_count, align 4, !tbaa !5
  %13363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13364 = load i32, ptr %13363, align 4, !tbaa !5
  %13365 = call ptr @s2n_strerror(i32 noundef %13364, ptr noundef @.str.65)
  %13366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13367 = load i32, ptr %13366, align 4, !tbaa !5
  %13368 = call ptr @s2n_strerror_debug(i32 noundef %13367, ptr noundef @.str.65)
  %13369 = call ptr @__errno_location() #11
  %13370 = load i32, ptr %13369, align 4, !tbaa !5
  %13371 = call ptr @strerror(i32 noundef %13370) #10
  %13372 = call ptr @__errno_location() #11
  %13373 = load i32, ptr %13372, align 4, !tbaa !5
  %13374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13361, ptr noundef @.str.63, i32 noundef %13362, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 649, ptr noundef %13365, ptr noundef %13368, ptr noundef %13371, i32 noundef %13373) #10
  br label %13392

13375:                                            ; preds = %13353, %13346
  %13376 = load i32, ptr %275, align 4, !tbaa !5
  %13377 = call ptr @__errno_location() #11
  store i32 %13376, ptr %13377, align 4, !tbaa !5
  %13378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13379 = load i32, ptr @test_count, align 4, !tbaa !5
  %13380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13381 = load i32, ptr %13380, align 4, !tbaa !5
  %13382 = call ptr @s2n_strerror(i32 noundef %13381, ptr noundef @.str.65)
  %13383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13384 = load i32, ptr %13383, align 4, !tbaa !5
  %13385 = call ptr @s2n_strerror_debug(i32 noundef %13384, ptr noundef @.str.65)
  %13386 = call ptr @__errno_location() #11
  %13387 = load i32, ptr %13386, align 4, !tbaa !5
  %13388 = call ptr @strerror(i32 noundef %13387) #10
  %13389 = call ptr @__errno_location() #11
  %13390 = load i32, ptr %13389, align 4, !tbaa !5
  %13391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13378, ptr noundef @.str.66, i32 noundef %13379, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 649, ptr noundef %13382, ptr noundef %13385, ptr noundef %13388, i32 noundef %13390) #10
  br label %13392

13392:                                            ; preds = %13375, %13358
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #10
  br label %13393

13393:                                            ; preds = %13392
  br label %13394

13394:                                            ; preds = %13393
  call void @exit(i32 noundef 1) #12
  unreachable

13395:                                            ; No predecessors!
  br label %13396

13396:                                            ; preds = %13395
  br label %13397

13397:                                            ; preds = %13396, %13334
  br label %13398

13398:                                            ; preds = %13397
  br label %13399

13399:                                            ; preds = %13398
  br label %13400

13400:                                            ; preds = %13399
  %13401 = load i32, ptr @test_count, align 4, !tbaa !5
  %13402 = add nsw i32 %13401, 1
  store i32 %13402, ptr @test_count, align 4, !tbaa !5
  %13403 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %13404 = load i32, ptr %13403, align 4, !tbaa !27
  %13405 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %13406 = load i32, ptr %13405, align 8, !tbaa !30
  %13407 = sub i32 %13404, %13406
  %13408 = call i32 @s2n_stuffer_copy(ptr noundef %45, ptr noundef %268, i32 noundef %13407)
  %13409 = icmp eq i32 %13408, -1
  br i1 %13409, label %13410, label %13463

13410:                                            ; preds = %13400
  br label %13411

13411:                                            ; preds = %13410
  br label %13412

13412:                                            ; preds = %13411
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #10
  %13413 = call ptr @__errno_location() #11
  %13414 = load i32, ptr %13413, align 4, !tbaa !5
  store i32 %13414, ptr %276, align 4, !tbaa !5
  %13415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13416 = call i32 @s2n_print_stacktrace(ptr noundef %13415)
  %13417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13418 = trunc i8 %13417 to i1
  br i1 %13418, label %13419, label %13441

13419:                                            ; preds = %13412
  %13420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13421 = call i32 @fileno(ptr noundef %13420) #10
  %13422 = call i32 @isatty(i32 noundef %13421) #10
  %13423 = icmp ne i32 %13422, 0
  br i1 %13423, label %13424, label %13441

13424:                                            ; preds = %13419
  %13425 = load i32, ptr %276, align 4, !tbaa !5
  %13426 = call ptr @__errno_location() #11
  store i32 %13425, ptr %13426, align 4, !tbaa !5
  %13427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13428 = load i32, ptr @test_count, align 4, !tbaa !5
  %13429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13430 = load i32, ptr %13429, align 4, !tbaa !5
  %13431 = call ptr @s2n_strerror(i32 noundef %13430, ptr noundef @.str.65)
  %13432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13433 = load i32, ptr %13432, align 4, !tbaa !5
  %13434 = call ptr @s2n_strerror_debug(i32 noundef %13433, ptr noundef @.str.65)
  %13435 = call ptr @__errno_location() #11
  %13436 = load i32, ptr %13435, align 4, !tbaa !5
  %13437 = call ptr @strerror(i32 noundef %13436) #10
  %13438 = call ptr @__errno_location() #11
  %13439 = load i32, ptr %13438, align 4, !tbaa !5
  %13440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13427, ptr noundef @.str.63, i32 noundef %13428, ptr noundef @.str.157, ptr noundef @.str.62, i32 noundef 650, ptr noundef %13431, ptr noundef %13434, ptr noundef %13437, i32 noundef %13439) #10
  br label %13458

13441:                                            ; preds = %13419, %13412
  %13442 = load i32, ptr %276, align 4, !tbaa !5
  %13443 = call ptr @__errno_location() #11
  store i32 %13442, ptr %13443, align 4, !tbaa !5
  %13444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13445 = load i32, ptr @test_count, align 4, !tbaa !5
  %13446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13447 = load i32, ptr %13446, align 4, !tbaa !5
  %13448 = call ptr @s2n_strerror(i32 noundef %13447, ptr noundef @.str.65)
  %13449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13450 = load i32, ptr %13449, align 4, !tbaa !5
  %13451 = call ptr @s2n_strerror_debug(i32 noundef %13450, ptr noundef @.str.65)
  %13452 = call ptr @__errno_location() #11
  %13453 = load i32, ptr %13452, align 4, !tbaa !5
  %13454 = call ptr @strerror(i32 noundef %13453) #10
  %13455 = call ptr @__errno_location() #11
  %13456 = load i32, ptr %13455, align 4, !tbaa !5
  %13457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13444, ptr noundef @.str.66, i32 noundef %13445, ptr noundef @.str.157, ptr noundef @.str.62, i32 noundef 650, ptr noundef %13448, ptr noundef %13451, ptr noundef %13454, i32 noundef %13456) #10
  br label %13458

13458:                                            ; preds = %13441, %13424
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #10
  br label %13459

13459:                                            ; preds = %13458
  br label %13460

13460:                                            ; preds = %13459
  call void @exit(i32 noundef 1) #12
  unreachable

13461:                                            ; No predecessors!
  br label %13462

13462:                                            ; preds = %13461
  br label %13463

13463:                                            ; preds = %13462, %13400
  br label %13464

13464:                                            ; preds = %13463
  br label %13465

13465:                                            ; preds = %13464
  br label %13466

13466:                                            ; preds = %13465
  %13467 = load i32, ptr @test_count, align 4, !tbaa !5
  %13468 = add nsw i32 %13467, 1
  store i32 %13468, ptr @test_count, align 4, !tbaa !5
  %13469 = load ptr, ptr %261, align 8, !tbaa !9
  %13470 = load ptr, ptr %259, align 8, !tbaa !9
  %13471 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %13469, ptr noundef %13470)
  %13472 = icmp eq i32 %13471, -1
  br i1 %13472, label %13473, label %13526

13473:                                            ; preds = %13466
  br label %13474

13474:                                            ; preds = %13473
  br label %13475

13475:                                            ; preds = %13474
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #10
  %13476 = call ptr @__errno_location() #11
  %13477 = load i32, ptr %13476, align 4, !tbaa !5
  store i32 %13477, ptr %277, align 4, !tbaa !5
  %13478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13479 = call i32 @s2n_print_stacktrace(ptr noundef %13478)
  %13480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13481 = trunc i8 %13480 to i1
  br i1 %13481, label %13482, label %13504

13482:                                            ; preds = %13475
  %13483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13484 = call i32 @fileno(ptr noundef %13483) #10
  %13485 = call i32 @isatty(i32 noundef %13484) #10
  %13486 = icmp ne i32 %13485, 0
  br i1 %13486, label %13487, label %13504

13487:                                            ; preds = %13482
  %13488 = load i32, ptr %277, align 4, !tbaa !5
  %13489 = call ptr @__errno_location() #11
  store i32 %13488, ptr %13489, align 4, !tbaa !5
  %13490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13491 = load i32, ptr @test_count, align 4, !tbaa !5
  %13492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13493 = load i32, ptr %13492, align 4, !tbaa !5
  %13494 = call ptr @s2n_strerror(i32 noundef %13493, ptr noundef @.str.65)
  %13495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13496 = load i32, ptr %13495, align 4, !tbaa !5
  %13497 = call ptr @s2n_strerror_debug(i32 noundef %13496, ptr noundef @.str.65)
  %13498 = call ptr @__errno_location() #11
  %13499 = load i32, ptr %13498, align 4, !tbaa !5
  %13500 = call ptr @strerror(i32 noundef %13499) #10
  %13501 = call ptr @__errno_location() #11
  %13502 = load i32, ptr %13501, align 4, !tbaa !5
  %13503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13490, ptr noundef @.str.63, i32 noundef %13491, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 653, ptr noundef %13494, ptr noundef %13497, ptr noundef %13500, i32 noundef %13502) #10
  br label %13521

13504:                                            ; preds = %13482, %13475
  %13505 = load i32, ptr %277, align 4, !tbaa !5
  %13506 = call ptr @__errno_location() #11
  store i32 %13505, ptr %13506, align 4, !tbaa !5
  %13507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13508 = load i32, ptr @test_count, align 4, !tbaa !5
  %13509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13510 = load i32, ptr %13509, align 4, !tbaa !5
  %13511 = call ptr @s2n_strerror(i32 noundef %13510, ptr noundef @.str.65)
  %13512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13513 = load i32, ptr %13512, align 4, !tbaa !5
  %13514 = call ptr @s2n_strerror_debug(i32 noundef %13513, ptr noundef @.str.65)
  %13515 = call ptr @__errno_location() #11
  %13516 = load i32, ptr %13515, align 4, !tbaa !5
  %13517 = call ptr @strerror(i32 noundef %13516) #10
  %13518 = call ptr @__errno_location() #11
  %13519 = load i32, ptr %13518, align 4, !tbaa !5
  %13520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13507, ptr noundef @.str.66, i32 noundef %13508, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 653, ptr noundef %13511, ptr noundef %13514, ptr noundef %13517, i32 noundef %13519) #10
  br label %13521

13521:                                            ; preds = %13504, %13487
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #10
  br label %13522

13522:                                            ; preds = %13521
  br label %13523

13523:                                            ; preds = %13522
  call void @exit(i32 noundef 1) #12
  unreachable

13524:                                            ; No predecessors!
  br label %13525

13525:                                            ; preds = %13524
  br label %13526

13526:                                            ; preds = %13525, %13466
  br label %13527

13527:                                            ; preds = %13526
  br label %13528

13528:                                            ; preds = %13527
  br label %13529

13529:                                            ; preds = %13528
  %13530 = load i32, ptr @test_count, align 4, !tbaa !5
  %13531 = add nsw i32 %13530, 1
  store i32 %13531, ptr @test_count, align 4, !tbaa !5
  %13532 = load ptr, ptr %259, align 8, !tbaa !9
  %13533 = call i32 @s2n_connection_wipe(ptr noundef %13532)
  %13534 = icmp eq i32 %13533, -1
  br i1 %13534, label %13535, label %13588

13535:                                            ; preds = %13529
  br label %13536

13536:                                            ; preds = %13535
  br label %13537

13537:                                            ; preds = %13536
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #10
  %13538 = call ptr @__errno_location() #11
  %13539 = load i32, ptr %13538, align 4, !tbaa !5
  store i32 %13539, ptr %278, align 4, !tbaa !5
  %13540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13541 = call i32 @s2n_print_stacktrace(ptr noundef %13540)
  %13542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13543 = trunc i8 %13542 to i1
  br i1 %13543, label %13544, label %13566

13544:                                            ; preds = %13537
  %13545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13546 = call i32 @fileno(ptr noundef %13545) #10
  %13547 = call i32 @isatty(i32 noundef %13546) #10
  %13548 = icmp ne i32 %13547, 0
  br i1 %13548, label %13549, label %13566

13549:                                            ; preds = %13544
  %13550 = load i32, ptr %278, align 4, !tbaa !5
  %13551 = call ptr @__errno_location() #11
  store i32 %13550, ptr %13551, align 4, !tbaa !5
  %13552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13553 = load i32, ptr @test_count, align 4, !tbaa !5
  %13554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13555 = load i32, ptr %13554, align 4, !tbaa !5
  %13556 = call ptr @s2n_strerror(i32 noundef %13555, ptr noundef @.str.65)
  %13557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13558 = load i32, ptr %13557, align 4, !tbaa !5
  %13559 = call ptr @s2n_strerror_debug(i32 noundef %13558, ptr noundef @.str.65)
  %13560 = call ptr @__errno_location() #11
  %13561 = load i32, ptr %13560, align 4, !tbaa !5
  %13562 = call ptr @strerror(i32 noundef %13561) #10
  %13563 = call ptr @__errno_location() #11
  %13564 = load i32, ptr %13563, align 4, !tbaa !5
  %13565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13552, ptr noundef @.str.63, i32 noundef %13553, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 654, ptr noundef %13556, ptr noundef %13559, ptr noundef %13562, i32 noundef %13564) #10
  br label %13583

13566:                                            ; preds = %13544, %13537
  %13567 = load i32, ptr %278, align 4, !tbaa !5
  %13568 = call ptr @__errno_location() #11
  store i32 %13567, ptr %13568, align 4, !tbaa !5
  %13569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13570 = load i32, ptr @test_count, align 4, !tbaa !5
  %13571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13572 = load i32, ptr %13571, align 4, !tbaa !5
  %13573 = call ptr @s2n_strerror(i32 noundef %13572, ptr noundef @.str.65)
  %13574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13575 = load i32, ptr %13574, align 4, !tbaa !5
  %13576 = call ptr @s2n_strerror_debug(i32 noundef %13575, ptr noundef @.str.65)
  %13577 = call ptr @__errno_location() #11
  %13578 = load i32, ptr %13577, align 4, !tbaa !5
  %13579 = call ptr @strerror(i32 noundef %13578) #10
  %13580 = call ptr @__errno_location() #11
  %13581 = load i32, ptr %13580, align 4, !tbaa !5
  %13582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13569, ptr noundef @.str.66, i32 noundef %13570, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 654, ptr noundef %13573, ptr noundef %13576, ptr noundef %13579, i32 noundef %13581) #10
  br label %13583

13583:                                            ; preds = %13566, %13549
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #10
  br label %13584

13584:                                            ; preds = %13583
  br label %13585

13585:                                            ; preds = %13584
  call void @exit(i32 noundef 1) #12
  unreachable

13586:                                            ; No predecessors!
  br label %13587

13587:                                            ; preds = %13586
  br label %13588

13588:                                            ; preds = %13587, %13529
  br label %13589

13589:                                            ; preds = %13588
  br label %13590

13590:                                            ; preds = %13589
  br label %13591

13591:                                            ; preds = %13590
  %13592 = load i32, ptr @test_count, align 4, !tbaa !5
  %13593 = add nsw i32 %13592, 1
  store i32 %13593, ptr @test_count, align 4, !tbaa !5
  %13594 = load ptr, ptr %261, align 8, !tbaa !9
  %13595 = call i32 @s2n_connection_wipe(ptr noundef %13594)
  %13596 = icmp eq i32 %13595, -1
  br i1 %13596, label %13597, label %13650

13597:                                            ; preds = %13591
  br label %13598

13598:                                            ; preds = %13597
  br label %13599

13599:                                            ; preds = %13598
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #10
  %13600 = call ptr @__errno_location() #11
  %13601 = load i32, ptr %13600, align 4, !tbaa !5
  store i32 %13601, ptr %279, align 4, !tbaa !5
  %13602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13603 = call i32 @s2n_print_stacktrace(ptr noundef %13602)
  %13604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13605 = trunc i8 %13604 to i1
  br i1 %13605, label %13606, label %13628

13606:                                            ; preds = %13599
  %13607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13608 = call i32 @fileno(ptr noundef %13607) #10
  %13609 = call i32 @isatty(i32 noundef %13608) #10
  %13610 = icmp ne i32 %13609, 0
  br i1 %13610, label %13611, label %13628

13611:                                            ; preds = %13606
  %13612 = load i32, ptr %279, align 4, !tbaa !5
  %13613 = call ptr @__errno_location() #11
  store i32 %13612, ptr %13613, align 4, !tbaa !5
  %13614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13615 = load i32, ptr @test_count, align 4, !tbaa !5
  %13616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13617 = load i32, ptr %13616, align 4, !tbaa !5
  %13618 = call ptr @s2n_strerror(i32 noundef %13617, ptr noundef @.str.65)
  %13619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13620 = load i32, ptr %13619, align 4, !tbaa !5
  %13621 = call ptr @s2n_strerror_debug(i32 noundef %13620, ptr noundef @.str.65)
  %13622 = call ptr @__errno_location() #11
  %13623 = load i32, ptr %13622, align 4, !tbaa !5
  %13624 = call ptr @strerror(i32 noundef %13623) #10
  %13625 = call ptr @__errno_location() #11
  %13626 = load i32, ptr %13625, align 4, !tbaa !5
  %13627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13614, ptr noundef @.str.63, i32 noundef %13615, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 655, ptr noundef %13618, ptr noundef %13621, ptr noundef %13624, i32 noundef %13626) #10
  br label %13645

13628:                                            ; preds = %13606, %13599
  %13629 = load i32, ptr %279, align 4, !tbaa !5
  %13630 = call ptr @__errno_location() #11
  store i32 %13629, ptr %13630, align 4, !tbaa !5
  %13631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13632 = load i32, ptr @test_count, align 4, !tbaa !5
  %13633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13634 = load i32, ptr %13633, align 4, !tbaa !5
  %13635 = call ptr @s2n_strerror(i32 noundef %13634, ptr noundef @.str.65)
  %13636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13637 = load i32, ptr %13636, align 4, !tbaa !5
  %13638 = call ptr @s2n_strerror_debug(i32 noundef %13637, ptr noundef @.str.65)
  %13639 = call ptr @__errno_location() #11
  %13640 = load i32, ptr %13639, align 4, !tbaa !5
  %13641 = call ptr @strerror(i32 noundef %13640) #10
  %13642 = call ptr @__errno_location() #11
  %13643 = load i32, ptr %13642, align 4, !tbaa !5
  %13644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13631, ptr noundef @.str.66, i32 noundef %13632, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 655, ptr noundef %13635, ptr noundef %13638, ptr noundef %13641, i32 noundef %13643) #10
  br label %13645

13645:                                            ; preds = %13628, %13611
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #10
  br label %13646

13646:                                            ; preds = %13645
  br label %13647

13647:                                            ; preds = %13646
  call void @exit(i32 noundef 1) #12
  unreachable

13648:                                            ; No predecessors!
  br label %13649

13649:                                            ; preds = %13648
  br label %13650

13650:                                            ; preds = %13649, %13591
  br label %13651

13651:                                            ; preds = %13650
  br label %13652

13652:                                            ; preds = %13651
  br label %13653

13653:                                            ; preds = %13652
  %13654 = load i32, ptr @test_count, align 4, !tbaa !5
  %13655 = add nsw i32 %13654, 1
  store i32 %13655, ptr @test_count, align 4, !tbaa !5
  %13656 = load ptr, ptr %259, align 8, !tbaa !9
  %13657 = load ptr, ptr %261, align 8, !tbaa !9
  %13658 = call i32 @s2n_connections_set_io_pair(ptr noundef %13656, ptr noundef %13657, ptr noundef %264)
  %13659 = icmp eq i32 %13658, -1
  br i1 %13659, label %13660, label %13713

13660:                                            ; preds = %13653
  br label %13661

13661:                                            ; preds = %13660
  br label %13662

13662:                                            ; preds = %13661
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #10
  %13663 = call ptr @__errno_location() #11
  %13664 = load i32, ptr %13663, align 4, !tbaa !5
  store i32 %13664, ptr %280, align 4, !tbaa !5
  %13665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13666 = call i32 @s2n_print_stacktrace(ptr noundef %13665)
  %13667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13668 = trunc i8 %13667 to i1
  br i1 %13668, label %13669, label %13691

13669:                                            ; preds = %13662
  %13670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13671 = call i32 @fileno(ptr noundef %13670) #10
  %13672 = call i32 @isatty(i32 noundef %13671) #10
  %13673 = icmp ne i32 %13672, 0
  br i1 %13673, label %13674, label %13691

13674:                                            ; preds = %13669
  %13675 = load i32, ptr %280, align 4, !tbaa !5
  %13676 = call ptr @__errno_location() #11
  store i32 %13675, ptr %13676, align 4, !tbaa !5
  %13677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13678 = load i32, ptr @test_count, align 4, !tbaa !5
  %13679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13680 = load i32, ptr %13679, align 4, !tbaa !5
  %13681 = call ptr @s2n_strerror(i32 noundef %13680, ptr noundef @.str.65)
  %13682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13683 = load i32, ptr %13682, align 4, !tbaa !5
  %13684 = call ptr @s2n_strerror_debug(i32 noundef %13683, ptr noundef @.str.65)
  %13685 = call ptr @__errno_location() #11
  %13686 = load i32, ptr %13685, align 4, !tbaa !5
  %13687 = call ptr @strerror(i32 noundef %13686) #10
  %13688 = call ptr @__errno_location() #11
  %13689 = load i32, ptr %13688, align 4, !tbaa !5
  %13690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13677, ptr noundef @.str.63, i32 noundef %13678, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 656, ptr noundef %13681, ptr noundef %13684, ptr noundef %13687, i32 noundef %13689) #10
  br label %13708

13691:                                            ; preds = %13669, %13662
  %13692 = load i32, ptr %280, align 4, !tbaa !5
  %13693 = call ptr @__errno_location() #11
  store i32 %13692, ptr %13693, align 4, !tbaa !5
  %13694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13695 = load i32, ptr @test_count, align 4, !tbaa !5
  %13696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13697 = load i32, ptr %13696, align 4, !tbaa !5
  %13698 = call ptr @s2n_strerror(i32 noundef %13697, ptr noundef @.str.65)
  %13699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13700 = load i32, ptr %13699, align 4, !tbaa !5
  %13701 = call ptr @s2n_strerror_debug(i32 noundef %13700, ptr noundef @.str.65)
  %13702 = call ptr @__errno_location() #11
  %13703 = load i32, ptr %13702, align 4, !tbaa !5
  %13704 = call ptr @strerror(i32 noundef %13703) #10
  %13705 = call ptr @__errno_location() #11
  %13706 = load i32, ptr %13705, align 4, !tbaa !5
  %13707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13694, ptr noundef @.str.66, i32 noundef %13695, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 656, ptr noundef %13698, ptr noundef %13701, ptr noundef %13704, i32 noundef %13706) #10
  br label %13708

13708:                                            ; preds = %13691, %13674
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #10
  br label %13709

13709:                                            ; preds = %13708
  br label %13710

13710:                                            ; preds = %13709
  call void @exit(i32 noundef 1) #12
  unreachable

13711:                                            ; No predecessors!
  br label %13712

13712:                                            ; preds = %13711
  br label %13713

13713:                                            ; preds = %13712, %13653
  br label %13714

13714:                                            ; preds = %13713
  br label %13715

13715:                                            ; preds = %13714
  br label %13716

13716:                                            ; preds = %13715
  %13717 = load i32, ptr @test_count, align 4, !tbaa !5
  %13718 = add nsw i32 %13717, 1
  store i32 %13718, ptr @test_count, align 4, !tbaa !5
  %13719 = load ptr, ptr %259, align 8, !tbaa !9
  %13720 = load ptr, ptr %48, align 8, !tbaa !9
  %13721 = call i32 @s2n_connection_set_config(ptr noundef %13719, ptr noundef %13720)
  %13722 = icmp eq i32 %13721, -1
  br i1 %13722, label %13723, label %13776

13723:                                            ; preds = %13716
  br label %13724

13724:                                            ; preds = %13723
  br label %13725

13725:                                            ; preds = %13724
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #10
  %13726 = call ptr @__errno_location() #11
  %13727 = load i32, ptr %13726, align 4, !tbaa !5
  store i32 %13727, ptr %281, align 4, !tbaa !5
  %13728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13729 = call i32 @s2n_print_stacktrace(ptr noundef %13728)
  %13730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13731 = trunc i8 %13730 to i1
  br i1 %13731, label %13732, label %13754

13732:                                            ; preds = %13725
  %13733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13734 = call i32 @fileno(ptr noundef %13733) #10
  %13735 = call i32 @isatty(i32 noundef %13734) #10
  %13736 = icmp ne i32 %13735, 0
  br i1 %13736, label %13737, label %13754

13737:                                            ; preds = %13732
  %13738 = load i32, ptr %281, align 4, !tbaa !5
  %13739 = call ptr @__errno_location() #11
  store i32 %13738, ptr %13739, align 4, !tbaa !5
  %13740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13741 = load i32, ptr @test_count, align 4, !tbaa !5
  %13742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13743 = load i32, ptr %13742, align 4, !tbaa !5
  %13744 = call ptr @s2n_strerror(i32 noundef %13743, ptr noundef @.str.65)
  %13745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13746 = load i32, ptr %13745, align 4, !tbaa !5
  %13747 = call ptr @s2n_strerror_debug(i32 noundef %13746, ptr noundef @.str.65)
  %13748 = call ptr @__errno_location() #11
  %13749 = load i32, ptr %13748, align 4, !tbaa !5
  %13750 = call ptr @strerror(i32 noundef %13749) #10
  %13751 = call ptr @__errno_location() #11
  %13752 = load i32, ptr %13751, align 4, !tbaa !5
  %13753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13740, ptr noundef @.str.63, i32 noundef %13741, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 659, ptr noundef %13744, ptr noundef %13747, ptr noundef %13750, i32 noundef %13752) #10
  br label %13771

13754:                                            ; preds = %13732, %13725
  %13755 = load i32, ptr %281, align 4, !tbaa !5
  %13756 = call ptr @__errno_location() #11
  store i32 %13755, ptr %13756, align 4, !tbaa !5
  %13757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13758 = load i32, ptr @test_count, align 4, !tbaa !5
  %13759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13760 = load i32, ptr %13759, align 4, !tbaa !5
  %13761 = call ptr @s2n_strerror(i32 noundef %13760, ptr noundef @.str.65)
  %13762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13763 = load i32, ptr %13762, align 4, !tbaa !5
  %13764 = call ptr @s2n_strerror_debug(i32 noundef %13763, ptr noundef @.str.65)
  %13765 = call ptr @__errno_location() #11
  %13766 = load i32, ptr %13765, align 4, !tbaa !5
  %13767 = call ptr @strerror(i32 noundef %13766) #10
  %13768 = call ptr @__errno_location() #11
  %13769 = load i32, ptr %13768, align 4, !tbaa !5
  %13770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13757, ptr noundef @.str.66, i32 noundef %13758, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 659, ptr noundef %13761, ptr noundef %13764, ptr noundef %13767, i32 noundef %13769) #10
  br label %13771

13771:                                            ; preds = %13754, %13737
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #10
  br label %13772

13772:                                            ; preds = %13771
  br label %13773

13773:                                            ; preds = %13772
  call void @exit(i32 noundef 1) #12
  unreachable

13774:                                            ; No predecessors!
  br label %13775

13775:                                            ; preds = %13774
  br label %13776

13776:                                            ; preds = %13775, %13716
  br label %13777

13777:                                            ; preds = %13776
  br label %13778

13778:                                            ; preds = %13777
  br label %13779

13779:                                            ; preds = %13778
  %13780 = load i32, ptr @test_count, align 4, !tbaa !5
  %13781 = add nsw i32 %13780, 1
  store i32 %13781, ptr @test_count, align 4, !tbaa !5
  %13782 = load ptr, ptr %261, align 8, !tbaa !9
  %13783 = load ptr, ptr %259, align 8, !tbaa !9
  %13784 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13782, ptr noundef %13783)
  %13785 = icmp eq i32 %13784, -1
  br i1 %13785, label %13786, label %13839

13786:                                            ; preds = %13779
  br label %13787

13787:                                            ; preds = %13786
  br label %13788

13788:                                            ; preds = %13787
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #10
  %13789 = call ptr @__errno_location() #11
  %13790 = load i32, ptr %13789, align 4, !tbaa !5
  store i32 %13790, ptr %282, align 4, !tbaa !5
  %13791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13792 = call i32 @s2n_print_stacktrace(ptr noundef %13791)
  %13793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13794 = trunc i8 %13793 to i1
  br i1 %13794, label %13795, label %13817

13795:                                            ; preds = %13788
  %13796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13797 = call i32 @fileno(ptr noundef %13796) #10
  %13798 = call i32 @isatty(i32 noundef %13797) #10
  %13799 = icmp ne i32 %13798, 0
  br i1 %13799, label %13800, label %13817

13800:                                            ; preds = %13795
  %13801 = load i32, ptr %282, align 4, !tbaa !5
  %13802 = call ptr @__errno_location() #11
  store i32 %13801, ptr %13802, align 4, !tbaa !5
  %13803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13804 = load i32, ptr @test_count, align 4, !tbaa !5
  %13805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13806 = load i32, ptr %13805, align 4, !tbaa !5
  %13807 = call ptr @s2n_strerror(i32 noundef %13806, ptr noundef @.str.65)
  %13808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13809 = load i32, ptr %13808, align 4, !tbaa !5
  %13810 = call ptr @s2n_strerror_debug(i32 noundef %13809, ptr noundef @.str.65)
  %13811 = call ptr @__errno_location() #11
  %13812 = load i32, ptr %13811, align 4, !tbaa !5
  %13813 = call ptr @strerror(i32 noundef %13812) #10
  %13814 = call ptr @__errno_location() #11
  %13815 = load i32, ptr %13814, align 4, !tbaa !5
  %13816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13803, ptr noundef @.str.63, i32 noundef %13804, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 660, ptr noundef %13807, ptr noundef %13810, ptr noundef %13813, i32 noundef %13815) #10
  br label %13834

13817:                                            ; preds = %13795, %13788
  %13818 = load i32, ptr %282, align 4, !tbaa !5
  %13819 = call ptr @__errno_location() #11
  store i32 %13818, ptr %13819, align 4, !tbaa !5
  %13820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13821 = load i32, ptr @test_count, align 4, !tbaa !5
  %13822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13823 = load i32, ptr %13822, align 4, !tbaa !5
  %13824 = call ptr @s2n_strerror(i32 noundef %13823, ptr noundef @.str.65)
  %13825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13826 = load i32, ptr %13825, align 4, !tbaa !5
  %13827 = call ptr @s2n_strerror_debug(i32 noundef %13826, ptr noundef @.str.65)
  %13828 = call ptr @__errno_location() #11
  %13829 = load i32, ptr %13828, align 4, !tbaa !5
  %13830 = call ptr @strerror(i32 noundef %13829) #10
  %13831 = call ptr @__errno_location() #11
  %13832 = load i32, ptr %13831, align 4, !tbaa !5
  %13833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13820, ptr noundef @.str.66, i32 noundef %13821, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 660, ptr noundef %13824, ptr noundef %13827, ptr noundef %13830, i32 noundef %13832) #10
  br label %13834

13834:                                            ; preds = %13817, %13800
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #10
  br label %13835

13835:                                            ; preds = %13834
  br label %13836

13836:                                            ; preds = %13835
  call void @exit(i32 noundef 1) #12
  unreachable

13837:                                            ; No predecessors!
  br label %13838

13838:                                            ; preds = %13837
  br label %13839

13839:                                            ; preds = %13838, %13779
  br label %13840

13840:                                            ; preds = %13839
  br label %13841

13841:                                            ; preds = %13840
  br label %13842

13842:                                            ; preds = %13841
  %13843 = load i32, ptr @test_count, align 4, !tbaa !5
  %13844 = add nsw i32 %13843, 1
  store i32 %13844, ptr @test_count, align 4, !tbaa !5
  %13845 = load ptr, ptr %259, align 8, !tbaa !9
  %13846 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %13845, i32 noundef 2)
  br i1 %13846, label %13847, label %13850

13847:                                            ; preds = %13842
  %13848 = load ptr, ptr %261, align 8, !tbaa !9
  %13849 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %13848, i32 noundef 2)
  br i1 %13849, label %13903, label %13850

13850:                                            ; preds = %13847, %13842
  br label %13851

13851:                                            ; preds = %13850
  br label %13852

13852:                                            ; preds = %13851
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #10
  %13853 = call ptr @__errno_location() #11
  %13854 = load i32, ptr %13853, align 4, !tbaa !5
  store i32 %13854, ptr %283, align 4, !tbaa !5
  %13855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13856 = call i32 @s2n_print_stacktrace(ptr noundef %13855)
  %13857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13858 = trunc i8 %13857 to i1
  br i1 %13858, label %13859, label %13881

13859:                                            ; preds = %13852
  %13860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13861 = call i32 @fileno(ptr noundef %13860) #10
  %13862 = call i32 @isatty(i32 noundef %13861) #10
  %13863 = icmp ne i32 %13862, 0
  br i1 %13863, label %13864, label %13881

13864:                                            ; preds = %13859
  %13865 = load i32, ptr %283, align 4, !tbaa !5
  %13866 = call ptr @__errno_location() #11
  store i32 %13865, ptr %13866, align 4, !tbaa !5
  %13867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13868 = load i32, ptr @test_count, align 4, !tbaa !5
  %13869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13870 = load i32, ptr %13869, align 4, !tbaa !5
  %13871 = call ptr @s2n_strerror(i32 noundef %13870, ptr noundef @.str.65)
  %13872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13873 = load i32, ptr %13872, align 4, !tbaa !5
  %13874 = call ptr @s2n_strerror_debug(i32 noundef %13873, ptr noundef @.str.65)
  %13875 = call ptr @__errno_location() #11
  %13876 = load i32, ptr %13875, align 4, !tbaa !5
  %13877 = call ptr @strerror(i32 noundef %13876) #10
  %13878 = call ptr @__errno_location() #11
  %13879 = load i32, ptr %13878, align 4, !tbaa !5
  %13880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13867, ptr noundef @.str.63, i32 noundef %13868, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 661, ptr noundef %13871, ptr noundef %13874, ptr noundef %13877, i32 noundef %13879) #10
  br label %13898

13881:                                            ; preds = %13859, %13852
  %13882 = load i32, ptr %283, align 4, !tbaa !5
  %13883 = call ptr @__errno_location() #11
  store i32 %13882, ptr %13883, align 4, !tbaa !5
  %13884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13885 = load i32, ptr @test_count, align 4, !tbaa !5
  %13886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13887 = load i32, ptr %13886, align 4, !tbaa !5
  %13888 = call ptr @s2n_strerror(i32 noundef %13887, ptr noundef @.str.65)
  %13889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13890 = load i32, ptr %13889, align 4, !tbaa !5
  %13891 = call ptr @s2n_strerror_debug(i32 noundef %13890, ptr noundef @.str.65)
  %13892 = call ptr @__errno_location() #11
  %13893 = load i32, ptr %13892, align 4, !tbaa !5
  %13894 = call ptr @strerror(i32 noundef %13893) #10
  %13895 = call ptr @__errno_location() #11
  %13896 = load i32, ptr %13895, align 4, !tbaa !5
  %13897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13884, ptr noundef @.str.66, i32 noundef %13885, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 661, ptr noundef %13888, ptr noundef %13891, ptr noundef %13894, i32 noundef %13896) #10
  br label %13898

13898:                                            ; preds = %13881, %13864
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #10
  br label %13899

13899:                                            ; preds = %13898
  br label %13900

13900:                                            ; preds = %13899
  call void @exit(i32 noundef 1) #12
  unreachable

13901:                                            ; No predecessors!
  br label %13902

13902:                                            ; preds = %13901
  br label %13903

13903:                                            ; preds = %13902, %13847
  br label %13904

13904:                                            ; preds = %13903
  br label %13905

13905:                                            ; preds = %13904
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #10
  %13906 = load ptr, ptr %259, align 8, !tbaa !9
  %13907 = call i32 @s2n_connection_get_session_length(ptr noundef %13906)
  store i32 %13907, ptr %284, align 4, !tbaa !5
  br label %13908

13908:                                            ; preds = %13905
  %13909 = load i32, ptr @test_count, align 4, !tbaa !5
  %13910 = add nsw i32 %13909, 1
  store i32 %13910, ptr @test_count, align 4, !tbaa !5
  %13911 = load i32, ptr %284, align 4, !tbaa !5
  %13912 = call i32 @s2n_stuffer_skip_write(ptr noundef %267, i32 noundef %13911)
  %13913 = icmp eq i32 %13912, -1
  br i1 %13913, label %13914, label %13967

13914:                                            ; preds = %13908
  br label %13915

13915:                                            ; preds = %13914
  br label %13916

13916:                                            ; preds = %13915
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %13917 = call ptr @__errno_location() #11
  %13918 = load i32, ptr %13917, align 4, !tbaa !5
  store i32 %13918, ptr %285, align 4, !tbaa !5
  %13919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13920 = call i32 @s2n_print_stacktrace(ptr noundef %13919)
  %13921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13922 = trunc i8 %13921 to i1
  br i1 %13922, label %13923, label %13945

13923:                                            ; preds = %13916
  %13924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13925 = call i32 @fileno(ptr noundef %13924) #10
  %13926 = call i32 @isatty(i32 noundef %13925) #10
  %13927 = icmp ne i32 %13926, 0
  br i1 %13927, label %13928, label %13945

13928:                                            ; preds = %13923
  %13929 = load i32, ptr %285, align 4, !tbaa !5
  %13930 = call ptr @__errno_location() #11
  store i32 %13929, ptr %13930, align 4, !tbaa !5
  %13931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13932 = load i32, ptr @test_count, align 4, !tbaa !5
  %13933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13934 = load i32, ptr %13933, align 4, !tbaa !5
  %13935 = call ptr @s2n_strerror(i32 noundef %13934, ptr noundef @.str.65)
  %13936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13937 = load i32, ptr %13936, align 4, !tbaa !5
  %13938 = call ptr @s2n_strerror_debug(i32 noundef %13937, ptr noundef @.str.65)
  %13939 = call ptr @__errno_location() #11
  %13940 = load i32, ptr %13939, align 4, !tbaa !5
  %13941 = call ptr @strerror(i32 noundef %13940) #10
  %13942 = call ptr @__errno_location() #11
  %13943 = load i32, ptr %13942, align 4, !tbaa !5
  %13944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13931, ptr noundef @.str.63, i32 noundef %13932, ptr noundef @.str.158, ptr noundef @.str.62, i32 noundef 663, ptr noundef %13935, ptr noundef %13938, ptr noundef %13941, i32 noundef %13943) #10
  br label %13962

13945:                                            ; preds = %13923, %13916
  %13946 = load i32, ptr %285, align 4, !tbaa !5
  %13947 = call ptr @__errno_location() #11
  store i32 %13946, ptr %13947, align 4, !tbaa !5
  %13948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13949 = load i32, ptr @test_count, align 4, !tbaa !5
  %13950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13951 = load i32, ptr %13950, align 4, !tbaa !5
  %13952 = call ptr @s2n_strerror(i32 noundef %13951, ptr noundef @.str.65)
  %13953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13954 = load i32, ptr %13953, align 4, !tbaa !5
  %13955 = call ptr @s2n_strerror_debug(i32 noundef %13954, ptr noundef @.str.65)
  %13956 = call ptr @__errno_location() #11
  %13957 = load i32, ptr %13956, align 4, !tbaa !5
  %13958 = call ptr @strerror(i32 noundef %13957) #10
  %13959 = call ptr @__errno_location() #11
  %13960 = load i32, ptr %13959, align 4, !tbaa !5
  %13961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13948, ptr noundef @.str.66, i32 noundef %13949, ptr noundef @.str.158, ptr noundef @.str.62, i32 noundef 663, ptr noundef %13952, ptr noundef %13955, ptr noundef %13958, i32 noundef %13960) #10
  br label %13962

13962:                                            ; preds = %13945, %13928
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %13963

13963:                                            ; preds = %13962
  br label %13964

13964:                                            ; preds = %13963
  call void @exit(i32 noundef 1) #12
  unreachable

13965:                                            ; No predecessors!
  br label %13966

13966:                                            ; preds = %13965
  br label %13967

13967:                                            ; preds = %13966, %13908
  br label %13968

13968:                                            ; preds = %13967
  br label %13969

13969:                                            ; preds = %13968
  br label %13970

13970:                                            ; preds = %13969
  %13971 = load i32, ptr @test_count, align 4, !tbaa !5
  %13972 = add nsw i32 %13971, 1
  store i32 %13972, ptr @test_count, align 4, !tbaa !5
  %13973 = load ptr, ptr %259, align 8, !tbaa !9
  %13974 = getelementptr inbounds %struct.s2n_stuffer, ptr %267, i32 0, i32 0
  %13975 = getelementptr inbounds %struct.s2n_blob, ptr %13974, i32 0, i32 0
  %13976 = load ptr, ptr %13975, align 8, !tbaa !31
  %13977 = load i32, ptr %284, align 4, !tbaa !5
  %13978 = sext i32 %13977 to i64
  %13979 = call i32 @s2n_connection_get_session(ptr noundef %13973, ptr noundef %13976, i64 noundef %13978)
  %13980 = icmp eq i32 %13979, -1
  br i1 %13980, label %13981, label %14034

13981:                                            ; preds = %13970
  br label %13982

13982:                                            ; preds = %13981
  br label %13983

13983:                                            ; preds = %13982
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #10
  %13984 = call ptr @__errno_location() #11
  %13985 = load i32, ptr %13984, align 4, !tbaa !5
  store i32 %13985, ptr %286, align 4, !tbaa !5
  %13986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13987 = call i32 @s2n_print_stacktrace(ptr noundef %13986)
  %13988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13989 = trunc i8 %13988 to i1
  br i1 %13989, label %13990, label %14012

13990:                                            ; preds = %13983
  %13991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13992 = call i32 @fileno(ptr noundef %13991) #10
  %13993 = call i32 @isatty(i32 noundef %13992) #10
  %13994 = icmp ne i32 %13993, 0
  br i1 %13994, label %13995, label %14012

13995:                                            ; preds = %13990
  %13996 = load i32, ptr %286, align 4, !tbaa !5
  %13997 = call ptr @__errno_location() #11
  store i32 %13996, ptr %13997, align 4, !tbaa !5
  %13998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13999 = load i32, ptr @test_count, align 4, !tbaa !5
  %14000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14001 = load i32, ptr %14000, align 4, !tbaa !5
  %14002 = call ptr @s2n_strerror(i32 noundef %14001, ptr noundef @.str.65)
  %14003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14004 = load i32, ptr %14003, align 4, !tbaa !5
  %14005 = call ptr @s2n_strerror_debug(i32 noundef %14004, ptr noundef @.str.65)
  %14006 = call ptr @__errno_location() #11
  %14007 = load i32, ptr %14006, align 4, !tbaa !5
  %14008 = call ptr @strerror(i32 noundef %14007) #10
  %14009 = call ptr @__errno_location() #11
  %14010 = load i32, ptr %14009, align 4, !tbaa !5
  %14011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13998, ptr noundef @.str.63, i32 noundef %13999, ptr noundef @.str.159, ptr noundef @.str.62, i32 noundef 664, ptr noundef %14002, ptr noundef %14005, ptr noundef %14008, i32 noundef %14010) #10
  br label %14029

14012:                                            ; preds = %13990, %13983
  %14013 = load i32, ptr %286, align 4, !tbaa !5
  %14014 = call ptr @__errno_location() #11
  store i32 %14013, ptr %14014, align 4, !tbaa !5
  %14015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14016 = load i32, ptr @test_count, align 4, !tbaa !5
  %14017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14018 = load i32, ptr %14017, align 4, !tbaa !5
  %14019 = call ptr @s2n_strerror(i32 noundef %14018, ptr noundef @.str.65)
  %14020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14021 = load i32, ptr %14020, align 4, !tbaa !5
  %14022 = call ptr @s2n_strerror_debug(i32 noundef %14021, ptr noundef @.str.65)
  %14023 = call ptr @__errno_location() #11
  %14024 = load i32, ptr %14023, align 4, !tbaa !5
  %14025 = call ptr @strerror(i32 noundef %14024) #10
  %14026 = call ptr @__errno_location() #11
  %14027 = load i32, ptr %14026, align 4, !tbaa !5
  %14028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14015, ptr noundef @.str.66, i32 noundef %14016, ptr noundef @.str.159, ptr noundef @.str.62, i32 noundef 664, ptr noundef %14019, ptr noundef %14022, ptr noundef %14025, i32 noundef %14027) #10
  br label %14029

14029:                                            ; preds = %14012, %13995
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #10
  br label %14030

14030:                                            ; preds = %14029
  br label %14031

14031:                                            ; preds = %14030
  call void @exit(i32 noundef 1) #12
  unreachable

14032:                                            ; No predecessors!
  br label %14033

14033:                                            ; preds = %14032
  br label %14034

14034:                                            ; preds = %14033, %13970
  br label %14035

14035:                                            ; preds = %14034
  br label %14036

14036:                                            ; preds = %14035
  call void @llvm.lifetime.start.p0(i64 8, ptr %287) #10
  store i64 0, ptr %287, align 8, !tbaa !15
  br label %14037

14037:                                            ; preds = %15221, %14036
  %14038 = load i64, ptr %287, align 8, !tbaa !15
  %14039 = icmp ult i64 %14038, 10
  br i1 %14039, label %14041, label %14040

14040:                                            ; preds = %14037
  store i32 1303, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %287) #10
  br label %15224

14041:                                            ; preds = %14037
  br label %14042

14042:                                            ; preds = %14041
  %14043 = load i32, ptr @test_count, align 4, !tbaa !5
  %14044 = add nsw i32 %14043, 1
  store i32 %14044, ptr @test_count, align 4, !tbaa !5
  %14045 = load ptr, ptr %261, align 8, !tbaa !9
  %14046 = load ptr, ptr %259, align 8, !tbaa !9
  %14047 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %14045, ptr noundef %14046)
  %14048 = icmp eq i32 %14047, -1
  br i1 %14048, label %14049, label %14102

14049:                                            ; preds = %14042
  br label %14050

14050:                                            ; preds = %14049
  br label %14051

14051:                                            ; preds = %14050
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #10
  %14052 = call ptr @__errno_location() #11
  %14053 = load i32, ptr %14052, align 4, !tbaa !5
  store i32 %14053, ptr %288, align 4, !tbaa !5
  %14054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14055 = call i32 @s2n_print_stacktrace(ptr noundef %14054)
  %14056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14057 = trunc i8 %14056 to i1
  br i1 %14057, label %14058, label %14080

14058:                                            ; preds = %14051
  %14059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14060 = call i32 @fileno(ptr noundef %14059) #10
  %14061 = call i32 @isatty(i32 noundef %14060) #10
  %14062 = icmp ne i32 %14061, 0
  br i1 %14062, label %14063, label %14080

14063:                                            ; preds = %14058
  %14064 = load i32, ptr %288, align 4, !tbaa !5
  %14065 = call ptr @__errno_location() #11
  store i32 %14064, ptr %14065, align 4, !tbaa !5
  %14066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14067 = load i32, ptr @test_count, align 4, !tbaa !5
  %14068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14069 = load i32, ptr %14068, align 4, !tbaa !5
  %14070 = call ptr @s2n_strerror(i32 noundef %14069, ptr noundef @.str.65)
  %14071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14072 = load i32, ptr %14071, align 4, !tbaa !5
  %14073 = call ptr @s2n_strerror_debug(i32 noundef %14072, ptr noundef @.str.65)
  %14074 = call ptr @__errno_location() #11
  %14075 = load i32, ptr %14074, align 4, !tbaa !5
  %14076 = call ptr @strerror(i32 noundef %14075) #10
  %14077 = call ptr @__errno_location() #11
  %14078 = load i32, ptr %14077, align 4, !tbaa !5
  %14079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14066, ptr noundef @.str.63, i32 noundef %14067, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 668, ptr noundef %14070, ptr noundef %14073, ptr noundef %14076, i32 noundef %14078) #10
  br label %14097

14080:                                            ; preds = %14058, %14051
  %14081 = load i32, ptr %288, align 4, !tbaa !5
  %14082 = call ptr @__errno_location() #11
  store i32 %14081, ptr %14082, align 4, !tbaa !5
  %14083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14084 = load i32, ptr @test_count, align 4, !tbaa !5
  %14085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14086 = load i32, ptr %14085, align 4, !tbaa !5
  %14087 = call ptr @s2n_strerror(i32 noundef %14086, ptr noundef @.str.65)
  %14088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14089 = load i32, ptr %14088, align 4, !tbaa !5
  %14090 = call ptr @s2n_strerror_debug(i32 noundef %14089, ptr noundef @.str.65)
  %14091 = call ptr @__errno_location() #11
  %14092 = load i32, ptr %14091, align 4, !tbaa !5
  %14093 = call ptr @strerror(i32 noundef %14092) #10
  %14094 = call ptr @__errno_location() #11
  %14095 = load i32, ptr %14094, align 4, !tbaa !5
  %14096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14083, ptr noundef @.str.66, i32 noundef %14084, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 668, ptr noundef %14087, ptr noundef %14090, ptr noundef %14093, i32 noundef %14095) #10
  br label %14097

14097:                                            ; preds = %14080, %14063
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #10
  br label %14098

14098:                                            ; preds = %14097
  br label %14099

14099:                                            ; preds = %14098
  call void @exit(i32 noundef 1) #12
  unreachable

14100:                                            ; No predecessors!
  br label %14101

14101:                                            ; preds = %14100
  br label %14102

14102:                                            ; preds = %14101, %14042
  br label %14103

14103:                                            ; preds = %14102
  br label %14104

14104:                                            ; preds = %14103
  br label %14105

14105:                                            ; preds = %14104
  %14106 = load i32, ptr @test_count, align 4, !tbaa !5
  %14107 = add nsw i32 %14106, 1
  store i32 %14107, ptr @test_count, align 4, !tbaa !5
  %14108 = load ptr, ptr %259, align 8, !tbaa !9
  %14109 = call i32 @s2n_connection_wipe(ptr noundef %14108)
  %14110 = icmp eq i32 %14109, -1
  br i1 %14110, label %14111, label %14164

14111:                                            ; preds = %14105
  br label %14112

14112:                                            ; preds = %14111
  br label %14113

14113:                                            ; preds = %14112
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #10
  %14114 = call ptr @__errno_location() #11
  %14115 = load i32, ptr %14114, align 4, !tbaa !5
  store i32 %14115, ptr %289, align 4, !tbaa !5
  %14116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14117 = call i32 @s2n_print_stacktrace(ptr noundef %14116)
  %14118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14119 = trunc i8 %14118 to i1
  br i1 %14119, label %14120, label %14142

14120:                                            ; preds = %14113
  %14121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14122 = call i32 @fileno(ptr noundef %14121) #10
  %14123 = call i32 @isatty(i32 noundef %14122) #10
  %14124 = icmp ne i32 %14123, 0
  br i1 %14124, label %14125, label %14142

14125:                                            ; preds = %14120
  %14126 = load i32, ptr %289, align 4, !tbaa !5
  %14127 = call ptr @__errno_location() #11
  store i32 %14126, ptr %14127, align 4, !tbaa !5
  %14128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14129 = load i32, ptr @test_count, align 4, !tbaa !5
  %14130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14131 = load i32, ptr %14130, align 4, !tbaa !5
  %14132 = call ptr @s2n_strerror(i32 noundef %14131, ptr noundef @.str.65)
  %14133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14134 = load i32, ptr %14133, align 4, !tbaa !5
  %14135 = call ptr @s2n_strerror_debug(i32 noundef %14134, ptr noundef @.str.65)
  %14136 = call ptr @__errno_location() #11
  %14137 = load i32, ptr %14136, align 4, !tbaa !5
  %14138 = call ptr @strerror(i32 noundef %14137) #10
  %14139 = call ptr @__errno_location() #11
  %14140 = load i32, ptr %14139, align 4, !tbaa !5
  %14141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14128, ptr noundef @.str.63, i32 noundef %14129, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 669, ptr noundef %14132, ptr noundef %14135, ptr noundef %14138, i32 noundef %14140) #10
  br label %14159

14142:                                            ; preds = %14120, %14113
  %14143 = load i32, ptr %289, align 4, !tbaa !5
  %14144 = call ptr @__errno_location() #11
  store i32 %14143, ptr %14144, align 4, !tbaa !5
  %14145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14146 = load i32, ptr @test_count, align 4, !tbaa !5
  %14147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14148 = load i32, ptr %14147, align 4, !tbaa !5
  %14149 = call ptr @s2n_strerror(i32 noundef %14148, ptr noundef @.str.65)
  %14150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14151 = load i32, ptr %14150, align 4, !tbaa !5
  %14152 = call ptr @s2n_strerror_debug(i32 noundef %14151, ptr noundef @.str.65)
  %14153 = call ptr @__errno_location() #11
  %14154 = load i32, ptr %14153, align 4, !tbaa !5
  %14155 = call ptr @strerror(i32 noundef %14154) #10
  %14156 = call ptr @__errno_location() #11
  %14157 = load i32, ptr %14156, align 4, !tbaa !5
  %14158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14145, ptr noundef @.str.66, i32 noundef %14146, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 669, ptr noundef %14149, ptr noundef %14152, ptr noundef %14155, i32 noundef %14157) #10
  br label %14159

14159:                                            ; preds = %14142, %14125
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #10
  br label %14160

14160:                                            ; preds = %14159
  br label %14161

14161:                                            ; preds = %14160
  call void @exit(i32 noundef 1) #12
  unreachable

14162:                                            ; No predecessors!
  br label %14163

14163:                                            ; preds = %14162
  br label %14164

14164:                                            ; preds = %14163, %14105
  br label %14165

14165:                                            ; preds = %14164
  br label %14166

14166:                                            ; preds = %14165
  br label %14167

14167:                                            ; preds = %14166
  %14168 = load i32, ptr @test_count, align 4, !tbaa !5
  %14169 = add nsw i32 %14168, 1
  store i32 %14169, ptr @test_count, align 4, !tbaa !5
  %14170 = load ptr, ptr %261, align 8, !tbaa !9
  %14171 = call i32 @s2n_connection_wipe(ptr noundef %14170)
  %14172 = icmp eq i32 %14171, -1
  br i1 %14172, label %14173, label %14226

14173:                                            ; preds = %14167
  br label %14174

14174:                                            ; preds = %14173
  br label %14175

14175:                                            ; preds = %14174
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #10
  %14176 = call ptr @__errno_location() #11
  %14177 = load i32, ptr %14176, align 4, !tbaa !5
  store i32 %14177, ptr %290, align 4, !tbaa !5
  %14178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14179 = call i32 @s2n_print_stacktrace(ptr noundef %14178)
  %14180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14181 = trunc i8 %14180 to i1
  br i1 %14181, label %14182, label %14204

14182:                                            ; preds = %14175
  %14183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14184 = call i32 @fileno(ptr noundef %14183) #10
  %14185 = call i32 @isatty(i32 noundef %14184) #10
  %14186 = icmp ne i32 %14185, 0
  br i1 %14186, label %14187, label %14204

14187:                                            ; preds = %14182
  %14188 = load i32, ptr %290, align 4, !tbaa !5
  %14189 = call ptr @__errno_location() #11
  store i32 %14188, ptr %14189, align 4, !tbaa !5
  %14190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14191 = load i32, ptr @test_count, align 4, !tbaa !5
  %14192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14193 = load i32, ptr %14192, align 4, !tbaa !5
  %14194 = call ptr @s2n_strerror(i32 noundef %14193, ptr noundef @.str.65)
  %14195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14196 = load i32, ptr %14195, align 4, !tbaa !5
  %14197 = call ptr @s2n_strerror_debug(i32 noundef %14196, ptr noundef @.str.65)
  %14198 = call ptr @__errno_location() #11
  %14199 = load i32, ptr %14198, align 4, !tbaa !5
  %14200 = call ptr @strerror(i32 noundef %14199) #10
  %14201 = call ptr @__errno_location() #11
  %14202 = load i32, ptr %14201, align 4, !tbaa !5
  %14203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14190, ptr noundef @.str.63, i32 noundef %14191, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 670, ptr noundef %14194, ptr noundef %14197, ptr noundef %14200, i32 noundef %14202) #10
  br label %14221

14204:                                            ; preds = %14182, %14175
  %14205 = load i32, ptr %290, align 4, !tbaa !5
  %14206 = call ptr @__errno_location() #11
  store i32 %14205, ptr %14206, align 4, !tbaa !5
  %14207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14208 = load i32, ptr @test_count, align 4, !tbaa !5
  %14209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14210 = load i32, ptr %14209, align 4, !tbaa !5
  %14211 = call ptr @s2n_strerror(i32 noundef %14210, ptr noundef @.str.65)
  %14212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14213 = load i32, ptr %14212, align 4, !tbaa !5
  %14214 = call ptr @s2n_strerror_debug(i32 noundef %14213, ptr noundef @.str.65)
  %14215 = call ptr @__errno_location() #11
  %14216 = load i32, ptr %14215, align 4, !tbaa !5
  %14217 = call ptr @strerror(i32 noundef %14216) #10
  %14218 = call ptr @__errno_location() #11
  %14219 = load i32, ptr %14218, align 4, !tbaa !5
  %14220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14207, ptr noundef @.str.66, i32 noundef %14208, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 670, ptr noundef %14211, ptr noundef %14214, ptr noundef %14217, i32 noundef %14219) #10
  br label %14221

14221:                                            ; preds = %14204, %14187
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #10
  br label %14222

14222:                                            ; preds = %14221
  br label %14223

14223:                                            ; preds = %14222
  call void @exit(i32 noundef 1) #12
  unreachable

14224:                                            ; No predecessors!
  br label %14225

14225:                                            ; preds = %14224
  br label %14226

14226:                                            ; preds = %14225, %14167
  br label %14227

14227:                                            ; preds = %14226
  br label %14228

14228:                                            ; preds = %14227
  br label %14229

14229:                                            ; preds = %14228
  %14230 = load i32, ptr @test_count, align 4, !tbaa !5
  %14231 = add nsw i32 %14230, 1
  store i32 %14231, ptr @test_count, align 4, !tbaa !5
  %14232 = load ptr, ptr %259, align 8, !tbaa !9
  %14233 = load ptr, ptr %261, align 8, !tbaa !9
  %14234 = call i32 @s2n_connections_set_io_pair(ptr noundef %14232, ptr noundef %14233, ptr noundef %264)
  %14235 = icmp eq i32 %14234, -1
  br i1 %14235, label %14236, label %14289

14236:                                            ; preds = %14229
  br label %14237

14237:                                            ; preds = %14236
  br label %14238

14238:                                            ; preds = %14237
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #10
  %14239 = call ptr @__errno_location() #11
  %14240 = load i32, ptr %14239, align 4, !tbaa !5
  store i32 %14240, ptr %291, align 4, !tbaa !5
  %14241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14242 = call i32 @s2n_print_stacktrace(ptr noundef %14241)
  %14243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14244 = trunc i8 %14243 to i1
  br i1 %14244, label %14245, label %14267

14245:                                            ; preds = %14238
  %14246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14247 = call i32 @fileno(ptr noundef %14246) #10
  %14248 = call i32 @isatty(i32 noundef %14247) #10
  %14249 = icmp ne i32 %14248, 0
  br i1 %14249, label %14250, label %14267

14250:                                            ; preds = %14245
  %14251 = load i32, ptr %291, align 4, !tbaa !5
  %14252 = call ptr @__errno_location() #11
  store i32 %14251, ptr %14252, align 4, !tbaa !5
  %14253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14254 = load i32, ptr @test_count, align 4, !tbaa !5
  %14255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14256 = load i32, ptr %14255, align 4, !tbaa !5
  %14257 = call ptr @s2n_strerror(i32 noundef %14256, ptr noundef @.str.65)
  %14258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14259 = load i32, ptr %14258, align 4, !tbaa !5
  %14260 = call ptr @s2n_strerror_debug(i32 noundef %14259, ptr noundef @.str.65)
  %14261 = call ptr @__errno_location() #11
  %14262 = load i32, ptr %14261, align 4, !tbaa !5
  %14263 = call ptr @strerror(i32 noundef %14262) #10
  %14264 = call ptr @__errno_location() #11
  %14265 = load i32, ptr %14264, align 4, !tbaa !5
  %14266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14253, ptr noundef @.str.63, i32 noundef %14254, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 671, ptr noundef %14257, ptr noundef %14260, ptr noundef %14263, i32 noundef %14265) #10
  br label %14284

14267:                                            ; preds = %14245, %14238
  %14268 = load i32, ptr %291, align 4, !tbaa !5
  %14269 = call ptr @__errno_location() #11
  store i32 %14268, ptr %14269, align 4, !tbaa !5
  %14270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14271 = load i32, ptr @test_count, align 4, !tbaa !5
  %14272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14273 = load i32, ptr %14272, align 4, !tbaa !5
  %14274 = call ptr @s2n_strerror(i32 noundef %14273, ptr noundef @.str.65)
  %14275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14276 = load i32, ptr %14275, align 4, !tbaa !5
  %14277 = call ptr @s2n_strerror_debug(i32 noundef %14276, ptr noundef @.str.65)
  %14278 = call ptr @__errno_location() #11
  %14279 = load i32, ptr %14278, align 4, !tbaa !5
  %14280 = call ptr @strerror(i32 noundef %14279) #10
  %14281 = call ptr @__errno_location() #11
  %14282 = load i32, ptr %14281, align 4, !tbaa !5
  %14283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14270, ptr noundef @.str.66, i32 noundef %14271, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 671, ptr noundef %14274, ptr noundef %14277, ptr noundef %14280, i32 noundef %14282) #10
  br label %14284

14284:                                            ; preds = %14267, %14250
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #10
  br label %14285

14285:                                            ; preds = %14284
  br label %14286

14286:                                            ; preds = %14285
  call void @exit(i32 noundef 1) #12
  unreachable

14287:                                            ; No predecessors!
  br label %14288

14288:                                            ; preds = %14287
  br label %14289

14289:                                            ; preds = %14288, %14229
  br label %14290

14290:                                            ; preds = %14289
  br label %14291

14291:                                            ; preds = %14290
  call void @llvm.lifetime.start.p0(i64 1, ptr %292) #10
  %14292 = load i64, ptr %287, align 8, !tbaa !15
  %14293 = urem i64 %14292, 2
  %14294 = icmp eq i64 %14293, 0
  %14295 = zext i1 %14294 to i8
  store i8 %14295, ptr %292, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %293) #10
  store i8 0, ptr %293, align 1, !tbaa !71
  %14296 = load i8, ptr %292, align 1, !tbaa !11, !range !13, !noundef !14
  %14297 = trunc i8 %14296 to i1
  br i1 %14297, label %14298, label %14433

14298:                                            ; preds = %14291
  store i8 34, ptr %293, align 1, !tbaa !71
  br label %14299

14299:                                            ; preds = %14298
  %14300 = load i32, ptr @test_count, align 4, !tbaa !5
  %14301 = add nsw i32 %14300, 1
  store i32 %14301, ptr @test_count, align 4, !tbaa !5
  %14302 = load ptr, ptr %259, align 8, !tbaa !9
  %14303 = load ptr, ptr %40, align 8, !tbaa !9
  %14304 = call i32 @s2n_connection_set_config(ptr noundef %14302, ptr noundef %14303)
  %14305 = icmp eq i32 %14304, -1
  br i1 %14305, label %14306, label %14359

14306:                                            ; preds = %14299
  br label %14307

14307:                                            ; preds = %14306
  br label %14308

14308:                                            ; preds = %14307
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #10
  %14309 = call ptr @__errno_location() #11
  %14310 = load i32, ptr %14309, align 4, !tbaa !5
  store i32 %14310, ptr %294, align 4, !tbaa !5
  %14311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14312 = call i32 @s2n_print_stacktrace(ptr noundef %14311)
  %14313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14314 = trunc i8 %14313 to i1
  br i1 %14314, label %14315, label %14337

14315:                                            ; preds = %14308
  %14316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14317 = call i32 @fileno(ptr noundef %14316) #10
  %14318 = call i32 @isatty(i32 noundef %14317) #10
  %14319 = icmp ne i32 %14318, 0
  br i1 %14319, label %14320, label %14337

14320:                                            ; preds = %14315
  %14321 = load i32, ptr %294, align 4, !tbaa !5
  %14322 = call ptr @__errno_location() #11
  store i32 %14321, ptr %14322, align 4, !tbaa !5
  %14323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14324 = load i32, ptr @test_count, align 4, !tbaa !5
  %14325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14326 = load i32, ptr %14325, align 4, !tbaa !5
  %14327 = call ptr @s2n_strerror(i32 noundef %14326, ptr noundef @.str.65)
  %14328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14329 = load i32, ptr %14328, align 4, !tbaa !5
  %14330 = call ptr @s2n_strerror_debug(i32 noundef %14329, ptr noundef @.str.65)
  %14331 = call ptr @__errno_location() #11
  %14332 = load i32, ptr %14331, align 4, !tbaa !5
  %14333 = call ptr @strerror(i32 noundef %14332) #10
  %14334 = call ptr @__errno_location() #11
  %14335 = load i32, ptr %14334, align 4, !tbaa !5
  %14336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14323, ptr noundef @.str.63, i32 noundef %14324, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 678, ptr noundef %14327, ptr noundef %14330, ptr noundef %14333, i32 noundef %14335) #10
  br label %14354

14337:                                            ; preds = %14315, %14308
  %14338 = load i32, ptr %294, align 4, !tbaa !5
  %14339 = call ptr @__errno_location() #11
  store i32 %14338, ptr %14339, align 4, !tbaa !5
  %14340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14341 = load i32, ptr @test_count, align 4, !tbaa !5
  %14342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14343 = load i32, ptr %14342, align 4, !tbaa !5
  %14344 = call ptr @s2n_strerror(i32 noundef %14343, ptr noundef @.str.65)
  %14345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14346 = load i32, ptr %14345, align 4, !tbaa !5
  %14347 = call ptr @s2n_strerror_debug(i32 noundef %14346, ptr noundef @.str.65)
  %14348 = call ptr @__errno_location() #11
  %14349 = load i32, ptr %14348, align 4, !tbaa !5
  %14350 = call ptr @strerror(i32 noundef %14349) #10
  %14351 = call ptr @__errno_location() #11
  %14352 = load i32, ptr %14351, align 4, !tbaa !5
  %14353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14340, ptr noundef @.str.66, i32 noundef %14341, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 678, ptr noundef %14344, ptr noundef %14347, ptr noundef %14350, i32 noundef %14352) #10
  br label %14354

14354:                                            ; preds = %14337, %14320
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #10
  br label %14355

14355:                                            ; preds = %14354
  br label %14356

14356:                                            ; preds = %14355
  call void @exit(i32 noundef 1) #12
  unreachable

14357:                                            ; No predecessors!
  br label %14358

14358:                                            ; preds = %14357
  br label %14359

14359:                                            ; preds = %14358, %14299
  br label %14360

14360:                                            ; preds = %14359
  br label %14361

14361:                                            ; preds = %14360
  br label %14362

14362:                                            ; preds = %14361
  %14363 = load i32, ptr @test_count, align 4, !tbaa !5
  %14364 = add nsw i32 %14363, 1
  store i32 %14364, ptr @test_count, align 4, !tbaa !5
  %14365 = load ptr, ptr %259, align 8, !tbaa !9
  %14366 = getelementptr inbounds %struct.s2n_stuffer, ptr %268, i32 0, i32 0
  %14367 = getelementptr inbounds %struct.s2n_blob, ptr %14366, i32 0, i32 0
  %14368 = load ptr, ptr %14367, align 8, !tbaa !31
  %14369 = getelementptr inbounds %struct.s2n_stuffer, ptr %268, i32 0, i32 2
  %14370 = load i32, ptr %14369, align 4, !tbaa !27
  %14371 = getelementptr inbounds %struct.s2n_stuffer, ptr %268, i32 0, i32 1
  %14372 = load i32, ptr %14371, align 8, !tbaa !30
  %14373 = sub i32 %14370, %14372
  %14374 = zext i32 %14373 to i64
  %14375 = call i32 @s2n_connection_set_session(ptr noundef %14365, ptr noundef %14368, i64 noundef %14374)
  %14376 = icmp eq i32 %14375, -1
  br i1 %14376, label %14377, label %14430

14377:                                            ; preds = %14362
  br label %14378

14378:                                            ; preds = %14377
  br label %14379

14379:                                            ; preds = %14378
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %14380 = call ptr @__errno_location() #11
  %14381 = load i32, ptr %14380, align 4, !tbaa !5
  store i32 %14381, ptr %295, align 4, !tbaa !5
  %14382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14383 = call i32 @s2n_print_stacktrace(ptr noundef %14382)
  %14384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14385 = trunc i8 %14384 to i1
  br i1 %14385, label %14386, label %14408

14386:                                            ; preds = %14379
  %14387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14388 = call i32 @fileno(ptr noundef %14387) #10
  %14389 = call i32 @isatty(i32 noundef %14388) #10
  %14390 = icmp ne i32 %14389, 0
  br i1 %14390, label %14391, label %14408

14391:                                            ; preds = %14386
  %14392 = load i32, ptr %295, align 4, !tbaa !5
  %14393 = call ptr @__errno_location() #11
  store i32 %14392, ptr %14393, align 4, !tbaa !5
  %14394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14395 = load i32, ptr @test_count, align 4, !tbaa !5
  %14396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14397 = load i32, ptr %14396, align 4, !tbaa !5
  %14398 = call ptr @s2n_strerror(i32 noundef %14397, ptr noundef @.str.65)
  %14399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14400 = load i32, ptr %14399, align 4, !tbaa !5
  %14401 = call ptr @s2n_strerror_debug(i32 noundef %14400, ptr noundef @.str.65)
  %14402 = call ptr @__errno_location() #11
  %14403 = load i32, ptr %14402, align 4, !tbaa !5
  %14404 = call ptr @strerror(i32 noundef %14403) #10
  %14405 = call ptr @__errno_location() #11
  %14406 = load i32, ptr %14405, align 4, !tbaa !5
  %14407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14394, ptr noundef @.str.63, i32 noundef %14395, ptr noundef @.str.160, ptr noundef @.str.62, i32 noundef 680, ptr noundef %14398, ptr noundef %14401, ptr noundef %14404, i32 noundef %14406) #10
  br label %14425

14408:                                            ; preds = %14386, %14379
  %14409 = load i32, ptr %295, align 4, !tbaa !5
  %14410 = call ptr @__errno_location() #11
  store i32 %14409, ptr %14410, align 4, !tbaa !5
  %14411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14412 = load i32, ptr @test_count, align 4, !tbaa !5
  %14413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14414 = load i32, ptr %14413, align 4, !tbaa !5
  %14415 = call ptr @s2n_strerror(i32 noundef %14414, ptr noundef @.str.65)
  %14416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14417 = load i32, ptr %14416, align 4, !tbaa !5
  %14418 = call ptr @s2n_strerror_debug(i32 noundef %14417, ptr noundef @.str.65)
  %14419 = call ptr @__errno_location() #11
  %14420 = load i32, ptr %14419, align 4, !tbaa !5
  %14421 = call ptr @strerror(i32 noundef %14420) #10
  %14422 = call ptr @__errno_location() #11
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  %14424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14411, ptr noundef @.str.66, i32 noundef %14412, ptr noundef @.str.160, ptr noundef @.str.62, i32 noundef 680, ptr noundef %14415, ptr noundef %14418, ptr noundef %14421, i32 noundef %14423) #10
  br label %14425

14425:                                            ; preds = %14408, %14391
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %14426

14426:                                            ; preds = %14425
  br label %14427

14427:                                            ; preds = %14426
  call void @exit(i32 noundef 1) #12
  unreachable

14428:                                            ; No predecessors!
  br label %14429

14429:                                            ; preds = %14428
  br label %14430

14430:                                            ; preds = %14429, %14362
  br label %14431

14431:                                            ; preds = %14430
  br label %14432

14432:                                            ; preds = %14431
  br label %14568

14433:                                            ; preds = %14291
  store i8 33, ptr %293, align 1, !tbaa !71
  br label %14434

14434:                                            ; preds = %14433
  %14435 = load i32, ptr @test_count, align 4, !tbaa !5
  %14436 = add nsw i32 %14435, 1
  store i32 %14436, ptr @test_count, align 4, !tbaa !5
  %14437 = load ptr, ptr %259, align 8, !tbaa !9
  %14438 = load ptr, ptr %48, align 8, !tbaa !9
  %14439 = call i32 @s2n_connection_set_config(ptr noundef %14437, ptr noundef %14438)
  %14440 = icmp eq i32 %14439, -1
  br i1 %14440, label %14441, label %14494

14441:                                            ; preds = %14434
  br label %14442

14442:                                            ; preds = %14441
  br label %14443

14443:                                            ; preds = %14442
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #10
  %14444 = call ptr @__errno_location() #11
  %14445 = load i32, ptr %14444, align 4, !tbaa !5
  store i32 %14445, ptr %296, align 4, !tbaa !5
  %14446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14447 = call i32 @s2n_print_stacktrace(ptr noundef %14446)
  %14448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14449 = trunc i8 %14448 to i1
  br i1 %14449, label %14450, label %14472

14450:                                            ; preds = %14443
  %14451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14452 = call i32 @fileno(ptr noundef %14451) #10
  %14453 = call i32 @isatty(i32 noundef %14452) #10
  %14454 = icmp ne i32 %14453, 0
  br i1 %14454, label %14455, label %14472

14455:                                            ; preds = %14450
  %14456 = load i32, ptr %296, align 4, !tbaa !5
  %14457 = call ptr @__errno_location() #11
  store i32 %14456, ptr %14457, align 4, !tbaa !5
  %14458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14459 = load i32, ptr @test_count, align 4, !tbaa !5
  %14460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14461 = load i32, ptr %14460, align 4, !tbaa !5
  %14462 = call ptr @s2n_strerror(i32 noundef %14461, ptr noundef @.str.65)
  %14463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14464 = load i32, ptr %14463, align 4, !tbaa !5
  %14465 = call ptr @s2n_strerror_debug(i32 noundef %14464, ptr noundef @.str.65)
  %14466 = call ptr @__errno_location() #11
  %14467 = load i32, ptr %14466, align 4, !tbaa !5
  %14468 = call ptr @strerror(i32 noundef %14467) #10
  %14469 = call ptr @__errno_location() #11
  %14470 = load i32, ptr %14469, align 4, !tbaa !5
  %14471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14458, ptr noundef @.str.63, i32 noundef %14459, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 683, ptr noundef %14462, ptr noundef %14465, ptr noundef %14468, i32 noundef %14470) #10
  br label %14489

14472:                                            ; preds = %14450, %14443
  %14473 = load i32, ptr %296, align 4, !tbaa !5
  %14474 = call ptr @__errno_location() #11
  store i32 %14473, ptr %14474, align 4, !tbaa !5
  %14475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14476 = load i32, ptr @test_count, align 4, !tbaa !5
  %14477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14478 = load i32, ptr %14477, align 4, !tbaa !5
  %14479 = call ptr @s2n_strerror(i32 noundef %14478, ptr noundef @.str.65)
  %14480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14481 = load i32, ptr %14480, align 4, !tbaa !5
  %14482 = call ptr @s2n_strerror_debug(i32 noundef %14481, ptr noundef @.str.65)
  %14483 = call ptr @__errno_location() #11
  %14484 = load i32, ptr %14483, align 4, !tbaa !5
  %14485 = call ptr @strerror(i32 noundef %14484) #10
  %14486 = call ptr @__errno_location() #11
  %14487 = load i32, ptr %14486, align 4, !tbaa !5
  %14488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14475, ptr noundef @.str.66, i32 noundef %14476, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 683, ptr noundef %14479, ptr noundef %14482, ptr noundef %14485, i32 noundef %14487) #10
  br label %14489

14489:                                            ; preds = %14472, %14455
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #10
  br label %14490

14490:                                            ; preds = %14489
  br label %14491

14491:                                            ; preds = %14490
  call void @exit(i32 noundef 1) #12
  unreachable

14492:                                            ; No predecessors!
  br label %14493

14493:                                            ; preds = %14492
  br label %14494

14494:                                            ; preds = %14493, %14434
  br label %14495

14495:                                            ; preds = %14494
  br label %14496

14496:                                            ; preds = %14495
  br label %14497

14497:                                            ; preds = %14496
  %14498 = load i32, ptr @test_count, align 4, !tbaa !5
  %14499 = add nsw i32 %14498, 1
  store i32 %14499, ptr @test_count, align 4, !tbaa !5
  %14500 = load ptr, ptr %259, align 8, !tbaa !9
  %14501 = getelementptr inbounds %struct.s2n_stuffer, ptr %267, i32 0, i32 0
  %14502 = getelementptr inbounds %struct.s2n_blob, ptr %14501, i32 0, i32 0
  %14503 = load ptr, ptr %14502, align 8, !tbaa !31
  %14504 = getelementptr inbounds %struct.s2n_stuffer, ptr %267, i32 0, i32 2
  %14505 = load i32, ptr %14504, align 4, !tbaa !27
  %14506 = getelementptr inbounds %struct.s2n_stuffer, ptr %267, i32 0, i32 1
  %14507 = load i32, ptr %14506, align 8, !tbaa !30
  %14508 = sub i32 %14505, %14507
  %14509 = zext i32 %14508 to i64
  %14510 = call i32 @s2n_connection_set_session(ptr noundef %14500, ptr noundef %14503, i64 noundef %14509)
  %14511 = icmp eq i32 %14510, -1
  br i1 %14511, label %14512, label %14565

14512:                                            ; preds = %14497
  br label %14513

14513:                                            ; preds = %14512
  br label %14514

14514:                                            ; preds = %14513
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #10
  %14515 = call ptr @__errno_location() #11
  %14516 = load i32, ptr %14515, align 4, !tbaa !5
  store i32 %14516, ptr %297, align 4, !tbaa !5
  %14517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14518 = call i32 @s2n_print_stacktrace(ptr noundef %14517)
  %14519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14520 = trunc i8 %14519 to i1
  br i1 %14520, label %14521, label %14543

14521:                                            ; preds = %14514
  %14522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14523 = call i32 @fileno(ptr noundef %14522) #10
  %14524 = call i32 @isatty(i32 noundef %14523) #10
  %14525 = icmp ne i32 %14524, 0
  br i1 %14525, label %14526, label %14543

14526:                                            ; preds = %14521
  %14527 = load i32, ptr %297, align 4, !tbaa !5
  %14528 = call ptr @__errno_location() #11
  store i32 %14527, ptr %14528, align 4, !tbaa !5
  %14529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14530 = load i32, ptr @test_count, align 4, !tbaa !5
  %14531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14532 = load i32, ptr %14531, align 4, !tbaa !5
  %14533 = call ptr @s2n_strerror(i32 noundef %14532, ptr noundef @.str.65)
  %14534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14535 = load i32, ptr %14534, align 4, !tbaa !5
  %14536 = call ptr @s2n_strerror_debug(i32 noundef %14535, ptr noundef @.str.65)
  %14537 = call ptr @__errno_location() #11
  %14538 = load i32, ptr %14537, align 4, !tbaa !5
  %14539 = call ptr @strerror(i32 noundef %14538) #10
  %14540 = call ptr @__errno_location() #11
  %14541 = load i32, ptr %14540, align 4, !tbaa !5
  %14542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14529, ptr noundef @.str.63, i32 noundef %14530, ptr noundef @.str.161, ptr noundef @.str.62, i32 noundef 685, ptr noundef %14533, ptr noundef %14536, ptr noundef %14539, i32 noundef %14541) #10
  br label %14560

14543:                                            ; preds = %14521, %14514
  %14544 = load i32, ptr %297, align 4, !tbaa !5
  %14545 = call ptr @__errno_location() #11
  store i32 %14544, ptr %14545, align 4, !tbaa !5
  %14546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14547 = load i32, ptr @test_count, align 4, !tbaa !5
  %14548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14549 = load i32, ptr %14548, align 4, !tbaa !5
  %14550 = call ptr @s2n_strerror(i32 noundef %14549, ptr noundef @.str.65)
  %14551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14552 = load i32, ptr %14551, align 4, !tbaa !5
  %14553 = call ptr @s2n_strerror_debug(i32 noundef %14552, ptr noundef @.str.65)
  %14554 = call ptr @__errno_location() #11
  %14555 = load i32, ptr %14554, align 4, !tbaa !5
  %14556 = call ptr @strerror(i32 noundef %14555) #10
  %14557 = call ptr @__errno_location() #11
  %14558 = load i32, ptr %14557, align 4, !tbaa !5
  %14559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14546, ptr noundef @.str.66, i32 noundef %14547, ptr noundef @.str.161, ptr noundef @.str.62, i32 noundef 685, ptr noundef %14550, ptr noundef %14553, ptr noundef %14556, i32 noundef %14558) #10
  br label %14560

14560:                                            ; preds = %14543, %14526
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #10
  br label %14561

14561:                                            ; preds = %14560
  br label %14562

14562:                                            ; preds = %14561
  call void @exit(i32 noundef 1) #12
  unreachable

14563:                                            ; No predecessors!
  br label %14564

14564:                                            ; preds = %14563
  br label %14565

14565:                                            ; preds = %14564, %14497
  br label %14566

14566:                                            ; preds = %14565
  br label %14567

14567:                                            ; preds = %14566
  br label %14568

14568:                                            ; preds = %14567, %14432
  br label %14569

14569:                                            ; preds = %14568
  %14570 = load i32, ptr @test_count, align 4, !tbaa !5
  %14571 = add nsw i32 %14570, 1
  store i32 %14571, ptr @test_count, align 4, !tbaa !5
  %14572 = load ptr, ptr %261, align 8, !tbaa !9
  %14573 = load ptr, ptr %259, align 8, !tbaa !9
  %14574 = call i32 @s2n_test_negotiate(ptr noundef %14572, ptr noundef %14573, ptr noundef %19)
  %14575 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  store i32 %14574, ptr %14575, align 4
  %14576 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  %14577 = load i32, ptr %14576, align 4
  %14578 = call zeroext i1 @s2n_result_is_ok(i32 %14577)
  br i1 %14578, label %14632, label %14579

14579:                                            ; preds = %14569
  br label %14580

14580:                                            ; preds = %14579
  br label %14581

14581:                                            ; preds = %14580
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #10
  %14582 = call ptr @__errno_location() #11
  %14583 = load i32, ptr %14582, align 4, !tbaa !5
  store i32 %14583, ptr %299, align 4, !tbaa !5
  %14584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14585 = call i32 @s2n_print_stacktrace(ptr noundef %14584)
  %14586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14587 = trunc i8 %14586 to i1
  br i1 %14587, label %14588, label %14610

14588:                                            ; preds = %14581
  %14589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14590 = call i32 @fileno(ptr noundef %14589) #10
  %14591 = call i32 @isatty(i32 noundef %14590) #10
  %14592 = icmp ne i32 %14591, 0
  br i1 %14592, label %14593, label %14610

14593:                                            ; preds = %14588
  %14594 = load i32, ptr %299, align 4, !tbaa !5
  %14595 = call ptr @__errno_location() #11
  store i32 %14594, ptr %14595, align 4, !tbaa !5
  %14596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14597 = load i32, ptr @test_count, align 4, !tbaa !5
  %14598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14599 = load i32, ptr %14598, align 4, !tbaa !5
  %14600 = call ptr @s2n_strerror(i32 noundef %14599, ptr noundef @.str.65)
  %14601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14602 = load i32, ptr %14601, align 4, !tbaa !5
  %14603 = call ptr @s2n_strerror_debug(i32 noundef %14602, ptr noundef @.str.65)
  %14604 = call ptr @__errno_location() #11
  %14605 = load i32, ptr %14604, align 4, !tbaa !5
  %14606 = call ptr @strerror(i32 noundef %14605) #10
  %14607 = call ptr @__errno_location() #11
  %14608 = load i32, ptr %14607, align 4, !tbaa !5
  %14609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14596, ptr noundef @.str.63, i32 noundef %14597, ptr noundef @.str.162, ptr noundef @.str.62, i32 noundef 688, ptr noundef %14600, ptr noundef %14603, ptr noundef %14606, i32 noundef %14608) #10
  br label %14627

14610:                                            ; preds = %14588, %14581
  %14611 = load i32, ptr %299, align 4, !tbaa !5
  %14612 = call ptr @__errno_location() #11
  store i32 %14611, ptr %14612, align 4, !tbaa !5
  %14613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14614 = load i32, ptr @test_count, align 4, !tbaa !5
  %14615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call ptr @s2n_strerror(i32 noundef %14616, ptr noundef @.str.65)
  %14618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  %14620 = call ptr @s2n_strerror_debug(i32 noundef %14619, ptr noundef @.str.65)
  %14621 = call ptr @__errno_location() #11
  %14622 = load i32, ptr %14621, align 4, !tbaa !5
  %14623 = call ptr @strerror(i32 noundef %14622) #10
  %14624 = call ptr @__errno_location() #11
  %14625 = load i32, ptr %14624, align 4, !tbaa !5
  %14626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14613, ptr noundef @.str.66, i32 noundef %14614, ptr noundef @.str.162, ptr noundef @.str.62, i32 noundef 688, ptr noundef %14617, ptr noundef %14620, ptr noundef %14623, i32 noundef %14625) #10
  br label %14627

14627:                                            ; preds = %14610, %14593
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #10
  br label %14628

14628:                                            ; preds = %14627
  br label %14629

14629:                                            ; preds = %14628
  call void @exit(i32 noundef 1) #12
  unreachable

14630:                                            ; No predecessors!
  br label %14631

14631:                                            ; preds = %14630
  br label %14632

14632:                                            ; preds = %14631, %14569
  br label %14633

14633:                                            ; preds = %14632
  br label %14634

14634:                                            ; preds = %14633
  br label %14635

14635:                                            ; preds = %14634
  %14636 = load i32, ptr @test_count, align 4, !tbaa !5
  %14637 = add nsw i32 %14636, 1
  store i32 %14637, ptr @test_count, align 4, !tbaa !5
  %14638 = load ptr, ptr %259, align 8, !tbaa !9
  %14639 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %14638, i32 noundef 2)
  br i1 %14639, label %14640, label %14696

14640:                                            ; preds = %14635
  %14641 = load ptr, ptr %261, align 8, !tbaa !9
  %14642 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %14641, i32 noundef 2)
  br i1 %14642, label %14643, label %14696

14643:                                            ; preds = %14640
  br label %14644

14644:                                            ; preds = %14643
  br label %14645

14645:                                            ; preds = %14644
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #10
  %14646 = call ptr @__errno_location() #11
  %14647 = load i32, ptr %14646, align 4, !tbaa !5
  store i32 %14647, ptr %300, align 4, !tbaa !5
  %14648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14649 = call i32 @s2n_print_stacktrace(ptr noundef %14648)
  %14650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14651 = trunc i8 %14650 to i1
  br i1 %14651, label %14652, label %14674

14652:                                            ; preds = %14645
  %14653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14654 = call i32 @fileno(ptr noundef %14653) #10
  %14655 = call i32 @isatty(i32 noundef %14654) #10
  %14656 = icmp ne i32 %14655, 0
  br i1 %14656, label %14657, label %14674

14657:                                            ; preds = %14652
  %14658 = load i32, ptr %300, align 4, !tbaa !5
  %14659 = call ptr @__errno_location() #11
  store i32 %14658, ptr %14659, align 4, !tbaa !5
  %14660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14661 = load i32, ptr @test_count, align 4, !tbaa !5
  %14662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14663 = load i32, ptr %14662, align 4, !tbaa !5
  %14664 = call ptr @s2n_strerror(i32 noundef %14663, ptr noundef @.str.65)
  %14665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14666 = load i32, ptr %14665, align 4, !tbaa !5
  %14667 = call ptr @s2n_strerror_debug(i32 noundef %14666, ptr noundef @.str.65)
  %14668 = call ptr @__errno_location() #11
  %14669 = load i32, ptr %14668, align 4, !tbaa !5
  %14670 = call ptr @strerror(i32 noundef %14669) #10
  %14671 = call ptr @__errno_location() #11
  %14672 = load i32, ptr %14671, align 4, !tbaa !5
  %14673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14660, ptr noundef @.str.63, i32 noundef %14661, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 689, ptr noundef %14664, ptr noundef %14667, ptr noundef %14670, i32 noundef %14672) #10
  br label %14691

14674:                                            ; preds = %14652, %14645
  %14675 = load i32, ptr %300, align 4, !tbaa !5
  %14676 = call ptr @__errno_location() #11
  store i32 %14675, ptr %14676, align 4, !tbaa !5
  %14677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14678 = load i32, ptr @test_count, align 4, !tbaa !5
  %14679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14680 = load i32, ptr %14679, align 4, !tbaa !5
  %14681 = call ptr @s2n_strerror(i32 noundef %14680, ptr noundef @.str.65)
  %14682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14683 = load i32, ptr %14682, align 4, !tbaa !5
  %14684 = call ptr @s2n_strerror_debug(i32 noundef %14683, ptr noundef @.str.65)
  %14685 = call ptr @__errno_location() #11
  %14686 = load i32, ptr %14685, align 4, !tbaa !5
  %14687 = call ptr @strerror(i32 noundef %14686) #10
  %14688 = call ptr @__errno_location() #11
  %14689 = load i32, ptr %14688, align 4, !tbaa !5
  %14690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14677, ptr noundef @.str.66, i32 noundef %14678, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 689, ptr noundef %14681, ptr noundef %14684, ptr noundef %14687, i32 noundef %14689) #10
  br label %14691

14691:                                            ; preds = %14674, %14657
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #10
  br label %14692

14692:                                            ; preds = %14691
  br label %14693

14693:                                            ; preds = %14692
  call void @exit(i32 noundef 1) #12
  unreachable

14694:                                            ; No predecessors!
  br label %14695

14695:                                            ; preds = %14694
  br label %14696

14696:                                            ; preds = %14695, %14640, %14635
  br label %14697

14697:                                            ; preds = %14696
  br label %14698

14698:                                            ; preds = %14697
  br label %14699

14699:                                            ; preds = %14698
  %14700 = load i32, ptr @test_count, align 4, !tbaa !5
  %14701 = add nsw i32 %14700, 1
  store i32 %14701, ptr @test_count, align 4, !tbaa !5
  %14702 = load ptr, ptr %259, align 8, !tbaa !9
  %14703 = getelementptr inbounds %struct.s2n_connection, ptr %14702, i32 0, i32 23
  %14704 = load i8, ptr %14703, align 4, !tbaa !66
  %14705 = zext i8 %14704 to i32
  %14706 = load i8, ptr %293, align 1, !tbaa !71
  %14707 = zext i8 %14706 to i32
  %14708 = icmp eq i32 %14705, %14707
  br i1 %14708, label %14762, label %14709

14709:                                            ; preds = %14699
  br label %14710

14710:                                            ; preds = %14709
  br label %14711

14711:                                            ; preds = %14710
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #10
  %14712 = call ptr @__errno_location() #11
  %14713 = load i32, ptr %14712, align 4, !tbaa !5
  store i32 %14713, ptr %301, align 4, !tbaa !5
  %14714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14715 = call i32 @s2n_print_stacktrace(ptr noundef %14714)
  %14716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14717 = trunc i8 %14716 to i1
  br i1 %14717, label %14718, label %14740

14718:                                            ; preds = %14711
  %14719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14720 = call i32 @fileno(ptr noundef %14719) #10
  %14721 = call i32 @isatty(i32 noundef %14720) #10
  %14722 = icmp ne i32 %14721, 0
  br i1 %14722, label %14723, label %14740

14723:                                            ; preds = %14718
  %14724 = load i32, ptr %301, align 4, !tbaa !5
  %14725 = call ptr @__errno_location() #11
  store i32 %14724, ptr %14725, align 4, !tbaa !5
  %14726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14727 = load i32, ptr @test_count, align 4, !tbaa !5
  %14728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14729 = load i32, ptr %14728, align 4, !tbaa !5
  %14730 = call ptr @s2n_strerror(i32 noundef %14729, ptr noundef @.str.65)
  %14731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14732 = load i32, ptr %14731, align 4, !tbaa !5
  %14733 = call ptr @s2n_strerror_debug(i32 noundef %14732, ptr noundef @.str.65)
  %14734 = call ptr @__errno_location() #11
  %14735 = load i32, ptr %14734, align 4, !tbaa !5
  %14736 = call ptr @strerror(i32 noundef %14735) #10
  %14737 = call ptr @__errno_location() #11
  %14738 = load i32, ptr %14737, align 4, !tbaa !5
  %14739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14726, ptr noundef @.str.63, i32 noundef %14727, ptr noundef @.str.163, ptr noundef @.str.62, i32 noundef 690, ptr noundef %14730, ptr noundef %14733, ptr noundef %14736, i32 noundef %14738) #10
  br label %14757

14740:                                            ; preds = %14718, %14711
  %14741 = load i32, ptr %301, align 4, !tbaa !5
  %14742 = call ptr @__errno_location() #11
  store i32 %14741, ptr %14742, align 4, !tbaa !5
  %14743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14744 = load i32, ptr @test_count, align 4, !tbaa !5
  %14745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14746 = load i32, ptr %14745, align 4, !tbaa !5
  %14747 = call ptr @s2n_strerror(i32 noundef %14746, ptr noundef @.str.65)
  %14748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14749 = load i32, ptr %14748, align 4, !tbaa !5
  %14750 = call ptr @s2n_strerror_debug(i32 noundef %14749, ptr noundef @.str.65)
  %14751 = call ptr @__errno_location() #11
  %14752 = load i32, ptr %14751, align 4, !tbaa !5
  %14753 = call ptr @strerror(i32 noundef %14752) #10
  %14754 = call ptr @__errno_location() #11
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14743, ptr noundef @.str.66, i32 noundef %14744, ptr noundef @.str.163, ptr noundef @.str.62, i32 noundef 690, ptr noundef %14747, ptr noundef %14750, ptr noundef %14753, i32 noundef %14755) #10
  br label %14757

14757:                                            ; preds = %14740, %14723
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #10
  br label %14758

14758:                                            ; preds = %14757
  br label %14759

14759:                                            ; preds = %14758
  call void @exit(i32 noundef 1) #12
  unreachable

14760:                                            ; No predecessors!
  br label %14761

14761:                                            ; preds = %14760
  br label %14762

14762:                                            ; preds = %14761, %14699
  br label %14763

14763:                                            ; preds = %14762
  br label %14764

14764:                                            ; preds = %14763
  br label %14765

14765:                                            ; preds = %14764
  %14766 = load i32, ptr @test_count, align 4, !tbaa !5
  %14767 = add nsw i32 %14766, 1
  store i32 %14767, ptr @test_count, align 4, !tbaa !5
  %14768 = load ptr, ptr %261, align 8, !tbaa !9
  %14769 = getelementptr inbounds %struct.s2n_connection, ptr %14768, i32 0, i32 23
  %14770 = load i8, ptr %14769, align 4, !tbaa !66
  %14771 = zext i8 %14770 to i32
  %14772 = load i8, ptr %293, align 1, !tbaa !71
  %14773 = zext i8 %14772 to i32
  %14774 = icmp eq i32 %14771, %14773
  br i1 %14774, label %14828, label %14775

14775:                                            ; preds = %14765
  br label %14776

14776:                                            ; preds = %14775
  br label %14777

14777:                                            ; preds = %14776
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #10
  %14778 = call ptr @__errno_location() #11
  %14779 = load i32, ptr %14778, align 4, !tbaa !5
  store i32 %14779, ptr %302, align 4, !tbaa !5
  %14780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14781 = call i32 @s2n_print_stacktrace(ptr noundef %14780)
  %14782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14783 = trunc i8 %14782 to i1
  br i1 %14783, label %14784, label %14806

14784:                                            ; preds = %14777
  %14785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14786 = call i32 @fileno(ptr noundef %14785) #10
  %14787 = call i32 @isatty(i32 noundef %14786) #10
  %14788 = icmp ne i32 %14787, 0
  br i1 %14788, label %14789, label %14806

14789:                                            ; preds = %14784
  %14790 = load i32, ptr %302, align 4, !tbaa !5
  %14791 = call ptr @__errno_location() #11
  store i32 %14790, ptr %14791, align 4, !tbaa !5
  %14792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14793 = load i32, ptr @test_count, align 4, !tbaa !5
  %14794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14795 = load i32, ptr %14794, align 4, !tbaa !5
  %14796 = call ptr @s2n_strerror(i32 noundef %14795, ptr noundef @.str.65)
  %14797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14798 = load i32, ptr %14797, align 4, !tbaa !5
  %14799 = call ptr @s2n_strerror_debug(i32 noundef %14798, ptr noundef @.str.65)
  %14800 = call ptr @__errno_location() #11
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  %14802 = call ptr @strerror(i32 noundef %14801) #10
  %14803 = call ptr @__errno_location() #11
  %14804 = load i32, ptr %14803, align 4, !tbaa !5
  %14805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14792, ptr noundef @.str.63, i32 noundef %14793, ptr noundef @.str.164, ptr noundef @.str.62, i32 noundef 691, ptr noundef %14796, ptr noundef %14799, ptr noundef %14802, i32 noundef %14804) #10
  br label %14823

14806:                                            ; preds = %14784, %14777
  %14807 = load i32, ptr %302, align 4, !tbaa !5
  %14808 = call ptr @__errno_location() #11
  store i32 %14807, ptr %14808, align 4, !tbaa !5
  %14809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14810 = load i32, ptr @test_count, align 4, !tbaa !5
  %14811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14812 = load i32, ptr %14811, align 4, !tbaa !5
  %14813 = call ptr @s2n_strerror(i32 noundef %14812, ptr noundef @.str.65)
  %14814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14815 = load i32, ptr %14814, align 4, !tbaa !5
  %14816 = call ptr @s2n_strerror_debug(i32 noundef %14815, ptr noundef @.str.65)
  %14817 = call ptr @__errno_location() #11
  %14818 = load i32, ptr %14817, align 4, !tbaa !5
  %14819 = call ptr @strerror(i32 noundef %14818) #10
  %14820 = call ptr @__errno_location() #11
  %14821 = load i32, ptr %14820, align 4, !tbaa !5
  %14822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14809, ptr noundef @.str.66, i32 noundef %14810, ptr noundef @.str.164, ptr noundef @.str.62, i32 noundef 691, ptr noundef %14813, ptr noundef %14816, ptr noundef %14819, i32 noundef %14821) #10
  br label %14823

14823:                                            ; preds = %14806, %14789
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #10
  br label %14824

14824:                                            ; preds = %14823
  br label %14825

14825:                                            ; preds = %14824
  call void @exit(i32 noundef 1) #12
  unreachable

14826:                                            ; No predecessors!
  br label %14827

14827:                                            ; preds = %14826
  br label %14828

14828:                                            ; preds = %14827, %14765
  br label %14829

14829:                                            ; preds = %14828
  br label %14830

14830:                                            ; preds = %14829
  %14831 = load i8, ptr %292, align 1, !tbaa !11, !range !13, !noundef !14
  %14832 = trunc i8 %14831 to i1
  br i1 %14832, label %14833, label %15027

14833:                                            ; preds = %14830
  br label %14834

14834:                                            ; preds = %14833
  %14835 = load i32, ptr @test_count, align 4, !tbaa !5
  %14836 = add nsw i32 %14835, 1
  store i32 %14836, ptr @test_count, align 4, !tbaa !5
  %14837 = call i32 @s2n_stuffer_wipe(ptr noundef %268)
  %14838 = icmp eq i32 %14837, -1
  br i1 %14838, label %14839, label %14892

14839:                                            ; preds = %14834
  br label %14840

14840:                                            ; preds = %14839
  br label %14841

14841:                                            ; preds = %14840
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #10
  %14842 = call ptr @__errno_location() #11
  %14843 = load i32, ptr %14842, align 4, !tbaa !5
  store i32 %14843, ptr %303, align 4, !tbaa !5
  %14844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14845 = call i32 @s2n_print_stacktrace(ptr noundef %14844)
  %14846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14847 = trunc i8 %14846 to i1
  br i1 %14847, label %14848, label %14870

14848:                                            ; preds = %14841
  %14849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14850 = call i32 @fileno(ptr noundef %14849) #10
  %14851 = call i32 @isatty(i32 noundef %14850) #10
  %14852 = icmp ne i32 %14851, 0
  br i1 %14852, label %14853, label %14870

14853:                                            ; preds = %14848
  %14854 = load i32, ptr %303, align 4, !tbaa !5
  %14855 = call ptr @__errno_location() #11
  store i32 %14854, ptr %14855, align 4, !tbaa !5
  %14856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14857 = load i32, ptr @test_count, align 4, !tbaa !5
  %14858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14859 = load i32, ptr %14858, align 4, !tbaa !5
  %14860 = call ptr @s2n_strerror(i32 noundef %14859, ptr noundef @.str.65)
  %14861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14862 = load i32, ptr %14861, align 4, !tbaa !5
  %14863 = call ptr @s2n_strerror_debug(i32 noundef %14862, ptr noundef @.str.65)
  %14864 = call ptr @__errno_location() #11
  %14865 = load i32, ptr %14864, align 4, !tbaa !5
  %14866 = call ptr @strerror(i32 noundef %14865) #10
  %14867 = call ptr @__errno_location() #11
  %14868 = load i32, ptr %14867, align 4, !tbaa !5
  %14869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14856, ptr noundef @.str.63, i32 noundef %14857, ptr noundef @.str.165, ptr noundef @.str.62, i32 noundef 694, ptr noundef %14860, ptr noundef %14863, ptr noundef %14866, i32 noundef %14868) #10
  br label %14887

14870:                                            ; preds = %14848, %14841
  %14871 = load i32, ptr %303, align 4, !tbaa !5
  %14872 = call ptr @__errno_location() #11
  store i32 %14871, ptr %14872, align 4, !tbaa !5
  %14873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14874 = load i32, ptr @test_count, align 4, !tbaa !5
  %14875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14876 = load i32, ptr %14875, align 4, !tbaa !5
  %14877 = call ptr @s2n_strerror(i32 noundef %14876, ptr noundef @.str.65)
  %14878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14879 = load i32, ptr %14878, align 4, !tbaa !5
  %14880 = call ptr @s2n_strerror_debug(i32 noundef %14879, ptr noundef @.str.65)
  %14881 = call ptr @__errno_location() #11
  %14882 = load i32, ptr %14881, align 4, !tbaa !5
  %14883 = call ptr @strerror(i32 noundef %14882) #10
  %14884 = call ptr @__errno_location() #11
  %14885 = load i32, ptr %14884, align 4, !tbaa !5
  %14886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14873, ptr noundef @.str.66, i32 noundef %14874, ptr noundef @.str.165, ptr noundef @.str.62, i32 noundef 694, ptr noundef %14877, ptr noundef %14880, ptr noundef %14883, i32 noundef %14885) #10
  br label %14887

14887:                                            ; preds = %14870, %14853
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #10
  br label %14888

14888:                                            ; preds = %14887
  br label %14889

14889:                                            ; preds = %14888
  call void @exit(i32 noundef 1) #12
  unreachable

14890:                                            ; No predecessors!
  br label %14891

14891:                                            ; preds = %14890
  br label %14892

14892:                                            ; preds = %14891, %14834
  br label %14893

14893:                                            ; preds = %14892
  br label %14894

14894:                                            ; preds = %14893
  br label %14895

14895:                                            ; preds = %14894
  %14896 = load i32, ptr @test_count, align 4, !tbaa !5
  %14897 = add nsw i32 %14896, 1
  store i32 %14897, ptr @test_count, align 4, !tbaa !5
  %14898 = load ptr, ptr %261, align 8, !tbaa !9
  %14899 = load ptr, ptr %259, align 8, !tbaa !9
  %14900 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %14898, ptr noundef %14899, ptr noundef %19)
  %14901 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  store i32 %14900, ptr %14901, align 4
  %14902 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  %14903 = load i32, ptr %14902, align 4
  %14904 = call zeroext i1 @s2n_result_is_ok(i32 %14903)
  br i1 %14904, label %14958, label %14905

14905:                                            ; preds = %14895
  br label %14906

14906:                                            ; preds = %14905
  br label %14907

14907:                                            ; preds = %14906
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #10
  %14908 = call ptr @__errno_location() #11
  %14909 = load i32, ptr %14908, align 4, !tbaa !5
  store i32 %14909, ptr %305, align 4, !tbaa !5
  %14910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14911 = call i32 @s2n_print_stacktrace(ptr noundef %14910)
  %14912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14913 = trunc i8 %14912 to i1
  br i1 %14913, label %14914, label %14936

14914:                                            ; preds = %14907
  %14915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14916 = call i32 @fileno(ptr noundef %14915) #10
  %14917 = call i32 @isatty(i32 noundef %14916) #10
  %14918 = icmp ne i32 %14917, 0
  br i1 %14918, label %14919, label %14936

14919:                                            ; preds = %14914
  %14920 = load i32, ptr %305, align 4, !tbaa !5
  %14921 = call ptr @__errno_location() #11
  store i32 %14920, ptr %14921, align 4, !tbaa !5
  %14922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14923 = load i32, ptr @test_count, align 4, !tbaa !5
  %14924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14925 = load i32, ptr %14924, align 4, !tbaa !5
  %14926 = call ptr @s2n_strerror(i32 noundef %14925, ptr noundef @.str.65)
  %14927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14928 = load i32, ptr %14927, align 4, !tbaa !5
  %14929 = call ptr @s2n_strerror_debug(i32 noundef %14928, ptr noundef @.str.65)
  %14930 = call ptr @__errno_location() #11
  %14931 = load i32, ptr %14930, align 4, !tbaa !5
  %14932 = call ptr @strerror(i32 noundef %14931) #10
  %14933 = call ptr @__errno_location() #11
  %14934 = load i32, ptr %14933, align 4, !tbaa !5
  %14935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14922, ptr noundef @.str.63, i32 noundef %14923, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 695, ptr noundef %14926, ptr noundef %14929, ptr noundef %14932, i32 noundef %14934) #10
  br label %14953

14936:                                            ; preds = %14914, %14907
  %14937 = load i32, ptr %305, align 4, !tbaa !5
  %14938 = call ptr @__errno_location() #11
  store i32 %14937, ptr %14938, align 4, !tbaa !5
  %14939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14940 = load i32, ptr @test_count, align 4, !tbaa !5
  %14941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14942 = load i32, ptr %14941, align 4, !tbaa !5
  %14943 = call ptr @s2n_strerror(i32 noundef %14942, ptr noundef @.str.65)
  %14944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14945 = load i32, ptr %14944, align 4, !tbaa !5
  %14946 = call ptr @s2n_strerror_debug(i32 noundef %14945, ptr noundef @.str.65)
  %14947 = call ptr @__errno_location() #11
  %14948 = load i32, ptr %14947, align 4, !tbaa !5
  %14949 = call ptr @strerror(i32 noundef %14948) #10
  %14950 = call ptr @__errno_location() #11
  %14951 = load i32, ptr %14950, align 4, !tbaa !5
  %14952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14939, ptr noundef @.str.66, i32 noundef %14940, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 695, ptr noundef %14943, ptr noundef %14946, ptr noundef %14949, i32 noundef %14951) #10
  br label %14953

14953:                                            ; preds = %14936, %14919
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #10
  br label %14954

14954:                                            ; preds = %14953
  br label %14955

14955:                                            ; preds = %14954
  call void @exit(i32 noundef 1) #12
  unreachable

14956:                                            ; No predecessors!
  br label %14957

14957:                                            ; preds = %14956
  br label %14958

14958:                                            ; preds = %14957, %14895
  br label %14959

14959:                                            ; preds = %14958
  br label %14960

14960:                                            ; preds = %14959
  br label %14961

14961:                                            ; preds = %14960
  %14962 = load i32, ptr @test_count, align 4, !tbaa !5
  %14963 = add nsw i32 %14962, 1
  store i32 %14963, ptr @test_count, align 4, !tbaa !5
  %14964 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %14965 = load i32, ptr %14964, align 4, !tbaa !27
  %14966 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %14967 = load i32, ptr %14966, align 8, !tbaa !30
  %14968 = sub i32 %14965, %14967
  %14969 = call i32 @s2n_stuffer_copy(ptr noundef %45, ptr noundef %268, i32 noundef %14968)
  %14970 = icmp eq i32 %14969, -1
  br i1 %14970, label %14971, label %15024

14971:                                            ; preds = %14961
  br label %14972

14972:                                            ; preds = %14971
  br label %14973

14973:                                            ; preds = %14972
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #10
  %14974 = call ptr @__errno_location() #11
  %14975 = load i32, ptr %14974, align 4, !tbaa !5
  store i32 %14975, ptr %306, align 4, !tbaa !5
  %14976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14977 = call i32 @s2n_print_stacktrace(ptr noundef %14976)
  %14978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14979 = trunc i8 %14978 to i1
  br i1 %14979, label %14980, label %15002

14980:                                            ; preds = %14973
  %14981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14982 = call i32 @fileno(ptr noundef %14981) #10
  %14983 = call i32 @isatty(i32 noundef %14982) #10
  %14984 = icmp ne i32 %14983, 0
  br i1 %14984, label %14985, label %15002

14985:                                            ; preds = %14980
  %14986 = load i32, ptr %306, align 4, !tbaa !5
  %14987 = call ptr @__errno_location() #11
  store i32 %14986, ptr %14987, align 4, !tbaa !5
  %14988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14989 = load i32, ptr @test_count, align 4, !tbaa !5
  %14990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14991 = load i32, ptr %14990, align 4, !tbaa !5
  %14992 = call ptr @s2n_strerror(i32 noundef %14991, ptr noundef @.str.65)
  %14993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14994 = load i32, ptr %14993, align 4, !tbaa !5
  %14995 = call ptr @s2n_strerror_debug(i32 noundef %14994, ptr noundef @.str.65)
  %14996 = call ptr @__errno_location() #11
  %14997 = load i32, ptr %14996, align 4, !tbaa !5
  %14998 = call ptr @strerror(i32 noundef %14997) #10
  %14999 = call ptr @__errno_location() #11
  %15000 = load i32, ptr %14999, align 4, !tbaa !5
  %15001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14988, ptr noundef @.str.63, i32 noundef %14989, ptr noundef @.str.157, ptr noundef @.str.62, i32 noundef 696, ptr noundef %14992, ptr noundef %14995, ptr noundef %14998, i32 noundef %15000) #10
  br label %15019

15002:                                            ; preds = %14980, %14973
  %15003 = load i32, ptr %306, align 4, !tbaa !5
  %15004 = call ptr @__errno_location() #11
  store i32 %15003, ptr %15004, align 4, !tbaa !5
  %15005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15006 = load i32, ptr @test_count, align 4, !tbaa !5
  %15007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15008 = load i32, ptr %15007, align 4, !tbaa !5
  %15009 = call ptr @s2n_strerror(i32 noundef %15008, ptr noundef @.str.65)
  %15010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15011 = load i32, ptr %15010, align 4, !tbaa !5
  %15012 = call ptr @s2n_strerror_debug(i32 noundef %15011, ptr noundef @.str.65)
  %15013 = call ptr @__errno_location() #11
  %15014 = load i32, ptr %15013, align 4, !tbaa !5
  %15015 = call ptr @strerror(i32 noundef %15014) #10
  %15016 = call ptr @__errno_location() #11
  %15017 = load i32, ptr %15016, align 4, !tbaa !5
  %15018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15005, ptr noundef @.str.66, i32 noundef %15006, ptr noundef @.str.157, ptr noundef @.str.62, i32 noundef 696, ptr noundef %15009, ptr noundef %15012, ptr noundef %15015, i32 noundef %15017) #10
  br label %15019

15019:                                            ; preds = %15002, %14985
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #10
  br label %15020

15020:                                            ; preds = %15019
  br label %15021

15021:                                            ; preds = %15020
  call void @exit(i32 noundef 1) #12
  unreachable

15022:                                            ; No predecessors!
  br label %15023

15023:                                            ; preds = %15022
  br label %15024

15024:                                            ; preds = %15023, %14961
  br label %15025

15025:                                            ; preds = %15024
  br label %15026

15026:                                            ; preds = %15025
  br label %15220

15027:                                            ; preds = %14830
  br label %15028

15028:                                            ; preds = %15027
  %15029 = load i32, ptr @test_count, align 4, !tbaa !5
  %15030 = add nsw i32 %15029, 1
  store i32 %15030, ptr @test_count, align 4, !tbaa !5
  %15031 = call i32 @s2n_stuffer_wipe(ptr noundef %267)
  %15032 = icmp eq i32 %15031, -1
  br i1 %15032, label %15033, label %15086

15033:                                            ; preds = %15028
  br label %15034

15034:                                            ; preds = %15033
  br label %15035

15035:                                            ; preds = %15034
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #10
  %15036 = call ptr @__errno_location() #11
  %15037 = load i32, ptr %15036, align 4, !tbaa !5
  store i32 %15037, ptr %307, align 4, !tbaa !5
  %15038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15039 = call i32 @s2n_print_stacktrace(ptr noundef %15038)
  %15040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15041 = trunc i8 %15040 to i1
  br i1 %15041, label %15042, label %15064

15042:                                            ; preds = %15035
  %15043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15044 = call i32 @fileno(ptr noundef %15043) #10
  %15045 = call i32 @isatty(i32 noundef %15044) #10
  %15046 = icmp ne i32 %15045, 0
  br i1 %15046, label %15047, label %15064

15047:                                            ; preds = %15042
  %15048 = load i32, ptr %307, align 4, !tbaa !5
  %15049 = call ptr @__errno_location() #11
  store i32 %15048, ptr %15049, align 4, !tbaa !5
  %15050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15051 = load i32, ptr @test_count, align 4, !tbaa !5
  %15052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15053 = load i32, ptr %15052, align 4, !tbaa !5
  %15054 = call ptr @s2n_strerror(i32 noundef %15053, ptr noundef @.str.65)
  %15055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15056 = load i32, ptr %15055, align 4, !tbaa !5
  %15057 = call ptr @s2n_strerror_debug(i32 noundef %15056, ptr noundef @.str.65)
  %15058 = call ptr @__errno_location() #11
  %15059 = load i32, ptr %15058, align 4, !tbaa !5
  %15060 = call ptr @strerror(i32 noundef %15059) #10
  %15061 = call ptr @__errno_location() #11
  %15062 = load i32, ptr %15061, align 4, !tbaa !5
  %15063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15050, ptr noundef @.str.63, i32 noundef %15051, ptr noundef @.str.166, ptr noundef @.str.62, i32 noundef 698, ptr noundef %15054, ptr noundef %15057, ptr noundef %15060, i32 noundef %15062) #10
  br label %15081

15064:                                            ; preds = %15042, %15035
  %15065 = load i32, ptr %307, align 4, !tbaa !5
  %15066 = call ptr @__errno_location() #11
  store i32 %15065, ptr %15066, align 4, !tbaa !5
  %15067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15068 = load i32, ptr @test_count, align 4, !tbaa !5
  %15069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15070 = load i32, ptr %15069, align 4, !tbaa !5
  %15071 = call ptr @s2n_strerror(i32 noundef %15070, ptr noundef @.str.65)
  %15072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15073 = load i32, ptr %15072, align 4, !tbaa !5
  %15074 = call ptr @s2n_strerror_debug(i32 noundef %15073, ptr noundef @.str.65)
  %15075 = call ptr @__errno_location() #11
  %15076 = load i32, ptr %15075, align 4, !tbaa !5
  %15077 = call ptr @strerror(i32 noundef %15076) #10
  %15078 = call ptr @__errno_location() #11
  %15079 = load i32, ptr %15078, align 4, !tbaa !5
  %15080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15067, ptr noundef @.str.66, i32 noundef %15068, ptr noundef @.str.166, ptr noundef @.str.62, i32 noundef 698, ptr noundef %15071, ptr noundef %15074, ptr noundef %15077, i32 noundef %15079) #10
  br label %15081

15081:                                            ; preds = %15064, %15047
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #10
  br label %15082

15082:                                            ; preds = %15081
  br label %15083

15083:                                            ; preds = %15082
  call void @exit(i32 noundef 1) #12
  unreachable

15084:                                            ; No predecessors!
  br label %15085

15085:                                            ; preds = %15084
  br label %15086

15086:                                            ; preds = %15085, %15028
  br label %15087

15087:                                            ; preds = %15086
  br label %15088

15088:                                            ; preds = %15087
  %15089 = load ptr, ptr %259, align 8, !tbaa !9
  %15090 = call i32 @s2n_connection_get_session_length(ptr noundef %15089)
  store i32 %15090, ptr %284, align 4, !tbaa !5
  br label %15091

15091:                                            ; preds = %15088
  %15092 = load i32, ptr @test_count, align 4, !tbaa !5
  %15093 = add nsw i32 %15092, 1
  store i32 %15093, ptr @test_count, align 4, !tbaa !5
  %15094 = load i32, ptr %284, align 4, !tbaa !5
  %15095 = call i32 @s2n_stuffer_skip_write(ptr noundef %267, i32 noundef %15094)
  %15096 = icmp eq i32 %15095, -1
  br i1 %15096, label %15097, label %15150

15097:                                            ; preds = %15091
  br label %15098

15098:                                            ; preds = %15097
  br label %15099

15099:                                            ; preds = %15098
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #10
  %15100 = call ptr @__errno_location() #11
  %15101 = load i32, ptr %15100, align 4, !tbaa !5
  store i32 %15101, ptr %308, align 4, !tbaa !5
  %15102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15103 = call i32 @s2n_print_stacktrace(ptr noundef %15102)
  %15104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15105 = trunc i8 %15104 to i1
  br i1 %15105, label %15106, label %15128

15106:                                            ; preds = %15099
  %15107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15108 = call i32 @fileno(ptr noundef %15107) #10
  %15109 = call i32 @isatty(i32 noundef %15108) #10
  %15110 = icmp ne i32 %15109, 0
  br i1 %15110, label %15111, label %15128

15111:                                            ; preds = %15106
  %15112 = load i32, ptr %308, align 4, !tbaa !5
  %15113 = call ptr @__errno_location() #11
  store i32 %15112, ptr %15113, align 4, !tbaa !5
  %15114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15115 = load i32, ptr @test_count, align 4, !tbaa !5
  %15116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15117 = load i32, ptr %15116, align 4, !tbaa !5
  %15118 = call ptr @s2n_strerror(i32 noundef %15117, ptr noundef @.str.65)
  %15119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15120 = load i32, ptr %15119, align 4, !tbaa !5
  %15121 = call ptr @s2n_strerror_debug(i32 noundef %15120, ptr noundef @.str.65)
  %15122 = call ptr @__errno_location() #11
  %15123 = load i32, ptr %15122, align 4, !tbaa !5
  %15124 = call ptr @strerror(i32 noundef %15123) #10
  %15125 = call ptr @__errno_location() #11
  %15126 = load i32, ptr %15125, align 4, !tbaa !5
  %15127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15114, ptr noundef @.str.63, i32 noundef %15115, ptr noundef @.str.158, ptr noundef @.str.62, i32 noundef 700, ptr noundef %15118, ptr noundef %15121, ptr noundef %15124, i32 noundef %15126) #10
  br label %15145

15128:                                            ; preds = %15106, %15099
  %15129 = load i32, ptr %308, align 4, !tbaa !5
  %15130 = call ptr @__errno_location() #11
  store i32 %15129, ptr %15130, align 4, !tbaa !5
  %15131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15132 = load i32, ptr @test_count, align 4, !tbaa !5
  %15133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call ptr @s2n_strerror(i32 noundef %15134, ptr noundef @.str.65)
  %15136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15137 = load i32, ptr %15136, align 4, !tbaa !5
  %15138 = call ptr @s2n_strerror_debug(i32 noundef %15137, ptr noundef @.str.65)
  %15139 = call ptr @__errno_location() #11
  %15140 = load i32, ptr %15139, align 4, !tbaa !5
  %15141 = call ptr @strerror(i32 noundef %15140) #10
  %15142 = call ptr @__errno_location() #11
  %15143 = load i32, ptr %15142, align 4, !tbaa !5
  %15144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15131, ptr noundef @.str.66, i32 noundef %15132, ptr noundef @.str.158, ptr noundef @.str.62, i32 noundef 700, ptr noundef %15135, ptr noundef %15138, ptr noundef %15141, i32 noundef %15143) #10
  br label %15145

15145:                                            ; preds = %15128, %15111
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #10
  br label %15146

15146:                                            ; preds = %15145
  br label %15147

15147:                                            ; preds = %15146
  call void @exit(i32 noundef 1) #12
  unreachable

15148:                                            ; No predecessors!
  br label %15149

15149:                                            ; preds = %15148
  br label %15150

15150:                                            ; preds = %15149, %15091
  br label %15151

15151:                                            ; preds = %15150
  br label %15152

15152:                                            ; preds = %15151
  br label %15153

15153:                                            ; preds = %15152
  %15154 = load i32, ptr @test_count, align 4, !tbaa !5
  %15155 = add nsw i32 %15154, 1
  store i32 %15155, ptr @test_count, align 4, !tbaa !5
  %15156 = load ptr, ptr %259, align 8, !tbaa !9
  %15157 = getelementptr inbounds %struct.s2n_stuffer, ptr %267, i32 0, i32 0
  %15158 = getelementptr inbounds %struct.s2n_blob, ptr %15157, i32 0, i32 0
  %15159 = load ptr, ptr %15158, align 8, !tbaa !31
  %15160 = load i32, ptr %284, align 4, !tbaa !5
  %15161 = sext i32 %15160 to i64
  %15162 = call i32 @s2n_connection_get_session(ptr noundef %15156, ptr noundef %15159, i64 noundef %15161)
  %15163 = icmp eq i32 %15162, -1
  br i1 %15163, label %15164, label %15217

15164:                                            ; preds = %15153
  br label %15165

15165:                                            ; preds = %15164
  br label %15166

15166:                                            ; preds = %15165
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #10
  %15167 = call ptr @__errno_location() #11
  %15168 = load i32, ptr %15167, align 4, !tbaa !5
  store i32 %15168, ptr %309, align 4, !tbaa !5
  %15169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15170 = call i32 @s2n_print_stacktrace(ptr noundef %15169)
  %15171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15172 = trunc i8 %15171 to i1
  br i1 %15172, label %15173, label %15195

15173:                                            ; preds = %15166
  %15174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15175 = call i32 @fileno(ptr noundef %15174) #10
  %15176 = call i32 @isatty(i32 noundef %15175) #10
  %15177 = icmp ne i32 %15176, 0
  br i1 %15177, label %15178, label %15195

15178:                                            ; preds = %15173
  %15179 = load i32, ptr %309, align 4, !tbaa !5
  %15180 = call ptr @__errno_location() #11
  store i32 %15179, ptr %15180, align 4, !tbaa !5
  %15181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15182 = load i32, ptr @test_count, align 4, !tbaa !5
  %15183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15184 = load i32, ptr %15183, align 4, !tbaa !5
  %15185 = call ptr @s2n_strerror(i32 noundef %15184, ptr noundef @.str.65)
  %15186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15187 = load i32, ptr %15186, align 4, !tbaa !5
  %15188 = call ptr @s2n_strerror_debug(i32 noundef %15187, ptr noundef @.str.65)
  %15189 = call ptr @__errno_location() #11
  %15190 = load i32, ptr %15189, align 4, !tbaa !5
  %15191 = call ptr @strerror(i32 noundef %15190) #10
  %15192 = call ptr @__errno_location() #11
  %15193 = load i32, ptr %15192, align 4, !tbaa !5
  %15194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15181, ptr noundef @.str.63, i32 noundef %15182, ptr noundef @.str.159, ptr noundef @.str.62, i32 noundef 701, ptr noundef %15185, ptr noundef %15188, ptr noundef %15191, i32 noundef %15193) #10
  br label %15212

15195:                                            ; preds = %15173, %15166
  %15196 = load i32, ptr %309, align 4, !tbaa !5
  %15197 = call ptr @__errno_location() #11
  store i32 %15196, ptr %15197, align 4, !tbaa !5
  %15198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15199 = load i32, ptr @test_count, align 4, !tbaa !5
  %15200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15201 = load i32, ptr %15200, align 4, !tbaa !5
  %15202 = call ptr @s2n_strerror(i32 noundef %15201, ptr noundef @.str.65)
  %15203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15204 = load i32, ptr %15203, align 4, !tbaa !5
  %15205 = call ptr @s2n_strerror_debug(i32 noundef %15204, ptr noundef @.str.65)
  %15206 = call ptr @__errno_location() #11
  %15207 = load i32, ptr %15206, align 4, !tbaa !5
  %15208 = call ptr @strerror(i32 noundef %15207) #10
  %15209 = call ptr @__errno_location() #11
  %15210 = load i32, ptr %15209, align 4, !tbaa !5
  %15211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15198, ptr noundef @.str.66, i32 noundef %15199, ptr noundef @.str.159, ptr noundef @.str.62, i32 noundef 701, ptr noundef %15202, ptr noundef %15205, ptr noundef %15208, i32 noundef %15210) #10
  br label %15212

15212:                                            ; preds = %15195, %15178
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #10
  br label %15213

15213:                                            ; preds = %15212
  br label %15214

15214:                                            ; preds = %15213
  call void @exit(i32 noundef 1) #12
  unreachable

15215:                                            ; No predecessors!
  br label %15216

15216:                                            ; preds = %15215
  br label %15217

15217:                                            ; preds = %15216, %15153
  br label %15218

15218:                                            ; preds = %15217
  br label %15219

15219:                                            ; preds = %15218
  br label %15220

15220:                                            ; preds = %15219, %15026
  call void @llvm.lifetime.end.p0(i64 1, ptr %293) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %292) #10
  br label %15221

15221:                                            ; preds = %15220
  %15222 = load i64, ptr %287, align 8, !tbaa !15
  %15223 = add i64 %15222, 1
  store i64 %15223, ptr %287, align 8, !tbaa !15
  br label %14037, !llvm.loop !72

15224:                                            ; preds = %14040
  br label %15225

15225:                                            ; preds = %15224
  %15226 = load i32, ptr @test_count, align 4, !tbaa !5
  %15227 = add nsw i32 %15226, 1
  store i32 %15227, ptr @test_count, align 4, !tbaa !5
  %15228 = load ptr, ptr %261, align 8, !tbaa !9
  %15229 = call i32 @s2n_connection_free(ptr noundef %15228)
  %15230 = icmp eq i32 %15229, -1
  br i1 %15230, label %15231, label %15284

15231:                                            ; preds = %15225
  br label %15232

15232:                                            ; preds = %15231
  br label %15233

15233:                                            ; preds = %15232
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #10
  %15234 = call ptr @__errno_location() #11
  %15235 = load i32, ptr %15234, align 4, !tbaa !5
  store i32 %15235, ptr %310, align 4, !tbaa !5
  %15236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15237 = call i32 @s2n_print_stacktrace(ptr noundef %15236)
  %15238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15239 = trunc i8 %15238 to i1
  br i1 %15239, label %15240, label %15262

15240:                                            ; preds = %15233
  %15241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15242 = call i32 @fileno(ptr noundef %15241) #10
  %15243 = call i32 @isatty(i32 noundef %15242) #10
  %15244 = icmp ne i32 %15243, 0
  br i1 %15244, label %15245, label %15262

15245:                                            ; preds = %15240
  %15246 = load i32, ptr %310, align 4, !tbaa !5
  %15247 = call ptr @__errno_location() #11
  store i32 %15246, ptr %15247, align 4, !tbaa !5
  %15248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15249 = load i32, ptr @test_count, align 4, !tbaa !5
  %15250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15251 = load i32, ptr %15250, align 4, !tbaa !5
  %15252 = call ptr @s2n_strerror(i32 noundef %15251, ptr noundef @.str.65)
  %15253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15254 = load i32, ptr %15253, align 4, !tbaa !5
  %15255 = call ptr @s2n_strerror_debug(i32 noundef %15254, ptr noundef @.str.65)
  %15256 = call ptr @__errno_location() #11
  %15257 = load i32, ptr %15256, align 4, !tbaa !5
  %15258 = call ptr @strerror(i32 noundef %15257) #10
  %15259 = call ptr @__errno_location() #11
  %15260 = load i32, ptr %15259, align 4, !tbaa !5
  %15261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15248, ptr noundef @.str.63, i32 noundef %15249, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 705, ptr noundef %15252, ptr noundef %15255, ptr noundef %15258, i32 noundef %15260) #10
  br label %15279

15262:                                            ; preds = %15240, %15233
  %15263 = load i32, ptr %310, align 4, !tbaa !5
  %15264 = call ptr @__errno_location() #11
  store i32 %15263, ptr %15264, align 4, !tbaa !5
  %15265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15266 = load i32, ptr @test_count, align 4, !tbaa !5
  %15267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15268 = load i32, ptr %15267, align 4, !tbaa !5
  %15269 = call ptr @s2n_strerror(i32 noundef %15268, ptr noundef @.str.65)
  %15270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15271 = load i32, ptr %15270, align 4, !tbaa !5
  %15272 = call ptr @s2n_strerror_debug(i32 noundef %15271, ptr noundef @.str.65)
  %15273 = call ptr @__errno_location() #11
  %15274 = load i32, ptr %15273, align 4, !tbaa !5
  %15275 = call ptr @strerror(i32 noundef %15274) #10
  %15276 = call ptr @__errno_location() #11
  %15277 = load i32, ptr %15276, align 4, !tbaa !5
  %15278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15265, ptr noundef @.str.66, i32 noundef %15266, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 705, ptr noundef %15269, ptr noundef %15272, ptr noundef %15275, i32 noundef %15277) #10
  br label %15279

15279:                                            ; preds = %15262, %15245
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #10
  br label %15280

15280:                                            ; preds = %15279
  br label %15281

15281:                                            ; preds = %15280
  call void @exit(i32 noundef 1) #12
  unreachable

15282:                                            ; No predecessors!
  br label %15283

15283:                                            ; preds = %15282
  br label %15284

15284:                                            ; preds = %15283, %15225
  br label %15285

15285:                                            ; preds = %15284
  br label %15286

15286:                                            ; preds = %15285
  br label %15287

15287:                                            ; preds = %15286
  %15288 = load i32, ptr @test_count, align 4, !tbaa !5
  %15289 = add nsw i32 %15288, 1
  store i32 %15289, ptr @test_count, align 4, !tbaa !5
  %15290 = load ptr, ptr %259, align 8, !tbaa !9
  %15291 = call i32 @s2n_connection_free(ptr noundef %15290)
  %15292 = icmp eq i32 %15291, -1
  br i1 %15292, label %15293, label %15346

15293:                                            ; preds = %15287
  br label %15294

15294:                                            ; preds = %15293
  br label %15295

15295:                                            ; preds = %15294
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #10
  %15296 = call ptr @__errno_location() #11
  %15297 = load i32, ptr %15296, align 4, !tbaa !5
  store i32 %15297, ptr %311, align 4, !tbaa !5
  %15298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15299 = call i32 @s2n_print_stacktrace(ptr noundef %15298)
  %15300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15301 = trunc i8 %15300 to i1
  br i1 %15301, label %15302, label %15324

15302:                                            ; preds = %15295
  %15303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15304 = call i32 @fileno(ptr noundef %15303) #10
  %15305 = call i32 @isatty(i32 noundef %15304) #10
  %15306 = icmp ne i32 %15305, 0
  br i1 %15306, label %15307, label %15324

15307:                                            ; preds = %15302
  %15308 = load i32, ptr %311, align 4, !tbaa !5
  %15309 = call ptr @__errno_location() #11
  store i32 %15308, ptr %15309, align 4, !tbaa !5
  %15310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15311 = load i32, ptr @test_count, align 4, !tbaa !5
  %15312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15313 = load i32, ptr %15312, align 4, !tbaa !5
  %15314 = call ptr @s2n_strerror(i32 noundef %15313, ptr noundef @.str.65)
  %15315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15316 = load i32, ptr %15315, align 4, !tbaa !5
  %15317 = call ptr @s2n_strerror_debug(i32 noundef %15316, ptr noundef @.str.65)
  %15318 = call ptr @__errno_location() #11
  %15319 = load i32, ptr %15318, align 4, !tbaa !5
  %15320 = call ptr @strerror(i32 noundef %15319) #10
  %15321 = call ptr @__errno_location() #11
  %15322 = load i32, ptr %15321, align 4, !tbaa !5
  %15323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15310, ptr noundef @.str.63, i32 noundef %15311, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 706, ptr noundef %15314, ptr noundef %15317, ptr noundef %15320, i32 noundef %15322) #10
  br label %15341

15324:                                            ; preds = %15302, %15295
  %15325 = load i32, ptr %311, align 4, !tbaa !5
  %15326 = call ptr @__errno_location() #11
  store i32 %15325, ptr %15326, align 4, !tbaa !5
  %15327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15328 = load i32, ptr @test_count, align 4, !tbaa !5
  %15329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15330 = load i32, ptr %15329, align 4, !tbaa !5
  %15331 = call ptr @s2n_strerror(i32 noundef %15330, ptr noundef @.str.65)
  %15332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15333 = load i32, ptr %15332, align 4, !tbaa !5
  %15334 = call ptr @s2n_strerror_debug(i32 noundef %15333, ptr noundef @.str.65)
  %15335 = call ptr @__errno_location() #11
  %15336 = load i32, ptr %15335, align 4, !tbaa !5
  %15337 = call ptr @strerror(i32 noundef %15336) #10
  %15338 = call ptr @__errno_location() #11
  %15339 = load i32, ptr %15338, align 4, !tbaa !5
  %15340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15327, ptr noundef @.str.66, i32 noundef %15328, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 706, ptr noundef %15331, ptr noundef %15334, ptr noundef %15337, i32 noundef %15339) #10
  br label %15341

15341:                                            ; preds = %15324, %15307
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #10
  br label %15342

15342:                                            ; preds = %15341
  br label %15343

15343:                                            ; preds = %15342
  call void @exit(i32 noundef 1) #12
  unreachable

15344:                                            ; No predecessors!
  br label %15345

15345:                                            ; preds = %15344
  br label %15346

15346:                                            ; preds = %15345, %15287
  br label %15347

15347:                                            ; preds = %15346
  br label %15348

15348:                                            ; preds = %15347
  br label %15349

15349:                                            ; preds = %15348
  %15350 = load i32, ptr @test_count, align 4, !tbaa !5
  %15351 = add nsw i32 %15350, 1
  store i32 %15351, ptr @test_count, align 4, !tbaa !5
  %15352 = call i32 @s2n_io_pair_close(ptr noundef %264)
  %15353 = icmp eq i32 %15352, -1
  br i1 %15353, label %15354, label %15407

15354:                                            ; preds = %15349
  br label %15355

15355:                                            ; preds = %15354
  br label %15356

15356:                                            ; preds = %15355
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #10
  %15357 = call ptr @__errno_location() #11
  %15358 = load i32, ptr %15357, align 4, !tbaa !5
  store i32 %15358, ptr %312, align 4, !tbaa !5
  %15359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15360 = call i32 @s2n_print_stacktrace(ptr noundef %15359)
  %15361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15362 = trunc i8 %15361 to i1
  br i1 %15362, label %15363, label %15385

15363:                                            ; preds = %15356
  %15364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15365 = call i32 @fileno(ptr noundef %15364) #10
  %15366 = call i32 @isatty(i32 noundef %15365) #10
  %15367 = icmp ne i32 %15366, 0
  br i1 %15367, label %15368, label %15385

15368:                                            ; preds = %15363
  %15369 = load i32, ptr %312, align 4, !tbaa !5
  %15370 = call ptr @__errno_location() #11
  store i32 %15369, ptr %15370, align 4, !tbaa !5
  %15371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15372 = load i32, ptr @test_count, align 4, !tbaa !5
  %15373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15374 = load i32, ptr %15373, align 4, !tbaa !5
  %15375 = call ptr @s2n_strerror(i32 noundef %15374, ptr noundef @.str.65)
  %15376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15377 = load i32, ptr %15376, align 4, !tbaa !5
  %15378 = call ptr @s2n_strerror_debug(i32 noundef %15377, ptr noundef @.str.65)
  %15379 = call ptr @__errno_location() #11
  %15380 = load i32, ptr %15379, align 4, !tbaa !5
  %15381 = call ptr @strerror(i32 noundef %15380) #10
  %15382 = call ptr @__errno_location() #11
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15371, ptr noundef @.str.63, i32 noundef %15372, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 707, ptr noundef %15375, ptr noundef %15378, ptr noundef %15381, i32 noundef %15383) #10
  br label %15402

15385:                                            ; preds = %15363, %15356
  %15386 = load i32, ptr %312, align 4, !tbaa !5
  %15387 = call ptr @__errno_location() #11
  store i32 %15386, ptr %15387, align 4, !tbaa !5
  %15388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15389 = load i32, ptr @test_count, align 4, !tbaa !5
  %15390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15391 = load i32, ptr %15390, align 4, !tbaa !5
  %15392 = call ptr @s2n_strerror(i32 noundef %15391, ptr noundef @.str.65)
  %15393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15394 = load i32, ptr %15393, align 4, !tbaa !5
  %15395 = call ptr @s2n_strerror_debug(i32 noundef %15394, ptr noundef @.str.65)
  %15396 = call ptr @__errno_location() #11
  %15397 = load i32, ptr %15396, align 4, !tbaa !5
  %15398 = call ptr @strerror(i32 noundef %15397) #10
  %15399 = call ptr @__errno_location() #11
  %15400 = load i32, ptr %15399, align 4, !tbaa !5
  %15401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15388, ptr noundef @.str.66, i32 noundef %15389, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 707, ptr noundef %15392, ptr noundef %15395, ptr noundef %15398, i32 noundef %15400) #10
  br label %15402

15402:                                            ; preds = %15385, %15368
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #10
  br label %15403

15403:                                            ; preds = %15402
  br label %15404

15404:                                            ; preds = %15403
  call void @exit(i32 noundef 1) #12
  unreachable

15405:                                            ; No predecessors!
  br label %15406

15406:                                            ; preds = %15405
  br label %15407

15407:                                            ; preds = %15406, %15349
  br label %15408

15408:                                            ; preds = %15407
  br label %15409

15409:                                            ; preds = %15408
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #10
  %15410 = call i32 @s2n_stuffer_free(ptr noundef %268)
  call void @llvm.lifetime.end.p0(i64 40, ptr %268) #10
  %15411 = call i32 @s2n_stuffer_free(ptr noundef %267)
  call void @llvm.lifetime.end.p0(i64 40, ptr %267) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %261) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %259) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %313) #10
  %15412 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15412, ptr %313, align 8, !tbaa !9
  br label %15413

15413:                                            ; preds = %15409
  %15414 = load i32, ptr @test_count, align 4, !tbaa !5
  %15415 = add nsw i32 %15414, 1
  store i32 %15415, ptr @test_count, align 4, !tbaa !5
  %15416 = load ptr, ptr %313, align 8, !tbaa !9
  %15417 = icmp eq ptr %15416, null
  br i1 %15417, label %15418, label %15471

15418:                                            ; preds = %15413
  br label %15419

15419:                                            ; preds = %15418
  br label %15420

15420:                                            ; preds = %15419
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #10
  %15421 = call ptr @__errno_location() #11
  %15422 = load i32, ptr %15421, align 4, !tbaa !5
  store i32 %15422, ptr %314, align 4, !tbaa !5
  %15423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15424 = call i32 @s2n_print_stacktrace(ptr noundef %15423)
  %15425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15426 = trunc i8 %15425 to i1
  br i1 %15426, label %15427, label %15449

15427:                                            ; preds = %15420
  %15428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15429 = call i32 @fileno(ptr noundef %15428) #10
  %15430 = call i32 @isatty(i32 noundef %15429) #10
  %15431 = icmp ne i32 %15430, 0
  br i1 %15431, label %15432, label %15449

15432:                                            ; preds = %15427
  %15433 = load i32, ptr %314, align 4, !tbaa !5
  %15434 = call ptr @__errno_location() #11
  store i32 %15433, ptr %15434, align 4, !tbaa !5
  %15435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15436 = load i32, ptr @test_count, align 4, !tbaa !5
  %15437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15438 = load i32, ptr %15437, align 4, !tbaa !5
  %15439 = call ptr @s2n_strerror(i32 noundef %15438, ptr noundef @.str.65)
  %15440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15441 = load i32, ptr %15440, align 4, !tbaa !5
  %15442 = call ptr @s2n_strerror_debug(i32 noundef %15441, ptr noundef @.str.65)
  %15443 = call ptr @__errno_location() #11
  %15444 = load i32, ptr %15443, align 4, !tbaa !5
  %15445 = call ptr @strerror(i32 noundef %15444) #10
  %15446 = call ptr @__errno_location() #11
  %15447 = load i32, ptr %15446, align 4, !tbaa !5
  %15448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15435, ptr noundef @.str.63, i32 noundef %15436, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 713, ptr noundef %15439, ptr noundef %15442, ptr noundef %15445, i32 noundef %15447) #10
  br label %15466

15449:                                            ; preds = %15427, %15420
  %15450 = load i32, ptr %314, align 4, !tbaa !5
  %15451 = call ptr @__errno_location() #11
  store i32 %15450, ptr %15451, align 4, !tbaa !5
  %15452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15453 = load i32, ptr @test_count, align 4, !tbaa !5
  %15454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15455 = load i32, ptr %15454, align 4, !tbaa !5
  %15456 = call ptr @s2n_strerror(i32 noundef %15455, ptr noundef @.str.65)
  %15457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15458 = load i32, ptr %15457, align 4, !tbaa !5
  %15459 = call ptr @s2n_strerror_debug(i32 noundef %15458, ptr noundef @.str.65)
  %15460 = call ptr @__errno_location() #11
  %15461 = load i32, ptr %15460, align 4, !tbaa !5
  %15462 = call ptr @strerror(i32 noundef %15461) #10
  %15463 = call ptr @__errno_location() #11
  %15464 = load i32, ptr %15463, align 4, !tbaa !5
  %15465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15452, ptr noundef @.str.66, i32 noundef %15453, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 713, ptr noundef %15456, ptr noundef %15459, ptr noundef %15462, i32 noundef %15464) #10
  br label %15466

15466:                                            ; preds = %15449, %15432
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #10
  br label %15467

15467:                                            ; preds = %15466
  br label %15468

15468:                                            ; preds = %15467
  call void @exit(i32 noundef 1) #12
  unreachable

15469:                                            ; No predecessors!
  br label %15470

15470:                                            ; preds = %15469
  br label %15471

15471:                                            ; preds = %15470, %15413
  br label %15472

15472:                                            ; preds = %15471
  br label %15473

15473:                                            ; preds = %15472
  call void @llvm.lifetime.start.p0(i64 8, ptr %315) #10
  %15474 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15474, ptr %315, align 8, !tbaa !9
  br label %15475

15475:                                            ; preds = %15473
  %15476 = load i32, ptr @test_count, align 4, !tbaa !5
  %15477 = add nsw i32 %15476, 1
  store i32 %15477, ptr @test_count, align 4, !tbaa !5
  %15478 = load ptr, ptr %315, align 8, !tbaa !9
  %15479 = icmp eq ptr %15478, null
  br i1 %15479, label %15480, label %15533

15480:                                            ; preds = %15475
  br label %15481

15481:                                            ; preds = %15480
  br label %15482

15482:                                            ; preds = %15481
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #10
  %15483 = call ptr @__errno_location() #11
  %15484 = load i32, ptr %15483, align 4, !tbaa !5
  store i32 %15484, ptr %316, align 4, !tbaa !5
  %15485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15486 = call i32 @s2n_print_stacktrace(ptr noundef %15485)
  %15487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15488 = trunc i8 %15487 to i1
  br i1 %15488, label %15489, label %15511

15489:                                            ; preds = %15482
  %15490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15491 = call i32 @fileno(ptr noundef %15490) #10
  %15492 = call i32 @isatty(i32 noundef %15491) #10
  %15493 = icmp ne i32 %15492, 0
  br i1 %15493, label %15494, label %15511

15494:                                            ; preds = %15489
  %15495 = load i32, ptr %316, align 4, !tbaa !5
  %15496 = call ptr @__errno_location() #11
  store i32 %15495, ptr %15496, align 4, !tbaa !5
  %15497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15498 = load i32, ptr @test_count, align 4, !tbaa !5
  %15499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15500 = load i32, ptr %15499, align 4, !tbaa !5
  %15501 = call ptr @s2n_strerror(i32 noundef %15500, ptr noundef @.str.65)
  %15502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15503 = load i32, ptr %15502, align 4, !tbaa !5
  %15504 = call ptr @s2n_strerror_debug(i32 noundef %15503, ptr noundef @.str.65)
  %15505 = call ptr @__errno_location() #11
  %15506 = load i32, ptr %15505, align 4, !tbaa !5
  %15507 = call ptr @strerror(i32 noundef %15506) #10
  %15508 = call ptr @__errno_location() #11
  %15509 = load i32, ptr %15508, align 4, !tbaa !5
  %15510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15497, ptr noundef @.str.63, i32 noundef %15498, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 716, ptr noundef %15501, ptr noundef %15504, ptr noundef %15507, i32 noundef %15509) #10
  br label %15528

15511:                                            ; preds = %15489, %15482
  %15512 = load i32, ptr %316, align 4, !tbaa !5
  %15513 = call ptr @__errno_location() #11
  store i32 %15512, ptr %15513, align 4, !tbaa !5
  %15514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15515 = load i32, ptr @test_count, align 4, !tbaa !5
  %15516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15517 = load i32, ptr %15516, align 4, !tbaa !5
  %15518 = call ptr @s2n_strerror(i32 noundef %15517, ptr noundef @.str.65)
  %15519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15520 = load i32, ptr %15519, align 4, !tbaa !5
  %15521 = call ptr @s2n_strerror_debug(i32 noundef %15520, ptr noundef @.str.65)
  %15522 = call ptr @__errno_location() #11
  %15523 = load i32, ptr %15522, align 4, !tbaa !5
  %15524 = call ptr @strerror(i32 noundef %15523) #10
  %15525 = call ptr @__errno_location() #11
  %15526 = load i32, ptr %15525, align 4, !tbaa !5
  %15527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15514, ptr noundef @.str.66, i32 noundef %15515, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 716, ptr noundef %15518, ptr noundef %15521, ptr noundef %15524, i32 noundef %15526) #10
  br label %15528

15528:                                            ; preds = %15511, %15494
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #10
  br label %15529

15529:                                            ; preds = %15528
  br label %15530

15530:                                            ; preds = %15529
  call void @exit(i32 noundef 1) #12
  unreachable

15531:                                            ; No predecessors!
  br label %15532

15532:                                            ; preds = %15531
  br label %15533

15533:                                            ; preds = %15532, %15475
  br label %15534

15534:                                            ; preds = %15533
  br label %15535

15535:                                            ; preds = %15534
  br label %15536

15536:                                            ; preds = %15535
  %15537 = load i32, ptr @test_count, align 4, !tbaa !5
  %15538 = add nsw i32 %15537, 1
  store i32 %15538, ptr @test_count, align 4, !tbaa !5
  %15539 = load ptr, ptr %315, align 8, !tbaa !9
  %15540 = load ptr, ptr %20, align 8, !tbaa !9
  %15541 = call i32 @s2n_connection_set_config(ptr noundef %15539, ptr noundef %15540)
  %15542 = icmp eq i32 %15541, -1
  br i1 %15542, label %15543, label %15596

15543:                                            ; preds = %15536
  br label %15544

15544:                                            ; preds = %15543
  br label %15545

15545:                                            ; preds = %15544
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #10
  %15546 = call ptr @__errno_location() #11
  %15547 = load i32, ptr %15546, align 4, !tbaa !5
  store i32 %15547, ptr %317, align 4, !tbaa !5
  %15548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15549 = call i32 @s2n_print_stacktrace(ptr noundef %15548)
  %15550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15551 = trunc i8 %15550 to i1
  br i1 %15551, label %15552, label %15574

15552:                                            ; preds = %15545
  %15553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15554 = call i32 @fileno(ptr noundef %15553) #10
  %15555 = call i32 @isatty(i32 noundef %15554) #10
  %15556 = icmp ne i32 %15555, 0
  br i1 %15556, label %15557, label %15574

15557:                                            ; preds = %15552
  %15558 = load i32, ptr %317, align 4, !tbaa !5
  %15559 = call ptr @__errno_location() #11
  store i32 %15558, ptr %15559, align 4, !tbaa !5
  %15560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15561 = load i32, ptr @test_count, align 4, !tbaa !5
  %15562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15563 = load i32, ptr %15562, align 4, !tbaa !5
  %15564 = call ptr @s2n_strerror(i32 noundef %15563, ptr noundef @.str.65)
  %15565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15566 = load i32, ptr %15565, align 4, !tbaa !5
  %15567 = call ptr @s2n_strerror_debug(i32 noundef %15566, ptr noundef @.str.65)
  %15568 = call ptr @__errno_location() #11
  %15569 = load i32, ptr %15568, align 4, !tbaa !5
  %15570 = call ptr @strerror(i32 noundef %15569) #10
  %15571 = call ptr @__errno_location() #11
  %15572 = load i32, ptr %15571, align 4, !tbaa !5
  %15573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15560, ptr noundef @.str.63, i32 noundef %15561, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 717, ptr noundef %15564, ptr noundef %15567, ptr noundef %15570, i32 noundef %15572) #10
  br label %15591

15574:                                            ; preds = %15552, %15545
  %15575 = load i32, ptr %317, align 4, !tbaa !5
  %15576 = call ptr @__errno_location() #11
  store i32 %15575, ptr %15576, align 4, !tbaa !5
  %15577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15578 = load i32, ptr @test_count, align 4, !tbaa !5
  %15579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15580 = load i32, ptr %15579, align 4, !tbaa !5
  %15581 = call ptr @s2n_strerror(i32 noundef %15580, ptr noundef @.str.65)
  %15582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15583 = load i32, ptr %15582, align 4, !tbaa !5
  %15584 = call ptr @s2n_strerror_debug(i32 noundef %15583, ptr noundef @.str.65)
  %15585 = call ptr @__errno_location() #11
  %15586 = load i32, ptr %15585, align 4, !tbaa !5
  %15587 = call ptr @strerror(i32 noundef %15586) #10
  %15588 = call ptr @__errno_location() #11
  %15589 = load i32, ptr %15588, align 4, !tbaa !5
  %15590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15577, ptr noundef @.str.66, i32 noundef %15578, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 717, ptr noundef %15581, ptr noundef %15584, ptr noundef %15587, i32 noundef %15589) #10
  br label %15591

15591:                                            ; preds = %15574, %15557
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #10
  br label %15592

15592:                                            ; preds = %15591
  br label %15593

15593:                                            ; preds = %15592
  call void @exit(i32 noundef 1) #12
  unreachable

15594:                                            ; No predecessors!
  br label %15595

15595:                                            ; preds = %15594
  br label %15596

15596:                                            ; preds = %15595, %15536
  br label %15597

15597:                                            ; preds = %15596
  br label %15598

15598:                                            ; preds = %15597
  call void @llvm.lifetime.start.p0(i64 8, ptr %318) #10
  call void @llvm.memset.p0.i64(ptr align 4 %318, i8 0, i64 8, i1 false)
  br label %15599

15599:                                            ; preds = %15598
  %15600 = load i32, ptr @test_count, align 4, !tbaa !5
  %15601 = add nsw i32 %15600, 1
  store i32 %15601, ptr @test_count, align 4, !tbaa !5
  %15602 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %318)
  %15603 = icmp eq i32 %15602, -1
  br i1 %15603, label %15604, label %15657

15604:                                            ; preds = %15599
  br label %15605

15605:                                            ; preds = %15604
  br label %15606

15606:                                            ; preds = %15605
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #10
  %15607 = call ptr @__errno_location() #11
  %15608 = load i32, ptr %15607, align 4, !tbaa !5
  store i32 %15608, ptr %319, align 4, !tbaa !5
  %15609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15610 = call i32 @s2n_print_stacktrace(ptr noundef %15609)
  %15611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15612 = trunc i8 %15611 to i1
  br i1 %15612, label %15613, label %15635

15613:                                            ; preds = %15606
  %15614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15615 = call i32 @fileno(ptr noundef %15614) #10
  %15616 = call i32 @isatty(i32 noundef %15615) #10
  %15617 = icmp ne i32 %15616, 0
  br i1 %15617, label %15618, label %15635

15618:                                            ; preds = %15613
  %15619 = load i32, ptr %319, align 4, !tbaa !5
  %15620 = call ptr @__errno_location() #11
  store i32 %15619, ptr %15620, align 4, !tbaa !5
  %15621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15622 = load i32, ptr @test_count, align 4, !tbaa !5
  %15623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15624 = load i32, ptr %15623, align 4, !tbaa !5
  %15625 = call ptr @s2n_strerror(i32 noundef %15624, ptr noundef @.str.65)
  %15626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15627 = load i32, ptr %15626, align 4, !tbaa !5
  %15628 = call ptr @s2n_strerror_debug(i32 noundef %15627, ptr noundef @.str.65)
  %15629 = call ptr @__errno_location() #11
  %15630 = load i32, ptr %15629, align 4, !tbaa !5
  %15631 = call ptr @strerror(i32 noundef %15630) #10
  %15632 = call ptr @__errno_location() #11
  %15633 = load i32, ptr %15632, align 4, !tbaa !5
  %15634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15621, ptr noundef @.str.63, i32 noundef %15622, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 721, ptr noundef %15625, ptr noundef %15628, ptr noundef %15631, i32 noundef %15633) #10
  br label %15652

15635:                                            ; preds = %15613, %15606
  %15636 = load i32, ptr %319, align 4, !tbaa !5
  %15637 = call ptr @__errno_location() #11
  store i32 %15636, ptr %15637, align 4, !tbaa !5
  %15638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15639 = load i32, ptr @test_count, align 4, !tbaa !5
  %15640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15641 = load i32, ptr %15640, align 4, !tbaa !5
  %15642 = call ptr @s2n_strerror(i32 noundef %15641, ptr noundef @.str.65)
  %15643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15644 = load i32, ptr %15643, align 4, !tbaa !5
  %15645 = call ptr @s2n_strerror_debug(i32 noundef %15644, ptr noundef @.str.65)
  %15646 = call ptr @__errno_location() #11
  %15647 = load i32, ptr %15646, align 4, !tbaa !5
  %15648 = call ptr @strerror(i32 noundef %15647) #10
  %15649 = call ptr @__errno_location() #11
  %15650 = load i32, ptr %15649, align 4, !tbaa !5
  %15651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15638, ptr noundef @.str.66, i32 noundef %15639, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 721, ptr noundef %15642, ptr noundef %15645, ptr noundef %15648, i32 noundef %15650) #10
  br label %15652

15652:                                            ; preds = %15635, %15618
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #10
  br label %15653

15653:                                            ; preds = %15652
  br label %15654

15654:                                            ; preds = %15653
  call void @exit(i32 noundef 1) #12
  unreachable

15655:                                            ; No predecessors!
  br label %15656

15656:                                            ; preds = %15655
  br label %15657

15657:                                            ; preds = %15656, %15599
  br label %15658

15658:                                            ; preds = %15657
  br label %15659

15659:                                            ; preds = %15658
  br label %15660

15660:                                            ; preds = %15659
  %15661 = load i32, ptr @test_count, align 4, !tbaa !5
  %15662 = add nsw i32 %15661, 1
  store i32 %15662, ptr @test_count, align 4, !tbaa !5
  %15663 = load ptr, ptr %313, align 8, !tbaa !9
  %15664 = load ptr, ptr %315, align 8, !tbaa !9
  %15665 = call i32 @s2n_connections_set_io_pair(ptr noundef %15663, ptr noundef %15664, ptr noundef %318)
  %15666 = icmp eq i32 %15665, -1
  br i1 %15666, label %15667, label %15720

15667:                                            ; preds = %15660
  br label %15668

15668:                                            ; preds = %15667
  br label %15669

15669:                                            ; preds = %15668
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #10
  %15670 = call ptr @__errno_location() #11
  %15671 = load i32, ptr %15670, align 4, !tbaa !5
  store i32 %15671, ptr %320, align 4, !tbaa !5
  %15672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15673 = call i32 @s2n_print_stacktrace(ptr noundef %15672)
  %15674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15675 = trunc i8 %15674 to i1
  br i1 %15675, label %15676, label %15698

15676:                                            ; preds = %15669
  %15677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15678 = call i32 @fileno(ptr noundef %15677) #10
  %15679 = call i32 @isatty(i32 noundef %15678) #10
  %15680 = icmp ne i32 %15679, 0
  br i1 %15680, label %15681, label %15698

15681:                                            ; preds = %15676
  %15682 = load i32, ptr %320, align 4, !tbaa !5
  %15683 = call ptr @__errno_location() #11
  store i32 %15682, ptr %15683, align 4, !tbaa !5
  %15684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15685 = load i32, ptr @test_count, align 4, !tbaa !5
  %15686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15687 = load i32, ptr %15686, align 4, !tbaa !5
  %15688 = call ptr @s2n_strerror(i32 noundef %15687, ptr noundef @.str.65)
  %15689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15690 = load i32, ptr %15689, align 4, !tbaa !5
  %15691 = call ptr @s2n_strerror_debug(i32 noundef %15690, ptr noundef @.str.65)
  %15692 = call ptr @__errno_location() #11
  %15693 = load i32, ptr %15692, align 4, !tbaa !5
  %15694 = call ptr @strerror(i32 noundef %15693) #10
  %15695 = call ptr @__errno_location() #11
  %15696 = load i32, ptr %15695, align 4, !tbaa !5
  %15697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15684, ptr noundef @.str.63, i32 noundef %15685, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 722, ptr noundef %15688, ptr noundef %15691, ptr noundef %15694, i32 noundef %15696) #10
  br label %15715

15698:                                            ; preds = %15676, %15669
  %15699 = load i32, ptr %320, align 4, !tbaa !5
  %15700 = call ptr @__errno_location() #11
  store i32 %15699, ptr %15700, align 4, !tbaa !5
  %15701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15702 = load i32, ptr @test_count, align 4, !tbaa !5
  %15703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15704 = load i32, ptr %15703, align 4, !tbaa !5
  %15705 = call ptr @s2n_strerror(i32 noundef %15704, ptr noundef @.str.65)
  %15706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15707 = load i32, ptr %15706, align 4, !tbaa !5
  %15708 = call ptr @s2n_strerror_debug(i32 noundef %15707, ptr noundef @.str.65)
  %15709 = call ptr @__errno_location() #11
  %15710 = load i32, ptr %15709, align 4, !tbaa !5
  %15711 = call ptr @strerror(i32 noundef %15710) #10
  %15712 = call ptr @__errno_location() #11
  %15713 = load i32, ptr %15712, align 4, !tbaa !5
  %15714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15701, ptr noundef @.str.66, i32 noundef %15702, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 722, ptr noundef %15705, ptr noundef %15708, ptr noundef %15711, i32 noundef %15713) #10
  br label %15715

15715:                                            ; preds = %15698, %15681
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #10
  br label %15716

15716:                                            ; preds = %15715
  br label %15717

15717:                                            ; preds = %15716
  call void @exit(i32 noundef 1) #12
  unreachable

15718:                                            ; No predecessors!
  br label %15719

15719:                                            ; preds = %15718
  br label %15720

15720:                                            ; preds = %15719, %15660
  br label %15721

15721:                                            ; preds = %15720
  br label %15722

15722:                                            ; preds = %15721
  call void @llvm.lifetime.start.p0(i64 40, ptr %321) #10
  call void @llvm.memset.p0.i64(ptr align 8 %321, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %322) #10
  call void @llvm.memset.p0.i64(ptr align 8 %322, i8 0, i64 40, i1 false)
  br label %15723

15723:                                            ; preds = %15722
  %15724 = load i32, ptr @test_count, align 4, !tbaa !5
  %15725 = add nsw i32 %15724, 1
  store i32 %15725, ptr @test_count, align 4, !tbaa !5
  %15726 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %321, i32 noundef 0)
  %15727 = icmp eq i32 %15726, -1
  br i1 %15727, label %15728, label %15781

15728:                                            ; preds = %15723
  br label %15729

15729:                                            ; preds = %15728
  br label %15730

15730:                                            ; preds = %15729
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #10
  %15731 = call ptr @__errno_location() #11
  %15732 = load i32, ptr %15731, align 4, !tbaa !5
  store i32 %15732, ptr %323, align 4, !tbaa !5
  %15733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15734 = call i32 @s2n_print_stacktrace(ptr noundef %15733)
  %15735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15736 = trunc i8 %15735 to i1
  br i1 %15736, label %15737, label %15759

15737:                                            ; preds = %15730
  %15738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15739 = call i32 @fileno(ptr noundef %15738) #10
  %15740 = call i32 @isatty(i32 noundef %15739) #10
  %15741 = icmp ne i32 %15740, 0
  br i1 %15741, label %15742, label %15759

15742:                                            ; preds = %15737
  %15743 = load i32, ptr %323, align 4, !tbaa !5
  %15744 = call ptr @__errno_location() #11
  store i32 %15743, ptr %15744, align 4, !tbaa !5
  %15745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15746 = load i32, ptr @test_count, align 4, !tbaa !5
  %15747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15748 = load i32, ptr %15747, align 4, !tbaa !5
  %15749 = call ptr @s2n_strerror(i32 noundef %15748, ptr noundef @.str.65)
  %15750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15751 = load i32, ptr %15750, align 4, !tbaa !5
  %15752 = call ptr @s2n_strerror_debug(i32 noundef %15751, ptr noundef @.str.65)
  %15753 = call ptr @__errno_location() #11
  %15754 = load i32, ptr %15753, align 4, !tbaa !5
  %15755 = call ptr @strerror(i32 noundef %15754) #10
  %15756 = call ptr @__errno_location() #11
  %15757 = load i32, ptr %15756, align 4, !tbaa !5
  %15758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15745, ptr noundef @.str.63, i32 noundef %15746, ptr noundef @.str.155, ptr noundef @.str.62, i32 noundef 726, ptr noundef %15749, ptr noundef %15752, ptr noundef %15755, i32 noundef %15757) #10
  br label %15776

15759:                                            ; preds = %15737, %15730
  %15760 = load i32, ptr %323, align 4, !tbaa !5
  %15761 = call ptr @__errno_location() #11
  store i32 %15760, ptr %15761, align 4, !tbaa !5
  %15762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15763 = load i32, ptr @test_count, align 4, !tbaa !5
  %15764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15765 = load i32, ptr %15764, align 4, !tbaa !5
  %15766 = call ptr @s2n_strerror(i32 noundef %15765, ptr noundef @.str.65)
  %15767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15768 = load i32, ptr %15767, align 4, !tbaa !5
  %15769 = call ptr @s2n_strerror_debug(i32 noundef %15768, ptr noundef @.str.65)
  %15770 = call ptr @__errno_location() #11
  %15771 = load i32, ptr %15770, align 4, !tbaa !5
  %15772 = call ptr @strerror(i32 noundef %15771) #10
  %15773 = call ptr @__errno_location() #11
  %15774 = load i32, ptr %15773, align 4, !tbaa !5
  %15775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15762, ptr noundef @.str.66, i32 noundef %15763, ptr noundef @.str.155, ptr noundef @.str.62, i32 noundef 726, ptr noundef %15766, ptr noundef %15769, ptr noundef %15772, i32 noundef %15774) #10
  br label %15776

15776:                                            ; preds = %15759, %15742
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #10
  br label %15777

15777:                                            ; preds = %15776
  br label %15778

15778:                                            ; preds = %15777
  call void @exit(i32 noundef 1) #12
  unreachable

15779:                                            ; No predecessors!
  br label %15780

15780:                                            ; preds = %15779
  br label %15781

15781:                                            ; preds = %15780, %15723
  br label %15782

15782:                                            ; preds = %15781
  br label %15783

15783:                                            ; preds = %15782
  br label %15784

15784:                                            ; preds = %15783
  %15785 = load i32, ptr @test_count, align 4, !tbaa !5
  %15786 = add nsw i32 %15785, 1
  store i32 %15786, ptr @test_count, align 4, !tbaa !5
  %15787 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %322, i32 noundef 0)
  %15788 = icmp eq i32 %15787, -1
  br i1 %15788, label %15789, label %15842

15789:                                            ; preds = %15784
  br label %15790

15790:                                            ; preds = %15789
  br label %15791

15791:                                            ; preds = %15790
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #10
  %15792 = call ptr @__errno_location() #11
  %15793 = load i32, ptr %15792, align 4, !tbaa !5
  store i32 %15793, ptr %324, align 4, !tbaa !5
  %15794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15795 = call i32 @s2n_print_stacktrace(ptr noundef %15794)
  %15796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15797 = trunc i8 %15796 to i1
  br i1 %15797, label %15798, label %15820

15798:                                            ; preds = %15791
  %15799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15800 = call i32 @fileno(ptr noundef %15799) #10
  %15801 = call i32 @isatty(i32 noundef %15800) #10
  %15802 = icmp ne i32 %15801, 0
  br i1 %15802, label %15803, label %15820

15803:                                            ; preds = %15798
  %15804 = load i32, ptr %324, align 4, !tbaa !5
  %15805 = call ptr @__errno_location() #11
  store i32 %15804, ptr %15805, align 4, !tbaa !5
  %15806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15807 = load i32, ptr @test_count, align 4, !tbaa !5
  %15808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15809 = load i32, ptr %15808, align 4, !tbaa !5
  %15810 = call ptr @s2n_strerror(i32 noundef %15809, ptr noundef @.str.65)
  %15811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15812 = load i32, ptr %15811, align 4, !tbaa !5
  %15813 = call ptr @s2n_strerror_debug(i32 noundef %15812, ptr noundef @.str.65)
  %15814 = call ptr @__errno_location() #11
  %15815 = load i32, ptr %15814, align 4, !tbaa !5
  %15816 = call ptr @strerror(i32 noundef %15815) #10
  %15817 = call ptr @__errno_location() #11
  %15818 = load i32, ptr %15817, align 4, !tbaa !5
  %15819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15806, ptr noundef @.str.63, i32 noundef %15807, ptr noundef @.str.156, ptr noundef @.str.62, i32 noundef 727, ptr noundef %15810, ptr noundef %15813, ptr noundef %15816, i32 noundef %15818) #10
  br label %15837

15820:                                            ; preds = %15798, %15791
  %15821 = load i32, ptr %324, align 4, !tbaa !5
  %15822 = call ptr @__errno_location() #11
  store i32 %15821, ptr %15822, align 4, !tbaa !5
  %15823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15824 = load i32, ptr @test_count, align 4, !tbaa !5
  %15825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15826 = load i32, ptr %15825, align 4, !tbaa !5
  %15827 = call ptr @s2n_strerror(i32 noundef %15826, ptr noundef @.str.65)
  %15828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15829 = load i32, ptr %15828, align 4, !tbaa !5
  %15830 = call ptr @s2n_strerror_debug(i32 noundef %15829, ptr noundef @.str.65)
  %15831 = call ptr @__errno_location() #11
  %15832 = load i32, ptr %15831, align 4, !tbaa !5
  %15833 = call ptr @strerror(i32 noundef %15832) #10
  %15834 = call ptr @__errno_location() #11
  %15835 = load i32, ptr %15834, align 4, !tbaa !5
  %15836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15823, ptr noundef @.str.66, i32 noundef %15824, ptr noundef @.str.156, ptr noundef @.str.62, i32 noundef 727, ptr noundef %15827, ptr noundef %15830, ptr noundef %15833, i32 noundef %15835) #10
  br label %15837

15837:                                            ; preds = %15820, %15803
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #10
  br label %15838

15838:                                            ; preds = %15837
  br label %15839

15839:                                            ; preds = %15838
  call void @exit(i32 noundef 1) #12
  unreachable

15840:                                            ; No predecessors!
  br label %15841

15841:                                            ; preds = %15840
  br label %15842

15842:                                            ; preds = %15841, %15784
  br label %15843

15843:                                            ; preds = %15842
  br label %15844

15844:                                            ; preds = %15843
  br label %15845

15845:                                            ; preds = %15844
  %15846 = load i32, ptr @test_count, align 4, !tbaa !5
  %15847 = add nsw i32 %15846, 1
  store i32 %15847, ptr @test_count, align 4, !tbaa !5
  %15848 = load ptr, ptr %313, align 8, !tbaa !9
  %15849 = load ptr, ptr %40, align 8, !tbaa !9
  %15850 = call i32 @s2n_connection_set_config(ptr noundef %15848, ptr noundef %15849)
  %15851 = icmp eq i32 %15850, -1
  br i1 %15851, label %15852, label %15905

15852:                                            ; preds = %15845
  br label %15853

15853:                                            ; preds = %15852
  br label %15854

15854:                                            ; preds = %15853
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #10
  %15855 = call ptr @__errno_location() #11
  %15856 = load i32, ptr %15855, align 4, !tbaa !5
  store i32 %15856, ptr %325, align 4, !tbaa !5
  %15857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15858 = call i32 @s2n_print_stacktrace(ptr noundef %15857)
  %15859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15860 = trunc i8 %15859 to i1
  br i1 %15860, label %15861, label %15883

15861:                                            ; preds = %15854
  %15862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15863 = call i32 @fileno(ptr noundef %15862) #10
  %15864 = call i32 @isatty(i32 noundef %15863) #10
  %15865 = icmp ne i32 %15864, 0
  br i1 %15865, label %15866, label %15883

15866:                                            ; preds = %15861
  %15867 = load i32, ptr %325, align 4, !tbaa !5
  %15868 = call ptr @__errno_location() #11
  store i32 %15867, ptr %15868, align 4, !tbaa !5
  %15869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15870 = load i32, ptr @test_count, align 4, !tbaa !5
  %15871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15872 = load i32, ptr %15871, align 4, !tbaa !5
  %15873 = call ptr @s2n_strerror(i32 noundef %15872, ptr noundef @.str.65)
  %15874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15875 = load i32, ptr %15874, align 4, !tbaa !5
  %15876 = call ptr @s2n_strerror_debug(i32 noundef %15875, ptr noundef @.str.65)
  %15877 = call ptr @__errno_location() #11
  %15878 = load i32, ptr %15877, align 4, !tbaa !5
  %15879 = call ptr @strerror(i32 noundef %15878) #10
  %15880 = call ptr @__errno_location() #11
  %15881 = load i32, ptr %15880, align 4, !tbaa !5
  %15882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15869, ptr noundef @.str.63, i32 noundef %15870, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 730, ptr noundef %15873, ptr noundef %15876, ptr noundef %15879, i32 noundef %15881) #10
  br label %15900

15883:                                            ; preds = %15861, %15854
  %15884 = load i32, ptr %325, align 4, !tbaa !5
  %15885 = call ptr @__errno_location() #11
  store i32 %15884, ptr %15885, align 4, !tbaa !5
  %15886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15887 = load i32, ptr @test_count, align 4, !tbaa !5
  %15888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15889 = load i32, ptr %15888, align 4, !tbaa !5
  %15890 = call ptr @s2n_strerror(i32 noundef %15889, ptr noundef @.str.65)
  %15891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15892 = load i32, ptr %15891, align 4, !tbaa !5
  %15893 = call ptr @s2n_strerror_debug(i32 noundef %15892, ptr noundef @.str.65)
  %15894 = call ptr @__errno_location() #11
  %15895 = load i32, ptr %15894, align 4, !tbaa !5
  %15896 = call ptr @strerror(i32 noundef %15895) #10
  %15897 = call ptr @__errno_location() #11
  %15898 = load i32, ptr %15897, align 4, !tbaa !5
  %15899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15886, ptr noundef @.str.66, i32 noundef %15887, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 730, ptr noundef %15890, ptr noundef %15893, ptr noundef %15896, i32 noundef %15898) #10
  br label %15900

15900:                                            ; preds = %15883, %15866
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #10
  br label %15901

15901:                                            ; preds = %15900
  br label %15902

15902:                                            ; preds = %15901
  call void @exit(i32 noundef 1) #12
  unreachable

15903:                                            ; No predecessors!
  br label %15904

15904:                                            ; preds = %15903
  br label %15905

15905:                                            ; preds = %15904, %15845
  br label %15906

15906:                                            ; preds = %15905
  br label %15907

15907:                                            ; preds = %15906
  br label %15908

15908:                                            ; preds = %15907
  %15909 = load i32, ptr @test_count, align 4, !tbaa !5
  %15910 = add nsw i32 %15909, 1
  store i32 %15910, ptr @test_count, align 4, !tbaa !5
  %15911 = load ptr, ptr %315, align 8, !tbaa !9
  %15912 = load ptr, ptr %313, align 8, !tbaa !9
  %15913 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %15911, ptr noundef %15912)
  %15914 = icmp eq i32 %15913, -1
  br i1 %15914, label %15915, label %15968

15915:                                            ; preds = %15908
  br label %15916

15916:                                            ; preds = %15915
  br label %15917

15917:                                            ; preds = %15916
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #10
  %15918 = call ptr @__errno_location() #11
  %15919 = load i32, ptr %15918, align 4, !tbaa !5
  store i32 %15919, ptr %326, align 4, !tbaa !5
  %15920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15921 = call i32 @s2n_print_stacktrace(ptr noundef %15920)
  %15922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15923 = trunc i8 %15922 to i1
  br i1 %15923, label %15924, label %15946

15924:                                            ; preds = %15917
  %15925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15926 = call i32 @fileno(ptr noundef %15925) #10
  %15927 = call i32 @isatty(i32 noundef %15926) #10
  %15928 = icmp ne i32 %15927, 0
  br i1 %15928, label %15929, label %15946

15929:                                            ; preds = %15924
  %15930 = load i32, ptr %326, align 4, !tbaa !5
  %15931 = call ptr @__errno_location() #11
  store i32 %15930, ptr %15931, align 4, !tbaa !5
  %15932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15933 = load i32, ptr @test_count, align 4, !tbaa !5
  %15934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15935 = load i32, ptr %15934, align 4, !tbaa !5
  %15936 = call ptr @s2n_strerror(i32 noundef %15935, ptr noundef @.str.65)
  %15937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15938 = load i32, ptr %15937, align 4, !tbaa !5
  %15939 = call ptr @s2n_strerror_debug(i32 noundef %15938, ptr noundef @.str.65)
  %15940 = call ptr @__errno_location() #11
  %15941 = load i32, ptr %15940, align 4, !tbaa !5
  %15942 = call ptr @strerror(i32 noundef %15941) #10
  %15943 = call ptr @__errno_location() #11
  %15944 = load i32, ptr %15943, align 4, !tbaa !5
  %15945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15932, ptr noundef @.str.63, i32 noundef %15933, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 731, ptr noundef %15936, ptr noundef %15939, ptr noundef %15942, i32 noundef %15944) #10
  br label %15963

15946:                                            ; preds = %15924, %15917
  %15947 = load i32, ptr %326, align 4, !tbaa !5
  %15948 = call ptr @__errno_location() #11
  store i32 %15947, ptr %15948, align 4, !tbaa !5
  %15949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15950 = load i32, ptr @test_count, align 4, !tbaa !5
  %15951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15952 = load i32, ptr %15951, align 4, !tbaa !5
  %15953 = call ptr @s2n_strerror(i32 noundef %15952, ptr noundef @.str.65)
  %15954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15955 = load i32, ptr %15954, align 4, !tbaa !5
  %15956 = call ptr @s2n_strerror_debug(i32 noundef %15955, ptr noundef @.str.65)
  %15957 = call ptr @__errno_location() #11
  %15958 = load i32, ptr %15957, align 4, !tbaa !5
  %15959 = call ptr @strerror(i32 noundef %15958) #10
  %15960 = call ptr @__errno_location() #11
  %15961 = load i32, ptr %15960, align 4, !tbaa !5
  %15962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15949, ptr noundef @.str.66, i32 noundef %15950, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 731, ptr noundef %15953, ptr noundef %15956, ptr noundef %15959, i32 noundef %15961) #10
  br label %15963

15963:                                            ; preds = %15946, %15929
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #10
  br label %15964

15964:                                            ; preds = %15963
  br label %15965

15965:                                            ; preds = %15964
  call void @exit(i32 noundef 1) #12
  unreachable

15966:                                            ; No predecessors!
  br label %15967

15967:                                            ; preds = %15966
  br label %15968

15968:                                            ; preds = %15967, %15908
  br label %15969

15969:                                            ; preds = %15968
  br label %15970

15970:                                            ; preds = %15969
  br label %15971

15971:                                            ; preds = %15970
  %15972 = load i32, ptr @test_count, align 4, !tbaa !5
  %15973 = add nsw i32 %15972, 1
  store i32 %15973, ptr @test_count, align 4, !tbaa !5
  %15974 = load ptr, ptr %315, align 8, !tbaa !9
  %15975 = load ptr, ptr %313, align 8, !tbaa !9
  %15976 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %15974, ptr noundef %15975, ptr noundef %19)
  %15977 = getelementptr inbounds %struct.s2n_result, ptr %327, i32 0, i32 0
  store i32 %15976, ptr %15977, align 4
  %15978 = getelementptr inbounds %struct.s2n_result, ptr %327, i32 0, i32 0
  %15979 = load i32, ptr %15978, align 4
  %15980 = call zeroext i1 @s2n_result_is_ok(i32 %15979)
  br i1 %15980, label %16034, label %15981

15981:                                            ; preds = %15971
  br label %15982

15982:                                            ; preds = %15981
  br label %15983

15983:                                            ; preds = %15982
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #10
  %15984 = call ptr @__errno_location() #11
  %15985 = load i32, ptr %15984, align 4, !tbaa !5
  store i32 %15985, ptr %328, align 4, !tbaa !5
  %15986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15987 = call i32 @s2n_print_stacktrace(ptr noundef %15986)
  %15988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15989 = trunc i8 %15988 to i1
  br i1 %15989, label %15990, label %16012

15990:                                            ; preds = %15983
  %15991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15992 = call i32 @fileno(ptr noundef %15991) #10
  %15993 = call i32 @isatty(i32 noundef %15992) #10
  %15994 = icmp ne i32 %15993, 0
  br i1 %15994, label %15995, label %16012

15995:                                            ; preds = %15990
  %15996 = load i32, ptr %328, align 4, !tbaa !5
  %15997 = call ptr @__errno_location() #11
  store i32 %15996, ptr %15997, align 4, !tbaa !5
  %15998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15999 = load i32, ptr @test_count, align 4, !tbaa !5
  %16000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16001 = load i32, ptr %16000, align 4, !tbaa !5
  %16002 = call ptr @s2n_strerror(i32 noundef %16001, ptr noundef @.str.65)
  %16003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16004 = load i32, ptr %16003, align 4, !tbaa !5
  %16005 = call ptr @s2n_strerror_debug(i32 noundef %16004, ptr noundef @.str.65)
  %16006 = call ptr @__errno_location() #11
  %16007 = load i32, ptr %16006, align 4, !tbaa !5
  %16008 = call ptr @strerror(i32 noundef %16007) #10
  %16009 = call ptr @__errno_location() #11
  %16010 = load i32, ptr %16009, align 4, !tbaa !5
  %16011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15998, ptr noundef @.str.63, i32 noundef %15999, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 732, ptr noundef %16002, ptr noundef %16005, ptr noundef %16008, i32 noundef %16010) #10
  br label %16029

16012:                                            ; preds = %15990, %15983
  %16013 = load i32, ptr %328, align 4, !tbaa !5
  %16014 = call ptr @__errno_location() #11
  store i32 %16013, ptr %16014, align 4, !tbaa !5
  %16015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16016 = load i32, ptr @test_count, align 4, !tbaa !5
  %16017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16018 = load i32, ptr %16017, align 4, !tbaa !5
  %16019 = call ptr @s2n_strerror(i32 noundef %16018, ptr noundef @.str.65)
  %16020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16021 = load i32, ptr %16020, align 4, !tbaa !5
  %16022 = call ptr @s2n_strerror_debug(i32 noundef %16021, ptr noundef @.str.65)
  %16023 = call ptr @__errno_location() #11
  %16024 = load i32, ptr %16023, align 4, !tbaa !5
  %16025 = call ptr @strerror(i32 noundef %16024) #10
  %16026 = call ptr @__errno_location() #11
  %16027 = load i32, ptr %16026, align 4, !tbaa !5
  %16028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16015, ptr noundef @.str.66, i32 noundef %16016, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 732, ptr noundef %16019, ptr noundef %16022, ptr noundef %16025, i32 noundef %16027) #10
  br label %16029

16029:                                            ; preds = %16012, %15995
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #10
  br label %16030

16030:                                            ; preds = %16029
  br label %16031

16031:                                            ; preds = %16030
  call void @exit(i32 noundef 1) #12
  unreachable

16032:                                            ; No predecessors!
  br label %16033

16033:                                            ; preds = %16032
  br label %16034

16034:                                            ; preds = %16033, %15971
  br label %16035

16035:                                            ; preds = %16034
  br label %16036

16036:                                            ; preds = %16035
  br label %16037

16037:                                            ; preds = %16036
  %16038 = load i32, ptr @test_count, align 4, !tbaa !5
  %16039 = add nsw i32 %16038, 1
  store i32 %16039, ptr @test_count, align 4, !tbaa !5
  %16040 = load ptr, ptr %315, align 8, !tbaa !9
  %16041 = call i32 @s2n_assert_tickets_sent(ptr noundef %16040, i16 noundef zeroext 2)
  %16042 = getelementptr inbounds %struct.s2n_result, ptr %329, i32 0, i32 0
  store i32 %16041, ptr %16042, align 4
  %16043 = getelementptr inbounds %struct.s2n_result, ptr %329, i32 0, i32 0
  %16044 = load i32, ptr %16043, align 4
  %16045 = call zeroext i1 @s2n_result_is_ok(i32 %16044)
  br i1 %16045, label %16099, label %16046

16046:                                            ; preds = %16037
  br label %16047

16047:                                            ; preds = %16046
  br label %16048

16048:                                            ; preds = %16047
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #10
  %16049 = call ptr @__errno_location() #11
  %16050 = load i32, ptr %16049, align 4, !tbaa !5
  store i32 %16050, ptr %330, align 4, !tbaa !5
  %16051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16052 = call i32 @s2n_print_stacktrace(ptr noundef %16051)
  %16053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16054 = trunc i8 %16053 to i1
  br i1 %16054, label %16055, label %16077

16055:                                            ; preds = %16048
  %16056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16057 = call i32 @fileno(ptr noundef %16056) #10
  %16058 = call i32 @isatty(i32 noundef %16057) #10
  %16059 = icmp ne i32 %16058, 0
  br i1 %16059, label %16060, label %16077

16060:                                            ; preds = %16055
  %16061 = load i32, ptr %330, align 4, !tbaa !5
  %16062 = call ptr @__errno_location() #11
  store i32 %16061, ptr %16062, align 4, !tbaa !5
  %16063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16064 = load i32, ptr @test_count, align 4, !tbaa !5
  %16065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16066 = load i32, ptr %16065, align 4, !tbaa !5
  %16067 = call ptr @s2n_strerror(i32 noundef %16066, ptr noundef @.str.65)
  %16068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16069 = load i32, ptr %16068, align 4, !tbaa !5
  %16070 = call ptr @s2n_strerror_debug(i32 noundef %16069, ptr noundef @.str.65)
  %16071 = call ptr @__errno_location() #11
  %16072 = load i32, ptr %16071, align 4, !tbaa !5
  %16073 = call ptr @strerror(i32 noundef %16072) #10
  %16074 = call ptr @__errno_location() #11
  %16075 = load i32, ptr %16074, align 4, !tbaa !5
  %16076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16063, ptr noundef @.str.63, i32 noundef %16064, ptr noundef @.str.167, ptr noundef @.str.62, i32 noundef 733, ptr noundef %16067, ptr noundef %16070, ptr noundef %16073, i32 noundef %16075) #10
  br label %16094

16077:                                            ; preds = %16055, %16048
  %16078 = load i32, ptr %330, align 4, !tbaa !5
  %16079 = call ptr @__errno_location() #11
  store i32 %16078, ptr %16079, align 4, !tbaa !5
  %16080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16081 = load i32, ptr @test_count, align 4, !tbaa !5
  %16082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16083 = load i32, ptr %16082, align 4, !tbaa !5
  %16084 = call ptr @s2n_strerror(i32 noundef %16083, ptr noundef @.str.65)
  %16085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16086 = load i32, ptr %16085, align 4, !tbaa !5
  %16087 = call ptr @s2n_strerror_debug(i32 noundef %16086, ptr noundef @.str.65)
  %16088 = call ptr @__errno_location() #11
  %16089 = load i32, ptr %16088, align 4, !tbaa !5
  %16090 = call ptr @strerror(i32 noundef %16089) #10
  %16091 = call ptr @__errno_location() #11
  %16092 = load i32, ptr %16091, align 4, !tbaa !5
  %16093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16080, ptr noundef @.str.66, i32 noundef %16081, ptr noundef @.str.167, ptr noundef @.str.62, i32 noundef 733, ptr noundef %16084, ptr noundef %16087, ptr noundef %16090, i32 noundef %16092) #10
  br label %16094

16094:                                            ; preds = %16077, %16060
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #10
  br label %16095

16095:                                            ; preds = %16094
  br label %16096

16096:                                            ; preds = %16095
  call void @exit(i32 noundef 1) #12
  unreachable

16097:                                            ; No predecessors!
  br label %16098

16098:                                            ; preds = %16097
  br label %16099

16099:                                            ; preds = %16098, %16037
  br label %16100

16100:                                            ; preds = %16099
  br label %16101

16101:                                            ; preds = %16100
  br label %16102

16102:                                            ; preds = %16101
  %16103 = load i32, ptr @test_count, align 4, !tbaa !5
  %16104 = add nsw i32 %16103, 1
  store i32 %16104, ptr @test_count, align 4, !tbaa !5
  %16105 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %16106 = load i32, ptr %16105, align 4, !tbaa !27
  %16107 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %16108 = load i32, ptr %16107, align 8, !tbaa !30
  %16109 = sub i32 %16106, %16108
  %16110 = call i32 @s2n_stuffer_copy(ptr noundef %45, ptr noundef %322, i32 noundef %16109)
  %16111 = icmp eq i32 %16110, -1
  br i1 %16111, label %16112, label %16165

16112:                                            ; preds = %16102
  br label %16113

16113:                                            ; preds = %16112
  br label %16114

16114:                                            ; preds = %16113
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #10
  %16115 = call ptr @__errno_location() #11
  %16116 = load i32, ptr %16115, align 4, !tbaa !5
  store i32 %16116, ptr %331, align 4, !tbaa !5
  %16117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16118 = call i32 @s2n_print_stacktrace(ptr noundef %16117)
  %16119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16120 = trunc i8 %16119 to i1
  br i1 %16120, label %16121, label %16143

16121:                                            ; preds = %16114
  %16122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16123 = call i32 @fileno(ptr noundef %16122) #10
  %16124 = call i32 @isatty(i32 noundef %16123) #10
  %16125 = icmp ne i32 %16124, 0
  br i1 %16125, label %16126, label %16143

16126:                                            ; preds = %16121
  %16127 = load i32, ptr %331, align 4, !tbaa !5
  %16128 = call ptr @__errno_location() #11
  store i32 %16127, ptr %16128, align 4, !tbaa !5
  %16129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16130 = load i32, ptr @test_count, align 4, !tbaa !5
  %16131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16132 = load i32, ptr %16131, align 4, !tbaa !5
  %16133 = call ptr @s2n_strerror(i32 noundef %16132, ptr noundef @.str.65)
  %16134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16135 = load i32, ptr %16134, align 4, !tbaa !5
  %16136 = call ptr @s2n_strerror_debug(i32 noundef %16135, ptr noundef @.str.65)
  %16137 = call ptr @__errno_location() #11
  %16138 = load i32, ptr %16137, align 4, !tbaa !5
  %16139 = call ptr @strerror(i32 noundef %16138) #10
  %16140 = call ptr @__errno_location() #11
  %16141 = load i32, ptr %16140, align 4, !tbaa !5
  %16142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16129, ptr noundef @.str.63, i32 noundef %16130, ptr noundef @.str.157, ptr noundef @.str.62, i32 noundef 734, ptr noundef %16133, ptr noundef %16136, ptr noundef %16139, i32 noundef %16141) #10
  br label %16160

16143:                                            ; preds = %16121, %16114
  %16144 = load i32, ptr %331, align 4, !tbaa !5
  %16145 = call ptr @__errno_location() #11
  store i32 %16144, ptr %16145, align 4, !tbaa !5
  %16146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16147 = load i32, ptr @test_count, align 4, !tbaa !5
  %16148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16149 = load i32, ptr %16148, align 4, !tbaa !5
  %16150 = call ptr @s2n_strerror(i32 noundef %16149, ptr noundef @.str.65)
  %16151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16152 = load i32, ptr %16151, align 4, !tbaa !5
  %16153 = call ptr @s2n_strerror_debug(i32 noundef %16152, ptr noundef @.str.65)
  %16154 = call ptr @__errno_location() #11
  %16155 = load i32, ptr %16154, align 4, !tbaa !5
  %16156 = call ptr @strerror(i32 noundef %16155) #10
  %16157 = call ptr @__errno_location() #11
  %16158 = load i32, ptr %16157, align 4, !tbaa !5
  %16159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16146, ptr noundef @.str.66, i32 noundef %16147, ptr noundef @.str.157, ptr noundef @.str.62, i32 noundef 734, ptr noundef %16150, ptr noundef %16153, ptr noundef %16156, i32 noundef %16158) #10
  br label %16160

16160:                                            ; preds = %16143, %16126
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #10
  br label %16161

16161:                                            ; preds = %16160
  br label %16162

16162:                                            ; preds = %16161
  call void @exit(i32 noundef 1) #12
  unreachable

16163:                                            ; No predecessors!
  br label %16164

16164:                                            ; preds = %16163
  br label %16165

16165:                                            ; preds = %16164, %16102
  br label %16166

16166:                                            ; preds = %16165
  br label %16167

16167:                                            ; preds = %16166
  br label %16168

16168:                                            ; preds = %16167
  %16169 = load i32, ptr @test_count, align 4, !tbaa !5
  %16170 = add nsw i32 %16169, 1
  store i32 %16170, ptr @test_count, align 4, !tbaa !5
  %16171 = load ptr, ptr %313, align 8, !tbaa !9
  %16172 = call i32 @s2n_connection_wipe(ptr noundef %16171)
  %16173 = icmp eq i32 %16172, -1
  br i1 %16173, label %16174, label %16227

16174:                                            ; preds = %16168
  br label %16175

16175:                                            ; preds = %16174
  br label %16176

16176:                                            ; preds = %16175
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #10
  %16177 = call ptr @__errno_location() #11
  %16178 = load i32, ptr %16177, align 4, !tbaa !5
  store i32 %16178, ptr %332, align 4, !tbaa !5
  %16179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16180 = call i32 @s2n_print_stacktrace(ptr noundef %16179)
  %16181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16182 = trunc i8 %16181 to i1
  br i1 %16182, label %16183, label %16205

16183:                                            ; preds = %16176
  %16184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16185 = call i32 @fileno(ptr noundef %16184) #10
  %16186 = call i32 @isatty(i32 noundef %16185) #10
  %16187 = icmp ne i32 %16186, 0
  br i1 %16187, label %16188, label %16205

16188:                                            ; preds = %16183
  %16189 = load i32, ptr %332, align 4, !tbaa !5
  %16190 = call ptr @__errno_location() #11
  store i32 %16189, ptr %16190, align 4, !tbaa !5
  %16191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16192 = load i32, ptr @test_count, align 4, !tbaa !5
  %16193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16194 = load i32, ptr %16193, align 4, !tbaa !5
  %16195 = call ptr @s2n_strerror(i32 noundef %16194, ptr noundef @.str.65)
  %16196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16197 = load i32, ptr %16196, align 4, !tbaa !5
  %16198 = call ptr @s2n_strerror_debug(i32 noundef %16197, ptr noundef @.str.65)
  %16199 = call ptr @__errno_location() #11
  %16200 = load i32, ptr %16199, align 4, !tbaa !5
  %16201 = call ptr @strerror(i32 noundef %16200) #10
  %16202 = call ptr @__errno_location() #11
  %16203 = load i32, ptr %16202, align 4, !tbaa !5
  %16204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16191, ptr noundef @.str.63, i32 noundef %16192, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 737, ptr noundef %16195, ptr noundef %16198, ptr noundef %16201, i32 noundef %16203) #10
  br label %16222

16205:                                            ; preds = %16183, %16176
  %16206 = load i32, ptr %332, align 4, !tbaa !5
  %16207 = call ptr @__errno_location() #11
  store i32 %16206, ptr %16207, align 4, !tbaa !5
  %16208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16209 = load i32, ptr @test_count, align 4, !tbaa !5
  %16210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16211 = load i32, ptr %16210, align 4, !tbaa !5
  %16212 = call ptr @s2n_strerror(i32 noundef %16211, ptr noundef @.str.65)
  %16213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16214 = load i32, ptr %16213, align 4, !tbaa !5
  %16215 = call ptr @s2n_strerror_debug(i32 noundef %16214, ptr noundef @.str.65)
  %16216 = call ptr @__errno_location() #11
  %16217 = load i32, ptr %16216, align 4, !tbaa !5
  %16218 = call ptr @strerror(i32 noundef %16217) #10
  %16219 = call ptr @__errno_location() #11
  %16220 = load i32, ptr %16219, align 4, !tbaa !5
  %16221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16208, ptr noundef @.str.66, i32 noundef %16209, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 737, ptr noundef %16212, ptr noundef %16215, ptr noundef %16218, i32 noundef %16220) #10
  br label %16222

16222:                                            ; preds = %16205, %16188
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #10
  br label %16223

16223:                                            ; preds = %16222
  br label %16224

16224:                                            ; preds = %16223
  call void @exit(i32 noundef 1) #12
  unreachable

16225:                                            ; No predecessors!
  br label %16226

16226:                                            ; preds = %16225
  br label %16227

16227:                                            ; preds = %16226, %16168
  br label %16228

16228:                                            ; preds = %16227
  br label %16229

16229:                                            ; preds = %16228
  br label %16230

16230:                                            ; preds = %16229
  %16231 = load i32, ptr @test_count, align 4, !tbaa !5
  %16232 = add nsw i32 %16231, 1
  store i32 %16232, ptr @test_count, align 4, !tbaa !5
  %16233 = load ptr, ptr %315, align 8, !tbaa !9
  %16234 = call i32 @s2n_connection_wipe(ptr noundef %16233)
  %16235 = icmp eq i32 %16234, -1
  br i1 %16235, label %16236, label %16289

16236:                                            ; preds = %16230
  br label %16237

16237:                                            ; preds = %16236
  br label %16238

16238:                                            ; preds = %16237
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #10
  %16239 = call ptr @__errno_location() #11
  %16240 = load i32, ptr %16239, align 4, !tbaa !5
  store i32 %16240, ptr %333, align 4, !tbaa !5
  %16241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16242 = call i32 @s2n_print_stacktrace(ptr noundef %16241)
  %16243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16244 = trunc i8 %16243 to i1
  br i1 %16244, label %16245, label %16267

16245:                                            ; preds = %16238
  %16246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16247 = call i32 @fileno(ptr noundef %16246) #10
  %16248 = call i32 @isatty(i32 noundef %16247) #10
  %16249 = icmp ne i32 %16248, 0
  br i1 %16249, label %16250, label %16267

16250:                                            ; preds = %16245
  %16251 = load i32, ptr %333, align 4, !tbaa !5
  %16252 = call ptr @__errno_location() #11
  store i32 %16251, ptr %16252, align 4, !tbaa !5
  %16253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16254 = load i32, ptr @test_count, align 4, !tbaa !5
  %16255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16256 = load i32, ptr %16255, align 4, !tbaa !5
  %16257 = call ptr @s2n_strerror(i32 noundef %16256, ptr noundef @.str.65)
  %16258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16259 = load i32, ptr %16258, align 4, !tbaa !5
  %16260 = call ptr @s2n_strerror_debug(i32 noundef %16259, ptr noundef @.str.65)
  %16261 = call ptr @__errno_location() #11
  %16262 = load i32, ptr %16261, align 4, !tbaa !5
  %16263 = call ptr @strerror(i32 noundef %16262) #10
  %16264 = call ptr @__errno_location() #11
  %16265 = load i32, ptr %16264, align 4, !tbaa !5
  %16266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16253, ptr noundef @.str.63, i32 noundef %16254, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 738, ptr noundef %16257, ptr noundef %16260, ptr noundef %16263, i32 noundef %16265) #10
  br label %16284

16267:                                            ; preds = %16245, %16238
  %16268 = load i32, ptr %333, align 4, !tbaa !5
  %16269 = call ptr @__errno_location() #11
  store i32 %16268, ptr %16269, align 4, !tbaa !5
  %16270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16271 = load i32, ptr @test_count, align 4, !tbaa !5
  %16272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16273 = load i32, ptr %16272, align 4, !tbaa !5
  %16274 = call ptr @s2n_strerror(i32 noundef %16273, ptr noundef @.str.65)
  %16275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16276 = load i32, ptr %16275, align 4, !tbaa !5
  %16277 = call ptr @s2n_strerror_debug(i32 noundef %16276, ptr noundef @.str.65)
  %16278 = call ptr @__errno_location() #11
  %16279 = load i32, ptr %16278, align 4, !tbaa !5
  %16280 = call ptr @strerror(i32 noundef %16279) #10
  %16281 = call ptr @__errno_location() #11
  %16282 = load i32, ptr %16281, align 4, !tbaa !5
  %16283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16270, ptr noundef @.str.66, i32 noundef %16271, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 738, ptr noundef %16274, ptr noundef %16277, ptr noundef %16280, i32 noundef %16282) #10
  br label %16284

16284:                                            ; preds = %16267, %16250
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #10
  br label %16285

16285:                                            ; preds = %16284
  br label %16286

16286:                                            ; preds = %16285
  call void @exit(i32 noundef 1) #12
  unreachable

16287:                                            ; No predecessors!
  br label %16288

16288:                                            ; preds = %16287
  br label %16289

16289:                                            ; preds = %16288, %16230
  br label %16290

16290:                                            ; preds = %16289
  br label %16291

16291:                                            ; preds = %16290
  br label %16292

16292:                                            ; preds = %16291
  %16293 = load i32, ptr @test_count, align 4, !tbaa !5
  %16294 = add nsw i32 %16293, 1
  store i32 %16294, ptr @test_count, align 4, !tbaa !5
  %16295 = load ptr, ptr %313, align 8, !tbaa !9
  %16296 = load ptr, ptr %315, align 8, !tbaa !9
  %16297 = call i32 @s2n_connections_set_io_pair(ptr noundef %16295, ptr noundef %16296, ptr noundef %318)
  %16298 = icmp eq i32 %16297, -1
  br i1 %16298, label %16299, label %16352

16299:                                            ; preds = %16292
  br label %16300

16300:                                            ; preds = %16299
  br label %16301

16301:                                            ; preds = %16300
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #10
  %16302 = call ptr @__errno_location() #11
  %16303 = load i32, ptr %16302, align 4, !tbaa !5
  store i32 %16303, ptr %334, align 4, !tbaa !5
  %16304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16305 = call i32 @s2n_print_stacktrace(ptr noundef %16304)
  %16306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16307 = trunc i8 %16306 to i1
  br i1 %16307, label %16308, label %16330

16308:                                            ; preds = %16301
  %16309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16310 = call i32 @fileno(ptr noundef %16309) #10
  %16311 = call i32 @isatty(i32 noundef %16310) #10
  %16312 = icmp ne i32 %16311, 0
  br i1 %16312, label %16313, label %16330

16313:                                            ; preds = %16308
  %16314 = load i32, ptr %334, align 4, !tbaa !5
  %16315 = call ptr @__errno_location() #11
  store i32 %16314, ptr %16315, align 4, !tbaa !5
  %16316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16317 = load i32, ptr @test_count, align 4, !tbaa !5
  %16318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16319 = load i32, ptr %16318, align 4, !tbaa !5
  %16320 = call ptr @s2n_strerror(i32 noundef %16319, ptr noundef @.str.65)
  %16321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16322 = load i32, ptr %16321, align 4, !tbaa !5
  %16323 = call ptr @s2n_strerror_debug(i32 noundef %16322, ptr noundef @.str.65)
  %16324 = call ptr @__errno_location() #11
  %16325 = load i32, ptr %16324, align 4, !tbaa !5
  %16326 = call ptr @strerror(i32 noundef %16325) #10
  %16327 = call ptr @__errno_location() #11
  %16328 = load i32, ptr %16327, align 4, !tbaa !5
  %16329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16316, ptr noundef @.str.63, i32 noundef %16317, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 739, ptr noundef %16320, ptr noundef %16323, ptr noundef %16326, i32 noundef %16328) #10
  br label %16347

16330:                                            ; preds = %16308, %16301
  %16331 = load i32, ptr %334, align 4, !tbaa !5
  %16332 = call ptr @__errno_location() #11
  store i32 %16331, ptr %16332, align 4, !tbaa !5
  %16333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16334 = load i32, ptr @test_count, align 4, !tbaa !5
  %16335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16336 = load i32, ptr %16335, align 4, !tbaa !5
  %16337 = call ptr @s2n_strerror(i32 noundef %16336, ptr noundef @.str.65)
  %16338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16339 = load i32, ptr %16338, align 4, !tbaa !5
  %16340 = call ptr @s2n_strerror_debug(i32 noundef %16339, ptr noundef @.str.65)
  %16341 = call ptr @__errno_location() #11
  %16342 = load i32, ptr %16341, align 4, !tbaa !5
  %16343 = call ptr @strerror(i32 noundef %16342) #10
  %16344 = call ptr @__errno_location() #11
  %16345 = load i32, ptr %16344, align 4, !tbaa !5
  %16346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16333, ptr noundef @.str.66, i32 noundef %16334, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 739, ptr noundef %16337, ptr noundef %16340, ptr noundef %16343, i32 noundef %16345) #10
  br label %16347

16347:                                            ; preds = %16330, %16313
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #10
  br label %16348

16348:                                            ; preds = %16347
  br label %16349

16349:                                            ; preds = %16348
  call void @exit(i32 noundef 1) #12
  unreachable

16350:                                            ; No predecessors!
  br label %16351

16351:                                            ; preds = %16350
  br label %16352

16352:                                            ; preds = %16351, %16292
  br label %16353

16353:                                            ; preds = %16352
  br label %16354

16354:                                            ; preds = %16353
  br label %16355

16355:                                            ; preds = %16354
  %16356 = load i32, ptr @test_count, align 4, !tbaa !5
  %16357 = add nsw i32 %16356, 1
  store i32 %16357, ptr @test_count, align 4, !tbaa !5
  %16358 = load ptr, ptr %313, align 8, !tbaa !9
  %16359 = load ptr, ptr %48, align 8, !tbaa !9
  %16360 = call i32 @s2n_connection_set_config(ptr noundef %16358, ptr noundef %16359)
  %16361 = icmp eq i32 %16360, -1
  br i1 %16361, label %16362, label %16415

16362:                                            ; preds = %16355
  br label %16363

16363:                                            ; preds = %16362
  br label %16364

16364:                                            ; preds = %16363
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #10
  %16365 = call ptr @__errno_location() #11
  %16366 = load i32, ptr %16365, align 4, !tbaa !5
  store i32 %16366, ptr %335, align 4, !tbaa !5
  %16367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16368 = call i32 @s2n_print_stacktrace(ptr noundef %16367)
  %16369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16370 = trunc i8 %16369 to i1
  br i1 %16370, label %16371, label %16393

16371:                                            ; preds = %16364
  %16372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16373 = call i32 @fileno(ptr noundef %16372) #10
  %16374 = call i32 @isatty(i32 noundef %16373) #10
  %16375 = icmp ne i32 %16374, 0
  br i1 %16375, label %16376, label %16393

16376:                                            ; preds = %16371
  %16377 = load i32, ptr %335, align 4, !tbaa !5
  %16378 = call ptr @__errno_location() #11
  store i32 %16377, ptr %16378, align 4, !tbaa !5
  %16379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16380 = load i32, ptr @test_count, align 4, !tbaa !5
  %16381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16382 = load i32, ptr %16381, align 4, !tbaa !5
  %16383 = call ptr @s2n_strerror(i32 noundef %16382, ptr noundef @.str.65)
  %16384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16385 = load i32, ptr %16384, align 4, !tbaa !5
  %16386 = call ptr @s2n_strerror_debug(i32 noundef %16385, ptr noundef @.str.65)
  %16387 = call ptr @__errno_location() #11
  %16388 = load i32, ptr %16387, align 4, !tbaa !5
  %16389 = call ptr @strerror(i32 noundef %16388) #10
  %16390 = call ptr @__errno_location() #11
  %16391 = load i32, ptr %16390, align 4, !tbaa !5
  %16392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16379, ptr noundef @.str.63, i32 noundef %16380, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 742, ptr noundef %16383, ptr noundef %16386, ptr noundef %16389, i32 noundef %16391) #10
  br label %16410

16393:                                            ; preds = %16371, %16364
  %16394 = load i32, ptr %335, align 4, !tbaa !5
  %16395 = call ptr @__errno_location() #11
  store i32 %16394, ptr %16395, align 4, !tbaa !5
  %16396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16397 = load i32, ptr @test_count, align 4, !tbaa !5
  %16398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16399 = load i32, ptr %16398, align 4, !tbaa !5
  %16400 = call ptr @s2n_strerror(i32 noundef %16399, ptr noundef @.str.65)
  %16401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16402 = load i32, ptr %16401, align 4, !tbaa !5
  %16403 = call ptr @s2n_strerror_debug(i32 noundef %16402, ptr noundef @.str.65)
  %16404 = call ptr @__errno_location() #11
  %16405 = load i32, ptr %16404, align 4, !tbaa !5
  %16406 = call ptr @strerror(i32 noundef %16405) #10
  %16407 = call ptr @__errno_location() #11
  %16408 = load i32, ptr %16407, align 4, !tbaa !5
  %16409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16396, ptr noundef @.str.66, i32 noundef %16397, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 742, ptr noundef %16400, ptr noundef %16403, ptr noundef %16406, i32 noundef %16408) #10
  br label %16410

16410:                                            ; preds = %16393, %16376
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #10
  br label %16411

16411:                                            ; preds = %16410
  br label %16412

16412:                                            ; preds = %16411
  call void @exit(i32 noundef 1) #12
  unreachable

16413:                                            ; No predecessors!
  br label %16414

16414:                                            ; preds = %16413
  br label %16415

16415:                                            ; preds = %16414, %16355
  br label %16416

16416:                                            ; preds = %16415
  br label %16417

16417:                                            ; preds = %16416
  br label %16418

16418:                                            ; preds = %16417
  %16419 = load i32, ptr @test_count, align 4, !tbaa !5
  %16420 = add nsw i32 %16419, 1
  store i32 %16420, ptr @test_count, align 4, !tbaa !5
  %16421 = load ptr, ptr %315, align 8, !tbaa !9
  %16422 = load ptr, ptr %313, align 8, !tbaa !9
  %16423 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %16421, ptr noundef %16422)
  %16424 = icmp eq i32 %16423, -1
  br i1 %16424, label %16425, label %16478

16425:                                            ; preds = %16418
  br label %16426

16426:                                            ; preds = %16425
  br label %16427

16427:                                            ; preds = %16426
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #10
  %16428 = call ptr @__errno_location() #11
  %16429 = load i32, ptr %16428, align 4, !tbaa !5
  store i32 %16429, ptr %336, align 4, !tbaa !5
  %16430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16431 = call i32 @s2n_print_stacktrace(ptr noundef %16430)
  %16432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16433 = trunc i8 %16432 to i1
  br i1 %16433, label %16434, label %16456

16434:                                            ; preds = %16427
  %16435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16436 = call i32 @fileno(ptr noundef %16435) #10
  %16437 = call i32 @isatty(i32 noundef %16436) #10
  %16438 = icmp ne i32 %16437, 0
  br i1 %16438, label %16439, label %16456

16439:                                            ; preds = %16434
  %16440 = load i32, ptr %336, align 4, !tbaa !5
  %16441 = call ptr @__errno_location() #11
  store i32 %16440, ptr %16441, align 4, !tbaa !5
  %16442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16443 = load i32, ptr @test_count, align 4, !tbaa !5
  %16444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16445 = load i32, ptr %16444, align 4, !tbaa !5
  %16446 = call ptr @s2n_strerror(i32 noundef %16445, ptr noundef @.str.65)
  %16447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16448 = load i32, ptr %16447, align 4, !tbaa !5
  %16449 = call ptr @s2n_strerror_debug(i32 noundef %16448, ptr noundef @.str.65)
  %16450 = call ptr @__errno_location() #11
  %16451 = load i32, ptr %16450, align 4, !tbaa !5
  %16452 = call ptr @strerror(i32 noundef %16451) #10
  %16453 = call ptr @__errno_location() #11
  %16454 = load i32, ptr %16453, align 4, !tbaa !5
  %16455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16442, ptr noundef @.str.63, i32 noundef %16443, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 743, ptr noundef %16446, ptr noundef %16449, ptr noundef %16452, i32 noundef %16454) #10
  br label %16473

16456:                                            ; preds = %16434, %16427
  %16457 = load i32, ptr %336, align 4, !tbaa !5
  %16458 = call ptr @__errno_location() #11
  store i32 %16457, ptr %16458, align 4, !tbaa !5
  %16459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16460 = load i32, ptr @test_count, align 4, !tbaa !5
  %16461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16462 = load i32, ptr %16461, align 4, !tbaa !5
  %16463 = call ptr @s2n_strerror(i32 noundef %16462, ptr noundef @.str.65)
  %16464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16465 = load i32, ptr %16464, align 4, !tbaa !5
  %16466 = call ptr @s2n_strerror_debug(i32 noundef %16465, ptr noundef @.str.65)
  %16467 = call ptr @__errno_location() #11
  %16468 = load i32, ptr %16467, align 4, !tbaa !5
  %16469 = call ptr @strerror(i32 noundef %16468) #10
  %16470 = call ptr @__errno_location() #11
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16459, ptr noundef @.str.66, i32 noundef %16460, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 743, ptr noundef %16463, ptr noundef %16466, ptr noundef %16469, i32 noundef %16471) #10
  br label %16473

16473:                                            ; preds = %16456, %16439
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #10
  br label %16474

16474:                                            ; preds = %16473
  br label %16475

16475:                                            ; preds = %16474
  call void @exit(i32 noundef 1) #12
  unreachable

16476:                                            ; No predecessors!
  br label %16477

16477:                                            ; preds = %16476
  br label %16478

16478:                                            ; preds = %16477, %16418
  br label %16479

16479:                                            ; preds = %16478
  br label %16480

16480:                                            ; preds = %16479
  br label %16481

16481:                                            ; preds = %16480
  %16482 = load i32, ptr @test_count, align 4, !tbaa !5
  %16483 = add nsw i32 %16482, 1
  store i32 %16483, ptr @test_count, align 4, !tbaa !5
  %16484 = load ptr, ptr %315, align 8, !tbaa !9
  %16485 = call i32 @s2n_assert_tickets_sent(ptr noundef %16484, i16 noundef zeroext 1)
  %16486 = getelementptr inbounds %struct.s2n_result, ptr %337, i32 0, i32 0
  store i32 %16485, ptr %16486, align 4
  %16487 = getelementptr inbounds %struct.s2n_result, ptr %337, i32 0, i32 0
  %16488 = load i32, ptr %16487, align 4
  %16489 = call zeroext i1 @s2n_result_is_ok(i32 %16488)
  br i1 %16489, label %16543, label %16490

16490:                                            ; preds = %16481
  br label %16491

16491:                                            ; preds = %16490
  br label %16492

16492:                                            ; preds = %16491
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #10
  %16493 = call ptr @__errno_location() #11
  %16494 = load i32, ptr %16493, align 4, !tbaa !5
  store i32 %16494, ptr %338, align 4, !tbaa !5
  %16495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16496 = call i32 @s2n_print_stacktrace(ptr noundef %16495)
  %16497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16498 = trunc i8 %16497 to i1
  br i1 %16498, label %16499, label %16521

16499:                                            ; preds = %16492
  %16500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16501 = call i32 @fileno(ptr noundef %16500) #10
  %16502 = call i32 @isatty(i32 noundef %16501) #10
  %16503 = icmp ne i32 %16502, 0
  br i1 %16503, label %16504, label %16521

16504:                                            ; preds = %16499
  %16505 = load i32, ptr %338, align 4, !tbaa !5
  %16506 = call ptr @__errno_location() #11
  store i32 %16505, ptr %16506, align 4, !tbaa !5
  %16507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16508 = load i32, ptr @test_count, align 4, !tbaa !5
  %16509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16510 = load i32, ptr %16509, align 4, !tbaa !5
  %16511 = call ptr @s2n_strerror(i32 noundef %16510, ptr noundef @.str.65)
  %16512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16513 = load i32, ptr %16512, align 4, !tbaa !5
  %16514 = call ptr @s2n_strerror_debug(i32 noundef %16513, ptr noundef @.str.65)
  %16515 = call ptr @__errno_location() #11
  %16516 = load i32, ptr %16515, align 4, !tbaa !5
  %16517 = call ptr @strerror(i32 noundef %16516) #10
  %16518 = call ptr @__errno_location() #11
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  %16520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16507, ptr noundef @.str.63, i32 noundef %16508, ptr noundef @.str.168, ptr noundef @.str.62, i32 noundef 744, ptr noundef %16511, ptr noundef %16514, ptr noundef %16517, i32 noundef %16519) #10
  br label %16538

16521:                                            ; preds = %16499, %16492
  %16522 = load i32, ptr %338, align 4, !tbaa !5
  %16523 = call ptr @__errno_location() #11
  store i32 %16522, ptr %16523, align 4, !tbaa !5
  %16524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16525 = load i32, ptr @test_count, align 4, !tbaa !5
  %16526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16527 = load i32, ptr %16526, align 4, !tbaa !5
  %16528 = call ptr @s2n_strerror(i32 noundef %16527, ptr noundef @.str.65)
  %16529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16530 = load i32, ptr %16529, align 4, !tbaa !5
  %16531 = call ptr @s2n_strerror_debug(i32 noundef %16530, ptr noundef @.str.65)
  %16532 = call ptr @__errno_location() #11
  %16533 = load i32, ptr %16532, align 4, !tbaa !5
  %16534 = call ptr @strerror(i32 noundef %16533) #10
  %16535 = call ptr @__errno_location() #11
  %16536 = load i32, ptr %16535, align 4, !tbaa !5
  %16537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16524, ptr noundef @.str.66, i32 noundef %16525, ptr noundef @.str.168, ptr noundef @.str.62, i32 noundef 744, ptr noundef %16528, ptr noundef %16531, ptr noundef %16534, i32 noundef %16536) #10
  br label %16538

16538:                                            ; preds = %16521, %16504
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #10
  br label %16539

16539:                                            ; preds = %16538
  br label %16540

16540:                                            ; preds = %16539
  call void @exit(i32 noundef 1) #12
  unreachable

16541:                                            ; No predecessors!
  br label %16542

16542:                                            ; preds = %16541
  br label %16543

16543:                                            ; preds = %16542, %16481
  br label %16544

16544:                                            ; preds = %16543
  br label %16545

16545:                                            ; preds = %16544
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #10
  %16546 = load ptr, ptr %313, align 8, !tbaa !9
  %16547 = call i32 @s2n_connection_get_session_length(ptr noundef %16546)
  store i32 %16547, ptr %339, align 4, !tbaa !5
  br label %16548

16548:                                            ; preds = %16545
  %16549 = load i32, ptr @test_count, align 4, !tbaa !5
  %16550 = add nsw i32 %16549, 1
  store i32 %16550, ptr @test_count, align 4, !tbaa !5
  %16551 = load i32, ptr %339, align 4, !tbaa !5
  %16552 = call i32 @s2n_stuffer_skip_write(ptr noundef %321, i32 noundef %16551)
  %16553 = icmp eq i32 %16552, -1
  br i1 %16553, label %16554, label %16607

16554:                                            ; preds = %16548
  br label %16555

16555:                                            ; preds = %16554
  br label %16556

16556:                                            ; preds = %16555
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #10
  %16557 = call ptr @__errno_location() #11
  %16558 = load i32, ptr %16557, align 4, !tbaa !5
  store i32 %16558, ptr %340, align 4, !tbaa !5
  %16559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16560 = call i32 @s2n_print_stacktrace(ptr noundef %16559)
  %16561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16562 = trunc i8 %16561 to i1
  br i1 %16562, label %16563, label %16585

16563:                                            ; preds = %16556
  %16564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16565 = call i32 @fileno(ptr noundef %16564) #10
  %16566 = call i32 @isatty(i32 noundef %16565) #10
  %16567 = icmp ne i32 %16566, 0
  br i1 %16567, label %16568, label %16585

16568:                                            ; preds = %16563
  %16569 = load i32, ptr %340, align 4, !tbaa !5
  %16570 = call ptr @__errno_location() #11
  store i32 %16569, ptr %16570, align 4, !tbaa !5
  %16571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16572 = load i32, ptr @test_count, align 4, !tbaa !5
  %16573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16574 = load i32, ptr %16573, align 4, !tbaa !5
  %16575 = call ptr @s2n_strerror(i32 noundef %16574, ptr noundef @.str.65)
  %16576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16577 = load i32, ptr %16576, align 4, !tbaa !5
  %16578 = call ptr @s2n_strerror_debug(i32 noundef %16577, ptr noundef @.str.65)
  %16579 = call ptr @__errno_location() #11
  %16580 = load i32, ptr %16579, align 4, !tbaa !5
  %16581 = call ptr @strerror(i32 noundef %16580) #10
  %16582 = call ptr @__errno_location() #11
  %16583 = load i32, ptr %16582, align 4, !tbaa !5
  %16584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16571, ptr noundef @.str.63, i32 noundef %16572, ptr noundef @.str.158, ptr noundef @.str.62, i32 noundef 746, ptr noundef %16575, ptr noundef %16578, ptr noundef %16581, i32 noundef %16583) #10
  br label %16602

16585:                                            ; preds = %16563, %16556
  %16586 = load i32, ptr %340, align 4, !tbaa !5
  %16587 = call ptr @__errno_location() #11
  store i32 %16586, ptr %16587, align 4, !tbaa !5
  %16588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16589 = load i32, ptr @test_count, align 4, !tbaa !5
  %16590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16591 = load i32, ptr %16590, align 4, !tbaa !5
  %16592 = call ptr @s2n_strerror(i32 noundef %16591, ptr noundef @.str.65)
  %16593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16594 = load i32, ptr %16593, align 4, !tbaa !5
  %16595 = call ptr @s2n_strerror_debug(i32 noundef %16594, ptr noundef @.str.65)
  %16596 = call ptr @__errno_location() #11
  %16597 = load i32, ptr %16596, align 4, !tbaa !5
  %16598 = call ptr @strerror(i32 noundef %16597) #10
  %16599 = call ptr @__errno_location() #11
  %16600 = load i32, ptr %16599, align 4, !tbaa !5
  %16601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16588, ptr noundef @.str.66, i32 noundef %16589, ptr noundef @.str.158, ptr noundef @.str.62, i32 noundef 746, ptr noundef %16592, ptr noundef %16595, ptr noundef %16598, i32 noundef %16600) #10
  br label %16602

16602:                                            ; preds = %16585, %16568
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #10
  br label %16603

16603:                                            ; preds = %16602
  br label %16604

16604:                                            ; preds = %16603
  call void @exit(i32 noundef 1) #12
  unreachable

16605:                                            ; No predecessors!
  br label %16606

16606:                                            ; preds = %16605
  br label %16607

16607:                                            ; preds = %16606, %16548
  br label %16608

16608:                                            ; preds = %16607
  br label %16609

16609:                                            ; preds = %16608
  br label %16610

16610:                                            ; preds = %16609
  %16611 = load i32, ptr @test_count, align 4, !tbaa !5
  %16612 = add nsw i32 %16611, 1
  store i32 %16612, ptr @test_count, align 4, !tbaa !5
  %16613 = load ptr, ptr %313, align 8, !tbaa !9
  %16614 = getelementptr inbounds %struct.s2n_stuffer, ptr %321, i32 0, i32 0
  %16615 = getelementptr inbounds %struct.s2n_blob, ptr %16614, i32 0, i32 0
  %16616 = load ptr, ptr %16615, align 8, !tbaa !31
  %16617 = load i32, ptr %339, align 4, !tbaa !5
  %16618 = sext i32 %16617 to i64
  %16619 = call i32 @s2n_connection_get_session(ptr noundef %16613, ptr noundef %16616, i64 noundef %16618)
  %16620 = icmp eq i32 %16619, -1
  br i1 %16620, label %16621, label %16674

16621:                                            ; preds = %16610
  br label %16622

16622:                                            ; preds = %16621
  br label %16623

16623:                                            ; preds = %16622
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #10
  %16624 = call ptr @__errno_location() #11
  %16625 = load i32, ptr %16624, align 4, !tbaa !5
  store i32 %16625, ptr %341, align 4, !tbaa !5
  %16626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16627 = call i32 @s2n_print_stacktrace(ptr noundef %16626)
  %16628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16629 = trunc i8 %16628 to i1
  br i1 %16629, label %16630, label %16652

16630:                                            ; preds = %16623
  %16631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16632 = call i32 @fileno(ptr noundef %16631) #10
  %16633 = call i32 @isatty(i32 noundef %16632) #10
  %16634 = icmp ne i32 %16633, 0
  br i1 %16634, label %16635, label %16652

16635:                                            ; preds = %16630
  %16636 = load i32, ptr %341, align 4, !tbaa !5
  %16637 = call ptr @__errno_location() #11
  store i32 %16636, ptr %16637, align 4, !tbaa !5
  %16638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16639 = load i32, ptr @test_count, align 4, !tbaa !5
  %16640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16641 = load i32, ptr %16640, align 4, !tbaa !5
  %16642 = call ptr @s2n_strerror(i32 noundef %16641, ptr noundef @.str.65)
  %16643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16644 = load i32, ptr %16643, align 4, !tbaa !5
  %16645 = call ptr @s2n_strerror_debug(i32 noundef %16644, ptr noundef @.str.65)
  %16646 = call ptr @__errno_location() #11
  %16647 = load i32, ptr %16646, align 4, !tbaa !5
  %16648 = call ptr @strerror(i32 noundef %16647) #10
  %16649 = call ptr @__errno_location() #11
  %16650 = load i32, ptr %16649, align 4, !tbaa !5
  %16651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16638, ptr noundef @.str.63, i32 noundef %16639, ptr noundef @.str.159, ptr noundef @.str.62, i32 noundef 747, ptr noundef %16642, ptr noundef %16645, ptr noundef %16648, i32 noundef %16650) #10
  br label %16669

16652:                                            ; preds = %16630, %16623
  %16653 = load i32, ptr %341, align 4, !tbaa !5
  %16654 = call ptr @__errno_location() #11
  store i32 %16653, ptr %16654, align 4, !tbaa !5
  %16655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16656 = load i32, ptr @test_count, align 4, !tbaa !5
  %16657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16658 = load i32, ptr %16657, align 4, !tbaa !5
  %16659 = call ptr @s2n_strerror(i32 noundef %16658, ptr noundef @.str.65)
  %16660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @s2n_strerror_debug(i32 noundef %16661, ptr noundef @.str.65)
  %16663 = call ptr @__errno_location() #11
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  %16665 = call ptr @strerror(i32 noundef %16664) #10
  %16666 = call ptr @__errno_location() #11
  %16667 = load i32, ptr %16666, align 4, !tbaa !5
  %16668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16655, ptr noundef @.str.66, i32 noundef %16656, ptr noundef @.str.159, ptr noundef @.str.62, i32 noundef 747, ptr noundef %16659, ptr noundef %16662, ptr noundef %16665, i32 noundef %16667) #10
  br label %16669

16669:                                            ; preds = %16652, %16635
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #10
  br label %16670

16670:                                            ; preds = %16669
  br label %16671

16671:                                            ; preds = %16670
  call void @exit(i32 noundef 1) #12
  unreachable

16672:                                            ; No predecessors!
  br label %16673

16673:                                            ; preds = %16672
  br label %16674

16674:                                            ; preds = %16673, %16610
  br label %16675

16675:                                            ; preds = %16674
  br label %16676

16676:                                            ; preds = %16675
  call void @llvm.lifetime.start.p0(i64 16, ptr %342) #10
  %16677 = load ptr, ptr %48, align 8, !tbaa !9
  store ptr %16677, ptr %342, align 8, !tbaa !9
  %16678 = getelementptr inbounds ptr, ptr %342, i64 1
  %16679 = load ptr, ptr %40, align 8, !tbaa !9
  store ptr %16679, ptr %16678, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %343) #10
  call void @llvm.memset.p0.i64(ptr align 8 %343, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %344) #10
  store i64 0, ptr %344, align 8, !tbaa !15
  br label %16680

16680:                                            ; preds = %17512, %16676
  %16681 = load i64, ptr %344, align 8, !tbaa !15
  %16682 = icmp ult i64 %16681, 2
  br i1 %16682, label %16684, label %16683

16683:                                            ; preds = %16680
  store i32 1552, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %344) #10
  br label %17515

16684:                                            ; preds = %16680
  br label %16685

16685:                                            ; preds = %16684
  %16686 = load i32, ptr @test_count, align 4, !tbaa !5
  %16687 = add nsw i32 %16686, 1
  store i32 %16687, ptr @test_count, align 4, !tbaa !5
  %16688 = load ptr, ptr %313, align 8, !tbaa !9
  %16689 = call i32 @s2n_connection_wipe(ptr noundef %16688)
  %16690 = icmp eq i32 %16689, -1
  br i1 %16690, label %16691, label %16744

16691:                                            ; preds = %16685
  br label %16692

16692:                                            ; preds = %16691
  br label %16693

16693:                                            ; preds = %16692
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #10
  %16694 = call ptr @__errno_location() #11
  %16695 = load i32, ptr %16694, align 4, !tbaa !5
  store i32 %16695, ptr %345, align 4, !tbaa !5
  %16696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16697 = call i32 @s2n_print_stacktrace(ptr noundef %16696)
  %16698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16699 = trunc i8 %16698 to i1
  br i1 %16699, label %16700, label %16722

16700:                                            ; preds = %16693
  %16701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16702 = call i32 @fileno(ptr noundef %16701) #10
  %16703 = call i32 @isatty(i32 noundef %16702) #10
  %16704 = icmp ne i32 %16703, 0
  br i1 %16704, label %16705, label %16722

16705:                                            ; preds = %16700
  %16706 = load i32, ptr %345, align 4, !tbaa !5
  %16707 = call ptr @__errno_location() #11
  store i32 %16706, ptr %16707, align 4, !tbaa !5
  %16708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16709 = load i32, ptr @test_count, align 4, !tbaa !5
  %16710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16711 = load i32, ptr %16710, align 4, !tbaa !5
  %16712 = call ptr @s2n_strerror(i32 noundef %16711, ptr noundef @.str.65)
  %16713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16714 = load i32, ptr %16713, align 4, !tbaa !5
  %16715 = call ptr @s2n_strerror_debug(i32 noundef %16714, ptr noundef @.str.65)
  %16716 = call ptr @__errno_location() #11
  %16717 = load i32, ptr %16716, align 4, !tbaa !5
  %16718 = call ptr @strerror(i32 noundef %16717) #10
  %16719 = call ptr @__errno_location() #11
  %16720 = load i32, ptr %16719, align 4, !tbaa !5
  %16721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16708, ptr noundef @.str.63, i32 noundef %16709, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 758, ptr noundef %16712, ptr noundef %16715, ptr noundef %16718, i32 noundef %16720) #10
  br label %16739

16722:                                            ; preds = %16700, %16693
  %16723 = load i32, ptr %345, align 4, !tbaa !5
  %16724 = call ptr @__errno_location() #11
  store i32 %16723, ptr %16724, align 4, !tbaa !5
  %16725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16726 = load i32, ptr @test_count, align 4, !tbaa !5
  %16727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16728 = load i32, ptr %16727, align 4, !tbaa !5
  %16729 = call ptr @s2n_strerror(i32 noundef %16728, ptr noundef @.str.65)
  %16730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16731 = load i32, ptr %16730, align 4, !tbaa !5
  %16732 = call ptr @s2n_strerror_debug(i32 noundef %16731, ptr noundef @.str.65)
  %16733 = call ptr @__errno_location() #11
  %16734 = load i32, ptr %16733, align 4, !tbaa !5
  %16735 = call ptr @strerror(i32 noundef %16734) #10
  %16736 = call ptr @__errno_location() #11
  %16737 = load i32, ptr %16736, align 4, !tbaa !5
  %16738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16725, ptr noundef @.str.66, i32 noundef %16726, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 758, ptr noundef %16729, ptr noundef %16732, ptr noundef %16735, i32 noundef %16737) #10
  br label %16739

16739:                                            ; preds = %16722, %16705
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #10
  br label %16740

16740:                                            ; preds = %16739
  br label %16741

16741:                                            ; preds = %16740
  call void @exit(i32 noundef 1) #12
  unreachable

16742:                                            ; No predecessors!
  br label %16743

16743:                                            ; preds = %16742
  br label %16744

16744:                                            ; preds = %16743, %16685
  br label %16745

16745:                                            ; preds = %16744
  br label %16746

16746:                                            ; preds = %16745
  br label %16747

16747:                                            ; preds = %16746
  %16748 = load i32, ptr @test_count, align 4, !tbaa !5
  %16749 = add nsw i32 %16748, 1
  store i32 %16749, ptr @test_count, align 4, !tbaa !5
  %16750 = load ptr, ptr %315, align 8, !tbaa !9
  %16751 = call i32 @s2n_connection_wipe(ptr noundef %16750)
  %16752 = icmp eq i32 %16751, -1
  br i1 %16752, label %16753, label %16806

16753:                                            ; preds = %16747
  br label %16754

16754:                                            ; preds = %16753
  br label %16755

16755:                                            ; preds = %16754
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #10
  %16756 = call ptr @__errno_location() #11
  %16757 = load i32, ptr %16756, align 4, !tbaa !5
  store i32 %16757, ptr %346, align 4, !tbaa !5
  %16758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16759 = call i32 @s2n_print_stacktrace(ptr noundef %16758)
  %16760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16761 = trunc i8 %16760 to i1
  br i1 %16761, label %16762, label %16784

16762:                                            ; preds = %16755
  %16763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16764 = call i32 @fileno(ptr noundef %16763) #10
  %16765 = call i32 @isatty(i32 noundef %16764) #10
  %16766 = icmp ne i32 %16765, 0
  br i1 %16766, label %16767, label %16784

16767:                                            ; preds = %16762
  %16768 = load i32, ptr %346, align 4, !tbaa !5
  %16769 = call ptr @__errno_location() #11
  store i32 %16768, ptr %16769, align 4, !tbaa !5
  %16770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16771 = load i32, ptr @test_count, align 4, !tbaa !5
  %16772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16773 = load i32, ptr %16772, align 4, !tbaa !5
  %16774 = call ptr @s2n_strerror(i32 noundef %16773, ptr noundef @.str.65)
  %16775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16776 = load i32, ptr %16775, align 4, !tbaa !5
  %16777 = call ptr @s2n_strerror_debug(i32 noundef %16776, ptr noundef @.str.65)
  %16778 = call ptr @__errno_location() #11
  %16779 = load i32, ptr %16778, align 4, !tbaa !5
  %16780 = call ptr @strerror(i32 noundef %16779) #10
  %16781 = call ptr @__errno_location() #11
  %16782 = load i32, ptr %16781, align 4, !tbaa !5
  %16783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16770, ptr noundef @.str.63, i32 noundef %16771, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 759, ptr noundef %16774, ptr noundef %16777, ptr noundef %16780, i32 noundef %16782) #10
  br label %16801

16784:                                            ; preds = %16762, %16755
  %16785 = load i32, ptr %346, align 4, !tbaa !5
  %16786 = call ptr @__errno_location() #11
  store i32 %16785, ptr %16786, align 4, !tbaa !5
  %16787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16788 = load i32, ptr @test_count, align 4, !tbaa !5
  %16789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16790 = load i32, ptr %16789, align 4, !tbaa !5
  %16791 = call ptr @s2n_strerror(i32 noundef %16790, ptr noundef @.str.65)
  %16792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16793 = load i32, ptr %16792, align 4, !tbaa !5
  %16794 = call ptr @s2n_strerror_debug(i32 noundef %16793, ptr noundef @.str.65)
  %16795 = call ptr @__errno_location() #11
  %16796 = load i32, ptr %16795, align 4, !tbaa !5
  %16797 = call ptr @strerror(i32 noundef %16796) #10
  %16798 = call ptr @__errno_location() #11
  %16799 = load i32, ptr %16798, align 4, !tbaa !5
  %16800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16787, ptr noundef @.str.66, i32 noundef %16788, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 759, ptr noundef %16791, ptr noundef %16794, ptr noundef %16797, i32 noundef %16799) #10
  br label %16801

16801:                                            ; preds = %16784, %16767
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #10
  br label %16802

16802:                                            ; preds = %16801
  br label %16803

16803:                                            ; preds = %16802
  call void @exit(i32 noundef 1) #12
  unreachable

16804:                                            ; No predecessors!
  br label %16805

16805:                                            ; preds = %16804
  br label %16806

16806:                                            ; preds = %16805, %16747
  br label %16807

16807:                                            ; preds = %16806
  br label %16808

16808:                                            ; preds = %16807
  br label %16809

16809:                                            ; preds = %16808
  %16810 = load i32, ptr @test_count, align 4, !tbaa !5
  %16811 = add nsw i32 %16810, 1
  store i32 %16811, ptr @test_count, align 4, !tbaa !5
  %16812 = load ptr, ptr %313, align 8, !tbaa !9
  %16813 = load ptr, ptr %315, align 8, !tbaa !9
  %16814 = call i32 @s2n_connections_set_io_pair(ptr noundef %16812, ptr noundef %16813, ptr noundef %318)
  %16815 = icmp eq i32 %16814, -1
  br i1 %16815, label %16816, label %16869

16816:                                            ; preds = %16809
  br label %16817

16817:                                            ; preds = %16816
  br label %16818

16818:                                            ; preds = %16817
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #10
  %16819 = call ptr @__errno_location() #11
  %16820 = load i32, ptr %16819, align 4, !tbaa !5
  store i32 %16820, ptr %347, align 4, !tbaa !5
  %16821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16822 = call i32 @s2n_print_stacktrace(ptr noundef %16821)
  %16823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16824 = trunc i8 %16823 to i1
  br i1 %16824, label %16825, label %16847

16825:                                            ; preds = %16818
  %16826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16827 = call i32 @fileno(ptr noundef %16826) #10
  %16828 = call i32 @isatty(i32 noundef %16827) #10
  %16829 = icmp ne i32 %16828, 0
  br i1 %16829, label %16830, label %16847

16830:                                            ; preds = %16825
  %16831 = load i32, ptr %347, align 4, !tbaa !5
  %16832 = call ptr @__errno_location() #11
  store i32 %16831, ptr %16832, align 4, !tbaa !5
  %16833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16834 = load i32, ptr @test_count, align 4, !tbaa !5
  %16835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16836 = load i32, ptr %16835, align 4, !tbaa !5
  %16837 = call ptr @s2n_strerror(i32 noundef %16836, ptr noundef @.str.65)
  %16838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16839 = load i32, ptr %16838, align 4, !tbaa !5
  %16840 = call ptr @s2n_strerror_debug(i32 noundef %16839, ptr noundef @.str.65)
  %16841 = call ptr @__errno_location() #11
  %16842 = load i32, ptr %16841, align 4, !tbaa !5
  %16843 = call ptr @strerror(i32 noundef %16842) #10
  %16844 = call ptr @__errno_location() #11
  %16845 = load i32, ptr %16844, align 4, !tbaa !5
  %16846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16833, ptr noundef @.str.63, i32 noundef %16834, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 760, ptr noundef %16837, ptr noundef %16840, ptr noundef %16843, i32 noundef %16845) #10
  br label %16864

16847:                                            ; preds = %16825, %16818
  %16848 = load i32, ptr %347, align 4, !tbaa !5
  %16849 = call ptr @__errno_location() #11
  store i32 %16848, ptr %16849, align 4, !tbaa !5
  %16850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16851 = load i32, ptr @test_count, align 4, !tbaa !5
  %16852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16853 = load i32, ptr %16852, align 4, !tbaa !5
  %16854 = call ptr @s2n_strerror(i32 noundef %16853, ptr noundef @.str.65)
  %16855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16856 = load i32, ptr %16855, align 4, !tbaa !5
  %16857 = call ptr @s2n_strerror_debug(i32 noundef %16856, ptr noundef @.str.65)
  %16858 = call ptr @__errno_location() #11
  %16859 = load i32, ptr %16858, align 4, !tbaa !5
  %16860 = call ptr @strerror(i32 noundef %16859) #10
  %16861 = call ptr @__errno_location() #11
  %16862 = load i32, ptr %16861, align 4, !tbaa !5
  %16863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16850, ptr noundef @.str.66, i32 noundef %16851, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 760, ptr noundef %16854, ptr noundef %16857, ptr noundef %16860, i32 noundef %16862) #10
  br label %16864

16864:                                            ; preds = %16847, %16830
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #10
  br label %16865

16865:                                            ; preds = %16864
  br label %16866

16866:                                            ; preds = %16865
  call void @exit(i32 noundef 1) #12
  unreachable

16867:                                            ; No predecessors!
  br label %16868

16868:                                            ; preds = %16867
  br label %16869

16869:                                            ; preds = %16868, %16809
  br label %16870

16870:                                            ; preds = %16869
  br label %16871

16871:                                            ; preds = %16870
  br label %16872

16872:                                            ; preds = %16871
  %16873 = load i32, ptr @test_count, align 4, !tbaa !5
  %16874 = add nsw i32 %16873, 1
  store i32 %16874, ptr @test_count, align 4, !tbaa !5
  %16875 = load ptr, ptr %313, align 8, !tbaa !9
  %16876 = load i64, ptr %344, align 8, !tbaa !15
  %16877 = getelementptr inbounds [2 x ptr], ptr %342, i64 0, i64 %16876
  %16878 = load ptr, ptr %16877, align 8, !tbaa !9
  %16879 = call i32 @s2n_connection_set_config(ptr noundef %16875, ptr noundef %16878)
  %16880 = icmp eq i32 %16879, -1
  br i1 %16880, label %16881, label %16934

16881:                                            ; preds = %16872
  br label %16882

16882:                                            ; preds = %16881
  br label %16883

16883:                                            ; preds = %16882
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #10
  %16884 = call ptr @__errno_location() #11
  %16885 = load i32, ptr %16884, align 4, !tbaa !5
  store i32 %16885, ptr %348, align 4, !tbaa !5
  %16886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16887 = call i32 @s2n_print_stacktrace(ptr noundef %16886)
  %16888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16889 = trunc i8 %16888 to i1
  br i1 %16889, label %16890, label %16912

16890:                                            ; preds = %16883
  %16891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16892 = call i32 @fileno(ptr noundef %16891) #10
  %16893 = call i32 @isatty(i32 noundef %16892) #10
  %16894 = icmp ne i32 %16893, 0
  br i1 %16894, label %16895, label %16912

16895:                                            ; preds = %16890
  %16896 = load i32, ptr %348, align 4, !tbaa !5
  %16897 = call ptr @__errno_location() #11
  store i32 %16896, ptr %16897, align 4, !tbaa !5
  %16898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16899 = load i32, ptr @test_count, align 4, !tbaa !5
  %16900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16901 = load i32, ptr %16900, align 4, !tbaa !5
  %16902 = call ptr @s2n_strerror(i32 noundef %16901, ptr noundef @.str.65)
  %16903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16904 = load i32, ptr %16903, align 4, !tbaa !5
  %16905 = call ptr @s2n_strerror_debug(i32 noundef %16904, ptr noundef @.str.65)
  %16906 = call ptr @__errno_location() #11
  %16907 = load i32, ptr %16906, align 4, !tbaa !5
  %16908 = call ptr @strerror(i32 noundef %16907) #10
  %16909 = call ptr @__errno_location() #11
  %16910 = load i32, ptr %16909, align 4, !tbaa !5
  %16911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16898, ptr noundef @.str.63, i32 noundef %16899, ptr noundef @.str.169, ptr noundef @.str.62, i32 noundef 762, ptr noundef %16902, ptr noundef %16905, ptr noundef %16908, i32 noundef %16910) #10
  br label %16929

16912:                                            ; preds = %16890, %16883
  %16913 = load i32, ptr %348, align 4, !tbaa !5
  %16914 = call ptr @__errno_location() #11
  store i32 %16913, ptr %16914, align 4, !tbaa !5
  %16915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16916 = load i32, ptr @test_count, align 4, !tbaa !5
  %16917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16918 = load i32, ptr %16917, align 4, !tbaa !5
  %16919 = call ptr @s2n_strerror(i32 noundef %16918, ptr noundef @.str.65)
  %16920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16921 = load i32, ptr %16920, align 4, !tbaa !5
  %16922 = call ptr @s2n_strerror_debug(i32 noundef %16921, ptr noundef @.str.65)
  %16923 = call ptr @__errno_location() #11
  %16924 = load i32, ptr %16923, align 4, !tbaa !5
  %16925 = call ptr @strerror(i32 noundef %16924) #10
  %16926 = call ptr @__errno_location() #11
  %16927 = load i32, ptr %16926, align 4, !tbaa !5
  %16928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16915, ptr noundef @.str.66, i32 noundef %16916, ptr noundef @.str.169, ptr noundef @.str.62, i32 noundef 762, ptr noundef %16919, ptr noundef %16922, ptr noundef %16925, i32 noundef %16927) #10
  br label %16929

16929:                                            ; preds = %16912, %16895
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #10
  br label %16930

16930:                                            ; preds = %16929
  br label %16931

16931:                                            ; preds = %16930
  call void @exit(i32 noundef 1) #12
  unreachable

16932:                                            ; No predecessors!
  br label %16933

16933:                                            ; preds = %16932
  br label %16934

16934:                                            ; preds = %16933, %16872
  br label %16935

16935:                                            ; preds = %16934
  br label %16936

16936:                                            ; preds = %16935
  br label %16937

16937:                                            ; preds = %16936
  %16938 = load i32, ptr @test_count, align 4, !tbaa !5
  %16939 = add nsw i32 %16938, 1
  store i32 %16939, ptr @test_count, align 4, !tbaa !5
  %16940 = load ptr, ptr %315, align 8, !tbaa !9
  %16941 = load ptr, ptr %30, align 8, !tbaa !9
  %16942 = call i32 @s2n_connection_set_config(ptr noundef %16940, ptr noundef %16941)
  %16943 = icmp eq i32 %16942, -1
  br i1 %16943, label %16944, label %16997

16944:                                            ; preds = %16937
  br label %16945

16945:                                            ; preds = %16944
  br label %16946

16946:                                            ; preds = %16945
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #10
  %16947 = call ptr @__errno_location() #11
  %16948 = load i32, ptr %16947, align 4, !tbaa !5
  store i32 %16948, ptr %349, align 4, !tbaa !5
  %16949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16950 = call i32 @s2n_print_stacktrace(ptr noundef %16949)
  %16951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16952 = trunc i8 %16951 to i1
  br i1 %16952, label %16953, label %16975

16953:                                            ; preds = %16946
  %16954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16955 = call i32 @fileno(ptr noundef %16954) #10
  %16956 = call i32 @isatty(i32 noundef %16955) #10
  %16957 = icmp ne i32 %16956, 0
  br i1 %16957, label %16958, label %16975

16958:                                            ; preds = %16953
  %16959 = load i32, ptr %349, align 4, !tbaa !5
  %16960 = call ptr @__errno_location() #11
  store i32 %16959, ptr %16960, align 4, !tbaa !5
  %16961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16962 = load i32, ptr @test_count, align 4, !tbaa !5
  %16963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16964 = load i32, ptr %16963, align 4, !tbaa !5
  %16965 = call ptr @s2n_strerror(i32 noundef %16964, ptr noundef @.str.65)
  %16966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16967 = load i32, ptr %16966, align 4, !tbaa !5
  %16968 = call ptr @s2n_strerror_debug(i32 noundef %16967, ptr noundef @.str.65)
  %16969 = call ptr @__errno_location() #11
  %16970 = load i32, ptr %16969, align 4, !tbaa !5
  %16971 = call ptr @strerror(i32 noundef %16970) #10
  %16972 = call ptr @__errno_location() #11
  %16973 = load i32, ptr %16972, align 4, !tbaa !5
  %16974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16961, ptr noundef @.str.63, i32 noundef %16962, ptr noundef @.str.131, ptr noundef @.str.62, i32 noundef 763, ptr noundef %16965, ptr noundef %16968, ptr noundef %16971, i32 noundef %16973) #10
  br label %16992

16975:                                            ; preds = %16953, %16946
  %16976 = load i32, ptr %349, align 4, !tbaa !5
  %16977 = call ptr @__errno_location() #11
  store i32 %16976, ptr %16977, align 4, !tbaa !5
  %16978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16979 = load i32, ptr @test_count, align 4, !tbaa !5
  %16980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16981 = load i32, ptr %16980, align 4, !tbaa !5
  %16982 = call ptr @s2n_strerror(i32 noundef %16981, ptr noundef @.str.65)
  %16983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16984 = load i32, ptr %16983, align 4, !tbaa !5
  %16985 = call ptr @s2n_strerror_debug(i32 noundef %16984, ptr noundef @.str.65)
  %16986 = call ptr @__errno_location() #11
  %16987 = load i32, ptr %16986, align 4, !tbaa !5
  %16988 = call ptr @strerror(i32 noundef %16987) #10
  %16989 = call ptr @__errno_location() #11
  %16990 = load i32, ptr %16989, align 4, !tbaa !5
  %16991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16978, ptr noundef @.str.66, i32 noundef %16979, ptr noundef @.str.131, ptr noundef @.str.62, i32 noundef 763, ptr noundef %16982, ptr noundef %16985, ptr noundef %16988, i32 noundef %16990) #10
  br label %16992

16992:                                            ; preds = %16975, %16958
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #10
  br label %16993

16993:                                            ; preds = %16992
  br label %16994

16994:                                            ; preds = %16993
  call void @exit(i32 noundef 1) #12
  unreachable

16995:                                            ; No predecessors!
  br label %16996

16996:                                            ; preds = %16995
  br label %16997

16997:                                            ; preds = %16996, %16937
  br label %16998

16998:                                            ; preds = %16997
  br label %16999

16999:                                            ; preds = %16998
  br label %17000

17000:                                            ; preds = %16999
  %17001 = load i32, ptr @test_count, align 4, !tbaa !5
  %17002 = add nsw i32 %17001, 1
  store i32 %17002, ptr @test_count, align 4, !tbaa !5
  %17003 = load ptr, ptr %313, align 8, !tbaa !9
  %17004 = getelementptr inbounds %struct.s2n_stuffer, ptr %321, i32 0, i32 0
  %17005 = getelementptr inbounds %struct.s2n_blob, ptr %17004, i32 0, i32 0
  %17006 = load ptr, ptr %17005, align 8, !tbaa !31
  %17007 = getelementptr inbounds %struct.s2n_stuffer, ptr %321, i32 0, i32 2
  %17008 = load i32, ptr %17007, align 4, !tbaa !27
  %17009 = getelementptr inbounds %struct.s2n_stuffer, ptr %321, i32 0, i32 1
  %17010 = load i32, ptr %17009, align 8, !tbaa !30
  %17011 = sub i32 %17008, %17010
  %17012 = zext i32 %17011 to i64
  %17013 = call i32 @s2n_connection_set_session(ptr noundef %17003, ptr noundef %17006, i64 noundef %17012)
  %17014 = icmp eq i32 %17013, -1
  br i1 %17014, label %17015, label %17068

17015:                                            ; preds = %17000
  br label %17016

17016:                                            ; preds = %17015
  br label %17017

17017:                                            ; preds = %17016
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #10
  %17018 = call ptr @__errno_location() #11
  %17019 = load i32, ptr %17018, align 4, !tbaa !5
  store i32 %17019, ptr %350, align 4, !tbaa !5
  %17020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17021 = call i32 @s2n_print_stacktrace(ptr noundef %17020)
  %17022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17023 = trunc i8 %17022 to i1
  br i1 %17023, label %17024, label %17046

17024:                                            ; preds = %17017
  %17025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17026 = call i32 @fileno(ptr noundef %17025) #10
  %17027 = call i32 @isatty(i32 noundef %17026) #10
  %17028 = icmp ne i32 %17027, 0
  br i1 %17028, label %17029, label %17046

17029:                                            ; preds = %17024
  %17030 = load i32, ptr %350, align 4, !tbaa !5
  %17031 = call ptr @__errno_location() #11
  store i32 %17030, ptr %17031, align 4, !tbaa !5
  %17032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17033 = load i32, ptr @test_count, align 4, !tbaa !5
  %17034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17035 = load i32, ptr %17034, align 4, !tbaa !5
  %17036 = call ptr @s2n_strerror(i32 noundef %17035, ptr noundef @.str.65)
  %17037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17038 = load i32, ptr %17037, align 4, !tbaa !5
  %17039 = call ptr @s2n_strerror_debug(i32 noundef %17038, ptr noundef @.str.65)
  %17040 = call ptr @__errno_location() #11
  %17041 = load i32, ptr %17040, align 4, !tbaa !5
  %17042 = call ptr @strerror(i32 noundef %17041) #10
  %17043 = call ptr @__errno_location() #11
  %17044 = load i32, ptr %17043, align 4, !tbaa !5
  %17045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17032, ptr noundef @.str.63, i32 noundef %17033, ptr noundef @.str.161, ptr noundef @.str.62, i32 noundef 766, ptr noundef %17036, ptr noundef %17039, ptr noundef %17042, i32 noundef %17044) #10
  br label %17063

17046:                                            ; preds = %17024, %17017
  %17047 = load i32, ptr %350, align 4, !tbaa !5
  %17048 = call ptr @__errno_location() #11
  store i32 %17047, ptr %17048, align 4, !tbaa !5
  %17049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17050 = load i32, ptr @test_count, align 4, !tbaa !5
  %17051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17052 = load i32, ptr %17051, align 4, !tbaa !5
  %17053 = call ptr @s2n_strerror(i32 noundef %17052, ptr noundef @.str.65)
  %17054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17055 = load i32, ptr %17054, align 4, !tbaa !5
  %17056 = call ptr @s2n_strerror_debug(i32 noundef %17055, ptr noundef @.str.65)
  %17057 = call ptr @__errno_location() #11
  %17058 = load i32, ptr %17057, align 4, !tbaa !5
  %17059 = call ptr @strerror(i32 noundef %17058) #10
  %17060 = call ptr @__errno_location() #11
  %17061 = load i32, ptr %17060, align 4, !tbaa !5
  %17062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17049, ptr noundef @.str.66, i32 noundef %17050, ptr noundef @.str.161, ptr noundef @.str.62, i32 noundef 766, ptr noundef %17053, ptr noundef %17056, ptr noundef %17059, i32 noundef %17061) #10
  br label %17063

17063:                                            ; preds = %17046, %17029
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #10
  br label %17064

17064:                                            ; preds = %17063
  br label %17065

17065:                                            ; preds = %17064
  call void @exit(i32 noundef 1) #12
  unreachable

17066:                                            ; No predecessors!
  br label %17067

17067:                                            ; preds = %17066
  br label %17068

17068:                                            ; preds = %17067, %17000
  br label %17069

17069:                                            ; preds = %17068
  br label %17070

17070:                                            ; preds = %17069
  br label %17071

17071:                                            ; preds = %17070
  %17072 = load i32, ptr @test_count, align 4, !tbaa !5
  %17073 = add nsw i32 %17072, 1
  store i32 %17073, ptr @test_count, align 4, !tbaa !5
  %17074 = load ptr, ptr %315, align 8, !tbaa !9
  %17075 = call i32 @s2n_assert_tickets_sent(ptr noundef %17074, i16 noundef zeroext 0)
  %17076 = getelementptr inbounds %struct.s2n_result, ptr %351, i32 0, i32 0
  store i32 %17075, ptr %17076, align 4
  %17077 = getelementptr inbounds %struct.s2n_result, ptr %351, i32 0, i32 0
  %17078 = load i32, ptr %17077, align 4
  %17079 = call zeroext i1 @s2n_result_is_ok(i32 %17078)
  br i1 %17079, label %17133, label %17080

17080:                                            ; preds = %17071
  br label %17081

17081:                                            ; preds = %17080
  br label %17082

17082:                                            ; preds = %17081
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #10
  %17083 = call ptr @__errno_location() #11
  %17084 = load i32, ptr %17083, align 4, !tbaa !5
  store i32 %17084, ptr %352, align 4, !tbaa !5
  %17085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17086 = call i32 @s2n_print_stacktrace(ptr noundef %17085)
  %17087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17088 = trunc i8 %17087 to i1
  br i1 %17088, label %17089, label %17111

17089:                                            ; preds = %17082
  %17090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17091 = call i32 @fileno(ptr noundef %17090) #10
  %17092 = call i32 @isatty(i32 noundef %17091) #10
  %17093 = icmp ne i32 %17092, 0
  br i1 %17093, label %17094, label %17111

17094:                                            ; preds = %17089
  %17095 = load i32, ptr %352, align 4, !tbaa !5
  %17096 = call ptr @__errno_location() #11
  store i32 %17095, ptr %17096, align 4, !tbaa !5
  %17097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17098 = load i32, ptr @test_count, align 4, !tbaa !5
  %17099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17100 = load i32, ptr %17099, align 4, !tbaa !5
  %17101 = call ptr @s2n_strerror(i32 noundef %17100, ptr noundef @.str.65)
  %17102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17103 = load i32, ptr %17102, align 4, !tbaa !5
  %17104 = call ptr @s2n_strerror_debug(i32 noundef %17103, ptr noundef @.str.65)
  %17105 = call ptr @__errno_location() #11
  %17106 = load i32, ptr %17105, align 4, !tbaa !5
  %17107 = call ptr @strerror(i32 noundef %17106) #10
  %17108 = call ptr @__errno_location() #11
  %17109 = load i32, ptr %17108, align 4, !tbaa !5
  %17110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17097, ptr noundef @.str.63, i32 noundef %17098, ptr noundef @.str.170, ptr noundef @.str.62, i32 noundef 769, ptr noundef %17101, ptr noundef %17104, ptr noundef %17107, i32 noundef %17109) #10
  br label %17128

17111:                                            ; preds = %17089, %17082
  %17112 = load i32, ptr %352, align 4, !tbaa !5
  %17113 = call ptr @__errno_location() #11
  store i32 %17112, ptr %17113, align 4, !tbaa !5
  %17114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17115 = load i32, ptr @test_count, align 4, !tbaa !5
  %17116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17117 = load i32, ptr %17116, align 4, !tbaa !5
  %17118 = call ptr @s2n_strerror(i32 noundef %17117, ptr noundef @.str.65)
  %17119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17120 = load i32, ptr %17119, align 4, !tbaa !5
  %17121 = call ptr @s2n_strerror_debug(i32 noundef %17120, ptr noundef @.str.65)
  %17122 = call ptr @__errno_location() #11
  %17123 = load i32, ptr %17122, align 4, !tbaa !5
  %17124 = call ptr @strerror(i32 noundef %17123) #10
  %17125 = call ptr @__errno_location() #11
  %17126 = load i32, ptr %17125, align 4, !tbaa !5
  %17127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17114, ptr noundef @.str.66, i32 noundef %17115, ptr noundef @.str.170, ptr noundef @.str.62, i32 noundef 769, ptr noundef %17118, ptr noundef %17121, ptr noundef %17124, i32 noundef %17126) #10
  br label %17128

17128:                                            ; preds = %17111, %17094
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #10
  br label %17129

17129:                                            ; preds = %17128
  br label %17130

17130:                                            ; preds = %17129
  call void @exit(i32 noundef 1) #12
  unreachable

17131:                                            ; No predecessors!
  br label %17132

17132:                                            ; preds = %17131
  br label %17133

17133:                                            ; preds = %17132, %17071
  br label %17134

17134:                                            ; preds = %17133
  br label %17135

17135:                                            ; preds = %17134
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #10
  %17136 = load ptr, ptr %313, align 8, !tbaa !9
  %17137 = call i32 @s2n_connection_get_session_length(ptr noundef %17136)
  store i32 %17137, ptr %353, align 4, !tbaa !5
  br label %17138

17138:                                            ; preds = %17135
  %17139 = load i32, ptr @test_count, align 4, !tbaa !5
  %17140 = add nsw i32 %17139, 1
  store i32 %17140, ptr @test_count, align 4, !tbaa !5
  %17141 = load i32, ptr %353, align 4, !tbaa !5
  %17142 = icmp ugt i32 %17141, 0
  br i1 %17142, label %17196, label %17143

17143:                                            ; preds = %17138
  br label %17144

17144:                                            ; preds = %17143
  br label %17145

17145:                                            ; preds = %17144
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #10
  %17146 = call ptr @__errno_location() #11
  %17147 = load i32, ptr %17146, align 4, !tbaa !5
  store i32 %17147, ptr %354, align 4, !tbaa !5
  %17148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17149 = call i32 @s2n_print_stacktrace(ptr noundef %17148)
  %17150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17151 = trunc i8 %17150 to i1
  br i1 %17151, label %17152, label %17174

17152:                                            ; preds = %17145
  %17153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17154 = call i32 @fileno(ptr noundef %17153) #10
  %17155 = call i32 @isatty(i32 noundef %17154) #10
  %17156 = icmp ne i32 %17155, 0
  br i1 %17156, label %17157, label %17174

17157:                                            ; preds = %17152
  %17158 = load i32, ptr %354, align 4, !tbaa !5
  %17159 = call ptr @__errno_location() #11
  store i32 %17158, ptr %17159, align 4, !tbaa !5
  %17160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17161 = load i32, ptr @test_count, align 4, !tbaa !5
  %17162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17163 = load i32, ptr %17162, align 4, !tbaa !5
  %17164 = call ptr @s2n_strerror(i32 noundef %17163, ptr noundef @.str.65)
  %17165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17166 = load i32, ptr %17165, align 4, !tbaa !5
  %17167 = call ptr @s2n_strerror_debug(i32 noundef %17166, ptr noundef @.str.65)
  %17168 = call ptr @__errno_location() #11
  %17169 = load i32, ptr %17168, align 4, !tbaa !5
  %17170 = call ptr @strerror(i32 noundef %17169) #10
  %17171 = call ptr @__errno_location() #11
  %17172 = load i32, ptr %17171, align 4, !tbaa !5
  %17173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17160, ptr noundef @.str.63, i32 noundef %17161, ptr noundef @.str.171, ptr noundef @.str.62, i32 noundef 773, ptr noundef %17164, ptr noundef %17167, ptr noundef %17170, i32 noundef %17172) #10
  br label %17191

17174:                                            ; preds = %17152, %17145
  %17175 = load i32, ptr %354, align 4, !tbaa !5
  %17176 = call ptr @__errno_location() #11
  store i32 %17175, ptr %17176, align 4, !tbaa !5
  %17177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17178 = load i32, ptr @test_count, align 4, !tbaa !5
  %17179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17180 = load i32, ptr %17179, align 4, !tbaa !5
  %17181 = call ptr @s2n_strerror(i32 noundef %17180, ptr noundef @.str.65)
  %17182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17183 = load i32, ptr %17182, align 4, !tbaa !5
  %17184 = call ptr @s2n_strerror_debug(i32 noundef %17183, ptr noundef @.str.65)
  %17185 = call ptr @__errno_location() #11
  %17186 = load i32, ptr %17185, align 4, !tbaa !5
  %17187 = call ptr @strerror(i32 noundef %17186) #10
  %17188 = call ptr @__errno_location() #11
  %17189 = load i32, ptr %17188, align 4, !tbaa !5
  %17190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17177, ptr noundef @.str.66, i32 noundef %17178, ptr noundef @.str.171, ptr noundef @.str.62, i32 noundef 773, ptr noundef %17181, ptr noundef %17184, ptr noundef %17187, i32 noundef %17189) #10
  br label %17191

17191:                                            ; preds = %17174, %17157
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #10
  br label %17192

17192:                                            ; preds = %17191
  br label %17193

17193:                                            ; preds = %17192
  call void @exit(i32 noundef 1) #12
  unreachable

17194:                                            ; No predecessors!
  br label %17195

17195:                                            ; preds = %17194
  br label %17196

17196:                                            ; preds = %17195, %17138
  br label %17197

17197:                                            ; preds = %17196
  br label %17198

17198:                                            ; preds = %17197
  br label %17199

17199:                                            ; preds = %17198
  %17200 = load i32, ptr @test_count, align 4, !tbaa !5
  %17201 = add nsw i32 %17200, 1
  store i32 %17201, ptr @test_count, align 4, !tbaa !5
  %17202 = load i32, ptr %353, align 4, !tbaa !5
  %17203 = call i32 @s2n_realloc(ptr noundef %343, i32 noundef %17202)
  %17204 = icmp eq i32 %17203, -1
  br i1 %17204, label %17205, label %17258

17205:                                            ; preds = %17199
  br label %17206

17206:                                            ; preds = %17205
  br label %17207

17207:                                            ; preds = %17206
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #10
  %17208 = call ptr @__errno_location() #11
  %17209 = load i32, ptr %17208, align 4, !tbaa !5
  store i32 %17209, ptr %355, align 4, !tbaa !5
  %17210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17211 = call i32 @s2n_print_stacktrace(ptr noundef %17210)
  %17212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17213 = trunc i8 %17212 to i1
  br i1 %17213, label %17214, label %17236

17214:                                            ; preds = %17207
  %17215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17216 = call i32 @fileno(ptr noundef %17215) #10
  %17217 = call i32 @isatty(i32 noundef %17216) #10
  %17218 = icmp ne i32 %17217, 0
  br i1 %17218, label %17219, label %17236

17219:                                            ; preds = %17214
  %17220 = load i32, ptr %355, align 4, !tbaa !5
  %17221 = call ptr @__errno_location() #11
  store i32 %17220, ptr %17221, align 4, !tbaa !5
  %17222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17223 = load i32, ptr @test_count, align 4, !tbaa !5
  %17224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17225 = load i32, ptr %17224, align 4, !tbaa !5
  %17226 = call ptr @s2n_strerror(i32 noundef %17225, ptr noundef @.str.65)
  %17227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17228 = load i32, ptr %17227, align 4, !tbaa !5
  %17229 = call ptr @s2n_strerror_debug(i32 noundef %17228, ptr noundef @.str.65)
  %17230 = call ptr @__errno_location() #11
  %17231 = load i32, ptr %17230, align 4, !tbaa !5
  %17232 = call ptr @strerror(i32 noundef %17231) #10
  %17233 = call ptr @__errno_location() #11
  %17234 = load i32, ptr %17233, align 4, !tbaa !5
  %17235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17222, ptr noundef @.str.63, i32 noundef %17223, ptr noundef @.str.172, ptr noundef @.str.62, i32 noundef 775, ptr noundef %17226, ptr noundef %17229, ptr noundef %17232, i32 noundef %17234) #10
  br label %17253

17236:                                            ; preds = %17214, %17207
  %17237 = load i32, ptr %355, align 4, !tbaa !5
  %17238 = call ptr @__errno_location() #11
  store i32 %17237, ptr %17238, align 4, !tbaa !5
  %17239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17240 = load i32, ptr @test_count, align 4, !tbaa !5
  %17241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17242 = load i32, ptr %17241, align 4, !tbaa !5
  %17243 = call ptr @s2n_strerror(i32 noundef %17242, ptr noundef @.str.65)
  %17244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17245 = load i32, ptr %17244, align 4, !tbaa !5
  %17246 = call ptr @s2n_strerror_debug(i32 noundef %17245, ptr noundef @.str.65)
  %17247 = call ptr @__errno_location() #11
  %17248 = load i32, ptr %17247, align 4, !tbaa !5
  %17249 = call ptr @strerror(i32 noundef %17248) #10
  %17250 = call ptr @__errno_location() #11
  %17251 = load i32, ptr %17250, align 4, !tbaa !5
  %17252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17239, ptr noundef @.str.66, i32 noundef %17240, ptr noundef @.str.172, ptr noundef @.str.62, i32 noundef 775, ptr noundef %17243, ptr noundef %17246, ptr noundef %17249, i32 noundef %17251) #10
  br label %17253

17253:                                            ; preds = %17236, %17219
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #10
  br label %17254

17254:                                            ; preds = %17253
  br label %17255

17255:                                            ; preds = %17254
  call void @exit(i32 noundef 1) #12
  unreachable

17256:                                            ; No predecessors!
  br label %17257

17257:                                            ; preds = %17256
  br label %17258

17258:                                            ; preds = %17257, %17199
  br label %17259

17259:                                            ; preds = %17258
  br label %17260

17260:                                            ; preds = %17259
  br label %17261

17261:                                            ; preds = %17260
  %17262 = load i32, ptr @test_count, align 4, !tbaa !5
  %17263 = add nsw i32 %17262, 1
  store i32 %17263, ptr @test_count, align 4, !tbaa !5
  %17264 = load ptr, ptr %313, align 8, !tbaa !9
  %17265 = getelementptr inbounds %struct.s2n_blob, ptr %343, i32 0, i32 0
  %17266 = load ptr, ptr %17265, align 8, !tbaa !34
  %17267 = load i32, ptr %353, align 4, !tbaa !5
  %17268 = zext i32 %17267 to i64
  %17269 = call i32 @s2n_connection_get_session(ptr noundef %17264, ptr noundef %17266, i64 noundef %17268)
  %17270 = icmp eq i32 %17269, -1
  br i1 %17270, label %17271, label %17324

17271:                                            ; preds = %17261
  br label %17272

17272:                                            ; preds = %17271
  br label %17273

17273:                                            ; preds = %17272
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #10
  %17274 = call ptr @__errno_location() #11
  %17275 = load i32, ptr %17274, align 4, !tbaa !5
  store i32 %17275, ptr %356, align 4, !tbaa !5
  %17276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17277 = call i32 @s2n_print_stacktrace(ptr noundef %17276)
  %17278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17279 = trunc i8 %17278 to i1
  br i1 %17279, label %17280, label %17302

17280:                                            ; preds = %17273
  %17281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17282 = call i32 @fileno(ptr noundef %17281) #10
  %17283 = call i32 @isatty(i32 noundef %17282) #10
  %17284 = icmp ne i32 %17283, 0
  br i1 %17284, label %17285, label %17302

17285:                                            ; preds = %17280
  %17286 = load i32, ptr %356, align 4, !tbaa !5
  %17287 = call ptr @__errno_location() #11
  store i32 %17286, ptr %17287, align 4, !tbaa !5
  %17288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17289 = load i32, ptr @test_count, align 4, !tbaa !5
  %17290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17291 = load i32, ptr %17290, align 4, !tbaa !5
  %17292 = call ptr @s2n_strerror(i32 noundef %17291, ptr noundef @.str.65)
  %17293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17294 = load i32, ptr %17293, align 4, !tbaa !5
  %17295 = call ptr @s2n_strerror_debug(i32 noundef %17294, ptr noundef @.str.65)
  %17296 = call ptr @__errno_location() #11
  %17297 = load i32, ptr %17296, align 4, !tbaa !5
  %17298 = call ptr @strerror(i32 noundef %17297) #10
  %17299 = call ptr @__errno_location() #11
  %17300 = load i32, ptr %17299, align 4, !tbaa !5
  %17301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17288, ptr noundef @.str.63, i32 noundef %17289, ptr noundef @.str.173, ptr noundef @.str.62, i32 noundef 778, ptr noundef %17292, ptr noundef %17295, ptr noundef %17298, i32 noundef %17300) #10
  br label %17319

17302:                                            ; preds = %17280, %17273
  %17303 = load i32, ptr %356, align 4, !tbaa !5
  %17304 = call ptr @__errno_location() #11
  store i32 %17303, ptr %17304, align 4, !tbaa !5
  %17305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17306 = load i32, ptr @test_count, align 4, !tbaa !5
  %17307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17308 = load i32, ptr %17307, align 4, !tbaa !5
  %17309 = call ptr @s2n_strerror(i32 noundef %17308, ptr noundef @.str.65)
  %17310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17311 = load i32, ptr %17310, align 4, !tbaa !5
  %17312 = call ptr @s2n_strerror_debug(i32 noundef %17311, ptr noundef @.str.65)
  %17313 = call ptr @__errno_location() #11
  %17314 = load i32, ptr %17313, align 4, !tbaa !5
  %17315 = call ptr @strerror(i32 noundef %17314) #10
  %17316 = call ptr @__errno_location() #11
  %17317 = load i32, ptr %17316, align 4, !tbaa !5
  %17318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17305, ptr noundef @.str.66, i32 noundef %17306, ptr noundef @.str.173, ptr noundef @.str.62, i32 noundef 778, ptr noundef %17309, ptr noundef %17312, ptr noundef %17315, i32 noundef %17317) #10
  br label %17319

17319:                                            ; preds = %17302, %17285
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #10
  br label %17320

17320:                                            ; preds = %17319
  br label %17321

17321:                                            ; preds = %17320
  call void @exit(i32 noundef 1) #12
  unreachable

17322:                                            ; No predecessors!
  br label %17323

17323:                                            ; preds = %17322
  br label %17324

17324:                                            ; preds = %17323, %17261
  br label %17325

17325:                                            ; preds = %17324
  br label %17326

17326:                                            ; preds = %17325
  call void @llvm.lifetime.start.p0(i64 40, ptr %357) #10
  call void @llvm.memset.p0.i64(ptr align 8 %357, i8 0, i64 40, i1 false)
  br label %17327

17327:                                            ; preds = %17326
  %17328 = load i32, ptr @test_count, align 4, !tbaa !5
  %17329 = add nsw i32 %17328, 1
  store i32 %17329, ptr @test_count, align 4, !tbaa !5
  %17330 = call i32 @s2n_stuffer_init(ptr noundef %357, ptr noundef %343)
  %17331 = icmp eq i32 %17330, -1
  br i1 %17331, label %17332, label %17385

17332:                                            ; preds = %17327
  br label %17333

17333:                                            ; preds = %17332
  br label %17334

17334:                                            ; preds = %17333
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #10
  %17335 = call ptr @__errno_location() #11
  %17336 = load i32, ptr %17335, align 4, !tbaa !5
  store i32 %17336, ptr %358, align 4, !tbaa !5
  %17337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17338 = call i32 @s2n_print_stacktrace(ptr noundef %17337)
  %17339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17340 = trunc i8 %17339 to i1
  br i1 %17340, label %17341, label %17363

17341:                                            ; preds = %17334
  %17342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17343 = call i32 @fileno(ptr noundef %17342) #10
  %17344 = call i32 @isatty(i32 noundef %17343) #10
  %17345 = icmp ne i32 %17344, 0
  br i1 %17345, label %17346, label %17363

17346:                                            ; preds = %17341
  %17347 = load i32, ptr %358, align 4, !tbaa !5
  %17348 = call ptr @__errno_location() #11
  store i32 %17347, ptr %17348, align 4, !tbaa !5
  %17349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17350 = load i32, ptr @test_count, align 4, !tbaa !5
  %17351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17352 = load i32, ptr %17351, align 4, !tbaa !5
  %17353 = call ptr @s2n_strerror(i32 noundef %17352, ptr noundef @.str.65)
  %17354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17355 = load i32, ptr %17354, align 4, !tbaa !5
  %17356 = call ptr @s2n_strerror_debug(i32 noundef %17355, ptr noundef @.str.65)
  %17357 = call ptr @__errno_location() #11
  %17358 = load i32, ptr %17357, align 4, !tbaa !5
  %17359 = call ptr @strerror(i32 noundef %17358) #10
  %17360 = call ptr @__errno_location() #11
  %17361 = load i32, ptr %17360, align 4, !tbaa !5
  %17362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17349, ptr noundef @.str.63, i32 noundef %17350, ptr noundef @.str.174, ptr noundef @.str.62, i32 noundef 782, ptr noundef %17353, ptr noundef %17356, ptr noundef %17359, i32 noundef %17361) #10
  br label %17380

17363:                                            ; preds = %17341, %17334
  %17364 = load i32, ptr %358, align 4, !tbaa !5
  %17365 = call ptr @__errno_location() #11
  store i32 %17364, ptr %17365, align 4, !tbaa !5
  %17366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17367 = load i32, ptr @test_count, align 4, !tbaa !5
  %17368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17369 = load i32, ptr %17368, align 4, !tbaa !5
  %17370 = call ptr @s2n_strerror(i32 noundef %17369, ptr noundef @.str.65)
  %17371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17372 = load i32, ptr %17371, align 4, !tbaa !5
  %17373 = call ptr @s2n_strerror_debug(i32 noundef %17372, ptr noundef @.str.65)
  %17374 = call ptr @__errno_location() #11
  %17375 = load i32, ptr %17374, align 4, !tbaa !5
  %17376 = call ptr @strerror(i32 noundef %17375) #10
  %17377 = call ptr @__errno_location() #11
  %17378 = load i32, ptr %17377, align 4, !tbaa !5
  %17379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17366, ptr noundef @.str.66, i32 noundef %17367, ptr noundef @.str.174, ptr noundef @.str.62, i32 noundef 782, ptr noundef %17370, ptr noundef %17373, ptr noundef %17376, i32 noundef %17378) #10
  br label %17380

17380:                                            ; preds = %17363, %17346
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #10
  br label %17381

17381:                                            ; preds = %17380
  br label %17382

17382:                                            ; preds = %17381
  call void @exit(i32 noundef 1) #12
  unreachable

17383:                                            ; No predecessors!
  br label %17384

17384:                                            ; preds = %17383
  br label %17385

17385:                                            ; preds = %17384, %17327
  br label %17386

17386:                                            ; preds = %17385
  br label %17387

17387:                                            ; preds = %17386
  br label %17388

17388:                                            ; preds = %17387
  %17389 = load i32, ptr @test_count, align 4, !tbaa !5
  %17390 = add nsw i32 %17389, 1
  store i32 %17390, ptr @test_count, align 4, !tbaa !5
  %17391 = load i32, ptr %353, align 4, !tbaa !5
  %17392 = call i32 @s2n_stuffer_skip_write(ptr noundef %357, i32 noundef %17391)
  %17393 = icmp eq i32 %17392, -1
  br i1 %17393, label %17394, label %17447

17394:                                            ; preds = %17388
  br label %17395

17395:                                            ; preds = %17394
  br label %17396

17396:                                            ; preds = %17395
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #10
  %17397 = call ptr @__errno_location() #11
  %17398 = load i32, ptr %17397, align 4, !tbaa !5
  store i32 %17398, ptr %359, align 4, !tbaa !5
  %17399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17400 = call i32 @s2n_print_stacktrace(ptr noundef %17399)
  %17401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17402 = trunc i8 %17401 to i1
  br i1 %17402, label %17403, label %17425

17403:                                            ; preds = %17396
  %17404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17405 = call i32 @fileno(ptr noundef %17404) #10
  %17406 = call i32 @isatty(i32 noundef %17405) #10
  %17407 = icmp ne i32 %17406, 0
  br i1 %17407, label %17408, label %17425

17408:                                            ; preds = %17403
  %17409 = load i32, ptr %359, align 4, !tbaa !5
  %17410 = call ptr @__errno_location() #11
  store i32 %17409, ptr %17410, align 4, !tbaa !5
  %17411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17412 = load i32, ptr @test_count, align 4, !tbaa !5
  %17413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17414 = load i32, ptr %17413, align 4, !tbaa !5
  %17415 = call ptr @s2n_strerror(i32 noundef %17414, ptr noundef @.str.65)
  %17416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17417 = load i32, ptr %17416, align 4, !tbaa !5
  %17418 = call ptr @s2n_strerror_debug(i32 noundef %17417, ptr noundef @.str.65)
  %17419 = call ptr @__errno_location() #11
  %17420 = load i32, ptr %17419, align 4, !tbaa !5
  %17421 = call ptr @strerror(i32 noundef %17420) #10
  %17422 = call ptr @__errno_location() #11
  %17423 = load i32, ptr %17422, align 4, !tbaa !5
  %17424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17411, ptr noundef @.str.63, i32 noundef %17412, ptr noundef @.str.175, ptr noundef @.str.62, i32 noundef 783, ptr noundef %17415, ptr noundef %17418, ptr noundef %17421, i32 noundef %17423) #10
  br label %17442

17425:                                            ; preds = %17403, %17396
  %17426 = load i32, ptr %359, align 4, !tbaa !5
  %17427 = call ptr @__errno_location() #11
  store i32 %17426, ptr %17427, align 4, !tbaa !5
  %17428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17429 = load i32, ptr @test_count, align 4, !tbaa !5
  %17430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17431 = load i32, ptr %17430, align 4, !tbaa !5
  %17432 = call ptr @s2n_strerror(i32 noundef %17431, ptr noundef @.str.65)
  %17433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17434 = load i32, ptr %17433, align 4, !tbaa !5
  %17435 = call ptr @s2n_strerror_debug(i32 noundef %17434, ptr noundef @.str.65)
  %17436 = call ptr @__errno_location() #11
  %17437 = load i32, ptr %17436, align 4, !tbaa !5
  %17438 = call ptr @strerror(i32 noundef %17437) #10
  %17439 = call ptr @__errno_location() #11
  %17440 = load i32, ptr %17439, align 4, !tbaa !5
  %17441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17428, ptr noundef @.str.66, i32 noundef %17429, ptr noundef @.str.175, ptr noundef @.str.62, i32 noundef 783, ptr noundef %17432, ptr noundef %17435, ptr noundef %17438, i32 noundef %17440) #10
  br label %17442

17442:                                            ; preds = %17425, %17408
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #10
  br label %17443

17443:                                            ; preds = %17442
  br label %17444

17444:                                            ; preds = %17443
  call void @exit(i32 noundef 1) #12
  unreachable

17445:                                            ; No predecessors!
  br label %17446

17446:                                            ; preds = %17445
  br label %17447

17447:                                            ; preds = %17446, %17388
  br label %17448

17448:                                            ; preds = %17447
  br label %17449

17449:                                            ; preds = %17448
  br label %17450

17450:                                            ; preds = %17449
  %17451 = load i32, ptr @test_count, align 4, !tbaa !5
  %17452 = add nsw i32 %17451, 1
  store i32 %17452, ptr @test_count, align 4, !tbaa !5
  %17453 = load ptr, ptr %313, align 8, !tbaa !9
  %17454 = call i32 @s2n_client_deserialize_resumption_state(ptr noundef %17453, ptr noundef %357)
  %17455 = icmp eq i32 %17454, -1
  br i1 %17455, label %17456, label %17509

17456:                                            ; preds = %17450
  br label %17457

17457:                                            ; preds = %17456
  br label %17458

17458:                                            ; preds = %17457
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #10
  %17459 = call ptr @__errno_location() #11
  %17460 = load i32, ptr %17459, align 4, !tbaa !5
  store i32 %17460, ptr %360, align 4, !tbaa !5
  %17461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17462 = call i32 @s2n_print_stacktrace(ptr noundef %17461)
  %17463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17464 = trunc i8 %17463 to i1
  br i1 %17464, label %17465, label %17487

17465:                                            ; preds = %17458
  %17466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17467 = call i32 @fileno(ptr noundef %17466) #10
  %17468 = call i32 @isatty(i32 noundef %17467) #10
  %17469 = icmp ne i32 %17468, 0
  br i1 %17469, label %17470, label %17487

17470:                                            ; preds = %17465
  %17471 = load i32, ptr %360, align 4, !tbaa !5
  %17472 = call ptr @__errno_location() #11
  store i32 %17471, ptr %17472, align 4, !tbaa !5
  %17473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17474 = load i32, ptr @test_count, align 4, !tbaa !5
  %17475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17476 = load i32, ptr %17475, align 4, !tbaa !5
  %17477 = call ptr @s2n_strerror(i32 noundef %17476, ptr noundef @.str.65)
  %17478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17479 = load i32, ptr %17478, align 4, !tbaa !5
  %17480 = call ptr @s2n_strerror_debug(i32 noundef %17479, ptr noundef @.str.65)
  %17481 = call ptr @__errno_location() #11
  %17482 = load i32, ptr %17481, align 4, !tbaa !5
  %17483 = call ptr @strerror(i32 noundef %17482) #10
  %17484 = call ptr @__errno_location() #11
  %17485 = load i32, ptr %17484, align 4, !tbaa !5
  %17486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17473, ptr noundef @.str.63, i32 noundef %17474, ptr noundef @.str.176, ptr noundef @.str.62, i32 noundef 784, ptr noundef %17477, ptr noundef %17480, ptr noundef %17483, i32 noundef %17485) #10
  br label %17504

17487:                                            ; preds = %17465, %17458
  %17488 = load i32, ptr %360, align 4, !tbaa !5
  %17489 = call ptr @__errno_location() #11
  store i32 %17488, ptr %17489, align 4, !tbaa !5
  %17490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17491 = load i32, ptr @test_count, align 4, !tbaa !5
  %17492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17493 = load i32, ptr %17492, align 4, !tbaa !5
  %17494 = call ptr @s2n_strerror(i32 noundef %17493, ptr noundef @.str.65)
  %17495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17496 = load i32, ptr %17495, align 4, !tbaa !5
  %17497 = call ptr @s2n_strerror_debug(i32 noundef %17496, ptr noundef @.str.65)
  %17498 = call ptr @__errno_location() #11
  %17499 = load i32, ptr %17498, align 4, !tbaa !5
  %17500 = call ptr @strerror(i32 noundef %17499) #10
  %17501 = call ptr @__errno_location() #11
  %17502 = load i32, ptr %17501, align 4, !tbaa !5
  %17503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17490, ptr noundef @.str.66, i32 noundef %17491, ptr noundef @.str.176, ptr noundef @.str.62, i32 noundef 784, ptr noundef %17494, ptr noundef %17497, ptr noundef %17500, i32 noundef %17502) #10
  br label %17504

17504:                                            ; preds = %17487, %17470
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #10
  br label %17505

17505:                                            ; preds = %17504
  br label %17506

17506:                                            ; preds = %17505
  call void @exit(i32 noundef 1) #12
  unreachable

17507:                                            ; No predecessors!
  br label %17508

17508:                                            ; preds = %17507
  br label %17509

17509:                                            ; preds = %17508, %17450
  br label %17510

17510:                                            ; preds = %17509
  br label %17511

17511:                                            ; preds = %17510
  call void @llvm.lifetime.end.p0(i64 40, ptr %357) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #10
  br label %17512

17512:                                            ; preds = %17511
  %17513 = load i64, ptr %344, align 8, !tbaa !15
  %17514 = add i64 %17513, 1
  store i64 %17514, ptr %344, align 8, !tbaa !15
  br label %16680, !llvm.loop !73

17515:                                            ; preds = %16683
  call void @llvm.lifetime.start.p0(i64 8, ptr %361) #10
  store i64 0, ptr %361, align 8, !tbaa !15
  br label %17516

17516:                                            ; preds = %18292, %17515
  %17517 = load i64, ptr %361, align 8, !tbaa !15
  %17518 = icmp ult i64 %17517, 2
  br i1 %17518, label %17520, label %17519

17519:                                            ; preds = %17516
  store i32 1633, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %361) #10
  br label %18295

17520:                                            ; preds = %17516
  br label %17521

17521:                                            ; preds = %17520
  %17522 = load i32, ptr @test_count, align 4, !tbaa !5
  %17523 = add nsw i32 %17522, 1
  store i32 %17523, ptr @test_count, align 4, !tbaa !5
  %17524 = load ptr, ptr %313, align 8, !tbaa !9
  %17525 = call i32 @s2n_connection_wipe(ptr noundef %17524)
  %17526 = icmp eq i32 %17525, -1
  br i1 %17526, label %17527, label %17580

17527:                                            ; preds = %17521
  br label %17528

17528:                                            ; preds = %17527
  br label %17529

17529:                                            ; preds = %17528
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #10
  %17530 = call ptr @__errno_location() #11
  %17531 = load i32, ptr %17530, align 4, !tbaa !5
  store i32 %17531, ptr %362, align 4, !tbaa !5
  %17532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17533 = call i32 @s2n_print_stacktrace(ptr noundef %17532)
  %17534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17535 = trunc i8 %17534 to i1
  br i1 %17535, label %17536, label %17558

17536:                                            ; preds = %17529
  %17537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17538 = call i32 @fileno(ptr noundef %17537) #10
  %17539 = call i32 @isatty(i32 noundef %17538) #10
  %17540 = icmp ne i32 %17539, 0
  br i1 %17540, label %17541, label %17558

17541:                                            ; preds = %17536
  %17542 = load i32, ptr %362, align 4, !tbaa !5
  %17543 = call ptr @__errno_location() #11
  store i32 %17542, ptr %17543, align 4, !tbaa !5
  %17544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17545 = load i32, ptr @test_count, align 4, !tbaa !5
  %17546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17547 = load i32, ptr %17546, align 4, !tbaa !5
  %17548 = call ptr @s2n_strerror(i32 noundef %17547, ptr noundef @.str.65)
  %17549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17550 = load i32, ptr %17549, align 4, !tbaa !5
  %17551 = call ptr @s2n_strerror_debug(i32 noundef %17550, ptr noundef @.str.65)
  %17552 = call ptr @__errno_location() #11
  %17553 = load i32, ptr %17552, align 4, !tbaa !5
  %17554 = call ptr @strerror(i32 noundef %17553) #10
  %17555 = call ptr @__errno_location() #11
  %17556 = load i32, ptr %17555, align 4, !tbaa !5
  %17557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17544, ptr noundef @.str.63, i32 noundef %17545, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 792, ptr noundef %17548, ptr noundef %17551, ptr noundef %17554, i32 noundef %17556) #10
  br label %17575

17558:                                            ; preds = %17536, %17529
  %17559 = load i32, ptr %362, align 4, !tbaa !5
  %17560 = call ptr @__errno_location() #11
  store i32 %17559, ptr %17560, align 4, !tbaa !5
  %17561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17562 = load i32, ptr @test_count, align 4, !tbaa !5
  %17563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17564 = load i32, ptr %17563, align 4, !tbaa !5
  %17565 = call ptr @s2n_strerror(i32 noundef %17564, ptr noundef @.str.65)
  %17566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17567 = load i32, ptr %17566, align 4, !tbaa !5
  %17568 = call ptr @s2n_strerror_debug(i32 noundef %17567, ptr noundef @.str.65)
  %17569 = call ptr @__errno_location() #11
  %17570 = load i32, ptr %17569, align 4, !tbaa !5
  %17571 = call ptr @strerror(i32 noundef %17570) #10
  %17572 = call ptr @__errno_location() #11
  %17573 = load i32, ptr %17572, align 4, !tbaa !5
  %17574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17561, ptr noundef @.str.66, i32 noundef %17562, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 792, ptr noundef %17565, ptr noundef %17568, ptr noundef %17571, i32 noundef %17573) #10
  br label %17575

17575:                                            ; preds = %17558, %17541
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #10
  br label %17576

17576:                                            ; preds = %17575
  br label %17577

17577:                                            ; preds = %17576
  call void @exit(i32 noundef 1) #12
  unreachable

17578:                                            ; No predecessors!
  br label %17579

17579:                                            ; preds = %17578
  br label %17580

17580:                                            ; preds = %17579, %17521
  br label %17581

17581:                                            ; preds = %17580
  br label %17582

17582:                                            ; preds = %17581
  br label %17583

17583:                                            ; preds = %17582
  %17584 = load i32, ptr @test_count, align 4, !tbaa !5
  %17585 = add nsw i32 %17584, 1
  store i32 %17585, ptr @test_count, align 4, !tbaa !5
  %17586 = load ptr, ptr %315, align 8, !tbaa !9
  %17587 = call i32 @s2n_connection_wipe(ptr noundef %17586)
  %17588 = icmp eq i32 %17587, -1
  br i1 %17588, label %17589, label %17642

17589:                                            ; preds = %17583
  br label %17590

17590:                                            ; preds = %17589
  br label %17591

17591:                                            ; preds = %17590
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #10
  %17592 = call ptr @__errno_location() #11
  %17593 = load i32, ptr %17592, align 4, !tbaa !5
  store i32 %17593, ptr %363, align 4, !tbaa !5
  %17594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17595 = call i32 @s2n_print_stacktrace(ptr noundef %17594)
  %17596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17597 = trunc i8 %17596 to i1
  br i1 %17597, label %17598, label %17620

17598:                                            ; preds = %17591
  %17599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17600 = call i32 @fileno(ptr noundef %17599) #10
  %17601 = call i32 @isatty(i32 noundef %17600) #10
  %17602 = icmp ne i32 %17601, 0
  br i1 %17602, label %17603, label %17620

17603:                                            ; preds = %17598
  %17604 = load i32, ptr %363, align 4, !tbaa !5
  %17605 = call ptr @__errno_location() #11
  store i32 %17604, ptr %17605, align 4, !tbaa !5
  %17606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17607 = load i32, ptr @test_count, align 4, !tbaa !5
  %17608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17609 = load i32, ptr %17608, align 4, !tbaa !5
  %17610 = call ptr @s2n_strerror(i32 noundef %17609, ptr noundef @.str.65)
  %17611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17612 = load i32, ptr %17611, align 4, !tbaa !5
  %17613 = call ptr @s2n_strerror_debug(i32 noundef %17612, ptr noundef @.str.65)
  %17614 = call ptr @__errno_location() #11
  %17615 = load i32, ptr %17614, align 4, !tbaa !5
  %17616 = call ptr @strerror(i32 noundef %17615) #10
  %17617 = call ptr @__errno_location() #11
  %17618 = load i32, ptr %17617, align 4, !tbaa !5
  %17619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17606, ptr noundef @.str.63, i32 noundef %17607, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 793, ptr noundef %17610, ptr noundef %17613, ptr noundef %17616, i32 noundef %17618) #10
  br label %17637

17620:                                            ; preds = %17598, %17591
  %17621 = load i32, ptr %363, align 4, !tbaa !5
  %17622 = call ptr @__errno_location() #11
  store i32 %17621, ptr %17622, align 4, !tbaa !5
  %17623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17624 = load i32, ptr @test_count, align 4, !tbaa !5
  %17625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17626 = load i32, ptr %17625, align 4, !tbaa !5
  %17627 = call ptr @s2n_strerror(i32 noundef %17626, ptr noundef @.str.65)
  %17628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17629 = load i32, ptr %17628, align 4, !tbaa !5
  %17630 = call ptr @s2n_strerror_debug(i32 noundef %17629, ptr noundef @.str.65)
  %17631 = call ptr @__errno_location() #11
  %17632 = load i32, ptr %17631, align 4, !tbaa !5
  %17633 = call ptr @strerror(i32 noundef %17632) #10
  %17634 = call ptr @__errno_location() #11
  %17635 = load i32, ptr %17634, align 4, !tbaa !5
  %17636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17623, ptr noundef @.str.66, i32 noundef %17624, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 793, ptr noundef %17627, ptr noundef %17630, ptr noundef %17633, i32 noundef %17635) #10
  br label %17637

17637:                                            ; preds = %17620, %17603
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #10
  br label %17638

17638:                                            ; preds = %17637
  br label %17639

17639:                                            ; preds = %17638
  call void @exit(i32 noundef 1) #12
  unreachable

17640:                                            ; No predecessors!
  br label %17641

17641:                                            ; preds = %17640
  br label %17642

17642:                                            ; preds = %17641, %17583
  br label %17643

17643:                                            ; preds = %17642
  br label %17644

17644:                                            ; preds = %17643
  br label %17645

17645:                                            ; preds = %17644
  %17646 = load i32, ptr @test_count, align 4, !tbaa !5
  %17647 = add nsw i32 %17646, 1
  store i32 %17647, ptr @test_count, align 4, !tbaa !5
  %17648 = load ptr, ptr %313, align 8, !tbaa !9
  %17649 = load ptr, ptr %315, align 8, !tbaa !9
  %17650 = call i32 @s2n_connections_set_io_pair(ptr noundef %17648, ptr noundef %17649, ptr noundef %318)
  %17651 = icmp eq i32 %17650, -1
  br i1 %17651, label %17652, label %17705

17652:                                            ; preds = %17645
  br label %17653

17653:                                            ; preds = %17652
  br label %17654

17654:                                            ; preds = %17653
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #10
  %17655 = call ptr @__errno_location() #11
  %17656 = load i32, ptr %17655, align 4, !tbaa !5
  store i32 %17656, ptr %364, align 4, !tbaa !5
  %17657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17658 = call i32 @s2n_print_stacktrace(ptr noundef %17657)
  %17659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17660 = trunc i8 %17659 to i1
  br i1 %17660, label %17661, label %17683

17661:                                            ; preds = %17654
  %17662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17663 = call i32 @fileno(ptr noundef %17662) #10
  %17664 = call i32 @isatty(i32 noundef %17663) #10
  %17665 = icmp ne i32 %17664, 0
  br i1 %17665, label %17666, label %17683

17666:                                            ; preds = %17661
  %17667 = load i32, ptr %364, align 4, !tbaa !5
  %17668 = call ptr @__errno_location() #11
  store i32 %17667, ptr %17668, align 4, !tbaa !5
  %17669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17670 = load i32, ptr @test_count, align 4, !tbaa !5
  %17671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17672 = load i32, ptr %17671, align 4, !tbaa !5
  %17673 = call ptr @s2n_strerror(i32 noundef %17672, ptr noundef @.str.65)
  %17674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17675 = load i32, ptr %17674, align 4, !tbaa !5
  %17676 = call ptr @s2n_strerror_debug(i32 noundef %17675, ptr noundef @.str.65)
  %17677 = call ptr @__errno_location() #11
  %17678 = load i32, ptr %17677, align 4, !tbaa !5
  %17679 = call ptr @strerror(i32 noundef %17678) #10
  %17680 = call ptr @__errno_location() #11
  %17681 = load i32, ptr %17680, align 4, !tbaa !5
  %17682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17669, ptr noundef @.str.63, i32 noundef %17670, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 794, ptr noundef %17673, ptr noundef %17676, ptr noundef %17679, i32 noundef %17681) #10
  br label %17700

17683:                                            ; preds = %17661, %17654
  %17684 = load i32, ptr %364, align 4, !tbaa !5
  %17685 = call ptr @__errno_location() #11
  store i32 %17684, ptr %17685, align 4, !tbaa !5
  %17686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17687 = load i32, ptr @test_count, align 4, !tbaa !5
  %17688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17689 = load i32, ptr %17688, align 4, !tbaa !5
  %17690 = call ptr @s2n_strerror(i32 noundef %17689, ptr noundef @.str.65)
  %17691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17692 = load i32, ptr %17691, align 4, !tbaa !5
  %17693 = call ptr @s2n_strerror_debug(i32 noundef %17692, ptr noundef @.str.65)
  %17694 = call ptr @__errno_location() #11
  %17695 = load i32, ptr %17694, align 4, !tbaa !5
  %17696 = call ptr @strerror(i32 noundef %17695) #10
  %17697 = call ptr @__errno_location() #11
  %17698 = load i32, ptr %17697, align 4, !tbaa !5
  %17699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17686, ptr noundef @.str.66, i32 noundef %17687, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 794, ptr noundef %17690, ptr noundef %17693, ptr noundef %17696, i32 noundef %17698) #10
  br label %17700

17700:                                            ; preds = %17683, %17666
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #10
  br label %17701

17701:                                            ; preds = %17700
  br label %17702

17702:                                            ; preds = %17701
  call void @exit(i32 noundef 1) #12
  unreachable

17703:                                            ; No predecessors!
  br label %17704

17704:                                            ; preds = %17703
  br label %17705

17705:                                            ; preds = %17704, %17645
  br label %17706

17706:                                            ; preds = %17705
  br label %17707

17707:                                            ; preds = %17706
  br label %17708

17708:                                            ; preds = %17707
  %17709 = load i32, ptr @test_count, align 4, !tbaa !5
  %17710 = add nsw i32 %17709, 1
  store i32 %17710, ptr @test_count, align 4, !tbaa !5
  %17711 = load ptr, ptr %313, align 8, !tbaa !9
  %17712 = load i64, ptr %361, align 8, !tbaa !15
  %17713 = getelementptr inbounds [2 x ptr], ptr %342, i64 0, i64 %17712
  %17714 = load ptr, ptr %17713, align 8, !tbaa !9
  %17715 = call i32 @s2n_connection_set_config(ptr noundef %17711, ptr noundef %17714)
  %17716 = icmp eq i32 %17715, -1
  br i1 %17716, label %17717, label %17770

17717:                                            ; preds = %17708
  br label %17718

17718:                                            ; preds = %17717
  br label %17719

17719:                                            ; preds = %17718
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #10
  %17720 = call ptr @__errno_location() #11
  %17721 = load i32, ptr %17720, align 4, !tbaa !5
  store i32 %17721, ptr %365, align 4, !tbaa !5
  %17722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17723 = call i32 @s2n_print_stacktrace(ptr noundef %17722)
  %17724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17725 = trunc i8 %17724 to i1
  br i1 %17725, label %17726, label %17748

17726:                                            ; preds = %17719
  %17727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17728 = call i32 @fileno(ptr noundef %17727) #10
  %17729 = call i32 @isatty(i32 noundef %17728) #10
  %17730 = icmp ne i32 %17729, 0
  br i1 %17730, label %17731, label %17748

17731:                                            ; preds = %17726
  %17732 = load i32, ptr %365, align 4, !tbaa !5
  %17733 = call ptr @__errno_location() #11
  store i32 %17732, ptr %17733, align 4, !tbaa !5
  %17734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17735 = load i32, ptr @test_count, align 4, !tbaa !5
  %17736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17737 = load i32, ptr %17736, align 4, !tbaa !5
  %17738 = call ptr @s2n_strerror(i32 noundef %17737, ptr noundef @.str.65)
  %17739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17740 = load i32, ptr %17739, align 4, !tbaa !5
  %17741 = call ptr @s2n_strerror_debug(i32 noundef %17740, ptr noundef @.str.65)
  %17742 = call ptr @__errno_location() #11
  %17743 = load i32, ptr %17742, align 4, !tbaa !5
  %17744 = call ptr @strerror(i32 noundef %17743) #10
  %17745 = call ptr @__errno_location() #11
  %17746 = load i32, ptr %17745, align 4, !tbaa !5
  %17747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17734, ptr noundef @.str.63, i32 noundef %17735, ptr noundef @.str.169, ptr noundef @.str.62, i32 noundef 796, ptr noundef %17738, ptr noundef %17741, ptr noundef %17744, i32 noundef %17746) #10
  br label %17765

17748:                                            ; preds = %17726, %17719
  %17749 = load i32, ptr %365, align 4, !tbaa !5
  %17750 = call ptr @__errno_location() #11
  store i32 %17749, ptr %17750, align 4, !tbaa !5
  %17751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17752 = load i32, ptr @test_count, align 4, !tbaa !5
  %17753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17754 = load i32, ptr %17753, align 4, !tbaa !5
  %17755 = call ptr @s2n_strerror(i32 noundef %17754, ptr noundef @.str.65)
  %17756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17757 = load i32, ptr %17756, align 4, !tbaa !5
  %17758 = call ptr @s2n_strerror_debug(i32 noundef %17757, ptr noundef @.str.65)
  %17759 = call ptr @__errno_location() #11
  %17760 = load i32, ptr %17759, align 4, !tbaa !5
  %17761 = call ptr @strerror(i32 noundef %17760) #10
  %17762 = call ptr @__errno_location() #11
  %17763 = load i32, ptr %17762, align 4, !tbaa !5
  %17764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17751, ptr noundef @.str.66, i32 noundef %17752, ptr noundef @.str.169, ptr noundef @.str.62, i32 noundef 796, ptr noundef %17755, ptr noundef %17758, ptr noundef %17761, i32 noundef %17763) #10
  br label %17765

17765:                                            ; preds = %17748, %17731
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #10
  br label %17766

17766:                                            ; preds = %17765
  br label %17767

17767:                                            ; preds = %17766
  call void @exit(i32 noundef 1) #12
  unreachable

17768:                                            ; No predecessors!
  br label %17769

17769:                                            ; preds = %17768
  br label %17770

17770:                                            ; preds = %17769, %17708
  br label %17771

17771:                                            ; preds = %17770
  br label %17772

17772:                                            ; preds = %17771
  br label %17773

17773:                                            ; preds = %17772
  %17774 = load i32, ptr @test_count, align 4, !tbaa !5
  %17775 = add nsw i32 %17774, 1
  store i32 %17775, ptr @test_count, align 4, !tbaa !5
  %17776 = load ptr, ptr %315, align 8, !tbaa !9
  %17777 = load ptr, ptr %20, align 8, !tbaa !9
  %17778 = call i32 @s2n_connection_set_config(ptr noundef %17776, ptr noundef %17777)
  %17779 = icmp eq i32 %17778, -1
  br i1 %17779, label %17780, label %17833

17780:                                            ; preds = %17773
  br label %17781

17781:                                            ; preds = %17780
  br label %17782

17782:                                            ; preds = %17781
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #10
  %17783 = call ptr @__errno_location() #11
  %17784 = load i32, ptr %17783, align 4, !tbaa !5
  store i32 %17784, ptr %366, align 4, !tbaa !5
  %17785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17786 = call i32 @s2n_print_stacktrace(ptr noundef %17785)
  %17787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17788 = trunc i8 %17787 to i1
  br i1 %17788, label %17789, label %17811

17789:                                            ; preds = %17782
  %17790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17791 = call i32 @fileno(ptr noundef %17790) #10
  %17792 = call i32 @isatty(i32 noundef %17791) #10
  %17793 = icmp ne i32 %17792, 0
  br i1 %17793, label %17794, label %17811

17794:                                            ; preds = %17789
  %17795 = load i32, ptr %366, align 4, !tbaa !5
  %17796 = call ptr @__errno_location() #11
  store i32 %17795, ptr %17796, align 4, !tbaa !5
  %17797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17798 = load i32, ptr @test_count, align 4, !tbaa !5
  %17799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17800 = load i32, ptr %17799, align 4, !tbaa !5
  %17801 = call ptr @s2n_strerror(i32 noundef %17800, ptr noundef @.str.65)
  %17802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17803 = load i32, ptr %17802, align 4, !tbaa !5
  %17804 = call ptr @s2n_strerror_debug(i32 noundef %17803, ptr noundef @.str.65)
  %17805 = call ptr @__errno_location() #11
  %17806 = load i32, ptr %17805, align 4, !tbaa !5
  %17807 = call ptr @strerror(i32 noundef %17806) #10
  %17808 = call ptr @__errno_location() #11
  %17809 = load i32, ptr %17808, align 4, !tbaa !5
  %17810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17797, ptr noundef @.str.63, i32 noundef %17798, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 797, ptr noundef %17801, ptr noundef %17804, ptr noundef %17807, i32 noundef %17809) #10
  br label %17828

17811:                                            ; preds = %17789, %17782
  %17812 = load i32, ptr %366, align 4, !tbaa !5
  %17813 = call ptr @__errno_location() #11
  store i32 %17812, ptr %17813, align 4, !tbaa !5
  %17814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17815 = load i32, ptr @test_count, align 4, !tbaa !5
  %17816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17817 = load i32, ptr %17816, align 4, !tbaa !5
  %17818 = call ptr @s2n_strerror(i32 noundef %17817, ptr noundef @.str.65)
  %17819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17820 = load i32, ptr %17819, align 4, !tbaa !5
  %17821 = call ptr @s2n_strerror_debug(i32 noundef %17820, ptr noundef @.str.65)
  %17822 = call ptr @__errno_location() #11
  %17823 = load i32, ptr %17822, align 4, !tbaa !5
  %17824 = call ptr @strerror(i32 noundef %17823) #10
  %17825 = call ptr @__errno_location() #11
  %17826 = load i32, ptr %17825, align 4, !tbaa !5
  %17827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17814, ptr noundef @.str.66, i32 noundef %17815, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 797, ptr noundef %17818, ptr noundef %17821, ptr noundef %17824, i32 noundef %17826) #10
  br label %17828

17828:                                            ; preds = %17811, %17794
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #10
  br label %17829

17829:                                            ; preds = %17828
  br label %17830

17830:                                            ; preds = %17829
  call void @exit(i32 noundef 1) #12
  unreachable

17831:                                            ; No predecessors!
  br label %17832

17832:                                            ; preds = %17831
  br label %17833

17833:                                            ; preds = %17832, %17773
  br label %17834

17834:                                            ; preds = %17833
  br label %17835

17835:                                            ; preds = %17834
  br label %17836

17836:                                            ; preds = %17835
  %17837 = load i32, ptr @test_count, align 4, !tbaa !5
  %17838 = add nsw i32 %17837, 1
  store i32 %17838, ptr @test_count, align 4, !tbaa !5
  %17839 = load ptr, ptr %313, align 8, !tbaa !9
  %17840 = getelementptr inbounds %struct.s2n_stuffer, ptr %322, i32 0, i32 0
  %17841 = getelementptr inbounds %struct.s2n_blob, ptr %17840, i32 0, i32 0
  %17842 = load ptr, ptr %17841, align 8, !tbaa !31
  %17843 = getelementptr inbounds %struct.s2n_stuffer, ptr %322, i32 0, i32 2
  %17844 = load i32, ptr %17843, align 4, !tbaa !27
  %17845 = getelementptr inbounds %struct.s2n_stuffer, ptr %322, i32 0, i32 1
  %17846 = load i32, ptr %17845, align 8, !tbaa !30
  %17847 = sub i32 %17844, %17846
  %17848 = zext i32 %17847 to i64
  %17849 = call i32 @s2n_connection_set_session(ptr noundef %17839, ptr noundef %17842, i64 noundef %17848)
  %17850 = icmp eq i32 %17849, -1
  br i1 %17850, label %17851, label %17904

17851:                                            ; preds = %17836
  br label %17852

17852:                                            ; preds = %17851
  br label %17853

17853:                                            ; preds = %17852
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #10
  %17854 = call ptr @__errno_location() #11
  %17855 = load i32, ptr %17854, align 4, !tbaa !5
  store i32 %17855, ptr %367, align 4, !tbaa !5
  %17856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17857 = call i32 @s2n_print_stacktrace(ptr noundef %17856)
  %17858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17859 = trunc i8 %17858 to i1
  br i1 %17859, label %17860, label %17882

17860:                                            ; preds = %17853
  %17861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17862 = call i32 @fileno(ptr noundef %17861) #10
  %17863 = call i32 @isatty(i32 noundef %17862) #10
  %17864 = icmp ne i32 %17863, 0
  br i1 %17864, label %17865, label %17882

17865:                                            ; preds = %17860
  %17866 = load i32, ptr %367, align 4, !tbaa !5
  %17867 = call ptr @__errno_location() #11
  store i32 %17866, ptr %17867, align 4, !tbaa !5
  %17868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17869 = load i32, ptr @test_count, align 4, !tbaa !5
  %17870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17871 = load i32, ptr %17870, align 4, !tbaa !5
  %17872 = call ptr @s2n_strerror(i32 noundef %17871, ptr noundef @.str.65)
  %17873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17874 = load i32, ptr %17873, align 4, !tbaa !5
  %17875 = call ptr @s2n_strerror_debug(i32 noundef %17874, ptr noundef @.str.65)
  %17876 = call ptr @__errno_location() #11
  %17877 = load i32, ptr %17876, align 4, !tbaa !5
  %17878 = call ptr @strerror(i32 noundef %17877) #10
  %17879 = call ptr @__errno_location() #11
  %17880 = load i32, ptr %17879, align 4, !tbaa !5
  %17881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17868, ptr noundef @.str.63, i32 noundef %17869, ptr noundef @.str.160, ptr noundef @.str.62, i32 noundef 800, ptr noundef %17872, ptr noundef %17875, ptr noundef %17878, i32 noundef %17880) #10
  br label %17899

17882:                                            ; preds = %17860, %17853
  %17883 = load i32, ptr %367, align 4, !tbaa !5
  %17884 = call ptr @__errno_location() #11
  store i32 %17883, ptr %17884, align 4, !tbaa !5
  %17885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17886 = load i32, ptr @test_count, align 4, !tbaa !5
  %17887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17888 = load i32, ptr %17887, align 4, !tbaa !5
  %17889 = call ptr @s2n_strerror(i32 noundef %17888, ptr noundef @.str.65)
  %17890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17891 = load i32, ptr %17890, align 4, !tbaa !5
  %17892 = call ptr @s2n_strerror_debug(i32 noundef %17891, ptr noundef @.str.65)
  %17893 = call ptr @__errno_location() #11
  %17894 = load i32, ptr %17893, align 4, !tbaa !5
  %17895 = call ptr @strerror(i32 noundef %17894) #10
  %17896 = call ptr @__errno_location() #11
  %17897 = load i32, ptr %17896, align 4, !tbaa !5
  %17898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17885, ptr noundef @.str.66, i32 noundef %17886, ptr noundef @.str.160, ptr noundef @.str.62, i32 noundef 800, ptr noundef %17889, ptr noundef %17892, ptr noundef %17895, i32 noundef %17897) #10
  br label %17899

17899:                                            ; preds = %17882, %17865
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #10
  br label %17900

17900:                                            ; preds = %17899
  br label %17901

17901:                                            ; preds = %17900
  call void @exit(i32 noundef 1) #12
  unreachable

17902:                                            ; No predecessors!
  br label %17903

17903:                                            ; preds = %17902
  br label %17904

17904:                                            ; preds = %17903, %17836
  br label %17905

17905:                                            ; preds = %17904
  br label %17906

17906:                                            ; preds = %17905
  br label %17907

17907:                                            ; preds = %17906
  %17908 = load i32, ptr @test_count, align 4, !tbaa !5
  %17909 = add nsw i32 %17908, 1
  store i32 %17909, ptr @test_count, align 4, !tbaa !5
  %17910 = load ptr, ptr %313, align 8, !tbaa !9
  %17911 = call i32 @s2n_connection_get_session_length(ptr noundef %17910)
  %17912 = icmp eq i32 %17911, 0
  br i1 %17912, label %17966, label %17913

17913:                                            ; preds = %17907
  br label %17914

17914:                                            ; preds = %17913
  br label %17915

17915:                                            ; preds = %17914
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #10
  %17916 = call ptr @__errno_location() #11
  %17917 = load i32, ptr %17916, align 4, !tbaa !5
  store i32 %17917, ptr %368, align 4, !tbaa !5
  %17918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17919 = call i32 @s2n_print_stacktrace(ptr noundef %17918)
  %17920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17921 = trunc i8 %17920 to i1
  br i1 %17921, label %17922, label %17944

17922:                                            ; preds = %17915
  %17923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17924 = call i32 @fileno(ptr noundef %17923) #10
  %17925 = call i32 @isatty(i32 noundef %17924) #10
  %17926 = icmp ne i32 %17925, 0
  br i1 %17926, label %17927, label %17944

17927:                                            ; preds = %17922
  %17928 = load i32, ptr %368, align 4, !tbaa !5
  %17929 = call ptr @__errno_location() #11
  store i32 %17928, ptr %17929, align 4, !tbaa !5
  %17930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17931 = load i32, ptr @test_count, align 4, !tbaa !5
  %17932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17933 = load i32, ptr %17932, align 4, !tbaa !5
  %17934 = call ptr @s2n_strerror(i32 noundef %17933, ptr noundef @.str.65)
  %17935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17936 = load i32, ptr %17935, align 4, !tbaa !5
  %17937 = call ptr @s2n_strerror_debug(i32 noundef %17936, ptr noundef @.str.65)
  %17938 = call ptr @__errno_location() #11
  %17939 = load i32, ptr %17938, align 4, !tbaa !5
  %17940 = call ptr @strerror(i32 noundef %17939) #10
  %17941 = call ptr @__errno_location() #11
  %17942 = load i32, ptr %17941, align 4, !tbaa !5
  %17943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17930, ptr noundef @.str.63, i32 noundef %17931, ptr noundef @.str.152, ptr noundef @.str.62, i32 noundef 804, ptr noundef %17934, ptr noundef %17937, ptr noundef %17940, i32 noundef %17942) #10
  br label %17961

17944:                                            ; preds = %17922, %17915
  %17945 = load i32, ptr %368, align 4, !tbaa !5
  %17946 = call ptr @__errno_location() #11
  store i32 %17945, ptr %17946, align 4, !tbaa !5
  %17947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17948 = load i32, ptr @test_count, align 4, !tbaa !5
  %17949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17950 = load i32, ptr %17949, align 4, !tbaa !5
  %17951 = call ptr @s2n_strerror(i32 noundef %17950, ptr noundef @.str.65)
  %17952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17953 = load i32, ptr %17952, align 4, !tbaa !5
  %17954 = call ptr @s2n_strerror_debug(i32 noundef %17953, ptr noundef @.str.65)
  %17955 = call ptr @__errno_location() #11
  %17956 = load i32, ptr %17955, align 4, !tbaa !5
  %17957 = call ptr @strerror(i32 noundef %17956) #10
  %17958 = call ptr @__errno_location() #11
  %17959 = load i32, ptr %17958, align 4, !tbaa !5
  %17960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17947, ptr noundef @.str.66, i32 noundef %17948, ptr noundef @.str.152, ptr noundef @.str.62, i32 noundef 804, ptr noundef %17951, ptr noundef %17954, ptr noundef %17957, i32 noundef %17959) #10
  br label %17961

17961:                                            ; preds = %17944, %17927
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #10
  br label %17962

17962:                                            ; preds = %17961
  br label %17963

17963:                                            ; preds = %17962
  call void @exit(i32 noundef 1) #12
  unreachable

17964:                                            ; No predecessors!
  br label %17965

17965:                                            ; preds = %17964
  br label %17966

17966:                                            ; preds = %17965, %17907
  br label %17967

17967:                                            ; preds = %17966
  br label %17968

17968:                                            ; preds = %17967
  br label %17969

17969:                                            ; preds = %17968
  %17970 = load i32, ptr @test_count, align 4, !tbaa !5
  %17971 = add nsw i32 %17970, 1
  store i32 %17971, ptr @test_count, align 4, !tbaa !5
  %17972 = load ptr, ptr %315, align 8, !tbaa !9
  %17973 = load ptr, ptr %313, align 8, !tbaa !9
  %17974 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %17972, ptr noundef %17973)
  %17975 = icmp eq i32 %17974, -1
  br i1 %17975, label %17976, label %18029

17976:                                            ; preds = %17969
  br label %17977

17977:                                            ; preds = %17976
  br label %17978

17978:                                            ; preds = %17977
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #10
  %17979 = call ptr @__errno_location() #11
  %17980 = load i32, ptr %17979, align 4, !tbaa !5
  store i32 %17980, ptr %369, align 4, !tbaa !5
  %17981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17982 = call i32 @s2n_print_stacktrace(ptr noundef %17981)
  %17983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17984 = trunc i8 %17983 to i1
  br i1 %17984, label %17985, label %18007

17985:                                            ; preds = %17978
  %17986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17987 = call i32 @fileno(ptr noundef %17986) #10
  %17988 = call i32 @isatty(i32 noundef %17987) #10
  %17989 = icmp ne i32 %17988, 0
  br i1 %17989, label %17990, label %18007

17990:                                            ; preds = %17985
  %17991 = load i32, ptr %369, align 4, !tbaa !5
  %17992 = call ptr @__errno_location() #11
  store i32 %17991, ptr %17992, align 4, !tbaa !5
  %17993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17994 = load i32, ptr @test_count, align 4, !tbaa !5
  %17995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17996 = load i32, ptr %17995, align 4, !tbaa !5
  %17997 = call ptr @s2n_strerror(i32 noundef %17996, ptr noundef @.str.65)
  %17998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17999 = load i32, ptr %17998, align 4, !tbaa !5
  %18000 = call ptr @s2n_strerror_debug(i32 noundef %17999, ptr noundef @.str.65)
  %18001 = call ptr @__errno_location() #11
  %18002 = load i32, ptr %18001, align 4, !tbaa !5
  %18003 = call ptr @strerror(i32 noundef %18002) #10
  %18004 = call ptr @__errno_location() #11
  %18005 = load i32, ptr %18004, align 4, !tbaa !5
  %18006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17993, ptr noundef @.str.63, i32 noundef %17994, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 806, ptr noundef %17997, ptr noundef %18000, ptr noundef %18003, i32 noundef %18005) #10
  br label %18024

18007:                                            ; preds = %17985, %17978
  %18008 = load i32, ptr %369, align 4, !tbaa !5
  %18009 = call ptr @__errno_location() #11
  store i32 %18008, ptr %18009, align 4, !tbaa !5
  %18010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18011 = load i32, ptr @test_count, align 4, !tbaa !5
  %18012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18013 = load i32, ptr %18012, align 4, !tbaa !5
  %18014 = call ptr @s2n_strerror(i32 noundef %18013, ptr noundef @.str.65)
  %18015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18016 = load i32, ptr %18015, align 4, !tbaa !5
  %18017 = call ptr @s2n_strerror_debug(i32 noundef %18016, ptr noundef @.str.65)
  %18018 = call ptr @__errno_location() #11
  %18019 = load i32, ptr %18018, align 4, !tbaa !5
  %18020 = call ptr @strerror(i32 noundef %18019) #10
  %18021 = call ptr @__errno_location() #11
  %18022 = load i32, ptr %18021, align 4, !tbaa !5
  %18023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18010, ptr noundef @.str.66, i32 noundef %18011, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 806, ptr noundef %18014, ptr noundef %18017, ptr noundef %18020, i32 noundef %18022) #10
  br label %18024

18024:                                            ; preds = %18007, %17990
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #10
  br label %18025

18025:                                            ; preds = %18024
  br label %18026

18026:                                            ; preds = %18025
  call void @exit(i32 noundef 1) #12
  unreachable

18027:                                            ; No predecessors!
  br label %18028

18028:                                            ; preds = %18027
  br label %18029

18029:                                            ; preds = %18028, %17969
  br label %18030

18030:                                            ; preds = %18029
  br label %18031

18031:                                            ; preds = %18030
  %18032 = load ptr, ptr %313, align 8, !tbaa !9
  %18033 = getelementptr inbounds %struct.s2n_connection, ptr %18032, i32 0, i32 23
  %18034 = load i8, ptr %18033, align 4, !tbaa !66
  %18035 = zext i8 %18034 to i32
  %18036 = icmp slt i32 %18035, 34
  br i1 %18036, label %18037, label %18100

18037:                                            ; preds = %18031
  br label %18038

18038:                                            ; preds = %18037
  %18039 = load i32, ptr @test_count, align 4, !tbaa !5
  %18040 = add nsw i32 %18039, 1
  store i32 %18040, ptr @test_count, align 4, !tbaa !5
  %18041 = load ptr, ptr %313, align 8, !tbaa !9
  %18042 = call i32 @s2n_connection_get_session_length(ptr noundef %18041)
  %18043 = icmp sgt i32 %18042, 0
  br i1 %18043, label %18097, label %18044

18044:                                            ; preds = %18038
  br label %18045

18045:                                            ; preds = %18044
  br label %18046

18046:                                            ; preds = %18045
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #10
  %18047 = call ptr @__errno_location() #11
  %18048 = load i32, ptr %18047, align 4, !tbaa !5
  store i32 %18048, ptr %370, align 4, !tbaa !5
  %18049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18050 = call i32 @s2n_print_stacktrace(ptr noundef %18049)
  %18051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18052 = trunc i8 %18051 to i1
  br i1 %18052, label %18053, label %18075

18053:                                            ; preds = %18046
  %18054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18055 = call i32 @fileno(ptr noundef %18054) #10
  %18056 = call i32 @isatty(i32 noundef %18055) #10
  %18057 = icmp ne i32 %18056, 0
  br i1 %18057, label %18058, label %18075

18058:                                            ; preds = %18053
  %18059 = load i32, ptr %370, align 4, !tbaa !5
  %18060 = call ptr @__errno_location() #11
  store i32 %18059, ptr %18060, align 4, !tbaa !5
  %18061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18062 = load i32, ptr @test_count, align 4, !tbaa !5
  %18063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18064 = load i32, ptr %18063, align 4, !tbaa !5
  %18065 = call ptr @s2n_strerror(i32 noundef %18064, ptr noundef @.str.65)
  %18066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18067 = load i32, ptr %18066, align 4, !tbaa !5
  %18068 = call ptr @s2n_strerror_debug(i32 noundef %18067, ptr noundef @.str.65)
  %18069 = call ptr @__errno_location() #11
  %18070 = load i32, ptr %18069, align 4, !tbaa !5
  %18071 = call ptr @strerror(i32 noundef %18070) #10
  %18072 = call ptr @__errno_location() #11
  %18073 = load i32, ptr %18072, align 4, !tbaa !5
  %18074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18061, ptr noundef @.str.63, i32 noundef %18062, ptr noundef @.str.177, ptr noundef @.str.62, i32 noundef 809, ptr noundef %18065, ptr noundef %18068, ptr noundef %18071, i32 noundef %18073) #10
  br label %18092

18075:                                            ; preds = %18053, %18046
  %18076 = load i32, ptr %370, align 4, !tbaa !5
  %18077 = call ptr @__errno_location() #11
  store i32 %18076, ptr %18077, align 4, !tbaa !5
  %18078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18079 = load i32, ptr @test_count, align 4, !tbaa !5
  %18080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18081 = load i32, ptr %18080, align 4, !tbaa !5
  %18082 = call ptr @s2n_strerror(i32 noundef %18081, ptr noundef @.str.65)
  %18083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18084 = load i32, ptr %18083, align 4, !tbaa !5
  %18085 = call ptr @s2n_strerror_debug(i32 noundef %18084, ptr noundef @.str.65)
  %18086 = call ptr @__errno_location() #11
  %18087 = load i32, ptr %18086, align 4, !tbaa !5
  %18088 = call ptr @strerror(i32 noundef %18087) #10
  %18089 = call ptr @__errno_location() #11
  %18090 = load i32, ptr %18089, align 4, !tbaa !5
  %18091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18078, ptr noundef @.str.66, i32 noundef %18079, ptr noundef @.str.177, ptr noundef @.str.62, i32 noundef 809, ptr noundef %18082, ptr noundef %18085, ptr noundef %18088, i32 noundef %18090) #10
  br label %18092

18092:                                            ; preds = %18075, %18058
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #10
  br label %18093

18093:                                            ; preds = %18092
  br label %18094

18094:                                            ; preds = %18093
  call void @exit(i32 noundef 1) #12
  unreachable

18095:                                            ; No predecessors!
  br label %18096

18096:                                            ; preds = %18095
  br label %18097

18097:                                            ; preds = %18096, %18038
  br label %18098

18098:                                            ; preds = %18097
  br label %18099

18099:                                            ; preds = %18098
  br label %18291

18100:                                            ; preds = %18031
  br label %18101

18101:                                            ; preds = %18100
  %18102 = load i32, ptr @test_count, align 4, !tbaa !5
  %18103 = add nsw i32 %18102, 1
  store i32 %18103, ptr @test_count, align 4, !tbaa !5
  %18104 = load ptr, ptr %313, align 8, !tbaa !9
  %18105 = call i32 @s2n_connection_get_session_length(ptr noundef %18104)
  %18106 = icmp eq i32 %18105, 0
  br i1 %18106, label %18160, label %18107

18107:                                            ; preds = %18101
  br label %18108

18108:                                            ; preds = %18107
  br label %18109

18109:                                            ; preds = %18108
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #10
  %18110 = call ptr @__errno_location() #11
  %18111 = load i32, ptr %18110, align 4, !tbaa !5
  store i32 %18111, ptr %371, align 4, !tbaa !5
  %18112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18113 = call i32 @s2n_print_stacktrace(ptr noundef %18112)
  %18114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18115 = trunc i8 %18114 to i1
  br i1 %18115, label %18116, label %18138

18116:                                            ; preds = %18109
  %18117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18118 = call i32 @fileno(ptr noundef %18117) #10
  %18119 = call i32 @isatty(i32 noundef %18118) #10
  %18120 = icmp ne i32 %18119, 0
  br i1 %18120, label %18121, label %18138

18121:                                            ; preds = %18116
  %18122 = load i32, ptr %371, align 4, !tbaa !5
  %18123 = call ptr @__errno_location() #11
  store i32 %18122, ptr %18123, align 4, !tbaa !5
  %18124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18125 = load i32, ptr @test_count, align 4, !tbaa !5
  %18126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18127 = load i32, ptr %18126, align 4, !tbaa !5
  %18128 = call ptr @s2n_strerror(i32 noundef %18127, ptr noundef @.str.65)
  %18129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18130 = load i32, ptr %18129, align 4, !tbaa !5
  %18131 = call ptr @s2n_strerror_debug(i32 noundef %18130, ptr noundef @.str.65)
  %18132 = call ptr @__errno_location() #11
  %18133 = load i32, ptr %18132, align 4, !tbaa !5
  %18134 = call ptr @strerror(i32 noundef %18133) #10
  %18135 = call ptr @__errno_location() #11
  %18136 = load i32, ptr %18135, align 4, !tbaa !5
  %18137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18124, ptr noundef @.str.63, i32 noundef %18125, ptr noundef @.str.152, ptr noundef @.str.62, i32 noundef 812, ptr noundef %18128, ptr noundef %18131, ptr noundef %18134, i32 noundef %18136) #10
  br label %18155

18138:                                            ; preds = %18116, %18109
  %18139 = load i32, ptr %371, align 4, !tbaa !5
  %18140 = call ptr @__errno_location() #11
  store i32 %18139, ptr %18140, align 4, !tbaa !5
  %18141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18142 = load i32, ptr @test_count, align 4, !tbaa !5
  %18143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18144 = load i32, ptr %18143, align 4, !tbaa !5
  %18145 = call ptr @s2n_strerror(i32 noundef %18144, ptr noundef @.str.65)
  %18146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18147 = load i32, ptr %18146, align 4, !tbaa !5
  %18148 = call ptr @s2n_strerror_debug(i32 noundef %18147, ptr noundef @.str.65)
  %18149 = call ptr @__errno_location() #11
  %18150 = load i32, ptr %18149, align 4, !tbaa !5
  %18151 = call ptr @strerror(i32 noundef %18150) #10
  %18152 = call ptr @__errno_location() #11
  %18153 = load i32, ptr %18152, align 4, !tbaa !5
  %18154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18141, ptr noundef @.str.66, i32 noundef %18142, ptr noundef @.str.152, ptr noundef @.str.62, i32 noundef 812, ptr noundef %18145, ptr noundef %18148, ptr noundef %18151, i32 noundef %18153) #10
  br label %18155

18155:                                            ; preds = %18138, %18121
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #10
  br label %18156

18156:                                            ; preds = %18155
  br label %18157

18157:                                            ; preds = %18156
  call void @exit(i32 noundef 1) #12
  unreachable

18158:                                            ; No predecessors!
  br label %18159

18159:                                            ; preds = %18158
  br label %18160

18160:                                            ; preds = %18159, %18101
  br label %18161

18161:                                            ; preds = %18160
  br label %18162

18162:                                            ; preds = %18161
  br label %18163

18163:                                            ; preds = %18162
  %18164 = load i32, ptr @test_count, align 4, !tbaa !5
  %18165 = add nsw i32 %18164, 1
  store i32 %18165, ptr @test_count, align 4, !tbaa !5
  %18166 = load ptr, ptr %315, align 8, !tbaa !9
  %18167 = load ptr, ptr %313, align 8, !tbaa !9
  %18168 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %18166, ptr noundef %18167, ptr noundef %19)
  %18169 = getelementptr inbounds %struct.s2n_result, ptr %372, i32 0, i32 0
  store i32 %18168, ptr %18169, align 4
  %18170 = getelementptr inbounds %struct.s2n_result, ptr %372, i32 0, i32 0
  %18171 = load i32, ptr %18170, align 4
  %18172 = call zeroext i1 @s2n_result_is_ok(i32 %18171)
  br i1 %18172, label %18226, label %18173

18173:                                            ; preds = %18163
  br label %18174

18174:                                            ; preds = %18173
  br label %18175

18175:                                            ; preds = %18174
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #10
  %18176 = call ptr @__errno_location() #11
  %18177 = load i32, ptr %18176, align 4, !tbaa !5
  store i32 %18177, ptr %373, align 4, !tbaa !5
  %18178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18179 = call i32 @s2n_print_stacktrace(ptr noundef %18178)
  %18180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18181 = trunc i8 %18180 to i1
  br i1 %18181, label %18182, label %18204

18182:                                            ; preds = %18175
  %18183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18184 = call i32 @fileno(ptr noundef %18183) #10
  %18185 = call i32 @isatty(i32 noundef %18184) #10
  %18186 = icmp ne i32 %18185, 0
  br i1 %18186, label %18187, label %18204

18187:                                            ; preds = %18182
  %18188 = load i32, ptr %373, align 4, !tbaa !5
  %18189 = call ptr @__errno_location() #11
  store i32 %18188, ptr %18189, align 4, !tbaa !5
  %18190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18191 = load i32, ptr @test_count, align 4, !tbaa !5
  %18192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18193 = load i32, ptr %18192, align 4, !tbaa !5
  %18194 = call ptr @s2n_strerror(i32 noundef %18193, ptr noundef @.str.65)
  %18195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18196 = load i32, ptr %18195, align 4, !tbaa !5
  %18197 = call ptr @s2n_strerror_debug(i32 noundef %18196, ptr noundef @.str.65)
  %18198 = call ptr @__errno_location() #11
  %18199 = load i32, ptr %18198, align 4, !tbaa !5
  %18200 = call ptr @strerror(i32 noundef %18199) #10
  %18201 = call ptr @__errno_location() #11
  %18202 = load i32, ptr %18201, align 4, !tbaa !5
  %18203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18190, ptr noundef @.str.63, i32 noundef %18191, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 815, ptr noundef %18194, ptr noundef %18197, ptr noundef %18200, i32 noundef %18202) #10
  br label %18221

18204:                                            ; preds = %18182, %18175
  %18205 = load i32, ptr %373, align 4, !tbaa !5
  %18206 = call ptr @__errno_location() #11
  store i32 %18205, ptr %18206, align 4, !tbaa !5
  %18207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18208 = load i32, ptr @test_count, align 4, !tbaa !5
  %18209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18210 = load i32, ptr %18209, align 4, !tbaa !5
  %18211 = call ptr @s2n_strerror(i32 noundef %18210, ptr noundef @.str.65)
  %18212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18213 = load i32, ptr %18212, align 4, !tbaa !5
  %18214 = call ptr @s2n_strerror_debug(i32 noundef %18213, ptr noundef @.str.65)
  %18215 = call ptr @__errno_location() #11
  %18216 = load i32, ptr %18215, align 4, !tbaa !5
  %18217 = call ptr @strerror(i32 noundef %18216) #10
  %18218 = call ptr @__errno_location() #11
  %18219 = load i32, ptr %18218, align 4, !tbaa !5
  %18220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18207, ptr noundef @.str.66, i32 noundef %18208, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 815, ptr noundef %18211, ptr noundef %18214, ptr noundef %18217, i32 noundef %18219) #10
  br label %18221

18221:                                            ; preds = %18204, %18187
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #10
  br label %18222

18222:                                            ; preds = %18221
  br label %18223

18223:                                            ; preds = %18222
  call void @exit(i32 noundef 1) #12
  unreachable

18224:                                            ; No predecessors!
  br label %18225

18225:                                            ; preds = %18224
  br label %18226

18226:                                            ; preds = %18225, %18163
  br label %18227

18227:                                            ; preds = %18226
  br label %18228

18228:                                            ; preds = %18227
  br label %18229

18229:                                            ; preds = %18228
  %18230 = load i32, ptr @test_count, align 4, !tbaa !5
  %18231 = add nsw i32 %18230, 1
  store i32 %18231, ptr @test_count, align 4, !tbaa !5
  %18232 = load ptr, ptr %313, align 8, !tbaa !9
  %18233 = call i32 @s2n_connection_get_session_length(ptr noundef %18232)
  %18234 = icmp sgt i32 %18233, 0
  br i1 %18234, label %18288, label %18235

18235:                                            ; preds = %18229
  br label %18236

18236:                                            ; preds = %18235
  br label %18237

18237:                                            ; preds = %18236
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #10
  %18238 = call ptr @__errno_location() #11
  %18239 = load i32, ptr %18238, align 4, !tbaa !5
  store i32 %18239, ptr %374, align 4, !tbaa !5
  %18240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18241 = call i32 @s2n_print_stacktrace(ptr noundef %18240)
  %18242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18243 = trunc i8 %18242 to i1
  br i1 %18243, label %18244, label %18266

18244:                                            ; preds = %18237
  %18245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18246 = call i32 @fileno(ptr noundef %18245) #10
  %18247 = call i32 @isatty(i32 noundef %18246) #10
  %18248 = icmp ne i32 %18247, 0
  br i1 %18248, label %18249, label %18266

18249:                                            ; preds = %18244
  %18250 = load i32, ptr %374, align 4, !tbaa !5
  %18251 = call ptr @__errno_location() #11
  store i32 %18250, ptr %18251, align 4, !tbaa !5
  %18252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18253 = load i32, ptr @test_count, align 4, !tbaa !5
  %18254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18255 = load i32, ptr %18254, align 4, !tbaa !5
  %18256 = call ptr @s2n_strerror(i32 noundef %18255, ptr noundef @.str.65)
  %18257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18258 = load i32, ptr %18257, align 4, !tbaa !5
  %18259 = call ptr @s2n_strerror_debug(i32 noundef %18258, ptr noundef @.str.65)
  %18260 = call ptr @__errno_location() #11
  %18261 = load i32, ptr %18260, align 4, !tbaa !5
  %18262 = call ptr @strerror(i32 noundef %18261) #10
  %18263 = call ptr @__errno_location() #11
  %18264 = load i32, ptr %18263, align 4, !tbaa !5
  %18265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18252, ptr noundef @.str.63, i32 noundef %18253, ptr noundef @.str.177, ptr noundef @.str.62, i32 noundef 818, ptr noundef %18256, ptr noundef %18259, ptr noundef %18262, i32 noundef %18264) #10
  br label %18283

18266:                                            ; preds = %18244, %18237
  %18267 = load i32, ptr %374, align 4, !tbaa !5
  %18268 = call ptr @__errno_location() #11
  store i32 %18267, ptr %18268, align 4, !tbaa !5
  %18269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18270 = load i32, ptr @test_count, align 4, !tbaa !5
  %18271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18272 = load i32, ptr %18271, align 4, !tbaa !5
  %18273 = call ptr @s2n_strerror(i32 noundef %18272, ptr noundef @.str.65)
  %18274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18275 = load i32, ptr %18274, align 4, !tbaa !5
  %18276 = call ptr @s2n_strerror_debug(i32 noundef %18275, ptr noundef @.str.65)
  %18277 = call ptr @__errno_location() #11
  %18278 = load i32, ptr %18277, align 4, !tbaa !5
  %18279 = call ptr @strerror(i32 noundef %18278) #10
  %18280 = call ptr @__errno_location() #11
  %18281 = load i32, ptr %18280, align 4, !tbaa !5
  %18282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18269, ptr noundef @.str.66, i32 noundef %18270, ptr noundef @.str.177, ptr noundef @.str.62, i32 noundef 818, ptr noundef %18273, ptr noundef %18276, ptr noundef %18279, i32 noundef %18281) #10
  br label %18283

18283:                                            ; preds = %18266, %18249
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #10
  br label %18284

18284:                                            ; preds = %18283
  br label %18285

18285:                                            ; preds = %18284
  call void @exit(i32 noundef 1) #12
  unreachable

18286:                                            ; No predecessors!
  br label %18287

18287:                                            ; preds = %18286
  br label %18288

18288:                                            ; preds = %18287, %18229
  br label %18289

18289:                                            ; preds = %18288
  br label %18290

18290:                                            ; preds = %18289
  br label %18291

18291:                                            ; preds = %18290, %18099
  br label %18292

18292:                                            ; preds = %18291
  %18293 = load i64, ptr %361, align 8, !tbaa !15
  %18294 = add i64 %18293, 1
  store i64 %18294, ptr %361, align 8, !tbaa !15
  br label %17516, !llvm.loop !74

18295:                                            ; preds = %17519
  br label %18296

18296:                                            ; preds = %18295
  %18297 = load i32, ptr @test_count, align 4, !tbaa !5
  %18298 = add nsw i32 %18297, 1
  store i32 %18298, ptr @test_count, align 4, !tbaa !5
  %18299 = call i32 @s2n_io_pair_close(ptr noundef %318)
  %18300 = icmp eq i32 %18299, -1
  br i1 %18300, label %18301, label %18354

18301:                                            ; preds = %18296
  br label %18302

18302:                                            ; preds = %18301
  br label %18303

18303:                                            ; preds = %18302
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #10
  %18304 = call ptr @__errno_location() #11
  %18305 = load i32, ptr %18304, align 4, !tbaa !5
  store i32 %18305, ptr %375, align 4, !tbaa !5
  %18306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18307 = call i32 @s2n_print_stacktrace(ptr noundef %18306)
  %18308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18309 = trunc i8 %18308 to i1
  br i1 %18309, label %18310, label %18332

18310:                                            ; preds = %18303
  %18311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18312 = call i32 @fileno(ptr noundef %18311) #10
  %18313 = call i32 @isatty(i32 noundef %18312) #10
  %18314 = icmp ne i32 %18313, 0
  br i1 %18314, label %18315, label %18332

18315:                                            ; preds = %18310
  %18316 = load i32, ptr %375, align 4, !tbaa !5
  %18317 = call ptr @__errno_location() #11
  store i32 %18316, ptr %18317, align 4, !tbaa !5
  %18318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18319 = load i32, ptr @test_count, align 4, !tbaa !5
  %18320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18321 = load i32, ptr %18320, align 4, !tbaa !5
  %18322 = call ptr @s2n_strerror(i32 noundef %18321, ptr noundef @.str.65)
  %18323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18324 = load i32, ptr %18323, align 4, !tbaa !5
  %18325 = call ptr @s2n_strerror_debug(i32 noundef %18324, ptr noundef @.str.65)
  %18326 = call ptr @__errno_location() #11
  %18327 = load i32, ptr %18326, align 4, !tbaa !5
  %18328 = call ptr @strerror(i32 noundef %18327) #10
  %18329 = call ptr @__errno_location() #11
  %18330 = load i32, ptr %18329, align 4, !tbaa !5
  %18331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18318, ptr noundef @.str.63, i32 noundef %18319, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 821, ptr noundef %18322, ptr noundef %18325, ptr noundef %18328, i32 noundef %18330) #10
  br label %18349

18332:                                            ; preds = %18310, %18303
  %18333 = load i32, ptr %375, align 4, !tbaa !5
  %18334 = call ptr @__errno_location() #11
  store i32 %18333, ptr %18334, align 4, !tbaa !5
  %18335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18336 = load i32, ptr @test_count, align 4, !tbaa !5
  %18337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18338 = load i32, ptr %18337, align 4, !tbaa !5
  %18339 = call ptr @s2n_strerror(i32 noundef %18338, ptr noundef @.str.65)
  %18340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18341 = load i32, ptr %18340, align 4, !tbaa !5
  %18342 = call ptr @s2n_strerror_debug(i32 noundef %18341, ptr noundef @.str.65)
  %18343 = call ptr @__errno_location() #11
  %18344 = load i32, ptr %18343, align 4, !tbaa !5
  %18345 = call ptr @strerror(i32 noundef %18344) #10
  %18346 = call ptr @__errno_location() #11
  %18347 = load i32, ptr %18346, align 4, !tbaa !5
  %18348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18335, ptr noundef @.str.66, i32 noundef %18336, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 821, ptr noundef %18339, ptr noundef %18342, ptr noundef %18345, i32 noundef %18347) #10
  br label %18349

18349:                                            ; preds = %18332, %18315
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #10
  br label %18350

18350:                                            ; preds = %18349
  br label %18351

18351:                                            ; preds = %18350
  call void @exit(i32 noundef 1) #12
  unreachable

18352:                                            ; No predecessors!
  br label %18353

18353:                                            ; preds = %18352
  br label %18354

18354:                                            ; preds = %18353, %18296
  br label %18355

18355:                                            ; preds = %18354
  br label %18356

18356:                                            ; preds = %18355
  br label %18357

18357:                                            ; preds = %18356
  %18358 = load i32, ptr @test_count, align 4, !tbaa !5
  %18359 = add nsw i32 %18358, 1
  store i32 %18359, ptr @test_count, align 4, !tbaa !5
  %18360 = load ptr, ptr %315, align 8, !tbaa !9
  %18361 = call i32 @s2n_connection_free(ptr noundef %18360)
  %18362 = icmp eq i32 %18361, -1
  br i1 %18362, label %18363, label %18416

18363:                                            ; preds = %18357
  br label %18364

18364:                                            ; preds = %18363
  br label %18365

18365:                                            ; preds = %18364
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #10
  %18366 = call ptr @__errno_location() #11
  %18367 = load i32, ptr %18366, align 4, !tbaa !5
  store i32 %18367, ptr %376, align 4, !tbaa !5
  %18368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18369 = call i32 @s2n_print_stacktrace(ptr noundef %18368)
  %18370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18371 = trunc i8 %18370 to i1
  br i1 %18371, label %18372, label %18394

18372:                                            ; preds = %18365
  %18373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18374 = call i32 @fileno(ptr noundef %18373) #10
  %18375 = call i32 @isatty(i32 noundef %18374) #10
  %18376 = icmp ne i32 %18375, 0
  br i1 %18376, label %18377, label %18394

18377:                                            ; preds = %18372
  %18378 = load i32, ptr %376, align 4, !tbaa !5
  %18379 = call ptr @__errno_location() #11
  store i32 %18378, ptr %18379, align 4, !tbaa !5
  %18380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18381 = load i32, ptr @test_count, align 4, !tbaa !5
  %18382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18383 = load i32, ptr %18382, align 4, !tbaa !5
  %18384 = call ptr @s2n_strerror(i32 noundef %18383, ptr noundef @.str.65)
  %18385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18386 = load i32, ptr %18385, align 4, !tbaa !5
  %18387 = call ptr @s2n_strerror_debug(i32 noundef %18386, ptr noundef @.str.65)
  %18388 = call ptr @__errno_location() #11
  %18389 = load i32, ptr %18388, align 4, !tbaa !5
  %18390 = call ptr @strerror(i32 noundef %18389) #10
  %18391 = call ptr @__errno_location() #11
  %18392 = load i32, ptr %18391, align 4, !tbaa !5
  %18393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18380, ptr noundef @.str.63, i32 noundef %18381, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 822, ptr noundef %18384, ptr noundef %18387, ptr noundef %18390, i32 noundef %18392) #10
  br label %18411

18394:                                            ; preds = %18372, %18365
  %18395 = load i32, ptr %376, align 4, !tbaa !5
  %18396 = call ptr @__errno_location() #11
  store i32 %18395, ptr %18396, align 4, !tbaa !5
  %18397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18398 = load i32, ptr @test_count, align 4, !tbaa !5
  %18399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18400 = load i32, ptr %18399, align 4, !tbaa !5
  %18401 = call ptr @s2n_strerror(i32 noundef %18400, ptr noundef @.str.65)
  %18402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18403 = load i32, ptr %18402, align 4, !tbaa !5
  %18404 = call ptr @s2n_strerror_debug(i32 noundef %18403, ptr noundef @.str.65)
  %18405 = call ptr @__errno_location() #11
  %18406 = load i32, ptr %18405, align 4, !tbaa !5
  %18407 = call ptr @strerror(i32 noundef %18406) #10
  %18408 = call ptr @__errno_location() #11
  %18409 = load i32, ptr %18408, align 4, !tbaa !5
  %18410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18397, ptr noundef @.str.66, i32 noundef %18398, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 822, ptr noundef %18401, ptr noundef %18404, ptr noundef %18407, i32 noundef %18409) #10
  br label %18411

18411:                                            ; preds = %18394, %18377
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #10
  br label %18412

18412:                                            ; preds = %18411
  br label %18413

18413:                                            ; preds = %18412
  call void @exit(i32 noundef 1) #12
  unreachable

18414:                                            ; No predecessors!
  br label %18415

18415:                                            ; preds = %18414
  br label %18416

18416:                                            ; preds = %18415, %18357
  br label %18417

18417:                                            ; preds = %18416
  br label %18418

18418:                                            ; preds = %18417
  br label %18419

18419:                                            ; preds = %18418
  %18420 = load i32, ptr @test_count, align 4, !tbaa !5
  %18421 = add nsw i32 %18420, 1
  store i32 %18421, ptr @test_count, align 4, !tbaa !5
  %18422 = load ptr, ptr %313, align 8, !tbaa !9
  %18423 = call i32 @s2n_connection_free(ptr noundef %18422)
  %18424 = icmp eq i32 %18423, -1
  br i1 %18424, label %18425, label %18478

18425:                                            ; preds = %18419
  br label %18426

18426:                                            ; preds = %18425
  br label %18427

18427:                                            ; preds = %18426
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #10
  %18428 = call ptr @__errno_location() #11
  %18429 = load i32, ptr %18428, align 4, !tbaa !5
  store i32 %18429, ptr %377, align 4, !tbaa !5
  %18430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18431 = call i32 @s2n_print_stacktrace(ptr noundef %18430)
  %18432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18433 = trunc i8 %18432 to i1
  br i1 %18433, label %18434, label %18456

18434:                                            ; preds = %18427
  %18435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18436 = call i32 @fileno(ptr noundef %18435) #10
  %18437 = call i32 @isatty(i32 noundef %18436) #10
  %18438 = icmp ne i32 %18437, 0
  br i1 %18438, label %18439, label %18456

18439:                                            ; preds = %18434
  %18440 = load i32, ptr %377, align 4, !tbaa !5
  %18441 = call ptr @__errno_location() #11
  store i32 %18440, ptr %18441, align 4, !tbaa !5
  %18442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18443 = load i32, ptr @test_count, align 4, !tbaa !5
  %18444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18445 = load i32, ptr %18444, align 4, !tbaa !5
  %18446 = call ptr @s2n_strerror(i32 noundef %18445, ptr noundef @.str.65)
  %18447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18448 = load i32, ptr %18447, align 4, !tbaa !5
  %18449 = call ptr @s2n_strerror_debug(i32 noundef %18448, ptr noundef @.str.65)
  %18450 = call ptr @__errno_location() #11
  %18451 = load i32, ptr %18450, align 4, !tbaa !5
  %18452 = call ptr @strerror(i32 noundef %18451) #10
  %18453 = call ptr @__errno_location() #11
  %18454 = load i32, ptr %18453, align 4, !tbaa !5
  %18455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18442, ptr noundef @.str.63, i32 noundef %18443, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 823, ptr noundef %18446, ptr noundef %18449, ptr noundef %18452, i32 noundef %18454) #10
  br label %18473

18456:                                            ; preds = %18434, %18427
  %18457 = load i32, ptr %377, align 4, !tbaa !5
  %18458 = call ptr @__errno_location() #11
  store i32 %18457, ptr %18458, align 4, !tbaa !5
  %18459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18460 = load i32, ptr @test_count, align 4, !tbaa !5
  %18461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18462 = load i32, ptr %18461, align 4, !tbaa !5
  %18463 = call ptr @s2n_strerror(i32 noundef %18462, ptr noundef @.str.65)
  %18464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18465 = load i32, ptr %18464, align 4, !tbaa !5
  %18466 = call ptr @s2n_strerror_debug(i32 noundef %18465, ptr noundef @.str.65)
  %18467 = call ptr @__errno_location() #11
  %18468 = load i32, ptr %18467, align 4, !tbaa !5
  %18469 = call ptr @strerror(i32 noundef %18468) #10
  %18470 = call ptr @__errno_location() #11
  %18471 = load i32, ptr %18470, align 4, !tbaa !5
  %18472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18459, ptr noundef @.str.66, i32 noundef %18460, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 823, ptr noundef %18463, ptr noundef %18466, ptr noundef %18469, i32 noundef %18471) #10
  br label %18473

18473:                                            ; preds = %18456, %18439
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #10
  br label %18474

18474:                                            ; preds = %18473
  br label %18475

18475:                                            ; preds = %18474
  call void @exit(i32 noundef 1) #12
  unreachable

18476:                                            ; No predecessors!
  br label %18477

18477:                                            ; preds = %18476
  br label %18478

18478:                                            ; preds = %18477, %18419
  br label %18479

18479:                                            ; preds = %18478
  br label %18480

18480:                                            ; preds = %18479
  %18481 = call i32 @s2n_free(ptr noundef %343)
  call void @llvm.lifetime.end.p0(i64 24, ptr %343) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %342) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #10
  %18482 = call i32 @s2n_stuffer_free(ptr noundef %322)
  call void @llvm.lifetime.end.p0(i64 40, ptr %322) #10
  %18483 = call i32 @s2n_stuffer_free(ptr noundef %321)
  call void @llvm.lifetime.end.p0(i64 40, ptr %321) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %318) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %315) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %378) #10
  %18484 = call ptr @s2n_config_new()
  store ptr %18484, ptr %378, align 8, !tbaa !9
  br label %18485

18485:                                            ; preds = %18480
  %18486 = load i32, ptr @test_count, align 4, !tbaa !5
  %18487 = add nsw i32 %18486, 1
  store i32 %18487, ptr @test_count, align 4, !tbaa !5
  %18488 = load ptr, ptr %378, align 8, !tbaa !9
  %18489 = icmp eq ptr %18488, null
  br i1 %18489, label %18490, label %18543

18490:                                            ; preds = %18485
  br label %18491

18491:                                            ; preds = %18490
  br label %18492

18492:                                            ; preds = %18491
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #10
  %18493 = call ptr @__errno_location() #11
  %18494 = load i32, ptr %18493, align 4, !tbaa !5
  store i32 %18494, ptr %379, align 4, !tbaa !5
  %18495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18496 = call i32 @s2n_print_stacktrace(ptr noundef %18495)
  %18497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18498 = trunc i8 %18497 to i1
  br i1 %18498, label %18499, label %18521

18499:                                            ; preds = %18492
  %18500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18501 = call i32 @fileno(ptr noundef %18500) #10
  %18502 = call i32 @isatty(i32 noundef %18501) #10
  %18503 = icmp ne i32 %18502, 0
  br i1 %18503, label %18504, label %18521

18504:                                            ; preds = %18499
  %18505 = load i32, ptr %379, align 4, !tbaa !5
  %18506 = call ptr @__errno_location() #11
  store i32 %18505, ptr %18506, align 4, !tbaa !5
  %18507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18508 = load i32, ptr @test_count, align 4, !tbaa !5
  %18509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18510 = load i32, ptr %18509, align 4, !tbaa !5
  %18511 = call ptr @s2n_strerror(i32 noundef %18510, ptr noundef @.str.65)
  %18512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18513 = load i32, ptr %18512, align 4, !tbaa !5
  %18514 = call ptr @s2n_strerror_debug(i32 noundef %18513, ptr noundef @.str.65)
  %18515 = call ptr @__errno_location() #11
  %18516 = load i32, ptr %18515, align 4, !tbaa !5
  %18517 = call ptr @strerror(i32 noundef %18516) #10
  %18518 = call ptr @__errno_location() #11
  %18519 = load i32, ptr %18518, align 4, !tbaa !5
  %18520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18507, ptr noundef @.str.63, i32 noundef %18508, ptr noundef @.str.178, ptr noundef @.str.62, i32 noundef 832, ptr noundef %18511, ptr noundef %18514, ptr noundef %18517, i32 noundef %18519) #10
  br label %18538

18521:                                            ; preds = %18499, %18492
  %18522 = load i32, ptr %379, align 4, !tbaa !5
  %18523 = call ptr @__errno_location() #11
  store i32 %18522, ptr %18523, align 4, !tbaa !5
  %18524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18525 = load i32, ptr @test_count, align 4, !tbaa !5
  %18526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18527 = load i32, ptr %18526, align 4, !tbaa !5
  %18528 = call ptr @s2n_strerror(i32 noundef %18527, ptr noundef @.str.65)
  %18529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18530 = load i32, ptr %18529, align 4, !tbaa !5
  %18531 = call ptr @s2n_strerror_debug(i32 noundef %18530, ptr noundef @.str.65)
  %18532 = call ptr @__errno_location() #11
  %18533 = load i32, ptr %18532, align 4, !tbaa !5
  %18534 = call ptr @strerror(i32 noundef %18533) #10
  %18535 = call ptr @__errno_location() #11
  %18536 = load i32, ptr %18535, align 4, !tbaa !5
  %18537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18524, ptr noundef @.str.66, i32 noundef %18525, ptr noundef @.str.178, ptr noundef @.str.62, i32 noundef 832, ptr noundef %18528, ptr noundef %18531, ptr noundef %18534, i32 noundef %18536) #10
  br label %18538

18538:                                            ; preds = %18521, %18504
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #10
  br label %18539

18539:                                            ; preds = %18538
  br label %18540

18540:                                            ; preds = %18539
  call void @exit(i32 noundef 1) #12
  unreachable

18541:                                            ; No predecessors!
  br label %18542

18542:                                            ; preds = %18541
  br label %18543

18543:                                            ; preds = %18542, %18485
  br label %18544

18544:                                            ; preds = %18543
  br label %18545

18545:                                            ; preds = %18544
  %18546 = load ptr, ptr %20, align 8, !tbaa !9
  %18547 = getelementptr inbounds %struct.s2n_config, ptr %18546, i32 0, i32 7
  %18548 = load ptr, ptr %18547, align 8, !tbaa !75
  %18549 = load ptr, ptr %378, align 8, !tbaa !9
  %18550 = getelementptr inbounds %struct.s2n_config, ptr %18549, i32 0, i32 7
  store ptr %18548, ptr %18550, align 8, !tbaa !75
  br label %18551

18551:                                            ; preds = %18545
  %18552 = load i32, ptr @test_count, align 4, !tbaa !5
  %18553 = add nsw i32 %18552, 1
  store i32 %18553, ptr @test_count, align 4, !tbaa !5
  %18554 = load ptr, ptr %378, align 8, !tbaa !9
  %18555 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %18554)
  %18556 = icmp eq i32 %18555, -1
  br i1 %18556, label %18557, label %18610

18557:                                            ; preds = %18551
  br label %18558

18558:                                            ; preds = %18557
  br label %18559

18559:                                            ; preds = %18558
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #10
  %18560 = call ptr @__errno_location() #11
  %18561 = load i32, ptr %18560, align 4, !tbaa !5
  store i32 %18561, ptr %380, align 4, !tbaa !5
  %18562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18563 = call i32 @s2n_print_stacktrace(ptr noundef %18562)
  %18564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18565 = trunc i8 %18564 to i1
  br i1 %18565, label %18566, label %18588

18566:                                            ; preds = %18559
  %18567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18568 = call i32 @fileno(ptr noundef %18567) #10
  %18569 = call i32 @isatty(i32 noundef %18568) #10
  %18570 = icmp ne i32 %18569, 0
  br i1 %18570, label %18571, label %18588

18571:                                            ; preds = %18566
  %18572 = load i32, ptr %380, align 4, !tbaa !5
  %18573 = call ptr @__errno_location() #11
  store i32 %18572, ptr %18573, align 4, !tbaa !5
  %18574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18575 = load i32, ptr @test_count, align 4, !tbaa !5
  %18576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18577 = load i32, ptr %18576, align 4, !tbaa !5
  %18578 = call ptr @s2n_strerror(i32 noundef %18577, ptr noundef @.str.65)
  %18579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18580 = load i32, ptr %18579, align 4, !tbaa !5
  %18581 = call ptr @s2n_strerror_debug(i32 noundef %18580, ptr noundef @.str.65)
  %18582 = call ptr @__errno_location() #11
  %18583 = load i32, ptr %18582, align 4, !tbaa !5
  %18584 = call ptr @strerror(i32 noundef %18583) #10
  %18585 = call ptr @__errno_location() #11
  %18586 = load i32, ptr %18585, align 4, !tbaa !5
  %18587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18574, ptr noundef @.str.63, i32 noundef %18575, ptr noundef @.str.179, ptr noundef @.str.62, i32 noundef 834, ptr noundef %18578, ptr noundef %18581, ptr noundef %18584, i32 noundef %18586) #10
  br label %18605

18588:                                            ; preds = %18566, %18559
  %18589 = load i32, ptr %380, align 4, !tbaa !5
  %18590 = call ptr @__errno_location() #11
  store i32 %18589, ptr %18590, align 4, !tbaa !5
  %18591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18592 = load i32, ptr @test_count, align 4, !tbaa !5
  %18593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18594 = load i32, ptr %18593, align 4, !tbaa !5
  %18595 = call ptr @s2n_strerror(i32 noundef %18594, ptr noundef @.str.65)
  %18596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18597 = load i32, ptr %18596, align 4, !tbaa !5
  %18598 = call ptr @s2n_strerror_debug(i32 noundef %18597, ptr noundef @.str.65)
  %18599 = call ptr @__errno_location() #11
  %18600 = load i32, ptr %18599, align 4, !tbaa !5
  %18601 = call ptr @strerror(i32 noundef %18600) #10
  %18602 = call ptr @__errno_location() #11
  %18603 = load i32, ptr %18602, align 4, !tbaa !5
  %18604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18591, ptr noundef @.str.66, i32 noundef %18592, ptr noundef @.str.179, ptr noundef @.str.62, i32 noundef 834, ptr noundef %18595, ptr noundef %18598, ptr noundef %18601, i32 noundef %18603) #10
  br label %18605

18605:                                            ; preds = %18588, %18571
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #10
  br label %18606

18606:                                            ; preds = %18605
  br label %18607

18607:                                            ; preds = %18606
  call void @exit(i32 noundef 1) #12
  unreachable

18608:                                            ; No predecessors!
  br label %18609

18609:                                            ; preds = %18608
  br label %18610

18610:                                            ; preds = %18609, %18551
  br label %18611

18611:                                            ; preds = %18610
  br label %18612

18612:                                            ; preds = %18611
  br label %18613

18613:                                            ; preds = %18612
  %18614 = load i32, ptr @test_count, align 4, !tbaa !5
  %18615 = add nsw i32 %18614, 1
  store i32 %18615, ptr @test_count, align 4, !tbaa !5
  %18616 = load ptr, ptr %378, align 8, !tbaa !9
  %18617 = load ptr, ptr %24, align 8, !tbaa !9
  %18618 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %18616, ptr noundef %18617)
  %18619 = icmp eq i32 %18618, -1
  br i1 %18619, label %18620, label %18673

18620:                                            ; preds = %18613
  br label %18621

18621:                                            ; preds = %18620
  br label %18622

18622:                                            ; preds = %18621
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #10
  %18623 = call ptr @__errno_location() #11
  %18624 = load i32, ptr %18623, align 4, !tbaa !5
  store i32 %18624, ptr %381, align 4, !tbaa !5
  %18625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18626 = call i32 @s2n_print_stacktrace(ptr noundef %18625)
  %18627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18628 = trunc i8 %18627 to i1
  br i1 %18628, label %18629, label %18651

18629:                                            ; preds = %18622
  %18630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18631 = call i32 @fileno(ptr noundef %18630) #10
  %18632 = call i32 @isatty(i32 noundef %18631) #10
  %18633 = icmp ne i32 %18632, 0
  br i1 %18633, label %18634, label %18651

18634:                                            ; preds = %18629
  %18635 = load i32, ptr %381, align 4, !tbaa !5
  %18636 = call ptr @__errno_location() #11
  store i32 %18635, ptr %18636, align 4, !tbaa !5
  %18637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18638 = load i32, ptr @test_count, align 4, !tbaa !5
  %18639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18640 = load i32, ptr %18639, align 4, !tbaa !5
  %18641 = call ptr @s2n_strerror(i32 noundef %18640, ptr noundef @.str.65)
  %18642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18643 = load i32, ptr %18642, align 4, !tbaa !5
  %18644 = call ptr @s2n_strerror_debug(i32 noundef %18643, ptr noundef @.str.65)
  %18645 = call ptr @__errno_location() #11
  %18646 = load i32, ptr %18645, align 4, !tbaa !5
  %18647 = call ptr @strerror(i32 noundef %18646) #10
  %18648 = call ptr @__errno_location() #11
  %18649 = load i32, ptr %18648, align 4, !tbaa !5
  %18650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18637, ptr noundef @.str.63, i32 noundef %18638, ptr noundef @.str.180, ptr noundef @.str.62, i32 noundef 835, ptr noundef %18641, ptr noundef %18644, ptr noundef %18647, i32 noundef %18649) #10
  br label %18668

18651:                                            ; preds = %18629, %18622
  %18652 = load i32, ptr %381, align 4, !tbaa !5
  %18653 = call ptr @__errno_location() #11
  store i32 %18652, ptr %18653, align 4, !tbaa !5
  %18654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18655 = load i32, ptr @test_count, align 4, !tbaa !5
  %18656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18657 = load i32, ptr %18656, align 4, !tbaa !5
  %18658 = call ptr @s2n_strerror(i32 noundef %18657, ptr noundef @.str.65)
  %18659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18660 = load i32, ptr %18659, align 4, !tbaa !5
  %18661 = call ptr @s2n_strerror_debug(i32 noundef %18660, ptr noundef @.str.65)
  %18662 = call ptr @__errno_location() #11
  %18663 = load i32, ptr %18662, align 4, !tbaa !5
  %18664 = call ptr @strerror(i32 noundef %18663) #10
  %18665 = call ptr @__errno_location() #11
  %18666 = load i32, ptr %18665, align 4, !tbaa !5
  %18667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18654, ptr noundef @.str.66, i32 noundef %18655, ptr noundef @.str.180, ptr noundef @.str.62, i32 noundef 835, ptr noundef %18658, ptr noundef %18661, ptr noundef %18664, i32 noundef %18666) #10
  br label %18668

18668:                                            ; preds = %18651, %18634
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #10
  br label %18669

18669:                                            ; preds = %18668
  br label %18670

18670:                                            ; preds = %18669
  call void @exit(i32 noundef 1) #12
  unreachable

18671:                                            ; No predecessors!
  br label %18672

18672:                                            ; preds = %18671
  br label %18673

18673:                                            ; preds = %18672, %18613
  br label %18674

18674:                                            ; preds = %18673
  br label %18675

18675:                                            ; preds = %18674
  br label %18676

18676:                                            ; preds = %18675
  %18677 = load i32, ptr @test_count, align 4, !tbaa !5
  %18678 = add nsw i32 %18677, 1
  store i32 %18678, ptr @test_count, align 4, !tbaa !5
  %18679 = load ptr, ptr %378, align 8, !tbaa !9
  %18680 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %18679, i8 noundef zeroext 1)
  %18681 = icmp eq i32 %18680, -1
  br i1 %18681, label %18682, label %18735

18682:                                            ; preds = %18676
  br label %18683

18683:                                            ; preds = %18682
  br label %18684

18684:                                            ; preds = %18683
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #10
  %18685 = call ptr @__errno_location() #11
  %18686 = load i32, ptr %18685, align 4, !tbaa !5
  store i32 %18686, ptr %382, align 4, !tbaa !5
  %18687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18688 = call i32 @s2n_print_stacktrace(ptr noundef %18687)
  %18689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18690 = trunc i8 %18689 to i1
  br i1 %18690, label %18691, label %18713

18691:                                            ; preds = %18684
  %18692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18693 = call i32 @fileno(ptr noundef %18692) #10
  %18694 = call i32 @isatty(i32 noundef %18693) #10
  %18695 = icmp ne i32 %18694, 0
  br i1 %18695, label %18696, label %18713

18696:                                            ; preds = %18691
  %18697 = load i32, ptr %382, align 4, !tbaa !5
  %18698 = call ptr @__errno_location() #11
  store i32 %18697, ptr %18698, align 4, !tbaa !5
  %18699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18700 = load i32, ptr @test_count, align 4, !tbaa !5
  %18701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18702 = load i32, ptr %18701, align 4, !tbaa !5
  %18703 = call ptr @s2n_strerror(i32 noundef %18702, ptr noundef @.str.65)
  %18704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18705 = load i32, ptr %18704, align 4, !tbaa !5
  %18706 = call ptr @s2n_strerror_debug(i32 noundef %18705, ptr noundef @.str.65)
  %18707 = call ptr @__errno_location() #11
  %18708 = load i32, ptr %18707, align 4, !tbaa !5
  %18709 = call ptr @strerror(i32 noundef %18708) #10
  %18710 = call ptr @__errno_location() #11
  %18711 = load i32, ptr %18710, align 4, !tbaa !5
  %18712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18699, ptr noundef @.str.63, i32 noundef %18700, ptr noundef @.str.181, ptr noundef @.str.62, i32 noundef 836, ptr noundef %18703, ptr noundef %18706, ptr noundef %18709, i32 noundef %18711) #10
  br label %18730

18713:                                            ; preds = %18691, %18684
  %18714 = load i32, ptr %382, align 4, !tbaa !5
  %18715 = call ptr @__errno_location() #11
  store i32 %18714, ptr %18715, align 4, !tbaa !5
  %18716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18717 = load i32, ptr @test_count, align 4, !tbaa !5
  %18718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18719 = load i32, ptr %18718, align 4, !tbaa !5
  %18720 = call ptr @s2n_strerror(i32 noundef %18719, ptr noundef @.str.65)
  %18721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18722 = load i32, ptr %18721, align 4, !tbaa !5
  %18723 = call ptr @s2n_strerror_debug(i32 noundef %18722, ptr noundef @.str.65)
  %18724 = call ptr @__errno_location() #11
  %18725 = load i32, ptr %18724, align 4, !tbaa !5
  %18726 = call ptr @strerror(i32 noundef %18725) #10
  %18727 = call ptr @__errno_location() #11
  %18728 = load i32, ptr %18727, align 4, !tbaa !5
  %18729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18716, ptr noundef @.str.66, i32 noundef %18717, ptr noundef @.str.181, ptr noundef @.str.62, i32 noundef 836, ptr noundef %18720, ptr noundef %18723, ptr noundef %18726, i32 noundef %18728) #10
  br label %18730

18730:                                            ; preds = %18713, %18696
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #10
  br label %18731

18731:                                            ; preds = %18730
  br label %18732

18732:                                            ; preds = %18731
  call void @exit(i32 noundef 1) #12
  unreachable

18733:                                            ; No predecessors!
  br label %18734

18734:                                            ; preds = %18733
  br label %18735

18735:                                            ; preds = %18734, %18676
  br label %18736

18736:                                            ; preds = %18735
  br label %18737

18737:                                            ; preds = %18736
  call void @llvm.lifetime.start.p0(i64 8, ptr %383) #10
  %18738 = call ptr @s2n_config_new()
  store ptr %18738, ptr %383, align 8, !tbaa !9
  br label %18739

18739:                                            ; preds = %18737
  %18740 = load i32, ptr @test_count, align 4, !tbaa !5
  %18741 = add nsw i32 %18740, 1
  store i32 %18741, ptr @test_count, align 4, !tbaa !5
  %18742 = load ptr, ptr %383, align 8, !tbaa !9
  %18743 = icmp eq ptr %18742, null
  br i1 %18743, label %18744, label %18797

18744:                                            ; preds = %18739
  br label %18745

18745:                                            ; preds = %18744
  br label %18746

18746:                                            ; preds = %18745
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #10
  %18747 = call ptr @__errno_location() #11
  %18748 = load i32, ptr %18747, align 4, !tbaa !5
  store i32 %18748, ptr %384, align 4, !tbaa !5
  %18749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18750 = call i32 @s2n_print_stacktrace(ptr noundef %18749)
  %18751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18752 = trunc i8 %18751 to i1
  br i1 %18752, label %18753, label %18775

18753:                                            ; preds = %18746
  %18754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18755 = call i32 @fileno(ptr noundef %18754) #10
  %18756 = call i32 @isatty(i32 noundef %18755) #10
  %18757 = icmp ne i32 %18756, 0
  br i1 %18757, label %18758, label %18775

18758:                                            ; preds = %18753
  %18759 = load i32, ptr %384, align 4, !tbaa !5
  %18760 = call ptr @__errno_location() #11
  store i32 %18759, ptr %18760, align 4, !tbaa !5
  %18761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18762 = load i32, ptr @test_count, align 4, !tbaa !5
  %18763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18764 = load i32, ptr %18763, align 4, !tbaa !5
  %18765 = call ptr @s2n_strerror(i32 noundef %18764, ptr noundef @.str.65)
  %18766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18767 = load i32, ptr %18766, align 4, !tbaa !5
  %18768 = call ptr @s2n_strerror_debug(i32 noundef %18767, ptr noundef @.str.65)
  %18769 = call ptr @__errno_location() #11
  %18770 = load i32, ptr %18769, align 4, !tbaa !5
  %18771 = call ptr @strerror(i32 noundef %18770) #10
  %18772 = call ptr @__errno_location() #11
  %18773 = load i32, ptr %18772, align 4, !tbaa !5
  %18774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18761, ptr noundef @.str.63, i32 noundef %18762, ptr noundef @.str.182, ptr noundef @.str.62, i32 noundef 839, ptr noundef %18765, ptr noundef %18768, ptr noundef %18771, i32 noundef %18773) #10
  br label %18792

18775:                                            ; preds = %18753, %18746
  %18776 = load i32, ptr %384, align 4, !tbaa !5
  %18777 = call ptr @__errno_location() #11
  store i32 %18776, ptr %18777, align 4, !tbaa !5
  %18778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18779 = load i32, ptr @test_count, align 4, !tbaa !5
  %18780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18781 = load i32, ptr %18780, align 4, !tbaa !5
  %18782 = call ptr @s2n_strerror(i32 noundef %18781, ptr noundef @.str.65)
  %18783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18784 = load i32, ptr %18783, align 4, !tbaa !5
  %18785 = call ptr @s2n_strerror_debug(i32 noundef %18784, ptr noundef @.str.65)
  %18786 = call ptr @__errno_location() #11
  %18787 = load i32, ptr %18786, align 4, !tbaa !5
  %18788 = call ptr @strerror(i32 noundef %18787) #10
  %18789 = call ptr @__errno_location() #11
  %18790 = load i32, ptr %18789, align 4, !tbaa !5
  %18791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18778, ptr noundef @.str.66, i32 noundef %18779, ptr noundef @.str.182, ptr noundef @.str.62, i32 noundef 839, ptr noundef %18782, ptr noundef %18785, ptr noundef %18788, i32 noundef %18790) #10
  br label %18792

18792:                                            ; preds = %18775, %18758
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #10
  br label %18793

18793:                                            ; preds = %18792
  br label %18794

18794:                                            ; preds = %18793
  call void @exit(i32 noundef 1) #12
  unreachable

18795:                                            ; No predecessors!
  br label %18796

18796:                                            ; preds = %18795
  br label %18797

18797:                                            ; preds = %18796, %18739
  br label %18798

18798:                                            ; preds = %18797
  br label %18799

18799:                                            ; preds = %18798
  %18800 = load ptr, ptr %20, align 8, !tbaa !9
  %18801 = getelementptr inbounds %struct.s2n_config, ptr %18800, i32 0, i32 7
  %18802 = load ptr, ptr %18801, align 8, !tbaa !75
  %18803 = load ptr, ptr %383, align 8, !tbaa !9
  %18804 = getelementptr inbounds %struct.s2n_config, ptr %18803, i32 0, i32 7
  store ptr %18802, ptr %18804, align 8, !tbaa !75
  br label %18805

18805:                                            ; preds = %18799
  %18806 = load i32, ptr @test_count, align 4, !tbaa !5
  %18807 = add nsw i32 %18806, 1
  store i32 %18807, ptr @test_count, align 4, !tbaa !5
  %18808 = load ptr, ptr %383, align 8, !tbaa !9
  %18809 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %18808)
  %18810 = icmp eq i32 %18809, -1
  br i1 %18810, label %18811, label %18864

18811:                                            ; preds = %18805
  br label %18812

18812:                                            ; preds = %18811
  br label %18813

18813:                                            ; preds = %18812
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #10
  %18814 = call ptr @__errno_location() #11
  %18815 = load i32, ptr %18814, align 4, !tbaa !5
  store i32 %18815, ptr %385, align 4, !tbaa !5
  %18816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18817 = call i32 @s2n_print_stacktrace(ptr noundef %18816)
  %18818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18819 = trunc i8 %18818 to i1
  br i1 %18819, label %18820, label %18842

18820:                                            ; preds = %18813
  %18821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18822 = call i32 @fileno(ptr noundef %18821) #10
  %18823 = call i32 @isatty(i32 noundef %18822) #10
  %18824 = icmp ne i32 %18823, 0
  br i1 %18824, label %18825, label %18842

18825:                                            ; preds = %18820
  %18826 = load i32, ptr %385, align 4, !tbaa !5
  %18827 = call ptr @__errno_location() #11
  store i32 %18826, ptr %18827, align 4, !tbaa !5
  %18828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18829 = load i32, ptr @test_count, align 4, !tbaa !5
  %18830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18831 = load i32, ptr %18830, align 4, !tbaa !5
  %18832 = call ptr @s2n_strerror(i32 noundef %18831, ptr noundef @.str.65)
  %18833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18834 = load i32, ptr %18833, align 4, !tbaa !5
  %18835 = call ptr @s2n_strerror_debug(i32 noundef %18834, ptr noundef @.str.65)
  %18836 = call ptr @__errno_location() #11
  %18837 = load i32, ptr %18836, align 4, !tbaa !5
  %18838 = call ptr @strerror(i32 noundef %18837) #10
  %18839 = call ptr @__errno_location() #11
  %18840 = load i32, ptr %18839, align 4, !tbaa !5
  %18841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18828, ptr noundef @.str.63, i32 noundef %18829, ptr noundef @.str.183, ptr noundef @.str.62, i32 noundef 841, ptr noundef %18832, ptr noundef %18835, ptr noundef %18838, i32 noundef %18840) #10
  br label %18859

18842:                                            ; preds = %18820, %18813
  %18843 = load i32, ptr %385, align 4, !tbaa !5
  %18844 = call ptr @__errno_location() #11
  store i32 %18843, ptr %18844, align 4, !tbaa !5
  %18845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18846 = load i32, ptr @test_count, align 4, !tbaa !5
  %18847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18848 = load i32, ptr %18847, align 4, !tbaa !5
  %18849 = call ptr @s2n_strerror(i32 noundef %18848, ptr noundef @.str.65)
  %18850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18851 = load i32, ptr %18850, align 4, !tbaa !5
  %18852 = call ptr @s2n_strerror_debug(i32 noundef %18851, ptr noundef @.str.65)
  %18853 = call ptr @__errno_location() #11
  %18854 = load i32, ptr %18853, align 4, !tbaa !5
  %18855 = call ptr @strerror(i32 noundef %18854) #10
  %18856 = call ptr @__errno_location() #11
  %18857 = load i32, ptr %18856, align 4, !tbaa !5
  %18858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18845, ptr noundef @.str.66, i32 noundef %18846, ptr noundef @.str.183, ptr noundef @.str.62, i32 noundef 841, ptr noundef %18849, ptr noundef %18852, ptr noundef %18855, i32 noundef %18857) #10
  br label %18859

18859:                                            ; preds = %18842, %18825
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #10
  br label %18860

18860:                                            ; preds = %18859
  br label %18861

18861:                                            ; preds = %18860
  call void @exit(i32 noundef 1) #12
  unreachable

18862:                                            ; No predecessors!
  br label %18863

18863:                                            ; preds = %18862
  br label %18864

18864:                                            ; preds = %18863, %18805
  br label %18865

18865:                                            ; preds = %18864
  br label %18866

18866:                                            ; preds = %18865
  br label %18867

18867:                                            ; preds = %18866
  %18868 = load i32, ptr @test_count, align 4, !tbaa !5
  %18869 = add nsw i32 %18868, 1
  store i32 %18869, ptr @test_count, align 4, !tbaa !5
  %18870 = load ptr, ptr %383, align 8, !tbaa !9
  %18871 = load ptr, ptr %24, align 8, !tbaa !9
  %18872 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %18870, ptr noundef %18871)
  %18873 = icmp eq i32 %18872, -1
  br i1 %18873, label %18874, label %18927

18874:                                            ; preds = %18867
  br label %18875

18875:                                            ; preds = %18874
  br label %18876

18876:                                            ; preds = %18875
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #10
  %18877 = call ptr @__errno_location() #11
  %18878 = load i32, ptr %18877, align 4, !tbaa !5
  store i32 %18878, ptr %386, align 4, !tbaa !5
  %18879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18880 = call i32 @s2n_print_stacktrace(ptr noundef %18879)
  %18881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18882 = trunc i8 %18881 to i1
  br i1 %18882, label %18883, label %18905

18883:                                            ; preds = %18876
  %18884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18885 = call i32 @fileno(ptr noundef %18884) #10
  %18886 = call i32 @isatty(i32 noundef %18885) #10
  %18887 = icmp ne i32 %18886, 0
  br i1 %18887, label %18888, label %18905

18888:                                            ; preds = %18883
  %18889 = load i32, ptr %386, align 4, !tbaa !5
  %18890 = call ptr @__errno_location() #11
  store i32 %18889, ptr %18890, align 4, !tbaa !5
  %18891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18892 = load i32, ptr @test_count, align 4, !tbaa !5
  %18893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18894 = load i32, ptr %18893, align 4, !tbaa !5
  %18895 = call ptr @s2n_strerror(i32 noundef %18894, ptr noundef @.str.65)
  %18896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18897 = load i32, ptr %18896, align 4, !tbaa !5
  %18898 = call ptr @s2n_strerror_debug(i32 noundef %18897, ptr noundef @.str.65)
  %18899 = call ptr @__errno_location() #11
  %18900 = load i32, ptr %18899, align 4, !tbaa !5
  %18901 = call ptr @strerror(i32 noundef %18900) #10
  %18902 = call ptr @__errno_location() #11
  %18903 = load i32, ptr %18902, align 4, !tbaa !5
  %18904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18891, ptr noundef @.str.63, i32 noundef %18892, ptr noundef @.str.184, ptr noundef @.str.62, i32 noundef 842, ptr noundef %18895, ptr noundef %18898, ptr noundef %18901, i32 noundef %18903) #10
  br label %18922

18905:                                            ; preds = %18883, %18876
  %18906 = load i32, ptr %386, align 4, !tbaa !5
  %18907 = call ptr @__errno_location() #11
  store i32 %18906, ptr %18907, align 4, !tbaa !5
  %18908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18909 = load i32, ptr @test_count, align 4, !tbaa !5
  %18910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18911 = load i32, ptr %18910, align 4, !tbaa !5
  %18912 = call ptr @s2n_strerror(i32 noundef %18911, ptr noundef @.str.65)
  %18913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18914 = load i32, ptr %18913, align 4, !tbaa !5
  %18915 = call ptr @s2n_strerror_debug(i32 noundef %18914, ptr noundef @.str.65)
  %18916 = call ptr @__errno_location() #11
  %18917 = load i32, ptr %18916, align 4, !tbaa !5
  %18918 = call ptr @strerror(i32 noundef %18917) #10
  %18919 = call ptr @__errno_location() #11
  %18920 = load i32, ptr %18919, align 4, !tbaa !5
  %18921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18908, ptr noundef @.str.66, i32 noundef %18909, ptr noundef @.str.184, ptr noundef @.str.62, i32 noundef 842, ptr noundef %18912, ptr noundef %18915, ptr noundef %18918, i32 noundef %18920) #10
  br label %18922

18922:                                            ; preds = %18905, %18888
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #10
  br label %18923

18923:                                            ; preds = %18922
  br label %18924

18924:                                            ; preds = %18923
  call void @exit(i32 noundef 1) #12
  unreachable

18925:                                            ; No predecessors!
  br label %18926

18926:                                            ; preds = %18925
  br label %18927

18927:                                            ; preds = %18926, %18867
  br label %18928

18928:                                            ; preds = %18927
  br label %18929

18929:                                            ; preds = %18928
  br label %18930

18930:                                            ; preds = %18929
  %18931 = load i32, ptr @test_count, align 4, !tbaa !5
  %18932 = add nsw i32 %18931, 1
  store i32 %18932, ptr @test_count, align 4, !tbaa !5
  %18933 = load ptr, ptr %383, align 8, !tbaa !9
  %18934 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %18933, i8 noundef zeroext 1)
  %18935 = icmp eq i32 %18934, -1
  br i1 %18935, label %18936, label %18989

18936:                                            ; preds = %18930
  br label %18937

18937:                                            ; preds = %18936
  br label %18938

18938:                                            ; preds = %18937
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #10
  %18939 = call ptr @__errno_location() #11
  %18940 = load i32, ptr %18939, align 4, !tbaa !5
  store i32 %18940, ptr %387, align 4, !tbaa !5
  %18941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18942 = call i32 @s2n_print_stacktrace(ptr noundef %18941)
  %18943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18944 = trunc i8 %18943 to i1
  br i1 %18944, label %18945, label %18967

18945:                                            ; preds = %18938
  %18946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18947 = call i32 @fileno(ptr noundef %18946) #10
  %18948 = call i32 @isatty(i32 noundef %18947) #10
  %18949 = icmp ne i32 %18948, 0
  br i1 %18949, label %18950, label %18967

18950:                                            ; preds = %18945
  %18951 = load i32, ptr %387, align 4, !tbaa !5
  %18952 = call ptr @__errno_location() #11
  store i32 %18951, ptr %18952, align 4, !tbaa !5
  %18953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18954 = load i32, ptr @test_count, align 4, !tbaa !5
  %18955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18956 = load i32, ptr %18955, align 4, !tbaa !5
  %18957 = call ptr @s2n_strerror(i32 noundef %18956, ptr noundef @.str.65)
  %18958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18959 = load i32, ptr %18958, align 4, !tbaa !5
  %18960 = call ptr @s2n_strerror_debug(i32 noundef %18959, ptr noundef @.str.65)
  %18961 = call ptr @__errno_location() #11
  %18962 = load i32, ptr %18961, align 4, !tbaa !5
  %18963 = call ptr @strerror(i32 noundef %18962) #10
  %18964 = call ptr @__errno_location() #11
  %18965 = load i32, ptr %18964, align 4, !tbaa !5
  %18966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18953, ptr noundef @.str.63, i32 noundef %18954, ptr noundef @.str.185, ptr noundef @.str.62, i32 noundef 843, ptr noundef %18957, ptr noundef %18960, ptr noundef %18963, i32 noundef %18965) #10
  br label %18984

18967:                                            ; preds = %18945, %18938
  %18968 = load i32, ptr %387, align 4, !tbaa !5
  %18969 = call ptr @__errno_location() #11
  store i32 %18968, ptr %18969, align 4, !tbaa !5
  %18970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18971 = load i32, ptr @test_count, align 4, !tbaa !5
  %18972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18973 = load i32, ptr %18972, align 4, !tbaa !5
  %18974 = call ptr @s2n_strerror(i32 noundef %18973, ptr noundef @.str.65)
  %18975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18976 = load i32, ptr %18975, align 4, !tbaa !5
  %18977 = call ptr @s2n_strerror_debug(i32 noundef %18976, ptr noundef @.str.65)
  %18978 = call ptr @__errno_location() #11
  %18979 = load i32, ptr %18978, align 4, !tbaa !5
  %18980 = call ptr @strerror(i32 noundef %18979) #10
  %18981 = call ptr @__errno_location() #11
  %18982 = load i32, ptr %18981, align 4, !tbaa !5
  %18983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18970, ptr noundef @.str.66, i32 noundef %18971, ptr noundef @.str.185, ptr noundef @.str.62, i32 noundef 843, ptr noundef %18974, ptr noundef %18977, ptr noundef %18980, i32 noundef %18982) #10
  br label %18984

18984:                                            ; preds = %18967, %18950
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #10
  br label %18985

18985:                                            ; preds = %18984
  br label %18986

18986:                                            ; preds = %18985
  call void @exit(i32 noundef 1) #12
  unreachable

18987:                                            ; No predecessors!
  br label %18988

18988:                                            ; preds = %18987
  br label %18989

18989:                                            ; preds = %18988, %18930
  br label %18990

18990:                                            ; preds = %18989
  br label %18991

18991:                                            ; preds = %18990
  br label %18992

18992:                                            ; preds = %18991
  %18993 = load i32, ptr @test_count, align 4, !tbaa !5
  %18994 = add nsw i32 %18993, 1
  store i32 %18994, ptr @test_count, align 4, !tbaa !5
  %18995 = load ptr, ptr %383, align 8, !tbaa !9
  %18996 = call i32 @s2n_config_set_cache_store_callback(ptr noundef %18995, ptr noundef @s2n_cache_store_cb, ptr noundef null)
  %18997 = icmp eq i32 %18996, -1
  br i1 %18997, label %18998, label %19051

18998:                                            ; preds = %18992
  br label %18999

18999:                                            ; preds = %18998
  br label %19000

19000:                                            ; preds = %18999
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #10
  %19001 = call ptr @__errno_location() #11
  %19002 = load i32, ptr %19001, align 4, !tbaa !5
  store i32 %19002, ptr %388, align 4, !tbaa !5
  %19003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19004 = call i32 @s2n_print_stacktrace(ptr noundef %19003)
  %19005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19006 = trunc i8 %19005 to i1
  br i1 %19006, label %19007, label %19029

19007:                                            ; preds = %19000
  %19008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19009 = call i32 @fileno(ptr noundef %19008) #10
  %19010 = call i32 @isatty(i32 noundef %19009) #10
  %19011 = icmp ne i32 %19010, 0
  br i1 %19011, label %19012, label %19029

19012:                                            ; preds = %19007
  %19013 = load i32, ptr %388, align 4, !tbaa !5
  %19014 = call ptr @__errno_location() #11
  store i32 %19013, ptr %19014, align 4, !tbaa !5
  %19015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19016 = load i32, ptr @test_count, align 4, !tbaa !5
  %19017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19018 = load i32, ptr %19017, align 4, !tbaa !5
  %19019 = call ptr @s2n_strerror(i32 noundef %19018, ptr noundef @.str.65)
  %19020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19021 = load i32, ptr %19020, align 4, !tbaa !5
  %19022 = call ptr @s2n_strerror_debug(i32 noundef %19021, ptr noundef @.str.65)
  %19023 = call ptr @__errno_location() #11
  %19024 = load i32, ptr %19023, align 4, !tbaa !5
  %19025 = call ptr @strerror(i32 noundef %19024) #10
  %19026 = call ptr @__errno_location() #11
  %19027 = load i32, ptr %19026, align 4, !tbaa !5
  %19028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19015, ptr noundef @.str.63, i32 noundef %19016, ptr noundef @.str.186, ptr noundef @.str.62, i32 noundef 844, ptr noundef %19019, ptr noundef %19022, ptr noundef %19025, i32 noundef %19027) #10
  br label %19046

19029:                                            ; preds = %19007, %19000
  %19030 = load i32, ptr %388, align 4, !tbaa !5
  %19031 = call ptr @__errno_location() #11
  store i32 %19030, ptr %19031, align 4, !tbaa !5
  %19032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19033 = load i32, ptr @test_count, align 4, !tbaa !5
  %19034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19035 = load i32, ptr %19034, align 4, !tbaa !5
  %19036 = call ptr @s2n_strerror(i32 noundef %19035, ptr noundef @.str.65)
  %19037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19038 = load i32, ptr %19037, align 4, !tbaa !5
  %19039 = call ptr @s2n_strerror_debug(i32 noundef %19038, ptr noundef @.str.65)
  %19040 = call ptr @__errno_location() #11
  %19041 = load i32, ptr %19040, align 4, !tbaa !5
  %19042 = call ptr @strerror(i32 noundef %19041) #10
  %19043 = call ptr @__errno_location() #11
  %19044 = load i32, ptr %19043, align 4, !tbaa !5
  %19045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19032, ptr noundef @.str.66, i32 noundef %19033, ptr noundef @.str.186, ptr noundef @.str.62, i32 noundef 844, ptr noundef %19036, ptr noundef %19039, ptr noundef %19042, i32 noundef %19044) #10
  br label %19046

19046:                                            ; preds = %19029, %19012
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #10
  br label %19047

19047:                                            ; preds = %19046
  br label %19048

19048:                                            ; preds = %19047
  call void @exit(i32 noundef 1) #12
  unreachable

19049:                                            ; No predecessors!
  br label %19050

19050:                                            ; preds = %19049
  br label %19051

19051:                                            ; preds = %19050, %18992
  br label %19052

19052:                                            ; preds = %19051
  br label %19053

19053:                                            ; preds = %19052
  br label %19054

19054:                                            ; preds = %19053
  %19055 = load i32, ptr @test_count, align 4, !tbaa !5
  %19056 = add nsw i32 %19055, 1
  store i32 %19056, ptr @test_count, align 4, !tbaa !5
  %19057 = load ptr, ptr %383, align 8, !tbaa !9
  %19058 = call i32 @s2n_config_set_cache_retrieve_callback(ptr noundef %19057, ptr noundef @s2n_cache_retrieve_cb, ptr noundef null)
  %19059 = icmp eq i32 %19058, -1
  br i1 %19059, label %19060, label %19113

19060:                                            ; preds = %19054
  br label %19061

19061:                                            ; preds = %19060
  br label %19062

19062:                                            ; preds = %19061
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #10
  %19063 = call ptr @__errno_location() #11
  %19064 = load i32, ptr %19063, align 4, !tbaa !5
  store i32 %19064, ptr %389, align 4, !tbaa !5
  %19065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19066 = call i32 @s2n_print_stacktrace(ptr noundef %19065)
  %19067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19068 = trunc i8 %19067 to i1
  br i1 %19068, label %19069, label %19091

19069:                                            ; preds = %19062
  %19070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19071 = call i32 @fileno(ptr noundef %19070) #10
  %19072 = call i32 @isatty(i32 noundef %19071) #10
  %19073 = icmp ne i32 %19072, 0
  br i1 %19073, label %19074, label %19091

19074:                                            ; preds = %19069
  %19075 = load i32, ptr %389, align 4, !tbaa !5
  %19076 = call ptr @__errno_location() #11
  store i32 %19075, ptr %19076, align 4, !tbaa !5
  %19077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19078 = load i32, ptr @test_count, align 4, !tbaa !5
  %19079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19080 = load i32, ptr %19079, align 4, !tbaa !5
  %19081 = call ptr @s2n_strerror(i32 noundef %19080, ptr noundef @.str.65)
  %19082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19083 = load i32, ptr %19082, align 4, !tbaa !5
  %19084 = call ptr @s2n_strerror_debug(i32 noundef %19083, ptr noundef @.str.65)
  %19085 = call ptr @__errno_location() #11
  %19086 = load i32, ptr %19085, align 4, !tbaa !5
  %19087 = call ptr @strerror(i32 noundef %19086) #10
  %19088 = call ptr @__errno_location() #11
  %19089 = load i32, ptr %19088, align 4, !tbaa !5
  %19090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19077, ptr noundef @.str.63, i32 noundef %19078, ptr noundef @.str.187, ptr noundef @.str.62, i32 noundef 845, ptr noundef %19081, ptr noundef %19084, ptr noundef %19087, i32 noundef %19089) #10
  br label %19108

19091:                                            ; preds = %19069, %19062
  %19092 = load i32, ptr %389, align 4, !tbaa !5
  %19093 = call ptr @__errno_location() #11
  store i32 %19092, ptr %19093, align 4, !tbaa !5
  %19094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19095 = load i32, ptr @test_count, align 4, !tbaa !5
  %19096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19097 = load i32, ptr %19096, align 4, !tbaa !5
  %19098 = call ptr @s2n_strerror(i32 noundef %19097, ptr noundef @.str.65)
  %19099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19100 = load i32, ptr %19099, align 4, !tbaa !5
  %19101 = call ptr @s2n_strerror_debug(i32 noundef %19100, ptr noundef @.str.65)
  %19102 = call ptr @__errno_location() #11
  %19103 = load i32, ptr %19102, align 4, !tbaa !5
  %19104 = call ptr @strerror(i32 noundef %19103) #10
  %19105 = call ptr @__errno_location() #11
  %19106 = load i32, ptr %19105, align 4, !tbaa !5
  %19107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19094, ptr noundef @.str.66, i32 noundef %19095, ptr noundef @.str.187, ptr noundef @.str.62, i32 noundef 845, ptr noundef %19098, ptr noundef %19101, ptr noundef %19104, i32 noundef %19106) #10
  br label %19108

19108:                                            ; preds = %19091, %19074
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #10
  br label %19109

19109:                                            ; preds = %19108
  br label %19110

19110:                                            ; preds = %19109
  call void @exit(i32 noundef 1) #12
  unreachable

19111:                                            ; No predecessors!
  br label %19112

19112:                                            ; preds = %19111
  br label %19113

19113:                                            ; preds = %19112, %19054
  br label %19114

19114:                                            ; preds = %19113
  br label %19115

19115:                                            ; preds = %19114
  br label %19116

19116:                                            ; preds = %19115
  %19117 = load i32, ptr @test_count, align 4, !tbaa !5
  %19118 = add nsw i32 %19117, 1
  store i32 %19118, ptr @test_count, align 4, !tbaa !5
  %19119 = load ptr, ptr %383, align 8, !tbaa !9
  %19120 = call i32 @s2n_config_set_cache_delete_callback(ptr noundef %19119, ptr noundef @s2n_cache_delete_cb, ptr noundef null)
  %19121 = icmp eq i32 %19120, -1
  br i1 %19121, label %19122, label %19175

19122:                                            ; preds = %19116
  br label %19123

19123:                                            ; preds = %19122
  br label %19124

19124:                                            ; preds = %19123
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #10
  %19125 = call ptr @__errno_location() #11
  %19126 = load i32, ptr %19125, align 4, !tbaa !5
  store i32 %19126, ptr %390, align 4, !tbaa !5
  %19127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19128 = call i32 @s2n_print_stacktrace(ptr noundef %19127)
  %19129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19130 = trunc i8 %19129 to i1
  br i1 %19130, label %19131, label %19153

19131:                                            ; preds = %19124
  %19132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19133 = call i32 @fileno(ptr noundef %19132) #10
  %19134 = call i32 @isatty(i32 noundef %19133) #10
  %19135 = icmp ne i32 %19134, 0
  br i1 %19135, label %19136, label %19153

19136:                                            ; preds = %19131
  %19137 = load i32, ptr %390, align 4, !tbaa !5
  %19138 = call ptr @__errno_location() #11
  store i32 %19137, ptr %19138, align 4, !tbaa !5
  %19139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19140 = load i32, ptr @test_count, align 4, !tbaa !5
  %19141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19142 = load i32, ptr %19141, align 4, !tbaa !5
  %19143 = call ptr @s2n_strerror(i32 noundef %19142, ptr noundef @.str.65)
  %19144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19145 = load i32, ptr %19144, align 4, !tbaa !5
  %19146 = call ptr @s2n_strerror_debug(i32 noundef %19145, ptr noundef @.str.65)
  %19147 = call ptr @__errno_location() #11
  %19148 = load i32, ptr %19147, align 4, !tbaa !5
  %19149 = call ptr @strerror(i32 noundef %19148) #10
  %19150 = call ptr @__errno_location() #11
  %19151 = load i32, ptr %19150, align 4, !tbaa !5
  %19152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19139, ptr noundef @.str.63, i32 noundef %19140, ptr noundef @.str.188, ptr noundef @.str.62, i32 noundef 846, ptr noundef %19143, ptr noundef %19146, ptr noundef %19149, i32 noundef %19151) #10
  br label %19170

19153:                                            ; preds = %19131, %19124
  %19154 = load i32, ptr %390, align 4, !tbaa !5
  %19155 = call ptr @__errno_location() #11
  store i32 %19154, ptr %19155, align 4, !tbaa !5
  %19156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19157 = load i32, ptr @test_count, align 4, !tbaa !5
  %19158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19159 = load i32, ptr %19158, align 4, !tbaa !5
  %19160 = call ptr @s2n_strerror(i32 noundef %19159, ptr noundef @.str.65)
  %19161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19162 = load i32, ptr %19161, align 4, !tbaa !5
  %19163 = call ptr @s2n_strerror_debug(i32 noundef %19162, ptr noundef @.str.65)
  %19164 = call ptr @__errno_location() #11
  %19165 = load i32, ptr %19164, align 4, !tbaa !5
  %19166 = call ptr @strerror(i32 noundef %19165) #10
  %19167 = call ptr @__errno_location() #11
  %19168 = load i32, ptr %19167, align 4, !tbaa !5
  %19169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19156, ptr noundef @.str.66, i32 noundef %19157, ptr noundef @.str.188, ptr noundef @.str.62, i32 noundef 846, ptr noundef %19160, ptr noundef %19163, ptr noundef %19166, i32 noundef %19168) #10
  br label %19170

19170:                                            ; preds = %19153, %19136
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #10
  br label %19171

19171:                                            ; preds = %19170
  br label %19172

19172:                                            ; preds = %19171
  call void @exit(i32 noundef 1) #12
  unreachable

19173:                                            ; No predecessors!
  br label %19174

19174:                                            ; preds = %19173
  br label %19175

19175:                                            ; preds = %19174, %19116
  br label %19176

19176:                                            ; preds = %19175
  br label %19177

19177:                                            ; preds = %19176
  br label %19178

19178:                                            ; preds = %19177
  %19179 = load i32, ptr @test_count, align 4, !tbaa !5
  %19180 = add nsw i32 %19179, 1
  store i32 %19180, ptr @test_count, align 4, !tbaa !5
  %19181 = load ptr, ptr %383, align 8, !tbaa !9
  %19182 = call i32 @s2n_config_set_session_cache_onoff(ptr noundef %19181, i8 noundef zeroext 1)
  %19183 = icmp eq i32 %19182, -1
  br i1 %19183, label %19184, label %19237

19184:                                            ; preds = %19178
  br label %19185

19185:                                            ; preds = %19184
  br label %19186

19186:                                            ; preds = %19185
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #10
  %19187 = call ptr @__errno_location() #11
  %19188 = load i32, ptr %19187, align 4, !tbaa !5
  store i32 %19188, ptr %391, align 4, !tbaa !5
  %19189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19190 = call i32 @s2n_print_stacktrace(ptr noundef %19189)
  %19191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19192 = trunc i8 %19191 to i1
  br i1 %19192, label %19193, label %19215

19193:                                            ; preds = %19186
  %19194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19195 = call i32 @fileno(ptr noundef %19194) #10
  %19196 = call i32 @isatty(i32 noundef %19195) #10
  %19197 = icmp ne i32 %19196, 0
  br i1 %19197, label %19198, label %19215

19198:                                            ; preds = %19193
  %19199 = load i32, ptr %391, align 4, !tbaa !5
  %19200 = call ptr @__errno_location() #11
  store i32 %19199, ptr %19200, align 4, !tbaa !5
  %19201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19202 = load i32, ptr @test_count, align 4, !tbaa !5
  %19203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19204 = load i32, ptr %19203, align 4, !tbaa !5
  %19205 = call ptr @s2n_strerror(i32 noundef %19204, ptr noundef @.str.65)
  %19206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19207 = load i32, ptr %19206, align 4, !tbaa !5
  %19208 = call ptr @s2n_strerror_debug(i32 noundef %19207, ptr noundef @.str.65)
  %19209 = call ptr @__errno_location() #11
  %19210 = load i32, ptr %19209, align 4, !tbaa !5
  %19211 = call ptr @strerror(i32 noundef %19210) #10
  %19212 = call ptr @__errno_location() #11
  %19213 = load i32, ptr %19212, align 4, !tbaa !5
  %19214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19201, ptr noundef @.str.63, i32 noundef %19202, ptr noundef @.str.189, ptr noundef @.str.62, i32 noundef 847, ptr noundef %19205, ptr noundef %19208, ptr noundef %19211, i32 noundef %19213) #10
  br label %19232

19215:                                            ; preds = %19193, %19186
  %19216 = load i32, ptr %391, align 4, !tbaa !5
  %19217 = call ptr @__errno_location() #11
  store i32 %19216, ptr %19217, align 4, !tbaa !5
  %19218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19219 = load i32, ptr @test_count, align 4, !tbaa !5
  %19220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19221 = load i32, ptr %19220, align 4, !tbaa !5
  %19222 = call ptr @s2n_strerror(i32 noundef %19221, ptr noundef @.str.65)
  %19223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19224 = load i32, ptr %19223, align 4, !tbaa !5
  %19225 = call ptr @s2n_strerror_debug(i32 noundef %19224, ptr noundef @.str.65)
  %19226 = call ptr @__errno_location() #11
  %19227 = load i32, ptr %19226, align 4, !tbaa !5
  %19228 = call ptr @strerror(i32 noundef %19227) #10
  %19229 = call ptr @__errno_location() #11
  %19230 = load i32, ptr %19229, align 4, !tbaa !5
  %19231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19218, ptr noundef @.str.66, i32 noundef %19219, ptr noundef @.str.189, ptr noundef @.str.62, i32 noundef 847, ptr noundef %19222, ptr noundef %19225, ptr noundef %19228, i32 noundef %19230) #10
  br label %19232

19232:                                            ; preds = %19215, %19198
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #10
  br label %19233

19233:                                            ; preds = %19232
  br label %19234

19234:                                            ; preds = %19233
  call void @exit(i32 noundef 1) #12
  unreachable

19235:                                            ; No predecessors!
  br label %19236

19236:                                            ; preds = %19235
  br label %19237

19237:                                            ; preds = %19236, %19178
  br label %19238

19238:                                            ; preds = %19237
  br label %19239

19239:                                            ; preds = %19238
  br label %19240

19240:                                            ; preds = %19239
  %19241 = load i32, ptr @test_count, align 4, !tbaa !5
  %19242 = add nsw i32 %19241, 1
  store i32 %19242, ptr @test_count, align 4, !tbaa !5
  %19243 = load ptr, ptr %383, align 8, !tbaa !9
  %19244 = load i32, ptr %19243, align 8
  %19245 = lshr i32 %19244, 3
  %19246 = and i32 %19245, 1
  %19247 = icmp ne i32 %19246, 0
  br i1 %19247, label %19301, label %19248

19248:                                            ; preds = %19240
  br label %19249

19249:                                            ; preds = %19248
  br label %19250

19250:                                            ; preds = %19249
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #10
  %19251 = call ptr @__errno_location() #11
  %19252 = load i32, ptr %19251, align 4, !tbaa !5
  store i32 %19252, ptr %392, align 4, !tbaa !5
  %19253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19254 = call i32 @s2n_print_stacktrace(ptr noundef %19253)
  %19255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19256 = trunc i8 %19255 to i1
  br i1 %19256, label %19257, label %19279

19257:                                            ; preds = %19250
  %19258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19259 = call i32 @fileno(ptr noundef %19258) #10
  %19260 = call i32 @isatty(i32 noundef %19259) #10
  %19261 = icmp ne i32 %19260, 0
  br i1 %19261, label %19262, label %19279

19262:                                            ; preds = %19257
  %19263 = load i32, ptr %392, align 4, !tbaa !5
  %19264 = call ptr @__errno_location() #11
  store i32 %19263, ptr %19264, align 4, !tbaa !5
  %19265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19266 = load i32, ptr @test_count, align 4, !tbaa !5
  %19267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19268 = load i32, ptr %19267, align 4, !tbaa !5
  %19269 = call ptr @s2n_strerror(i32 noundef %19268, ptr noundef @.str.65)
  %19270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19271 = load i32, ptr %19270, align 4, !tbaa !5
  %19272 = call ptr @s2n_strerror_debug(i32 noundef %19271, ptr noundef @.str.65)
  %19273 = call ptr @__errno_location() #11
  %19274 = load i32, ptr %19273, align 4, !tbaa !5
  %19275 = call ptr @strerror(i32 noundef %19274) #10
  %19276 = call ptr @__errno_location() #11
  %19277 = load i32, ptr %19276, align 4, !tbaa !5
  %19278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19265, ptr noundef @.str.63, i32 noundef %19266, ptr noundef @.str.190, ptr noundef @.str.62, i32 noundef 848, ptr noundef %19269, ptr noundef %19272, ptr noundef %19275, i32 noundef %19277) #10
  br label %19296

19279:                                            ; preds = %19257, %19250
  %19280 = load i32, ptr %392, align 4, !tbaa !5
  %19281 = call ptr @__errno_location() #11
  store i32 %19280, ptr %19281, align 4, !tbaa !5
  %19282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19283 = load i32, ptr @test_count, align 4, !tbaa !5
  %19284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19285 = load i32, ptr %19284, align 4, !tbaa !5
  %19286 = call ptr @s2n_strerror(i32 noundef %19285, ptr noundef @.str.65)
  %19287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19288 = load i32, ptr %19287, align 4, !tbaa !5
  %19289 = call ptr @s2n_strerror_debug(i32 noundef %19288, ptr noundef @.str.65)
  %19290 = call ptr @__errno_location() #11
  %19291 = load i32, ptr %19290, align 4, !tbaa !5
  %19292 = call ptr @strerror(i32 noundef %19291) #10
  %19293 = call ptr @__errno_location() #11
  %19294 = load i32, ptr %19293, align 4, !tbaa !5
  %19295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19282, ptr noundef @.str.66, i32 noundef %19283, ptr noundef @.str.190, ptr noundef @.str.62, i32 noundef 848, ptr noundef %19286, ptr noundef %19289, ptr noundef %19292, i32 noundef %19294) #10
  br label %19296

19296:                                            ; preds = %19279, %19262
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #10
  br label %19297

19297:                                            ; preds = %19296
  br label %19298

19298:                                            ; preds = %19297
  call void @exit(i32 noundef 1) #12
  unreachable

19299:                                            ; No predecessors!
  br label %19300

19300:                                            ; preds = %19299
  br label %19301

19301:                                            ; preds = %19300, %19240
  br label %19302

19302:                                            ; preds = %19301
  br label %19303

19303:                                            ; preds = %19302
  call void @llvm.lifetime.start.p0(i64 40, ptr %393) #10
  call void @llvm.memset.p0.i64(ptr align 8 %393, i8 0, i64 40, i1 false)
  br label %19304

19304:                                            ; preds = %19303
  %19305 = load i32, ptr @test_count, align 4, !tbaa !5
  %19306 = add nsw i32 %19305, 1
  store i32 %19306, ptr @test_count, align 4, !tbaa !5
  %19307 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %393, i32 noundef 0)
  %19308 = icmp eq i32 %19307, -1
  br i1 %19308, label %19309, label %19362

19309:                                            ; preds = %19304
  br label %19310

19310:                                            ; preds = %19309
  br label %19311

19311:                                            ; preds = %19310
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #10
  %19312 = call ptr @__errno_location() #11
  %19313 = load i32, ptr %19312, align 4, !tbaa !5
  store i32 %19313, ptr %394, align 4, !tbaa !5
  %19314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19315 = call i32 @s2n_print_stacktrace(ptr noundef %19314)
  %19316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19317 = trunc i8 %19316 to i1
  br i1 %19317, label %19318, label %19340

19318:                                            ; preds = %19311
  %19319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19320 = call i32 @fileno(ptr noundef %19319) #10
  %19321 = call i32 @isatty(i32 noundef %19320) #10
  %19322 = icmp ne i32 %19321, 0
  br i1 %19322, label %19323, label %19340

19323:                                            ; preds = %19318
  %19324 = load i32, ptr %394, align 4, !tbaa !5
  %19325 = call ptr @__errno_location() #11
  store i32 %19324, ptr %19325, align 4, !tbaa !5
  %19326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19327 = load i32, ptr @test_count, align 4, !tbaa !5
  %19328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19329 = load i32, ptr %19328, align 4, !tbaa !5
  %19330 = call ptr @s2n_strerror(i32 noundef %19329, ptr noundef @.str.65)
  %19331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19332 = load i32, ptr %19331, align 4, !tbaa !5
  %19333 = call ptr @s2n_strerror_debug(i32 noundef %19332, ptr noundef @.str.65)
  %19334 = call ptr @__errno_location() #11
  %19335 = load i32, ptr %19334, align 4, !tbaa !5
  %19336 = call ptr @strerror(i32 noundef %19335) #10
  %19337 = call ptr @__errno_location() #11
  %19338 = load i32, ptr %19337, align 4, !tbaa !5
  %19339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19326, ptr noundef @.str.63, i32 noundef %19327, ptr noundef @.str.191, ptr noundef @.str.62, i32 noundef 853, ptr noundef %19330, ptr noundef %19333, ptr noundef %19336, i32 noundef %19338) #10
  br label %19357

19340:                                            ; preds = %19318, %19311
  %19341 = load i32, ptr %394, align 4, !tbaa !5
  %19342 = call ptr @__errno_location() #11
  store i32 %19341, ptr %19342, align 4, !tbaa !5
  %19343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19344 = load i32, ptr @test_count, align 4, !tbaa !5
  %19345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19346 = load i32, ptr %19345, align 4, !tbaa !5
  %19347 = call ptr @s2n_strerror(i32 noundef %19346, ptr noundef @.str.65)
  %19348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19349 = load i32, ptr %19348, align 4, !tbaa !5
  %19350 = call ptr @s2n_strerror_debug(i32 noundef %19349, ptr noundef @.str.65)
  %19351 = call ptr @__errno_location() #11
  %19352 = load i32, ptr %19351, align 4, !tbaa !5
  %19353 = call ptr @strerror(i32 noundef %19352) #10
  %19354 = call ptr @__errno_location() #11
  %19355 = load i32, ptr %19354, align 4, !tbaa !5
  %19356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19343, ptr noundef @.str.66, i32 noundef %19344, ptr noundef @.str.191, ptr noundef @.str.62, i32 noundef 853, ptr noundef %19347, ptr noundef %19350, ptr noundef %19353, i32 noundef %19355) #10
  br label %19357

19357:                                            ; preds = %19340, %19323
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #10
  br label %19358

19358:                                            ; preds = %19357
  br label %19359

19359:                                            ; preds = %19358
  call void @exit(i32 noundef 1) #12
  unreachable

19360:                                            ; No predecessors!
  br label %19361

19361:                                            ; preds = %19360
  br label %19362

19362:                                            ; preds = %19361, %19304
  br label %19363

19363:                                            ; preds = %19362
  br label %19364

19364:                                            ; preds = %19363
  call void @llvm.lifetime.start.p0(i64 8, ptr %395) #10
  %19365 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %19365, ptr %395, align 8, !tbaa !9
  br label %19366

19366:                                            ; preds = %19364
  %19367 = load i32, ptr @test_count, align 4, !tbaa !5
  %19368 = add nsw i32 %19367, 1
  store i32 %19368, ptr @test_count, align 4, !tbaa !5
  %19369 = load ptr, ptr %395, align 8, !tbaa !9
  %19370 = icmp eq ptr %19369, null
  br i1 %19370, label %19371, label %19424

19371:                                            ; preds = %19366
  br label %19372

19372:                                            ; preds = %19371
  br label %19373

19373:                                            ; preds = %19372
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #10
  %19374 = call ptr @__errno_location() #11
  %19375 = load i32, ptr %19374, align 4, !tbaa !5
  store i32 %19375, ptr %396, align 4, !tbaa !5
  %19376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19377 = call i32 @s2n_print_stacktrace(ptr noundef %19376)
  %19378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19379 = trunc i8 %19378 to i1
  br i1 %19379, label %19380, label %19402

19380:                                            ; preds = %19373
  %19381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19382 = call i32 @fileno(ptr noundef %19381) #10
  %19383 = call i32 @isatty(i32 noundef %19382) #10
  %19384 = icmp ne i32 %19383, 0
  br i1 %19384, label %19385, label %19402

19385:                                            ; preds = %19380
  %19386 = load i32, ptr %396, align 4, !tbaa !5
  %19387 = call ptr @__errno_location() #11
  store i32 %19386, ptr %19387, align 4, !tbaa !5
  %19388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19389 = load i32, ptr @test_count, align 4, !tbaa !5
  %19390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19391 = load i32, ptr %19390, align 4, !tbaa !5
  %19392 = call ptr @s2n_strerror(i32 noundef %19391, ptr noundef @.str.65)
  %19393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19394 = load i32, ptr %19393, align 4, !tbaa !5
  %19395 = call ptr @s2n_strerror_debug(i32 noundef %19394, ptr noundef @.str.65)
  %19396 = call ptr @__errno_location() #11
  %19397 = load i32, ptr %19396, align 4, !tbaa !5
  %19398 = call ptr @strerror(i32 noundef %19397) #10
  %19399 = call ptr @__errno_location() #11
  %19400 = load i32, ptr %19399, align 4, !tbaa !5
  %19401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19388, ptr noundef @.str.63, i32 noundef %19389, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 856, ptr noundef %19392, ptr noundef %19395, ptr noundef %19398, i32 noundef %19400) #10
  br label %19419

19402:                                            ; preds = %19380, %19373
  %19403 = load i32, ptr %396, align 4, !tbaa !5
  %19404 = call ptr @__errno_location() #11
  store i32 %19403, ptr %19404, align 4, !tbaa !5
  %19405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19406 = load i32, ptr @test_count, align 4, !tbaa !5
  %19407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19408 = load i32, ptr %19407, align 4, !tbaa !5
  %19409 = call ptr @s2n_strerror(i32 noundef %19408, ptr noundef @.str.65)
  %19410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19411 = load i32, ptr %19410, align 4, !tbaa !5
  %19412 = call ptr @s2n_strerror_debug(i32 noundef %19411, ptr noundef @.str.65)
  %19413 = call ptr @__errno_location() #11
  %19414 = load i32, ptr %19413, align 4, !tbaa !5
  %19415 = call ptr @strerror(i32 noundef %19414) #10
  %19416 = call ptr @__errno_location() #11
  %19417 = load i32, ptr %19416, align 4, !tbaa !5
  %19418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19405, ptr noundef @.str.66, i32 noundef %19406, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 856, ptr noundef %19409, ptr noundef %19412, ptr noundef %19415, i32 noundef %19417) #10
  br label %19419

19419:                                            ; preds = %19402, %19385
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #10
  br label %19420

19420:                                            ; preds = %19419
  br label %19421

19421:                                            ; preds = %19420
  call void @exit(i32 noundef 1) #12
  unreachable

19422:                                            ; No predecessors!
  br label %19423

19423:                                            ; preds = %19422
  br label %19424

19424:                                            ; preds = %19423, %19366
  br label %19425

19425:                                            ; preds = %19424
  br label %19426

19426:                                            ; preds = %19425
  br label %19427

19427:                                            ; preds = %19426
  %19428 = load i32, ptr @test_count, align 4, !tbaa !5
  %19429 = add nsw i32 %19428, 1
  store i32 %19429, ptr @test_count, align 4, !tbaa !5
  %19430 = load ptr, ptr %395, align 8, !tbaa !9
  %19431 = load ptr, ptr %48, align 8, !tbaa !9
  %19432 = call i32 @s2n_connection_set_config(ptr noundef %19430, ptr noundef %19431)
  %19433 = icmp eq i32 %19432, -1
  br i1 %19433, label %19434, label %19487

19434:                                            ; preds = %19427
  br label %19435

19435:                                            ; preds = %19434
  br label %19436

19436:                                            ; preds = %19435
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #10
  %19437 = call ptr @__errno_location() #11
  %19438 = load i32, ptr %19437, align 4, !tbaa !5
  store i32 %19438, ptr %397, align 4, !tbaa !5
  %19439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19440 = call i32 @s2n_print_stacktrace(ptr noundef %19439)
  %19441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19442 = trunc i8 %19441 to i1
  br i1 %19442, label %19443, label %19465

19443:                                            ; preds = %19436
  %19444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19445 = call i32 @fileno(ptr noundef %19444) #10
  %19446 = call i32 @isatty(i32 noundef %19445) #10
  %19447 = icmp ne i32 %19446, 0
  br i1 %19447, label %19448, label %19465

19448:                                            ; preds = %19443
  %19449 = load i32, ptr %397, align 4, !tbaa !5
  %19450 = call ptr @__errno_location() #11
  store i32 %19449, ptr %19450, align 4, !tbaa !5
  %19451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19452 = load i32, ptr @test_count, align 4, !tbaa !5
  %19453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19454 = load i32, ptr %19453, align 4, !tbaa !5
  %19455 = call ptr @s2n_strerror(i32 noundef %19454, ptr noundef @.str.65)
  %19456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19457 = load i32, ptr %19456, align 4, !tbaa !5
  %19458 = call ptr @s2n_strerror_debug(i32 noundef %19457, ptr noundef @.str.65)
  %19459 = call ptr @__errno_location() #11
  %19460 = load i32, ptr %19459, align 4, !tbaa !5
  %19461 = call ptr @strerror(i32 noundef %19460) #10
  %19462 = call ptr @__errno_location() #11
  %19463 = load i32, ptr %19462, align 4, !tbaa !5
  %19464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19451, ptr noundef @.str.63, i32 noundef %19452, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 857, ptr noundef %19455, ptr noundef %19458, ptr noundef %19461, i32 noundef %19463) #10
  br label %19482

19465:                                            ; preds = %19443, %19436
  %19466 = load i32, ptr %397, align 4, !tbaa !5
  %19467 = call ptr @__errno_location() #11
  store i32 %19466, ptr %19467, align 4, !tbaa !5
  %19468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19469 = load i32, ptr @test_count, align 4, !tbaa !5
  %19470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19471 = load i32, ptr %19470, align 4, !tbaa !5
  %19472 = call ptr @s2n_strerror(i32 noundef %19471, ptr noundef @.str.65)
  %19473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19474 = load i32, ptr %19473, align 4, !tbaa !5
  %19475 = call ptr @s2n_strerror_debug(i32 noundef %19474, ptr noundef @.str.65)
  %19476 = call ptr @__errno_location() #11
  %19477 = load i32, ptr %19476, align 4, !tbaa !5
  %19478 = call ptr @strerror(i32 noundef %19477) #10
  %19479 = call ptr @__errno_location() #11
  %19480 = load i32, ptr %19479, align 4, !tbaa !5
  %19481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19468, ptr noundef @.str.66, i32 noundef %19469, ptr noundef @.str.130, ptr noundef @.str.62, i32 noundef 857, ptr noundef %19472, ptr noundef %19475, ptr noundef %19478, i32 noundef %19480) #10
  br label %19482

19482:                                            ; preds = %19465, %19448
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #10
  br label %19483

19483:                                            ; preds = %19482
  br label %19484

19484:                                            ; preds = %19483
  call void @exit(i32 noundef 1) #12
  unreachable

19485:                                            ; No predecessors!
  br label %19486

19486:                                            ; preds = %19485
  br label %19487

19487:                                            ; preds = %19486, %19427
  br label %19488

19488:                                            ; preds = %19487
  br label %19489

19489:                                            ; preds = %19488
  call void @llvm.lifetime.start.p0(i64 8, ptr %398) #10
  %19490 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %19490, ptr %398, align 8, !tbaa !9
  br label %19491

19491:                                            ; preds = %19489
  %19492 = load i32, ptr @test_count, align 4, !tbaa !5
  %19493 = add nsw i32 %19492, 1
  store i32 %19493, ptr @test_count, align 4, !tbaa !5
  %19494 = load ptr, ptr %398, align 8, !tbaa !9
  %19495 = icmp eq ptr %19494, null
  br i1 %19495, label %19496, label %19549

19496:                                            ; preds = %19491
  br label %19497

19497:                                            ; preds = %19496
  br label %19498

19498:                                            ; preds = %19497
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #10
  %19499 = call ptr @__errno_location() #11
  %19500 = load i32, ptr %19499, align 4, !tbaa !5
  store i32 %19500, ptr %399, align 4, !tbaa !5
  %19501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19502 = call i32 @s2n_print_stacktrace(ptr noundef %19501)
  %19503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19504 = trunc i8 %19503 to i1
  br i1 %19504, label %19505, label %19527

19505:                                            ; preds = %19498
  %19506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19507 = call i32 @fileno(ptr noundef %19506) #10
  %19508 = call i32 @isatty(i32 noundef %19507) #10
  %19509 = icmp ne i32 %19508, 0
  br i1 %19509, label %19510, label %19527

19510:                                            ; preds = %19505
  %19511 = load i32, ptr %399, align 4, !tbaa !5
  %19512 = call ptr @__errno_location() #11
  store i32 %19511, ptr %19512, align 4, !tbaa !5
  %19513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19514 = load i32, ptr @test_count, align 4, !tbaa !5
  %19515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19516 = load i32, ptr %19515, align 4, !tbaa !5
  %19517 = call ptr @s2n_strerror(i32 noundef %19516, ptr noundef @.str.65)
  %19518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19519 = load i32, ptr %19518, align 4, !tbaa !5
  %19520 = call ptr @s2n_strerror_debug(i32 noundef %19519, ptr noundef @.str.65)
  %19521 = call ptr @__errno_location() #11
  %19522 = load i32, ptr %19521, align 4, !tbaa !5
  %19523 = call ptr @strerror(i32 noundef %19522) #10
  %19524 = call ptr @__errno_location() #11
  %19525 = load i32, ptr %19524, align 4, !tbaa !5
  %19526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19513, ptr noundef @.str.63, i32 noundef %19514, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 860, ptr noundef %19517, ptr noundef %19520, ptr noundef %19523, i32 noundef %19525) #10
  br label %19544

19527:                                            ; preds = %19505, %19498
  %19528 = load i32, ptr %399, align 4, !tbaa !5
  %19529 = call ptr @__errno_location() #11
  store i32 %19528, ptr %19529, align 4, !tbaa !5
  %19530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19531 = load i32, ptr @test_count, align 4, !tbaa !5
  %19532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19533 = load i32, ptr %19532, align 4, !tbaa !5
  %19534 = call ptr @s2n_strerror(i32 noundef %19533, ptr noundef @.str.65)
  %19535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19536 = load i32, ptr %19535, align 4, !tbaa !5
  %19537 = call ptr @s2n_strerror_debug(i32 noundef %19536, ptr noundef @.str.65)
  %19538 = call ptr @__errno_location() #11
  %19539 = load i32, ptr %19538, align 4, !tbaa !5
  %19540 = call ptr @strerror(i32 noundef %19539) #10
  %19541 = call ptr @__errno_location() #11
  %19542 = load i32, ptr %19541, align 4, !tbaa !5
  %19543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19530, ptr noundef @.str.66, i32 noundef %19531, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 860, ptr noundef %19534, ptr noundef %19537, ptr noundef %19540, i32 noundef %19542) #10
  br label %19544

19544:                                            ; preds = %19527, %19510
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #10
  br label %19545

19545:                                            ; preds = %19544
  br label %19546

19546:                                            ; preds = %19545
  call void @exit(i32 noundef 1) #12
  unreachable

19547:                                            ; No predecessors!
  br label %19548

19548:                                            ; preds = %19547
  br label %19549

19549:                                            ; preds = %19548, %19491
  br label %19550

19550:                                            ; preds = %19549
  br label %19551

19551:                                            ; preds = %19550
  call void @llvm.lifetime.start.p0(i64 8, ptr %400) #10
  call void @llvm.memset.p0.i64(ptr align 4 %400, i8 0, i64 8, i1 false)
  br label %19552

19552:                                            ; preds = %19551
  %19553 = load i32, ptr @test_count, align 4, !tbaa !5
  %19554 = add nsw i32 %19553, 1
  store i32 %19554, ptr @test_count, align 4, !tbaa !5
  %19555 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %400)
  %19556 = icmp eq i32 %19555, -1
  br i1 %19556, label %19557, label %19610

19557:                                            ; preds = %19552
  br label %19558

19558:                                            ; preds = %19557
  br label %19559

19559:                                            ; preds = %19558
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #10
  %19560 = call ptr @__errno_location() #11
  %19561 = load i32, ptr %19560, align 4, !tbaa !5
  store i32 %19561, ptr %401, align 4, !tbaa !5
  %19562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19563 = call i32 @s2n_print_stacktrace(ptr noundef %19562)
  %19564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19565 = trunc i8 %19564 to i1
  br i1 %19565, label %19566, label %19588

19566:                                            ; preds = %19559
  %19567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19568 = call i32 @fileno(ptr noundef %19567) #10
  %19569 = call i32 @isatty(i32 noundef %19568) #10
  %19570 = icmp ne i32 %19569, 0
  br i1 %19570, label %19571, label %19588

19571:                                            ; preds = %19566
  %19572 = load i32, ptr %401, align 4, !tbaa !5
  %19573 = call ptr @__errno_location() #11
  store i32 %19572, ptr %19573, align 4, !tbaa !5
  %19574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19575 = load i32, ptr @test_count, align 4, !tbaa !5
  %19576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19577 = load i32, ptr %19576, align 4, !tbaa !5
  %19578 = call ptr @s2n_strerror(i32 noundef %19577, ptr noundef @.str.65)
  %19579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19580 = load i32, ptr %19579, align 4, !tbaa !5
  %19581 = call ptr @s2n_strerror_debug(i32 noundef %19580, ptr noundef @.str.65)
  %19582 = call ptr @__errno_location() #11
  %19583 = load i32, ptr %19582, align 4, !tbaa !5
  %19584 = call ptr @strerror(i32 noundef %19583) #10
  %19585 = call ptr @__errno_location() #11
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  %19587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19574, ptr noundef @.str.63, i32 noundef %19575, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 863, ptr noundef %19578, ptr noundef %19581, ptr noundef %19584, i32 noundef %19586) #10
  br label %19605

19588:                                            ; preds = %19566, %19559
  %19589 = load i32, ptr %401, align 4, !tbaa !5
  %19590 = call ptr @__errno_location() #11
  store i32 %19589, ptr %19590, align 4, !tbaa !5
  %19591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19592 = load i32, ptr @test_count, align 4, !tbaa !5
  %19593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19594 = load i32, ptr %19593, align 4, !tbaa !5
  %19595 = call ptr @s2n_strerror(i32 noundef %19594, ptr noundef @.str.65)
  %19596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19597 = load i32, ptr %19596, align 4, !tbaa !5
  %19598 = call ptr @s2n_strerror_debug(i32 noundef %19597, ptr noundef @.str.65)
  %19599 = call ptr @__errno_location() #11
  %19600 = load i32, ptr %19599, align 4, !tbaa !5
  %19601 = call ptr @strerror(i32 noundef %19600) #10
  %19602 = call ptr @__errno_location() #11
  %19603 = load i32, ptr %19602, align 4, !tbaa !5
  %19604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19591, ptr noundef @.str.66, i32 noundef %19592, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 863, ptr noundef %19595, ptr noundef %19598, ptr noundef %19601, i32 noundef %19603) #10
  br label %19605

19605:                                            ; preds = %19588, %19571
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #10
  br label %19606

19606:                                            ; preds = %19605
  br label %19607

19607:                                            ; preds = %19606
  call void @exit(i32 noundef 1) #12
  unreachable

19608:                                            ; No predecessors!
  br label %19609

19609:                                            ; preds = %19608
  br label %19610

19610:                                            ; preds = %19609, %19552
  br label %19611

19611:                                            ; preds = %19610
  br label %19612

19612:                                            ; preds = %19611
  br label %19613

19613:                                            ; preds = %19612
  %19614 = load i32, ptr @test_count, align 4, !tbaa !5
  %19615 = add nsw i32 %19614, 1
  store i32 %19615, ptr @test_count, align 4, !tbaa !5
  %19616 = load ptr, ptr %395, align 8, !tbaa !9
  %19617 = load ptr, ptr %398, align 8, !tbaa !9
  %19618 = call i32 @s2n_connections_set_io_pair(ptr noundef %19616, ptr noundef %19617, ptr noundef %400)
  %19619 = icmp eq i32 %19618, -1
  br i1 %19619, label %19620, label %19673

19620:                                            ; preds = %19613
  br label %19621

19621:                                            ; preds = %19620
  br label %19622

19622:                                            ; preds = %19621
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #10
  %19623 = call ptr @__errno_location() #11
  %19624 = load i32, ptr %19623, align 4, !tbaa !5
  store i32 %19624, ptr %402, align 4, !tbaa !5
  %19625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19626 = call i32 @s2n_print_stacktrace(ptr noundef %19625)
  %19627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19628 = trunc i8 %19627 to i1
  br i1 %19628, label %19629, label %19651

19629:                                            ; preds = %19622
  %19630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19631 = call i32 @fileno(ptr noundef %19630) #10
  %19632 = call i32 @isatty(i32 noundef %19631) #10
  %19633 = icmp ne i32 %19632, 0
  br i1 %19633, label %19634, label %19651

19634:                                            ; preds = %19629
  %19635 = load i32, ptr %402, align 4, !tbaa !5
  %19636 = call ptr @__errno_location() #11
  store i32 %19635, ptr %19636, align 4, !tbaa !5
  %19637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19638 = load i32, ptr @test_count, align 4, !tbaa !5
  %19639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19640 = load i32, ptr %19639, align 4, !tbaa !5
  %19641 = call ptr @s2n_strerror(i32 noundef %19640, ptr noundef @.str.65)
  %19642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19643 = load i32, ptr %19642, align 4, !tbaa !5
  %19644 = call ptr @s2n_strerror_debug(i32 noundef %19643, ptr noundef @.str.65)
  %19645 = call ptr @__errno_location() #11
  %19646 = load i32, ptr %19645, align 4, !tbaa !5
  %19647 = call ptr @strerror(i32 noundef %19646) #10
  %19648 = call ptr @__errno_location() #11
  %19649 = load i32, ptr %19648, align 4, !tbaa !5
  %19650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19637, ptr noundef @.str.63, i32 noundef %19638, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 864, ptr noundef %19641, ptr noundef %19644, ptr noundef %19647, i32 noundef %19649) #10
  br label %19668

19651:                                            ; preds = %19629, %19622
  %19652 = load i32, ptr %402, align 4, !tbaa !5
  %19653 = call ptr @__errno_location() #11
  store i32 %19652, ptr %19653, align 4, !tbaa !5
  %19654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19655 = load i32, ptr @test_count, align 4, !tbaa !5
  %19656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19657 = load i32, ptr %19656, align 4, !tbaa !5
  %19658 = call ptr @s2n_strerror(i32 noundef %19657, ptr noundef @.str.65)
  %19659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19660 = load i32, ptr %19659, align 4, !tbaa !5
  %19661 = call ptr @s2n_strerror_debug(i32 noundef %19660, ptr noundef @.str.65)
  %19662 = call ptr @__errno_location() #11
  %19663 = load i32, ptr %19662, align 4, !tbaa !5
  %19664 = call ptr @strerror(i32 noundef %19663) #10
  %19665 = call ptr @__errno_location() #11
  %19666 = load i32, ptr %19665, align 4, !tbaa !5
  %19667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19654, ptr noundef @.str.66, i32 noundef %19655, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 864, ptr noundef %19658, ptr noundef %19661, ptr noundef %19664, i32 noundef %19666) #10
  br label %19668

19668:                                            ; preds = %19651, %19634
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #10
  br label %19669

19669:                                            ; preds = %19668
  br label %19670

19670:                                            ; preds = %19669
  call void @exit(i32 noundef 1) #12
  unreachable

19671:                                            ; No predecessors!
  br label %19672

19672:                                            ; preds = %19671
  br label %19673

19673:                                            ; preds = %19672, %19613
  br label %19674

19674:                                            ; preds = %19673
  br label %19675

19675:                                            ; preds = %19674
  br label %19676

19676:                                            ; preds = %19675
  %19677 = load i32, ptr @test_count, align 4, !tbaa !5
  %19678 = add nsw i32 %19677, 1
  store i32 %19678, ptr @test_count, align 4, !tbaa !5
  %19679 = load ptr, ptr %398, align 8, !tbaa !9
  %19680 = load ptr, ptr %20, align 8, !tbaa !9
  %19681 = call i32 @s2n_connection_set_config(ptr noundef %19679, ptr noundef %19680)
  %19682 = icmp eq i32 %19681, -1
  br i1 %19682, label %19683, label %19736

19683:                                            ; preds = %19676
  br label %19684

19684:                                            ; preds = %19683
  br label %19685

19685:                                            ; preds = %19684
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #10
  %19686 = call ptr @__errno_location() #11
  %19687 = load i32, ptr %19686, align 4, !tbaa !5
  store i32 %19687, ptr %403, align 4, !tbaa !5
  %19688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19689 = call i32 @s2n_print_stacktrace(ptr noundef %19688)
  %19690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19691 = trunc i8 %19690 to i1
  br i1 %19691, label %19692, label %19714

19692:                                            ; preds = %19685
  %19693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19694 = call i32 @fileno(ptr noundef %19693) #10
  %19695 = call i32 @isatty(i32 noundef %19694) #10
  %19696 = icmp ne i32 %19695, 0
  br i1 %19696, label %19697, label %19714

19697:                                            ; preds = %19692
  %19698 = load i32, ptr %403, align 4, !tbaa !5
  %19699 = call ptr @__errno_location() #11
  store i32 %19698, ptr %19699, align 4, !tbaa !5
  %19700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19701 = load i32, ptr @test_count, align 4, !tbaa !5
  %19702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19703 = load i32, ptr %19702, align 4, !tbaa !5
  %19704 = call ptr @s2n_strerror(i32 noundef %19703, ptr noundef @.str.65)
  %19705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19706 = load i32, ptr %19705, align 4, !tbaa !5
  %19707 = call ptr @s2n_strerror_debug(i32 noundef %19706, ptr noundef @.str.65)
  %19708 = call ptr @__errno_location() #11
  %19709 = load i32, ptr %19708, align 4, !tbaa !5
  %19710 = call ptr @strerror(i32 noundef %19709) #10
  %19711 = call ptr @__errno_location() #11
  %19712 = load i32, ptr %19711, align 4, !tbaa !5
  %19713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19700, ptr noundef @.str.63, i32 noundef %19701, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 868, ptr noundef %19704, ptr noundef %19707, ptr noundef %19710, i32 noundef %19712) #10
  br label %19731

19714:                                            ; preds = %19692, %19685
  %19715 = load i32, ptr %403, align 4, !tbaa !5
  %19716 = call ptr @__errno_location() #11
  store i32 %19715, ptr %19716, align 4, !tbaa !5
  %19717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19718 = load i32, ptr @test_count, align 4, !tbaa !5
  %19719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19720 = load i32, ptr %19719, align 4, !tbaa !5
  %19721 = call ptr @s2n_strerror(i32 noundef %19720, ptr noundef @.str.65)
  %19722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19723 = load i32, ptr %19722, align 4, !tbaa !5
  %19724 = call ptr @s2n_strerror_debug(i32 noundef %19723, ptr noundef @.str.65)
  %19725 = call ptr @__errno_location() #11
  %19726 = load i32, ptr %19725, align 4, !tbaa !5
  %19727 = call ptr @strerror(i32 noundef %19726) #10
  %19728 = call ptr @__errno_location() #11
  %19729 = load i32, ptr %19728, align 4, !tbaa !5
  %19730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19717, ptr noundef @.str.66, i32 noundef %19718, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 868, ptr noundef %19721, ptr noundef %19724, ptr noundef %19727, i32 noundef %19729) #10
  br label %19731

19731:                                            ; preds = %19714, %19697
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #10
  br label %19732

19732:                                            ; preds = %19731
  br label %19733

19733:                                            ; preds = %19732
  call void @exit(i32 noundef 1) #12
  unreachable

19734:                                            ; No predecessors!
  br label %19735

19735:                                            ; preds = %19734
  br label %19736

19736:                                            ; preds = %19735, %19676
  br label %19737

19737:                                            ; preds = %19736
  br label %19738

19738:                                            ; preds = %19737
  br label %19739

19739:                                            ; preds = %19738
  %19740 = load i32, ptr @test_count, align 4, !tbaa !5
  %19741 = add nsw i32 %19740, 1
  store i32 %19741, ptr @test_count, align 4, !tbaa !5
  %19742 = load ptr, ptr %398, align 8, !tbaa !9
  %19743 = load ptr, ptr %395, align 8, !tbaa !9
  %19744 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %19742, ptr noundef %19743)
  %19745 = icmp eq i32 %19744, -1
  br i1 %19745, label %19746, label %19799

19746:                                            ; preds = %19739
  br label %19747

19747:                                            ; preds = %19746
  br label %19748

19748:                                            ; preds = %19747
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #10
  %19749 = call ptr @__errno_location() #11
  %19750 = load i32, ptr %19749, align 4, !tbaa !5
  store i32 %19750, ptr %404, align 4, !tbaa !5
  %19751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19752 = call i32 @s2n_print_stacktrace(ptr noundef %19751)
  %19753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19754 = trunc i8 %19753 to i1
  br i1 %19754, label %19755, label %19777

19755:                                            ; preds = %19748
  %19756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19757 = call i32 @fileno(ptr noundef %19756) #10
  %19758 = call i32 @isatty(i32 noundef %19757) #10
  %19759 = icmp ne i32 %19758, 0
  br i1 %19759, label %19760, label %19777

19760:                                            ; preds = %19755
  %19761 = load i32, ptr %404, align 4, !tbaa !5
  %19762 = call ptr @__errno_location() #11
  store i32 %19761, ptr %19762, align 4, !tbaa !5
  %19763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19764 = load i32, ptr @test_count, align 4, !tbaa !5
  %19765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19766 = load i32, ptr %19765, align 4, !tbaa !5
  %19767 = call ptr @s2n_strerror(i32 noundef %19766, ptr noundef @.str.65)
  %19768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19769 = load i32, ptr %19768, align 4, !tbaa !5
  %19770 = call ptr @s2n_strerror_debug(i32 noundef %19769, ptr noundef @.str.65)
  %19771 = call ptr @__errno_location() #11
  %19772 = load i32, ptr %19771, align 4, !tbaa !5
  %19773 = call ptr @strerror(i32 noundef %19772) #10
  %19774 = call ptr @__errno_location() #11
  %19775 = load i32, ptr %19774, align 4, !tbaa !5
  %19776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19763, ptr noundef @.str.63, i32 noundef %19764, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 870, ptr noundef %19767, ptr noundef %19770, ptr noundef %19773, i32 noundef %19775) #10
  br label %19794

19777:                                            ; preds = %19755, %19748
  %19778 = load i32, ptr %404, align 4, !tbaa !5
  %19779 = call ptr @__errno_location() #11
  store i32 %19778, ptr %19779, align 4, !tbaa !5
  %19780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19781 = load i32, ptr @test_count, align 4, !tbaa !5
  %19782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19783 = load i32, ptr %19782, align 4, !tbaa !5
  %19784 = call ptr @s2n_strerror(i32 noundef %19783, ptr noundef @.str.65)
  %19785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19786 = load i32, ptr %19785, align 4, !tbaa !5
  %19787 = call ptr @s2n_strerror_debug(i32 noundef %19786, ptr noundef @.str.65)
  %19788 = call ptr @__errno_location() #11
  %19789 = load i32, ptr %19788, align 4, !tbaa !5
  %19790 = call ptr @strerror(i32 noundef %19789) #10
  %19791 = call ptr @__errno_location() #11
  %19792 = load i32, ptr %19791, align 4, !tbaa !5
  %19793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19780, ptr noundef @.str.66, i32 noundef %19781, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 870, ptr noundef %19784, ptr noundef %19787, ptr noundef %19790, i32 noundef %19792) #10
  br label %19794

19794:                                            ; preds = %19777, %19760
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #10
  br label %19795

19795:                                            ; preds = %19794
  br label %19796

19796:                                            ; preds = %19795
  call void @exit(i32 noundef 1) #12
  unreachable

19797:                                            ; No predecessors!
  br label %19798

19798:                                            ; preds = %19797
  br label %19799

19799:                                            ; preds = %19798, %19739
  br label %19800

19800:                                            ; preds = %19799
  br label %19801

19801:                                            ; preds = %19800
  br label %19802

19802:                                            ; preds = %19801
  %19803 = load i32, ptr @test_count, align 4, !tbaa !5
  %19804 = add nsw i32 %19803, 1
  store i32 %19804, ptr @test_count, align 4, !tbaa !5
  %19805 = load ptr, ptr %398, align 8, !tbaa !9
  %19806 = getelementptr inbounds %struct.s2n_connection, ptr %19805, i32 0, i32 23
  %19807 = load i8, ptr %19806, align 4, !tbaa !66
  %19808 = zext i8 %19807 to i32
  %19809 = icmp eq i32 %19808, 33
  br i1 %19809, label %19863, label %19810

19810:                                            ; preds = %19802
  br label %19811

19811:                                            ; preds = %19810
  br label %19812

19812:                                            ; preds = %19811
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #10
  %19813 = call ptr @__errno_location() #11
  %19814 = load i32, ptr %19813, align 4, !tbaa !5
  store i32 %19814, ptr %405, align 4, !tbaa !5
  %19815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19816 = call i32 @s2n_print_stacktrace(ptr noundef %19815)
  %19817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19818 = trunc i8 %19817 to i1
  br i1 %19818, label %19819, label %19841

19819:                                            ; preds = %19812
  %19820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19821 = call i32 @fileno(ptr noundef %19820) #10
  %19822 = call i32 @isatty(i32 noundef %19821) #10
  %19823 = icmp ne i32 %19822, 0
  br i1 %19823, label %19824, label %19841

19824:                                            ; preds = %19819
  %19825 = load i32, ptr %405, align 4, !tbaa !5
  %19826 = call ptr @__errno_location() #11
  store i32 %19825, ptr %19826, align 4, !tbaa !5
  %19827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19828 = load i32, ptr @test_count, align 4, !tbaa !5
  %19829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19830 = load i32, ptr %19829, align 4, !tbaa !5
  %19831 = call ptr @s2n_strerror(i32 noundef %19830, ptr noundef @.str.65)
  %19832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19833 = load i32, ptr %19832, align 4, !tbaa !5
  %19834 = call ptr @s2n_strerror_debug(i32 noundef %19833, ptr noundef @.str.65)
  %19835 = call ptr @__errno_location() #11
  %19836 = load i32, ptr %19835, align 4, !tbaa !5
  %19837 = call ptr @strerror(i32 noundef %19836) #10
  %19838 = call ptr @__errno_location() #11
  %19839 = load i32, ptr %19838, align 4, !tbaa !5
  %19840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19827, ptr noundef @.str.63, i32 noundef %19828, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 871, ptr noundef %19831, ptr noundef %19834, ptr noundef %19837, i32 noundef %19839) #10
  br label %19858

19841:                                            ; preds = %19819, %19812
  %19842 = load i32, ptr %405, align 4, !tbaa !5
  %19843 = call ptr @__errno_location() #11
  store i32 %19842, ptr %19843, align 4, !tbaa !5
  %19844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19845 = load i32, ptr @test_count, align 4, !tbaa !5
  %19846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19847 = load i32, ptr %19846, align 4, !tbaa !5
  %19848 = call ptr @s2n_strerror(i32 noundef %19847, ptr noundef @.str.65)
  %19849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19850 = load i32, ptr %19849, align 4, !tbaa !5
  %19851 = call ptr @s2n_strerror_debug(i32 noundef %19850, ptr noundef @.str.65)
  %19852 = call ptr @__errno_location() #11
  %19853 = load i32, ptr %19852, align 4, !tbaa !5
  %19854 = call ptr @strerror(i32 noundef %19853) #10
  %19855 = call ptr @__errno_location() #11
  %19856 = load i32, ptr %19855, align 4, !tbaa !5
  %19857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19844, ptr noundef @.str.66, i32 noundef %19845, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 871, ptr noundef %19848, ptr noundef %19851, ptr noundef %19854, i32 noundef %19856) #10
  br label %19858

19858:                                            ; preds = %19841, %19824
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #10
  br label %19859

19859:                                            ; preds = %19858
  br label %19860

19860:                                            ; preds = %19859
  call void @exit(i32 noundef 1) #12
  unreachable

19861:                                            ; No predecessors!
  br label %19862

19862:                                            ; preds = %19861
  br label %19863

19863:                                            ; preds = %19862, %19802
  br label %19864

19864:                                            ; preds = %19863
  br label %19865

19865:                                            ; preds = %19864
  br label %19866

19866:                                            ; preds = %19865
  %19867 = load i32, ptr @test_count, align 4, !tbaa !5
  %19868 = add nsw i32 %19867, 1
  store i32 %19868, ptr @test_count, align 4, !tbaa !5
  %19869 = load ptr, ptr %398, align 8, !tbaa !9
  %19870 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %19869, i32 noundef 2)
  br i1 %19870, label %19924, label %19871

19871:                                            ; preds = %19866
  br label %19872

19872:                                            ; preds = %19871
  br label %19873

19873:                                            ; preds = %19872
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #10
  %19874 = call ptr @__errno_location() #11
  %19875 = load i32, ptr %19874, align 4, !tbaa !5
  store i32 %19875, ptr %406, align 4, !tbaa !5
  %19876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19877 = call i32 @s2n_print_stacktrace(ptr noundef %19876)
  %19878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19879 = trunc i8 %19878 to i1
  br i1 %19879, label %19880, label %19902

19880:                                            ; preds = %19873
  %19881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19882 = call i32 @fileno(ptr noundef %19881) #10
  %19883 = call i32 @isatty(i32 noundef %19882) #10
  %19884 = icmp ne i32 %19883, 0
  br i1 %19884, label %19885, label %19902

19885:                                            ; preds = %19880
  %19886 = load i32, ptr %406, align 4, !tbaa !5
  %19887 = call ptr @__errno_location() #11
  store i32 %19886, ptr %19887, align 4, !tbaa !5
  %19888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19889 = load i32, ptr @test_count, align 4, !tbaa !5
  %19890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19891 = load i32, ptr %19890, align 4, !tbaa !5
  %19892 = call ptr @s2n_strerror(i32 noundef %19891, ptr noundef @.str.65)
  %19893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19894 = load i32, ptr %19893, align 4, !tbaa !5
  %19895 = call ptr @s2n_strerror_debug(i32 noundef %19894, ptr noundef @.str.65)
  %19896 = call ptr @__errno_location() #11
  %19897 = load i32, ptr %19896, align 4, !tbaa !5
  %19898 = call ptr @strerror(i32 noundef %19897) #10
  %19899 = call ptr @__errno_location() #11
  %19900 = load i32, ptr %19899, align 4, !tbaa !5
  %19901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19888, ptr noundef @.str.63, i32 noundef %19889, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 872, ptr noundef %19892, ptr noundef %19895, ptr noundef %19898, i32 noundef %19900) #10
  br label %19919

19902:                                            ; preds = %19880, %19873
  %19903 = load i32, ptr %406, align 4, !tbaa !5
  %19904 = call ptr @__errno_location() #11
  store i32 %19903, ptr %19904, align 4, !tbaa !5
  %19905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19906 = load i32, ptr @test_count, align 4, !tbaa !5
  %19907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19908 = load i32, ptr %19907, align 4, !tbaa !5
  %19909 = call ptr @s2n_strerror(i32 noundef %19908, ptr noundef @.str.65)
  %19910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19911 = load i32, ptr %19910, align 4, !tbaa !5
  %19912 = call ptr @s2n_strerror_debug(i32 noundef %19911, ptr noundef @.str.65)
  %19913 = call ptr @__errno_location() #11
  %19914 = load i32, ptr %19913, align 4, !tbaa !5
  %19915 = call ptr @strerror(i32 noundef %19914) #10
  %19916 = call ptr @__errno_location() #11
  %19917 = load i32, ptr %19916, align 4, !tbaa !5
  %19918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19905, ptr noundef @.str.66, i32 noundef %19906, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 872, ptr noundef %19909, ptr noundef %19912, ptr noundef %19915, i32 noundef %19917) #10
  br label %19919

19919:                                            ; preds = %19902, %19885
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #10
  br label %19920

19920:                                            ; preds = %19919
  br label %19921

19921:                                            ; preds = %19920
  call void @exit(i32 noundef 1) #12
  unreachable

19922:                                            ; No predecessors!
  br label %19923

19923:                                            ; preds = %19922
  br label %19924

19924:                                            ; preds = %19923, %19866
  br label %19925

19925:                                            ; preds = %19924
  br label %19926

19926:                                            ; preds = %19925
  br label %19927

19927:                                            ; preds = %19926
  %19928 = load i32, ptr @test_count, align 4, !tbaa !5
  %19929 = add nsw i32 %19928, 1
  store i32 %19929, ptr @test_count, align 4, !tbaa !5
  %19930 = load ptr, ptr %398, align 8, !tbaa !9
  %19931 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %19930, i32 noundef 64)
  br i1 %19931, label %19985, label %19932

19932:                                            ; preds = %19927
  br label %19933

19933:                                            ; preds = %19932
  br label %19934

19934:                                            ; preds = %19933
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #10
  %19935 = call ptr @__errno_location() #11
  %19936 = load i32, ptr %19935, align 4, !tbaa !5
  store i32 %19936, ptr %407, align 4, !tbaa !5
  %19937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19938 = call i32 @s2n_print_stacktrace(ptr noundef %19937)
  %19939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19940 = trunc i8 %19939 to i1
  br i1 %19940, label %19941, label %19963

19941:                                            ; preds = %19934
  %19942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19943 = call i32 @fileno(ptr noundef %19942) #10
  %19944 = call i32 @isatty(i32 noundef %19943) #10
  %19945 = icmp ne i32 %19944, 0
  br i1 %19945, label %19946, label %19963

19946:                                            ; preds = %19941
  %19947 = load i32, ptr %407, align 4, !tbaa !5
  %19948 = call ptr @__errno_location() #11
  store i32 %19947, ptr %19948, align 4, !tbaa !5
  %19949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19950 = load i32, ptr @test_count, align 4, !tbaa !5
  %19951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19952 = load i32, ptr %19951, align 4, !tbaa !5
  %19953 = call ptr @s2n_strerror(i32 noundef %19952, ptr noundef @.str.65)
  %19954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19955 = load i32, ptr %19954, align 4, !tbaa !5
  %19956 = call ptr @s2n_strerror_debug(i32 noundef %19955, ptr noundef @.str.65)
  %19957 = call ptr @__errno_location() #11
  %19958 = load i32, ptr %19957, align 4, !tbaa !5
  %19959 = call ptr @strerror(i32 noundef %19958) #10
  %19960 = call ptr @__errno_location() #11
  %19961 = load i32, ptr %19960, align 4, !tbaa !5
  %19962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19949, ptr noundef @.str.63, i32 noundef %19950, ptr noundef @.str.145, ptr noundef @.str.62, i32 noundef 873, ptr noundef %19953, ptr noundef %19956, ptr noundef %19959, i32 noundef %19961) #10
  br label %19980

19963:                                            ; preds = %19941, %19934
  %19964 = load i32, ptr %407, align 4, !tbaa !5
  %19965 = call ptr @__errno_location() #11
  store i32 %19964, ptr %19965, align 4, !tbaa !5
  %19966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19967 = load i32, ptr @test_count, align 4, !tbaa !5
  %19968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19969 = load i32, ptr %19968, align 4, !tbaa !5
  %19970 = call ptr @s2n_strerror(i32 noundef %19969, ptr noundef @.str.65)
  %19971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19972 = load i32, ptr %19971, align 4, !tbaa !5
  %19973 = call ptr @s2n_strerror_debug(i32 noundef %19972, ptr noundef @.str.65)
  %19974 = call ptr @__errno_location() #11
  %19975 = load i32, ptr %19974, align 4, !tbaa !5
  %19976 = call ptr @strerror(i32 noundef %19975) #10
  %19977 = call ptr @__errno_location() #11
  %19978 = load i32, ptr %19977, align 4, !tbaa !5
  %19979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19966, ptr noundef @.str.66, i32 noundef %19967, ptr noundef @.str.145, ptr noundef @.str.62, i32 noundef 873, ptr noundef %19970, ptr noundef %19973, ptr noundef %19976, i32 noundef %19978) #10
  br label %19980

19980:                                            ; preds = %19963, %19946
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #10
  br label %19981

19981:                                            ; preds = %19980
  br label %19982

19982:                                            ; preds = %19981
  call void @exit(i32 noundef 1) #12
  unreachable

19983:                                            ; No predecessors!
  br label %19984

19984:                                            ; preds = %19983
  br label %19985

19985:                                            ; preds = %19984, %19927
  br label %19986

19986:                                            ; preds = %19985
  br label %19987

19987:                                            ; preds = %19986
  br label %19988

19988:                                            ; preds = %19987
  %19989 = load i32, ptr @test_count, align 4, !tbaa !5
  %19990 = add nsw i32 %19989, 1
  store i32 %19990, ptr @test_count, align 4, !tbaa !5
  %19991 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %19992 = load i32, ptr %19991, align 4, !tbaa !27
  %19993 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %19994 = load i32, ptr %19993, align 8, !tbaa !30
  %19995 = sub i32 %19992, %19994
  %19996 = call i32 @s2n_stuffer_copy(ptr noundef %45, ptr noundef %393, i32 noundef %19995)
  %19997 = icmp eq i32 %19996, -1
  br i1 %19997, label %19998, label %20051

19998:                                            ; preds = %19988
  br label %19999

19999:                                            ; preds = %19998
  br label %20000

20000:                                            ; preds = %19999
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #10
  %20001 = call ptr @__errno_location() #11
  %20002 = load i32, ptr %20001, align 4, !tbaa !5
  store i32 %20002, ptr %408, align 4, !tbaa !5
  %20003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20004 = call i32 @s2n_print_stacktrace(ptr noundef %20003)
  %20005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20006 = trunc i8 %20005 to i1
  br i1 %20006, label %20007, label %20029

20007:                                            ; preds = %20000
  %20008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20009 = call i32 @fileno(ptr noundef %20008) #10
  %20010 = call i32 @isatty(i32 noundef %20009) #10
  %20011 = icmp ne i32 %20010, 0
  br i1 %20011, label %20012, label %20029

20012:                                            ; preds = %20007
  %20013 = load i32, ptr %408, align 4, !tbaa !5
  %20014 = call ptr @__errno_location() #11
  store i32 %20013, ptr %20014, align 4, !tbaa !5
  %20015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20016 = load i32, ptr @test_count, align 4, !tbaa !5
  %20017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20018 = load i32, ptr %20017, align 4, !tbaa !5
  %20019 = call ptr @s2n_strerror(i32 noundef %20018, ptr noundef @.str.65)
  %20020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20021 = load i32, ptr %20020, align 4, !tbaa !5
  %20022 = call ptr @s2n_strerror_debug(i32 noundef %20021, ptr noundef @.str.65)
  %20023 = call ptr @__errno_location() #11
  %20024 = load i32, ptr %20023, align 4, !tbaa !5
  %20025 = call ptr @strerror(i32 noundef %20024) #10
  %20026 = call ptr @__errno_location() #11
  %20027 = load i32, ptr %20026, align 4, !tbaa !5
  %20028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20015, ptr noundef @.str.63, i32 noundef %20016, ptr noundef @.str.193, ptr noundef @.str.62, i32 noundef 874, ptr noundef %20019, ptr noundef %20022, ptr noundef %20025, i32 noundef %20027) #10
  br label %20046

20029:                                            ; preds = %20007, %20000
  %20030 = load i32, ptr %408, align 4, !tbaa !5
  %20031 = call ptr @__errno_location() #11
  store i32 %20030, ptr %20031, align 4, !tbaa !5
  %20032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20033 = load i32, ptr @test_count, align 4, !tbaa !5
  %20034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20035 = load i32, ptr %20034, align 4, !tbaa !5
  %20036 = call ptr @s2n_strerror(i32 noundef %20035, ptr noundef @.str.65)
  %20037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20038 = load i32, ptr %20037, align 4, !tbaa !5
  %20039 = call ptr @s2n_strerror_debug(i32 noundef %20038, ptr noundef @.str.65)
  %20040 = call ptr @__errno_location() #11
  %20041 = load i32, ptr %20040, align 4, !tbaa !5
  %20042 = call ptr @strerror(i32 noundef %20041) #10
  %20043 = call ptr @__errno_location() #11
  %20044 = load i32, ptr %20043, align 4, !tbaa !5
  %20045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20032, ptr noundef @.str.66, i32 noundef %20033, ptr noundef @.str.193, ptr noundef @.str.62, i32 noundef 874, ptr noundef %20036, ptr noundef %20039, ptr noundef %20042, i32 noundef %20044) #10
  br label %20046

20046:                                            ; preds = %20029, %20012
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #10
  br label %20047

20047:                                            ; preds = %20046
  br label %20048

20048:                                            ; preds = %20047
  call void @exit(i32 noundef 1) #12
  unreachable

20049:                                            ; No predecessors!
  br label %20050

20050:                                            ; preds = %20049
  br label %20051

20051:                                            ; preds = %20050, %19988
  br label %20052

20052:                                            ; preds = %20051
  br label %20053

20053:                                            ; preds = %20052
  br label %20054

20054:                                            ; preds = %20053
  %20055 = load i32, ptr @test_count, align 4, !tbaa !5
  %20056 = add nsw i32 %20055, 1
  store i32 %20056, ptr @test_count, align 4, !tbaa !5
  %20057 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 2
  %20058 = load i32, ptr %20057, align 4, !tbaa !27
  %20059 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 1
  %20060 = load i32, ptr %20059, align 8, !tbaa !30
  %20061 = sub i32 %20058, %20060
  %20062 = icmp ugt i32 %20061, 0
  br i1 %20062, label %20116, label %20063

20063:                                            ; preds = %20054
  br label %20064

20064:                                            ; preds = %20063
  br label %20065

20065:                                            ; preds = %20064
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #10
  %20066 = call ptr @__errno_location() #11
  %20067 = load i32, ptr %20066, align 4, !tbaa !5
  store i32 %20067, ptr %409, align 4, !tbaa !5
  %20068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20069 = call i32 @s2n_print_stacktrace(ptr noundef %20068)
  %20070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20071 = trunc i8 %20070 to i1
  br i1 %20071, label %20072, label %20094

20072:                                            ; preds = %20065
  %20073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20074 = call i32 @fileno(ptr noundef %20073) #10
  %20075 = call i32 @isatty(i32 noundef %20074) #10
  %20076 = icmp ne i32 %20075, 0
  br i1 %20076, label %20077, label %20094

20077:                                            ; preds = %20072
  %20078 = load i32, ptr %409, align 4, !tbaa !5
  %20079 = call ptr @__errno_location() #11
  store i32 %20078, ptr %20079, align 4, !tbaa !5
  %20080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20081 = load i32, ptr @test_count, align 4, !tbaa !5
  %20082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20083 = load i32, ptr %20082, align 4, !tbaa !5
  %20084 = call ptr @s2n_strerror(i32 noundef %20083, ptr noundef @.str.65)
  %20085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20086 = load i32, ptr %20085, align 4, !tbaa !5
  %20087 = call ptr @s2n_strerror_debug(i32 noundef %20086, ptr noundef @.str.65)
  %20088 = call ptr @__errno_location() #11
  %20089 = load i32, ptr %20088, align 4, !tbaa !5
  %20090 = call ptr @strerror(i32 noundef %20089) #10
  %20091 = call ptr @__errno_location() #11
  %20092 = load i32, ptr %20091, align 4, !tbaa !5
  %20093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20080, ptr noundef @.str.63, i32 noundef %20081, ptr noundef @.str.194, ptr noundef @.str.62, i32 noundef 875, ptr noundef %20084, ptr noundef %20087, ptr noundef %20090, i32 noundef %20092) #10
  br label %20111

20094:                                            ; preds = %20072, %20065
  %20095 = load i32, ptr %409, align 4, !tbaa !5
  %20096 = call ptr @__errno_location() #11
  store i32 %20095, ptr %20096, align 4, !tbaa !5
  %20097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20098 = load i32, ptr @test_count, align 4, !tbaa !5
  %20099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20100 = load i32, ptr %20099, align 4, !tbaa !5
  %20101 = call ptr @s2n_strerror(i32 noundef %20100, ptr noundef @.str.65)
  %20102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20103 = load i32, ptr %20102, align 4, !tbaa !5
  %20104 = call ptr @s2n_strerror_debug(i32 noundef %20103, ptr noundef @.str.65)
  %20105 = call ptr @__errno_location() #11
  %20106 = load i32, ptr %20105, align 4, !tbaa !5
  %20107 = call ptr @strerror(i32 noundef %20106) #10
  %20108 = call ptr @__errno_location() #11
  %20109 = load i32, ptr %20108, align 4, !tbaa !5
  %20110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20097, ptr noundef @.str.66, i32 noundef %20098, ptr noundef @.str.194, ptr noundef @.str.62, i32 noundef 875, ptr noundef %20101, ptr noundef %20104, ptr noundef %20107, i32 noundef %20109) #10
  br label %20111

20111:                                            ; preds = %20094, %20077
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #10
  br label %20112

20112:                                            ; preds = %20111
  br label %20113

20113:                                            ; preds = %20112
  call void @exit(i32 noundef 1) #12
  unreachable

20114:                                            ; No predecessors!
  br label %20115

20115:                                            ; preds = %20114
  br label %20116

20116:                                            ; preds = %20115, %20054
  br label %20117

20117:                                            ; preds = %20116
  br label %20118

20118:                                            ; preds = %20117
  br label %20119

20119:                                            ; preds = %20118
  %20120 = load i32, ptr @test_count, align 4, !tbaa !5
  %20121 = add nsw i32 %20120, 1
  store i32 %20121, ptr @test_count, align 4, !tbaa !5
  %20122 = load ptr, ptr %395, align 8, !tbaa !9
  %20123 = load ptr, ptr %398, align 8, !tbaa !9
  %20124 = call i32 @s2n_wipe_connections(ptr noundef %20122, ptr noundef %20123, ptr noundef %400)
  %20125 = getelementptr inbounds %struct.s2n_result, ptr %410, i32 0, i32 0
  store i32 %20124, ptr %20125, align 4
  %20126 = getelementptr inbounds %struct.s2n_result, ptr %410, i32 0, i32 0
  %20127 = load i32, ptr %20126, align 4
  %20128 = call zeroext i1 @s2n_result_is_ok(i32 %20127)
  br i1 %20128, label %20182, label %20129

20129:                                            ; preds = %20119
  br label %20130

20130:                                            ; preds = %20129
  br label %20131

20131:                                            ; preds = %20130
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #10
  %20132 = call ptr @__errno_location() #11
  %20133 = load i32, ptr %20132, align 4, !tbaa !5
  store i32 %20133, ptr %411, align 4, !tbaa !5
  %20134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20135 = call i32 @s2n_print_stacktrace(ptr noundef %20134)
  %20136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20137 = trunc i8 %20136 to i1
  br i1 %20137, label %20138, label %20160

20138:                                            ; preds = %20131
  %20139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20140 = call i32 @fileno(ptr noundef %20139) #10
  %20141 = call i32 @isatty(i32 noundef %20140) #10
  %20142 = icmp ne i32 %20141, 0
  br i1 %20142, label %20143, label %20160

20143:                                            ; preds = %20138
  %20144 = load i32, ptr %411, align 4, !tbaa !5
  %20145 = call ptr @__errno_location() #11
  store i32 %20144, ptr %20145, align 4, !tbaa !5
  %20146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20147 = load i32, ptr @test_count, align 4, !tbaa !5
  %20148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20149 = load i32, ptr %20148, align 4, !tbaa !5
  %20150 = call ptr @s2n_strerror(i32 noundef %20149, ptr noundef @.str.65)
  %20151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20152 = load i32, ptr %20151, align 4, !tbaa !5
  %20153 = call ptr @s2n_strerror_debug(i32 noundef %20152, ptr noundef @.str.65)
  %20154 = call ptr @__errno_location() #11
  %20155 = load i32, ptr %20154, align 4, !tbaa !5
  %20156 = call ptr @strerror(i32 noundef %20155) #10
  %20157 = call ptr @__errno_location() #11
  %20158 = load i32, ptr %20157, align 4, !tbaa !5
  %20159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20146, ptr noundef @.str.63, i32 noundef %20147, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 877, ptr noundef %20150, ptr noundef %20153, ptr noundef %20156, i32 noundef %20158) #10
  br label %20177

20160:                                            ; preds = %20138, %20131
  %20161 = load i32, ptr %411, align 4, !tbaa !5
  %20162 = call ptr @__errno_location() #11
  store i32 %20161, ptr %20162, align 4, !tbaa !5
  %20163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20164 = load i32, ptr @test_count, align 4, !tbaa !5
  %20165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20166 = load i32, ptr %20165, align 4, !tbaa !5
  %20167 = call ptr @s2n_strerror(i32 noundef %20166, ptr noundef @.str.65)
  %20168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20169 = load i32, ptr %20168, align 4, !tbaa !5
  %20170 = call ptr @s2n_strerror_debug(i32 noundef %20169, ptr noundef @.str.65)
  %20171 = call ptr @__errno_location() #11
  %20172 = load i32, ptr %20171, align 4, !tbaa !5
  %20173 = call ptr @strerror(i32 noundef %20172) #10
  %20174 = call ptr @__errno_location() #11
  %20175 = load i32, ptr %20174, align 4, !tbaa !5
  %20176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20163, ptr noundef @.str.66, i32 noundef %20164, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 877, ptr noundef %20167, ptr noundef %20170, ptr noundef %20173, i32 noundef %20175) #10
  br label %20177

20177:                                            ; preds = %20160, %20143
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #10
  br label %20178

20178:                                            ; preds = %20177
  br label %20179

20179:                                            ; preds = %20178
  call void @exit(i32 noundef 1) #12
  unreachable

20180:                                            ; No predecessors!
  br label %20181

20181:                                            ; preds = %20180
  br label %20182

20182:                                            ; preds = %20181, %20119
  br label %20183

20183:                                            ; preds = %20182
  br label %20184

20184:                                            ; preds = %20183
  br label %20185

20185:                                            ; preds = %20184
  %20186 = load i32, ptr @test_count, align 4, !tbaa !5
  %20187 = add nsw i32 %20186, 1
  store i32 %20187, ptr @test_count, align 4, !tbaa !5
  %20188 = load ptr, ptr %398, align 8, !tbaa !9
  %20189 = load ptr, ptr %378, align 8, !tbaa !9
  %20190 = call i32 @s2n_connection_set_config(ptr noundef %20188, ptr noundef %20189)
  %20191 = icmp eq i32 %20190, -1
  br i1 %20191, label %20192, label %20245

20192:                                            ; preds = %20185
  br label %20193

20193:                                            ; preds = %20192
  br label %20194

20194:                                            ; preds = %20193
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #10
  %20195 = call ptr @__errno_location() #11
  %20196 = load i32, ptr %20195, align 4, !tbaa !5
  store i32 %20196, ptr %412, align 4, !tbaa !5
  %20197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20198 = call i32 @s2n_print_stacktrace(ptr noundef %20197)
  %20199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20200 = trunc i8 %20199 to i1
  br i1 %20200, label %20201, label %20223

20201:                                            ; preds = %20194
  %20202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20203 = call i32 @fileno(ptr noundef %20202) #10
  %20204 = call i32 @isatty(i32 noundef %20203) #10
  %20205 = icmp ne i32 %20204, 0
  br i1 %20205, label %20206, label %20223

20206:                                            ; preds = %20201
  %20207 = load i32, ptr %412, align 4, !tbaa !5
  %20208 = call ptr @__errno_location() #11
  store i32 %20207, ptr %20208, align 4, !tbaa !5
  %20209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20210 = load i32, ptr @test_count, align 4, !tbaa !5
  %20211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20212 = load i32, ptr %20211, align 4, !tbaa !5
  %20213 = call ptr @s2n_strerror(i32 noundef %20212, ptr noundef @.str.65)
  %20214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20215 = load i32, ptr %20214, align 4, !tbaa !5
  %20216 = call ptr @s2n_strerror_debug(i32 noundef %20215, ptr noundef @.str.65)
  %20217 = call ptr @__errno_location() #11
  %20218 = load i32, ptr %20217, align 4, !tbaa !5
  %20219 = call ptr @strerror(i32 noundef %20218) #10
  %20220 = call ptr @__errno_location() #11
  %20221 = load i32, ptr %20220, align 4, !tbaa !5
  %20222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20209, ptr noundef @.str.63, i32 noundef %20210, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 882, ptr noundef %20213, ptr noundef %20216, ptr noundef %20219, i32 noundef %20221) #10
  br label %20240

20223:                                            ; preds = %20201, %20194
  %20224 = load i32, ptr %412, align 4, !tbaa !5
  %20225 = call ptr @__errno_location() #11
  store i32 %20224, ptr %20225, align 4, !tbaa !5
  %20226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20227 = load i32, ptr @test_count, align 4, !tbaa !5
  %20228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20229 = load i32, ptr %20228, align 4, !tbaa !5
  %20230 = call ptr @s2n_strerror(i32 noundef %20229, ptr noundef @.str.65)
  %20231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20232 = load i32, ptr %20231, align 4, !tbaa !5
  %20233 = call ptr @s2n_strerror_debug(i32 noundef %20232, ptr noundef @.str.65)
  %20234 = call ptr @__errno_location() #11
  %20235 = load i32, ptr %20234, align 4, !tbaa !5
  %20236 = call ptr @strerror(i32 noundef %20235) #10
  %20237 = call ptr @__errno_location() #11
  %20238 = load i32, ptr %20237, align 4, !tbaa !5
  %20239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20226, ptr noundef @.str.66, i32 noundef %20227, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 882, ptr noundef %20230, ptr noundef %20233, ptr noundef %20236, i32 noundef %20238) #10
  br label %20240

20240:                                            ; preds = %20223, %20206
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #10
  br label %20241

20241:                                            ; preds = %20240
  br label %20242

20242:                                            ; preds = %20241
  call void @exit(i32 noundef 1) #12
  unreachable

20243:                                            ; No predecessors!
  br label %20244

20244:                                            ; preds = %20243
  br label %20245

20245:                                            ; preds = %20244, %20185
  br label %20246

20246:                                            ; preds = %20245
  br label %20247

20247:                                            ; preds = %20246
  br label %20248

20248:                                            ; preds = %20247
  %20249 = load i32, ptr @test_count, align 4, !tbaa !5
  %20250 = add nsw i32 %20249, 1
  store i32 %20250, ptr @test_count, align 4, !tbaa !5
  %20251 = load ptr, ptr %398, align 8, !tbaa !9
  %20252 = load ptr, ptr %395, align 8, !tbaa !9
  %20253 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %20251, ptr noundef %20252)
  %20254 = icmp eq i32 %20253, -1
  br i1 %20254, label %20255, label %20308

20255:                                            ; preds = %20248
  br label %20256

20256:                                            ; preds = %20255
  br label %20257

20257:                                            ; preds = %20256
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #10
  %20258 = call ptr @__errno_location() #11
  %20259 = load i32, ptr %20258, align 4, !tbaa !5
  store i32 %20259, ptr %413, align 4, !tbaa !5
  %20260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20261 = call i32 @s2n_print_stacktrace(ptr noundef %20260)
  %20262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20263 = trunc i8 %20262 to i1
  br i1 %20263, label %20264, label %20286

20264:                                            ; preds = %20257
  %20265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20266 = call i32 @fileno(ptr noundef %20265) #10
  %20267 = call i32 @isatty(i32 noundef %20266) #10
  %20268 = icmp ne i32 %20267, 0
  br i1 %20268, label %20269, label %20286

20269:                                            ; preds = %20264
  %20270 = load i32, ptr %413, align 4, !tbaa !5
  %20271 = call ptr @__errno_location() #11
  store i32 %20270, ptr %20271, align 4, !tbaa !5
  %20272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20273 = load i32, ptr @test_count, align 4, !tbaa !5
  %20274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20275 = load i32, ptr %20274, align 4, !tbaa !5
  %20276 = call ptr @s2n_strerror(i32 noundef %20275, ptr noundef @.str.65)
  %20277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20278 = load i32, ptr %20277, align 4, !tbaa !5
  %20279 = call ptr @s2n_strerror_debug(i32 noundef %20278, ptr noundef @.str.65)
  %20280 = call ptr @__errno_location() #11
  %20281 = load i32, ptr %20280, align 4, !tbaa !5
  %20282 = call ptr @strerror(i32 noundef %20281) #10
  %20283 = call ptr @__errno_location() #11
  %20284 = load i32, ptr %20283, align 4, !tbaa !5
  %20285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20272, ptr noundef @.str.63, i32 noundef %20273, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 884, ptr noundef %20276, ptr noundef %20279, ptr noundef %20282, i32 noundef %20284) #10
  br label %20303

20286:                                            ; preds = %20264, %20257
  %20287 = load i32, ptr %413, align 4, !tbaa !5
  %20288 = call ptr @__errno_location() #11
  store i32 %20287, ptr %20288, align 4, !tbaa !5
  %20289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20290 = load i32, ptr @test_count, align 4, !tbaa !5
  %20291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20292 = load i32, ptr %20291, align 4, !tbaa !5
  %20293 = call ptr @s2n_strerror(i32 noundef %20292, ptr noundef @.str.65)
  %20294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20295 = load i32, ptr %20294, align 4, !tbaa !5
  %20296 = call ptr @s2n_strerror_debug(i32 noundef %20295, ptr noundef @.str.65)
  %20297 = call ptr @__errno_location() #11
  %20298 = load i32, ptr %20297, align 4, !tbaa !5
  %20299 = call ptr @strerror(i32 noundef %20298) #10
  %20300 = call ptr @__errno_location() #11
  %20301 = load i32, ptr %20300, align 4, !tbaa !5
  %20302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20289, ptr noundef @.str.66, i32 noundef %20290, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 884, ptr noundef %20293, ptr noundef %20296, ptr noundef %20299, i32 noundef %20301) #10
  br label %20303

20303:                                            ; preds = %20286, %20269
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #10
  br label %20304

20304:                                            ; preds = %20303
  br label %20305

20305:                                            ; preds = %20304
  call void @exit(i32 noundef 1) #12
  unreachable

20306:                                            ; No predecessors!
  br label %20307

20307:                                            ; preds = %20306
  br label %20308

20308:                                            ; preds = %20307, %20248
  br label %20309

20309:                                            ; preds = %20308
  br label %20310

20310:                                            ; preds = %20309
  br label %20311

20311:                                            ; preds = %20310
  %20312 = load i32, ptr @test_count, align 4, !tbaa !5
  %20313 = add nsw i32 %20312, 1
  store i32 %20313, ptr @test_count, align 4, !tbaa !5
  %20314 = load ptr, ptr %398, align 8, !tbaa !9
  %20315 = getelementptr inbounds %struct.s2n_connection, ptr %20314, i32 0, i32 23
  %20316 = load i8, ptr %20315, align 4, !tbaa !66
  %20317 = zext i8 %20316 to i32
  %20318 = icmp eq i32 %20317, 33
  br i1 %20318, label %20372, label %20319

20319:                                            ; preds = %20311
  br label %20320

20320:                                            ; preds = %20319
  br label %20321

20321:                                            ; preds = %20320
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #10
  %20322 = call ptr @__errno_location() #11
  %20323 = load i32, ptr %20322, align 4, !tbaa !5
  store i32 %20323, ptr %414, align 4, !tbaa !5
  %20324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20325 = call i32 @s2n_print_stacktrace(ptr noundef %20324)
  %20326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20327 = trunc i8 %20326 to i1
  br i1 %20327, label %20328, label %20350

20328:                                            ; preds = %20321
  %20329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20330 = call i32 @fileno(ptr noundef %20329) #10
  %20331 = call i32 @isatty(i32 noundef %20330) #10
  %20332 = icmp ne i32 %20331, 0
  br i1 %20332, label %20333, label %20350

20333:                                            ; preds = %20328
  %20334 = load i32, ptr %414, align 4, !tbaa !5
  %20335 = call ptr @__errno_location() #11
  store i32 %20334, ptr %20335, align 4, !tbaa !5
  %20336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20337 = load i32, ptr @test_count, align 4, !tbaa !5
  %20338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20339 = load i32, ptr %20338, align 4, !tbaa !5
  %20340 = call ptr @s2n_strerror(i32 noundef %20339, ptr noundef @.str.65)
  %20341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20342 = load i32, ptr %20341, align 4, !tbaa !5
  %20343 = call ptr @s2n_strerror_debug(i32 noundef %20342, ptr noundef @.str.65)
  %20344 = call ptr @__errno_location() #11
  %20345 = load i32, ptr %20344, align 4, !tbaa !5
  %20346 = call ptr @strerror(i32 noundef %20345) #10
  %20347 = call ptr @__errno_location() #11
  %20348 = load i32, ptr %20347, align 4, !tbaa !5
  %20349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20336, ptr noundef @.str.63, i32 noundef %20337, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 885, ptr noundef %20340, ptr noundef %20343, ptr noundef %20346, i32 noundef %20348) #10
  br label %20367

20350:                                            ; preds = %20328, %20321
  %20351 = load i32, ptr %414, align 4, !tbaa !5
  %20352 = call ptr @__errno_location() #11
  store i32 %20351, ptr %20352, align 4, !tbaa !5
  %20353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20354 = load i32, ptr @test_count, align 4, !tbaa !5
  %20355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20356 = load i32, ptr %20355, align 4, !tbaa !5
  %20357 = call ptr @s2n_strerror(i32 noundef %20356, ptr noundef @.str.65)
  %20358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20359 = load i32, ptr %20358, align 4, !tbaa !5
  %20360 = call ptr @s2n_strerror_debug(i32 noundef %20359, ptr noundef @.str.65)
  %20361 = call ptr @__errno_location() #11
  %20362 = load i32, ptr %20361, align 4, !tbaa !5
  %20363 = call ptr @strerror(i32 noundef %20362) #10
  %20364 = call ptr @__errno_location() #11
  %20365 = load i32, ptr %20364, align 4, !tbaa !5
  %20366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20353, ptr noundef @.str.66, i32 noundef %20354, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 885, ptr noundef %20357, ptr noundef %20360, ptr noundef %20363, i32 noundef %20365) #10
  br label %20367

20367:                                            ; preds = %20350, %20333
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #10
  br label %20368

20368:                                            ; preds = %20367
  br label %20369

20369:                                            ; preds = %20368
  call void @exit(i32 noundef 1) #12
  unreachable

20370:                                            ; No predecessors!
  br label %20371

20371:                                            ; preds = %20370
  br label %20372

20372:                                            ; preds = %20371, %20311
  br label %20373

20373:                                            ; preds = %20372
  br label %20374

20374:                                            ; preds = %20373
  br label %20375

20375:                                            ; preds = %20374
  %20376 = load i32, ptr @test_count, align 4, !tbaa !5
  %20377 = add nsw i32 %20376, 1
  store i32 %20377, ptr @test_count, align 4, !tbaa !5
  %20378 = load ptr, ptr %398, align 8, !tbaa !9
  %20379 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %20378, i32 noundef 2)
  br i1 %20379, label %20433, label %20380

20380:                                            ; preds = %20375
  br label %20381

20381:                                            ; preds = %20380
  br label %20382

20382:                                            ; preds = %20381
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #10
  %20383 = call ptr @__errno_location() #11
  %20384 = load i32, ptr %20383, align 4, !tbaa !5
  store i32 %20384, ptr %415, align 4, !tbaa !5
  %20385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20386 = call i32 @s2n_print_stacktrace(ptr noundef %20385)
  %20387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20388 = trunc i8 %20387 to i1
  br i1 %20388, label %20389, label %20411

20389:                                            ; preds = %20382
  %20390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20391 = call i32 @fileno(ptr noundef %20390) #10
  %20392 = call i32 @isatty(i32 noundef %20391) #10
  %20393 = icmp ne i32 %20392, 0
  br i1 %20393, label %20394, label %20411

20394:                                            ; preds = %20389
  %20395 = load i32, ptr %415, align 4, !tbaa !5
  %20396 = call ptr @__errno_location() #11
  store i32 %20395, ptr %20396, align 4, !tbaa !5
  %20397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20398 = load i32, ptr @test_count, align 4, !tbaa !5
  %20399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20400 = load i32, ptr %20399, align 4, !tbaa !5
  %20401 = call ptr @s2n_strerror(i32 noundef %20400, ptr noundef @.str.65)
  %20402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20403 = load i32, ptr %20402, align 4, !tbaa !5
  %20404 = call ptr @s2n_strerror_debug(i32 noundef %20403, ptr noundef @.str.65)
  %20405 = call ptr @__errno_location() #11
  %20406 = load i32, ptr %20405, align 4, !tbaa !5
  %20407 = call ptr @strerror(i32 noundef %20406) #10
  %20408 = call ptr @__errno_location() #11
  %20409 = load i32, ptr %20408, align 4, !tbaa !5
  %20410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20397, ptr noundef @.str.63, i32 noundef %20398, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 886, ptr noundef %20401, ptr noundef %20404, ptr noundef %20407, i32 noundef %20409) #10
  br label %20428

20411:                                            ; preds = %20389, %20382
  %20412 = load i32, ptr %415, align 4, !tbaa !5
  %20413 = call ptr @__errno_location() #11
  store i32 %20412, ptr %20413, align 4, !tbaa !5
  %20414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20415 = load i32, ptr @test_count, align 4, !tbaa !5
  %20416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20417 = load i32, ptr %20416, align 4, !tbaa !5
  %20418 = call ptr @s2n_strerror(i32 noundef %20417, ptr noundef @.str.65)
  %20419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20420 = load i32, ptr %20419, align 4, !tbaa !5
  %20421 = call ptr @s2n_strerror_debug(i32 noundef %20420, ptr noundef @.str.65)
  %20422 = call ptr @__errno_location() #11
  %20423 = load i32, ptr %20422, align 4, !tbaa !5
  %20424 = call ptr @strerror(i32 noundef %20423) #10
  %20425 = call ptr @__errno_location() #11
  %20426 = load i32, ptr %20425, align 4, !tbaa !5
  %20427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20414, ptr noundef @.str.66, i32 noundef %20415, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 886, ptr noundef %20418, ptr noundef %20421, ptr noundef %20424, i32 noundef %20426) #10
  br label %20428

20428:                                            ; preds = %20411, %20394
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #10
  br label %20429

20429:                                            ; preds = %20428
  br label %20430

20430:                                            ; preds = %20429
  call void @exit(i32 noundef 1) #12
  unreachable

20431:                                            ; No predecessors!
  br label %20432

20432:                                            ; preds = %20431
  br label %20433

20433:                                            ; preds = %20432, %20375
  br label %20434

20434:                                            ; preds = %20433
  br label %20435

20435:                                            ; preds = %20434
  br label %20436

20436:                                            ; preds = %20435
  %20437 = load i32, ptr @test_count, align 4, !tbaa !5
  %20438 = add nsw i32 %20437, 1
  store i32 %20438, ptr @test_count, align 4, !tbaa !5
  %20439 = load ptr, ptr %398, align 8, !tbaa !9
  %20440 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %20439, i32 noundef 64)
  br i1 %20440, label %20441, label %20494

20441:                                            ; preds = %20436
  br label %20442

20442:                                            ; preds = %20441
  br label %20443

20443:                                            ; preds = %20442
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #10
  %20444 = call ptr @__errno_location() #11
  %20445 = load i32, ptr %20444, align 4, !tbaa !5
  store i32 %20445, ptr %416, align 4, !tbaa !5
  %20446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20447 = call i32 @s2n_print_stacktrace(ptr noundef %20446)
  %20448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20449 = trunc i8 %20448 to i1
  br i1 %20449, label %20450, label %20472

20450:                                            ; preds = %20443
  %20451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20452 = call i32 @fileno(ptr noundef %20451) #10
  %20453 = call i32 @isatty(i32 noundef %20452) #10
  %20454 = icmp ne i32 %20453, 0
  br i1 %20454, label %20455, label %20472

20455:                                            ; preds = %20450
  %20456 = load i32, ptr %416, align 4, !tbaa !5
  %20457 = call ptr @__errno_location() #11
  store i32 %20456, ptr %20457, align 4, !tbaa !5
  %20458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20459 = load i32, ptr @test_count, align 4, !tbaa !5
  %20460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20461 = load i32, ptr %20460, align 4, !tbaa !5
  %20462 = call ptr @s2n_strerror(i32 noundef %20461, ptr noundef @.str.65)
  %20463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20464 = load i32, ptr %20463, align 4, !tbaa !5
  %20465 = call ptr @s2n_strerror_debug(i32 noundef %20464, ptr noundef @.str.65)
  %20466 = call ptr @__errno_location() #11
  %20467 = load i32, ptr %20466, align 4, !tbaa !5
  %20468 = call ptr @strerror(i32 noundef %20467) #10
  %20469 = call ptr @__errno_location() #11
  %20470 = load i32, ptr %20469, align 4, !tbaa !5
  %20471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20458, ptr noundef @.str.63, i32 noundef %20459, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 887, ptr noundef %20462, ptr noundef %20465, ptr noundef %20468, i32 noundef %20470) #10
  br label %20489

20472:                                            ; preds = %20450, %20443
  %20473 = load i32, ptr %416, align 4, !tbaa !5
  %20474 = call ptr @__errno_location() #11
  store i32 %20473, ptr %20474, align 4, !tbaa !5
  %20475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20476 = load i32, ptr @test_count, align 4, !tbaa !5
  %20477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20478 = load i32, ptr %20477, align 4, !tbaa !5
  %20479 = call ptr @s2n_strerror(i32 noundef %20478, ptr noundef @.str.65)
  %20480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20481 = load i32, ptr %20480, align 4, !tbaa !5
  %20482 = call ptr @s2n_strerror_debug(i32 noundef %20481, ptr noundef @.str.65)
  %20483 = call ptr @__errno_location() #11
  %20484 = load i32, ptr %20483, align 4, !tbaa !5
  %20485 = call ptr @strerror(i32 noundef %20484) #10
  %20486 = call ptr @__errno_location() #11
  %20487 = load i32, ptr %20486, align 4, !tbaa !5
  %20488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20475, ptr noundef @.str.66, i32 noundef %20476, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 887, ptr noundef %20479, ptr noundef %20482, ptr noundef %20485, i32 noundef %20487) #10
  br label %20489

20489:                                            ; preds = %20472, %20455
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #10
  br label %20490

20490:                                            ; preds = %20489
  br label %20491

20491:                                            ; preds = %20490
  call void @exit(i32 noundef 1) #12
  unreachable

20492:                                            ; No predecessors!
  br label %20493

20493:                                            ; preds = %20492
  br label %20494

20494:                                            ; preds = %20493, %20436
  br label %20495

20495:                                            ; preds = %20494
  br label %20496

20496:                                            ; preds = %20495
  br label %20497

20497:                                            ; preds = %20496
  %20498 = load i32, ptr @test_count, align 4, !tbaa !5
  %20499 = add nsw i32 %20498, 1
  store i32 %20499, ptr @test_count, align 4, !tbaa !5
  %20500 = load ptr, ptr %395, align 8, !tbaa !9
  %20501 = load ptr, ptr %398, align 8, !tbaa !9
  %20502 = call i32 @s2n_wipe_connections(ptr noundef %20500, ptr noundef %20501, ptr noundef %400)
  %20503 = getelementptr inbounds %struct.s2n_result, ptr %417, i32 0, i32 0
  store i32 %20502, ptr %20503, align 4
  %20504 = getelementptr inbounds %struct.s2n_result, ptr %417, i32 0, i32 0
  %20505 = load i32, ptr %20504, align 4
  %20506 = call zeroext i1 @s2n_result_is_ok(i32 %20505)
  br i1 %20506, label %20560, label %20507

20507:                                            ; preds = %20497
  br label %20508

20508:                                            ; preds = %20507
  br label %20509

20509:                                            ; preds = %20508
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #10
  %20510 = call ptr @__errno_location() #11
  %20511 = load i32, ptr %20510, align 4, !tbaa !5
  store i32 %20511, ptr %418, align 4, !tbaa !5
  %20512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20513 = call i32 @s2n_print_stacktrace(ptr noundef %20512)
  %20514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20515 = trunc i8 %20514 to i1
  br i1 %20515, label %20516, label %20538

20516:                                            ; preds = %20509
  %20517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20518 = call i32 @fileno(ptr noundef %20517) #10
  %20519 = call i32 @isatty(i32 noundef %20518) #10
  %20520 = icmp ne i32 %20519, 0
  br i1 %20520, label %20521, label %20538

20521:                                            ; preds = %20516
  %20522 = load i32, ptr %418, align 4, !tbaa !5
  %20523 = call ptr @__errno_location() #11
  store i32 %20522, ptr %20523, align 4, !tbaa !5
  %20524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20525 = load i32, ptr @test_count, align 4, !tbaa !5
  %20526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20527 = load i32, ptr %20526, align 4, !tbaa !5
  %20528 = call ptr @s2n_strerror(i32 noundef %20527, ptr noundef @.str.65)
  %20529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20530 = load i32, ptr %20529, align 4, !tbaa !5
  %20531 = call ptr @s2n_strerror_debug(i32 noundef %20530, ptr noundef @.str.65)
  %20532 = call ptr @__errno_location() #11
  %20533 = load i32, ptr %20532, align 4, !tbaa !5
  %20534 = call ptr @strerror(i32 noundef %20533) #10
  %20535 = call ptr @__errno_location() #11
  %20536 = load i32, ptr %20535, align 4, !tbaa !5
  %20537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20524, ptr noundef @.str.63, i32 noundef %20525, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 889, ptr noundef %20528, ptr noundef %20531, ptr noundef %20534, i32 noundef %20536) #10
  br label %20555

20538:                                            ; preds = %20516, %20509
  %20539 = load i32, ptr %418, align 4, !tbaa !5
  %20540 = call ptr @__errno_location() #11
  store i32 %20539, ptr %20540, align 4, !tbaa !5
  %20541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20542 = load i32, ptr @test_count, align 4, !tbaa !5
  %20543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20544 = load i32, ptr %20543, align 4, !tbaa !5
  %20545 = call ptr @s2n_strerror(i32 noundef %20544, ptr noundef @.str.65)
  %20546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20547 = load i32, ptr %20546, align 4, !tbaa !5
  %20548 = call ptr @s2n_strerror_debug(i32 noundef %20547, ptr noundef @.str.65)
  %20549 = call ptr @__errno_location() #11
  %20550 = load i32, ptr %20549, align 4, !tbaa !5
  %20551 = call ptr @strerror(i32 noundef %20550) #10
  %20552 = call ptr @__errno_location() #11
  %20553 = load i32, ptr %20552, align 4, !tbaa !5
  %20554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20541, ptr noundef @.str.66, i32 noundef %20542, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 889, ptr noundef %20545, ptr noundef %20548, ptr noundef %20551, i32 noundef %20553) #10
  br label %20555

20555:                                            ; preds = %20538, %20521
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #10
  br label %20556

20556:                                            ; preds = %20555
  br label %20557

20557:                                            ; preds = %20556
  call void @exit(i32 noundef 1) #12
  unreachable

20558:                                            ; No predecessors!
  br label %20559

20559:                                            ; preds = %20558
  br label %20560

20560:                                            ; preds = %20559, %20497
  br label %20561

20561:                                            ; preds = %20560
  br label %20562

20562:                                            ; preds = %20561
  br label %20563

20563:                                            ; preds = %20562
  %20564 = load i32, ptr @test_count, align 4, !tbaa !5
  %20565 = add nsw i32 %20564, 1
  store i32 %20565, ptr @test_count, align 4, !tbaa !5
  %20566 = load ptr, ptr %398, align 8, !tbaa !9
  %20567 = load ptr, ptr %383, align 8, !tbaa !9
  %20568 = call i32 @s2n_connection_set_config(ptr noundef %20566, ptr noundef %20567)
  %20569 = icmp eq i32 %20568, -1
  br i1 %20569, label %20570, label %20623

20570:                                            ; preds = %20563
  br label %20571

20571:                                            ; preds = %20570
  br label %20572

20572:                                            ; preds = %20571
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #10
  %20573 = call ptr @__errno_location() #11
  %20574 = load i32, ptr %20573, align 4, !tbaa !5
  store i32 %20574, ptr %419, align 4, !tbaa !5
  %20575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20576 = call i32 @s2n_print_stacktrace(ptr noundef %20575)
  %20577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20578 = trunc i8 %20577 to i1
  br i1 %20578, label %20579, label %20601

20579:                                            ; preds = %20572
  %20580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20581 = call i32 @fileno(ptr noundef %20580) #10
  %20582 = call i32 @isatty(i32 noundef %20581) #10
  %20583 = icmp ne i32 %20582, 0
  br i1 %20583, label %20584, label %20601

20584:                                            ; preds = %20579
  %20585 = load i32, ptr %419, align 4, !tbaa !5
  %20586 = call ptr @__errno_location() #11
  store i32 %20585, ptr %20586, align 4, !tbaa !5
  %20587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20588 = load i32, ptr @test_count, align 4, !tbaa !5
  %20589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20590 = load i32, ptr %20589, align 4, !tbaa !5
  %20591 = call ptr @s2n_strerror(i32 noundef %20590, ptr noundef @.str.65)
  %20592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20593 = load i32, ptr %20592, align 4, !tbaa !5
  %20594 = call ptr @s2n_strerror_debug(i32 noundef %20593, ptr noundef @.str.65)
  %20595 = call ptr @__errno_location() #11
  %20596 = load i32, ptr %20595, align 4, !tbaa !5
  %20597 = call ptr @strerror(i32 noundef %20596) #10
  %20598 = call ptr @__errno_location() #11
  %20599 = load i32, ptr %20598, align 4, !tbaa !5
  %20600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20587, ptr noundef @.str.63, i32 noundef %20588, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 894, ptr noundef %20591, ptr noundef %20594, ptr noundef %20597, i32 noundef %20599) #10
  br label %20618

20601:                                            ; preds = %20579, %20572
  %20602 = load i32, ptr %419, align 4, !tbaa !5
  %20603 = call ptr @__errno_location() #11
  store i32 %20602, ptr %20603, align 4, !tbaa !5
  %20604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20605 = load i32, ptr @test_count, align 4, !tbaa !5
  %20606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20607 = load i32, ptr %20606, align 4, !tbaa !5
  %20608 = call ptr @s2n_strerror(i32 noundef %20607, ptr noundef @.str.65)
  %20609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20610 = load i32, ptr %20609, align 4, !tbaa !5
  %20611 = call ptr @s2n_strerror_debug(i32 noundef %20610, ptr noundef @.str.65)
  %20612 = call ptr @__errno_location() #11
  %20613 = load i32, ptr %20612, align 4, !tbaa !5
  %20614 = call ptr @strerror(i32 noundef %20613) #10
  %20615 = call ptr @__errno_location() #11
  %20616 = load i32, ptr %20615, align 4, !tbaa !5
  %20617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20604, ptr noundef @.str.66, i32 noundef %20605, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 894, ptr noundef %20608, ptr noundef %20611, ptr noundef %20614, i32 noundef %20616) #10
  br label %20618

20618:                                            ; preds = %20601, %20584
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #10
  br label %20619

20619:                                            ; preds = %20618
  br label %20620

20620:                                            ; preds = %20619
  call void @exit(i32 noundef 1) #12
  unreachable

20621:                                            ; No predecessors!
  br label %20622

20622:                                            ; preds = %20621
  br label %20623

20623:                                            ; preds = %20622, %20563
  br label %20624

20624:                                            ; preds = %20623
  br label %20625

20625:                                            ; preds = %20624
  br label %20626

20626:                                            ; preds = %20625
  %20627 = load i32, ptr @test_count, align 4, !tbaa !5
  %20628 = add nsw i32 %20627, 1
  store i32 %20628, ptr @test_count, align 4, !tbaa !5
  %20629 = load ptr, ptr %398, align 8, !tbaa !9
  %20630 = load ptr, ptr %395, align 8, !tbaa !9
  %20631 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %20629, ptr noundef %20630)
  %20632 = icmp eq i32 %20631, -1
  br i1 %20632, label %20633, label %20686

20633:                                            ; preds = %20626
  br label %20634

20634:                                            ; preds = %20633
  br label %20635

20635:                                            ; preds = %20634
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #10
  %20636 = call ptr @__errno_location() #11
  %20637 = load i32, ptr %20636, align 4, !tbaa !5
  store i32 %20637, ptr %420, align 4, !tbaa !5
  %20638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20639 = call i32 @s2n_print_stacktrace(ptr noundef %20638)
  %20640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20641 = trunc i8 %20640 to i1
  br i1 %20641, label %20642, label %20664

20642:                                            ; preds = %20635
  %20643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20644 = call i32 @fileno(ptr noundef %20643) #10
  %20645 = call i32 @isatty(i32 noundef %20644) #10
  %20646 = icmp ne i32 %20645, 0
  br i1 %20646, label %20647, label %20664

20647:                                            ; preds = %20642
  %20648 = load i32, ptr %420, align 4, !tbaa !5
  %20649 = call ptr @__errno_location() #11
  store i32 %20648, ptr %20649, align 4, !tbaa !5
  %20650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20651 = load i32, ptr @test_count, align 4, !tbaa !5
  %20652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20653 = load i32, ptr %20652, align 4, !tbaa !5
  %20654 = call ptr @s2n_strerror(i32 noundef %20653, ptr noundef @.str.65)
  %20655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20656 = load i32, ptr %20655, align 4, !tbaa !5
  %20657 = call ptr @s2n_strerror_debug(i32 noundef %20656, ptr noundef @.str.65)
  %20658 = call ptr @__errno_location() #11
  %20659 = load i32, ptr %20658, align 4, !tbaa !5
  %20660 = call ptr @strerror(i32 noundef %20659) #10
  %20661 = call ptr @__errno_location() #11
  %20662 = load i32, ptr %20661, align 4, !tbaa !5
  %20663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20650, ptr noundef @.str.63, i32 noundef %20651, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 896, ptr noundef %20654, ptr noundef %20657, ptr noundef %20660, i32 noundef %20662) #10
  br label %20681

20664:                                            ; preds = %20642, %20635
  %20665 = load i32, ptr %420, align 4, !tbaa !5
  %20666 = call ptr @__errno_location() #11
  store i32 %20665, ptr %20666, align 4, !tbaa !5
  %20667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20668 = load i32, ptr @test_count, align 4, !tbaa !5
  %20669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20670 = load i32, ptr %20669, align 4, !tbaa !5
  %20671 = call ptr @s2n_strerror(i32 noundef %20670, ptr noundef @.str.65)
  %20672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20673 = load i32, ptr %20672, align 4, !tbaa !5
  %20674 = call ptr @s2n_strerror_debug(i32 noundef %20673, ptr noundef @.str.65)
  %20675 = call ptr @__errno_location() #11
  %20676 = load i32, ptr %20675, align 4, !tbaa !5
  %20677 = call ptr @strerror(i32 noundef %20676) #10
  %20678 = call ptr @__errno_location() #11
  %20679 = load i32, ptr %20678, align 4, !tbaa !5
  %20680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20667, ptr noundef @.str.66, i32 noundef %20668, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 896, ptr noundef %20671, ptr noundef %20674, ptr noundef %20677, i32 noundef %20679) #10
  br label %20681

20681:                                            ; preds = %20664, %20647
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #10
  br label %20682

20682:                                            ; preds = %20681
  br label %20683

20683:                                            ; preds = %20682
  call void @exit(i32 noundef 1) #12
  unreachable

20684:                                            ; No predecessors!
  br label %20685

20685:                                            ; preds = %20684
  br label %20686

20686:                                            ; preds = %20685, %20626
  br label %20687

20687:                                            ; preds = %20686
  br label %20688

20688:                                            ; preds = %20687
  br label %20689

20689:                                            ; preds = %20688
  %20690 = load i32, ptr @test_count, align 4, !tbaa !5
  %20691 = add nsw i32 %20690, 1
  store i32 %20691, ptr @test_count, align 4, !tbaa !5
  %20692 = load ptr, ptr %398, align 8, !tbaa !9
  %20693 = getelementptr inbounds %struct.s2n_connection, ptr %20692, i32 0, i32 23
  %20694 = load i8, ptr %20693, align 4, !tbaa !66
  %20695 = zext i8 %20694 to i32
  %20696 = icmp eq i32 %20695, 33
  br i1 %20696, label %20750, label %20697

20697:                                            ; preds = %20689
  br label %20698

20698:                                            ; preds = %20697
  br label %20699

20699:                                            ; preds = %20698
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #10
  %20700 = call ptr @__errno_location() #11
  %20701 = load i32, ptr %20700, align 4, !tbaa !5
  store i32 %20701, ptr %421, align 4, !tbaa !5
  %20702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20703 = call i32 @s2n_print_stacktrace(ptr noundef %20702)
  %20704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20705 = trunc i8 %20704 to i1
  br i1 %20705, label %20706, label %20728

20706:                                            ; preds = %20699
  %20707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20708 = call i32 @fileno(ptr noundef %20707) #10
  %20709 = call i32 @isatty(i32 noundef %20708) #10
  %20710 = icmp ne i32 %20709, 0
  br i1 %20710, label %20711, label %20728

20711:                                            ; preds = %20706
  %20712 = load i32, ptr %421, align 4, !tbaa !5
  %20713 = call ptr @__errno_location() #11
  store i32 %20712, ptr %20713, align 4, !tbaa !5
  %20714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20715 = load i32, ptr @test_count, align 4, !tbaa !5
  %20716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20717 = load i32, ptr %20716, align 4, !tbaa !5
  %20718 = call ptr @s2n_strerror(i32 noundef %20717, ptr noundef @.str.65)
  %20719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20720 = load i32, ptr %20719, align 4, !tbaa !5
  %20721 = call ptr @s2n_strerror_debug(i32 noundef %20720, ptr noundef @.str.65)
  %20722 = call ptr @__errno_location() #11
  %20723 = load i32, ptr %20722, align 4, !tbaa !5
  %20724 = call ptr @strerror(i32 noundef %20723) #10
  %20725 = call ptr @__errno_location() #11
  %20726 = load i32, ptr %20725, align 4, !tbaa !5
  %20727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20714, ptr noundef @.str.63, i32 noundef %20715, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 897, ptr noundef %20718, ptr noundef %20721, ptr noundef %20724, i32 noundef %20726) #10
  br label %20745

20728:                                            ; preds = %20706, %20699
  %20729 = load i32, ptr %421, align 4, !tbaa !5
  %20730 = call ptr @__errno_location() #11
  store i32 %20729, ptr %20730, align 4, !tbaa !5
  %20731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20732 = load i32, ptr @test_count, align 4, !tbaa !5
  %20733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20734 = load i32, ptr %20733, align 4, !tbaa !5
  %20735 = call ptr @s2n_strerror(i32 noundef %20734, ptr noundef @.str.65)
  %20736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20737 = load i32, ptr %20736, align 4, !tbaa !5
  %20738 = call ptr @s2n_strerror_debug(i32 noundef %20737, ptr noundef @.str.65)
  %20739 = call ptr @__errno_location() #11
  %20740 = load i32, ptr %20739, align 4, !tbaa !5
  %20741 = call ptr @strerror(i32 noundef %20740) #10
  %20742 = call ptr @__errno_location() #11
  %20743 = load i32, ptr %20742, align 4, !tbaa !5
  %20744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20731, ptr noundef @.str.66, i32 noundef %20732, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 897, ptr noundef %20735, ptr noundef %20738, ptr noundef %20741, i32 noundef %20743) #10
  br label %20745

20745:                                            ; preds = %20728, %20711
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #10
  br label %20746

20746:                                            ; preds = %20745
  br label %20747

20747:                                            ; preds = %20746
  call void @exit(i32 noundef 1) #12
  unreachable

20748:                                            ; No predecessors!
  br label %20749

20749:                                            ; preds = %20748
  br label %20750

20750:                                            ; preds = %20749, %20689
  br label %20751

20751:                                            ; preds = %20750
  br label %20752

20752:                                            ; preds = %20751
  br label %20753

20753:                                            ; preds = %20752
  %20754 = load i32, ptr @test_count, align 4, !tbaa !5
  %20755 = add nsw i32 %20754, 1
  store i32 %20755, ptr @test_count, align 4, !tbaa !5
  %20756 = load ptr, ptr %398, align 8, !tbaa !9
  %20757 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %20756, i32 noundef 2)
  br i1 %20757, label %20811, label %20758

20758:                                            ; preds = %20753
  br label %20759

20759:                                            ; preds = %20758
  br label %20760

20760:                                            ; preds = %20759
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #10
  %20761 = call ptr @__errno_location() #11
  %20762 = load i32, ptr %20761, align 4, !tbaa !5
  store i32 %20762, ptr %422, align 4, !tbaa !5
  %20763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20764 = call i32 @s2n_print_stacktrace(ptr noundef %20763)
  %20765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20766 = trunc i8 %20765 to i1
  br i1 %20766, label %20767, label %20789

20767:                                            ; preds = %20760
  %20768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20769 = call i32 @fileno(ptr noundef %20768) #10
  %20770 = call i32 @isatty(i32 noundef %20769) #10
  %20771 = icmp ne i32 %20770, 0
  br i1 %20771, label %20772, label %20789

20772:                                            ; preds = %20767
  %20773 = load i32, ptr %422, align 4, !tbaa !5
  %20774 = call ptr @__errno_location() #11
  store i32 %20773, ptr %20774, align 4, !tbaa !5
  %20775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20776 = load i32, ptr @test_count, align 4, !tbaa !5
  %20777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20778 = load i32, ptr %20777, align 4, !tbaa !5
  %20779 = call ptr @s2n_strerror(i32 noundef %20778, ptr noundef @.str.65)
  %20780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20781 = load i32, ptr %20780, align 4, !tbaa !5
  %20782 = call ptr @s2n_strerror_debug(i32 noundef %20781, ptr noundef @.str.65)
  %20783 = call ptr @__errno_location() #11
  %20784 = load i32, ptr %20783, align 4, !tbaa !5
  %20785 = call ptr @strerror(i32 noundef %20784) #10
  %20786 = call ptr @__errno_location() #11
  %20787 = load i32, ptr %20786, align 4, !tbaa !5
  %20788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20775, ptr noundef @.str.63, i32 noundef %20776, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 898, ptr noundef %20779, ptr noundef %20782, ptr noundef %20785, i32 noundef %20787) #10
  br label %20806

20789:                                            ; preds = %20767, %20760
  %20790 = load i32, ptr %422, align 4, !tbaa !5
  %20791 = call ptr @__errno_location() #11
  store i32 %20790, ptr %20791, align 4, !tbaa !5
  %20792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20793 = load i32, ptr @test_count, align 4, !tbaa !5
  %20794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20795 = load i32, ptr %20794, align 4, !tbaa !5
  %20796 = call ptr @s2n_strerror(i32 noundef %20795, ptr noundef @.str.65)
  %20797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20798 = load i32, ptr %20797, align 4, !tbaa !5
  %20799 = call ptr @s2n_strerror_debug(i32 noundef %20798, ptr noundef @.str.65)
  %20800 = call ptr @__errno_location() #11
  %20801 = load i32, ptr %20800, align 4, !tbaa !5
  %20802 = call ptr @strerror(i32 noundef %20801) #10
  %20803 = call ptr @__errno_location() #11
  %20804 = load i32, ptr %20803, align 4, !tbaa !5
  %20805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20792, ptr noundef @.str.66, i32 noundef %20793, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 898, ptr noundef %20796, ptr noundef %20799, ptr noundef %20802, i32 noundef %20804) #10
  br label %20806

20806:                                            ; preds = %20789, %20772
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #10
  br label %20807

20807:                                            ; preds = %20806
  br label %20808

20808:                                            ; preds = %20807
  call void @exit(i32 noundef 1) #12
  unreachable

20809:                                            ; No predecessors!
  br label %20810

20810:                                            ; preds = %20809
  br label %20811

20811:                                            ; preds = %20810, %20753
  br label %20812

20812:                                            ; preds = %20811
  br label %20813

20813:                                            ; preds = %20812
  br label %20814

20814:                                            ; preds = %20813
  %20815 = load i32, ptr @test_count, align 4, !tbaa !5
  %20816 = add nsw i32 %20815, 1
  store i32 %20816, ptr @test_count, align 4, !tbaa !5
  %20817 = load ptr, ptr %398, align 8, !tbaa !9
  %20818 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %20817, i32 noundef 64)
  br i1 %20818, label %20819, label %20872

20819:                                            ; preds = %20814
  br label %20820

20820:                                            ; preds = %20819
  br label %20821

20821:                                            ; preds = %20820
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #10
  %20822 = call ptr @__errno_location() #11
  %20823 = load i32, ptr %20822, align 4, !tbaa !5
  store i32 %20823, ptr %423, align 4, !tbaa !5
  %20824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20825 = call i32 @s2n_print_stacktrace(ptr noundef %20824)
  %20826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20827 = trunc i8 %20826 to i1
  br i1 %20827, label %20828, label %20850

20828:                                            ; preds = %20821
  %20829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20830 = call i32 @fileno(ptr noundef %20829) #10
  %20831 = call i32 @isatty(i32 noundef %20830) #10
  %20832 = icmp ne i32 %20831, 0
  br i1 %20832, label %20833, label %20850

20833:                                            ; preds = %20828
  %20834 = load i32, ptr %423, align 4, !tbaa !5
  %20835 = call ptr @__errno_location() #11
  store i32 %20834, ptr %20835, align 4, !tbaa !5
  %20836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20837 = load i32, ptr @test_count, align 4, !tbaa !5
  %20838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20839 = load i32, ptr %20838, align 4, !tbaa !5
  %20840 = call ptr @s2n_strerror(i32 noundef %20839, ptr noundef @.str.65)
  %20841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20842 = load i32, ptr %20841, align 4, !tbaa !5
  %20843 = call ptr @s2n_strerror_debug(i32 noundef %20842, ptr noundef @.str.65)
  %20844 = call ptr @__errno_location() #11
  %20845 = load i32, ptr %20844, align 4, !tbaa !5
  %20846 = call ptr @strerror(i32 noundef %20845) #10
  %20847 = call ptr @__errno_location() #11
  %20848 = load i32, ptr %20847, align 4, !tbaa !5
  %20849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20836, ptr noundef @.str.63, i32 noundef %20837, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 899, ptr noundef %20840, ptr noundef %20843, ptr noundef %20846, i32 noundef %20848) #10
  br label %20867

20850:                                            ; preds = %20828, %20821
  %20851 = load i32, ptr %423, align 4, !tbaa !5
  %20852 = call ptr @__errno_location() #11
  store i32 %20851, ptr %20852, align 4, !tbaa !5
  %20853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20854 = load i32, ptr @test_count, align 4, !tbaa !5
  %20855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20856 = load i32, ptr %20855, align 4, !tbaa !5
  %20857 = call ptr @s2n_strerror(i32 noundef %20856, ptr noundef @.str.65)
  %20858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20859 = load i32, ptr %20858, align 4, !tbaa !5
  %20860 = call ptr @s2n_strerror_debug(i32 noundef %20859, ptr noundef @.str.65)
  %20861 = call ptr @__errno_location() #11
  %20862 = load i32, ptr %20861, align 4, !tbaa !5
  %20863 = call ptr @strerror(i32 noundef %20862) #10
  %20864 = call ptr @__errno_location() #11
  %20865 = load i32, ptr %20864, align 4, !tbaa !5
  %20866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20853, ptr noundef @.str.66, i32 noundef %20854, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 899, ptr noundef %20857, ptr noundef %20860, ptr noundef %20863, i32 noundef %20865) #10
  br label %20867

20867:                                            ; preds = %20850, %20833
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #10
  br label %20868

20868:                                            ; preds = %20867
  br label %20869

20869:                                            ; preds = %20868
  call void @exit(i32 noundef 1) #12
  unreachable

20870:                                            ; No predecessors!
  br label %20871

20871:                                            ; preds = %20870
  br label %20872

20872:                                            ; preds = %20871, %20814
  br label %20873

20873:                                            ; preds = %20872
  br label %20874

20874:                                            ; preds = %20873
  br label %20875

20875:                                            ; preds = %20874
  %20876 = load i32, ptr @test_count, align 4, !tbaa !5
  %20877 = add nsw i32 %20876, 1
  store i32 %20877, ptr @test_count, align 4, !tbaa !5
  %20878 = load ptr, ptr %395, align 8, !tbaa !9
  %20879 = load ptr, ptr %398, align 8, !tbaa !9
  %20880 = call i32 @s2n_wipe_connections(ptr noundef %20878, ptr noundef %20879, ptr noundef %400)
  %20881 = getelementptr inbounds %struct.s2n_result, ptr %424, i32 0, i32 0
  store i32 %20880, ptr %20881, align 4
  %20882 = getelementptr inbounds %struct.s2n_result, ptr %424, i32 0, i32 0
  %20883 = load i32, ptr %20882, align 4
  %20884 = call zeroext i1 @s2n_result_is_ok(i32 %20883)
  br i1 %20884, label %20938, label %20885

20885:                                            ; preds = %20875
  br label %20886

20886:                                            ; preds = %20885
  br label %20887

20887:                                            ; preds = %20886
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #10
  %20888 = call ptr @__errno_location() #11
  %20889 = load i32, ptr %20888, align 4, !tbaa !5
  store i32 %20889, ptr %425, align 4, !tbaa !5
  %20890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20891 = call i32 @s2n_print_stacktrace(ptr noundef %20890)
  %20892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20893 = trunc i8 %20892 to i1
  br i1 %20893, label %20894, label %20916

20894:                                            ; preds = %20887
  %20895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20896 = call i32 @fileno(ptr noundef %20895) #10
  %20897 = call i32 @isatty(i32 noundef %20896) #10
  %20898 = icmp ne i32 %20897, 0
  br i1 %20898, label %20899, label %20916

20899:                                            ; preds = %20894
  %20900 = load i32, ptr %425, align 4, !tbaa !5
  %20901 = call ptr @__errno_location() #11
  store i32 %20900, ptr %20901, align 4, !tbaa !5
  %20902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20903 = load i32, ptr @test_count, align 4, !tbaa !5
  %20904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20905 = load i32, ptr %20904, align 4, !tbaa !5
  %20906 = call ptr @s2n_strerror(i32 noundef %20905, ptr noundef @.str.65)
  %20907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20908 = load i32, ptr %20907, align 4, !tbaa !5
  %20909 = call ptr @s2n_strerror_debug(i32 noundef %20908, ptr noundef @.str.65)
  %20910 = call ptr @__errno_location() #11
  %20911 = load i32, ptr %20910, align 4, !tbaa !5
  %20912 = call ptr @strerror(i32 noundef %20911) #10
  %20913 = call ptr @__errno_location() #11
  %20914 = load i32, ptr %20913, align 4, !tbaa !5
  %20915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20902, ptr noundef @.str.63, i32 noundef %20903, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 901, ptr noundef %20906, ptr noundef %20909, ptr noundef %20912, i32 noundef %20914) #10
  br label %20933

20916:                                            ; preds = %20894, %20887
  %20917 = load i32, ptr %425, align 4, !tbaa !5
  %20918 = call ptr @__errno_location() #11
  store i32 %20917, ptr %20918, align 4, !tbaa !5
  %20919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20920 = load i32, ptr @test_count, align 4, !tbaa !5
  %20921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20922 = load i32, ptr %20921, align 4, !tbaa !5
  %20923 = call ptr @s2n_strerror(i32 noundef %20922, ptr noundef @.str.65)
  %20924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20925 = load i32, ptr %20924, align 4, !tbaa !5
  %20926 = call ptr @s2n_strerror_debug(i32 noundef %20925, ptr noundef @.str.65)
  %20927 = call ptr @__errno_location() #11
  %20928 = load i32, ptr %20927, align 4, !tbaa !5
  %20929 = call ptr @strerror(i32 noundef %20928) #10
  %20930 = call ptr @__errno_location() #11
  %20931 = load i32, ptr %20930, align 4, !tbaa !5
  %20932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20919, ptr noundef @.str.66, i32 noundef %20920, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 901, ptr noundef %20923, ptr noundef %20926, ptr noundef %20929, i32 noundef %20931) #10
  br label %20933

20933:                                            ; preds = %20916, %20899
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #10
  br label %20934

20934:                                            ; preds = %20933
  br label %20935

20935:                                            ; preds = %20934
  call void @exit(i32 noundef 1) #12
  unreachable

20936:                                            ; No predecessors!
  br label %20937

20937:                                            ; preds = %20936
  br label %20938

20938:                                            ; preds = %20937, %20875
  br label %20939

20939:                                            ; preds = %20938
  br label %20940

20940:                                            ; preds = %20939
  br label %20941

20941:                                            ; preds = %20940
  %20942 = load i32, ptr @test_count, align 4, !tbaa !5
  %20943 = add nsw i32 %20942, 1
  store i32 %20943, ptr @test_count, align 4, !tbaa !5
  %20944 = load ptr, ptr %398, align 8, !tbaa !9
  %20945 = load ptr, ptr %20, align 8, !tbaa !9
  %20946 = call i32 @s2n_connection_set_config(ptr noundef %20944, ptr noundef %20945)
  %20947 = icmp eq i32 %20946, -1
  br i1 %20947, label %20948, label %21001

20948:                                            ; preds = %20941
  br label %20949

20949:                                            ; preds = %20948
  br label %20950

20950:                                            ; preds = %20949
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #10
  %20951 = call ptr @__errno_location() #11
  %20952 = load i32, ptr %20951, align 4, !tbaa !5
  store i32 %20952, ptr %426, align 4, !tbaa !5
  %20953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20954 = call i32 @s2n_print_stacktrace(ptr noundef %20953)
  %20955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20956 = trunc i8 %20955 to i1
  br i1 %20956, label %20957, label %20979

20957:                                            ; preds = %20950
  %20958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20959 = call i32 @fileno(ptr noundef %20958) #10
  %20960 = call i32 @isatty(i32 noundef %20959) #10
  %20961 = icmp ne i32 %20960, 0
  br i1 %20961, label %20962, label %20979

20962:                                            ; preds = %20957
  %20963 = load i32, ptr %426, align 4, !tbaa !5
  %20964 = call ptr @__errno_location() #11
  store i32 %20963, ptr %20964, align 4, !tbaa !5
  %20965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20966 = load i32, ptr @test_count, align 4, !tbaa !5
  %20967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20968 = load i32, ptr %20967, align 4, !tbaa !5
  %20969 = call ptr @s2n_strerror(i32 noundef %20968, ptr noundef @.str.65)
  %20970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20971 = load i32, ptr %20970, align 4, !tbaa !5
  %20972 = call ptr @s2n_strerror_debug(i32 noundef %20971, ptr noundef @.str.65)
  %20973 = call ptr @__errno_location() #11
  %20974 = load i32, ptr %20973, align 4, !tbaa !5
  %20975 = call ptr @strerror(i32 noundef %20974) #10
  %20976 = call ptr @__errno_location() #11
  %20977 = load i32, ptr %20976, align 4, !tbaa !5
  %20978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20965, ptr noundef @.str.63, i32 noundef %20966, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 906, ptr noundef %20969, ptr noundef %20972, ptr noundef %20975, i32 noundef %20977) #10
  br label %20996

20979:                                            ; preds = %20957, %20950
  %20980 = load i32, ptr %426, align 4, !tbaa !5
  %20981 = call ptr @__errno_location() #11
  store i32 %20980, ptr %20981, align 4, !tbaa !5
  %20982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20983 = load i32, ptr @test_count, align 4, !tbaa !5
  %20984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20985 = load i32, ptr %20984, align 4, !tbaa !5
  %20986 = call ptr @s2n_strerror(i32 noundef %20985, ptr noundef @.str.65)
  %20987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20988 = load i32, ptr %20987, align 4, !tbaa !5
  %20989 = call ptr @s2n_strerror_debug(i32 noundef %20988, ptr noundef @.str.65)
  %20990 = call ptr @__errno_location() #11
  %20991 = load i32, ptr %20990, align 4, !tbaa !5
  %20992 = call ptr @strerror(i32 noundef %20991) #10
  %20993 = call ptr @__errno_location() #11
  %20994 = load i32, ptr %20993, align 4, !tbaa !5
  %20995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20982, ptr noundef @.str.66, i32 noundef %20983, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 906, ptr noundef %20986, ptr noundef %20989, ptr noundef %20992, i32 noundef %20994) #10
  br label %20996

20996:                                            ; preds = %20979, %20962
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #10
  br label %20997

20997:                                            ; preds = %20996
  br label %20998

20998:                                            ; preds = %20997
  call void @exit(i32 noundef 1) #12
  unreachable

20999:                                            ; No predecessors!
  br label %21000

21000:                                            ; preds = %20999
  br label %21001

21001:                                            ; preds = %21000, %20941
  br label %21002

21002:                                            ; preds = %21001
  br label %21003

21003:                                            ; preds = %21002
  br label %21004

21004:                                            ; preds = %21003
  %21005 = load i32, ptr @test_count, align 4, !tbaa !5
  %21006 = add nsw i32 %21005, 1
  store i32 %21006, ptr @test_count, align 4, !tbaa !5
  %21007 = load ptr, ptr %395, align 8, !tbaa !9
  %21008 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 0
  %21009 = getelementptr inbounds %struct.s2n_blob, ptr %21008, i32 0, i32 0
  %21010 = load ptr, ptr %21009, align 8, !tbaa !31
  %21011 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 2
  %21012 = load i32, ptr %21011, align 4, !tbaa !27
  %21013 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 1
  %21014 = load i32, ptr %21013, align 8, !tbaa !30
  %21015 = sub i32 %21012, %21014
  %21016 = zext i32 %21015 to i64
  %21017 = call i32 @s2n_connection_set_session(ptr noundef %21007, ptr noundef %21010, i64 noundef %21016)
  %21018 = icmp eq i32 %21017, -1
  br i1 %21018, label %21019, label %21072

21019:                                            ; preds = %21004
  br label %21020

21020:                                            ; preds = %21019
  br label %21021

21021:                                            ; preds = %21020
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #10
  %21022 = call ptr @__errno_location() #11
  %21023 = load i32, ptr %21022, align 4, !tbaa !5
  store i32 %21023, ptr %427, align 4, !tbaa !5
  %21024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21025 = call i32 @s2n_print_stacktrace(ptr noundef %21024)
  %21026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21027 = trunc i8 %21026 to i1
  br i1 %21027, label %21028, label %21050

21028:                                            ; preds = %21021
  %21029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21030 = call i32 @fileno(ptr noundef %21029) #10
  %21031 = call i32 @isatty(i32 noundef %21030) #10
  %21032 = icmp ne i32 %21031, 0
  br i1 %21032, label %21033, label %21050

21033:                                            ; preds = %21028
  %21034 = load i32, ptr %427, align 4, !tbaa !5
  %21035 = call ptr @__errno_location() #11
  store i32 %21034, ptr %21035, align 4, !tbaa !5
  %21036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21037 = load i32, ptr @test_count, align 4, !tbaa !5
  %21038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21039 = load i32, ptr %21038, align 4, !tbaa !5
  %21040 = call ptr @s2n_strerror(i32 noundef %21039, ptr noundef @.str.65)
  %21041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21042 = load i32, ptr %21041, align 4, !tbaa !5
  %21043 = call ptr @s2n_strerror_debug(i32 noundef %21042, ptr noundef @.str.65)
  %21044 = call ptr @__errno_location() #11
  %21045 = load i32, ptr %21044, align 4, !tbaa !5
  %21046 = call ptr @strerror(i32 noundef %21045) #10
  %21047 = call ptr @__errno_location() #11
  %21048 = load i32, ptr %21047, align 4, !tbaa !5
  %21049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21036, ptr noundef @.str.63, i32 noundef %21037, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 908, ptr noundef %21040, ptr noundef %21043, ptr noundef %21046, i32 noundef %21048) #10
  br label %21067

21050:                                            ; preds = %21028, %21021
  %21051 = load i32, ptr %427, align 4, !tbaa !5
  %21052 = call ptr @__errno_location() #11
  store i32 %21051, ptr %21052, align 4, !tbaa !5
  %21053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21054 = load i32, ptr @test_count, align 4, !tbaa !5
  %21055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21056 = load i32, ptr %21055, align 4, !tbaa !5
  %21057 = call ptr @s2n_strerror(i32 noundef %21056, ptr noundef @.str.65)
  %21058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21059 = load i32, ptr %21058, align 4, !tbaa !5
  %21060 = call ptr @s2n_strerror_debug(i32 noundef %21059, ptr noundef @.str.65)
  %21061 = call ptr @__errno_location() #11
  %21062 = load i32, ptr %21061, align 4, !tbaa !5
  %21063 = call ptr @strerror(i32 noundef %21062) #10
  %21064 = call ptr @__errno_location() #11
  %21065 = load i32, ptr %21064, align 4, !tbaa !5
  %21066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21053, ptr noundef @.str.66, i32 noundef %21054, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 908, ptr noundef %21057, ptr noundef %21060, ptr noundef %21063, i32 noundef %21065) #10
  br label %21067

21067:                                            ; preds = %21050, %21033
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #10
  br label %21068

21068:                                            ; preds = %21067
  br label %21069

21069:                                            ; preds = %21068
  call void @exit(i32 noundef 1) #12
  unreachable

21070:                                            ; No predecessors!
  br label %21071

21071:                                            ; preds = %21070
  br label %21072

21072:                                            ; preds = %21071, %21004
  br label %21073

21073:                                            ; preds = %21072
  br label %21074

21074:                                            ; preds = %21073
  br label %21075

21075:                                            ; preds = %21074
  %21076 = load i32, ptr @test_count, align 4, !tbaa !5
  %21077 = add nsw i32 %21076, 1
  store i32 %21077, ptr @test_count, align 4, !tbaa !5
  %21078 = load ptr, ptr %398, align 8, !tbaa !9
  %21079 = load ptr, ptr %395, align 8, !tbaa !9
  %21080 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %21078, ptr noundef %21079)
  %21081 = icmp eq i32 %21080, -1
  br i1 %21081, label %21082, label %21135

21082:                                            ; preds = %21075
  br label %21083

21083:                                            ; preds = %21082
  br label %21084

21084:                                            ; preds = %21083
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #10
  %21085 = call ptr @__errno_location() #11
  %21086 = load i32, ptr %21085, align 4, !tbaa !5
  store i32 %21086, ptr %428, align 4, !tbaa !5
  %21087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21088 = call i32 @s2n_print_stacktrace(ptr noundef %21087)
  %21089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21090 = trunc i8 %21089 to i1
  br i1 %21090, label %21091, label %21113

21091:                                            ; preds = %21084
  %21092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21093 = call i32 @fileno(ptr noundef %21092) #10
  %21094 = call i32 @isatty(i32 noundef %21093) #10
  %21095 = icmp ne i32 %21094, 0
  br i1 %21095, label %21096, label %21113

21096:                                            ; preds = %21091
  %21097 = load i32, ptr %428, align 4, !tbaa !5
  %21098 = call ptr @__errno_location() #11
  store i32 %21097, ptr %21098, align 4, !tbaa !5
  %21099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21100 = load i32, ptr @test_count, align 4, !tbaa !5
  %21101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21102 = load i32, ptr %21101, align 4, !tbaa !5
  %21103 = call ptr @s2n_strerror(i32 noundef %21102, ptr noundef @.str.65)
  %21104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21105 = load i32, ptr %21104, align 4, !tbaa !5
  %21106 = call ptr @s2n_strerror_debug(i32 noundef %21105, ptr noundef @.str.65)
  %21107 = call ptr @__errno_location() #11
  %21108 = load i32, ptr %21107, align 4, !tbaa !5
  %21109 = call ptr @strerror(i32 noundef %21108) #10
  %21110 = call ptr @__errno_location() #11
  %21111 = load i32, ptr %21110, align 4, !tbaa !5
  %21112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21099, ptr noundef @.str.63, i32 noundef %21100, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 910, ptr noundef %21103, ptr noundef %21106, ptr noundef %21109, i32 noundef %21111) #10
  br label %21130

21113:                                            ; preds = %21091, %21084
  %21114 = load i32, ptr %428, align 4, !tbaa !5
  %21115 = call ptr @__errno_location() #11
  store i32 %21114, ptr %21115, align 4, !tbaa !5
  %21116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21117 = load i32, ptr @test_count, align 4, !tbaa !5
  %21118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21119 = load i32, ptr %21118, align 4, !tbaa !5
  %21120 = call ptr @s2n_strerror(i32 noundef %21119, ptr noundef @.str.65)
  %21121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21122 = load i32, ptr %21121, align 4, !tbaa !5
  %21123 = call ptr @s2n_strerror_debug(i32 noundef %21122, ptr noundef @.str.65)
  %21124 = call ptr @__errno_location() #11
  %21125 = load i32, ptr %21124, align 4, !tbaa !5
  %21126 = call ptr @strerror(i32 noundef %21125) #10
  %21127 = call ptr @__errno_location() #11
  %21128 = load i32, ptr %21127, align 4, !tbaa !5
  %21129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21116, ptr noundef @.str.66, i32 noundef %21117, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 910, ptr noundef %21120, ptr noundef %21123, ptr noundef %21126, i32 noundef %21128) #10
  br label %21130

21130:                                            ; preds = %21113, %21096
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #10
  br label %21131

21131:                                            ; preds = %21130
  br label %21132

21132:                                            ; preds = %21131
  call void @exit(i32 noundef 1) #12
  unreachable

21133:                                            ; No predecessors!
  br label %21134

21134:                                            ; preds = %21133
  br label %21135

21135:                                            ; preds = %21134, %21075
  br label %21136

21136:                                            ; preds = %21135
  br label %21137

21137:                                            ; preds = %21136
  br label %21138

21138:                                            ; preds = %21137
  %21139 = load i32, ptr @test_count, align 4, !tbaa !5
  %21140 = add nsw i32 %21139, 1
  store i32 %21140, ptr @test_count, align 4, !tbaa !5
  %21141 = load ptr, ptr %398, align 8, !tbaa !9
  %21142 = getelementptr inbounds %struct.s2n_connection, ptr %21141, i32 0, i32 23
  %21143 = load i8, ptr %21142, align 4, !tbaa !66
  %21144 = zext i8 %21143 to i32
  %21145 = icmp eq i32 %21144, 33
  br i1 %21145, label %21199, label %21146

21146:                                            ; preds = %21138
  br label %21147

21147:                                            ; preds = %21146
  br label %21148

21148:                                            ; preds = %21147
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #10
  %21149 = call ptr @__errno_location() #11
  %21150 = load i32, ptr %21149, align 4, !tbaa !5
  store i32 %21150, ptr %429, align 4, !tbaa !5
  %21151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21152 = call i32 @s2n_print_stacktrace(ptr noundef %21151)
  %21153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21154 = trunc i8 %21153 to i1
  br i1 %21154, label %21155, label %21177

21155:                                            ; preds = %21148
  %21156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21157 = call i32 @fileno(ptr noundef %21156) #10
  %21158 = call i32 @isatty(i32 noundef %21157) #10
  %21159 = icmp ne i32 %21158, 0
  br i1 %21159, label %21160, label %21177

21160:                                            ; preds = %21155
  %21161 = load i32, ptr %429, align 4, !tbaa !5
  %21162 = call ptr @__errno_location() #11
  store i32 %21161, ptr %21162, align 4, !tbaa !5
  %21163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21164 = load i32, ptr @test_count, align 4, !tbaa !5
  %21165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21166 = load i32, ptr %21165, align 4, !tbaa !5
  %21167 = call ptr @s2n_strerror(i32 noundef %21166, ptr noundef @.str.65)
  %21168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21169 = load i32, ptr %21168, align 4, !tbaa !5
  %21170 = call ptr @s2n_strerror_debug(i32 noundef %21169, ptr noundef @.str.65)
  %21171 = call ptr @__errno_location() #11
  %21172 = load i32, ptr %21171, align 4, !tbaa !5
  %21173 = call ptr @strerror(i32 noundef %21172) #10
  %21174 = call ptr @__errno_location() #11
  %21175 = load i32, ptr %21174, align 4, !tbaa !5
  %21176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21163, ptr noundef @.str.63, i32 noundef %21164, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 911, ptr noundef %21167, ptr noundef %21170, ptr noundef %21173, i32 noundef %21175) #10
  br label %21194

21177:                                            ; preds = %21155, %21148
  %21178 = load i32, ptr %429, align 4, !tbaa !5
  %21179 = call ptr @__errno_location() #11
  store i32 %21178, ptr %21179, align 4, !tbaa !5
  %21180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21181 = load i32, ptr @test_count, align 4, !tbaa !5
  %21182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21183 = load i32, ptr %21182, align 4, !tbaa !5
  %21184 = call ptr @s2n_strerror(i32 noundef %21183, ptr noundef @.str.65)
  %21185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21186 = load i32, ptr %21185, align 4, !tbaa !5
  %21187 = call ptr @s2n_strerror_debug(i32 noundef %21186, ptr noundef @.str.65)
  %21188 = call ptr @__errno_location() #11
  %21189 = load i32, ptr %21188, align 4, !tbaa !5
  %21190 = call ptr @strerror(i32 noundef %21189) #10
  %21191 = call ptr @__errno_location() #11
  %21192 = load i32, ptr %21191, align 4, !tbaa !5
  %21193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21180, ptr noundef @.str.66, i32 noundef %21181, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 911, ptr noundef %21184, ptr noundef %21187, ptr noundef %21190, i32 noundef %21192) #10
  br label %21194

21194:                                            ; preds = %21177, %21160
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #10
  br label %21195

21195:                                            ; preds = %21194
  br label %21196

21196:                                            ; preds = %21195
  call void @exit(i32 noundef 1) #12
  unreachable

21197:                                            ; No predecessors!
  br label %21198

21198:                                            ; preds = %21197
  br label %21199

21199:                                            ; preds = %21198, %21138
  br label %21200

21200:                                            ; preds = %21199
  br label %21201

21201:                                            ; preds = %21200
  br label %21202

21202:                                            ; preds = %21201
  %21203 = load i32, ptr @test_count, align 4, !tbaa !5
  %21204 = add nsw i32 %21203, 1
  store i32 %21204, ptr @test_count, align 4, !tbaa !5
  %21205 = load ptr, ptr %398, align 8, !tbaa !9
  %21206 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %21205, i32 noundef 2)
  br i1 %21206, label %21207, label %21260

21207:                                            ; preds = %21202
  br label %21208

21208:                                            ; preds = %21207
  br label %21209

21209:                                            ; preds = %21208
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #10
  %21210 = call ptr @__errno_location() #11
  %21211 = load i32, ptr %21210, align 4, !tbaa !5
  store i32 %21211, ptr %430, align 4, !tbaa !5
  %21212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21213 = call i32 @s2n_print_stacktrace(ptr noundef %21212)
  %21214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21215 = trunc i8 %21214 to i1
  br i1 %21215, label %21216, label %21238

21216:                                            ; preds = %21209
  %21217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21218 = call i32 @fileno(ptr noundef %21217) #10
  %21219 = call i32 @isatty(i32 noundef %21218) #10
  %21220 = icmp ne i32 %21219, 0
  br i1 %21220, label %21221, label %21238

21221:                                            ; preds = %21216
  %21222 = load i32, ptr %430, align 4, !tbaa !5
  %21223 = call ptr @__errno_location() #11
  store i32 %21222, ptr %21223, align 4, !tbaa !5
  %21224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21225 = load i32, ptr @test_count, align 4, !tbaa !5
  %21226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21227 = load i32, ptr %21226, align 4, !tbaa !5
  %21228 = call ptr @s2n_strerror(i32 noundef %21227, ptr noundef @.str.65)
  %21229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21230 = load i32, ptr %21229, align 4, !tbaa !5
  %21231 = call ptr @s2n_strerror_debug(i32 noundef %21230, ptr noundef @.str.65)
  %21232 = call ptr @__errno_location() #11
  %21233 = load i32, ptr %21232, align 4, !tbaa !5
  %21234 = call ptr @strerror(i32 noundef %21233) #10
  %21235 = call ptr @__errno_location() #11
  %21236 = load i32, ptr %21235, align 4, !tbaa !5
  %21237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21224, ptr noundef @.str.63, i32 noundef %21225, ptr noundef @.str.200, ptr noundef @.str.62, i32 noundef 912, ptr noundef %21228, ptr noundef %21231, ptr noundef %21234, i32 noundef %21236) #10
  br label %21255

21238:                                            ; preds = %21216, %21209
  %21239 = load i32, ptr %430, align 4, !tbaa !5
  %21240 = call ptr @__errno_location() #11
  store i32 %21239, ptr %21240, align 4, !tbaa !5
  %21241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21242 = load i32, ptr @test_count, align 4, !tbaa !5
  %21243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21244 = load i32, ptr %21243, align 4, !tbaa !5
  %21245 = call ptr @s2n_strerror(i32 noundef %21244, ptr noundef @.str.65)
  %21246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21247 = load i32, ptr %21246, align 4, !tbaa !5
  %21248 = call ptr @s2n_strerror_debug(i32 noundef %21247, ptr noundef @.str.65)
  %21249 = call ptr @__errno_location() #11
  %21250 = load i32, ptr %21249, align 4, !tbaa !5
  %21251 = call ptr @strerror(i32 noundef %21250) #10
  %21252 = call ptr @__errno_location() #11
  %21253 = load i32, ptr %21252, align 4, !tbaa !5
  %21254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21241, ptr noundef @.str.66, i32 noundef %21242, ptr noundef @.str.200, ptr noundef @.str.62, i32 noundef 912, ptr noundef %21245, ptr noundef %21248, ptr noundef %21251, i32 noundef %21253) #10
  br label %21255

21255:                                            ; preds = %21238, %21221
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #10
  br label %21256

21256:                                            ; preds = %21255
  br label %21257

21257:                                            ; preds = %21256
  call void @exit(i32 noundef 1) #12
  unreachable

21258:                                            ; No predecessors!
  br label %21259

21259:                                            ; preds = %21258
  br label %21260

21260:                                            ; preds = %21259, %21202
  br label %21261

21261:                                            ; preds = %21260
  br label %21262

21262:                                            ; preds = %21261
  br label %21263

21263:                                            ; preds = %21262
  %21264 = load i32, ptr @test_count, align 4, !tbaa !5
  %21265 = add nsw i32 %21264, 1
  store i32 %21265, ptr @test_count, align 4, !tbaa !5
  %21266 = load ptr, ptr %398, align 8, !tbaa !9
  %21267 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %21266, i32 noundef 64)
  br i1 %21267, label %21268, label %21321

21268:                                            ; preds = %21263
  br label %21269

21269:                                            ; preds = %21268
  br label %21270

21270:                                            ; preds = %21269
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #10
  %21271 = call ptr @__errno_location() #11
  %21272 = load i32, ptr %21271, align 4, !tbaa !5
  store i32 %21272, ptr %431, align 4, !tbaa !5
  %21273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21274 = call i32 @s2n_print_stacktrace(ptr noundef %21273)
  %21275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21276 = trunc i8 %21275 to i1
  br i1 %21276, label %21277, label %21299

21277:                                            ; preds = %21270
  %21278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21279 = call i32 @fileno(ptr noundef %21278) #10
  %21280 = call i32 @isatty(i32 noundef %21279) #10
  %21281 = icmp ne i32 %21280, 0
  br i1 %21281, label %21282, label %21299

21282:                                            ; preds = %21277
  %21283 = load i32, ptr %431, align 4, !tbaa !5
  %21284 = call ptr @__errno_location() #11
  store i32 %21283, ptr %21284, align 4, !tbaa !5
  %21285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21286 = load i32, ptr @test_count, align 4, !tbaa !5
  %21287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21288 = load i32, ptr %21287, align 4, !tbaa !5
  %21289 = call ptr @s2n_strerror(i32 noundef %21288, ptr noundef @.str.65)
  %21290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21291 = load i32, ptr %21290, align 4, !tbaa !5
  %21292 = call ptr @s2n_strerror_debug(i32 noundef %21291, ptr noundef @.str.65)
  %21293 = call ptr @__errno_location() #11
  %21294 = load i32, ptr %21293, align 4, !tbaa !5
  %21295 = call ptr @strerror(i32 noundef %21294) #10
  %21296 = call ptr @__errno_location() #11
  %21297 = load i32, ptr %21296, align 4, !tbaa !5
  %21298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21285, ptr noundef @.str.63, i32 noundef %21286, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 913, ptr noundef %21289, ptr noundef %21292, ptr noundef %21295, i32 noundef %21297) #10
  br label %21316

21299:                                            ; preds = %21277, %21270
  %21300 = load i32, ptr %431, align 4, !tbaa !5
  %21301 = call ptr @__errno_location() #11
  store i32 %21300, ptr %21301, align 4, !tbaa !5
  %21302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21303 = load i32, ptr @test_count, align 4, !tbaa !5
  %21304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21305 = load i32, ptr %21304, align 4, !tbaa !5
  %21306 = call ptr @s2n_strerror(i32 noundef %21305, ptr noundef @.str.65)
  %21307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21308 = load i32, ptr %21307, align 4, !tbaa !5
  %21309 = call ptr @s2n_strerror_debug(i32 noundef %21308, ptr noundef @.str.65)
  %21310 = call ptr @__errno_location() #11
  %21311 = load i32, ptr %21310, align 4, !tbaa !5
  %21312 = call ptr @strerror(i32 noundef %21311) #10
  %21313 = call ptr @__errno_location() #11
  %21314 = load i32, ptr %21313, align 4, !tbaa !5
  %21315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21302, ptr noundef @.str.66, i32 noundef %21303, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 913, ptr noundef %21306, ptr noundef %21309, ptr noundef %21312, i32 noundef %21314) #10
  br label %21316

21316:                                            ; preds = %21299, %21282
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #10
  br label %21317

21317:                                            ; preds = %21316
  br label %21318

21318:                                            ; preds = %21317
  call void @exit(i32 noundef 1) #12
  unreachable

21319:                                            ; No predecessors!
  br label %21320

21320:                                            ; preds = %21319
  br label %21321

21321:                                            ; preds = %21320, %21263
  br label %21322

21322:                                            ; preds = %21321
  br label %21323

21323:                                            ; preds = %21322
  br label %21324

21324:                                            ; preds = %21323
  %21325 = load i32, ptr @test_count, align 4, !tbaa !5
  %21326 = add nsw i32 %21325, 1
  store i32 %21326, ptr @test_count, align 4, !tbaa !5
  %21327 = load ptr, ptr %395, align 8, !tbaa !9
  %21328 = load ptr, ptr %398, align 8, !tbaa !9
  %21329 = call i32 @s2n_wipe_connections(ptr noundef %21327, ptr noundef %21328, ptr noundef %400)
  %21330 = getelementptr inbounds %struct.s2n_result, ptr %432, i32 0, i32 0
  store i32 %21329, ptr %21330, align 4
  %21331 = getelementptr inbounds %struct.s2n_result, ptr %432, i32 0, i32 0
  %21332 = load i32, ptr %21331, align 4
  %21333 = call zeroext i1 @s2n_result_is_ok(i32 %21332)
  br i1 %21333, label %21387, label %21334

21334:                                            ; preds = %21324
  br label %21335

21335:                                            ; preds = %21334
  br label %21336

21336:                                            ; preds = %21335
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #10
  %21337 = call ptr @__errno_location() #11
  %21338 = load i32, ptr %21337, align 4, !tbaa !5
  store i32 %21338, ptr %433, align 4, !tbaa !5
  %21339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21340 = call i32 @s2n_print_stacktrace(ptr noundef %21339)
  %21341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21342 = trunc i8 %21341 to i1
  br i1 %21342, label %21343, label %21365

21343:                                            ; preds = %21336
  %21344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21345 = call i32 @fileno(ptr noundef %21344) #10
  %21346 = call i32 @isatty(i32 noundef %21345) #10
  %21347 = icmp ne i32 %21346, 0
  br i1 %21347, label %21348, label %21365

21348:                                            ; preds = %21343
  %21349 = load i32, ptr %433, align 4, !tbaa !5
  %21350 = call ptr @__errno_location() #11
  store i32 %21349, ptr %21350, align 4, !tbaa !5
  %21351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21352 = load i32, ptr @test_count, align 4, !tbaa !5
  %21353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21354 = load i32, ptr %21353, align 4, !tbaa !5
  %21355 = call ptr @s2n_strerror(i32 noundef %21354, ptr noundef @.str.65)
  %21356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21357 = load i32, ptr %21356, align 4, !tbaa !5
  %21358 = call ptr @s2n_strerror_debug(i32 noundef %21357, ptr noundef @.str.65)
  %21359 = call ptr @__errno_location() #11
  %21360 = load i32, ptr %21359, align 4, !tbaa !5
  %21361 = call ptr @strerror(i32 noundef %21360) #10
  %21362 = call ptr @__errno_location() #11
  %21363 = load i32, ptr %21362, align 4, !tbaa !5
  %21364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21351, ptr noundef @.str.63, i32 noundef %21352, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 915, ptr noundef %21355, ptr noundef %21358, ptr noundef %21361, i32 noundef %21363) #10
  br label %21382

21365:                                            ; preds = %21343, %21336
  %21366 = load i32, ptr %433, align 4, !tbaa !5
  %21367 = call ptr @__errno_location() #11
  store i32 %21366, ptr %21367, align 4, !tbaa !5
  %21368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21369 = load i32, ptr @test_count, align 4, !tbaa !5
  %21370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21371 = load i32, ptr %21370, align 4, !tbaa !5
  %21372 = call ptr @s2n_strerror(i32 noundef %21371, ptr noundef @.str.65)
  %21373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21374 = load i32, ptr %21373, align 4, !tbaa !5
  %21375 = call ptr @s2n_strerror_debug(i32 noundef %21374, ptr noundef @.str.65)
  %21376 = call ptr @__errno_location() #11
  %21377 = load i32, ptr %21376, align 4, !tbaa !5
  %21378 = call ptr @strerror(i32 noundef %21377) #10
  %21379 = call ptr @__errno_location() #11
  %21380 = load i32, ptr %21379, align 4, !tbaa !5
  %21381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21368, ptr noundef @.str.66, i32 noundef %21369, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 915, ptr noundef %21372, ptr noundef %21375, ptr noundef %21378, i32 noundef %21380) #10
  br label %21382

21382:                                            ; preds = %21365, %21348
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #10
  br label %21383

21383:                                            ; preds = %21382
  br label %21384

21384:                                            ; preds = %21383
  call void @exit(i32 noundef 1) #12
  unreachable

21385:                                            ; No predecessors!
  br label %21386

21386:                                            ; preds = %21385
  br label %21387

21387:                                            ; preds = %21386, %21324
  br label %21388

21388:                                            ; preds = %21387
  br label %21389

21389:                                            ; preds = %21388
  br label %21390

21390:                                            ; preds = %21389
  %21391 = load i32, ptr @test_count, align 4, !tbaa !5
  %21392 = add nsw i32 %21391, 1
  store i32 %21392, ptr @test_count, align 4, !tbaa !5
  %21393 = load ptr, ptr %398, align 8, !tbaa !9
  %21394 = load ptr, ptr %378, align 8, !tbaa !9
  %21395 = call i32 @s2n_connection_set_config(ptr noundef %21393, ptr noundef %21394)
  %21396 = icmp eq i32 %21395, -1
  br i1 %21396, label %21397, label %21450

21397:                                            ; preds = %21390
  br label %21398

21398:                                            ; preds = %21397
  br label %21399

21399:                                            ; preds = %21398
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #10
  %21400 = call ptr @__errno_location() #11
  %21401 = load i32, ptr %21400, align 4, !tbaa !5
  store i32 %21401, ptr %434, align 4, !tbaa !5
  %21402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21403 = call i32 @s2n_print_stacktrace(ptr noundef %21402)
  %21404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21405 = trunc i8 %21404 to i1
  br i1 %21405, label %21406, label %21428

21406:                                            ; preds = %21399
  %21407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21408 = call i32 @fileno(ptr noundef %21407) #10
  %21409 = call i32 @isatty(i32 noundef %21408) #10
  %21410 = icmp ne i32 %21409, 0
  br i1 %21410, label %21411, label %21428

21411:                                            ; preds = %21406
  %21412 = load i32, ptr %434, align 4, !tbaa !5
  %21413 = call ptr @__errno_location() #11
  store i32 %21412, ptr %21413, align 4, !tbaa !5
  %21414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21415 = load i32, ptr @test_count, align 4, !tbaa !5
  %21416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21417 = load i32, ptr %21416, align 4, !tbaa !5
  %21418 = call ptr @s2n_strerror(i32 noundef %21417, ptr noundef @.str.65)
  %21419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21420 = load i32, ptr %21419, align 4, !tbaa !5
  %21421 = call ptr @s2n_strerror_debug(i32 noundef %21420, ptr noundef @.str.65)
  %21422 = call ptr @__errno_location() #11
  %21423 = load i32, ptr %21422, align 4, !tbaa !5
  %21424 = call ptr @strerror(i32 noundef %21423) #10
  %21425 = call ptr @__errno_location() #11
  %21426 = load i32, ptr %21425, align 4, !tbaa !5
  %21427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21414, ptr noundef @.str.63, i32 noundef %21415, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 920, ptr noundef %21418, ptr noundef %21421, ptr noundef %21424, i32 noundef %21426) #10
  br label %21445

21428:                                            ; preds = %21406, %21399
  %21429 = load i32, ptr %434, align 4, !tbaa !5
  %21430 = call ptr @__errno_location() #11
  store i32 %21429, ptr %21430, align 4, !tbaa !5
  %21431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21432 = load i32, ptr @test_count, align 4, !tbaa !5
  %21433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21434 = load i32, ptr %21433, align 4, !tbaa !5
  %21435 = call ptr @s2n_strerror(i32 noundef %21434, ptr noundef @.str.65)
  %21436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21437 = load i32, ptr %21436, align 4, !tbaa !5
  %21438 = call ptr @s2n_strerror_debug(i32 noundef %21437, ptr noundef @.str.65)
  %21439 = call ptr @__errno_location() #11
  %21440 = load i32, ptr %21439, align 4, !tbaa !5
  %21441 = call ptr @strerror(i32 noundef %21440) #10
  %21442 = call ptr @__errno_location() #11
  %21443 = load i32, ptr %21442, align 4, !tbaa !5
  %21444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21431, ptr noundef @.str.66, i32 noundef %21432, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 920, ptr noundef %21435, ptr noundef %21438, ptr noundef %21441, i32 noundef %21443) #10
  br label %21445

21445:                                            ; preds = %21428, %21411
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #10
  br label %21446

21446:                                            ; preds = %21445
  br label %21447

21447:                                            ; preds = %21446
  call void @exit(i32 noundef 1) #12
  unreachable

21448:                                            ; No predecessors!
  br label %21449

21449:                                            ; preds = %21448
  br label %21450

21450:                                            ; preds = %21449, %21390
  br label %21451

21451:                                            ; preds = %21450
  br label %21452

21452:                                            ; preds = %21451
  br label %21453

21453:                                            ; preds = %21452
  %21454 = load i32, ptr @test_count, align 4, !tbaa !5
  %21455 = add nsw i32 %21454, 1
  store i32 %21455, ptr @test_count, align 4, !tbaa !5
  %21456 = load ptr, ptr %395, align 8, !tbaa !9
  %21457 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 0
  %21458 = getelementptr inbounds %struct.s2n_blob, ptr %21457, i32 0, i32 0
  %21459 = load ptr, ptr %21458, align 8, !tbaa !31
  %21460 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 2
  %21461 = load i32, ptr %21460, align 4, !tbaa !27
  %21462 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 1
  %21463 = load i32, ptr %21462, align 8, !tbaa !30
  %21464 = sub i32 %21461, %21463
  %21465 = zext i32 %21464 to i64
  %21466 = call i32 @s2n_connection_set_session(ptr noundef %21456, ptr noundef %21459, i64 noundef %21465)
  %21467 = icmp eq i32 %21466, -1
  br i1 %21467, label %21468, label %21521

21468:                                            ; preds = %21453
  br label %21469

21469:                                            ; preds = %21468
  br label %21470

21470:                                            ; preds = %21469
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #10
  %21471 = call ptr @__errno_location() #11
  %21472 = load i32, ptr %21471, align 4, !tbaa !5
  store i32 %21472, ptr %435, align 4, !tbaa !5
  %21473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21474 = call i32 @s2n_print_stacktrace(ptr noundef %21473)
  %21475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21476 = trunc i8 %21475 to i1
  br i1 %21476, label %21477, label %21499

21477:                                            ; preds = %21470
  %21478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21479 = call i32 @fileno(ptr noundef %21478) #10
  %21480 = call i32 @isatty(i32 noundef %21479) #10
  %21481 = icmp ne i32 %21480, 0
  br i1 %21481, label %21482, label %21499

21482:                                            ; preds = %21477
  %21483 = load i32, ptr %435, align 4, !tbaa !5
  %21484 = call ptr @__errno_location() #11
  store i32 %21483, ptr %21484, align 4, !tbaa !5
  %21485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21486 = load i32, ptr @test_count, align 4, !tbaa !5
  %21487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21488 = load i32, ptr %21487, align 4, !tbaa !5
  %21489 = call ptr @s2n_strerror(i32 noundef %21488, ptr noundef @.str.65)
  %21490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21491 = load i32, ptr %21490, align 4, !tbaa !5
  %21492 = call ptr @s2n_strerror_debug(i32 noundef %21491, ptr noundef @.str.65)
  %21493 = call ptr @__errno_location() #11
  %21494 = load i32, ptr %21493, align 4, !tbaa !5
  %21495 = call ptr @strerror(i32 noundef %21494) #10
  %21496 = call ptr @__errno_location() #11
  %21497 = load i32, ptr %21496, align 4, !tbaa !5
  %21498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21485, ptr noundef @.str.63, i32 noundef %21486, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 922, ptr noundef %21489, ptr noundef %21492, ptr noundef %21495, i32 noundef %21497) #10
  br label %21516

21499:                                            ; preds = %21477, %21470
  %21500 = load i32, ptr %435, align 4, !tbaa !5
  %21501 = call ptr @__errno_location() #11
  store i32 %21500, ptr %21501, align 4, !tbaa !5
  %21502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21503 = load i32, ptr @test_count, align 4, !tbaa !5
  %21504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21505 = load i32, ptr %21504, align 4, !tbaa !5
  %21506 = call ptr @s2n_strerror(i32 noundef %21505, ptr noundef @.str.65)
  %21507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21508 = load i32, ptr %21507, align 4, !tbaa !5
  %21509 = call ptr @s2n_strerror_debug(i32 noundef %21508, ptr noundef @.str.65)
  %21510 = call ptr @__errno_location() #11
  %21511 = load i32, ptr %21510, align 4, !tbaa !5
  %21512 = call ptr @strerror(i32 noundef %21511) #10
  %21513 = call ptr @__errno_location() #11
  %21514 = load i32, ptr %21513, align 4, !tbaa !5
  %21515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21502, ptr noundef @.str.66, i32 noundef %21503, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 922, ptr noundef %21506, ptr noundef %21509, ptr noundef %21512, i32 noundef %21514) #10
  br label %21516

21516:                                            ; preds = %21499, %21482
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #10
  br label %21517

21517:                                            ; preds = %21516
  br label %21518

21518:                                            ; preds = %21517
  call void @exit(i32 noundef 1) #12
  unreachable

21519:                                            ; No predecessors!
  br label %21520

21520:                                            ; preds = %21519
  br label %21521

21521:                                            ; preds = %21520, %21453
  br label %21522

21522:                                            ; preds = %21521
  br label %21523

21523:                                            ; preds = %21522
  br label %21524

21524:                                            ; preds = %21523
  %21525 = load i32, ptr @test_count, align 4, !tbaa !5
  %21526 = add nsw i32 %21525, 1
  store i32 %21526, ptr @test_count, align 4, !tbaa !5
  %21527 = load ptr, ptr %398, align 8, !tbaa !9
  %21528 = load ptr, ptr %395, align 8, !tbaa !9
  %21529 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %21527, ptr noundef %21528)
  %21530 = icmp eq i32 %21529, -1
  br i1 %21530, label %21531, label %21584

21531:                                            ; preds = %21524
  br label %21532

21532:                                            ; preds = %21531
  br label %21533

21533:                                            ; preds = %21532
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #10
  %21534 = call ptr @__errno_location() #11
  %21535 = load i32, ptr %21534, align 4, !tbaa !5
  store i32 %21535, ptr %436, align 4, !tbaa !5
  %21536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21537 = call i32 @s2n_print_stacktrace(ptr noundef %21536)
  %21538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21539 = trunc i8 %21538 to i1
  br i1 %21539, label %21540, label %21562

21540:                                            ; preds = %21533
  %21541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21542 = call i32 @fileno(ptr noundef %21541) #10
  %21543 = call i32 @isatty(i32 noundef %21542) #10
  %21544 = icmp ne i32 %21543, 0
  br i1 %21544, label %21545, label %21562

21545:                                            ; preds = %21540
  %21546 = load i32, ptr %436, align 4, !tbaa !5
  %21547 = call ptr @__errno_location() #11
  store i32 %21546, ptr %21547, align 4, !tbaa !5
  %21548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21549 = load i32, ptr @test_count, align 4, !tbaa !5
  %21550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21551 = load i32, ptr %21550, align 4, !tbaa !5
  %21552 = call ptr @s2n_strerror(i32 noundef %21551, ptr noundef @.str.65)
  %21553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21554 = load i32, ptr %21553, align 4, !tbaa !5
  %21555 = call ptr @s2n_strerror_debug(i32 noundef %21554, ptr noundef @.str.65)
  %21556 = call ptr @__errno_location() #11
  %21557 = load i32, ptr %21556, align 4, !tbaa !5
  %21558 = call ptr @strerror(i32 noundef %21557) #10
  %21559 = call ptr @__errno_location() #11
  %21560 = load i32, ptr %21559, align 4, !tbaa !5
  %21561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21548, ptr noundef @.str.63, i32 noundef %21549, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 924, ptr noundef %21552, ptr noundef %21555, ptr noundef %21558, i32 noundef %21560) #10
  br label %21579

21562:                                            ; preds = %21540, %21533
  %21563 = load i32, ptr %436, align 4, !tbaa !5
  %21564 = call ptr @__errno_location() #11
  store i32 %21563, ptr %21564, align 4, !tbaa !5
  %21565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21566 = load i32, ptr @test_count, align 4, !tbaa !5
  %21567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21568 = load i32, ptr %21567, align 4, !tbaa !5
  %21569 = call ptr @s2n_strerror(i32 noundef %21568, ptr noundef @.str.65)
  %21570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21571 = load i32, ptr %21570, align 4, !tbaa !5
  %21572 = call ptr @s2n_strerror_debug(i32 noundef %21571, ptr noundef @.str.65)
  %21573 = call ptr @__errno_location() #11
  %21574 = load i32, ptr %21573, align 4, !tbaa !5
  %21575 = call ptr @strerror(i32 noundef %21574) #10
  %21576 = call ptr @__errno_location() #11
  %21577 = load i32, ptr %21576, align 4, !tbaa !5
  %21578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21565, ptr noundef @.str.66, i32 noundef %21566, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 924, ptr noundef %21569, ptr noundef %21572, ptr noundef %21575, i32 noundef %21577) #10
  br label %21579

21579:                                            ; preds = %21562, %21545
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #10
  br label %21580

21580:                                            ; preds = %21579
  br label %21581

21581:                                            ; preds = %21580
  call void @exit(i32 noundef 1) #12
  unreachable

21582:                                            ; No predecessors!
  br label %21583

21583:                                            ; preds = %21582
  br label %21584

21584:                                            ; preds = %21583, %21524
  br label %21585

21585:                                            ; preds = %21584
  br label %21586

21586:                                            ; preds = %21585
  br label %21587

21587:                                            ; preds = %21586
  %21588 = load i32, ptr @test_count, align 4, !tbaa !5
  %21589 = add nsw i32 %21588, 1
  store i32 %21589, ptr @test_count, align 4, !tbaa !5
  %21590 = load ptr, ptr %398, align 8, !tbaa !9
  %21591 = getelementptr inbounds %struct.s2n_connection, ptr %21590, i32 0, i32 23
  %21592 = load i8, ptr %21591, align 4, !tbaa !66
  %21593 = zext i8 %21592 to i32
  %21594 = icmp eq i32 %21593, 33
  br i1 %21594, label %21648, label %21595

21595:                                            ; preds = %21587
  br label %21596

21596:                                            ; preds = %21595
  br label %21597

21597:                                            ; preds = %21596
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #10
  %21598 = call ptr @__errno_location() #11
  %21599 = load i32, ptr %21598, align 4, !tbaa !5
  store i32 %21599, ptr %437, align 4, !tbaa !5
  %21600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21601 = call i32 @s2n_print_stacktrace(ptr noundef %21600)
  %21602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21603 = trunc i8 %21602 to i1
  br i1 %21603, label %21604, label %21626

21604:                                            ; preds = %21597
  %21605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21606 = call i32 @fileno(ptr noundef %21605) #10
  %21607 = call i32 @isatty(i32 noundef %21606) #10
  %21608 = icmp ne i32 %21607, 0
  br i1 %21608, label %21609, label %21626

21609:                                            ; preds = %21604
  %21610 = load i32, ptr %437, align 4, !tbaa !5
  %21611 = call ptr @__errno_location() #11
  store i32 %21610, ptr %21611, align 4, !tbaa !5
  %21612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21613 = load i32, ptr @test_count, align 4, !tbaa !5
  %21614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21615 = load i32, ptr %21614, align 4, !tbaa !5
  %21616 = call ptr @s2n_strerror(i32 noundef %21615, ptr noundef @.str.65)
  %21617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21618 = load i32, ptr %21617, align 4, !tbaa !5
  %21619 = call ptr @s2n_strerror_debug(i32 noundef %21618, ptr noundef @.str.65)
  %21620 = call ptr @__errno_location() #11
  %21621 = load i32, ptr %21620, align 4, !tbaa !5
  %21622 = call ptr @strerror(i32 noundef %21621) #10
  %21623 = call ptr @__errno_location() #11
  %21624 = load i32, ptr %21623, align 4, !tbaa !5
  %21625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21612, ptr noundef @.str.63, i32 noundef %21613, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 925, ptr noundef %21616, ptr noundef %21619, ptr noundef %21622, i32 noundef %21624) #10
  br label %21643

21626:                                            ; preds = %21604, %21597
  %21627 = load i32, ptr %437, align 4, !tbaa !5
  %21628 = call ptr @__errno_location() #11
  store i32 %21627, ptr %21628, align 4, !tbaa !5
  %21629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21630 = load i32, ptr @test_count, align 4, !tbaa !5
  %21631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21632 = load i32, ptr %21631, align 4, !tbaa !5
  %21633 = call ptr @s2n_strerror(i32 noundef %21632, ptr noundef @.str.65)
  %21634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21635 = load i32, ptr %21634, align 4, !tbaa !5
  %21636 = call ptr @s2n_strerror_debug(i32 noundef %21635, ptr noundef @.str.65)
  %21637 = call ptr @__errno_location() #11
  %21638 = load i32, ptr %21637, align 4, !tbaa !5
  %21639 = call ptr @strerror(i32 noundef %21638) #10
  %21640 = call ptr @__errno_location() #11
  %21641 = load i32, ptr %21640, align 4, !tbaa !5
  %21642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21629, ptr noundef @.str.66, i32 noundef %21630, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 925, ptr noundef %21633, ptr noundef %21636, ptr noundef %21639, i32 noundef %21641) #10
  br label %21643

21643:                                            ; preds = %21626, %21609
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #10
  br label %21644

21644:                                            ; preds = %21643
  br label %21645

21645:                                            ; preds = %21644
  call void @exit(i32 noundef 1) #12
  unreachable

21646:                                            ; No predecessors!
  br label %21647

21647:                                            ; preds = %21646
  br label %21648

21648:                                            ; preds = %21647, %21587
  br label %21649

21649:                                            ; preds = %21648
  br label %21650

21650:                                            ; preds = %21649
  br label %21651

21651:                                            ; preds = %21650
  %21652 = load i32, ptr @test_count, align 4, !tbaa !5
  %21653 = add nsw i32 %21652, 1
  store i32 %21653, ptr @test_count, align 4, !tbaa !5
  %21654 = load ptr, ptr %398, align 8, !tbaa !9
  %21655 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %21654, i32 noundef 2)
  br i1 %21655, label %21709, label %21656

21656:                                            ; preds = %21651
  br label %21657

21657:                                            ; preds = %21656
  br label %21658

21658:                                            ; preds = %21657
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #10
  %21659 = call ptr @__errno_location() #11
  %21660 = load i32, ptr %21659, align 4, !tbaa !5
  store i32 %21660, ptr %438, align 4, !tbaa !5
  %21661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21662 = call i32 @s2n_print_stacktrace(ptr noundef %21661)
  %21663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21664 = trunc i8 %21663 to i1
  br i1 %21664, label %21665, label %21687

21665:                                            ; preds = %21658
  %21666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21667 = call i32 @fileno(ptr noundef %21666) #10
  %21668 = call i32 @isatty(i32 noundef %21667) #10
  %21669 = icmp ne i32 %21668, 0
  br i1 %21669, label %21670, label %21687

21670:                                            ; preds = %21665
  %21671 = load i32, ptr %438, align 4, !tbaa !5
  %21672 = call ptr @__errno_location() #11
  store i32 %21671, ptr %21672, align 4, !tbaa !5
  %21673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21674 = load i32, ptr @test_count, align 4, !tbaa !5
  %21675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21676 = load i32, ptr %21675, align 4, !tbaa !5
  %21677 = call ptr @s2n_strerror(i32 noundef %21676, ptr noundef @.str.65)
  %21678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21679 = load i32, ptr %21678, align 4, !tbaa !5
  %21680 = call ptr @s2n_strerror_debug(i32 noundef %21679, ptr noundef @.str.65)
  %21681 = call ptr @__errno_location() #11
  %21682 = load i32, ptr %21681, align 4, !tbaa !5
  %21683 = call ptr @strerror(i32 noundef %21682) #10
  %21684 = call ptr @__errno_location() #11
  %21685 = load i32, ptr %21684, align 4, !tbaa !5
  %21686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21673, ptr noundef @.str.63, i32 noundef %21674, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 926, ptr noundef %21677, ptr noundef %21680, ptr noundef %21683, i32 noundef %21685) #10
  br label %21704

21687:                                            ; preds = %21665, %21658
  %21688 = load i32, ptr %438, align 4, !tbaa !5
  %21689 = call ptr @__errno_location() #11
  store i32 %21688, ptr %21689, align 4, !tbaa !5
  %21690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21691 = load i32, ptr @test_count, align 4, !tbaa !5
  %21692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21693 = load i32, ptr %21692, align 4, !tbaa !5
  %21694 = call ptr @s2n_strerror(i32 noundef %21693, ptr noundef @.str.65)
  %21695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21696 = load i32, ptr %21695, align 4, !tbaa !5
  %21697 = call ptr @s2n_strerror_debug(i32 noundef %21696, ptr noundef @.str.65)
  %21698 = call ptr @__errno_location() #11
  %21699 = load i32, ptr %21698, align 4, !tbaa !5
  %21700 = call ptr @strerror(i32 noundef %21699) #10
  %21701 = call ptr @__errno_location() #11
  %21702 = load i32, ptr %21701, align 4, !tbaa !5
  %21703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21690, ptr noundef @.str.66, i32 noundef %21691, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 926, ptr noundef %21694, ptr noundef %21697, ptr noundef %21700, i32 noundef %21702) #10
  br label %21704

21704:                                            ; preds = %21687, %21670
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #10
  br label %21705

21705:                                            ; preds = %21704
  br label %21706

21706:                                            ; preds = %21705
  call void @exit(i32 noundef 1) #12
  unreachable

21707:                                            ; No predecessors!
  br label %21708

21708:                                            ; preds = %21707
  br label %21709

21709:                                            ; preds = %21708, %21651
  br label %21710

21710:                                            ; preds = %21709
  br label %21711

21711:                                            ; preds = %21710
  br label %21712

21712:                                            ; preds = %21711
  %21713 = load i32, ptr @test_count, align 4, !tbaa !5
  %21714 = add nsw i32 %21713, 1
  store i32 %21714, ptr @test_count, align 4, !tbaa !5
  %21715 = load ptr, ptr %398, align 8, !tbaa !9
  %21716 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %21715, i32 noundef 64)
  br i1 %21716, label %21717, label %21770

21717:                                            ; preds = %21712
  br label %21718

21718:                                            ; preds = %21717
  br label %21719

21719:                                            ; preds = %21718
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #10
  %21720 = call ptr @__errno_location() #11
  %21721 = load i32, ptr %21720, align 4, !tbaa !5
  store i32 %21721, ptr %439, align 4, !tbaa !5
  %21722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21723 = call i32 @s2n_print_stacktrace(ptr noundef %21722)
  %21724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21725 = trunc i8 %21724 to i1
  br i1 %21725, label %21726, label %21748

21726:                                            ; preds = %21719
  %21727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21728 = call i32 @fileno(ptr noundef %21727) #10
  %21729 = call i32 @isatty(i32 noundef %21728) #10
  %21730 = icmp ne i32 %21729, 0
  br i1 %21730, label %21731, label %21748

21731:                                            ; preds = %21726
  %21732 = load i32, ptr %439, align 4, !tbaa !5
  %21733 = call ptr @__errno_location() #11
  store i32 %21732, ptr %21733, align 4, !tbaa !5
  %21734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21735 = load i32, ptr @test_count, align 4, !tbaa !5
  %21736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21737 = load i32, ptr %21736, align 4, !tbaa !5
  %21738 = call ptr @s2n_strerror(i32 noundef %21737, ptr noundef @.str.65)
  %21739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21740 = load i32, ptr %21739, align 4, !tbaa !5
  %21741 = call ptr @s2n_strerror_debug(i32 noundef %21740, ptr noundef @.str.65)
  %21742 = call ptr @__errno_location() #11
  %21743 = load i32, ptr %21742, align 4, !tbaa !5
  %21744 = call ptr @strerror(i32 noundef %21743) #10
  %21745 = call ptr @__errno_location() #11
  %21746 = load i32, ptr %21745, align 4, !tbaa !5
  %21747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21734, ptr noundef @.str.63, i32 noundef %21735, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 927, ptr noundef %21738, ptr noundef %21741, ptr noundef %21744, i32 noundef %21746) #10
  br label %21765

21748:                                            ; preds = %21726, %21719
  %21749 = load i32, ptr %439, align 4, !tbaa !5
  %21750 = call ptr @__errno_location() #11
  store i32 %21749, ptr %21750, align 4, !tbaa !5
  %21751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21752 = load i32, ptr @test_count, align 4, !tbaa !5
  %21753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21754 = load i32, ptr %21753, align 4, !tbaa !5
  %21755 = call ptr @s2n_strerror(i32 noundef %21754, ptr noundef @.str.65)
  %21756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21757 = load i32, ptr %21756, align 4, !tbaa !5
  %21758 = call ptr @s2n_strerror_debug(i32 noundef %21757, ptr noundef @.str.65)
  %21759 = call ptr @__errno_location() #11
  %21760 = load i32, ptr %21759, align 4, !tbaa !5
  %21761 = call ptr @strerror(i32 noundef %21760) #10
  %21762 = call ptr @__errno_location() #11
  %21763 = load i32, ptr %21762, align 4, !tbaa !5
  %21764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21751, ptr noundef @.str.66, i32 noundef %21752, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 927, ptr noundef %21755, ptr noundef %21758, ptr noundef %21761, i32 noundef %21763) #10
  br label %21765

21765:                                            ; preds = %21748, %21731
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #10
  br label %21766

21766:                                            ; preds = %21765
  br label %21767

21767:                                            ; preds = %21766
  call void @exit(i32 noundef 1) #12
  unreachable

21768:                                            ; No predecessors!
  br label %21769

21769:                                            ; preds = %21768
  br label %21770

21770:                                            ; preds = %21769, %21712
  br label %21771

21771:                                            ; preds = %21770
  br label %21772

21772:                                            ; preds = %21771
  br label %21773

21773:                                            ; preds = %21772
  %21774 = load i32, ptr @test_count, align 4, !tbaa !5
  %21775 = add nsw i32 %21774, 1
  store i32 %21775, ptr @test_count, align 4, !tbaa !5
  %21776 = load ptr, ptr %395, align 8, !tbaa !9
  %21777 = load ptr, ptr %398, align 8, !tbaa !9
  %21778 = call i32 @s2n_wipe_connections(ptr noundef %21776, ptr noundef %21777, ptr noundef %400)
  %21779 = getelementptr inbounds %struct.s2n_result, ptr %440, i32 0, i32 0
  store i32 %21778, ptr %21779, align 4
  %21780 = getelementptr inbounds %struct.s2n_result, ptr %440, i32 0, i32 0
  %21781 = load i32, ptr %21780, align 4
  %21782 = call zeroext i1 @s2n_result_is_ok(i32 %21781)
  br i1 %21782, label %21836, label %21783

21783:                                            ; preds = %21773
  br label %21784

21784:                                            ; preds = %21783
  br label %21785

21785:                                            ; preds = %21784
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #10
  %21786 = call ptr @__errno_location() #11
  %21787 = load i32, ptr %21786, align 4, !tbaa !5
  store i32 %21787, ptr %441, align 4, !tbaa !5
  %21788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21789 = call i32 @s2n_print_stacktrace(ptr noundef %21788)
  %21790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21791 = trunc i8 %21790 to i1
  br i1 %21791, label %21792, label %21814

21792:                                            ; preds = %21785
  %21793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21794 = call i32 @fileno(ptr noundef %21793) #10
  %21795 = call i32 @isatty(i32 noundef %21794) #10
  %21796 = icmp ne i32 %21795, 0
  br i1 %21796, label %21797, label %21814

21797:                                            ; preds = %21792
  %21798 = load i32, ptr %441, align 4, !tbaa !5
  %21799 = call ptr @__errno_location() #11
  store i32 %21798, ptr %21799, align 4, !tbaa !5
  %21800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21801 = load i32, ptr @test_count, align 4, !tbaa !5
  %21802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21803 = load i32, ptr %21802, align 4, !tbaa !5
  %21804 = call ptr @s2n_strerror(i32 noundef %21803, ptr noundef @.str.65)
  %21805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21806 = load i32, ptr %21805, align 4, !tbaa !5
  %21807 = call ptr @s2n_strerror_debug(i32 noundef %21806, ptr noundef @.str.65)
  %21808 = call ptr @__errno_location() #11
  %21809 = load i32, ptr %21808, align 4, !tbaa !5
  %21810 = call ptr @strerror(i32 noundef %21809) #10
  %21811 = call ptr @__errno_location() #11
  %21812 = load i32, ptr %21811, align 4, !tbaa !5
  %21813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21800, ptr noundef @.str.63, i32 noundef %21801, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 929, ptr noundef %21804, ptr noundef %21807, ptr noundef %21810, i32 noundef %21812) #10
  br label %21831

21814:                                            ; preds = %21792, %21785
  %21815 = load i32, ptr %441, align 4, !tbaa !5
  %21816 = call ptr @__errno_location() #11
  store i32 %21815, ptr %21816, align 4, !tbaa !5
  %21817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21818 = load i32, ptr @test_count, align 4, !tbaa !5
  %21819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21820 = load i32, ptr %21819, align 4, !tbaa !5
  %21821 = call ptr @s2n_strerror(i32 noundef %21820, ptr noundef @.str.65)
  %21822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21823 = load i32, ptr %21822, align 4, !tbaa !5
  %21824 = call ptr @s2n_strerror_debug(i32 noundef %21823, ptr noundef @.str.65)
  %21825 = call ptr @__errno_location() #11
  %21826 = load i32, ptr %21825, align 4, !tbaa !5
  %21827 = call ptr @strerror(i32 noundef %21826) #10
  %21828 = call ptr @__errno_location() #11
  %21829 = load i32, ptr %21828, align 4, !tbaa !5
  %21830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21817, ptr noundef @.str.66, i32 noundef %21818, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 929, ptr noundef %21821, ptr noundef %21824, ptr noundef %21827, i32 noundef %21829) #10
  br label %21831

21831:                                            ; preds = %21814, %21797
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #10
  br label %21832

21832:                                            ; preds = %21831
  br label %21833

21833:                                            ; preds = %21832
  call void @exit(i32 noundef 1) #12
  unreachable

21834:                                            ; No predecessors!
  br label %21835

21835:                                            ; preds = %21834
  br label %21836

21836:                                            ; preds = %21835, %21773
  br label %21837

21837:                                            ; preds = %21836
  br label %21838

21838:                                            ; preds = %21837
  br label %21839

21839:                                            ; preds = %21838
  %21840 = load i32, ptr @test_count, align 4, !tbaa !5
  %21841 = add nsw i32 %21840, 1
  store i32 %21841, ptr @test_count, align 4, !tbaa !5
  %21842 = load ptr, ptr %398, align 8, !tbaa !9
  %21843 = load ptr, ptr %383, align 8, !tbaa !9
  %21844 = call i32 @s2n_connection_set_config(ptr noundef %21842, ptr noundef %21843)
  %21845 = icmp eq i32 %21844, -1
  br i1 %21845, label %21846, label %21899

21846:                                            ; preds = %21839
  br label %21847

21847:                                            ; preds = %21846
  br label %21848

21848:                                            ; preds = %21847
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #10
  %21849 = call ptr @__errno_location() #11
  %21850 = load i32, ptr %21849, align 4, !tbaa !5
  store i32 %21850, ptr %442, align 4, !tbaa !5
  %21851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21852 = call i32 @s2n_print_stacktrace(ptr noundef %21851)
  %21853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21854 = trunc i8 %21853 to i1
  br i1 %21854, label %21855, label %21877

21855:                                            ; preds = %21848
  %21856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21857 = call i32 @fileno(ptr noundef %21856) #10
  %21858 = call i32 @isatty(i32 noundef %21857) #10
  %21859 = icmp ne i32 %21858, 0
  br i1 %21859, label %21860, label %21877

21860:                                            ; preds = %21855
  %21861 = load i32, ptr %442, align 4, !tbaa !5
  %21862 = call ptr @__errno_location() #11
  store i32 %21861, ptr %21862, align 4, !tbaa !5
  %21863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21864 = load i32, ptr @test_count, align 4, !tbaa !5
  %21865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21866 = load i32, ptr %21865, align 4, !tbaa !5
  %21867 = call ptr @s2n_strerror(i32 noundef %21866, ptr noundef @.str.65)
  %21868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21869 = load i32, ptr %21868, align 4, !tbaa !5
  %21870 = call ptr @s2n_strerror_debug(i32 noundef %21869, ptr noundef @.str.65)
  %21871 = call ptr @__errno_location() #11
  %21872 = load i32, ptr %21871, align 4, !tbaa !5
  %21873 = call ptr @strerror(i32 noundef %21872) #10
  %21874 = call ptr @__errno_location() #11
  %21875 = load i32, ptr %21874, align 4, !tbaa !5
  %21876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21863, ptr noundef @.str.63, i32 noundef %21864, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 934, ptr noundef %21867, ptr noundef %21870, ptr noundef %21873, i32 noundef %21875) #10
  br label %21894

21877:                                            ; preds = %21855, %21848
  %21878 = load i32, ptr %442, align 4, !tbaa !5
  %21879 = call ptr @__errno_location() #11
  store i32 %21878, ptr %21879, align 4, !tbaa !5
  %21880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21881 = load i32, ptr @test_count, align 4, !tbaa !5
  %21882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21883 = load i32, ptr %21882, align 4, !tbaa !5
  %21884 = call ptr @s2n_strerror(i32 noundef %21883, ptr noundef @.str.65)
  %21885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21886 = load i32, ptr %21885, align 4, !tbaa !5
  %21887 = call ptr @s2n_strerror_debug(i32 noundef %21886, ptr noundef @.str.65)
  %21888 = call ptr @__errno_location() #11
  %21889 = load i32, ptr %21888, align 4, !tbaa !5
  %21890 = call ptr @strerror(i32 noundef %21889) #10
  %21891 = call ptr @__errno_location() #11
  %21892 = load i32, ptr %21891, align 4, !tbaa !5
  %21893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21880, ptr noundef @.str.66, i32 noundef %21881, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 934, ptr noundef %21884, ptr noundef %21887, ptr noundef %21890, i32 noundef %21892) #10
  br label %21894

21894:                                            ; preds = %21877, %21860
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #10
  br label %21895

21895:                                            ; preds = %21894
  br label %21896

21896:                                            ; preds = %21895
  call void @exit(i32 noundef 1) #12
  unreachable

21897:                                            ; No predecessors!
  br label %21898

21898:                                            ; preds = %21897
  br label %21899

21899:                                            ; preds = %21898, %21839
  br label %21900

21900:                                            ; preds = %21899
  br label %21901

21901:                                            ; preds = %21900
  br label %21902

21902:                                            ; preds = %21901
  %21903 = load i32, ptr @test_count, align 4, !tbaa !5
  %21904 = add nsw i32 %21903, 1
  store i32 %21904, ptr @test_count, align 4, !tbaa !5
  %21905 = load ptr, ptr %395, align 8, !tbaa !9
  %21906 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 0
  %21907 = getelementptr inbounds %struct.s2n_blob, ptr %21906, i32 0, i32 0
  %21908 = load ptr, ptr %21907, align 8, !tbaa !31
  %21909 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 2
  %21910 = load i32, ptr %21909, align 4, !tbaa !27
  %21911 = getelementptr inbounds %struct.s2n_stuffer, ptr %393, i32 0, i32 1
  %21912 = load i32, ptr %21911, align 8, !tbaa !30
  %21913 = sub i32 %21910, %21912
  %21914 = zext i32 %21913 to i64
  %21915 = call i32 @s2n_connection_set_session(ptr noundef %21905, ptr noundef %21908, i64 noundef %21914)
  %21916 = icmp eq i32 %21915, -1
  br i1 %21916, label %21917, label %21970

21917:                                            ; preds = %21902
  br label %21918

21918:                                            ; preds = %21917
  br label %21919

21919:                                            ; preds = %21918
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #10
  %21920 = call ptr @__errno_location() #11
  %21921 = load i32, ptr %21920, align 4, !tbaa !5
  store i32 %21921, ptr %443, align 4, !tbaa !5
  %21922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21923 = call i32 @s2n_print_stacktrace(ptr noundef %21922)
  %21924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21925 = trunc i8 %21924 to i1
  br i1 %21925, label %21926, label %21948

21926:                                            ; preds = %21919
  %21927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21928 = call i32 @fileno(ptr noundef %21927) #10
  %21929 = call i32 @isatty(i32 noundef %21928) #10
  %21930 = icmp ne i32 %21929, 0
  br i1 %21930, label %21931, label %21948

21931:                                            ; preds = %21926
  %21932 = load i32, ptr %443, align 4, !tbaa !5
  %21933 = call ptr @__errno_location() #11
  store i32 %21932, ptr %21933, align 4, !tbaa !5
  %21934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21935 = load i32, ptr @test_count, align 4, !tbaa !5
  %21936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21937 = load i32, ptr %21936, align 4, !tbaa !5
  %21938 = call ptr @s2n_strerror(i32 noundef %21937, ptr noundef @.str.65)
  %21939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21940 = load i32, ptr %21939, align 4, !tbaa !5
  %21941 = call ptr @s2n_strerror_debug(i32 noundef %21940, ptr noundef @.str.65)
  %21942 = call ptr @__errno_location() #11
  %21943 = load i32, ptr %21942, align 4, !tbaa !5
  %21944 = call ptr @strerror(i32 noundef %21943) #10
  %21945 = call ptr @__errno_location() #11
  %21946 = load i32, ptr %21945, align 4, !tbaa !5
  %21947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21934, ptr noundef @.str.63, i32 noundef %21935, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 936, ptr noundef %21938, ptr noundef %21941, ptr noundef %21944, i32 noundef %21946) #10
  br label %21965

21948:                                            ; preds = %21926, %21919
  %21949 = load i32, ptr %443, align 4, !tbaa !5
  %21950 = call ptr @__errno_location() #11
  store i32 %21949, ptr %21950, align 4, !tbaa !5
  %21951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21952 = load i32, ptr @test_count, align 4, !tbaa !5
  %21953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21954 = load i32, ptr %21953, align 4, !tbaa !5
  %21955 = call ptr @s2n_strerror(i32 noundef %21954, ptr noundef @.str.65)
  %21956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21957 = load i32, ptr %21956, align 4, !tbaa !5
  %21958 = call ptr @s2n_strerror_debug(i32 noundef %21957, ptr noundef @.str.65)
  %21959 = call ptr @__errno_location() #11
  %21960 = load i32, ptr %21959, align 4, !tbaa !5
  %21961 = call ptr @strerror(i32 noundef %21960) #10
  %21962 = call ptr @__errno_location() #11
  %21963 = load i32, ptr %21962, align 4, !tbaa !5
  %21964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21951, ptr noundef @.str.66, i32 noundef %21952, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 936, ptr noundef %21955, ptr noundef %21958, ptr noundef %21961, i32 noundef %21963) #10
  br label %21965

21965:                                            ; preds = %21948, %21931
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #10
  br label %21966

21966:                                            ; preds = %21965
  br label %21967

21967:                                            ; preds = %21966
  call void @exit(i32 noundef 1) #12
  unreachable

21968:                                            ; No predecessors!
  br label %21969

21969:                                            ; preds = %21968
  br label %21970

21970:                                            ; preds = %21969, %21902
  br label %21971

21971:                                            ; preds = %21970
  br label %21972

21972:                                            ; preds = %21971
  br label %21973

21973:                                            ; preds = %21972
  %21974 = load i32, ptr @test_count, align 4, !tbaa !5
  %21975 = add nsw i32 %21974, 1
  store i32 %21975, ptr @test_count, align 4, !tbaa !5
  %21976 = load ptr, ptr %398, align 8, !tbaa !9
  %21977 = load ptr, ptr %395, align 8, !tbaa !9
  %21978 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %21976, ptr noundef %21977)
  %21979 = icmp eq i32 %21978, -1
  br i1 %21979, label %21980, label %22033

21980:                                            ; preds = %21973
  br label %21981

21981:                                            ; preds = %21980
  br label %21982

21982:                                            ; preds = %21981
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #10
  %21983 = call ptr @__errno_location() #11
  %21984 = load i32, ptr %21983, align 4, !tbaa !5
  store i32 %21984, ptr %444, align 4, !tbaa !5
  %21985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21986 = call i32 @s2n_print_stacktrace(ptr noundef %21985)
  %21987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21988 = trunc i8 %21987 to i1
  br i1 %21988, label %21989, label %22011

21989:                                            ; preds = %21982
  %21990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21991 = call i32 @fileno(ptr noundef %21990) #10
  %21992 = call i32 @isatty(i32 noundef %21991) #10
  %21993 = icmp ne i32 %21992, 0
  br i1 %21993, label %21994, label %22011

21994:                                            ; preds = %21989
  %21995 = load i32, ptr %444, align 4, !tbaa !5
  %21996 = call ptr @__errno_location() #11
  store i32 %21995, ptr %21996, align 4, !tbaa !5
  %21997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21998 = load i32, ptr @test_count, align 4, !tbaa !5
  %21999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22000 = load i32, ptr %21999, align 4, !tbaa !5
  %22001 = call ptr @s2n_strerror(i32 noundef %22000, ptr noundef @.str.65)
  %22002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22003 = load i32, ptr %22002, align 4, !tbaa !5
  %22004 = call ptr @s2n_strerror_debug(i32 noundef %22003, ptr noundef @.str.65)
  %22005 = call ptr @__errno_location() #11
  %22006 = load i32, ptr %22005, align 4, !tbaa !5
  %22007 = call ptr @strerror(i32 noundef %22006) #10
  %22008 = call ptr @__errno_location() #11
  %22009 = load i32, ptr %22008, align 4, !tbaa !5
  %22010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21997, ptr noundef @.str.63, i32 noundef %21998, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 938, ptr noundef %22001, ptr noundef %22004, ptr noundef %22007, i32 noundef %22009) #10
  br label %22028

22011:                                            ; preds = %21989, %21982
  %22012 = load i32, ptr %444, align 4, !tbaa !5
  %22013 = call ptr @__errno_location() #11
  store i32 %22012, ptr %22013, align 4, !tbaa !5
  %22014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22015 = load i32, ptr @test_count, align 4, !tbaa !5
  %22016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22017 = load i32, ptr %22016, align 4, !tbaa !5
  %22018 = call ptr @s2n_strerror(i32 noundef %22017, ptr noundef @.str.65)
  %22019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22020 = load i32, ptr %22019, align 4, !tbaa !5
  %22021 = call ptr @s2n_strerror_debug(i32 noundef %22020, ptr noundef @.str.65)
  %22022 = call ptr @__errno_location() #11
  %22023 = load i32, ptr %22022, align 4, !tbaa !5
  %22024 = call ptr @strerror(i32 noundef %22023) #10
  %22025 = call ptr @__errno_location() #11
  %22026 = load i32, ptr %22025, align 4, !tbaa !5
  %22027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22014, ptr noundef @.str.66, i32 noundef %22015, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 938, ptr noundef %22018, ptr noundef %22021, ptr noundef %22024, i32 noundef %22026) #10
  br label %22028

22028:                                            ; preds = %22011, %21994
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #10
  br label %22029

22029:                                            ; preds = %22028
  br label %22030

22030:                                            ; preds = %22029
  call void @exit(i32 noundef 1) #12
  unreachable

22031:                                            ; No predecessors!
  br label %22032

22032:                                            ; preds = %22031
  br label %22033

22033:                                            ; preds = %22032, %21973
  br label %22034

22034:                                            ; preds = %22033
  br label %22035

22035:                                            ; preds = %22034
  br label %22036

22036:                                            ; preds = %22035
  %22037 = load i32, ptr @test_count, align 4, !tbaa !5
  %22038 = add nsw i32 %22037, 1
  store i32 %22038, ptr @test_count, align 4, !tbaa !5
  %22039 = load ptr, ptr %398, align 8, !tbaa !9
  %22040 = getelementptr inbounds %struct.s2n_connection, ptr %22039, i32 0, i32 23
  %22041 = load i8, ptr %22040, align 4, !tbaa !66
  %22042 = zext i8 %22041 to i32
  %22043 = icmp eq i32 %22042, 33
  br i1 %22043, label %22097, label %22044

22044:                                            ; preds = %22036
  br label %22045

22045:                                            ; preds = %22044
  br label %22046

22046:                                            ; preds = %22045
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #10
  %22047 = call ptr @__errno_location() #11
  %22048 = load i32, ptr %22047, align 4, !tbaa !5
  store i32 %22048, ptr %445, align 4, !tbaa !5
  %22049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22050 = call i32 @s2n_print_stacktrace(ptr noundef %22049)
  %22051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22052 = trunc i8 %22051 to i1
  br i1 %22052, label %22053, label %22075

22053:                                            ; preds = %22046
  %22054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22055 = call i32 @fileno(ptr noundef %22054) #10
  %22056 = call i32 @isatty(i32 noundef %22055) #10
  %22057 = icmp ne i32 %22056, 0
  br i1 %22057, label %22058, label %22075

22058:                                            ; preds = %22053
  %22059 = load i32, ptr %445, align 4, !tbaa !5
  %22060 = call ptr @__errno_location() #11
  store i32 %22059, ptr %22060, align 4, !tbaa !5
  %22061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22062 = load i32, ptr @test_count, align 4, !tbaa !5
  %22063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22064 = load i32, ptr %22063, align 4, !tbaa !5
  %22065 = call ptr @s2n_strerror(i32 noundef %22064, ptr noundef @.str.65)
  %22066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22067 = load i32, ptr %22066, align 4, !tbaa !5
  %22068 = call ptr @s2n_strerror_debug(i32 noundef %22067, ptr noundef @.str.65)
  %22069 = call ptr @__errno_location() #11
  %22070 = load i32, ptr %22069, align 4, !tbaa !5
  %22071 = call ptr @strerror(i32 noundef %22070) #10
  %22072 = call ptr @__errno_location() #11
  %22073 = load i32, ptr %22072, align 4, !tbaa !5
  %22074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22061, ptr noundef @.str.63, i32 noundef %22062, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 939, ptr noundef %22065, ptr noundef %22068, ptr noundef %22071, i32 noundef %22073) #10
  br label %22092

22075:                                            ; preds = %22053, %22046
  %22076 = load i32, ptr %445, align 4, !tbaa !5
  %22077 = call ptr @__errno_location() #11
  store i32 %22076, ptr %22077, align 4, !tbaa !5
  %22078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22079 = load i32, ptr @test_count, align 4, !tbaa !5
  %22080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22081 = load i32, ptr %22080, align 4, !tbaa !5
  %22082 = call ptr @s2n_strerror(i32 noundef %22081, ptr noundef @.str.65)
  %22083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22084 = load i32, ptr %22083, align 4, !tbaa !5
  %22085 = call ptr @s2n_strerror_debug(i32 noundef %22084, ptr noundef @.str.65)
  %22086 = call ptr @__errno_location() #11
  %22087 = load i32, ptr %22086, align 4, !tbaa !5
  %22088 = call ptr @strerror(i32 noundef %22087) #10
  %22089 = call ptr @__errno_location() #11
  %22090 = load i32, ptr %22089, align 4, !tbaa !5
  %22091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22078, ptr noundef @.str.66, i32 noundef %22079, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 939, ptr noundef %22082, ptr noundef %22085, ptr noundef %22088, i32 noundef %22090) #10
  br label %22092

22092:                                            ; preds = %22075, %22058
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #10
  br label %22093

22093:                                            ; preds = %22092
  br label %22094

22094:                                            ; preds = %22093
  call void @exit(i32 noundef 1) #12
  unreachable

22095:                                            ; No predecessors!
  br label %22096

22096:                                            ; preds = %22095
  br label %22097

22097:                                            ; preds = %22096, %22036
  br label %22098

22098:                                            ; preds = %22097
  br label %22099

22099:                                            ; preds = %22098
  br label %22100

22100:                                            ; preds = %22099
  %22101 = load i32, ptr @test_count, align 4, !tbaa !5
  %22102 = add nsw i32 %22101, 1
  store i32 %22102, ptr @test_count, align 4, !tbaa !5
  %22103 = load ptr, ptr %398, align 8, !tbaa !9
  %22104 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %22103, i32 noundef 2)
  br i1 %22104, label %22158, label %22105

22105:                                            ; preds = %22100
  br label %22106

22106:                                            ; preds = %22105
  br label %22107

22107:                                            ; preds = %22106
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #10
  %22108 = call ptr @__errno_location() #11
  %22109 = load i32, ptr %22108, align 4, !tbaa !5
  store i32 %22109, ptr %446, align 4, !tbaa !5
  %22110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22111 = call i32 @s2n_print_stacktrace(ptr noundef %22110)
  %22112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22113 = trunc i8 %22112 to i1
  br i1 %22113, label %22114, label %22136

22114:                                            ; preds = %22107
  %22115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22116 = call i32 @fileno(ptr noundef %22115) #10
  %22117 = call i32 @isatty(i32 noundef %22116) #10
  %22118 = icmp ne i32 %22117, 0
  br i1 %22118, label %22119, label %22136

22119:                                            ; preds = %22114
  %22120 = load i32, ptr %446, align 4, !tbaa !5
  %22121 = call ptr @__errno_location() #11
  store i32 %22120, ptr %22121, align 4, !tbaa !5
  %22122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22123 = load i32, ptr @test_count, align 4, !tbaa !5
  %22124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22125 = load i32, ptr %22124, align 4, !tbaa !5
  %22126 = call ptr @s2n_strerror(i32 noundef %22125, ptr noundef @.str.65)
  %22127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22128 = load i32, ptr %22127, align 4, !tbaa !5
  %22129 = call ptr @s2n_strerror_debug(i32 noundef %22128, ptr noundef @.str.65)
  %22130 = call ptr @__errno_location() #11
  %22131 = load i32, ptr %22130, align 4, !tbaa !5
  %22132 = call ptr @strerror(i32 noundef %22131) #10
  %22133 = call ptr @__errno_location() #11
  %22134 = load i32, ptr %22133, align 4, !tbaa !5
  %22135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22122, ptr noundef @.str.63, i32 noundef %22123, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 940, ptr noundef %22126, ptr noundef %22129, ptr noundef %22132, i32 noundef %22134) #10
  br label %22153

22136:                                            ; preds = %22114, %22107
  %22137 = load i32, ptr %446, align 4, !tbaa !5
  %22138 = call ptr @__errno_location() #11
  store i32 %22137, ptr %22138, align 4, !tbaa !5
  %22139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22140 = load i32, ptr @test_count, align 4, !tbaa !5
  %22141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22142 = load i32, ptr %22141, align 4, !tbaa !5
  %22143 = call ptr @s2n_strerror(i32 noundef %22142, ptr noundef @.str.65)
  %22144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22145 = load i32, ptr %22144, align 4, !tbaa !5
  %22146 = call ptr @s2n_strerror_debug(i32 noundef %22145, ptr noundef @.str.65)
  %22147 = call ptr @__errno_location() #11
  %22148 = load i32, ptr %22147, align 4, !tbaa !5
  %22149 = call ptr @strerror(i32 noundef %22148) #10
  %22150 = call ptr @__errno_location() #11
  %22151 = load i32, ptr %22150, align 4, !tbaa !5
  %22152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22139, ptr noundef @.str.66, i32 noundef %22140, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 940, ptr noundef %22143, ptr noundef %22146, ptr noundef %22149, i32 noundef %22151) #10
  br label %22153

22153:                                            ; preds = %22136, %22119
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #10
  br label %22154

22154:                                            ; preds = %22153
  br label %22155

22155:                                            ; preds = %22154
  call void @exit(i32 noundef 1) #12
  unreachable

22156:                                            ; No predecessors!
  br label %22157

22157:                                            ; preds = %22156
  br label %22158

22158:                                            ; preds = %22157, %22100
  br label %22159

22159:                                            ; preds = %22158
  br label %22160

22160:                                            ; preds = %22159
  br label %22161

22161:                                            ; preds = %22160
  %22162 = load i32, ptr @test_count, align 4, !tbaa !5
  %22163 = add nsw i32 %22162, 1
  store i32 %22163, ptr @test_count, align 4, !tbaa !5
  %22164 = load ptr, ptr %398, align 8, !tbaa !9
  %22165 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %22164, i32 noundef 64)
  br i1 %22165, label %22166, label %22219

22166:                                            ; preds = %22161
  br label %22167

22167:                                            ; preds = %22166
  br label %22168

22168:                                            ; preds = %22167
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #10
  %22169 = call ptr @__errno_location() #11
  %22170 = load i32, ptr %22169, align 4, !tbaa !5
  store i32 %22170, ptr %447, align 4, !tbaa !5
  %22171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22172 = call i32 @s2n_print_stacktrace(ptr noundef %22171)
  %22173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22174 = trunc i8 %22173 to i1
  br i1 %22174, label %22175, label %22197

22175:                                            ; preds = %22168
  %22176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22177 = call i32 @fileno(ptr noundef %22176) #10
  %22178 = call i32 @isatty(i32 noundef %22177) #10
  %22179 = icmp ne i32 %22178, 0
  br i1 %22179, label %22180, label %22197

22180:                                            ; preds = %22175
  %22181 = load i32, ptr %447, align 4, !tbaa !5
  %22182 = call ptr @__errno_location() #11
  store i32 %22181, ptr %22182, align 4, !tbaa !5
  %22183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22184 = load i32, ptr @test_count, align 4, !tbaa !5
  %22185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22186 = load i32, ptr %22185, align 4, !tbaa !5
  %22187 = call ptr @s2n_strerror(i32 noundef %22186, ptr noundef @.str.65)
  %22188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22189 = load i32, ptr %22188, align 4, !tbaa !5
  %22190 = call ptr @s2n_strerror_debug(i32 noundef %22189, ptr noundef @.str.65)
  %22191 = call ptr @__errno_location() #11
  %22192 = load i32, ptr %22191, align 4, !tbaa !5
  %22193 = call ptr @strerror(i32 noundef %22192) #10
  %22194 = call ptr @__errno_location() #11
  %22195 = load i32, ptr %22194, align 4, !tbaa !5
  %22196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22183, ptr noundef @.str.63, i32 noundef %22184, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 941, ptr noundef %22187, ptr noundef %22190, ptr noundef %22193, i32 noundef %22195) #10
  br label %22214

22197:                                            ; preds = %22175, %22168
  %22198 = load i32, ptr %447, align 4, !tbaa !5
  %22199 = call ptr @__errno_location() #11
  store i32 %22198, ptr %22199, align 4, !tbaa !5
  %22200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22201 = load i32, ptr @test_count, align 4, !tbaa !5
  %22202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22203 = load i32, ptr %22202, align 4, !tbaa !5
  %22204 = call ptr @s2n_strerror(i32 noundef %22203, ptr noundef @.str.65)
  %22205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22206 = load i32, ptr %22205, align 4, !tbaa !5
  %22207 = call ptr @s2n_strerror_debug(i32 noundef %22206, ptr noundef @.str.65)
  %22208 = call ptr @__errno_location() #11
  %22209 = load i32, ptr %22208, align 4, !tbaa !5
  %22210 = call ptr @strerror(i32 noundef %22209) #10
  %22211 = call ptr @__errno_location() #11
  %22212 = load i32, ptr %22211, align 4, !tbaa !5
  %22213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22200, ptr noundef @.str.66, i32 noundef %22201, ptr noundef @.str.197, ptr noundef @.str.62, i32 noundef 941, ptr noundef %22204, ptr noundef %22207, ptr noundef %22210, i32 noundef %22212) #10
  br label %22214

22214:                                            ; preds = %22197, %22180
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #10
  br label %22215

22215:                                            ; preds = %22214
  br label %22216

22216:                                            ; preds = %22215
  call void @exit(i32 noundef 1) #12
  unreachable

22217:                                            ; No predecessors!
  br label %22218

22218:                                            ; preds = %22217
  br label %22219

22219:                                            ; preds = %22218, %22161
  br label %22220

22220:                                            ; preds = %22219
  br label %22221

22221:                                            ; preds = %22220
  br label %22222

22222:                                            ; preds = %22221
  %22223 = load i32, ptr @test_count, align 4, !tbaa !5
  %22224 = add nsw i32 %22223, 1
  store i32 %22224, ptr @test_count, align 4, !tbaa !5
  %22225 = load ptr, ptr %395, align 8, !tbaa !9
  %22226 = load ptr, ptr %398, align 8, !tbaa !9
  %22227 = call i32 @s2n_wipe_connections(ptr noundef %22225, ptr noundef %22226, ptr noundef %400)
  %22228 = getelementptr inbounds %struct.s2n_result, ptr %448, i32 0, i32 0
  store i32 %22227, ptr %22228, align 4
  %22229 = getelementptr inbounds %struct.s2n_result, ptr %448, i32 0, i32 0
  %22230 = load i32, ptr %22229, align 4
  %22231 = call zeroext i1 @s2n_result_is_ok(i32 %22230)
  br i1 %22231, label %22285, label %22232

22232:                                            ; preds = %22222
  br label %22233

22233:                                            ; preds = %22232
  br label %22234

22234:                                            ; preds = %22233
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #10
  %22235 = call ptr @__errno_location() #11
  %22236 = load i32, ptr %22235, align 4, !tbaa !5
  store i32 %22236, ptr %449, align 4, !tbaa !5
  %22237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22238 = call i32 @s2n_print_stacktrace(ptr noundef %22237)
  %22239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22240 = trunc i8 %22239 to i1
  br i1 %22240, label %22241, label %22263

22241:                                            ; preds = %22234
  %22242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22243 = call i32 @fileno(ptr noundef %22242) #10
  %22244 = call i32 @isatty(i32 noundef %22243) #10
  %22245 = icmp ne i32 %22244, 0
  br i1 %22245, label %22246, label %22263

22246:                                            ; preds = %22241
  %22247 = load i32, ptr %449, align 4, !tbaa !5
  %22248 = call ptr @__errno_location() #11
  store i32 %22247, ptr %22248, align 4, !tbaa !5
  %22249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22250 = load i32, ptr @test_count, align 4, !tbaa !5
  %22251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22252 = load i32, ptr %22251, align 4, !tbaa !5
  %22253 = call ptr @s2n_strerror(i32 noundef %22252, ptr noundef @.str.65)
  %22254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22255 = load i32, ptr %22254, align 4, !tbaa !5
  %22256 = call ptr @s2n_strerror_debug(i32 noundef %22255, ptr noundef @.str.65)
  %22257 = call ptr @__errno_location() #11
  %22258 = load i32, ptr %22257, align 4, !tbaa !5
  %22259 = call ptr @strerror(i32 noundef %22258) #10
  %22260 = call ptr @__errno_location() #11
  %22261 = load i32, ptr %22260, align 4, !tbaa !5
  %22262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22249, ptr noundef @.str.63, i32 noundef %22250, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 943, ptr noundef %22253, ptr noundef %22256, ptr noundef %22259, i32 noundef %22261) #10
  br label %22280

22263:                                            ; preds = %22241, %22234
  %22264 = load i32, ptr %449, align 4, !tbaa !5
  %22265 = call ptr @__errno_location() #11
  store i32 %22264, ptr %22265, align 4, !tbaa !5
  %22266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22267 = load i32, ptr @test_count, align 4, !tbaa !5
  %22268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22269 = load i32, ptr %22268, align 4, !tbaa !5
  %22270 = call ptr @s2n_strerror(i32 noundef %22269, ptr noundef @.str.65)
  %22271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22272 = load i32, ptr %22271, align 4, !tbaa !5
  %22273 = call ptr @s2n_strerror_debug(i32 noundef %22272, ptr noundef @.str.65)
  %22274 = call ptr @__errno_location() #11
  %22275 = load i32, ptr %22274, align 4, !tbaa !5
  %22276 = call ptr @strerror(i32 noundef %22275) #10
  %22277 = call ptr @__errno_location() #11
  %22278 = load i32, ptr %22277, align 4, !tbaa !5
  %22279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22266, ptr noundef @.str.66, i32 noundef %22267, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 943, ptr noundef %22270, ptr noundef %22273, ptr noundef %22276, i32 noundef %22278) #10
  br label %22280

22280:                                            ; preds = %22263, %22246
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #10
  br label %22281

22281:                                            ; preds = %22280
  br label %22282

22282:                                            ; preds = %22281
  call void @exit(i32 noundef 1) #12
  unreachable

22283:                                            ; No predecessors!
  br label %22284

22284:                                            ; preds = %22283
  br label %22285

22285:                                            ; preds = %22284, %22222
  br label %22286

22286:                                            ; preds = %22285
  br label %22287

22287:                                            ; preds = %22286
  br label %22288

22288:                                            ; preds = %22287
  %22289 = load i32, ptr @test_count, align 4, !tbaa !5
  %22290 = add nsw i32 %22289, 1
  store i32 %22290, ptr @test_count, align 4, !tbaa !5
  %22291 = call i32 @s2n_io_pair_close(ptr noundef %400)
  %22292 = icmp eq i32 %22291, -1
  br i1 %22292, label %22293, label %22346

22293:                                            ; preds = %22288
  br label %22294

22294:                                            ; preds = %22293
  br label %22295

22295:                                            ; preds = %22294
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #10
  %22296 = call ptr @__errno_location() #11
  %22297 = load i32, ptr %22296, align 4, !tbaa !5
  store i32 %22297, ptr %450, align 4, !tbaa !5
  %22298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22299 = call i32 @s2n_print_stacktrace(ptr noundef %22298)
  %22300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22301 = trunc i8 %22300 to i1
  br i1 %22301, label %22302, label %22324

22302:                                            ; preds = %22295
  %22303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22304 = call i32 @fileno(ptr noundef %22303) #10
  %22305 = call i32 @isatty(i32 noundef %22304) #10
  %22306 = icmp ne i32 %22305, 0
  br i1 %22306, label %22307, label %22324

22307:                                            ; preds = %22302
  %22308 = load i32, ptr %450, align 4, !tbaa !5
  %22309 = call ptr @__errno_location() #11
  store i32 %22308, ptr %22309, align 4, !tbaa !5
  %22310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22311 = load i32, ptr @test_count, align 4, !tbaa !5
  %22312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22313 = load i32, ptr %22312, align 4, !tbaa !5
  %22314 = call ptr @s2n_strerror(i32 noundef %22313, ptr noundef @.str.65)
  %22315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22316 = load i32, ptr %22315, align 4, !tbaa !5
  %22317 = call ptr @s2n_strerror_debug(i32 noundef %22316, ptr noundef @.str.65)
  %22318 = call ptr @__errno_location() #11
  %22319 = load i32, ptr %22318, align 4, !tbaa !5
  %22320 = call ptr @strerror(i32 noundef %22319) #10
  %22321 = call ptr @__errno_location() #11
  %22322 = load i32, ptr %22321, align 4, !tbaa !5
  %22323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22310, ptr noundef @.str.63, i32 noundef %22311, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 946, ptr noundef %22314, ptr noundef %22317, ptr noundef %22320, i32 noundef %22322) #10
  br label %22341

22324:                                            ; preds = %22302, %22295
  %22325 = load i32, ptr %450, align 4, !tbaa !5
  %22326 = call ptr @__errno_location() #11
  store i32 %22325, ptr %22326, align 4, !tbaa !5
  %22327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22328 = load i32, ptr @test_count, align 4, !tbaa !5
  %22329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22330 = load i32, ptr %22329, align 4, !tbaa !5
  %22331 = call ptr @s2n_strerror(i32 noundef %22330, ptr noundef @.str.65)
  %22332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22333 = load i32, ptr %22332, align 4, !tbaa !5
  %22334 = call ptr @s2n_strerror_debug(i32 noundef %22333, ptr noundef @.str.65)
  %22335 = call ptr @__errno_location() #11
  %22336 = load i32, ptr %22335, align 4, !tbaa !5
  %22337 = call ptr @strerror(i32 noundef %22336) #10
  %22338 = call ptr @__errno_location() #11
  %22339 = load i32, ptr %22338, align 4, !tbaa !5
  %22340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22327, ptr noundef @.str.66, i32 noundef %22328, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 946, ptr noundef %22331, ptr noundef %22334, ptr noundef %22337, i32 noundef %22339) #10
  br label %22341

22341:                                            ; preds = %22324, %22307
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #10
  br label %22342

22342:                                            ; preds = %22341
  br label %22343

22343:                                            ; preds = %22342
  call void @exit(i32 noundef 1) #12
  unreachable

22344:                                            ; No predecessors!
  br label %22345

22345:                                            ; preds = %22344
  br label %22346

22346:                                            ; preds = %22345, %22288
  br label %22347

22347:                                            ; preds = %22346
  br label %22348

22348:                                            ; preds = %22347
  br label %22349

22349:                                            ; preds = %22348
  %22350 = load i32, ptr @test_count, align 4, !tbaa !5
  %22351 = add nsw i32 %22350, 1
  store i32 %22351, ptr @test_count, align 4, !tbaa !5
  %22352 = load ptr, ptr %398, align 8, !tbaa !9
  %22353 = call i32 @s2n_connection_free(ptr noundef %22352)
  %22354 = icmp eq i32 %22353, -1
  br i1 %22354, label %22355, label %22408

22355:                                            ; preds = %22349
  br label %22356

22356:                                            ; preds = %22355
  br label %22357

22357:                                            ; preds = %22356
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #10
  %22358 = call ptr @__errno_location() #11
  %22359 = load i32, ptr %22358, align 4, !tbaa !5
  store i32 %22359, ptr %451, align 4, !tbaa !5
  %22360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22361 = call i32 @s2n_print_stacktrace(ptr noundef %22360)
  %22362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22363 = trunc i8 %22362 to i1
  br i1 %22363, label %22364, label %22386

22364:                                            ; preds = %22357
  %22365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22366 = call i32 @fileno(ptr noundef %22365) #10
  %22367 = call i32 @isatty(i32 noundef %22366) #10
  %22368 = icmp ne i32 %22367, 0
  br i1 %22368, label %22369, label %22386

22369:                                            ; preds = %22364
  %22370 = load i32, ptr %451, align 4, !tbaa !5
  %22371 = call ptr @__errno_location() #11
  store i32 %22370, ptr %22371, align 4, !tbaa !5
  %22372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22373 = load i32, ptr @test_count, align 4, !tbaa !5
  %22374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22375 = load i32, ptr %22374, align 4, !tbaa !5
  %22376 = call ptr @s2n_strerror(i32 noundef %22375, ptr noundef @.str.65)
  %22377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22378 = load i32, ptr %22377, align 4, !tbaa !5
  %22379 = call ptr @s2n_strerror_debug(i32 noundef %22378, ptr noundef @.str.65)
  %22380 = call ptr @__errno_location() #11
  %22381 = load i32, ptr %22380, align 4, !tbaa !5
  %22382 = call ptr @strerror(i32 noundef %22381) #10
  %22383 = call ptr @__errno_location() #11
  %22384 = load i32, ptr %22383, align 4, !tbaa !5
  %22385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22372, ptr noundef @.str.63, i32 noundef %22373, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 947, ptr noundef %22376, ptr noundef %22379, ptr noundef %22382, i32 noundef %22384) #10
  br label %22403

22386:                                            ; preds = %22364, %22357
  %22387 = load i32, ptr %451, align 4, !tbaa !5
  %22388 = call ptr @__errno_location() #11
  store i32 %22387, ptr %22388, align 4, !tbaa !5
  %22389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22390 = load i32, ptr @test_count, align 4, !tbaa !5
  %22391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22392 = load i32, ptr %22391, align 4, !tbaa !5
  %22393 = call ptr @s2n_strerror(i32 noundef %22392, ptr noundef @.str.65)
  %22394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22395 = load i32, ptr %22394, align 4, !tbaa !5
  %22396 = call ptr @s2n_strerror_debug(i32 noundef %22395, ptr noundef @.str.65)
  %22397 = call ptr @__errno_location() #11
  %22398 = load i32, ptr %22397, align 4, !tbaa !5
  %22399 = call ptr @strerror(i32 noundef %22398) #10
  %22400 = call ptr @__errno_location() #11
  %22401 = load i32, ptr %22400, align 4, !tbaa !5
  %22402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22389, ptr noundef @.str.66, i32 noundef %22390, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 947, ptr noundef %22393, ptr noundef %22396, ptr noundef %22399, i32 noundef %22401) #10
  br label %22403

22403:                                            ; preds = %22386, %22369
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #10
  br label %22404

22404:                                            ; preds = %22403
  br label %22405

22405:                                            ; preds = %22404
  call void @exit(i32 noundef 1) #12
  unreachable

22406:                                            ; No predecessors!
  br label %22407

22407:                                            ; preds = %22406
  br label %22408

22408:                                            ; preds = %22407, %22349
  br label %22409

22409:                                            ; preds = %22408
  br label %22410

22410:                                            ; preds = %22409
  br label %22411

22411:                                            ; preds = %22410
  %22412 = load i32, ptr @test_count, align 4, !tbaa !5
  %22413 = add nsw i32 %22412, 1
  store i32 %22413, ptr @test_count, align 4, !tbaa !5
  %22414 = load ptr, ptr %395, align 8, !tbaa !9
  %22415 = call i32 @s2n_connection_free(ptr noundef %22414)
  %22416 = icmp eq i32 %22415, -1
  br i1 %22416, label %22417, label %22470

22417:                                            ; preds = %22411
  br label %22418

22418:                                            ; preds = %22417
  br label %22419

22419:                                            ; preds = %22418
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #10
  %22420 = call ptr @__errno_location() #11
  %22421 = load i32, ptr %22420, align 4, !tbaa !5
  store i32 %22421, ptr %452, align 4, !tbaa !5
  %22422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22423 = call i32 @s2n_print_stacktrace(ptr noundef %22422)
  %22424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22425 = trunc i8 %22424 to i1
  br i1 %22425, label %22426, label %22448

22426:                                            ; preds = %22419
  %22427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22428 = call i32 @fileno(ptr noundef %22427) #10
  %22429 = call i32 @isatty(i32 noundef %22428) #10
  %22430 = icmp ne i32 %22429, 0
  br i1 %22430, label %22431, label %22448

22431:                                            ; preds = %22426
  %22432 = load i32, ptr %452, align 4, !tbaa !5
  %22433 = call ptr @__errno_location() #11
  store i32 %22432, ptr %22433, align 4, !tbaa !5
  %22434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22435 = load i32, ptr @test_count, align 4, !tbaa !5
  %22436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22437 = load i32, ptr %22436, align 4, !tbaa !5
  %22438 = call ptr @s2n_strerror(i32 noundef %22437, ptr noundef @.str.65)
  %22439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22440 = load i32, ptr %22439, align 4, !tbaa !5
  %22441 = call ptr @s2n_strerror_debug(i32 noundef %22440, ptr noundef @.str.65)
  %22442 = call ptr @__errno_location() #11
  %22443 = load i32, ptr %22442, align 4, !tbaa !5
  %22444 = call ptr @strerror(i32 noundef %22443) #10
  %22445 = call ptr @__errno_location() #11
  %22446 = load i32, ptr %22445, align 4, !tbaa !5
  %22447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22434, ptr noundef @.str.63, i32 noundef %22435, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 948, ptr noundef %22438, ptr noundef %22441, ptr noundef %22444, i32 noundef %22446) #10
  br label %22465

22448:                                            ; preds = %22426, %22419
  %22449 = load i32, ptr %452, align 4, !tbaa !5
  %22450 = call ptr @__errno_location() #11
  store i32 %22449, ptr %22450, align 4, !tbaa !5
  %22451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22452 = load i32, ptr @test_count, align 4, !tbaa !5
  %22453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22454 = load i32, ptr %22453, align 4, !tbaa !5
  %22455 = call ptr @s2n_strerror(i32 noundef %22454, ptr noundef @.str.65)
  %22456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22457 = load i32, ptr %22456, align 4, !tbaa !5
  %22458 = call ptr @s2n_strerror_debug(i32 noundef %22457, ptr noundef @.str.65)
  %22459 = call ptr @__errno_location() #11
  %22460 = load i32, ptr %22459, align 4, !tbaa !5
  %22461 = call ptr @strerror(i32 noundef %22460) #10
  %22462 = call ptr @__errno_location() #11
  %22463 = load i32, ptr %22462, align 4, !tbaa !5
  %22464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22451, ptr noundef @.str.66, i32 noundef %22452, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 948, ptr noundef %22455, ptr noundef %22458, ptr noundef %22461, i32 noundef %22463) #10
  br label %22465

22465:                                            ; preds = %22448, %22431
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #10
  br label %22466

22466:                                            ; preds = %22465
  br label %22467

22467:                                            ; preds = %22466
  call void @exit(i32 noundef 1) #12
  unreachable

22468:                                            ; No predecessors!
  br label %22469

22469:                                            ; preds = %22468
  br label %22470

22470:                                            ; preds = %22469, %22411
  br label %22471

22471:                                            ; preds = %22470
  br label %22472

22472:                                            ; preds = %22471
  call void @llvm.lifetime.end.p0(i64 8, ptr %400) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %398) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %395) #10
  %22473 = call i32 @s2n_stuffer_free(ptr noundef %393)
  call void @llvm.lifetime.end.p0(i64 40, ptr %393) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr %453) #10
  call void @llvm.memset.p0.i64(ptr align 8 %453, i8 0, i64 40, i1 false)
  br label %22474

22474:                                            ; preds = %22472
  %22475 = load i32, ptr @test_count, align 4, !tbaa !5
  %22476 = add nsw i32 %22475, 1
  store i32 %22476, ptr @test_count, align 4, !tbaa !5
  %22477 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %453, i32 noundef 0)
  %22478 = icmp eq i32 %22477, -1
  br i1 %22478, label %22479, label %22532

22479:                                            ; preds = %22474
  br label %22480

22480:                                            ; preds = %22479
  br label %22481

22481:                                            ; preds = %22480
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #10
  %22482 = call ptr @__errno_location() #11
  %22483 = load i32, ptr %22482, align 4, !tbaa !5
  store i32 %22483, ptr %454, align 4, !tbaa !5
  %22484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22485 = call i32 @s2n_print_stacktrace(ptr noundef %22484)
  %22486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22487 = trunc i8 %22486 to i1
  br i1 %22487, label %22488, label %22510

22488:                                            ; preds = %22481
  %22489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22490 = call i32 @fileno(ptr noundef %22489) #10
  %22491 = call i32 @isatty(i32 noundef %22490) #10
  %22492 = icmp ne i32 %22491, 0
  br i1 %22492, label %22493, label %22510

22493:                                            ; preds = %22488
  %22494 = load i32, ptr %454, align 4, !tbaa !5
  %22495 = call ptr @__errno_location() #11
  store i32 %22494, ptr %22495, align 4, !tbaa !5
  %22496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22497 = load i32, ptr @test_count, align 4, !tbaa !5
  %22498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22499 = load i32, ptr %22498, align 4, !tbaa !5
  %22500 = call ptr @s2n_strerror(i32 noundef %22499, ptr noundef @.str.65)
  %22501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22502 = load i32, ptr %22501, align 4, !tbaa !5
  %22503 = call ptr @s2n_strerror_debug(i32 noundef %22502, ptr noundef @.str.65)
  %22504 = call ptr @__errno_location() #11
  %22505 = load i32, ptr %22504, align 4, !tbaa !5
  %22506 = call ptr @strerror(i32 noundef %22505) #10
  %22507 = call ptr @__errno_location() #11
  %22508 = load i32, ptr %22507, align 4, !tbaa !5
  %22509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22496, ptr noundef @.str.63, i32 noundef %22497, ptr noundef @.str.191, ptr noundef @.str.62, i32 noundef 954, ptr noundef %22500, ptr noundef %22503, ptr noundef %22506, i32 noundef %22508) #10
  br label %22527

22510:                                            ; preds = %22488, %22481
  %22511 = load i32, ptr %454, align 4, !tbaa !5
  %22512 = call ptr @__errno_location() #11
  store i32 %22511, ptr %22512, align 4, !tbaa !5
  %22513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22514 = load i32, ptr @test_count, align 4, !tbaa !5
  %22515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22516 = load i32, ptr %22515, align 4, !tbaa !5
  %22517 = call ptr @s2n_strerror(i32 noundef %22516, ptr noundef @.str.65)
  %22518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22519 = load i32, ptr %22518, align 4, !tbaa !5
  %22520 = call ptr @s2n_strerror_debug(i32 noundef %22519, ptr noundef @.str.65)
  %22521 = call ptr @__errno_location() #11
  %22522 = load i32, ptr %22521, align 4, !tbaa !5
  %22523 = call ptr @strerror(i32 noundef %22522) #10
  %22524 = call ptr @__errno_location() #11
  %22525 = load i32, ptr %22524, align 4, !tbaa !5
  %22526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22513, ptr noundef @.str.66, i32 noundef %22514, ptr noundef @.str.191, ptr noundef @.str.62, i32 noundef 954, ptr noundef %22517, ptr noundef %22520, ptr noundef %22523, i32 noundef %22525) #10
  br label %22527

22527:                                            ; preds = %22510, %22493
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #10
  br label %22528

22528:                                            ; preds = %22527
  br label %22529

22529:                                            ; preds = %22528
  call void @exit(i32 noundef 1) #12
  unreachable

22530:                                            ; No predecessors!
  br label %22531

22531:                                            ; preds = %22530
  br label %22532

22532:                                            ; preds = %22531, %22474
  br label %22533

22533:                                            ; preds = %22532
  br label %22534

22534:                                            ; preds = %22533
  call void @llvm.lifetime.start.p0(i64 8, ptr %455) #10
  %22535 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22535, ptr %455, align 8, !tbaa !9
  br label %22536

22536:                                            ; preds = %22534
  %22537 = load i32, ptr @test_count, align 4, !tbaa !5
  %22538 = add nsw i32 %22537, 1
  store i32 %22538, ptr @test_count, align 4, !tbaa !5
  %22539 = load ptr, ptr %455, align 8, !tbaa !9
  %22540 = icmp eq ptr %22539, null
  br i1 %22540, label %22541, label %22594

22541:                                            ; preds = %22536
  br label %22542

22542:                                            ; preds = %22541
  br label %22543

22543:                                            ; preds = %22542
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #10
  %22544 = call ptr @__errno_location() #11
  %22545 = load i32, ptr %22544, align 4, !tbaa !5
  store i32 %22545, ptr %456, align 4, !tbaa !5
  %22546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22547 = call i32 @s2n_print_stacktrace(ptr noundef %22546)
  %22548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22549 = trunc i8 %22548 to i1
  br i1 %22549, label %22550, label %22572

22550:                                            ; preds = %22543
  %22551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22552 = call i32 @fileno(ptr noundef %22551) #10
  %22553 = call i32 @isatty(i32 noundef %22552) #10
  %22554 = icmp ne i32 %22553, 0
  br i1 %22554, label %22555, label %22572

22555:                                            ; preds = %22550
  %22556 = load i32, ptr %456, align 4, !tbaa !5
  %22557 = call ptr @__errno_location() #11
  store i32 %22556, ptr %22557, align 4, !tbaa !5
  %22558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22559 = load i32, ptr @test_count, align 4, !tbaa !5
  %22560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22561 = load i32, ptr %22560, align 4, !tbaa !5
  %22562 = call ptr @s2n_strerror(i32 noundef %22561, ptr noundef @.str.65)
  %22563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22564 = load i32, ptr %22563, align 4, !tbaa !5
  %22565 = call ptr @s2n_strerror_debug(i32 noundef %22564, ptr noundef @.str.65)
  %22566 = call ptr @__errno_location() #11
  %22567 = load i32, ptr %22566, align 4, !tbaa !5
  %22568 = call ptr @strerror(i32 noundef %22567) #10
  %22569 = call ptr @__errno_location() #11
  %22570 = load i32, ptr %22569, align 4, !tbaa !5
  %22571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22558, ptr noundef @.str.63, i32 noundef %22559, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 957, ptr noundef %22562, ptr noundef %22565, ptr noundef %22568, i32 noundef %22570) #10
  br label %22589

22572:                                            ; preds = %22550, %22543
  %22573 = load i32, ptr %456, align 4, !tbaa !5
  %22574 = call ptr @__errno_location() #11
  store i32 %22573, ptr %22574, align 4, !tbaa !5
  %22575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22576 = load i32, ptr @test_count, align 4, !tbaa !5
  %22577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22578 = load i32, ptr %22577, align 4, !tbaa !5
  %22579 = call ptr @s2n_strerror(i32 noundef %22578, ptr noundef @.str.65)
  %22580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22581 = load i32, ptr %22580, align 4, !tbaa !5
  %22582 = call ptr @s2n_strerror_debug(i32 noundef %22581, ptr noundef @.str.65)
  %22583 = call ptr @__errno_location() #11
  %22584 = load i32, ptr %22583, align 4, !tbaa !5
  %22585 = call ptr @strerror(i32 noundef %22584) #10
  %22586 = call ptr @__errno_location() #11
  %22587 = load i32, ptr %22586, align 4, !tbaa !5
  %22588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22575, ptr noundef @.str.66, i32 noundef %22576, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 957, ptr noundef %22579, ptr noundef %22582, ptr noundef %22585, i32 noundef %22587) #10
  br label %22589

22589:                                            ; preds = %22572, %22555
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #10
  br label %22590

22590:                                            ; preds = %22589
  br label %22591

22591:                                            ; preds = %22590
  call void @exit(i32 noundef 1) #12
  unreachable

22592:                                            ; No predecessors!
  br label %22593

22593:                                            ; preds = %22592
  br label %22594

22594:                                            ; preds = %22593, %22536
  br label %22595

22595:                                            ; preds = %22594
  br label %22596

22596:                                            ; preds = %22595
  br label %22597

22597:                                            ; preds = %22596
  %22598 = load i32, ptr @test_count, align 4, !tbaa !5
  %22599 = add nsw i32 %22598, 1
  store i32 %22599, ptr @test_count, align 4, !tbaa !5
  %22600 = load ptr, ptr %455, align 8, !tbaa !9
  %22601 = load ptr, ptr %40, align 8, !tbaa !9
  %22602 = call i32 @s2n_connection_set_config(ptr noundef %22600, ptr noundef %22601)
  %22603 = icmp eq i32 %22602, -1
  br i1 %22603, label %22604, label %22657

22604:                                            ; preds = %22597
  br label %22605

22605:                                            ; preds = %22604
  br label %22606

22606:                                            ; preds = %22605
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #10
  %22607 = call ptr @__errno_location() #11
  %22608 = load i32, ptr %22607, align 4, !tbaa !5
  store i32 %22608, ptr %457, align 4, !tbaa !5
  %22609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22610 = call i32 @s2n_print_stacktrace(ptr noundef %22609)
  %22611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22612 = trunc i8 %22611 to i1
  br i1 %22612, label %22613, label %22635

22613:                                            ; preds = %22606
  %22614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22615 = call i32 @fileno(ptr noundef %22614) #10
  %22616 = call i32 @isatty(i32 noundef %22615) #10
  %22617 = icmp ne i32 %22616, 0
  br i1 %22617, label %22618, label %22635

22618:                                            ; preds = %22613
  %22619 = load i32, ptr %457, align 4, !tbaa !5
  %22620 = call ptr @__errno_location() #11
  store i32 %22619, ptr %22620, align 4, !tbaa !5
  %22621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22622 = load i32, ptr @test_count, align 4, !tbaa !5
  %22623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22624 = load i32, ptr %22623, align 4, !tbaa !5
  %22625 = call ptr @s2n_strerror(i32 noundef %22624, ptr noundef @.str.65)
  %22626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22627 = load i32, ptr %22626, align 4, !tbaa !5
  %22628 = call ptr @s2n_strerror_debug(i32 noundef %22627, ptr noundef @.str.65)
  %22629 = call ptr @__errno_location() #11
  %22630 = load i32, ptr %22629, align 4, !tbaa !5
  %22631 = call ptr @strerror(i32 noundef %22630) #10
  %22632 = call ptr @__errno_location() #11
  %22633 = load i32, ptr %22632, align 4, !tbaa !5
  %22634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22621, ptr noundef @.str.63, i32 noundef %22622, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 958, ptr noundef %22625, ptr noundef %22628, ptr noundef %22631, i32 noundef %22633) #10
  br label %22652

22635:                                            ; preds = %22613, %22606
  %22636 = load i32, ptr %457, align 4, !tbaa !5
  %22637 = call ptr @__errno_location() #11
  store i32 %22636, ptr %22637, align 4, !tbaa !5
  %22638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22639 = load i32, ptr @test_count, align 4, !tbaa !5
  %22640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22641 = load i32, ptr %22640, align 4, !tbaa !5
  %22642 = call ptr @s2n_strerror(i32 noundef %22641, ptr noundef @.str.65)
  %22643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22644 = load i32, ptr %22643, align 4, !tbaa !5
  %22645 = call ptr @s2n_strerror_debug(i32 noundef %22644, ptr noundef @.str.65)
  %22646 = call ptr @__errno_location() #11
  %22647 = load i32, ptr %22646, align 4, !tbaa !5
  %22648 = call ptr @strerror(i32 noundef %22647) #10
  %22649 = call ptr @__errno_location() #11
  %22650 = load i32, ptr %22649, align 4, !tbaa !5
  %22651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22638, ptr noundef @.str.66, i32 noundef %22639, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 958, ptr noundef %22642, ptr noundef %22645, ptr noundef %22648, i32 noundef %22650) #10
  br label %22652

22652:                                            ; preds = %22635, %22618
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #10
  br label %22653

22653:                                            ; preds = %22652
  br label %22654

22654:                                            ; preds = %22653
  call void @exit(i32 noundef 1) #12
  unreachable

22655:                                            ; No predecessors!
  br label %22656

22656:                                            ; preds = %22655
  br label %22657

22657:                                            ; preds = %22656, %22597
  br label %22658

22658:                                            ; preds = %22657
  br label %22659

22659:                                            ; preds = %22658
  call void @llvm.lifetime.start.p0(i64 8, ptr %458) #10
  %22660 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %22660, ptr %458, align 8, !tbaa !9
  br label %22661

22661:                                            ; preds = %22659
  %22662 = load i32, ptr @test_count, align 4, !tbaa !5
  %22663 = add nsw i32 %22662, 1
  store i32 %22663, ptr @test_count, align 4, !tbaa !5
  %22664 = load ptr, ptr %458, align 8, !tbaa !9
  %22665 = icmp eq ptr %22664, null
  br i1 %22665, label %22666, label %22719

22666:                                            ; preds = %22661
  br label %22667

22667:                                            ; preds = %22666
  br label %22668

22668:                                            ; preds = %22667
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #10
  %22669 = call ptr @__errno_location() #11
  %22670 = load i32, ptr %22669, align 4, !tbaa !5
  store i32 %22670, ptr %459, align 4, !tbaa !5
  %22671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22672 = call i32 @s2n_print_stacktrace(ptr noundef %22671)
  %22673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22674 = trunc i8 %22673 to i1
  br i1 %22674, label %22675, label %22697

22675:                                            ; preds = %22668
  %22676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22677 = call i32 @fileno(ptr noundef %22676) #10
  %22678 = call i32 @isatty(i32 noundef %22677) #10
  %22679 = icmp ne i32 %22678, 0
  br i1 %22679, label %22680, label %22697

22680:                                            ; preds = %22675
  %22681 = load i32, ptr %459, align 4, !tbaa !5
  %22682 = call ptr @__errno_location() #11
  store i32 %22681, ptr %22682, align 4, !tbaa !5
  %22683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22684 = load i32, ptr @test_count, align 4, !tbaa !5
  %22685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22686 = load i32, ptr %22685, align 4, !tbaa !5
  %22687 = call ptr @s2n_strerror(i32 noundef %22686, ptr noundef @.str.65)
  %22688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22689 = load i32, ptr %22688, align 4, !tbaa !5
  %22690 = call ptr @s2n_strerror_debug(i32 noundef %22689, ptr noundef @.str.65)
  %22691 = call ptr @__errno_location() #11
  %22692 = load i32, ptr %22691, align 4, !tbaa !5
  %22693 = call ptr @strerror(i32 noundef %22692) #10
  %22694 = call ptr @__errno_location() #11
  %22695 = load i32, ptr %22694, align 4, !tbaa !5
  %22696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22683, ptr noundef @.str.63, i32 noundef %22684, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 961, ptr noundef %22687, ptr noundef %22690, ptr noundef %22693, i32 noundef %22695) #10
  br label %22714

22697:                                            ; preds = %22675, %22668
  %22698 = load i32, ptr %459, align 4, !tbaa !5
  %22699 = call ptr @__errno_location() #11
  store i32 %22698, ptr %22699, align 4, !tbaa !5
  %22700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22701 = load i32, ptr @test_count, align 4, !tbaa !5
  %22702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22703 = load i32, ptr %22702, align 4, !tbaa !5
  %22704 = call ptr @s2n_strerror(i32 noundef %22703, ptr noundef @.str.65)
  %22705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22706 = load i32, ptr %22705, align 4, !tbaa !5
  %22707 = call ptr @s2n_strerror_debug(i32 noundef %22706, ptr noundef @.str.65)
  %22708 = call ptr @__errno_location() #11
  %22709 = load i32, ptr %22708, align 4, !tbaa !5
  %22710 = call ptr @strerror(i32 noundef %22709) #10
  %22711 = call ptr @__errno_location() #11
  %22712 = load i32, ptr %22711, align 4, !tbaa !5
  %22713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22700, ptr noundef @.str.66, i32 noundef %22701, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 961, ptr noundef %22704, ptr noundef %22707, ptr noundef %22710, i32 noundef %22712) #10
  br label %22714

22714:                                            ; preds = %22697, %22680
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #10
  br label %22715

22715:                                            ; preds = %22714
  br label %22716

22716:                                            ; preds = %22715
  call void @exit(i32 noundef 1) #12
  unreachable

22717:                                            ; No predecessors!
  br label %22718

22718:                                            ; preds = %22717
  br label %22719

22719:                                            ; preds = %22718, %22661
  br label %22720

22720:                                            ; preds = %22719
  br label %22721

22721:                                            ; preds = %22720
  call void @llvm.lifetime.start.p0(i64 8, ptr %460) #10
  call void @llvm.memset.p0.i64(ptr align 4 %460, i8 0, i64 8, i1 false)
  br label %22722

22722:                                            ; preds = %22721
  %22723 = load i32, ptr @test_count, align 4, !tbaa !5
  %22724 = add nsw i32 %22723, 1
  store i32 %22724, ptr @test_count, align 4, !tbaa !5
  %22725 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %460)
  %22726 = icmp eq i32 %22725, -1
  br i1 %22726, label %22727, label %22780

22727:                                            ; preds = %22722
  br label %22728

22728:                                            ; preds = %22727
  br label %22729

22729:                                            ; preds = %22728
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #10
  %22730 = call ptr @__errno_location() #11
  %22731 = load i32, ptr %22730, align 4, !tbaa !5
  store i32 %22731, ptr %461, align 4, !tbaa !5
  %22732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22733 = call i32 @s2n_print_stacktrace(ptr noundef %22732)
  %22734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22735 = trunc i8 %22734 to i1
  br i1 %22735, label %22736, label %22758

22736:                                            ; preds = %22729
  %22737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22738 = call i32 @fileno(ptr noundef %22737) #10
  %22739 = call i32 @isatty(i32 noundef %22738) #10
  %22740 = icmp ne i32 %22739, 0
  br i1 %22740, label %22741, label %22758

22741:                                            ; preds = %22736
  %22742 = load i32, ptr %461, align 4, !tbaa !5
  %22743 = call ptr @__errno_location() #11
  store i32 %22742, ptr %22743, align 4, !tbaa !5
  %22744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22745 = load i32, ptr @test_count, align 4, !tbaa !5
  %22746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22747 = load i32, ptr %22746, align 4, !tbaa !5
  %22748 = call ptr @s2n_strerror(i32 noundef %22747, ptr noundef @.str.65)
  %22749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22750 = load i32, ptr %22749, align 4, !tbaa !5
  %22751 = call ptr @s2n_strerror_debug(i32 noundef %22750, ptr noundef @.str.65)
  %22752 = call ptr @__errno_location() #11
  %22753 = load i32, ptr %22752, align 4, !tbaa !5
  %22754 = call ptr @strerror(i32 noundef %22753) #10
  %22755 = call ptr @__errno_location() #11
  %22756 = load i32, ptr %22755, align 4, !tbaa !5
  %22757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22744, ptr noundef @.str.63, i32 noundef %22745, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 964, ptr noundef %22748, ptr noundef %22751, ptr noundef %22754, i32 noundef %22756) #10
  br label %22775

22758:                                            ; preds = %22736, %22729
  %22759 = load i32, ptr %461, align 4, !tbaa !5
  %22760 = call ptr @__errno_location() #11
  store i32 %22759, ptr %22760, align 4, !tbaa !5
  %22761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22762 = load i32, ptr @test_count, align 4, !tbaa !5
  %22763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22764 = load i32, ptr %22763, align 4, !tbaa !5
  %22765 = call ptr @s2n_strerror(i32 noundef %22764, ptr noundef @.str.65)
  %22766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22767 = load i32, ptr %22766, align 4, !tbaa !5
  %22768 = call ptr @s2n_strerror_debug(i32 noundef %22767, ptr noundef @.str.65)
  %22769 = call ptr @__errno_location() #11
  %22770 = load i32, ptr %22769, align 4, !tbaa !5
  %22771 = call ptr @strerror(i32 noundef %22770) #10
  %22772 = call ptr @__errno_location() #11
  %22773 = load i32, ptr %22772, align 4, !tbaa !5
  %22774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22761, ptr noundef @.str.66, i32 noundef %22762, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 964, ptr noundef %22765, ptr noundef %22768, ptr noundef %22771, i32 noundef %22773) #10
  br label %22775

22775:                                            ; preds = %22758, %22741
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #10
  br label %22776

22776:                                            ; preds = %22775
  br label %22777

22777:                                            ; preds = %22776
  call void @exit(i32 noundef 1) #12
  unreachable

22778:                                            ; No predecessors!
  br label %22779

22779:                                            ; preds = %22778
  br label %22780

22780:                                            ; preds = %22779, %22722
  br label %22781

22781:                                            ; preds = %22780
  br label %22782

22782:                                            ; preds = %22781
  br label %22783

22783:                                            ; preds = %22782
  %22784 = load i32, ptr @test_count, align 4, !tbaa !5
  %22785 = add nsw i32 %22784, 1
  store i32 %22785, ptr @test_count, align 4, !tbaa !5
  %22786 = load ptr, ptr %455, align 8, !tbaa !9
  %22787 = load ptr, ptr %458, align 8, !tbaa !9
  %22788 = call i32 @s2n_connections_set_io_pair(ptr noundef %22786, ptr noundef %22787, ptr noundef %460)
  %22789 = icmp eq i32 %22788, -1
  br i1 %22789, label %22790, label %22843

22790:                                            ; preds = %22783
  br label %22791

22791:                                            ; preds = %22790
  br label %22792

22792:                                            ; preds = %22791
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #10
  %22793 = call ptr @__errno_location() #11
  %22794 = load i32, ptr %22793, align 4, !tbaa !5
  store i32 %22794, ptr %462, align 4, !tbaa !5
  %22795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22796 = call i32 @s2n_print_stacktrace(ptr noundef %22795)
  %22797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22798 = trunc i8 %22797 to i1
  br i1 %22798, label %22799, label %22821

22799:                                            ; preds = %22792
  %22800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22801 = call i32 @fileno(ptr noundef %22800) #10
  %22802 = call i32 @isatty(i32 noundef %22801) #10
  %22803 = icmp ne i32 %22802, 0
  br i1 %22803, label %22804, label %22821

22804:                                            ; preds = %22799
  %22805 = load i32, ptr %462, align 4, !tbaa !5
  %22806 = call ptr @__errno_location() #11
  store i32 %22805, ptr %22806, align 4, !tbaa !5
  %22807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22808 = load i32, ptr @test_count, align 4, !tbaa !5
  %22809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22810 = load i32, ptr %22809, align 4, !tbaa !5
  %22811 = call ptr @s2n_strerror(i32 noundef %22810, ptr noundef @.str.65)
  %22812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22813 = load i32, ptr %22812, align 4, !tbaa !5
  %22814 = call ptr @s2n_strerror_debug(i32 noundef %22813, ptr noundef @.str.65)
  %22815 = call ptr @__errno_location() #11
  %22816 = load i32, ptr %22815, align 4, !tbaa !5
  %22817 = call ptr @strerror(i32 noundef %22816) #10
  %22818 = call ptr @__errno_location() #11
  %22819 = load i32, ptr %22818, align 4, !tbaa !5
  %22820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22807, ptr noundef @.str.63, i32 noundef %22808, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 965, ptr noundef %22811, ptr noundef %22814, ptr noundef %22817, i32 noundef %22819) #10
  br label %22838

22821:                                            ; preds = %22799, %22792
  %22822 = load i32, ptr %462, align 4, !tbaa !5
  %22823 = call ptr @__errno_location() #11
  store i32 %22822, ptr %22823, align 4, !tbaa !5
  %22824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22825 = load i32, ptr @test_count, align 4, !tbaa !5
  %22826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22827 = load i32, ptr %22826, align 4, !tbaa !5
  %22828 = call ptr @s2n_strerror(i32 noundef %22827, ptr noundef @.str.65)
  %22829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22830 = load i32, ptr %22829, align 4, !tbaa !5
  %22831 = call ptr @s2n_strerror_debug(i32 noundef %22830, ptr noundef @.str.65)
  %22832 = call ptr @__errno_location() #11
  %22833 = load i32, ptr %22832, align 4, !tbaa !5
  %22834 = call ptr @strerror(i32 noundef %22833) #10
  %22835 = call ptr @__errno_location() #11
  %22836 = load i32, ptr %22835, align 4, !tbaa !5
  %22837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22824, ptr noundef @.str.66, i32 noundef %22825, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 965, ptr noundef %22828, ptr noundef %22831, ptr noundef %22834, i32 noundef %22836) #10
  br label %22838

22838:                                            ; preds = %22821, %22804
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #10
  br label %22839

22839:                                            ; preds = %22838
  br label %22840

22840:                                            ; preds = %22839
  call void @exit(i32 noundef 1) #12
  unreachable

22841:                                            ; No predecessors!
  br label %22842

22842:                                            ; preds = %22841
  br label %22843

22843:                                            ; preds = %22842, %22783
  br label %22844

22844:                                            ; preds = %22843
  br label %22845

22845:                                            ; preds = %22844
  br label %22846

22846:                                            ; preds = %22845
  %22847 = load i32, ptr @test_count, align 4, !tbaa !5
  %22848 = add nsw i32 %22847, 1
  store i32 %22848, ptr @test_count, align 4, !tbaa !5
  %22849 = load ptr, ptr %458, align 8, !tbaa !9
  %22850 = load ptr, ptr %20, align 8, !tbaa !9
  %22851 = call i32 @s2n_connection_set_config(ptr noundef %22849, ptr noundef %22850)
  %22852 = icmp eq i32 %22851, -1
  br i1 %22852, label %22853, label %22906

22853:                                            ; preds = %22846
  br label %22854

22854:                                            ; preds = %22853
  br label %22855

22855:                                            ; preds = %22854
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #10
  %22856 = call ptr @__errno_location() #11
  %22857 = load i32, ptr %22856, align 4, !tbaa !5
  store i32 %22857, ptr %463, align 4, !tbaa !5
  %22858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22859 = call i32 @s2n_print_stacktrace(ptr noundef %22858)
  %22860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22861 = trunc i8 %22860 to i1
  br i1 %22861, label %22862, label %22884

22862:                                            ; preds = %22855
  %22863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22864 = call i32 @fileno(ptr noundef %22863) #10
  %22865 = call i32 @isatty(i32 noundef %22864) #10
  %22866 = icmp ne i32 %22865, 0
  br i1 %22866, label %22867, label %22884

22867:                                            ; preds = %22862
  %22868 = load i32, ptr %463, align 4, !tbaa !5
  %22869 = call ptr @__errno_location() #11
  store i32 %22868, ptr %22869, align 4, !tbaa !5
  %22870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22871 = load i32, ptr @test_count, align 4, !tbaa !5
  %22872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22873 = load i32, ptr %22872, align 4, !tbaa !5
  %22874 = call ptr @s2n_strerror(i32 noundef %22873, ptr noundef @.str.65)
  %22875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22876 = load i32, ptr %22875, align 4, !tbaa !5
  %22877 = call ptr @s2n_strerror_debug(i32 noundef %22876, ptr noundef @.str.65)
  %22878 = call ptr @__errno_location() #11
  %22879 = load i32, ptr %22878, align 4, !tbaa !5
  %22880 = call ptr @strerror(i32 noundef %22879) #10
  %22881 = call ptr @__errno_location() #11
  %22882 = load i32, ptr %22881, align 4, !tbaa !5
  %22883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22870, ptr noundef @.str.63, i32 noundef %22871, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 969, ptr noundef %22874, ptr noundef %22877, ptr noundef %22880, i32 noundef %22882) #10
  br label %22901

22884:                                            ; preds = %22862, %22855
  %22885 = load i32, ptr %463, align 4, !tbaa !5
  %22886 = call ptr @__errno_location() #11
  store i32 %22885, ptr %22886, align 4, !tbaa !5
  %22887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22888 = load i32, ptr @test_count, align 4, !tbaa !5
  %22889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22890 = load i32, ptr %22889, align 4, !tbaa !5
  %22891 = call ptr @s2n_strerror(i32 noundef %22890, ptr noundef @.str.65)
  %22892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22893 = load i32, ptr %22892, align 4, !tbaa !5
  %22894 = call ptr @s2n_strerror_debug(i32 noundef %22893, ptr noundef @.str.65)
  %22895 = call ptr @__errno_location() #11
  %22896 = load i32, ptr %22895, align 4, !tbaa !5
  %22897 = call ptr @strerror(i32 noundef %22896) #10
  %22898 = call ptr @__errno_location() #11
  %22899 = load i32, ptr %22898, align 4, !tbaa !5
  %22900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22887, ptr noundef @.str.66, i32 noundef %22888, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 969, ptr noundef %22891, ptr noundef %22894, ptr noundef %22897, i32 noundef %22899) #10
  br label %22901

22901:                                            ; preds = %22884, %22867
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #10
  br label %22902

22902:                                            ; preds = %22901
  br label %22903

22903:                                            ; preds = %22902
  call void @exit(i32 noundef 1) #12
  unreachable

22904:                                            ; No predecessors!
  br label %22905

22905:                                            ; preds = %22904
  br label %22906

22906:                                            ; preds = %22905, %22846
  br label %22907

22907:                                            ; preds = %22906
  br label %22908

22908:                                            ; preds = %22907
  br label %22909

22909:                                            ; preds = %22908
  %22910 = load i32, ptr @test_count, align 4, !tbaa !5
  %22911 = add nsw i32 %22910, 1
  store i32 %22911, ptr @test_count, align 4, !tbaa !5
  %22912 = load ptr, ptr %458, align 8, !tbaa !9
  %22913 = load ptr, ptr %455, align 8, !tbaa !9
  %22914 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %22912, ptr noundef %22913)
  %22915 = icmp eq i32 %22914, -1
  br i1 %22915, label %22916, label %22969

22916:                                            ; preds = %22909
  br label %22917

22917:                                            ; preds = %22916
  br label %22918

22918:                                            ; preds = %22917
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #10
  %22919 = call ptr @__errno_location() #11
  %22920 = load i32, ptr %22919, align 4, !tbaa !5
  store i32 %22920, ptr %464, align 4, !tbaa !5
  %22921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22922 = call i32 @s2n_print_stacktrace(ptr noundef %22921)
  %22923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22924 = trunc i8 %22923 to i1
  br i1 %22924, label %22925, label %22947

22925:                                            ; preds = %22918
  %22926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22927 = call i32 @fileno(ptr noundef %22926) #10
  %22928 = call i32 @isatty(i32 noundef %22927) #10
  %22929 = icmp ne i32 %22928, 0
  br i1 %22929, label %22930, label %22947

22930:                                            ; preds = %22925
  %22931 = load i32, ptr %464, align 4, !tbaa !5
  %22932 = call ptr @__errno_location() #11
  store i32 %22931, ptr %22932, align 4, !tbaa !5
  %22933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22934 = load i32, ptr @test_count, align 4, !tbaa !5
  %22935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22936 = load i32, ptr %22935, align 4, !tbaa !5
  %22937 = call ptr @s2n_strerror(i32 noundef %22936, ptr noundef @.str.65)
  %22938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22939 = load i32, ptr %22938, align 4, !tbaa !5
  %22940 = call ptr @s2n_strerror_debug(i32 noundef %22939, ptr noundef @.str.65)
  %22941 = call ptr @__errno_location() #11
  %22942 = load i32, ptr %22941, align 4, !tbaa !5
  %22943 = call ptr @strerror(i32 noundef %22942) #10
  %22944 = call ptr @__errno_location() #11
  %22945 = load i32, ptr %22944, align 4, !tbaa !5
  %22946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22933, ptr noundef @.str.63, i32 noundef %22934, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 971, ptr noundef %22937, ptr noundef %22940, ptr noundef %22943, i32 noundef %22945) #10
  br label %22964

22947:                                            ; preds = %22925, %22918
  %22948 = load i32, ptr %464, align 4, !tbaa !5
  %22949 = call ptr @__errno_location() #11
  store i32 %22948, ptr %22949, align 4, !tbaa !5
  %22950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22951 = load i32, ptr @test_count, align 4, !tbaa !5
  %22952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22953 = load i32, ptr %22952, align 4, !tbaa !5
  %22954 = call ptr @s2n_strerror(i32 noundef %22953, ptr noundef @.str.65)
  %22955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22956 = load i32, ptr %22955, align 4, !tbaa !5
  %22957 = call ptr @s2n_strerror_debug(i32 noundef %22956, ptr noundef @.str.65)
  %22958 = call ptr @__errno_location() #11
  %22959 = load i32, ptr %22958, align 4, !tbaa !5
  %22960 = call ptr @strerror(i32 noundef %22959) #10
  %22961 = call ptr @__errno_location() #11
  %22962 = load i32, ptr %22961, align 4, !tbaa !5
  %22963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22950, ptr noundef @.str.66, i32 noundef %22951, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 971, ptr noundef %22954, ptr noundef %22957, ptr noundef %22960, i32 noundef %22962) #10
  br label %22964

22964:                                            ; preds = %22947, %22930
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #10
  br label %22965

22965:                                            ; preds = %22964
  br label %22966

22966:                                            ; preds = %22965
  call void @exit(i32 noundef 1) #12
  unreachable

22967:                                            ; No predecessors!
  br label %22968

22968:                                            ; preds = %22967
  br label %22969

22969:                                            ; preds = %22968, %22909
  br label %22970

22970:                                            ; preds = %22969
  br label %22971

22971:                                            ; preds = %22970
  br label %22972

22972:                                            ; preds = %22971
  %22973 = load i32, ptr @test_count, align 4, !tbaa !5
  %22974 = add nsw i32 %22973, 1
  store i32 %22974, ptr @test_count, align 4, !tbaa !5
  %22975 = load ptr, ptr %458, align 8, !tbaa !9
  %22976 = load ptr, ptr %455, align 8, !tbaa !9
  %22977 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef %22975, ptr noundef %22976, ptr noundef %19)
  %22978 = getelementptr inbounds %struct.s2n_result, ptr %465, i32 0, i32 0
  store i32 %22977, ptr %22978, align 4
  %22979 = getelementptr inbounds %struct.s2n_result, ptr %465, i32 0, i32 0
  %22980 = load i32, ptr %22979, align 4
  %22981 = call zeroext i1 @s2n_result_is_ok(i32 %22980)
  br i1 %22981, label %23035, label %22982

22982:                                            ; preds = %22972
  br label %22983

22983:                                            ; preds = %22982
  br label %22984

22984:                                            ; preds = %22983
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #10
  %22985 = call ptr @__errno_location() #11
  %22986 = load i32, ptr %22985, align 4, !tbaa !5
  store i32 %22986, ptr %466, align 4, !tbaa !5
  %22987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22988 = call i32 @s2n_print_stacktrace(ptr noundef %22987)
  %22989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22990 = trunc i8 %22989 to i1
  br i1 %22990, label %22991, label %23013

22991:                                            ; preds = %22984
  %22992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22993 = call i32 @fileno(ptr noundef %22992) #10
  %22994 = call i32 @isatty(i32 noundef %22993) #10
  %22995 = icmp ne i32 %22994, 0
  br i1 %22995, label %22996, label %23013

22996:                                            ; preds = %22991
  %22997 = load i32, ptr %466, align 4, !tbaa !5
  %22998 = call ptr @__errno_location() #11
  store i32 %22997, ptr %22998, align 4, !tbaa !5
  %22999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23000 = load i32, ptr @test_count, align 4, !tbaa !5
  %23001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23002 = load i32, ptr %23001, align 4, !tbaa !5
  %23003 = call ptr @s2n_strerror(i32 noundef %23002, ptr noundef @.str.65)
  %23004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23005 = load i32, ptr %23004, align 4, !tbaa !5
  %23006 = call ptr @s2n_strerror_debug(i32 noundef %23005, ptr noundef @.str.65)
  %23007 = call ptr @__errno_location() #11
  %23008 = load i32, ptr %23007, align 4, !tbaa !5
  %23009 = call ptr @strerror(i32 noundef %23008) #10
  %23010 = call ptr @__errno_location() #11
  %23011 = load i32, ptr %23010, align 4, !tbaa !5
  %23012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22999, ptr noundef @.str.63, i32 noundef %23000, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 972, ptr noundef %23003, ptr noundef %23006, ptr noundef %23009, i32 noundef %23011) #10
  br label %23030

23013:                                            ; preds = %22991, %22984
  %23014 = load i32, ptr %466, align 4, !tbaa !5
  %23015 = call ptr @__errno_location() #11
  store i32 %23014, ptr %23015, align 4, !tbaa !5
  %23016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23017 = load i32, ptr @test_count, align 4, !tbaa !5
  %23018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23019 = load i32, ptr %23018, align 4, !tbaa !5
  %23020 = call ptr @s2n_strerror(i32 noundef %23019, ptr noundef @.str.65)
  %23021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23022 = load i32, ptr %23021, align 4, !tbaa !5
  %23023 = call ptr @s2n_strerror_debug(i32 noundef %23022, ptr noundef @.str.65)
  %23024 = call ptr @__errno_location() #11
  %23025 = load i32, ptr %23024, align 4, !tbaa !5
  %23026 = call ptr @strerror(i32 noundef %23025) #10
  %23027 = call ptr @__errno_location() #11
  %23028 = load i32, ptr %23027, align 4, !tbaa !5
  %23029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23016, ptr noundef @.str.66, i32 noundef %23017, ptr noundef @.str.140, ptr noundef @.str.62, i32 noundef 972, ptr noundef %23020, ptr noundef %23023, ptr noundef %23026, i32 noundef %23028) #10
  br label %23030

23030:                                            ; preds = %23013, %22996
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #10
  br label %23031

23031:                                            ; preds = %23030
  br label %23032

23032:                                            ; preds = %23031
  call void @exit(i32 noundef 1) #12
  unreachable

23033:                                            ; No predecessors!
  br label %23034

23034:                                            ; preds = %23033
  br label %23035

23035:                                            ; preds = %23034, %22972
  br label %23036

23036:                                            ; preds = %23035
  br label %23037

23037:                                            ; preds = %23036
  br label %23038

23038:                                            ; preds = %23037
  %23039 = load i32, ptr @test_count, align 4, !tbaa !5
  %23040 = add nsw i32 %23039, 1
  store i32 %23040, ptr @test_count, align 4, !tbaa !5
  %23041 = load ptr, ptr %458, align 8, !tbaa !9
  %23042 = getelementptr inbounds %struct.s2n_connection, ptr %23041, i32 0, i32 23
  %23043 = load i8, ptr %23042, align 4, !tbaa !66
  %23044 = zext i8 %23043 to i32
  %23045 = icmp eq i32 %23044, 34
  br i1 %23045, label %23099, label %23046

23046:                                            ; preds = %23038
  br label %23047

23047:                                            ; preds = %23046
  br label %23048

23048:                                            ; preds = %23047
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #10
  %23049 = call ptr @__errno_location() #11
  %23050 = load i32, ptr %23049, align 4, !tbaa !5
  store i32 %23050, ptr %467, align 4, !tbaa !5
  %23051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23052 = call i32 @s2n_print_stacktrace(ptr noundef %23051)
  %23053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23054 = trunc i8 %23053 to i1
  br i1 %23054, label %23055, label %23077

23055:                                            ; preds = %23048
  %23056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23057 = call i32 @fileno(ptr noundef %23056) #10
  %23058 = call i32 @isatty(i32 noundef %23057) #10
  %23059 = icmp ne i32 %23058, 0
  br i1 %23059, label %23060, label %23077

23060:                                            ; preds = %23055
  %23061 = load i32, ptr %467, align 4, !tbaa !5
  %23062 = call ptr @__errno_location() #11
  store i32 %23061, ptr %23062, align 4, !tbaa !5
  %23063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23064 = load i32, ptr @test_count, align 4, !tbaa !5
  %23065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23066 = load i32, ptr %23065, align 4, !tbaa !5
  %23067 = call ptr @s2n_strerror(i32 noundef %23066, ptr noundef @.str.65)
  %23068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23069 = load i32, ptr %23068, align 4, !tbaa !5
  %23070 = call ptr @s2n_strerror_debug(i32 noundef %23069, ptr noundef @.str.65)
  %23071 = call ptr @__errno_location() #11
  %23072 = load i32, ptr %23071, align 4, !tbaa !5
  %23073 = call ptr @strerror(i32 noundef %23072) #10
  %23074 = call ptr @__errno_location() #11
  %23075 = load i32, ptr %23074, align 4, !tbaa !5
  %23076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23063, ptr noundef @.str.63, i32 noundef %23064, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 973, ptr noundef %23067, ptr noundef %23070, ptr noundef %23073, i32 noundef %23075) #10
  br label %23094

23077:                                            ; preds = %23055, %23048
  %23078 = load i32, ptr %467, align 4, !tbaa !5
  %23079 = call ptr @__errno_location() #11
  store i32 %23078, ptr %23079, align 4, !tbaa !5
  %23080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23081 = load i32, ptr @test_count, align 4, !tbaa !5
  %23082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23083 = load i32, ptr %23082, align 4, !tbaa !5
  %23084 = call ptr @s2n_strerror(i32 noundef %23083, ptr noundef @.str.65)
  %23085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23086 = load i32, ptr %23085, align 4, !tbaa !5
  %23087 = call ptr @s2n_strerror_debug(i32 noundef %23086, ptr noundef @.str.65)
  %23088 = call ptr @__errno_location() #11
  %23089 = load i32, ptr %23088, align 4, !tbaa !5
  %23090 = call ptr @strerror(i32 noundef %23089) #10
  %23091 = call ptr @__errno_location() #11
  %23092 = load i32, ptr %23091, align 4, !tbaa !5
  %23093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23080, ptr noundef @.str.66, i32 noundef %23081, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 973, ptr noundef %23084, ptr noundef %23087, ptr noundef %23090, i32 noundef %23092) #10
  br label %23094

23094:                                            ; preds = %23077, %23060
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #10
  br label %23095

23095:                                            ; preds = %23094
  br label %23096

23096:                                            ; preds = %23095
  call void @exit(i32 noundef 1) #12
  unreachable

23097:                                            ; No predecessors!
  br label %23098

23098:                                            ; preds = %23097
  br label %23099

23099:                                            ; preds = %23098, %23038
  br label %23100

23100:                                            ; preds = %23099
  br label %23101

23101:                                            ; preds = %23100
  br label %23102

23102:                                            ; preds = %23101
  %23103 = load i32, ptr @test_count, align 4, !tbaa !5
  %23104 = add nsw i32 %23103, 1
  store i32 %23104, ptr @test_count, align 4, !tbaa !5
  %23105 = load ptr, ptr %458, align 8, !tbaa !9
  %23106 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %23105, i32 noundef 2)
  br i1 %23106, label %23160, label %23107

23107:                                            ; preds = %23102
  br label %23108

23108:                                            ; preds = %23107
  br label %23109

23109:                                            ; preds = %23108
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #10
  %23110 = call ptr @__errno_location() #11
  %23111 = load i32, ptr %23110, align 4, !tbaa !5
  store i32 %23111, ptr %468, align 4, !tbaa !5
  %23112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23113 = call i32 @s2n_print_stacktrace(ptr noundef %23112)
  %23114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23115 = trunc i8 %23114 to i1
  br i1 %23115, label %23116, label %23138

23116:                                            ; preds = %23109
  %23117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23118 = call i32 @fileno(ptr noundef %23117) #10
  %23119 = call i32 @isatty(i32 noundef %23118) #10
  %23120 = icmp ne i32 %23119, 0
  br i1 %23120, label %23121, label %23138

23121:                                            ; preds = %23116
  %23122 = load i32, ptr %468, align 4, !tbaa !5
  %23123 = call ptr @__errno_location() #11
  store i32 %23122, ptr %23123, align 4, !tbaa !5
  %23124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23125 = load i32, ptr @test_count, align 4, !tbaa !5
  %23126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23127 = load i32, ptr %23126, align 4, !tbaa !5
  %23128 = call ptr @s2n_strerror(i32 noundef %23127, ptr noundef @.str.65)
  %23129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23130 = load i32, ptr %23129, align 4, !tbaa !5
  %23131 = call ptr @s2n_strerror_debug(i32 noundef %23130, ptr noundef @.str.65)
  %23132 = call ptr @__errno_location() #11
  %23133 = load i32, ptr %23132, align 4, !tbaa !5
  %23134 = call ptr @strerror(i32 noundef %23133) #10
  %23135 = call ptr @__errno_location() #11
  %23136 = load i32, ptr %23135, align 4, !tbaa !5
  %23137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23124, ptr noundef @.str.63, i32 noundef %23125, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 974, ptr noundef %23128, ptr noundef %23131, ptr noundef %23134, i32 noundef %23136) #10
  br label %23155

23138:                                            ; preds = %23116, %23109
  %23139 = load i32, ptr %468, align 4, !tbaa !5
  %23140 = call ptr @__errno_location() #11
  store i32 %23139, ptr %23140, align 4, !tbaa !5
  %23141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23142 = load i32, ptr @test_count, align 4, !tbaa !5
  %23143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23144 = load i32, ptr %23143, align 4, !tbaa !5
  %23145 = call ptr @s2n_strerror(i32 noundef %23144, ptr noundef @.str.65)
  %23146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23147 = load i32, ptr %23146, align 4, !tbaa !5
  %23148 = call ptr @s2n_strerror_debug(i32 noundef %23147, ptr noundef @.str.65)
  %23149 = call ptr @__errno_location() #11
  %23150 = load i32, ptr %23149, align 4, !tbaa !5
  %23151 = call ptr @strerror(i32 noundef %23150) #10
  %23152 = call ptr @__errno_location() #11
  %23153 = load i32, ptr %23152, align 4, !tbaa !5
  %23154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23141, ptr noundef @.str.66, i32 noundef %23142, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 974, ptr noundef %23145, ptr noundef %23148, ptr noundef %23151, i32 noundef %23153) #10
  br label %23155

23155:                                            ; preds = %23138, %23121
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #10
  br label %23156

23156:                                            ; preds = %23155
  br label %23157

23157:                                            ; preds = %23156
  call void @exit(i32 noundef 1) #12
  unreachable

23158:                                            ; No predecessors!
  br label %23159

23159:                                            ; preds = %23158
  br label %23160

23160:                                            ; preds = %23159, %23102
  br label %23161

23161:                                            ; preds = %23160
  br label %23162

23162:                                            ; preds = %23161
  br label %23163

23163:                                            ; preds = %23162
  %23164 = load i32, ptr @test_count, align 4, !tbaa !5
  %23165 = add nsw i32 %23164, 1
  store i32 %23165, ptr @test_count, align 4, !tbaa !5
  %23166 = load ptr, ptr %458, align 8, !tbaa !9
  %23167 = getelementptr inbounds %struct.s2n_connection, ptr %23166, i32 0, i32 88
  %23168 = load i16, ptr %23167, align 2, !tbaa !79
  %23169 = zext i16 %23168 to i32
  %23170 = icmp sgt i32 %23169, 1
  br i1 %23170, label %23224, label %23171

23171:                                            ; preds = %23163
  br label %23172

23172:                                            ; preds = %23171
  br label %23173

23173:                                            ; preds = %23172
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #10
  %23174 = call ptr @__errno_location() #11
  %23175 = load i32, ptr %23174, align 4, !tbaa !5
  store i32 %23175, ptr %469, align 4, !tbaa !5
  %23176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23177 = call i32 @s2n_print_stacktrace(ptr noundef %23176)
  %23178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23179 = trunc i8 %23178 to i1
  br i1 %23179, label %23180, label %23202

23180:                                            ; preds = %23173
  %23181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23182 = call i32 @fileno(ptr noundef %23181) #10
  %23183 = call i32 @isatty(i32 noundef %23182) #10
  %23184 = icmp ne i32 %23183, 0
  br i1 %23184, label %23185, label %23202

23185:                                            ; preds = %23180
  %23186 = load i32, ptr %469, align 4, !tbaa !5
  %23187 = call ptr @__errno_location() #11
  store i32 %23186, ptr %23187, align 4, !tbaa !5
  %23188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23189 = load i32, ptr @test_count, align 4, !tbaa !5
  %23190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23191 = load i32, ptr %23190, align 4, !tbaa !5
  %23192 = call ptr @s2n_strerror(i32 noundef %23191, ptr noundef @.str.65)
  %23193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23194 = load i32, ptr %23193, align 4, !tbaa !5
  %23195 = call ptr @s2n_strerror_debug(i32 noundef %23194, ptr noundef @.str.65)
  %23196 = call ptr @__errno_location() #11
  %23197 = load i32, ptr %23196, align 4, !tbaa !5
  %23198 = call ptr @strerror(i32 noundef %23197) #10
  %23199 = call ptr @__errno_location() #11
  %23200 = load i32, ptr %23199, align 4, !tbaa !5
  %23201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23188, ptr noundef @.str.63, i32 noundef %23189, ptr noundef @.str.201, ptr noundef @.str.62, i32 noundef 975, ptr noundef %23192, ptr noundef %23195, ptr noundef %23198, i32 noundef %23200) #10
  br label %23219

23202:                                            ; preds = %23180, %23173
  %23203 = load i32, ptr %469, align 4, !tbaa !5
  %23204 = call ptr @__errno_location() #11
  store i32 %23203, ptr %23204, align 4, !tbaa !5
  %23205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23206 = load i32, ptr @test_count, align 4, !tbaa !5
  %23207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23208 = load i32, ptr %23207, align 4, !tbaa !5
  %23209 = call ptr @s2n_strerror(i32 noundef %23208, ptr noundef @.str.65)
  %23210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23211 = load i32, ptr %23210, align 4, !tbaa !5
  %23212 = call ptr @s2n_strerror_debug(i32 noundef %23211, ptr noundef @.str.65)
  %23213 = call ptr @__errno_location() #11
  %23214 = load i32, ptr %23213, align 4, !tbaa !5
  %23215 = call ptr @strerror(i32 noundef %23214) #10
  %23216 = call ptr @__errno_location() #11
  %23217 = load i32, ptr %23216, align 4, !tbaa !5
  %23218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23205, ptr noundef @.str.66, i32 noundef %23206, ptr noundef @.str.201, ptr noundef @.str.62, i32 noundef 975, ptr noundef %23209, ptr noundef %23212, ptr noundef %23215, i32 noundef %23217) #10
  br label %23219

23219:                                            ; preds = %23202, %23185
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #10
  br label %23220

23220:                                            ; preds = %23219
  br label %23221

23221:                                            ; preds = %23220
  call void @exit(i32 noundef 1) #12
  unreachable

23222:                                            ; No predecessors!
  br label %23223

23223:                                            ; preds = %23222
  br label %23224

23224:                                            ; preds = %23223, %23163
  br label %23225

23225:                                            ; preds = %23224
  br label %23226

23226:                                            ; preds = %23225
  br label %23227

23227:                                            ; preds = %23226
  %23228 = load i32, ptr @test_count, align 4, !tbaa !5
  %23229 = add nsw i32 %23228, 1
  store i32 %23229, ptr @test_count, align 4, !tbaa !5
  %23230 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 2
  %23231 = load i32, ptr %23230, align 4, !tbaa !27
  %23232 = getelementptr inbounds %struct.s2n_stuffer, ptr %45, i32 0, i32 1
  %23233 = load i32, ptr %23232, align 8, !tbaa !30
  %23234 = sub i32 %23231, %23233
  %23235 = call i32 @s2n_stuffer_copy(ptr noundef %45, ptr noundef %453, i32 noundef %23234)
  %23236 = icmp eq i32 %23235, -1
  br i1 %23236, label %23237, label %23290

23237:                                            ; preds = %23227
  br label %23238

23238:                                            ; preds = %23237
  br label %23239

23239:                                            ; preds = %23238
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #10
  %23240 = call ptr @__errno_location() #11
  %23241 = load i32, ptr %23240, align 4, !tbaa !5
  store i32 %23241, ptr %470, align 4, !tbaa !5
  %23242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23243 = call i32 @s2n_print_stacktrace(ptr noundef %23242)
  %23244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23245 = trunc i8 %23244 to i1
  br i1 %23245, label %23246, label %23268

23246:                                            ; preds = %23239
  %23247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23248 = call i32 @fileno(ptr noundef %23247) #10
  %23249 = call i32 @isatty(i32 noundef %23248) #10
  %23250 = icmp ne i32 %23249, 0
  br i1 %23250, label %23251, label %23268

23251:                                            ; preds = %23246
  %23252 = load i32, ptr %470, align 4, !tbaa !5
  %23253 = call ptr @__errno_location() #11
  store i32 %23252, ptr %23253, align 4, !tbaa !5
  %23254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23255 = load i32, ptr @test_count, align 4, !tbaa !5
  %23256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23257 = load i32, ptr %23256, align 4, !tbaa !5
  %23258 = call ptr @s2n_strerror(i32 noundef %23257, ptr noundef @.str.65)
  %23259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23260 = load i32, ptr %23259, align 4, !tbaa !5
  %23261 = call ptr @s2n_strerror_debug(i32 noundef %23260, ptr noundef @.str.65)
  %23262 = call ptr @__errno_location() #11
  %23263 = load i32, ptr %23262, align 4, !tbaa !5
  %23264 = call ptr @strerror(i32 noundef %23263) #10
  %23265 = call ptr @__errno_location() #11
  %23266 = load i32, ptr %23265, align 4, !tbaa !5
  %23267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23254, ptr noundef @.str.63, i32 noundef %23255, ptr noundef @.str.193, ptr noundef @.str.62, i32 noundef 976, ptr noundef %23258, ptr noundef %23261, ptr noundef %23264, i32 noundef %23266) #10
  br label %23285

23268:                                            ; preds = %23246, %23239
  %23269 = load i32, ptr %470, align 4, !tbaa !5
  %23270 = call ptr @__errno_location() #11
  store i32 %23269, ptr %23270, align 4, !tbaa !5
  %23271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23272 = load i32, ptr @test_count, align 4, !tbaa !5
  %23273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23274 = load i32, ptr %23273, align 4, !tbaa !5
  %23275 = call ptr @s2n_strerror(i32 noundef %23274, ptr noundef @.str.65)
  %23276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23277 = load i32, ptr %23276, align 4, !tbaa !5
  %23278 = call ptr @s2n_strerror_debug(i32 noundef %23277, ptr noundef @.str.65)
  %23279 = call ptr @__errno_location() #11
  %23280 = load i32, ptr %23279, align 4, !tbaa !5
  %23281 = call ptr @strerror(i32 noundef %23280) #10
  %23282 = call ptr @__errno_location() #11
  %23283 = load i32, ptr %23282, align 4, !tbaa !5
  %23284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23271, ptr noundef @.str.66, i32 noundef %23272, ptr noundef @.str.193, ptr noundef @.str.62, i32 noundef 976, ptr noundef %23275, ptr noundef %23278, ptr noundef %23281, i32 noundef %23283) #10
  br label %23285

23285:                                            ; preds = %23268, %23251
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #10
  br label %23286

23286:                                            ; preds = %23285
  br label %23287

23287:                                            ; preds = %23286
  call void @exit(i32 noundef 1) #12
  unreachable

23288:                                            ; No predecessors!
  br label %23289

23289:                                            ; preds = %23288
  br label %23290

23290:                                            ; preds = %23289, %23227
  br label %23291

23291:                                            ; preds = %23290
  br label %23292

23292:                                            ; preds = %23291
  br label %23293

23293:                                            ; preds = %23292
  %23294 = load i32, ptr @test_count, align 4, !tbaa !5
  %23295 = add nsw i32 %23294, 1
  store i32 %23295, ptr @test_count, align 4, !tbaa !5
  %23296 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 2
  %23297 = load i32, ptr %23296, align 4, !tbaa !27
  %23298 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 1
  %23299 = load i32, ptr %23298, align 8, !tbaa !30
  %23300 = sub i32 %23297, %23299
  %23301 = icmp ugt i32 %23300, 0
  br i1 %23301, label %23355, label %23302

23302:                                            ; preds = %23293
  br label %23303

23303:                                            ; preds = %23302
  br label %23304

23304:                                            ; preds = %23303
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #10
  %23305 = call ptr @__errno_location() #11
  %23306 = load i32, ptr %23305, align 4, !tbaa !5
  store i32 %23306, ptr %471, align 4, !tbaa !5
  %23307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23308 = call i32 @s2n_print_stacktrace(ptr noundef %23307)
  %23309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23310 = trunc i8 %23309 to i1
  br i1 %23310, label %23311, label %23333

23311:                                            ; preds = %23304
  %23312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23313 = call i32 @fileno(ptr noundef %23312) #10
  %23314 = call i32 @isatty(i32 noundef %23313) #10
  %23315 = icmp ne i32 %23314, 0
  br i1 %23315, label %23316, label %23333

23316:                                            ; preds = %23311
  %23317 = load i32, ptr %471, align 4, !tbaa !5
  %23318 = call ptr @__errno_location() #11
  store i32 %23317, ptr %23318, align 4, !tbaa !5
  %23319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23320 = load i32, ptr @test_count, align 4, !tbaa !5
  %23321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23322 = load i32, ptr %23321, align 4, !tbaa !5
  %23323 = call ptr @s2n_strerror(i32 noundef %23322, ptr noundef @.str.65)
  %23324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23325 = load i32, ptr %23324, align 4, !tbaa !5
  %23326 = call ptr @s2n_strerror_debug(i32 noundef %23325, ptr noundef @.str.65)
  %23327 = call ptr @__errno_location() #11
  %23328 = load i32, ptr %23327, align 4, !tbaa !5
  %23329 = call ptr @strerror(i32 noundef %23328) #10
  %23330 = call ptr @__errno_location() #11
  %23331 = load i32, ptr %23330, align 4, !tbaa !5
  %23332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23319, ptr noundef @.str.63, i32 noundef %23320, ptr noundef @.str.194, ptr noundef @.str.62, i32 noundef 977, ptr noundef %23323, ptr noundef %23326, ptr noundef %23329, i32 noundef %23331) #10
  br label %23350

23333:                                            ; preds = %23311, %23304
  %23334 = load i32, ptr %471, align 4, !tbaa !5
  %23335 = call ptr @__errno_location() #11
  store i32 %23334, ptr %23335, align 4, !tbaa !5
  %23336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23337 = load i32, ptr @test_count, align 4, !tbaa !5
  %23338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23339 = load i32, ptr %23338, align 4, !tbaa !5
  %23340 = call ptr @s2n_strerror(i32 noundef %23339, ptr noundef @.str.65)
  %23341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23342 = load i32, ptr %23341, align 4, !tbaa !5
  %23343 = call ptr @s2n_strerror_debug(i32 noundef %23342, ptr noundef @.str.65)
  %23344 = call ptr @__errno_location() #11
  %23345 = load i32, ptr %23344, align 4, !tbaa !5
  %23346 = call ptr @strerror(i32 noundef %23345) #10
  %23347 = call ptr @__errno_location() #11
  %23348 = load i32, ptr %23347, align 4, !tbaa !5
  %23349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23336, ptr noundef @.str.66, i32 noundef %23337, ptr noundef @.str.194, ptr noundef @.str.62, i32 noundef 977, ptr noundef %23340, ptr noundef %23343, ptr noundef %23346, i32 noundef %23348) #10
  br label %23350

23350:                                            ; preds = %23333, %23316
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #10
  br label %23351

23351:                                            ; preds = %23350
  br label %23352

23352:                                            ; preds = %23351
  call void @exit(i32 noundef 1) #12
  unreachable

23353:                                            ; No predecessors!
  br label %23354

23354:                                            ; preds = %23353
  br label %23355

23355:                                            ; preds = %23354, %23293
  br label %23356

23356:                                            ; preds = %23355
  br label %23357

23357:                                            ; preds = %23356
  br label %23358

23358:                                            ; preds = %23357
  %23359 = load i32, ptr @test_count, align 4, !tbaa !5
  %23360 = add nsw i32 %23359, 1
  store i32 %23360, ptr @test_count, align 4, !tbaa !5
  %23361 = load ptr, ptr %455, align 8, !tbaa !9
  %23362 = load ptr, ptr %458, align 8, !tbaa !9
  %23363 = call i32 @s2n_wipe_connections(ptr noundef %23361, ptr noundef %23362, ptr noundef %460)
  %23364 = getelementptr inbounds %struct.s2n_result, ptr %472, i32 0, i32 0
  store i32 %23363, ptr %23364, align 4
  %23365 = getelementptr inbounds %struct.s2n_result, ptr %472, i32 0, i32 0
  %23366 = load i32, ptr %23365, align 4
  %23367 = call zeroext i1 @s2n_result_is_ok(i32 %23366)
  br i1 %23367, label %23421, label %23368

23368:                                            ; preds = %23358
  br label %23369

23369:                                            ; preds = %23368
  br label %23370

23370:                                            ; preds = %23369
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #10
  %23371 = call ptr @__errno_location() #11
  %23372 = load i32, ptr %23371, align 4, !tbaa !5
  store i32 %23372, ptr %473, align 4, !tbaa !5
  %23373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23374 = call i32 @s2n_print_stacktrace(ptr noundef %23373)
  %23375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23376 = trunc i8 %23375 to i1
  br i1 %23376, label %23377, label %23399

23377:                                            ; preds = %23370
  %23378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23379 = call i32 @fileno(ptr noundef %23378) #10
  %23380 = call i32 @isatty(i32 noundef %23379) #10
  %23381 = icmp ne i32 %23380, 0
  br i1 %23381, label %23382, label %23399

23382:                                            ; preds = %23377
  %23383 = load i32, ptr %473, align 4, !tbaa !5
  %23384 = call ptr @__errno_location() #11
  store i32 %23383, ptr %23384, align 4, !tbaa !5
  %23385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23386 = load i32, ptr @test_count, align 4, !tbaa !5
  %23387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23388 = load i32, ptr %23387, align 4, !tbaa !5
  %23389 = call ptr @s2n_strerror(i32 noundef %23388, ptr noundef @.str.65)
  %23390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23391 = load i32, ptr %23390, align 4, !tbaa !5
  %23392 = call ptr @s2n_strerror_debug(i32 noundef %23391, ptr noundef @.str.65)
  %23393 = call ptr @__errno_location() #11
  %23394 = load i32, ptr %23393, align 4, !tbaa !5
  %23395 = call ptr @strerror(i32 noundef %23394) #10
  %23396 = call ptr @__errno_location() #11
  %23397 = load i32, ptr %23396, align 4, !tbaa !5
  %23398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23385, ptr noundef @.str.63, i32 noundef %23386, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 979, ptr noundef %23389, ptr noundef %23392, ptr noundef %23395, i32 noundef %23397) #10
  br label %23416

23399:                                            ; preds = %23377, %23370
  %23400 = load i32, ptr %473, align 4, !tbaa !5
  %23401 = call ptr @__errno_location() #11
  store i32 %23400, ptr %23401, align 4, !tbaa !5
  %23402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23403 = load i32, ptr @test_count, align 4, !tbaa !5
  %23404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23405 = load i32, ptr %23404, align 4, !tbaa !5
  %23406 = call ptr @s2n_strerror(i32 noundef %23405, ptr noundef @.str.65)
  %23407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23408 = load i32, ptr %23407, align 4, !tbaa !5
  %23409 = call ptr @s2n_strerror_debug(i32 noundef %23408, ptr noundef @.str.65)
  %23410 = call ptr @__errno_location() #11
  %23411 = load i32, ptr %23410, align 4, !tbaa !5
  %23412 = call ptr @strerror(i32 noundef %23411) #10
  %23413 = call ptr @__errno_location() #11
  %23414 = load i32, ptr %23413, align 4, !tbaa !5
  %23415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23402, ptr noundef @.str.66, i32 noundef %23403, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 979, ptr noundef %23406, ptr noundef %23409, ptr noundef %23412, i32 noundef %23414) #10
  br label %23416

23416:                                            ; preds = %23399, %23382
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #10
  br label %23417

23417:                                            ; preds = %23416
  br label %23418

23418:                                            ; preds = %23417
  call void @exit(i32 noundef 1) #12
  unreachable

23419:                                            ; No predecessors!
  br label %23420

23420:                                            ; preds = %23419
  br label %23421

23421:                                            ; preds = %23420, %23358
  br label %23422

23422:                                            ; preds = %23421
  br label %23423

23423:                                            ; preds = %23422
  br label %23424

23424:                                            ; preds = %23423
  %23425 = load i32, ptr @test_count, align 4, !tbaa !5
  %23426 = add nsw i32 %23425, 1
  store i32 %23426, ptr @test_count, align 4, !tbaa !5
  %23427 = load ptr, ptr %458, align 8, !tbaa !9
  %23428 = load ptr, ptr %378, align 8, !tbaa !9
  %23429 = call i32 @s2n_connection_set_config(ptr noundef %23427, ptr noundef %23428)
  %23430 = icmp eq i32 %23429, -1
  br i1 %23430, label %23431, label %23484

23431:                                            ; preds = %23424
  br label %23432

23432:                                            ; preds = %23431
  br label %23433

23433:                                            ; preds = %23432
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #10
  %23434 = call ptr @__errno_location() #11
  %23435 = load i32, ptr %23434, align 4, !tbaa !5
  store i32 %23435, ptr %474, align 4, !tbaa !5
  %23436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23437 = call i32 @s2n_print_stacktrace(ptr noundef %23436)
  %23438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23439 = trunc i8 %23438 to i1
  br i1 %23439, label %23440, label %23462

23440:                                            ; preds = %23433
  %23441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23442 = call i32 @fileno(ptr noundef %23441) #10
  %23443 = call i32 @isatty(i32 noundef %23442) #10
  %23444 = icmp ne i32 %23443, 0
  br i1 %23444, label %23445, label %23462

23445:                                            ; preds = %23440
  %23446 = load i32, ptr %474, align 4, !tbaa !5
  %23447 = call ptr @__errno_location() #11
  store i32 %23446, ptr %23447, align 4, !tbaa !5
  %23448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23449 = load i32, ptr @test_count, align 4, !tbaa !5
  %23450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23451 = load i32, ptr %23450, align 4, !tbaa !5
  %23452 = call ptr @s2n_strerror(i32 noundef %23451, ptr noundef @.str.65)
  %23453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23454 = load i32, ptr %23453, align 4, !tbaa !5
  %23455 = call ptr @s2n_strerror_debug(i32 noundef %23454, ptr noundef @.str.65)
  %23456 = call ptr @__errno_location() #11
  %23457 = load i32, ptr %23456, align 4, !tbaa !5
  %23458 = call ptr @strerror(i32 noundef %23457) #10
  %23459 = call ptr @__errno_location() #11
  %23460 = load i32, ptr %23459, align 4, !tbaa !5
  %23461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23448, ptr noundef @.str.63, i32 noundef %23449, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 984, ptr noundef %23452, ptr noundef %23455, ptr noundef %23458, i32 noundef %23460) #10
  br label %23479

23462:                                            ; preds = %23440, %23433
  %23463 = load i32, ptr %474, align 4, !tbaa !5
  %23464 = call ptr @__errno_location() #11
  store i32 %23463, ptr %23464, align 4, !tbaa !5
  %23465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23466 = load i32, ptr @test_count, align 4, !tbaa !5
  %23467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23468 = load i32, ptr %23467, align 4, !tbaa !5
  %23469 = call ptr @s2n_strerror(i32 noundef %23468, ptr noundef @.str.65)
  %23470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23471 = load i32, ptr %23470, align 4, !tbaa !5
  %23472 = call ptr @s2n_strerror_debug(i32 noundef %23471, ptr noundef @.str.65)
  %23473 = call ptr @__errno_location() #11
  %23474 = load i32, ptr %23473, align 4, !tbaa !5
  %23475 = call ptr @strerror(i32 noundef %23474) #10
  %23476 = call ptr @__errno_location() #11
  %23477 = load i32, ptr %23476, align 4, !tbaa !5
  %23478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23465, ptr noundef @.str.66, i32 noundef %23466, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 984, ptr noundef %23469, ptr noundef %23472, ptr noundef %23475, i32 noundef %23477) #10
  br label %23479

23479:                                            ; preds = %23462, %23445
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #10
  br label %23480

23480:                                            ; preds = %23479
  br label %23481

23481:                                            ; preds = %23480
  call void @exit(i32 noundef 1) #12
  unreachable

23482:                                            ; No predecessors!
  br label %23483

23483:                                            ; preds = %23482
  br label %23484

23484:                                            ; preds = %23483, %23424
  br label %23485

23485:                                            ; preds = %23484
  br label %23486

23486:                                            ; preds = %23485
  br label %23487

23487:                                            ; preds = %23486
  %23488 = load i32, ptr @test_count, align 4, !tbaa !5
  %23489 = add nsw i32 %23488, 1
  store i32 %23489, ptr @test_count, align 4, !tbaa !5
  %23490 = load ptr, ptr %458, align 8, !tbaa !9
  %23491 = load ptr, ptr %455, align 8, !tbaa !9
  %23492 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %23490, ptr noundef %23491)
  %23493 = icmp eq i32 %23492, -1
  br i1 %23493, label %23494, label %23547

23494:                                            ; preds = %23487
  br label %23495

23495:                                            ; preds = %23494
  br label %23496

23496:                                            ; preds = %23495
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #10
  %23497 = call ptr @__errno_location() #11
  %23498 = load i32, ptr %23497, align 4, !tbaa !5
  store i32 %23498, ptr %475, align 4, !tbaa !5
  %23499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23500 = call i32 @s2n_print_stacktrace(ptr noundef %23499)
  %23501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23502 = trunc i8 %23501 to i1
  br i1 %23502, label %23503, label %23525

23503:                                            ; preds = %23496
  %23504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23505 = call i32 @fileno(ptr noundef %23504) #10
  %23506 = call i32 @isatty(i32 noundef %23505) #10
  %23507 = icmp ne i32 %23506, 0
  br i1 %23507, label %23508, label %23525

23508:                                            ; preds = %23503
  %23509 = load i32, ptr %475, align 4, !tbaa !5
  %23510 = call ptr @__errno_location() #11
  store i32 %23509, ptr %23510, align 4, !tbaa !5
  %23511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23512 = load i32, ptr @test_count, align 4, !tbaa !5
  %23513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23514 = load i32, ptr %23513, align 4, !tbaa !5
  %23515 = call ptr @s2n_strerror(i32 noundef %23514, ptr noundef @.str.65)
  %23516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23517 = load i32, ptr %23516, align 4, !tbaa !5
  %23518 = call ptr @s2n_strerror_debug(i32 noundef %23517, ptr noundef @.str.65)
  %23519 = call ptr @__errno_location() #11
  %23520 = load i32, ptr %23519, align 4, !tbaa !5
  %23521 = call ptr @strerror(i32 noundef %23520) #10
  %23522 = call ptr @__errno_location() #11
  %23523 = load i32, ptr %23522, align 4, !tbaa !5
  %23524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23511, ptr noundef @.str.63, i32 noundef %23512, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 986, ptr noundef %23515, ptr noundef %23518, ptr noundef %23521, i32 noundef %23523) #10
  br label %23542

23525:                                            ; preds = %23503, %23496
  %23526 = load i32, ptr %475, align 4, !tbaa !5
  %23527 = call ptr @__errno_location() #11
  store i32 %23526, ptr %23527, align 4, !tbaa !5
  %23528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23529 = load i32, ptr @test_count, align 4, !tbaa !5
  %23530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23531 = load i32, ptr %23530, align 4, !tbaa !5
  %23532 = call ptr @s2n_strerror(i32 noundef %23531, ptr noundef @.str.65)
  %23533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23534 = load i32, ptr %23533, align 4, !tbaa !5
  %23535 = call ptr @s2n_strerror_debug(i32 noundef %23534, ptr noundef @.str.65)
  %23536 = call ptr @__errno_location() #11
  %23537 = load i32, ptr %23536, align 4, !tbaa !5
  %23538 = call ptr @strerror(i32 noundef %23537) #10
  %23539 = call ptr @__errno_location() #11
  %23540 = load i32, ptr %23539, align 4, !tbaa !5
  %23541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23528, ptr noundef @.str.66, i32 noundef %23529, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 986, ptr noundef %23532, ptr noundef %23535, ptr noundef %23538, i32 noundef %23540) #10
  br label %23542

23542:                                            ; preds = %23525, %23508
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #10
  br label %23543

23543:                                            ; preds = %23542
  br label %23544

23544:                                            ; preds = %23543
  call void @exit(i32 noundef 1) #12
  unreachable

23545:                                            ; No predecessors!
  br label %23546

23546:                                            ; preds = %23545
  br label %23547

23547:                                            ; preds = %23546, %23487
  br label %23548

23548:                                            ; preds = %23547
  br label %23549

23549:                                            ; preds = %23548
  br label %23550

23550:                                            ; preds = %23549
  %23551 = load i32, ptr @test_count, align 4, !tbaa !5
  %23552 = add nsw i32 %23551, 1
  store i32 %23552, ptr @test_count, align 4, !tbaa !5
  %23553 = load ptr, ptr %458, align 8, !tbaa !9
  %23554 = getelementptr inbounds %struct.s2n_connection, ptr %23553, i32 0, i32 23
  %23555 = load i8, ptr %23554, align 4, !tbaa !66
  %23556 = zext i8 %23555 to i32
  %23557 = icmp eq i32 %23556, 34
  br i1 %23557, label %23611, label %23558

23558:                                            ; preds = %23550
  br label %23559

23559:                                            ; preds = %23558
  br label %23560

23560:                                            ; preds = %23559
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #10
  %23561 = call ptr @__errno_location() #11
  %23562 = load i32, ptr %23561, align 4, !tbaa !5
  store i32 %23562, ptr %476, align 4, !tbaa !5
  %23563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23564 = call i32 @s2n_print_stacktrace(ptr noundef %23563)
  %23565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23566 = trunc i8 %23565 to i1
  br i1 %23566, label %23567, label %23589

23567:                                            ; preds = %23560
  %23568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23569 = call i32 @fileno(ptr noundef %23568) #10
  %23570 = call i32 @isatty(i32 noundef %23569) #10
  %23571 = icmp ne i32 %23570, 0
  br i1 %23571, label %23572, label %23589

23572:                                            ; preds = %23567
  %23573 = load i32, ptr %476, align 4, !tbaa !5
  %23574 = call ptr @__errno_location() #11
  store i32 %23573, ptr %23574, align 4, !tbaa !5
  %23575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23576 = load i32, ptr @test_count, align 4, !tbaa !5
  %23577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23578 = load i32, ptr %23577, align 4, !tbaa !5
  %23579 = call ptr @s2n_strerror(i32 noundef %23578, ptr noundef @.str.65)
  %23580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23581 = load i32, ptr %23580, align 4, !tbaa !5
  %23582 = call ptr @s2n_strerror_debug(i32 noundef %23581, ptr noundef @.str.65)
  %23583 = call ptr @__errno_location() #11
  %23584 = load i32, ptr %23583, align 4, !tbaa !5
  %23585 = call ptr @strerror(i32 noundef %23584) #10
  %23586 = call ptr @__errno_location() #11
  %23587 = load i32, ptr %23586, align 4, !tbaa !5
  %23588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23575, ptr noundef @.str.63, i32 noundef %23576, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 987, ptr noundef %23579, ptr noundef %23582, ptr noundef %23585, i32 noundef %23587) #10
  br label %23606

23589:                                            ; preds = %23567, %23560
  %23590 = load i32, ptr %476, align 4, !tbaa !5
  %23591 = call ptr @__errno_location() #11
  store i32 %23590, ptr %23591, align 4, !tbaa !5
  %23592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23593 = load i32, ptr @test_count, align 4, !tbaa !5
  %23594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23595 = load i32, ptr %23594, align 4, !tbaa !5
  %23596 = call ptr @s2n_strerror(i32 noundef %23595, ptr noundef @.str.65)
  %23597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23598 = load i32, ptr %23597, align 4, !tbaa !5
  %23599 = call ptr @s2n_strerror_debug(i32 noundef %23598, ptr noundef @.str.65)
  %23600 = call ptr @__errno_location() #11
  %23601 = load i32, ptr %23600, align 4, !tbaa !5
  %23602 = call ptr @strerror(i32 noundef %23601) #10
  %23603 = call ptr @__errno_location() #11
  %23604 = load i32, ptr %23603, align 4, !tbaa !5
  %23605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23592, ptr noundef @.str.66, i32 noundef %23593, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 987, ptr noundef %23596, ptr noundef %23599, ptr noundef %23602, i32 noundef %23604) #10
  br label %23606

23606:                                            ; preds = %23589, %23572
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #10
  br label %23607

23607:                                            ; preds = %23606
  br label %23608

23608:                                            ; preds = %23607
  call void @exit(i32 noundef 1) #12
  unreachable

23609:                                            ; No predecessors!
  br label %23610

23610:                                            ; preds = %23609
  br label %23611

23611:                                            ; preds = %23610, %23550
  br label %23612

23612:                                            ; preds = %23611
  br label %23613

23613:                                            ; preds = %23612
  br label %23614

23614:                                            ; preds = %23613
  %23615 = load i32, ptr @test_count, align 4, !tbaa !5
  %23616 = add nsw i32 %23615, 1
  store i32 %23616, ptr @test_count, align 4, !tbaa !5
  %23617 = load ptr, ptr %458, align 8, !tbaa !9
  %23618 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %23617, i32 noundef 2)
  br i1 %23618, label %23672, label %23619

23619:                                            ; preds = %23614
  br label %23620

23620:                                            ; preds = %23619
  br label %23621

23621:                                            ; preds = %23620
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #10
  %23622 = call ptr @__errno_location() #11
  %23623 = load i32, ptr %23622, align 4, !tbaa !5
  store i32 %23623, ptr %477, align 4, !tbaa !5
  %23624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23625 = call i32 @s2n_print_stacktrace(ptr noundef %23624)
  %23626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23627 = trunc i8 %23626 to i1
  br i1 %23627, label %23628, label %23650

23628:                                            ; preds = %23621
  %23629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23630 = call i32 @fileno(ptr noundef %23629) #10
  %23631 = call i32 @isatty(i32 noundef %23630) #10
  %23632 = icmp ne i32 %23631, 0
  br i1 %23632, label %23633, label %23650

23633:                                            ; preds = %23628
  %23634 = load i32, ptr %477, align 4, !tbaa !5
  %23635 = call ptr @__errno_location() #11
  store i32 %23634, ptr %23635, align 4, !tbaa !5
  %23636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23637 = load i32, ptr @test_count, align 4, !tbaa !5
  %23638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23639 = load i32, ptr %23638, align 4, !tbaa !5
  %23640 = call ptr @s2n_strerror(i32 noundef %23639, ptr noundef @.str.65)
  %23641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23642 = load i32, ptr %23641, align 4, !tbaa !5
  %23643 = call ptr @s2n_strerror_debug(i32 noundef %23642, ptr noundef @.str.65)
  %23644 = call ptr @__errno_location() #11
  %23645 = load i32, ptr %23644, align 4, !tbaa !5
  %23646 = call ptr @strerror(i32 noundef %23645) #10
  %23647 = call ptr @__errno_location() #11
  %23648 = load i32, ptr %23647, align 4, !tbaa !5
  %23649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23636, ptr noundef @.str.63, i32 noundef %23637, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 988, ptr noundef %23640, ptr noundef %23643, ptr noundef %23646, i32 noundef %23648) #10
  br label %23667

23650:                                            ; preds = %23628, %23621
  %23651 = load i32, ptr %477, align 4, !tbaa !5
  %23652 = call ptr @__errno_location() #11
  store i32 %23651, ptr %23652, align 4, !tbaa !5
  %23653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23654 = load i32, ptr @test_count, align 4, !tbaa !5
  %23655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23656 = load i32, ptr %23655, align 4, !tbaa !5
  %23657 = call ptr @s2n_strerror(i32 noundef %23656, ptr noundef @.str.65)
  %23658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23659 = load i32, ptr %23658, align 4, !tbaa !5
  %23660 = call ptr @s2n_strerror_debug(i32 noundef %23659, ptr noundef @.str.65)
  %23661 = call ptr @__errno_location() #11
  %23662 = load i32, ptr %23661, align 4, !tbaa !5
  %23663 = call ptr @strerror(i32 noundef %23662) #10
  %23664 = call ptr @__errno_location() #11
  %23665 = load i32, ptr %23664, align 4, !tbaa !5
  %23666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23653, ptr noundef @.str.66, i32 noundef %23654, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 988, ptr noundef %23657, ptr noundef %23660, ptr noundef %23663, i32 noundef %23665) #10
  br label %23667

23667:                                            ; preds = %23650, %23633
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #10
  br label %23668

23668:                                            ; preds = %23667
  br label %23669

23669:                                            ; preds = %23668
  call void @exit(i32 noundef 1) #12
  unreachable

23670:                                            ; No predecessors!
  br label %23671

23671:                                            ; preds = %23670
  br label %23672

23672:                                            ; preds = %23671, %23614
  br label %23673

23673:                                            ; preds = %23672
  br label %23674

23674:                                            ; preds = %23673
  br label %23675

23675:                                            ; preds = %23674
  %23676 = load i32, ptr @test_count, align 4, !tbaa !5
  %23677 = add nsw i32 %23676, 1
  store i32 %23677, ptr @test_count, align 4, !tbaa !5
  %23678 = load ptr, ptr %458, align 8, !tbaa !9
  %23679 = getelementptr inbounds %struct.s2n_connection, ptr %23678, i32 0, i32 88
  %23680 = load i16, ptr %23679, align 2, !tbaa !79
  %23681 = zext i16 %23680 to i32
  %23682 = icmp eq i32 %23681, 0
  br i1 %23682, label %23736, label %23683

23683:                                            ; preds = %23675
  br label %23684

23684:                                            ; preds = %23683
  br label %23685

23685:                                            ; preds = %23684
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #10
  %23686 = call ptr @__errno_location() #11
  %23687 = load i32, ptr %23686, align 4, !tbaa !5
  store i32 %23687, ptr %478, align 4, !tbaa !5
  %23688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23689 = call i32 @s2n_print_stacktrace(ptr noundef %23688)
  %23690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23691 = trunc i8 %23690 to i1
  br i1 %23691, label %23692, label %23714

23692:                                            ; preds = %23685
  %23693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23694 = call i32 @fileno(ptr noundef %23693) #10
  %23695 = call i32 @isatty(i32 noundef %23694) #10
  %23696 = icmp ne i32 %23695, 0
  br i1 %23696, label %23697, label %23714

23697:                                            ; preds = %23692
  %23698 = load i32, ptr %478, align 4, !tbaa !5
  %23699 = call ptr @__errno_location() #11
  store i32 %23698, ptr %23699, align 4, !tbaa !5
  %23700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23701 = load i32, ptr @test_count, align 4, !tbaa !5
  %23702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23703 = load i32, ptr %23702, align 4, !tbaa !5
  %23704 = call ptr @s2n_strerror(i32 noundef %23703, ptr noundef @.str.65)
  %23705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23706 = load i32, ptr %23705, align 4, !tbaa !5
  %23707 = call ptr @s2n_strerror_debug(i32 noundef %23706, ptr noundef @.str.65)
  %23708 = call ptr @__errno_location() #11
  %23709 = load i32, ptr %23708, align 4, !tbaa !5
  %23710 = call ptr @strerror(i32 noundef %23709) #10
  %23711 = call ptr @__errno_location() #11
  %23712 = load i32, ptr %23711, align 4, !tbaa !5
  %23713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23700, ptr noundef @.str.63, i32 noundef %23701, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 989, ptr noundef %23704, ptr noundef %23707, ptr noundef %23710, i32 noundef %23712) #10
  br label %23731

23714:                                            ; preds = %23692, %23685
  %23715 = load i32, ptr %478, align 4, !tbaa !5
  %23716 = call ptr @__errno_location() #11
  store i32 %23715, ptr %23716, align 4, !tbaa !5
  %23717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23718 = load i32, ptr @test_count, align 4, !tbaa !5
  %23719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23720 = load i32, ptr %23719, align 4, !tbaa !5
  %23721 = call ptr @s2n_strerror(i32 noundef %23720, ptr noundef @.str.65)
  %23722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23723 = load i32, ptr %23722, align 4, !tbaa !5
  %23724 = call ptr @s2n_strerror_debug(i32 noundef %23723, ptr noundef @.str.65)
  %23725 = call ptr @__errno_location() #11
  %23726 = load i32, ptr %23725, align 4, !tbaa !5
  %23727 = call ptr @strerror(i32 noundef %23726) #10
  %23728 = call ptr @__errno_location() #11
  %23729 = load i32, ptr %23728, align 4, !tbaa !5
  %23730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23717, ptr noundef @.str.66, i32 noundef %23718, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 989, ptr noundef %23721, ptr noundef %23724, ptr noundef %23727, i32 noundef %23729) #10
  br label %23731

23731:                                            ; preds = %23714, %23697
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #10
  br label %23732

23732:                                            ; preds = %23731
  br label %23733

23733:                                            ; preds = %23732
  call void @exit(i32 noundef 1) #12
  unreachable

23734:                                            ; No predecessors!
  br label %23735

23735:                                            ; preds = %23734
  br label %23736

23736:                                            ; preds = %23735, %23675
  br label %23737

23737:                                            ; preds = %23736
  br label %23738

23738:                                            ; preds = %23737
  br label %23739

23739:                                            ; preds = %23738
  %23740 = load i32, ptr @test_count, align 4, !tbaa !5
  %23741 = add nsw i32 %23740, 1
  store i32 %23741, ptr @test_count, align 4, !tbaa !5
  %23742 = load ptr, ptr %455, align 8, !tbaa !9
  %23743 = load ptr, ptr %458, align 8, !tbaa !9
  %23744 = call i32 @s2n_wipe_connections(ptr noundef %23742, ptr noundef %23743, ptr noundef %460)
  %23745 = getelementptr inbounds %struct.s2n_result, ptr %479, i32 0, i32 0
  store i32 %23744, ptr %23745, align 4
  %23746 = getelementptr inbounds %struct.s2n_result, ptr %479, i32 0, i32 0
  %23747 = load i32, ptr %23746, align 4
  %23748 = call zeroext i1 @s2n_result_is_ok(i32 %23747)
  br i1 %23748, label %23802, label %23749

23749:                                            ; preds = %23739
  br label %23750

23750:                                            ; preds = %23749
  br label %23751

23751:                                            ; preds = %23750
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #10
  %23752 = call ptr @__errno_location() #11
  %23753 = load i32, ptr %23752, align 4, !tbaa !5
  store i32 %23753, ptr %480, align 4, !tbaa !5
  %23754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23755 = call i32 @s2n_print_stacktrace(ptr noundef %23754)
  %23756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23757 = trunc i8 %23756 to i1
  br i1 %23757, label %23758, label %23780

23758:                                            ; preds = %23751
  %23759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23760 = call i32 @fileno(ptr noundef %23759) #10
  %23761 = call i32 @isatty(i32 noundef %23760) #10
  %23762 = icmp ne i32 %23761, 0
  br i1 %23762, label %23763, label %23780

23763:                                            ; preds = %23758
  %23764 = load i32, ptr %480, align 4, !tbaa !5
  %23765 = call ptr @__errno_location() #11
  store i32 %23764, ptr %23765, align 4, !tbaa !5
  %23766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23767 = load i32, ptr @test_count, align 4, !tbaa !5
  %23768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23769 = load i32, ptr %23768, align 4, !tbaa !5
  %23770 = call ptr @s2n_strerror(i32 noundef %23769, ptr noundef @.str.65)
  %23771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23772 = load i32, ptr %23771, align 4, !tbaa !5
  %23773 = call ptr @s2n_strerror_debug(i32 noundef %23772, ptr noundef @.str.65)
  %23774 = call ptr @__errno_location() #11
  %23775 = load i32, ptr %23774, align 4, !tbaa !5
  %23776 = call ptr @strerror(i32 noundef %23775) #10
  %23777 = call ptr @__errno_location() #11
  %23778 = load i32, ptr %23777, align 4, !tbaa !5
  %23779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23766, ptr noundef @.str.63, i32 noundef %23767, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 991, ptr noundef %23770, ptr noundef %23773, ptr noundef %23776, i32 noundef %23778) #10
  br label %23797

23780:                                            ; preds = %23758, %23751
  %23781 = load i32, ptr %480, align 4, !tbaa !5
  %23782 = call ptr @__errno_location() #11
  store i32 %23781, ptr %23782, align 4, !tbaa !5
  %23783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23784 = load i32, ptr @test_count, align 4, !tbaa !5
  %23785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23786 = load i32, ptr %23785, align 4, !tbaa !5
  %23787 = call ptr @s2n_strerror(i32 noundef %23786, ptr noundef @.str.65)
  %23788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23789 = load i32, ptr %23788, align 4, !tbaa !5
  %23790 = call ptr @s2n_strerror_debug(i32 noundef %23789, ptr noundef @.str.65)
  %23791 = call ptr @__errno_location() #11
  %23792 = load i32, ptr %23791, align 4, !tbaa !5
  %23793 = call ptr @strerror(i32 noundef %23792) #10
  %23794 = call ptr @__errno_location() #11
  %23795 = load i32, ptr %23794, align 4, !tbaa !5
  %23796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23783, ptr noundef @.str.66, i32 noundef %23784, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 991, ptr noundef %23787, ptr noundef %23790, ptr noundef %23793, i32 noundef %23795) #10
  br label %23797

23797:                                            ; preds = %23780, %23763
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #10
  br label %23798

23798:                                            ; preds = %23797
  br label %23799

23799:                                            ; preds = %23798
  call void @exit(i32 noundef 1) #12
  unreachable

23800:                                            ; No predecessors!
  br label %23801

23801:                                            ; preds = %23800
  br label %23802

23802:                                            ; preds = %23801, %23739
  br label %23803

23803:                                            ; preds = %23802
  br label %23804

23804:                                            ; preds = %23803
  br label %23805

23805:                                            ; preds = %23804
  %23806 = load i32, ptr @test_count, align 4, !tbaa !5
  %23807 = add nsw i32 %23806, 1
  store i32 %23807, ptr @test_count, align 4, !tbaa !5
  %23808 = load ptr, ptr %458, align 8, !tbaa !9
  %23809 = load ptr, ptr %383, align 8, !tbaa !9
  %23810 = call i32 @s2n_connection_set_config(ptr noundef %23808, ptr noundef %23809)
  %23811 = icmp eq i32 %23810, -1
  br i1 %23811, label %23812, label %23865

23812:                                            ; preds = %23805
  br label %23813

23813:                                            ; preds = %23812
  br label %23814

23814:                                            ; preds = %23813
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #10
  %23815 = call ptr @__errno_location() #11
  %23816 = load i32, ptr %23815, align 4, !tbaa !5
  store i32 %23816, ptr %481, align 4, !tbaa !5
  %23817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23818 = call i32 @s2n_print_stacktrace(ptr noundef %23817)
  %23819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23820 = trunc i8 %23819 to i1
  br i1 %23820, label %23821, label %23843

23821:                                            ; preds = %23814
  %23822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23823 = call i32 @fileno(ptr noundef %23822) #10
  %23824 = call i32 @isatty(i32 noundef %23823) #10
  %23825 = icmp ne i32 %23824, 0
  br i1 %23825, label %23826, label %23843

23826:                                            ; preds = %23821
  %23827 = load i32, ptr %481, align 4, !tbaa !5
  %23828 = call ptr @__errno_location() #11
  store i32 %23827, ptr %23828, align 4, !tbaa !5
  %23829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23830 = load i32, ptr @test_count, align 4, !tbaa !5
  %23831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23832 = load i32, ptr %23831, align 4, !tbaa !5
  %23833 = call ptr @s2n_strerror(i32 noundef %23832, ptr noundef @.str.65)
  %23834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23835 = load i32, ptr %23834, align 4, !tbaa !5
  %23836 = call ptr @s2n_strerror_debug(i32 noundef %23835, ptr noundef @.str.65)
  %23837 = call ptr @__errno_location() #11
  %23838 = load i32, ptr %23837, align 4, !tbaa !5
  %23839 = call ptr @strerror(i32 noundef %23838) #10
  %23840 = call ptr @__errno_location() #11
  %23841 = load i32, ptr %23840, align 4, !tbaa !5
  %23842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23829, ptr noundef @.str.63, i32 noundef %23830, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 996, ptr noundef %23833, ptr noundef %23836, ptr noundef %23839, i32 noundef %23841) #10
  br label %23860

23843:                                            ; preds = %23821, %23814
  %23844 = load i32, ptr %481, align 4, !tbaa !5
  %23845 = call ptr @__errno_location() #11
  store i32 %23844, ptr %23845, align 4, !tbaa !5
  %23846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23847 = load i32, ptr @test_count, align 4, !tbaa !5
  %23848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23849 = load i32, ptr %23848, align 4, !tbaa !5
  %23850 = call ptr @s2n_strerror(i32 noundef %23849, ptr noundef @.str.65)
  %23851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23852 = load i32, ptr %23851, align 4, !tbaa !5
  %23853 = call ptr @s2n_strerror_debug(i32 noundef %23852, ptr noundef @.str.65)
  %23854 = call ptr @__errno_location() #11
  %23855 = load i32, ptr %23854, align 4, !tbaa !5
  %23856 = call ptr @strerror(i32 noundef %23855) #10
  %23857 = call ptr @__errno_location() #11
  %23858 = load i32, ptr %23857, align 4, !tbaa !5
  %23859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23846, ptr noundef @.str.66, i32 noundef %23847, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 996, ptr noundef %23850, ptr noundef %23853, ptr noundef %23856, i32 noundef %23858) #10
  br label %23860

23860:                                            ; preds = %23843, %23826
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #10
  br label %23861

23861:                                            ; preds = %23860
  br label %23862

23862:                                            ; preds = %23861
  call void @exit(i32 noundef 1) #12
  unreachable

23863:                                            ; No predecessors!
  br label %23864

23864:                                            ; preds = %23863
  br label %23865

23865:                                            ; preds = %23864, %23805
  br label %23866

23866:                                            ; preds = %23865
  br label %23867

23867:                                            ; preds = %23866
  br label %23868

23868:                                            ; preds = %23867
  %23869 = load i32, ptr @test_count, align 4, !tbaa !5
  %23870 = add nsw i32 %23869, 1
  store i32 %23870, ptr @test_count, align 4, !tbaa !5
  %23871 = load ptr, ptr %458, align 8, !tbaa !9
  %23872 = load ptr, ptr %455, align 8, !tbaa !9
  %23873 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %23871, ptr noundef %23872)
  %23874 = icmp eq i32 %23873, -1
  br i1 %23874, label %23875, label %23928

23875:                                            ; preds = %23868
  br label %23876

23876:                                            ; preds = %23875
  br label %23877

23877:                                            ; preds = %23876
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #10
  %23878 = call ptr @__errno_location() #11
  %23879 = load i32, ptr %23878, align 4, !tbaa !5
  store i32 %23879, ptr %482, align 4, !tbaa !5
  %23880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23881 = call i32 @s2n_print_stacktrace(ptr noundef %23880)
  %23882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23883 = trunc i8 %23882 to i1
  br i1 %23883, label %23884, label %23906

23884:                                            ; preds = %23877
  %23885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23886 = call i32 @fileno(ptr noundef %23885) #10
  %23887 = call i32 @isatty(i32 noundef %23886) #10
  %23888 = icmp ne i32 %23887, 0
  br i1 %23888, label %23889, label %23906

23889:                                            ; preds = %23884
  %23890 = load i32, ptr %482, align 4, !tbaa !5
  %23891 = call ptr @__errno_location() #11
  store i32 %23890, ptr %23891, align 4, !tbaa !5
  %23892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23893 = load i32, ptr @test_count, align 4, !tbaa !5
  %23894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23895 = load i32, ptr %23894, align 4, !tbaa !5
  %23896 = call ptr @s2n_strerror(i32 noundef %23895, ptr noundef @.str.65)
  %23897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23898 = load i32, ptr %23897, align 4, !tbaa !5
  %23899 = call ptr @s2n_strerror_debug(i32 noundef %23898, ptr noundef @.str.65)
  %23900 = call ptr @__errno_location() #11
  %23901 = load i32, ptr %23900, align 4, !tbaa !5
  %23902 = call ptr @strerror(i32 noundef %23901) #10
  %23903 = call ptr @__errno_location() #11
  %23904 = load i32, ptr %23903, align 4, !tbaa !5
  %23905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23892, ptr noundef @.str.63, i32 noundef %23893, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 998, ptr noundef %23896, ptr noundef %23899, ptr noundef %23902, i32 noundef %23904) #10
  br label %23923

23906:                                            ; preds = %23884, %23877
  %23907 = load i32, ptr %482, align 4, !tbaa !5
  %23908 = call ptr @__errno_location() #11
  store i32 %23907, ptr %23908, align 4, !tbaa !5
  %23909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23910 = load i32, ptr @test_count, align 4, !tbaa !5
  %23911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23912 = load i32, ptr %23911, align 4, !tbaa !5
  %23913 = call ptr @s2n_strerror(i32 noundef %23912, ptr noundef @.str.65)
  %23914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23915 = load i32, ptr %23914, align 4, !tbaa !5
  %23916 = call ptr @s2n_strerror_debug(i32 noundef %23915, ptr noundef @.str.65)
  %23917 = call ptr @__errno_location() #11
  %23918 = load i32, ptr %23917, align 4, !tbaa !5
  %23919 = call ptr @strerror(i32 noundef %23918) #10
  %23920 = call ptr @__errno_location() #11
  %23921 = load i32, ptr %23920, align 4, !tbaa !5
  %23922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23909, ptr noundef @.str.66, i32 noundef %23910, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 998, ptr noundef %23913, ptr noundef %23916, ptr noundef %23919, i32 noundef %23921) #10
  br label %23923

23923:                                            ; preds = %23906, %23889
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #10
  br label %23924

23924:                                            ; preds = %23923
  br label %23925

23925:                                            ; preds = %23924
  call void @exit(i32 noundef 1) #12
  unreachable

23926:                                            ; No predecessors!
  br label %23927

23927:                                            ; preds = %23926
  br label %23928

23928:                                            ; preds = %23927, %23868
  br label %23929

23929:                                            ; preds = %23928
  br label %23930

23930:                                            ; preds = %23929
  br label %23931

23931:                                            ; preds = %23930
  %23932 = load i32, ptr @test_count, align 4, !tbaa !5
  %23933 = add nsw i32 %23932, 1
  store i32 %23933, ptr @test_count, align 4, !tbaa !5
  %23934 = load ptr, ptr %458, align 8, !tbaa !9
  %23935 = getelementptr inbounds %struct.s2n_connection, ptr %23934, i32 0, i32 23
  %23936 = load i8, ptr %23935, align 4, !tbaa !66
  %23937 = zext i8 %23936 to i32
  %23938 = icmp eq i32 %23937, 34
  br i1 %23938, label %23992, label %23939

23939:                                            ; preds = %23931
  br label %23940

23940:                                            ; preds = %23939
  br label %23941

23941:                                            ; preds = %23940
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #10
  %23942 = call ptr @__errno_location() #11
  %23943 = load i32, ptr %23942, align 4, !tbaa !5
  store i32 %23943, ptr %483, align 4, !tbaa !5
  %23944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23945 = call i32 @s2n_print_stacktrace(ptr noundef %23944)
  %23946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23947 = trunc i8 %23946 to i1
  br i1 %23947, label %23948, label %23970

23948:                                            ; preds = %23941
  %23949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23950 = call i32 @fileno(ptr noundef %23949) #10
  %23951 = call i32 @isatty(i32 noundef %23950) #10
  %23952 = icmp ne i32 %23951, 0
  br i1 %23952, label %23953, label %23970

23953:                                            ; preds = %23948
  %23954 = load i32, ptr %483, align 4, !tbaa !5
  %23955 = call ptr @__errno_location() #11
  store i32 %23954, ptr %23955, align 4, !tbaa !5
  %23956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23957 = load i32, ptr @test_count, align 4, !tbaa !5
  %23958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23959 = load i32, ptr %23958, align 4, !tbaa !5
  %23960 = call ptr @s2n_strerror(i32 noundef %23959, ptr noundef @.str.65)
  %23961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23962 = load i32, ptr %23961, align 4, !tbaa !5
  %23963 = call ptr @s2n_strerror_debug(i32 noundef %23962, ptr noundef @.str.65)
  %23964 = call ptr @__errno_location() #11
  %23965 = load i32, ptr %23964, align 4, !tbaa !5
  %23966 = call ptr @strerror(i32 noundef %23965) #10
  %23967 = call ptr @__errno_location() #11
  %23968 = load i32, ptr %23967, align 4, !tbaa !5
  %23969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23956, ptr noundef @.str.63, i32 noundef %23957, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 999, ptr noundef %23960, ptr noundef %23963, ptr noundef %23966, i32 noundef %23968) #10
  br label %23987

23970:                                            ; preds = %23948, %23941
  %23971 = load i32, ptr %483, align 4, !tbaa !5
  %23972 = call ptr @__errno_location() #11
  store i32 %23971, ptr %23972, align 4, !tbaa !5
  %23973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23974 = load i32, ptr @test_count, align 4, !tbaa !5
  %23975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23976 = load i32, ptr %23975, align 4, !tbaa !5
  %23977 = call ptr @s2n_strerror(i32 noundef %23976, ptr noundef @.str.65)
  %23978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23979 = load i32, ptr %23978, align 4, !tbaa !5
  %23980 = call ptr @s2n_strerror_debug(i32 noundef %23979, ptr noundef @.str.65)
  %23981 = call ptr @__errno_location() #11
  %23982 = load i32, ptr %23981, align 4, !tbaa !5
  %23983 = call ptr @strerror(i32 noundef %23982) #10
  %23984 = call ptr @__errno_location() #11
  %23985 = load i32, ptr %23984, align 4, !tbaa !5
  %23986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23973, ptr noundef @.str.66, i32 noundef %23974, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 999, ptr noundef %23977, ptr noundef %23980, ptr noundef %23983, i32 noundef %23985) #10
  br label %23987

23987:                                            ; preds = %23970, %23953
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #10
  br label %23988

23988:                                            ; preds = %23987
  br label %23989

23989:                                            ; preds = %23988
  call void @exit(i32 noundef 1) #12
  unreachable

23990:                                            ; No predecessors!
  br label %23991

23991:                                            ; preds = %23990
  br label %23992

23992:                                            ; preds = %23991, %23931
  br label %23993

23993:                                            ; preds = %23992
  br label %23994

23994:                                            ; preds = %23993
  br label %23995

23995:                                            ; preds = %23994
  %23996 = load i32, ptr @test_count, align 4, !tbaa !5
  %23997 = add nsw i32 %23996, 1
  store i32 %23997, ptr @test_count, align 4, !tbaa !5
  %23998 = load ptr, ptr %458, align 8, !tbaa !9
  %23999 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %23998, i32 noundef 2)
  br i1 %23999, label %24053, label %24000

24000:                                            ; preds = %23995
  br label %24001

24001:                                            ; preds = %24000
  br label %24002

24002:                                            ; preds = %24001
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #10
  %24003 = call ptr @__errno_location() #11
  %24004 = load i32, ptr %24003, align 4, !tbaa !5
  store i32 %24004, ptr %484, align 4, !tbaa !5
  %24005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24006 = call i32 @s2n_print_stacktrace(ptr noundef %24005)
  %24007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24008 = trunc i8 %24007 to i1
  br i1 %24008, label %24009, label %24031

24009:                                            ; preds = %24002
  %24010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24011 = call i32 @fileno(ptr noundef %24010) #10
  %24012 = call i32 @isatty(i32 noundef %24011) #10
  %24013 = icmp ne i32 %24012, 0
  br i1 %24013, label %24014, label %24031

24014:                                            ; preds = %24009
  %24015 = load i32, ptr %484, align 4, !tbaa !5
  %24016 = call ptr @__errno_location() #11
  store i32 %24015, ptr %24016, align 4, !tbaa !5
  %24017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24018 = load i32, ptr @test_count, align 4, !tbaa !5
  %24019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24020 = load i32, ptr %24019, align 4, !tbaa !5
  %24021 = call ptr @s2n_strerror(i32 noundef %24020, ptr noundef @.str.65)
  %24022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24023 = load i32, ptr %24022, align 4, !tbaa !5
  %24024 = call ptr @s2n_strerror_debug(i32 noundef %24023, ptr noundef @.str.65)
  %24025 = call ptr @__errno_location() #11
  %24026 = load i32, ptr %24025, align 4, !tbaa !5
  %24027 = call ptr @strerror(i32 noundef %24026) #10
  %24028 = call ptr @__errno_location() #11
  %24029 = load i32, ptr %24028, align 4, !tbaa !5
  %24030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24017, ptr noundef @.str.63, i32 noundef %24018, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 1000, ptr noundef %24021, ptr noundef %24024, ptr noundef %24027, i32 noundef %24029) #10
  br label %24048

24031:                                            ; preds = %24009, %24002
  %24032 = load i32, ptr %484, align 4, !tbaa !5
  %24033 = call ptr @__errno_location() #11
  store i32 %24032, ptr %24033, align 4, !tbaa !5
  %24034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24035 = load i32, ptr @test_count, align 4, !tbaa !5
  %24036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24037 = load i32, ptr %24036, align 4, !tbaa !5
  %24038 = call ptr @s2n_strerror(i32 noundef %24037, ptr noundef @.str.65)
  %24039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24040 = load i32, ptr %24039, align 4, !tbaa !5
  %24041 = call ptr @s2n_strerror_debug(i32 noundef %24040, ptr noundef @.str.65)
  %24042 = call ptr @__errno_location() #11
  %24043 = load i32, ptr %24042, align 4, !tbaa !5
  %24044 = call ptr @strerror(i32 noundef %24043) #10
  %24045 = call ptr @__errno_location() #11
  %24046 = load i32, ptr %24045, align 4, !tbaa !5
  %24047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24034, ptr noundef @.str.66, i32 noundef %24035, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 1000, ptr noundef %24038, ptr noundef %24041, ptr noundef %24044, i32 noundef %24046) #10
  br label %24048

24048:                                            ; preds = %24031, %24014
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #10
  br label %24049

24049:                                            ; preds = %24048
  br label %24050

24050:                                            ; preds = %24049
  call void @exit(i32 noundef 1) #12
  unreachable

24051:                                            ; No predecessors!
  br label %24052

24052:                                            ; preds = %24051
  br label %24053

24053:                                            ; preds = %24052, %23995
  br label %24054

24054:                                            ; preds = %24053
  br label %24055

24055:                                            ; preds = %24054
  br label %24056

24056:                                            ; preds = %24055
  %24057 = load i32, ptr @test_count, align 4, !tbaa !5
  %24058 = add nsw i32 %24057, 1
  store i32 %24058, ptr @test_count, align 4, !tbaa !5
  %24059 = load ptr, ptr %458, align 8, !tbaa !9
  %24060 = getelementptr inbounds %struct.s2n_connection, ptr %24059, i32 0, i32 88
  %24061 = load i16, ptr %24060, align 2, !tbaa !79
  %24062 = zext i16 %24061 to i32
  %24063 = icmp eq i32 %24062, 0
  br i1 %24063, label %24117, label %24064

24064:                                            ; preds = %24056
  br label %24065

24065:                                            ; preds = %24064
  br label %24066

24066:                                            ; preds = %24065
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #10
  %24067 = call ptr @__errno_location() #11
  %24068 = load i32, ptr %24067, align 4, !tbaa !5
  store i32 %24068, ptr %485, align 4, !tbaa !5
  %24069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24070 = call i32 @s2n_print_stacktrace(ptr noundef %24069)
  %24071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24072 = trunc i8 %24071 to i1
  br i1 %24072, label %24073, label %24095

24073:                                            ; preds = %24066
  %24074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24075 = call i32 @fileno(ptr noundef %24074) #10
  %24076 = call i32 @isatty(i32 noundef %24075) #10
  %24077 = icmp ne i32 %24076, 0
  br i1 %24077, label %24078, label %24095

24078:                                            ; preds = %24073
  %24079 = load i32, ptr %485, align 4, !tbaa !5
  %24080 = call ptr @__errno_location() #11
  store i32 %24079, ptr %24080, align 4, !tbaa !5
  %24081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24082 = load i32, ptr @test_count, align 4, !tbaa !5
  %24083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24084 = load i32, ptr %24083, align 4, !tbaa !5
  %24085 = call ptr @s2n_strerror(i32 noundef %24084, ptr noundef @.str.65)
  %24086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24087 = load i32, ptr %24086, align 4, !tbaa !5
  %24088 = call ptr @s2n_strerror_debug(i32 noundef %24087, ptr noundef @.str.65)
  %24089 = call ptr @__errno_location() #11
  %24090 = load i32, ptr %24089, align 4, !tbaa !5
  %24091 = call ptr @strerror(i32 noundef %24090) #10
  %24092 = call ptr @__errno_location() #11
  %24093 = load i32, ptr %24092, align 4, !tbaa !5
  %24094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24081, ptr noundef @.str.63, i32 noundef %24082, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 1001, ptr noundef %24085, ptr noundef %24088, ptr noundef %24091, i32 noundef %24093) #10
  br label %24112

24095:                                            ; preds = %24073, %24066
  %24096 = load i32, ptr %485, align 4, !tbaa !5
  %24097 = call ptr @__errno_location() #11
  store i32 %24096, ptr %24097, align 4, !tbaa !5
  %24098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24099 = load i32, ptr @test_count, align 4, !tbaa !5
  %24100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24101 = load i32, ptr %24100, align 4, !tbaa !5
  %24102 = call ptr @s2n_strerror(i32 noundef %24101, ptr noundef @.str.65)
  %24103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24104 = load i32, ptr %24103, align 4, !tbaa !5
  %24105 = call ptr @s2n_strerror_debug(i32 noundef %24104, ptr noundef @.str.65)
  %24106 = call ptr @__errno_location() #11
  %24107 = load i32, ptr %24106, align 4, !tbaa !5
  %24108 = call ptr @strerror(i32 noundef %24107) #10
  %24109 = call ptr @__errno_location() #11
  %24110 = load i32, ptr %24109, align 4, !tbaa !5
  %24111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24098, ptr noundef @.str.66, i32 noundef %24099, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 1001, ptr noundef %24102, ptr noundef %24105, ptr noundef %24108, i32 noundef %24110) #10
  br label %24112

24112:                                            ; preds = %24095, %24078
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #10
  br label %24113

24113:                                            ; preds = %24112
  br label %24114

24114:                                            ; preds = %24113
  call void @exit(i32 noundef 1) #12
  unreachable

24115:                                            ; No predecessors!
  br label %24116

24116:                                            ; preds = %24115
  br label %24117

24117:                                            ; preds = %24116, %24056
  br label %24118

24118:                                            ; preds = %24117
  br label %24119

24119:                                            ; preds = %24118
  br label %24120

24120:                                            ; preds = %24119
  %24121 = load i32, ptr @test_count, align 4, !tbaa !5
  %24122 = add nsw i32 %24121, 1
  store i32 %24122, ptr @test_count, align 4, !tbaa !5
  %24123 = load ptr, ptr %455, align 8, !tbaa !9
  %24124 = load ptr, ptr %458, align 8, !tbaa !9
  %24125 = call i32 @s2n_wipe_connections(ptr noundef %24123, ptr noundef %24124, ptr noundef %460)
  %24126 = getelementptr inbounds %struct.s2n_result, ptr %486, i32 0, i32 0
  store i32 %24125, ptr %24126, align 4
  %24127 = getelementptr inbounds %struct.s2n_result, ptr %486, i32 0, i32 0
  %24128 = load i32, ptr %24127, align 4
  %24129 = call zeroext i1 @s2n_result_is_ok(i32 %24128)
  br i1 %24129, label %24183, label %24130

24130:                                            ; preds = %24120
  br label %24131

24131:                                            ; preds = %24130
  br label %24132

24132:                                            ; preds = %24131
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #10
  %24133 = call ptr @__errno_location() #11
  %24134 = load i32, ptr %24133, align 4, !tbaa !5
  store i32 %24134, ptr %487, align 4, !tbaa !5
  %24135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24136 = call i32 @s2n_print_stacktrace(ptr noundef %24135)
  %24137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24138 = trunc i8 %24137 to i1
  br i1 %24138, label %24139, label %24161

24139:                                            ; preds = %24132
  %24140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24141 = call i32 @fileno(ptr noundef %24140) #10
  %24142 = call i32 @isatty(i32 noundef %24141) #10
  %24143 = icmp ne i32 %24142, 0
  br i1 %24143, label %24144, label %24161

24144:                                            ; preds = %24139
  %24145 = load i32, ptr %487, align 4, !tbaa !5
  %24146 = call ptr @__errno_location() #11
  store i32 %24145, ptr %24146, align 4, !tbaa !5
  %24147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24148 = load i32, ptr @test_count, align 4, !tbaa !5
  %24149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24150 = load i32, ptr %24149, align 4, !tbaa !5
  %24151 = call ptr @s2n_strerror(i32 noundef %24150, ptr noundef @.str.65)
  %24152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24153 = load i32, ptr %24152, align 4, !tbaa !5
  %24154 = call ptr @s2n_strerror_debug(i32 noundef %24153, ptr noundef @.str.65)
  %24155 = call ptr @__errno_location() #11
  %24156 = load i32, ptr %24155, align 4, !tbaa !5
  %24157 = call ptr @strerror(i32 noundef %24156) #10
  %24158 = call ptr @__errno_location() #11
  %24159 = load i32, ptr %24158, align 4, !tbaa !5
  %24160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24147, ptr noundef @.str.63, i32 noundef %24148, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1003, ptr noundef %24151, ptr noundef %24154, ptr noundef %24157, i32 noundef %24159) #10
  br label %24178

24161:                                            ; preds = %24139, %24132
  %24162 = load i32, ptr %487, align 4, !tbaa !5
  %24163 = call ptr @__errno_location() #11
  store i32 %24162, ptr %24163, align 4, !tbaa !5
  %24164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24165 = load i32, ptr @test_count, align 4, !tbaa !5
  %24166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24167 = load i32, ptr %24166, align 4, !tbaa !5
  %24168 = call ptr @s2n_strerror(i32 noundef %24167, ptr noundef @.str.65)
  %24169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24170 = load i32, ptr %24169, align 4, !tbaa !5
  %24171 = call ptr @s2n_strerror_debug(i32 noundef %24170, ptr noundef @.str.65)
  %24172 = call ptr @__errno_location() #11
  %24173 = load i32, ptr %24172, align 4, !tbaa !5
  %24174 = call ptr @strerror(i32 noundef %24173) #10
  %24175 = call ptr @__errno_location() #11
  %24176 = load i32, ptr %24175, align 4, !tbaa !5
  %24177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24164, ptr noundef @.str.66, i32 noundef %24165, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1003, ptr noundef %24168, ptr noundef %24171, ptr noundef %24174, i32 noundef %24176) #10
  br label %24178

24178:                                            ; preds = %24161, %24144
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #10
  br label %24179

24179:                                            ; preds = %24178
  br label %24180

24180:                                            ; preds = %24179
  call void @exit(i32 noundef 1) #12
  unreachable

24181:                                            ; No predecessors!
  br label %24182

24182:                                            ; preds = %24181
  br label %24183

24183:                                            ; preds = %24182, %24120
  br label %24184

24184:                                            ; preds = %24183
  br label %24185

24185:                                            ; preds = %24184
  br label %24186

24186:                                            ; preds = %24185
  %24187 = load i32, ptr @test_count, align 4, !tbaa !5
  %24188 = add nsw i32 %24187, 1
  store i32 %24188, ptr @test_count, align 4, !tbaa !5
  %24189 = load ptr, ptr %458, align 8, !tbaa !9
  %24190 = load ptr, ptr %20, align 8, !tbaa !9
  %24191 = call i32 @s2n_connection_set_config(ptr noundef %24189, ptr noundef %24190)
  %24192 = icmp eq i32 %24191, -1
  br i1 %24192, label %24193, label %24246

24193:                                            ; preds = %24186
  br label %24194

24194:                                            ; preds = %24193
  br label %24195

24195:                                            ; preds = %24194
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #10
  %24196 = call ptr @__errno_location() #11
  %24197 = load i32, ptr %24196, align 4, !tbaa !5
  store i32 %24197, ptr %488, align 4, !tbaa !5
  %24198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24199 = call i32 @s2n_print_stacktrace(ptr noundef %24198)
  %24200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24201 = trunc i8 %24200 to i1
  br i1 %24201, label %24202, label %24224

24202:                                            ; preds = %24195
  %24203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24204 = call i32 @fileno(ptr noundef %24203) #10
  %24205 = call i32 @isatty(i32 noundef %24204) #10
  %24206 = icmp ne i32 %24205, 0
  br i1 %24206, label %24207, label %24224

24207:                                            ; preds = %24202
  %24208 = load i32, ptr %488, align 4, !tbaa !5
  %24209 = call ptr @__errno_location() #11
  store i32 %24208, ptr %24209, align 4, !tbaa !5
  %24210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24211 = load i32, ptr @test_count, align 4, !tbaa !5
  %24212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24213 = load i32, ptr %24212, align 4, !tbaa !5
  %24214 = call ptr @s2n_strerror(i32 noundef %24213, ptr noundef @.str.65)
  %24215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24216 = load i32, ptr %24215, align 4, !tbaa !5
  %24217 = call ptr @s2n_strerror_debug(i32 noundef %24216, ptr noundef @.str.65)
  %24218 = call ptr @__errno_location() #11
  %24219 = load i32, ptr %24218, align 4, !tbaa !5
  %24220 = call ptr @strerror(i32 noundef %24219) #10
  %24221 = call ptr @__errno_location() #11
  %24222 = load i32, ptr %24221, align 4, !tbaa !5
  %24223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24210, ptr noundef @.str.63, i32 noundef %24211, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1008, ptr noundef %24214, ptr noundef %24217, ptr noundef %24220, i32 noundef %24222) #10
  br label %24241

24224:                                            ; preds = %24202, %24195
  %24225 = load i32, ptr %488, align 4, !tbaa !5
  %24226 = call ptr @__errno_location() #11
  store i32 %24225, ptr %24226, align 4, !tbaa !5
  %24227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24228 = load i32, ptr @test_count, align 4, !tbaa !5
  %24229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24230 = load i32, ptr %24229, align 4, !tbaa !5
  %24231 = call ptr @s2n_strerror(i32 noundef %24230, ptr noundef @.str.65)
  %24232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24233 = load i32, ptr %24232, align 4, !tbaa !5
  %24234 = call ptr @s2n_strerror_debug(i32 noundef %24233, ptr noundef @.str.65)
  %24235 = call ptr @__errno_location() #11
  %24236 = load i32, ptr %24235, align 4, !tbaa !5
  %24237 = call ptr @strerror(i32 noundef %24236) #10
  %24238 = call ptr @__errno_location() #11
  %24239 = load i32, ptr %24238, align 4, !tbaa !5
  %24240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24227, ptr noundef @.str.66, i32 noundef %24228, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1008, ptr noundef %24231, ptr noundef %24234, ptr noundef %24237, i32 noundef %24239) #10
  br label %24241

24241:                                            ; preds = %24224, %24207
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #10
  br label %24242

24242:                                            ; preds = %24241
  br label %24243

24243:                                            ; preds = %24242
  call void @exit(i32 noundef 1) #12
  unreachable

24244:                                            ; No predecessors!
  br label %24245

24245:                                            ; preds = %24244
  br label %24246

24246:                                            ; preds = %24245, %24186
  br label %24247

24247:                                            ; preds = %24246
  br label %24248

24248:                                            ; preds = %24247
  br label %24249

24249:                                            ; preds = %24248
  %24250 = load i32, ptr @test_count, align 4, !tbaa !5
  %24251 = add nsw i32 %24250, 1
  store i32 %24251, ptr @test_count, align 4, !tbaa !5
  %24252 = load ptr, ptr %455, align 8, !tbaa !9
  %24253 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 0
  %24254 = getelementptr inbounds %struct.s2n_blob, ptr %24253, i32 0, i32 0
  %24255 = load ptr, ptr %24254, align 8, !tbaa !31
  %24256 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 2
  %24257 = load i32, ptr %24256, align 4, !tbaa !27
  %24258 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 1
  %24259 = load i32, ptr %24258, align 8, !tbaa !30
  %24260 = sub i32 %24257, %24259
  %24261 = zext i32 %24260 to i64
  %24262 = call i32 @s2n_connection_set_session(ptr noundef %24252, ptr noundef %24255, i64 noundef %24261)
  %24263 = icmp eq i32 %24262, -1
  br i1 %24263, label %24264, label %24317

24264:                                            ; preds = %24249
  br label %24265

24265:                                            ; preds = %24264
  br label %24266

24266:                                            ; preds = %24265
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #10
  %24267 = call ptr @__errno_location() #11
  %24268 = load i32, ptr %24267, align 4, !tbaa !5
  store i32 %24268, ptr %489, align 4, !tbaa !5
  %24269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24270 = call i32 @s2n_print_stacktrace(ptr noundef %24269)
  %24271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24272 = trunc i8 %24271 to i1
  br i1 %24272, label %24273, label %24295

24273:                                            ; preds = %24266
  %24274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24275 = call i32 @fileno(ptr noundef %24274) #10
  %24276 = call i32 @isatty(i32 noundef %24275) #10
  %24277 = icmp ne i32 %24276, 0
  br i1 %24277, label %24278, label %24295

24278:                                            ; preds = %24273
  %24279 = load i32, ptr %489, align 4, !tbaa !5
  %24280 = call ptr @__errno_location() #11
  store i32 %24279, ptr %24280, align 4, !tbaa !5
  %24281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24282 = load i32, ptr @test_count, align 4, !tbaa !5
  %24283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24284 = load i32, ptr %24283, align 4, !tbaa !5
  %24285 = call ptr @s2n_strerror(i32 noundef %24284, ptr noundef @.str.65)
  %24286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24287 = load i32, ptr %24286, align 4, !tbaa !5
  %24288 = call ptr @s2n_strerror_debug(i32 noundef %24287, ptr noundef @.str.65)
  %24289 = call ptr @__errno_location() #11
  %24290 = load i32, ptr %24289, align 4, !tbaa !5
  %24291 = call ptr @strerror(i32 noundef %24290) #10
  %24292 = call ptr @__errno_location() #11
  %24293 = load i32, ptr %24292, align 4, !tbaa !5
  %24294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24281, ptr noundef @.str.63, i32 noundef %24282, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 1010, ptr noundef %24285, ptr noundef %24288, ptr noundef %24291, i32 noundef %24293) #10
  br label %24312

24295:                                            ; preds = %24273, %24266
  %24296 = load i32, ptr %489, align 4, !tbaa !5
  %24297 = call ptr @__errno_location() #11
  store i32 %24296, ptr %24297, align 4, !tbaa !5
  %24298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24299 = load i32, ptr @test_count, align 4, !tbaa !5
  %24300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24301 = load i32, ptr %24300, align 4, !tbaa !5
  %24302 = call ptr @s2n_strerror(i32 noundef %24301, ptr noundef @.str.65)
  %24303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24304 = load i32, ptr %24303, align 4, !tbaa !5
  %24305 = call ptr @s2n_strerror_debug(i32 noundef %24304, ptr noundef @.str.65)
  %24306 = call ptr @__errno_location() #11
  %24307 = load i32, ptr %24306, align 4, !tbaa !5
  %24308 = call ptr @strerror(i32 noundef %24307) #10
  %24309 = call ptr @__errno_location() #11
  %24310 = load i32, ptr %24309, align 4, !tbaa !5
  %24311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24298, ptr noundef @.str.66, i32 noundef %24299, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 1010, ptr noundef %24302, ptr noundef %24305, ptr noundef %24308, i32 noundef %24310) #10
  br label %24312

24312:                                            ; preds = %24295, %24278
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #10
  br label %24313

24313:                                            ; preds = %24312
  br label %24314

24314:                                            ; preds = %24313
  call void @exit(i32 noundef 1) #12
  unreachable

24315:                                            ; No predecessors!
  br label %24316

24316:                                            ; preds = %24315
  br label %24317

24317:                                            ; preds = %24316, %24249
  br label %24318

24318:                                            ; preds = %24317
  br label %24319

24319:                                            ; preds = %24318
  br label %24320

24320:                                            ; preds = %24319
  %24321 = load i32, ptr @test_count, align 4, !tbaa !5
  %24322 = add nsw i32 %24321, 1
  store i32 %24322, ptr @test_count, align 4, !tbaa !5
  %24323 = load ptr, ptr %458, align 8, !tbaa !9
  %24324 = load ptr, ptr %455, align 8, !tbaa !9
  %24325 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %24323, ptr noundef %24324)
  %24326 = icmp eq i32 %24325, -1
  br i1 %24326, label %24327, label %24380

24327:                                            ; preds = %24320
  br label %24328

24328:                                            ; preds = %24327
  br label %24329

24329:                                            ; preds = %24328
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #10
  %24330 = call ptr @__errno_location() #11
  %24331 = load i32, ptr %24330, align 4, !tbaa !5
  store i32 %24331, ptr %490, align 4, !tbaa !5
  %24332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24333 = call i32 @s2n_print_stacktrace(ptr noundef %24332)
  %24334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24335 = trunc i8 %24334 to i1
  br i1 %24335, label %24336, label %24358

24336:                                            ; preds = %24329
  %24337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24338 = call i32 @fileno(ptr noundef %24337) #10
  %24339 = call i32 @isatty(i32 noundef %24338) #10
  %24340 = icmp ne i32 %24339, 0
  br i1 %24340, label %24341, label %24358

24341:                                            ; preds = %24336
  %24342 = load i32, ptr %490, align 4, !tbaa !5
  %24343 = call ptr @__errno_location() #11
  store i32 %24342, ptr %24343, align 4, !tbaa !5
  %24344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24345 = load i32, ptr @test_count, align 4, !tbaa !5
  %24346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24347 = load i32, ptr %24346, align 4, !tbaa !5
  %24348 = call ptr @s2n_strerror(i32 noundef %24347, ptr noundef @.str.65)
  %24349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24350 = load i32, ptr %24349, align 4, !tbaa !5
  %24351 = call ptr @s2n_strerror_debug(i32 noundef %24350, ptr noundef @.str.65)
  %24352 = call ptr @__errno_location() #11
  %24353 = load i32, ptr %24352, align 4, !tbaa !5
  %24354 = call ptr @strerror(i32 noundef %24353) #10
  %24355 = call ptr @__errno_location() #11
  %24356 = load i32, ptr %24355, align 4, !tbaa !5
  %24357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24344, ptr noundef @.str.63, i32 noundef %24345, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1012, ptr noundef %24348, ptr noundef %24351, ptr noundef %24354, i32 noundef %24356) #10
  br label %24375

24358:                                            ; preds = %24336, %24329
  %24359 = load i32, ptr %490, align 4, !tbaa !5
  %24360 = call ptr @__errno_location() #11
  store i32 %24359, ptr %24360, align 4, !tbaa !5
  %24361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24362 = load i32, ptr @test_count, align 4, !tbaa !5
  %24363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24364 = load i32, ptr %24363, align 4, !tbaa !5
  %24365 = call ptr @s2n_strerror(i32 noundef %24364, ptr noundef @.str.65)
  %24366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24367 = load i32, ptr %24366, align 4, !tbaa !5
  %24368 = call ptr @s2n_strerror_debug(i32 noundef %24367, ptr noundef @.str.65)
  %24369 = call ptr @__errno_location() #11
  %24370 = load i32, ptr %24369, align 4, !tbaa !5
  %24371 = call ptr @strerror(i32 noundef %24370) #10
  %24372 = call ptr @__errno_location() #11
  %24373 = load i32, ptr %24372, align 4, !tbaa !5
  %24374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24361, ptr noundef @.str.66, i32 noundef %24362, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1012, ptr noundef %24365, ptr noundef %24368, ptr noundef %24371, i32 noundef %24373) #10
  br label %24375

24375:                                            ; preds = %24358, %24341
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #10
  br label %24376

24376:                                            ; preds = %24375
  br label %24377

24377:                                            ; preds = %24376
  call void @exit(i32 noundef 1) #12
  unreachable

24378:                                            ; No predecessors!
  br label %24379

24379:                                            ; preds = %24378
  br label %24380

24380:                                            ; preds = %24379, %24320
  br label %24381

24381:                                            ; preds = %24380
  br label %24382

24382:                                            ; preds = %24381
  br label %24383

24383:                                            ; preds = %24382
  %24384 = load i32, ptr @test_count, align 4, !tbaa !5
  %24385 = add nsw i32 %24384, 1
  store i32 %24385, ptr @test_count, align 4, !tbaa !5
  %24386 = load ptr, ptr %458, align 8, !tbaa !9
  %24387 = getelementptr inbounds %struct.s2n_connection, ptr %24386, i32 0, i32 23
  %24388 = load i8, ptr %24387, align 4, !tbaa !66
  %24389 = zext i8 %24388 to i32
  %24390 = icmp eq i32 %24389, 34
  br i1 %24390, label %24444, label %24391

24391:                                            ; preds = %24383
  br label %24392

24392:                                            ; preds = %24391
  br label %24393

24393:                                            ; preds = %24392
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #10
  %24394 = call ptr @__errno_location() #11
  %24395 = load i32, ptr %24394, align 4, !tbaa !5
  store i32 %24395, ptr %491, align 4, !tbaa !5
  %24396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24397 = call i32 @s2n_print_stacktrace(ptr noundef %24396)
  %24398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24399 = trunc i8 %24398 to i1
  br i1 %24399, label %24400, label %24422

24400:                                            ; preds = %24393
  %24401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24402 = call i32 @fileno(ptr noundef %24401) #10
  %24403 = call i32 @isatty(i32 noundef %24402) #10
  %24404 = icmp ne i32 %24403, 0
  br i1 %24404, label %24405, label %24422

24405:                                            ; preds = %24400
  %24406 = load i32, ptr %491, align 4, !tbaa !5
  %24407 = call ptr @__errno_location() #11
  store i32 %24406, ptr %24407, align 4, !tbaa !5
  %24408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24409 = load i32, ptr @test_count, align 4, !tbaa !5
  %24410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24411 = load i32, ptr %24410, align 4, !tbaa !5
  %24412 = call ptr @s2n_strerror(i32 noundef %24411, ptr noundef @.str.65)
  %24413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24414 = load i32, ptr %24413, align 4, !tbaa !5
  %24415 = call ptr @s2n_strerror_debug(i32 noundef %24414, ptr noundef @.str.65)
  %24416 = call ptr @__errno_location() #11
  %24417 = load i32, ptr %24416, align 4, !tbaa !5
  %24418 = call ptr @strerror(i32 noundef %24417) #10
  %24419 = call ptr @__errno_location() #11
  %24420 = load i32, ptr %24419, align 4, !tbaa !5
  %24421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24408, ptr noundef @.str.63, i32 noundef %24409, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 1013, ptr noundef %24412, ptr noundef %24415, ptr noundef %24418, i32 noundef %24420) #10
  br label %24439

24422:                                            ; preds = %24400, %24393
  %24423 = load i32, ptr %491, align 4, !tbaa !5
  %24424 = call ptr @__errno_location() #11
  store i32 %24423, ptr %24424, align 4, !tbaa !5
  %24425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24426 = load i32, ptr @test_count, align 4, !tbaa !5
  %24427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24428 = load i32, ptr %24427, align 4, !tbaa !5
  %24429 = call ptr @s2n_strerror(i32 noundef %24428, ptr noundef @.str.65)
  %24430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24431 = load i32, ptr %24430, align 4, !tbaa !5
  %24432 = call ptr @s2n_strerror_debug(i32 noundef %24431, ptr noundef @.str.65)
  %24433 = call ptr @__errno_location() #11
  %24434 = load i32, ptr %24433, align 4, !tbaa !5
  %24435 = call ptr @strerror(i32 noundef %24434) #10
  %24436 = call ptr @__errno_location() #11
  %24437 = load i32, ptr %24436, align 4, !tbaa !5
  %24438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24425, ptr noundef @.str.66, i32 noundef %24426, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 1013, ptr noundef %24429, ptr noundef %24432, ptr noundef %24435, i32 noundef %24437) #10
  br label %24439

24439:                                            ; preds = %24422, %24405
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #10
  br label %24440

24440:                                            ; preds = %24439
  br label %24441

24441:                                            ; preds = %24440
  call void @exit(i32 noundef 1) #12
  unreachable

24442:                                            ; No predecessors!
  br label %24443

24443:                                            ; preds = %24442
  br label %24444

24444:                                            ; preds = %24443, %24383
  br label %24445

24445:                                            ; preds = %24444
  br label %24446

24446:                                            ; preds = %24445
  br label %24447

24447:                                            ; preds = %24446
  %24448 = load i32, ptr @test_count, align 4, !tbaa !5
  %24449 = add nsw i32 %24448, 1
  store i32 %24449, ptr @test_count, align 4, !tbaa !5
  %24450 = load ptr, ptr %458, align 8, !tbaa !9
  %24451 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %24450, i32 noundef 2)
  br i1 %24451, label %24452, label %24505

24452:                                            ; preds = %24447
  br label %24453

24453:                                            ; preds = %24452
  br label %24454

24454:                                            ; preds = %24453
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #10
  %24455 = call ptr @__errno_location() #11
  %24456 = load i32, ptr %24455, align 4, !tbaa !5
  store i32 %24456, ptr %492, align 4, !tbaa !5
  %24457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24458 = call i32 @s2n_print_stacktrace(ptr noundef %24457)
  %24459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24460 = trunc i8 %24459 to i1
  br i1 %24460, label %24461, label %24483

24461:                                            ; preds = %24454
  %24462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24463 = call i32 @fileno(ptr noundef %24462) #10
  %24464 = call i32 @isatty(i32 noundef %24463) #10
  %24465 = icmp ne i32 %24464, 0
  br i1 %24465, label %24466, label %24483

24466:                                            ; preds = %24461
  %24467 = load i32, ptr %492, align 4, !tbaa !5
  %24468 = call ptr @__errno_location() #11
  store i32 %24467, ptr %24468, align 4, !tbaa !5
  %24469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24470 = load i32, ptr @test_count, align 4, !tbaa !5
  %24471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24472 = load i32, ptr %24471, align 4, !tbaa !5
  %24473 = call ptr @s2n_strerror(i32 noundef %24472, ptr noundef @.str.65)
  %24474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24475 = load i32, ptr %24474, align 4, !tbaa !5
  %24476 = call ptr @s2n_strerror_debug(i32 noundef %24475, ptr noundef @.str.65)
  %24477 = call ptr @__errno_location() #11
  %24478 = load i32, ptr %24477, align 4, !tbaa !5
  %24479 = call ptr @strerror(i32 noundef %24478) #10
  %24480 = call ptr @__errno_location() #11
  %24481 = load i32, ptr %24480, align 4, !tbaa !5
  %24482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24469, ptr noundef @.str.63, i32 noundef %24470, ptr noundef @.str.200, ptr noundef @.str.62, i32 noundef 1014, ptr noundef %24473, ptr noundef %24476, ptr noundef %24479, i32 noundef %24481) #10
  br label %24500

24483:                                            ; preds = %24461, %24454
  %24484 = load i32, ptr %492, align 4, !tbaa !5
  %24485 = call ptr @__errno_location() #11
  store i32 %24484, ptr %24485, align 4, !tbaa !5
  %24486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24487 = load i32, ptr @test_count, align 4, !tbaa !5
  %24488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24489 = load i32, ptr %24488, align 4, !tbaa !5
  %24490 = call ptr @s2n_strerror(i32 noundef %24489, ptr noundef @.str.65)
  %24491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24492 = load i32, ptr %24491, align 4, !tbaa !5
  %24493 = call ptr @s2n_strerror_debug(i32 noundef %24492, ptr noundef @.str.65)
  %24494 = call ptr @__errno_location() #11
  %24495 = load i32, ptr %24494, align 4, !tbaa !5
  %24496 = call ptr @strerror(i32 noundef %24495) #10
  %24497 = call ptr @__errno_location() #11
  %24498 = load i32, ptr %24497, align 4, !tbaa !5
  %24499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24486, ptr noundef @.str.66, i32 noundef %24487, ptr noundef @.str.200, ptr noundef @.str.62, i32 noundef 1014, ptr noundef %24490, ptr noundef %24493, ptr noundef %24496, i32 noundef %24498) #10
  br label %24500

24500:                                            ; preds = %24483, %24466
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #10
  br label %24501

24501:                                            ; preds = %24500
  br label %24502

24502:                                            ; preds = %24501
  call void @exit(i32 noundef 1) #12
  unreachable

24503:                                            ; No predecessors!
  br label %24504

24504:                                            ; preds = %24503
  br label %24505

24505:                                            ; preds = %24504, %24447
  br label %24506

24506:                                            ; preds = %24505
  br label %24507

24507:                                            ; preds = %24506
  br label %24508

24508:                                            ; preds = %24507
  %24509 = load i32, ptr @test_count, align 4, !tbaa !5
  %24510 = add nsw i32 %24509, 1
  store i32 %24510, ptr @test_count, align 4, !tbaa !5
  %24511 = load ptr, ptr %458, align 8, !tbaa !9
  %24512 = getelementptr inbounds %struct.s2n_connection, ptr %24511, i32 0, i32 88
  %24513 = load i16, ptr %24512, align 2, !tbaa !79
  %24514 = zext i16 %24513 to i32
  %24515 = icmp eq i32 %24514, 1
  br i1 %24515, label %24569, label %24516

24516:                                            ; preds = %24508
  br label %24517

24517:                                            ; preds = %24516
  br label %24518

24518:                                            ; preds = %24517
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #10
  %24519 = call ptr @__errno_location() #11
  %24520 = load i32, ptr %24519, align 4, !tbaa !5
  store i32 %24520, ptr %493, align 4, !tbaa !5
  %24521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24522 = call i32 @s2n_print_stacktrace(ptr noundef %24521)
  %24523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24524 = trunc i8 %24523 to i1
  br i1 %24524, label %24525, label %24547

24525:                                            ; preds = %24518
  %24526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24527 = call i32 @fileno(ptr noundef %24526) #10
  %24528 = call i32 @isatty(i32 noundef %24527) #10
  %24529 = icmp ne i32 %24528, 0
  br i1 %24529, label %24530, label %24547

24530:                                            ; preds = %24525
  %24531 = load i32, ptr %493, align 4, !tbaa !5
  %24532 = call ptr @__errno_location() #11
  store i32 %24531, ptr %24532, align 4, !tbaa !5
  %24533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24534 = load i32, ptr @test_count, align 4, !tbaa !5
  %24535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24536 = load i32, ptr %24535, align 4, !tbaa !5
  %24537 = call ptr @s2n_strerror(i32 noundef %24536, ptr noundef @.str.65)
  %24538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24539 = load i32, ptr %24538, align 4, !tbaa !5
  %24540 = call ptr @s2n_strerror_debug(i32 noundef %24539, ptr noundef @.str.65)
  %24541 = call ptr @__errno_location() #11
  %24542 = load i32, ptr %24541, align 4, !tbaa !5
  %24543 = call ptr @strerror(i32 noundef %24542) #10
  %24544 = call ptr @__errno_location() #11
  %24545 = load i32, ptr %24544, align 4, !tbaa !5
  %24546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24533, ptr noundef @.str.63, i32 noundef %24534, ptr noundef @.str.203, ptr noundef @.str.62, i32 noundef 1015, ptr noundef %24537, ptr noundef %24540, ptr noundef %24543, i32 noundef %24545) #10
  br label %24564

24547:                                            ; preds = %24525, %24518
  %24548 = load i32, ptr %493, align 4, !tbaa !5
  %24549 = call ptr @__errno_location() #11
  store i32 %24548, ptr %24549, align 4, !tbaa !5
  %24550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24551 = load i32, ptr @test_count, align 4, !tbaa !5
  %24552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24553 = load i32, ptr %24552, align 4, !tbaa !5
  %24554 = call ptr @s2n_strerror(i32 noundef %24553, ptr noundef @.str.65)
  %24555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24556 = load i32, ptr %24555, align 4, !tbaa !5
  %24557 = call ptr @s2n_strerror_debug(i32 noundef %24556, ptr noundef @.str.65)
  %24558 = call ptr @__errno_location() #11
  %24559 = load i32, ptr %24558, align 4, !tbaa !5
  %24560 = call ptr @strerror(i32 noundef %24559) #10
  %24561 = call ptr @__errno_location() #11
  %24562 = load i32, ptr %24561, align 4, !tbaa !5
  %24563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24550, ptr noundef @.str.66, i32 noundef %24551, ptr noundef @.str.203, ptr noundef @.str.62, i32 noundef 1015, ptr noundef %24554, ptr noundef %24557, ptr noundef %24560, i32 noundef %24562) #10
  br label %24564

24564:                                            ; preds = %24547, %24530
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #10
  br label %24565

24565:                                            ; preds = %24564
  br label %24566

24566:                                            ; preds = %24565
  call void @exit(i32 noundef 1) #12
  unreachable

24567:                                            ; No predecessors!
  br label %24568

24568:                                            ; preds = %24567
  br label %24569

24569:                                            ; preds = %24568, %24508
  br label %24570

24570:                                            ; preds = %24569
  br label %24571

24571:                                            ; preds = %24570
  br label %24572

24572:                                            ; preds = %24571
  %24573 = load i32, ptr @test_count, align 4, !tbaa !5
  %24574 = add nsw i32 %24573, 1
  store i32 %24574, ptr @test_count, align 4, !tbaa !5
  %24575 = load ptr, ptr %455, align 8, !tbaa !9
  %24576 = load ptr, ptr %458, align 8, !tbaa !9
  %24577 = call i32 @s2n_wipe_connections(ptr noundef %24575, ptr noundef %24576, ptr noundef %460)
  %24578 = getelementptr inbounds %struct.s2n_result, ptr %494, i32 0, i32 0
  store i32 %24577, ptr %24578, align 4
  %24579 = getelementptr inbounds %struct.s2n_result, ptr %494, i32 0, i32 0
  %24580 = load i32, ptr %24579, align 4
  %24581 = call zeroext i1 @s2n_result_is_ok(i32 %24580)
  br i1 %24581, label %24635, label %24582

24582:                                            ; preds = %24572
  br label %24583

24583:                                            ; preds = %24582
  br label %24584

24584:                                            ; preds = %24583
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #10
  %24585 = call ptr @__errno_location() #11
  %24586 = load i32, ptr %24585, align 4, !tbaa !5
  store i32 %24586, ptr %495, align 4, !tbaa !5
  %24587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24588 = call i32 @s2n_print_stacktrace(ptr noundef %24587)
  %24589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24590 = trunc i8 %24589 to i1
  br i1 %24590, label %24591, label %24613

24591:                                            ; preds = %24584
  %24592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24593 = call i32 @fileno(ptr noundef %24592) #10
  %24594 = call i32 @isatty(i32 noundef %24593) #10
  %24595 = icmp ne i32 %24594, 0
  br i1 %24595, label %24596, label %24613

24596:                                            ; preds = %24591
  %24597 = load i32, ptr %495, align 4, !tbaa !5
  %24598 = call ptr @__errno_location() #11
  store i32 %24597, ptr %24598, align 4, !tbaa !5
  %24599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24600 = load i32, ptr @test_count, align 4, !tbaa !5
  %24601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24602 = load i32, ptr %24601, align 4, !tbaa !5
  %24603 = call ptr @s2n_strerror(i32 noundef %24602, ptr noundef @.str.65)
  %24604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24605 = load i32, ptr %24604, align 4, !tbaa !5
  %24606 = call ptr @s2n_strerror_debug(i32 noundef %24605, ptr noundef @.str.65)
  %24607 = call ptr @__errno_location() #11
  %24608 = load i32, ptr %24607, align 4, !tbaa !5
  %24609 = call ptr @strerror(i32 noundef %24608) #10
  %24610 = call ptr @__errno_location() #11
  %24611 = load i32, ptr %24610, align 4, !tbaa !5
  %24612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24599, ptr noundef @.str.63, i32 noundef %24600, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1017, ptr noundef %24603, ptr noundef %24606, ptr noundef %24609, i32 noundef %24611) #10
  br label %24630

24613:                                            ; preds = %24591, %24584
  %24614 = load i32, ptr %495, align 4, !tbaa !5
  %24615 = call ptr @__errno_location() #11
  store i32 %24614, ptr %24615, align 4, !tbaa !5
  %24616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24617 = load i32, ptr @test_count, align 4, !tbaa !5
  %24618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24619 = load i32, ptr %24618, align 4, !tbaa !5
  %24620 = call ptr @s2n_strerror(i32 noundef %24619, ptr noundef @.str.65)
  %24621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24622 = load i32, ptr %24621, align 4, !tbaa !5
  %24623 = call ptr @s2n_strerror_debug(i32 noundef %24622, ptr noundef @.str.65)
  %24624 = call ptr @__errno_location() #11
  %24625 = load i32, ptr %24624, align 4, !tbaa !5
  %24626 = call ptr @strerror(i32 noundef %24625) #10
  %24627 = call ptr @__errno_location() #11
  %24628 = load i32, ptr %24627, align 4, !tbaa !5
  %24629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24616, ptr noundef @.str.66, i32 noundef %24617, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1017, ptr noundef %24620, ptr noundef %24623, ptr noundef %24626, i32 noundef %24628) #10
  br label %24630

24630:                                            ; preds = %24613, %24596
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #10
  br label %24631

24631:                                            ; preds = %24630
  br label %24632

24632:                                            ; preds = %24631
  call void @exit(i32 noundef 1) #12
  unreachable

24633:                                            ; No predecessors!
  br label %24634

24634:                                            ; preds = %24633
  br label %24635

24635:                                            ; preds = %24634, %24572
  br label %24636

24636:                                            ; preds = %24635
  br label %24637

24637:                                            ; preds = %24636
  br label %24638

24638:                                            ; preds = %24637
  %24639 = load i32, ptr @test_count, align 4, !tbaa !5
  %24640 = add nsw i32 %24639, 1
  store i32 %24640, ptr @test_count, align 4, !tbaa !5
  %24641 = load ptr, ptr %458, align 8, !tbaa !9
  %24642 = load ptr, ptr %378, align 8, !tbaa !9
  %24643 = call i32 @s2n_connection_set_config(ptr noundef %24641, ptr noundef %24642)
  %24644 = icmp eq i32 %24643, -1
  br i1 %24644, label %24645, label %24698

24645:                                            ; preds = %24638
  br label %24646

24646:                                            ; preds = %24645
  br label %24647

24647:                                            ; preds = %24646
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #10
  %24648 = call ptr @__errno_location() #11
  %24649 = load i32, ptr %24648, align 4, !tbaa !5
  store i32 %24649, ptr %496, align 4, !tbaa !5
  %24650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24651 = call i32 @s2n_print_stacktrace(ptr noundef %24650)
  %24652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24653 = trunc i8 %24652 to i1
  br i1 %24653, label %24654, label %24676

24654:                                            ; preds = %24647
  %24655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24656 = call i32 @fileno(ptr noundef %24655) #10
  %24657 = call i32 @isatty(i32 noundef %24656) #10
  %24658 = icmp ne i32 %24657, 0
  br i1 %24658, label %24659, label %24676

24659:                                            ; preds = %24654
  %24660 = load i32, ptr %496, align 4, !tbaa !5
  %24661 = call ptr @__errno_location() #11
  store i32 %24660, ptr %24661, align 4, !tbaa !5
  %24662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24663 = load i32, ptr @test_count, align 4, !tbaa !5
  %24664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24665 = load i32, ptr %24664, align 4, !tbaa !5
  %24666 = call ptr @s2n_strerror(i32 noundef %24665, ptr noundef @.str.65)
  %24667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24668 = load i32, ptr %24667, align 4, !tbaa !5
  %24669 = call ptr @s2n_strerror_debug(i32 noundef %24668, ptr noundef @.str.65)
  %24670 = call ptr @__errno_location() #11
  %24671 = load i32, ptr %24670, align 4, !tbaa !5
  %24672 = call ptr @strerror(i32 noundef %24671) #10
  %24673 = call ptr @__errno_location() #11
  %24674 = load i32, ptr %24673, align 4, !tbaa !5
  %24675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24662, ptr noundef @.str.63, i32 noundef %24663, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 1022, ptr noundef %24666, ptr noundef %24669, ptr noundef %24672, i32 noundef %24674) #10
  br label %24693

24676:                                            ; preds = %24654, %24647
  %24677 = load i32, ptr %496, align 4, !tbaa !5
  %24678 = call ptr @__errno_location() #11
  store i32 %24677, ptr %24678, align 4, !tbaa !5
  %24679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24680 = load i32, ptr @test_count, align 4, !tbaa !5
  %24681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24682 = load i32, ptr %24681, align 4, !tbaa !5
  %24683 = call ptr @s2n_strerror(i32 noundef %24682, ptr noundef @.str.65)
  %24684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24685 = load i32, ptr %24684, align 4, !tbaa !5
  %24686 = call ptr @s2n_strerror_debug(i32 noundef %24685, ptr noundef @.str.65)
  %24687 = call ptr @__errno_location() #11
  %24688 = load i32, ptr %24687, align 4, !tbaa !5
  %24689 = call ptr @strerror(i32 noundef %24688) #10
  %24690 = call ptr @__errno_location() #11
  %24691 = load i32, ptr %24690, align 4, !tbaa !5
  %24692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24679, ptr noundef @.str.66, i32 noundef %24680, ptr noundef @.str.196, ptr noundef @.str.62, i32 noundef 1022, ptr noundef %24683, ptr noundef %24686, ptr noundef %24689, i32 noundef %24691) #10
  br label %24693

24693:                                            ; preds = %24676, %24659
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #10
  br label %24694

24694:                                            ; preds = %24693
  br label %24695

24695:                                            ; preds = %24694
  call void @exit(i32 noundef 1) #12
  unreachable

24696:                                            ; No predecessors!
  br label %24697

24697:                                            ; preds = %24696
  br label %24698

24698:                                            ; preds = %24697, %24638
  br label %24699

24699:                                            ; preds = %24698
  br label %24700

24700:                                            ; preds = %24699
  br label %24701

24701:                                            ; preds = %24700
  %24702 = load i32, ptr @test_count, align 4, !tbaa !5
  %24703 = add nsw i32 %24702, 1
  store i32 %24703, ptr @test_count, align 4, !tbaa !5
  %24704 = load ptr, ptr %455, align 8, !tbaa !9
  %24705 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 0
  %24706 = getelementptr inbounds %struct.s2n_blob, ptr %24705, i32 0, i32 0
  %24707 = load ptr, ptr %24706, align 8, !tbaa !31
  %24708 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 2
  %24709 = load i32, ptr %24708, align 4, !tbaa !27
  %24710 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 1
  %24711 = load i32, ptr %24710, align 8, !tbaa !30
  %24712 = sub i32 %24709, %24711
  %24713 = zext i32 %24712 to i64
  %24714 = call i32 @s2n_connection_set_session(ptr noundef %24704, ptr noundef %24707, i64 noundef %24713)
  %24715 = icmp eq i32 %24714, -1
  br i1 %24715, label %24716, label %24769

24716:                                            ; preds = %24701
  br label %24717

24717:                                            ; preds = %24716
  br label %24718

24718:                                            ; preds = %24717
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #10
  %24719 = call ptr @__errno_location() #11
  %24720 = load i32, ptr %24719, align 4, !tbaa !5
  store i32 %24720, ptr %497, align 4, !tbaa !5
  %24721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24722 = call i32 @s2n_print_stacktrace(ptr noundef %24721)
  %24723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24724 = trunc i8 %24723 to i1
  br i1 %24724, label %24725, label %24747

24725:                                            ; preds = %24718
  %24726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24727 = call i32 @fileno(ptr noundef %24726) #10
  %24728 = call i32 @isatty(i32 noundef %24727) #10
  %24729 = icmp ne i32 %24728, 0
  br i1 %24729, label %24730, label %24747

24730:                                            ; preds = %24725
  %24731 = load i32, ptr %497, align 4, !tbaa !5
  %24732 = call ptr @__errno_location() #11
  store i32 %24731, ptr %24732, align 4, !tbaa !5
  %24733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24734 = load i32, ptr @test_count, align 4, !tbaa !5
  %24735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24736 = load i32, ptr %24735, align 4, !tbaa !5
  %24737 = call ptr @s2n_strerror(i32 noundef %24736, ptr noundef @.str.65)
  %24738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24739 = load i32, ptr %24738, align 4, !tbaa !5
  %24740 = call ptr @s2n_strerror_debug(i32 noundef %24739, ptr noundef @.str.65)
  %24741 = call ptr @__errno_location() #11
  %24742 = load i32, ptr %24741, align 4, !tbaa !5
  %24743 = call ptr @strerror(i32 noundef %24742) #10
  %24744 = call ptr @__errno_location() #11
  %24745 = load i32, ptr %24744, align 4, !tbaa !5
  %24746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24733, ptr noundef @.str.63, i32 noundef %24734, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 1024, ptr noundef %24737, ptr noundef %24740, ptr noundef %24743, i32 noundef %24745) #10
  br label %24764

24747:                                            ; preds = %24725, %24718
  %24748 = load i32, ptr %497, align 4, !tbaa !5
  %24749 = call ptr @__errno_location() #11
  store i32 %24748, ptr %24749, align 4, !tbaa !5
  %24750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24751 = load i32, ptr @test_count, align 4, !tbaa !5
  %24752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24753 = load i32, ptr %24752, align 4, !tbaa !5
  %24754 = call ptr @s2n_strerror(i32 noundef %24753, ptr noundef @.str.65)
  %24755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24756 = load i32, ptr %24755, align 4, !tbaa !5
  %24757 = call ptr @s2n_strerror_debug(i32 noundef %24756, ptr noundef @.str.65)
  %24758 = call ptr @__errno_location() #11
  %24759 = load i32, ptr %24758, align 4, !tbaa !5
  %24760 = call ptr @strerror(i32 noundef %24759) #10
  %24761 = call ptr @__errno_location() #11
  %24762 = load i32, ptr %24761, align 4, !tbaa !5
  %24763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24750, ptr noundef @.str.66, i32 noundef %24751, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 1024, ptr noundef %24754, ptr noundef %24757, ptr noundef %24760, i32 noundef %24762) #10
  br label %24764

24764:                                            ; preds = %24747, %24730
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #10
  br label %24765

24765:                                            ; preds = %24764
  br label %24766

24766:                                            ; preds = %24765
  call void @exit(i32 noundef 1) #12
  unreachable

24767:                                            ; No predecessors!
  br label %24768

24768:                                            ; preds = %24767
  br label %24769

24769:                                            ; preds = %24768, %24701
  br label %24770

24770:                                            ; preds = %24769
  br label %24771

24771:                                            ; preds = %24770
  br label %24772

24772:                                            ; preds = %24771
  %24773 = load i32, ptr @test_count, align 4, !tbaa !5
  %24774 = add nsw i32 %24773, 1
  store i32 %24774, ptr @test_count, align 4, !tbaa !5
  %24775 = load ptr, ptr %458, align 8, !tbaa !9
  %24776 = load ptr, ptr %455, align 8, !tbaa !9
  %24777 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %24775, ptr noundef %24776)
  %24778 = icmp eq i32 %24777, -1
  br i1 %24778, label %24779, label %24832

24779:                                            ; preds = %24772
  br label %24780

24780:                                            ; preds = %24779
  br label %24781

24781:                                            ; preds = %24780
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #10
  %24782 = call ptr @__errno_location() #11
  %24783 = load i32, ptr %24782, align 4, !tbaa !5
  store i32 %24783, ptr %498, align 4, !tbaa !5
  %24784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24785 = call i32 @s2n_print_stacktrace(ptr noundef %24784)
  %24786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24787 = trunc i8 %24786 to i1
  br i1 %24787, label %24788, label %24810

24788:                                            ; preds = %24781
  %24789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24790 = call i32 @fileno(ptr noundef %24789) #10
  %24791 = call i32 @isatty(i32 noundef %24790) #10
  %24792 = icmp ne i32 %24791, 0
  br i1 %24792, label %24793, label %24810

24793:                                            ; preds = %24788
  %24794 = load i32, ptr %498, align 4, !tbaa !5
  %24795 = call ptr @__errno_location() #11
  store i32 %24794, ptr %24795, align 4, !tbaa !5
  %24796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24797 = load i32, ptr @test_count, align 4, !tbaa !5
  %24798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24799 = load i32, ptr %24798, align 4, !tbaa !5
  %24800 = call ptr @s2n_strerror(i32 noundef %24799, ptr noundef @.str.65)
  %24801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24802 = load i32, ptr %24801, align 4, !tbaa !5
  %24803 = call ptr @s2n_strerror_debug(i32 noundef %24802, ptr noundef @.str.65)
  %24804 = call ptr @__errno_location() #11
  %24805 = load i32, ptr %24804, align 4, !tbaa !5
  %24806 = call ptr @strerror(i32 noundef %24805) #10
  %24807 = call ptr @__errno_location() #11
  %24808 = load i32, ptr %24807, align 4, !tbaa !5
  %24809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24796, ptr noundef @.str.63, i32 noundef %24797, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1026, ptr noundef %24800, ptr noundef %24803, ptr noundef %24806, i32 noundef %24808) #10
  br label %24827

24810:                                            ; preds = %24788, %24781
  %24811 = load i32, ptr %498, align 4, !tbaa !5
  %24812 = call ptr @__errno_location() #11
  store i32 %24811, ptr %24812, align 4, !tbaa !5
  %24813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24814 = load i32, ptr @test_count, align 4, !tbaa !5
  %24815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24816 = load i32, ptr %24815, align 4, !tbaa !5
  %24817 = call ptr @s2n_strerror(i32 noundef %24816, ptr noundef @.str.65)
  %24818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24819 = load i32, ptr %24818, align 4, !tbaa !5
  %24820 = call ptr @s2n_strerror_debug(i32 noundef %24819, ptr noundef @.str.65)
  %24821 = call ptr @__errno_location() #11
  %24822 = load i32, ptr %24821, align 4, !tbaa !5
  %24823 = call ptr @strerror(i32 noundef %24822) #10
  %24824 = call ptr @__errno_location() #11
  %24825 = load i32, ptr %24824, align 4, !tbaa !5
  %24826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24813, ptr noundef @.str.66, i32 noundef %24814, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1026, ptr noundef %24817, ptr noundef %24820, ptr noundef %24823, i32 noundef %24825) #10
  br label %24827

24827:                                            ; preds = %24810, %24793
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #10
  br label %24828

24828:                                            ; preds = %24827
  br label %24829

24829:                                            ; preds = %24828
  call void @exit(i32 noundef 1) #12
  unreachable

24830:                                            ; No predecessors!
  br label %24831

24831:                                            ; preds = %24830
  br label %24832

24832:                                            ; preds = %24831, %24772
  br label %24833

24833:                                            ; preds = %24832
  br label %24834

24834:                                            ; preds = %24833
  br label %24835

24835:                                            ; preds = %24834
  %24836 = load i32, ptr @test_count, align 4, !tbaa !5
  %24837 = add nsw i32 %24836, 1
  store i32 %24837, ptr @test_count, align 4, !tbaa !5
  %24838 = load ptr, ptr %458, align 8, !tbaa !9
  %24839 = getelementptr inbounds %struct.s2n_connection, ptr %24838, i32 0, i32 23
  %24840 = load i8, ptr %24839, align 4, !tbaa !66
  %24841 = zext i8 %24840 to i32
  %24842 = icmp eq i32 %24841, 34
  br i1 %24842, label %24896, label %24843

24843:                                            ; preds = %24835
  br label %24844

24844:                                            ; preds = %24843
  br label %24845

24845:                                            ; preds = %24844
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #10
  %24846 = call ptr @__errno_location() #11
  %24847 = load i32, ptr %24846, align 4, !tbaa !5
  store i32 %24847, ptr %499, align 4, !tbaa !5
  %24848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24849 = call i32 @s2n_print_stacktrace(ptr noundef %24848)
  %24850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24851 = trunc i8 %24850 to i1
  br i1 %24851, label %24852, label %24874

24852:                                            ; preds = %24845
  %24853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24854 = call i32 @fileno(ptr noundef %24853) #10
  %24855 = call i32 @isatty(i32 noundef %24854) #10
  %24856 = icmp ne i32 %24855, 0
  br i1 %24856, label %24857, label %24874

24857:                                            ; preds = %24852
  %24858 = load i32, ptr %499, align 4, !tbaa !5
  %24859 = call ptr @__errno_location() #11
  store i32 %24858, ptr %24859, align 4, !tbaa !5
  %24860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24861 = load i32, ptr @test_count, align 4, !tbaa !5
  %24862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24863 = load i32, ptr %24862, align 4, !tbaa !5
  %24864 = call ptr @s2n_strerror(i32 noundef %24863, ptr noundef @.str.65)
  %24865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24866 = load i32, ptr %24865, align 4, !tbaa !5
  %24867 = call ptr @s2n_strerror_debug(i32 noundef %24866, ptr noundef @.str.65)
  %24868 = call ptr @__errno_location() #11
  %24869 = load i32, ptr %24868, align 4, !tbaa !5
  %24870 = call ptr @strerror(i32 noundef %24869) #10
  %24871 = call ptr @__errno_location() #11
  %24872 = load i32, ptr %24871, align 4, !tbaa !5
  %24873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24860, ptr noundef @.str.63, i32 noundef %24861, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 1027, ptr noundef %24864, ptr noundef %24867, ptr noundef %24870, i32 noundef %24872) #10
  br label %24891

24874:                                            ; preds = %24852, %24845
  %24875 = load i32, ptr %499, align 4, !tbaa !5
  %24876 = call ptr @__errno_location() #11
  store i32 %24875, ptr %24876, align 4, !tbaa !5
  %24877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24878 = load i32, ptr @test_count, align 4, !tbaa !5
  %24879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24880 = load i32, ptr %24879, align 4, !tbaa !5
  %24881 = call ptr @s2n_strerror(i32 noundef %24880, ptr noundef @.str.65)
  %24882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24883 = load i32, ptr %24882, align 4, !tbaa !5
  %24884 = call ptr @s2n_strerror_debug(i32 noundef %24883, ptr noundef @.str.65)
  %24885 = call ptr @__errno_location() #11
  %24886 = load i32, ptr %24885, align 4, !tbaa !5
  %24887 = call ptr @strerror(i32 noundef %24886) #10
  %24888 = call ptr @__errno_location() #11
  %24889 = load i32, ptr %24888, align 4, !tbaa !5
  %24890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24877, ptr noundef @.str.66, i32 noundef %24878, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 1027, ptr noundef %24881, ptr noundef %24884, ptr noundef %24887, i32 noundef %24889) #10
  br label %24891

24891:                                            ; preds = %24874, %24857
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #10
  br label %24892

24892:                                            ; preds = %24891
  br label %24893

24893:                                            ; preds = %24892
  call void @exit(i32 noundef 1) #12
  unreachable

24894:                                            ; No predecessors!
  br label %24895

24895:                                            ; preds = %24894
  br label %24896

24896:                                            ; preds = %24895, %24835
  br label %24897

24897:                                            ; preds = %24896
  br label %24898

24898:                                            ; preds = %24897
  br label %24899

24899:                                            ; preds = %24898
  %24900 = load i32, ptr @test_count, align 4, !tbaa !5
  %24901 = add nsw i32 %24900, 1
  store i32 %24901, ptr @test_count, align 4, !tbaa !5
  %24902 = load ptr, ptr %458, align 8, !tbaa !9
  %24903 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %24902, i32 noundef 2)
  br i1 %24903, label %24957, label %24904

24904:                                            ; preds = %24899
  br label %24905

24905:                                            ; preds = %24904
  br label %24906

24906:                                            ; preds = %24905
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #10
  %24907 = call ptr @__errno_location() #11
  %24908 = load i32, ptr %24907, align 4, !tbaa !5
  store i32 %24908, ptr %500, align 4, !tbaa !5
  %24909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24910 = call i32 @s2n_print_stacktrace(ptr noundef %24909)
  %24911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24912 = trunc i8 %24911 to i1
  br i1 %24912, label %24913, label %24935

24913:                                            ; preds = %24906
  %24914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24915 = call i32 @fileno(ptr noundef %24914) #10
  %24916 = call i32 @isatty(i32 noundef %24915) #10
  %24917 = icmp ne i32 %24916, 0
  br i1 %24917, label %24918, label %24935

24918:                                            ; preds = %24913
  %24919 = load i32, ptr %500, align 4, !tbaa !5
  %24920 = call ptr @__errno_location() #11
  store i32 %24919, ptr %24920, align 4, !tbaa !5
  %24921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24922 = load i32, ptr @test_count, align 4, !tbaa !5
  %24923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24924 = load i32, ptr %24923, align 4, !tbaa !5
  %24925 = call ptr @s2n_strerror(i32 noundef %24924, ptr noundef @.str.65)
  %24926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24927 = load i32, ptr %24926, align 4, !tbaa !5
  %24928 = call ptr @s2n_strerror_debug(i32 noundef %24927, ptr noundef @.str.65)
  %24929 = call ptr @__errno_location() #11
  %24930 = load i32, ptr %24929, align 4, !tbaa !5
  %24931 = call ptr @strerror(i32 noundef %24930) #10
  %24932 = call ptr @__errno_location() #11
  %24933 = load i32, ptr %24932, align 4, !tbaa !5
  %24934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24921, ptr noundef @.str.63, i32 noundef %24922, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 1028, ptr noundef %24925, ptr noundef %24928, ptr noundef %24931, i32 noundef %24933) #10
  br label %24952

24935:                                            ; preds = %24913, %24906
  %24936 = load i32, ptr %500, align 4, !tbaa !5
  %24937 = call ptr @__errno_location() #11
  store i32 %24936, ptr %24937, align 4, !tbaa !5
  %24938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24939 = load i32, ptr @test_count, align 4, !tbaa !5
  %24940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24941 = load i32, ptr %24940, align 4, !tbaa !5
  %24942 = call ptr @s2n_strerror(i32 noundef %24941, ptr noundef @.str.65)
  %24943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24944 = load i32, ptr %24943, align 4, !tbaa !5
  %24945 = call ptr @s2n_strerror_debug(i32 noundef %24944, ptr noundef @.str.65)
  %24946 = call ptr @__errno_location() #11
  %24947 = load i32, ptr %24946, align 4, !tbaa !5
  %24948 = call ptr @strerror(i32 noundef %24947) #10
  %24949 = call ptr @__errno_location() #11
  %24950 = load i32, ptr %24949, align 4, !tbaa !5
  %24951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24938, ptr noundef @.str.66, i32 noundef %24939, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 1028, ptr noundef %24942, ptr noundef %24945, ptr noundef %24948, i32 noundef %24950) #10
  br label %24952

24952:                                            ; preds = %24935, %24918
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #10
  br label %24953

24953:                                            ; preds = %24952
  br label %24954

24954:                                            ; preds = %24953
  call void @exit(i32 noundef 1) #12
  unreachable

24955:                                            ; No predecessors!
  br label %24956

24956:                                            ; preds = %24955
  br label %24957

24957:                                            ; preds = %24956, %24899
  br label %24958

24958:                                            ; preds = %24957
  br label %24959

24959:                                            ; preds = %24958
  br label %24960

24960:                                            ; preds = %24959
  %24961 = load i32, ptr @test_count, align 4, !tbaa !5
  %24962 = add nsw i32 %24961, 1
  store i32 %24962, ptr @test_count, align 4, !tbaa !5
  %24963 = load ptr, ptr %458, align 8, !tbaa !9
  %24964 = getelementptr inbounds %struct.s2n_connection, ptr %24963, i32 0, i32 88
  %24965 = load i16, ptr %24964, align 2, !tbaa !79
  %24966 = zext i16 %24965 to i32
  %24967 = icmp eq i32 %24966, 0
  br i1 %24967, label %25021, label %24968

24968:                                            ; preds = %24960
  br label %24969

24969:                                            ; preds = %24968
  br label %24970

24970:                                            ; preds = %24969
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #10
  %24971 = call ptr @__errno_location() #11
  %24972 = load i32, ptr %24971, align 4, !tbaa !5
  store i32 %24972, ptr %501, align 4, !tbaa !5
  %24973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24974 = call i32 @s2n_print_stacktrace(ptr noundef %24973)
  %24975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24976 = trunc i8 %24975 to i1
  br i1 %24976, label %24977, label %24999

24977:                                            ; preds = %24970
  %24978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24979 = call i32 @fileno(ptr noundef %24978) #10
  %24980 = call i32 @isatty(i32 noundef %24979) #10
  %24981 = icmp ne i32 %24980, 0
  br i1 %24981, label %24982, label %24999

24982:                                            ; preds = %24977
  %24983 = load i32, ptr %501, align 4, !tbaa !5
  %24984 = call ptr @__errno_location() #11
  store i32 %24983, ptr %24984, align 4, !tbaa !5
  %24985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24986 = load i32, ptr @test_count, align 4, !tbaa !5
  %24987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24988 = load i32, ptr %24987, align 4, !tbaa !5
  %24989 = call ptr @s2n_strerror(i32 noundef %24988, ptr noundef @.str.65)
  %24990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24991 = load i32, ptr %24990, align 4, !tbaa !5
  %24992 = call ptr @s2n_strerror_debug(i32 noundef %24991, ptr noundef @.str.65)
  %24993 = call ptr @__errno_location() #11
  %24994 = load i32, ptr %24993, align 4, !tbaa !5
  %24995 = call ptr @strerror(i32 noundef %24994) #10
  %24996 = call ptr @__errno_location() #11
  %24997 = load i32, ptr %24996, align 4, !tbaa !5
  %24998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24985, ptr noundef @.str.63, i32 noundef %24986, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 1029, ptr noundef %24989, ptr noundef %24992, ptr noundef %24995, i32 noundef %24997) #10
  br label %25016

24999:                                            ; preds = %24977, %24970
  %25000 = load i32, ptr %501, align 4, !tbaa !5
  %25001 = call ptr @__errno_location() #11
  store i32 %25000, ptr %25001, align 4, !tbaa !5
  %25002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25003 = load i32, ptr @test_count, align 4, !tbaa !5
  %25004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25005 = load i32, ptr %25004, align 4, !tbaa !5
  %25006 = call ptr @s2n_strerror(i32 noundef %25005, ptr noundef @.str.65)
  %25007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25008 = load i32, ptr %25007, align 4, !tbaa !5
  %25009 = call ptr @s2n_strerror_debug(i32 noundef %25008, ptr noundef @.str.65)
  %25010 = call ptr @__errno_location() #11
  %25011 = load i32, ptr %25010, align 4, !tbaa !5
  %25012 = call ptr @strerror(i32 noundef %25011) #10
  %25013 = call ptr @__errno_location() #11
  %25014 = load i32, ptr %25013, align 4, !tbaa !5
  %25015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25002, ptr noundef @.str.66, i32 noundef %25003, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 1029, ptr noundef %25006, ptr noundef %25009, ptr noundef %25012, i32 noundef %25014) #10
  br label %25016

25016:                                            ; preds = %24999, %24982
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #10
  br label %25017

25017:                                            ; preds = %25016
  br label %25018

25018:                                            ; preds = %25017
  call void @exit(i32 noundef 1) #12
  unreachable

25019:                                            ; No predecessors!
  br label %25020

25020:                                            ; preds = %25019
  br label %25021

25021:                                            ; preds = %25020, %24960
  br label %25022

25022:                                            ; preds = %25021
  br label %25023

25023:                                            ; preds = %25022
  br label %25024

25024:                                            ; preds = %25023
  %25025 = load i32, ptr @test_count, align 4, !tbaa !5
  %25026 = add nsw i32 %25025, 1
  store i32 %25026, ptr @test_count, align 4, !tbaa !5
  %25027 = load ptr, ptr %455, align 8, !tbaa !9
  %25028 = load ptr, ptr %458, align 8, !tbaa !9
  %25029 = call i32 @s2n_wipe_connections(ptr noundef %25027, ptr noundef %25028, ptr noundef %460)
  %25030 = getelementptr inbounds %struct.s2n_result, ptr %502, i32 0, i32 0
  store i32 %25029, ptr %25030, align 4
  %25031 = getelementptr inbounds %struct.s2n_result, ptr %502, i32 0, i32 0
  %25032 = load i32, ptr %25031, align 4
  %25033 = call zeroext i1 @s2n_result_is_ok(i32 %25032)
  br i1 %25033, label %25087, label %25034

25034:                                            ; preds = %25024
  br label %25035

25035:                                            ; preds = %25034
  br label %25036

25036:                                            ; preds = %25035
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #10
  %25037 = call ptr @__errno_location() #11
  %25038 = load i32, ptr %25037, align 4, !tbaa !5
  store i32 %25038, ptr %503, align 4, !tbaa !5
  %25039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25040 = call i32 @s2n_print_stacktrace(ptr noundef %25039)
  %25041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25042 = trunc i8 %25041 to i1
  br i1 %25042, label %25043, label %25065

25043:                                            ; preds = %25036
  %25044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25045 = call i32 @fileno(ptr noundef %25044) #10
  %25046 = call i32 @isatty(i32 noundef %25045) #10
  %25047 = icmp ne i32 %25046, 0
  br i1 %25047, label %25048, label %25065

25048:                                            ; preds = %25043
  %25049 = load i32, ptr %503, align 4, !tbaa !5
  %25050 = call ptr @__errno_location() #11
  store i32 %25049, ptr %25050, align 4, !tbaa !5
  %25051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25052 = load i32, ptr @test_count, align 4, !tbaa !5
  %25053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25054 = load i32, ptr %25053, align 4, !tbaa !5
  %25055 = call ptr @s2n_strerror(i32 noundef %25054, ptr noundef @.str.65)
  %25056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25057 = load i32, ptr %25056, align 4, !tbaa !5
  %25058 = call ptr @s2n_strerror_debug(i32 noundef %25057, ptr noundef @.str.65)
  %25059 = call ptr @__errno_location() #11
  %25060 = load i32, ptr %25059, align 4, !tbaa !5
  %25061 = call ptr @strerror(i32 noundef %25060) #10
  %25062 = call ptr @__errno_location() #11
  %25063 = load i32, ptr %25062, align 4, !tbaa !5
  %25064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25051, ptr noundef @.str.63, i32 noundef %25052, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1031, ptr noundef %25055, ptr noundef %25058, ptr noundef %25061, i32 noundef %25063) #10
  br label %25082

25065:                                            ; preds = %25043, %25036
  %25066 = load i32, ptr %503, align 4, !tbaa !5
  %25067 = call ptr @__errno_location() #11
  store i32 %25066, ptr %25067, align 4, !tbaa !5
  %25068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25069 = load i32, ptr @test_count, align 4, !tbaa !5
  %25070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25071 = load i32, ptr %25070, align 4, !tbaa !5
  %25072 = call ptr @s2n_strerror(i32 noundef %25071, ptr noundef @.str.65)
  %25073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25074 = load i32, ptr %25073, align 4, !tbaa !5
  %25075 = call ptr @s2n_strerror_debug(i32 noundef %25074, ptr noundef @.str.65)
  %25076 = call ptr @__errno_location() #11
  %25077 = load i32, ptr %25076, align 4, !tbaa !5
  %25078 = call ptr @strerror(i32 noundef %25077) #10
  %25079 = call ptr @__errno_location() #11
  %25080 = load i32, ptr %25079, align 4, !tbaa !5
  %25081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25068, ptr noundef @.str.66, i32 noundef %25069, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1031, ptr noundef %25072, ptr noundef %25075, ptr noundef %25078, i32 noundef %25080) #10
  br label %25082

25082:                                            ; preds = %25065, %25048
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #10
  br label %25083

25083:                                            ; preds = %25082
  br label %25084

25084:                                            ; preds = %25083
  call void @exit(i32 noundef 1) #12
  unreachable

25085:                                            ; No predecessors!
  br label %25086

25086:                                            ; preds = %25085
  br label %25087

25087:                                            ; preds = %25086, %25024
  br label %25088

25088:                                            ; preds = %25087
  br label %25089

25089:                                            ; preds = %25088
  br label %25090

25090:                                            ; preds = %25089
  %25091 = load i32, ptr @test_count, align 4, !tbaa !5
  %25092 = add nsw i32 %25091, 1
  store i32 %25092, ptr @test_count, align 4, !tbaa !5
  %25093 = load ptr, ptr %458, align 8, !tbaa !9
  %25094 = load ptr, ptr %383, align 8, !tbaa !9
  %25095 = call i32 @s2n_connection_set_config(ptr noundef %25093, ptr noundef %25094)
  %25096 = icmp eq i32 %25095, -1
  br i1 %25096, label %25097, label %25150

25097:                                            ; preds = %25090
  br label %25098

25098:                                            ; preds = %25097
  br label %25099

25099:                                            ; preds = %25098
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #10
  %25100 = call ptr @__errno_location() #11
  %25101 = load i32, ptr %25100, align 4, !tbaa !5
  store i32 %25101, ptr %504, align 4, !tbaa !5
  %25102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25103 = call i32 @s2n_print_stacktrace(ptr noundef %25102)
  %25104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25105 = trunc i8 %25104 to i1
  br i1 %25105, label %25106, label %25128

25106:                                            ; preds = %25099
  %25107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25108 = call i32 @fileno(ptr noundef %25107) #10
  %25109 = call i32 @isatty(i32 noundef %25108) #10
  %25110 = icmp ne i32 %25109, 0
  br i1 %25110, label %25111, label %25128

25111:                                            ; preds = %25106
  %25112 = load i32, ptr %504, align 4, !tbaa !5
  %25113 = call ptr @__errno_location() #11
  store i32 %25112, ptr %25113, align 4, !tbaa !5
  %25114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25115 = load i32, ptr @test_count, align 4, !tbaa !5
  %25116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25117 = load i32, ptr %25116, align 4, !tbaa !5
  %25118 = call ptr @s2n_strerror(i32 noundef %25117, ptr noundef @.str.65)
  %25119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25120 = load i32, ptr %25119, align 4, !tbaa !5
  %25121 = call ptr @s2n_strerror_debug(i32 noundef %25120, ptr noundef @.str.65)
  %25122 = call ptr @__errno_location() #11
  %25123 = load i32, ptr %25122, align 4, !tbaa !5
  %25124 = call ptr @strerror(i32 noundef %25123) #10
  %25125 = call ptr @__errno_location() #11
  %25126 = load i32, ptr %25125, align 4, !tbaa !5
  %25127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25114, ptr noundef @.str.63, i32 noundef %25115, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 1036, ptr noundef %25118, ptr noundef %25121, ptr noundef %25124, i32 noundef %25126) #10
  br label %25145

25128:                                            ; preds = %25106, %25099
  %25129 = load i32, ptr %504, align 4, !tbaa !5
  %25130 = call ptr @__errno_location() #11
  store i32 %25129, ptr %25130, align 4, !tbaa !5
  %25131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25132 = load i32, ptr @test_count, align 4, !tbaa !5
  %25133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25134 = load i32, ptr %25133, align 4, !tbaa !5
  %25135 = call ptr @s2n_strerror(i32 noundef %25134, ptr noundef @.str.65)
  %25136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25137 = load i32, ptr %25136, align 4, !tbaa !5
  %25138 = call ptr @s2n_strerror_debug(i32 noundef %25137, ptr noundef @.str.65)
  %25139 = call ptr @__errno_location() #11
  %25140 = load i32, ptr %25139, align 4, !tbaa !5
  %25141 = call ptr @strerror(i32 noundef %25140) #10
  %25142 = call ptr @__errno_location() #11
  %25143 = load i32, ptr %25142, align 4, !tbaa !5
  %25144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25131, ptr noundef @.str.66, i32 noundef %25132, ptr noundef @.str.198, ptr noundef @.str.62, i32 noundef 1036, ptr noundef %25135, ptr noundef %25138, ptr noundef %25141, i32 noundef %25143) #10
  br label %25145

25145:                                            ; preds = %25128, %25111
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #10
  br label %25146

25146:                                            ; preds = %25145
  br label %25147

25147:                                            ; preds = %25146
  call void @exit(i32 noundef 1) #12
  unreachable

25148:                                            ; No predecessors!
  br label %25149

25149:                                            ; preds = %25148
  br label %25150

25150:                                            ; preds = %25149, %25090
  br label %25151

25151:                                            ; preds = %25150
  br label %25152

25152:                                            ; preds = %25151
  br label %25153

25153:                                            ; preds = %25152
  %25154 = load i32, ptr @test_count, align 4, !tbaa !5
  %25155 = add nsw i32 %25154, 1
  store i32 %25155, ptr @test_count, align 4, !tbaa !5
  %25156 = load ptr, ptr %455, align 8, !tbaa !9
  %25157 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 0
  %25158 = getelementptr inbounds %struct.s2n_blob, ptr %25157, i32 0, i32 0
  %25159 = load ptr, ptr %25158, align 8, !tbaa !31
  %25160 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 2
  %25161 = load i32, ptr %25160, align 4, !tbaa !27
  %25162 = getelementptr inbounds %struct.s2n_stuffer, ptr %453, i32 0, i32 1
  %25163 = load i32, ptr %25162, align 8, !tbaa !30
  %25164 = sub i32 %25161, %25163
  %25165 = zext i32 %25164 to i64
  %25166 = call i32 @s2n_connection_set_session(ptr noundef %25156, ptr noundef %25159, i64 noundef %25165)
  %25167 = icmp eq i32 %25166, -1
  br i1 %25167, label %25168, label %25221

25168:                                            ; preds = %25153
  br label %25169

25169:                                            ; preds = %25168
  br label %25170

25170:                                            ; preds = %25169
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #10
  %25171 = call ptr @__errno_location() #11
  %25172 = load i32, ptr %25171, align 4, !tbaa !5
  store i32 %25172, ptr %505, align 4, !tbaa !5
  %25173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25174 = call i32 @s2n_print_stacktrace(ptr noundef %25173)
  %25175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25176 = trunc i8 %25175 to i1
  br i1 %25176, label %25177, label %25199

25177:                                            ; preds = %25170
  %25178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25179 = call i32 @fileno(ptr noundef %25178) #10
  %25180 = call i32 @isatty(i32 noundef %25179) #10
  %25181 = icmp ne i32 %25180, 0
  br i1 %25181, label %25182, label %25199

25182:                                            ; preds = %25177
  %25183 = load i32, ptr %505, align 4, !tbaa !5
  %25184 = call ptr @__errno_location() #11
  store i32 %25183, ptr %25184, align 4, !tbaa !5
  %25185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25186 = load i32, ptr @test_count, align 4, !tbaa !5
  %25187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25188 = load i32, ptr %25187, align 4, !tbaa !5
  %25189 = call ptr @s2n_strerror(i32 noundef %25188, ptr noundef @.str.65)
  %25190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25191 = load i32, ptr %25190, align 4, !tbaa !5
  %25192 = call ptr @s2n_strerror_debug(i32 noundef %25191, ptr noundef @.str.65)
  %25193 = call ptr @__errno_location() #11
  %25194 = load i32, ptr %25193, align 4, !tbaa !5
  %25195 = call ptr @strerror(i32 noundef %25194) #10
  %25196 = call ptr @__errno_location() #11
  %25197 = load i32, ptr %25196, align 4, !tbaa !5
  %25198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25185, ptr noundef @.str.63, i32 noundef %25186, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 1038, ptr noundef %25189, ptr noundef %25192, ptr noundef %25195, i32 noundef %25197) #10
  br label %25216

25199:                                            ; preds = %25177, %25170
  %25200 = load i32, ptr %505, align 4, !tbaa !5
  %25201 = call ptr @__errno_location() #11
  store i32 %25200, ptr %25201, align 4, !tbaa !5
  %25202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25203 = load i32, ptr @test_count, align 4, !tbaa !5
  %25204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25205 = load i32, ptr %25204, align 4, !tbaa !5
  %25206 = call ptr @s2n_strerror(i32 noundef %25205, ptr noundef @.str.65)
  %25207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25208 = load i32, ptr %25207, align 4, !tbaa !5
  %25209 = call ptr @s2n_strerror_debug(i32 noundef %25208, ptr noundef @.str.65)
  %25210 = call ptr @__errno_location() #11
  %25211 = load i32, ptr %25210, align 4, !tbaa !5
  %25212 = call ptr @strerror(i32 noundef %25211) #10
  %25213 = call ptr @__errno_location() #11
  %25214 = load i32, ptr %25213, align 4, !tbaa !5
  %25215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25202, ptr noundef @.str.66, i32 noundef %25203, ptr noundef @.str.199, ptr noundef @.str.62, i32 noundef 1038, ptr noundef %25206, ptr noundef %25209, ptr noundef %25212, i32 noundef %25214) #10
  br label %25216

25216:                                            ; preds = %25199, %25182
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #10
  br label %25217

25217:                                            ; preds = %25216
  br label %25218

25218:                                            ; preds = %25217
  call void @exit(i32 noundef 1) #12
  unreachable

25219:                                            ; No predecessors!
  br label %25220

25220:                                            ; preds = %25219
  br label %25221

25221:                                            ; preds = %25220, %25153
  br label %25222

25222:                                            ; preds = %25221
  br label %25223

25223:                                            ; preds = %25222
  br label %25224

25224:                                            ; preds = %25223
  %25225 = load i32, ptr @test_count, align 4, !tbaa !5
  %25226 = add nsw i32 %25225, 1
  store i32 %25226, ptr @test_count, align 4, !tbaa !5
  %25227 = load ptr, ptr %458, align 8, !tbaa !9
  %25228 = load ptr, ptr %455, align 8, !tbaa !9
  %25229 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %25227, ptr noundef %25228)
  %25230 = icmp eq i32 %25229, -1
  br i1 %25230, label %25231, label %25284

25231:                                            ; preds = %25224
  br label %25232

25232:                                            ; preds = %25231
  br label %25233

25233:                                            ; preds = %25232
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #10
  %25234 = call ptr @__errno_location() #11
  %25235 = load i32, ptr %25234, align 4, !tbaa !5
  store i32 %25235, ptr %506, align 4, !tbaa !5
  %25236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25237 = call i32 @s2n_print_stacktrace(ptr noundef %25236)
  %25238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25239 = trunc i8 %25238 to i1
  br i1 %25239, label %25240, label %25262

25240:                                            ; preds = %25233
  %25241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25242 = call i32 @fileno(ptr noundef %25241) #10
  %25243 = call i32 @isatty(i32 noundef %25242) #10
  %25244 = icmp ne i32 %25243, 0
  br i1 %25244, label %25245, label %25262

25245:                                            ; preds = %25240
  %25246 = load i32, ptr %506, align 4, !tbaa !5
  %25247 = call ptr @__errno_location() #11
  store i32 %25246, ptr %25247, align 4, !tbaa !5
  %25248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25249 = load i32, ptr @test_count, align 4, !tbaa !5
  %25250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25251 = load i32, ptr %25250, align 4, !tbaa !5
  %25252 = call ptr @s2n_strerror(i32 noundef %25251, ptr noundef @.str.65)
  %25253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25254 = load i32, ptr %25253, align 4, !tbaa !5
  %25255 = call ptr @s2n_strerror_debug(i32 noundef %25254, ptr noundef @.str.65)
  %25256 = call ptr @__errno_location() #11
  %25257 = load i32, ptr %25256, align 4, !tbaa !5
  %25258 = call ptr @strerror(i32 noundef %25257) #10
  %25259 = call ptr @__errno_location() #11
  %25260 = load i32, ptr %25259, align 4, !tbaa !5
  %25261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25248, ptr noundef @.str.63, i32 noundef %25249, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1040, ptr noundef %25252, ptr noundef %25255, ptr noundef %25258, i32 noundef %25260) #10
  br label %25279

25262:                                            ; preds = %25240, %25233
  %25263 = load i32, ptr %506, align 4, !tbaa !5
  %25264 = call ptr @__errno_location() #11
  store i32 %25263, ptr %25264, align 4, !tbaa !5
  %25265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25266 = load i32, ptr @test_count, align 4, !tbaa !5
  %25267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25268 = load i32, ptr %25267, align 4, !tbaa !5
  %25269 = call ptr @s2n_strerror(i32 noundef %25268, ptr noundef @.str.65)
  %25270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25271 = load i32, ptr %25270, align 4, !tbaa !5
  %25272 = call ptr @s2n_strerror_debug(i32 noundef %25271, ptr noundef @.str.65)
  %25273 = call ptr @__errno_location() #11
  %25274 = load i32, ptr %25273, align 4, !tbaa !5
  %25275 = call ptr @strerror(i32 noundef %25274) #10
  %25276 = call ptr @__errno_location() #11
  %25277 = load i32, ptr %25276, align 4, !tbaa !5
  %25278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25265, ptr noundef @.str.66, i32 noundef %25266, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1040, ptr noundef %25269, ptr noundef %25272, ptr noundef %25275, i32 noundef %25277) #10
  br label %25279

25279:                                            ; preds = %25262, %25245
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #10
  br label %25280

25280:                                            ; preds = %25279
  br label %25281

25281:                                            ; preds = %25280
  call void @exit(i32 noundef 1) #12
  unreachable

25282:                                            ; No predecessors!
  br label %25283

25283:                                            ; preds = %25282
  br label %25284

25284:                                            ; preds = %25283, %25224
  br label %25285

25285:                                            ; preds = %25284
  br label %25286

25286:                                            ; preds = %25285
  br label %25287

25287:                                            ; preds = %25286
  %25288 = load i32, ptr @test_count, align 4, !tbaa !5
  %25289 = add nsw i32 %25288, 1
  store i32 %25289, ptr @test_count, align 4, !tbaa !5
  %25290 = load ptr, ptr %458, align 8, !tbaa !9
  %25291 = getelementptr inbounds %struct.s2n_connection, ptr %25290, i32 0, i32 23
  %25292 = load i8, ptr %25291, align 4, !tbaa !66
  %25293 = zext i8 %25292 to i32
  %25294 = icmp eq i32 %25293, 34
  br i1 %25294, label %25348, label %25295

25295:                                            ; preds = %25287
  br label %25296

25296:                                            ; preds = %25295
  br label %25297

25297:                                            ; preds = %25296
  call void @llvm.lifetime.start.p0(i64 4, ptr %507) #10
  %25298 = call ptr @__errno_location() #11
  %25299 = load i32, ptr %25298, align 4, !tbaa !5
  store i32 %25299, ptr %507, align 4, !tbaa !5
  %25300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25301 = call i32 @s2n_print_stacktrace(ptr noundef %25300)
  %25302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25303 = trunc i8 %25302 to i1
  br i1 %25303, label %25304, label %25326

25304:                                            ; preds = %25297
  %25305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25306 = call i32 @fileno(ptr noundef %25305) #10
  %25307 = call i32 @isatty(i32 noundef %25306) #10
  %25308 = icmp ne i32 %25307, 0
  br i1 %25308, label %25309, label %25326

25309:                                            ; preds = %25304
  %25310 = load i32, ptr %507, align 4, !tbaa !5
  %25311 = call ptr @__errno_location() #11
  store i32 %25310, ptr %25311, align 4, !tbaa !5
  %25312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25313 = load i32, ptr @test_count, align 4, !tbaa !5
  %25314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25315 = load i32, ptr %25314, align 4, !tbaa !5
  %25316 = call ptr @s2n_strerror(i32 noundef %25315, ptr noundef @.str.65)
  %25317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25318 = load i32, ptr %25317, align 4, !tbaa !5
  %25319 = call ptr @s2n_strerror_debug(i32 noundef %25318, ptr noundef @.str.65)
  %25320 = call ptr @__errno_location() #11
  %25321 = load i32, ptr %25320, align 4, !tbaa !5
  %25322 = call ptr @strerror(i32 noundef %25321) #10
  %25323 = call ptr @__errno_location() #11
  %25324 = load i32, ptr %25323, align 4, !tbaa !5
  %25325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25312, ptr noundef @.str.63, i32 noundef %25313, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 1041, ptr noundef %25316, ptr noundef %25319, ptr noundef %25322, i32 noundef %25324) #10
  br label %25343

25326:                                            ; preds = %25304, %25297
  %25327 = load i32, ptr %507, align 4, !tbaa !5
  %25328 = call ptr @__errno_location() #11
  store i32 %25327, ptr %25328, align 4, !tbaa !5
  %25329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25330 = load i32, ptr @test_count, align 4, !tbaa !5
  %25331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25332 = load i32, ptr %25331, align 4, !tbaa !5
  %25333 = call ptr @s2n_strerror(i32 noundef %25332, ptr noundef @.str.65)
  %25334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25335 = load i32, ptr %25334, align 4, !tbaa !5
  %25336 = call ptr @s2n_strerror_debug(i32 noundef %25335, ptr noundef @.str.65)
  %25337 = call ptr @__errno_location() #11
  %25338 = load i32, ptr %25337, align 4, !tbaa !5
  %25339 = call ptr @strerror(i32 noundef %25338) #10
  %25340 = call ptr @__errno_location() #11
  %25341 = load i32, ptr %25340, align 4, !tbaa !5
  %25342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25329, ptr noundef @.str.66, i32 noundef %25330, ptr noundef @.str.150, ptr noundef @.str.62, i32 noundef 1041, ptr noundef %25333, ptr noundef %25336, ptr noundef %25339, i32 noundef %25341) #10
  br label %25343

25343:                                            ; preds = %25326, %25309
  call void @llvm.lifetime.end.p0(i64 4, ptr %507) #10
  br label %25344

25344:                                            ; preds = %25343
  br label %25345

25345:                                            ; preds = %25344
  call void @exit(i32 noundef 1) #12
  unreachable

25346:                                            ; No predecessors!
  br label %25347

25347:                                            ; preds = %25346
  br label %25348

25348:                                            ; preds = %25347, %25287
  br label %25349

25349:                                            ; preds = %25348
  br label %25350

25350:                                            ; preds = %25349
  br label %25351

25351:                                            ; preds = %25350
  %25352 = load i32, ptr @test_count, align 4, !tbaa !5
  %25353 = add nsw i32 %25352, 1
  store i32 %25353, ptr @test_count, align 4, !tbaa !5
  %25354 = load ptr, ptr %458, align 8, !tbaa !9
  %25355 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %25354, i32 noundef 2)
  br i1 %25355, label %25409, label %25356

25356:                                            ; preds = %25351
  br label %25357

25357:                                            ; preds = %25356
  br label %25358

25358:                                            ; preds = %25357
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #10
  %25359 = call ptr @__errno_location() #11
  %25360 = load i32, ptr %25359, align 4, !tbaa !5
  store i32 %25360, ptr %508, align 4, !tbaa !5
  %25361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25362 = call i32 @s2n_print_stacktrace(ptr noundef %25361)
  %25363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25364 = trunc i8 %25363 to i1
  br i1 %25364, label %25365, label %25387

25365:                                            ; preds = %25358
  %25366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25367 = call i32 @fileno(ptr noundef %25366) #10
  %25368 = call i32 @isatty(i32 noundef %25367) #10
  %25369 = icmp ne i32 %25368, 0
  br i1 %25369, label %25370, label %25387

25370:                                            ; preds = %25365
  %25371 = load i32, ptr %508, align 4, !tbaa !5
  %25372 = call ptr @__errno_location() #11
  store i32 %25371, ptr %25372, align 4, !tbaa !5
  %25373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25374 = load i32, ptr @test_count, align 4, !tbaa !5
  %25375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25376 = load i32, ptr %25375, align 4, !tbaa !5
  %25377 = call ptr @s2n_strerror(i32 noundef %25376, ptr noundef @.str.65)
  %25378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25379 = load i32, ptr %25378, align 4, !tbaa !5
  %25380 = call ptr @s2n_strerror_debug(i32 noundef %25379, ptr noundef @.str.65)
  %25381 = call ptr @__errno_location() #11
  %25382 = load i32, ptr %25381, align 4, !tbaa !5
  %25383 = call ptr @strerror(i32 noundef %25382) #10
  %25384 = call ptr @__errno_location() #11
  %25385 = load i32, ptr %25384, align 4, !tbaa !5
  %25386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25373, ptr noundef @.str.63, i32 noundef %25374, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 1042, ptr noundef %25377, ptr noundef %25380, ptr noundef %25383, i32 noundef %25385) #10
  br label %25404

25387:                                            ; preds = %25365, %25358
  %25388 = load i32, ptr %508, align 4, !tbaa !5
  %25389 = call ptr @__errno_location() #11
  store i32 %25388, ptr %25389, align 4, !tbaa !5
  %25390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25391 = load i32, ptr @test_count, align 4, !tbaa !5
  %25392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25393 = load i32, ptr %25392, align 4, !tbaa !5
  %25394 = call ptr @s2n_strerror(i32 noundef %25393, ptr noundef @.str.65)
  %25395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25396 = load i32, ptr %25395, align 4, !tbaa !5
  %25397 = call ptr @s2n_strerror_debug(i32 noundef %25396, ptr noundef @.str.65)
  %25398 = call ptr @__errno_location() #11
  %25399 = load i32, ptr %25398, align 4, !tbaa !5
  %25400 = call ptr @strerror(i32 noundef %25399) #10
  %25401 = call ptr @__errno_location() #11
  %25402 = load i32, ptr %25401, align 4, !tbaa !5
  %25403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25390, ptr noundef @.str.66, i32 noundef %25391, ptr noundef @.str.192, ptr noundef @.str.62, i32 noundef 1042, ptr noundef %25394, ptr noundef %25397, ptr noundef %25400, i32 noundef %25402) #10
  br label %25404

25404:                                            ; preds = %25387, %25370
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #10
  br label %25405

25405:                                            ; preds = %25404
  br label %25406

25406:                                            ; preds = %25405
  call void @exit(i32 noundef 1) #12
  unreachable

25407:                                            ; No predecessors!
  br label %25408

25408:                                            ; preds = %25407
  br label %25409

25409:                                            ; preds = %25408, %25351
  br label %25410

25410:                                            ; preds = %25409
  br label %25411

25411:                                            ; preds = %25410
  br label %25412

25412:                                            ; preds = %25411
  %25413 = load i32, ptr @test_count, align 4, !tbaa !5
  %25414 = add nsw i32 %25413, 1
  store i32 %25414, ptr @test_count, align 4, !tbaa !5
  %25415 = load ptr, ptr %458, align 8, !tbaa !9
  %25416 = getelementptr inbounds %struct.s2n_connection, ptr %25415, i32 0, i32 88
  %25417 = load i16, ptr %25416, align 2, !tbaa !79
  %25418 = zext i16 %25417 to i32
  %25419 = icmp eq i32 %25418, 0
  br i1 %25419, label %25473, label %25420

25420:                                            ; preds = %25412
  br label %25421

25421:                                            ; preds = %25420
  br label %25422

25422:                                            ; preds = %25421
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #10
  %25423 = call ptr @__errno_location() #11
  %25424 = load i32, ptr %25423, align 4, !tbaa !5
  store i32 %25424, ptr %509, align 4, !tbaa !5
  %25425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25426 = call i32 @s2n_print_stacktrace(ptr noundef %25425)
  %25427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25428 = trunc i8 %25427 to i1
  br i1 %25428, label %25429, label %25451

25429:                                            ; preds = %25422
  %25430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25431 = call i32 @fileno(ptr noundef %25430) #10
  %25432 = call i32 @isatty(i32 noundef %25431) #10
  %25433 = icmp ne i32 %25432, 0
  br i1 %25433, label %25434, label %25451

25434:                                            ; preds = %25429
  %25435 = load i32, ptr %509, align 4, !tbaa !5
  %25436 = call ptr @__errno_location() #11
  store i32 %25435, ptr %25436, align 4, !tbaa !5
  %25437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25438 = load i32, ptr @test_count, align 4, !tbaa !5
  %25439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25440 = load i32, ptr %25439, align 4, !tbaa !5
  %25441 = call ptr @s2n_strerror(i32 noundef %25440, ptr noundef @.str.65)
  %25442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25443 = load i32, ptr %25442, align 4, !tbaa !5
  %25444 = call ptr @s2n_strerror_debug(i32 noundef %25443, ptr noundef @.str.65)
  %25445 = call ptr @__errno_location() #11
  %25446 = load i32, ptr %25445, align 4, !tbaa !5
  %25447 = call ptr @strerror(i32 noundef %25446) #10
  %25448 = call ptr @__errno_location() #11
  %25449 = load i32, ptr %25448, align 4, !tbaa !5
  %25450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25437, ptr noundef @.str.63, i32 noundef %25438, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 1043, ptr noundef %25441, ptr noundef %25444, ptr noundef %25447, i32 noundef %25449) #10
  br label %25468

25451:                                            ; preds = %25429, %25422
  %25452 = load i32, ptr %509, align 4, !tbaa !5
  %25453 = call ptr @__errno_location() #11
  store i32 %25452, ptr %25453, align 4, !tbaa !5
  %25454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25455 = load i32, ptr @test_count, align 4, !tbaa !5
  %25456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25457 = load i32, ptr %25456, align 4, !tbaa !5
  %25458 = call ptr @s2n_strerror(i32 noundef %25457, ptr noundef @.str.65)
  %25459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25460 = load i32, ptr %25459, align 4, !tbaa !5
  %25461 = call ptr @s2n_strerror_debug(i32 noundef %25460, ptr noundef @.str.65)
  %25462 = call ptr @__errno_location() #11
  %25463 = load i32, ptr %25462, align 4, !tbaa !5
  %25464 = call ptr @strerror(i32 noundef %25463) #10
  %25465 = call ptr @__errno_location() #11
  %25466 = load i32, ptr %25465, align 4, !tbaa !5
  %25467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25454, ptr noundef @.str.66, i32 noundef %25455, ptr noundef @.str.202, ptr noundef @.str.62, i32 noundef 1043, ptr noundef %25458, ptr noundef %25461, ptr noundef %25464, i32 noundef %25466) #10
  br label %25468

25468:                                            ; preds = %25451, %25434
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #10
  br label %25469

25469:                                            ; preds = %25468
  br label %25470

25470:                                            ; preds = %25469
  call void @exit(i32 noundef 1) #12
  unreachable

25471:                                            ; No predecessors!
  br label %25472

25472:                                            ; preds = %25471
  br label %25473

25473:                                            ; preds = %25472, %25412
  br label %25474

25474:                                            ; preds = %25473
  br label %25475

25475:                                            ; preds = %25474
  br label %25476

25476:                                            ; preds = %25475
  %25477 = load i32, ptr @test_count, align 4, !tbaa !5
  %25478 = add nsw i32 %25477, 1
  store i32 %25478, ptr @test_count, align 4, !tbaa !5
  %25479 = load ptr, ptr %455, align 8, !tbaa !9
  %25480 = load ptr, ptr %458, align 8, !tbaa !9
  %25481 = call i32 @s2n_wipe_connections(ptr noundef %25479, ptr noundef %25480, ptr noundef %460)
  %25482 = getelementptr inbounds %struct.s2n_result, ptr %510, i32 0, i32 0
  store i32 %25481, ptr %25482, align 4
  %25483 = getelementptr inbounds %struct.s2n_result, ptr %510, i32 0, i32 0
  %25484 = load i32, ptr %25483, align 4
  %25485 = call zeroext i1 @s2n_result_is_ok(i32 %25484)
  br i1 %25485, label %25539, label %25486

25486:                                            ; preds = %25476
  br label %25487

25487:                                            ; preds = %25486
  br label %25488

25488:                                            ; preds = %25487
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #10
  %25489 = call ptr @__errno_location() #11
  %25490 = load i32, ptr %25489, align 4, !tbaa !5
  store i32 %25490, ptr %511, align 4, !tbaa !5
  %25491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25492 = call i32 @s2n_print_stacktrace(ptr noundef %25491)
  %25493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25494 = trunc i8 %25493 to i1
  br i1 %25494, label %25495, label %25517

25495:                                            ; preds = %25488
  %25496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25497 = call i32 @fileno(ptr noundef %25496) #10
  %25498 = call i32 @isatty(i32 noundef %25497) #10
  %25499 = icmp ne i32 %25498, 0
  br i1 %25499, label %25500, label %25517

25500:                                            ; preds = %25495
  %25501 = load i32, ptr %511, align 4, !tbaa !5
  %25502 = call ptr @__errno_location() #11
  store i32 %25501, ptr %25502, align 4, !tbaa !5
  %25503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25504 = load i32, ptr @test_count, align 4, !tbaa !5
  %25505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25506 = load i32, ptr %25505, align 4, !tbaa !5
  %25507 = call ptr @s2n_strerror(i32 noundef %25506, ptr noundef @.str.65)
  %25508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25509 = load i32, ptr %25508, align 4, !tbaa !5
  %25510 = call ptr @s2n_strerror_debug(i32 noundef %25509, ptr noundef @.str.65)
  %25511 = call ptr @__errno_location() #11
  %25512 = load i32, ptr %25511, align 4, !tbaa !5
  %25513 = call ptr @strerror(i32 noundef %25512) #10
  %25514 = call ptr @__errno_location() #11
  %25515 = load i32, ptr %25514, align 4, !tbaa !5
  %25516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25503, ptr noundef @.str.63, i32 noundef %25504, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1045, ptr noundef %25507, ptr noundef %25510, ptr noundef %25513, i32 noundef %25515) #10
  br label %25534

25517:                                            ; preds = %25495, %25488
  %25518 = load i32, ptr %511, align 4, !tbaa !5
  %25519 = call ptr @__errno_location() #11
  store i32 %25518, ptr %25519, align 4, !tbaa !5
  %25520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25521 = load i32, ptr @test_count, align 4, !tbaa !5
  %25522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25523 = load i32, ptr %25522, align 4, !tbaa !5
  %25524 = call ptr @s2n_strerror(i32 noundef %25523, ptr noundef @.str.65)
  %25525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25526 = load i32, ptr %25525, align 4, !tbaa !5
  %25527 = call ptr @s2n_strerror_debug(i32 noundef %25526, ptr noundef @.str.65)
  %25528 = call ptr @__errno_location() #11
  %25529 = load i32, ptr %25528, align 4, !tbaa !5
  %25530 = call ptr @strerror(i32 noundef %25529) #10
  %25531 = call ptr @__errno_location() #11
  %25532 = load i32, ptr %25531, align 4, !tbaa !5
  %25533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25520, ptr noundef @.str.66, i32 noundef %25521, ptr noundef @.str.195, ptr noundef @.str.62, i32 noundef 1045, ptr noundef %25524, ptr noundef %25527, ptr noundef %25530, i32 noundef %25532) #10
  br label %25534

25534:                                            ; preds = %25517, %25500
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #10
  br label %25535

25535:                                            ; preds = %25534
  br label %25536

25536:                                            ; preds = %25535
  call void @exit(i32 noundef 1) #12
  unreachable

25537:                                            ; No predecessors!
  br label %25538

25538:                                            ; preds = %25537
  br label %25539

25539:                                            ; preds = %25538, %25476
  br label %25540

25540:                                            ; preds = %25539
  br label %25541

25541:                                            ; preds = %25540
  br label %25542

25542:                                            ; preds = %25541
  %25543 = load i32, ptr @test_count, align 4, !tbaa !5
  %25544 = add nsw i32 %25543, 1
  store i32 %25544, ptr @test_count, align 4, !tbaa !5
  %25545 = call i32 @s2n_io_pair_close(ptr noundef %460)
  %25546 = icmp eq i32 %25545, -1
  br i1 %25546, label %25547, label %25600

25547:                                            ; preds = %25542
  br label %25548

25548:                                            ; preds = %25547
  br label %25549

25549:                                            ; preds = %25548
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #10
  %25550 = call ptr @__errno_location() #11
  %25551 = load i32, ptr %25550, align 4, !tbaa !5
  store i32 %25551, ptr %512, align 4, !tbaa !5
  %25552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25553 = call i32 @s2n_print_stacktrace(ptr noundef %25552)
  %25554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25555 = trunc i8 %25554 to i1
  br i1 %25555, label %25556, label %25578

25556:                                            ; preds = %25549
  %25557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25558 = call i32 @fileno(ptr noundef %25557) #10
  %25559 = call i32 @isatty(i32 noundef %25558) #10
  %25560 = icmp ne i32 %25559, 0
  br i1 %25560, label %25561, label %25578

25561:                                            ; preds = %25556
  %25562 = load i32, ptr %512, align 4, !tbaa !5
  %25563 = call ptr @__errno_location() #11
  store i32 %25562, ptr %25563, align 4, !tbaa !5
  %25564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25565 = load i32, ptr @test_count, align 4, !tbaa !5
  %25566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25567 = load i32, ptr %25566, align 4, !tbaa !5
  %25568 = call ptr @s2n_strerror(i32 noundef %25567, ptr noundef @.str.65)
  %25569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25570 = load i32, ptr %25569, align 4, !tbaa !5
  %25571 = call ptr @s2n_strerror_debug(i32 noundef %25570, ptr noundef @.str.65)
  %25572 = call ptr @__errno_location() #11
  %25573 = load i32, ptr %25572, align 4, !tbaa !5
  %25574 = call ptr @strerror(i32 noundef %25573) #10
  %25575 = call ptr @__errno_location() #11
  %25576 = load i32, ptr %25575, align 4, !tbaa !5
  %25577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25564, ptr noundef @.str.63, i32 noundef %25565, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 1048, ptr noundef %25568, ptr noundef %25571, ptr noundef %25574, i32 noundef %25576) #10
  br label %25595

25578:                                            ; preds = %25556, %25549
  %25579 = load i32, ptr %512, align 4, !tbaa !5
  %25580 = call ptr @__errno_location() #11
  store i32 %25579, ptr %25580, align 4, !tbaa !5
  %25581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25582 = load i32, ptr @test_count, align 4, !tbaa !5
  %25583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25584 = load i32, ptr %25583, align 4, !tbaa !5
  %25585 = call ptr @s2n_strerror(i32 noundef %25584, ptr noundef @.str.65)
  %25586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25587 = load i32, ptr %25586, align 4, !tbaa !5
  %25588 = call ptr @s2n_strerror_debug(i32 noundef %25587, ptr noundef @.str.65)
  %25589 = call ptr @__errno_location() #11
  %25590 = load i32, ptr %25589, align 4, !tbaa !5
  %25591 = call ptr @strerror(i32 noundef %25590) #10
  %25592 = call ptr @__errno_location() #11
  %25593 = load i32, ptr %25592, align 4, !tbaa !5
  %25594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25581, ptr noundef @.str.66, i32 noundef %25582, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 1048, ptr noundef %25585, ptr noundef %25588, ptr noundef %25591, i32 noundef %25593) #10
  br label %25595

25595:                                            ; preds = %25578, %25561
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #10
  br label %25596

25596:                                            ; preds = %25595
  br label %25597

25597:                                            ; preds = %25596
  call void @exit(i32 noundef 1) #12
  unreachable

25598:                                            ; No predecessors!
  br label %25599

25599:                                            ; preds = %25598
  br label %25600

25600:                                            ; preds = %25599, %25542
  br label %25601

25601:                                            ; preds = %25600
  br label %25602

25602:                                            ; preds = %25601
  br label %25603

25603:                                            ; preds = %25602
  %25604 = load i32, ptr @test_count, align 4, !tbaa !5
  %25605 = add nsw i32 %25604, 1
  store i32 %25605, ptr @test_count, align 4, !tbaa !5
  %25606 = load ptr, ptr %458, align 8, !tbaa !9
  %25607 = call i32 @s2n_connection_free(ptr noundef %25606)
  %25608 = icmp eq i32 %25607, -1
  br i1 %25608, label %25609, label %25662

25609:                                            ; preds = %25603
  br label %25610

25610:                                            ; preds = %25609
  br label %25611

25611:                                            ; preds = %25610
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #10
  %25612 = call ptr @__errno_location() #11
  %25613 = load i32, ptr %25612, align 4, !tbaa !5
  store i32 %25613, ptr %513, align 4, !tbaa !5
  %25614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25615 = call i32 @s2n_print_stacktrace(ptr noundef %25614)
  %25616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25617 = trunc i8 %25616 to i1
  br i1 %25617, label %25618, label %25640

25618:                                            ; preds = %25611
  %25619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25620 = call i32 @fileno(ptr noundef %25619) #10
  %25621 = call i32 @isatty(i32 noundef %25620) #10
  %25622 = icmp ne i32 %25621, 0
  br i1 %25622, label %25623, label %25640

25623:                                            ; preds = %25618
  %25624 = load i32, ptr %513, align 4, !tbaa !5
  %25625 = call ptr @__errno_location() #11
  store i32 %25624, ptr %25625, align 4, !tbaa !5
  %25626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25627 = load i32, ptr @test_count, align 4, !tbaa !5
  %25628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25629 = load i32, ptr %25628, align 4, !tbaa !5
  %25630 = call ptr @s2n_strerror(i32 noundef %25629, ptr noundef @.str.65)
  %25631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25632 = load i32, ptr %25631, align 4, !tbaa !5
  %25633 = call ptr @s2n_strerror_debug(i32 noundef %25632, ptr noundef @.str.65)
  %25634 = call ptr @__errno_location() #11
  %25635 = load i32, ptr %25634, align 4, !tbaa !5
  %25636 = call ptr @strerror(i32 noundef %25635) #10
  %25637 = call ptr @__errno_location() #11
  %25638 = load i32, ptr %25637, align 4, !tbaa !5
  %25639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25626, ptr noundef @.str.63, i32 noundef %25627, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 1049, ptr noundef %25630, ptr noundef %25633, ptr noundef %25636, i32 noundef %25638) #10
  br label %25657

25640:                                            ; preds = %25618, %25611
  %25641 = load i32, ptr %513, align 4, !tbaa !5
  %25642 = call ptr @__errno_location() #11
  store i32 %25641, ptr %25642, align 4, !tbaa !5
  %25643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25644 = load i32, ptr @test_count, align 4, !tbaa !5
  %25645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25646 = load i32, ptr %25645, align 4, !tbaa !5
  %25647 = call ptr @s2n_strerror(i32 noundef %25646, ptr noundef @.str.65)
  %25648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25649 = load i32, ptr %25648, align 4, !tbaa !5
  %25650 = call ptr @s2n_strerror_debug(i32 noundef %25649, ptr noundef @.str.65)
  %25651 = call ptr @__errno_location() #11
  %25652 = load i32, ptr %25651, align 4, !tbaa !5
  %25653 = call ptr @strerror(i32 noundef %25652) #10
  %25654 = call ptr @__errno_location() #11
  %25655 = load i32, ptr %25654, align 4, !tbaa !5
  %25656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25643, ptr noundef @.str.66, i32 noundef %25644, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 1049, ptr noundef %25647, ptr noundef %25650, ptr noundef %25653, i32 noundef %25655) #10
  br label %25657

25657:                                            ; preds = %25640, %25623
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #10
  br label %25658

25658:                                            ; preds = %25657
  br label %25659

25659:                                            ; preds = %25658
  call void @exit(i32 noundef 1) #12
  unreachable

25660:                                            ; No predecessors!
  br label %25661

25661:                                            ; preds = %25660
  br label %25662

25662:                                            ; preds = %25661, %25603
  br label %25663

25663:                                            ; preds = %25662
  br label %25664

25664:                                            ; preds = %25663
  br label %25665

25665:                                            ; preds = %25664
  %25666 = load i32, ptr @test_count, align 4, !tbaa !5
  %25667 = add nsw i32 %25666, 1
  store i32 %25667, ptr @test_count, align 4, !tbaa !5
  %25668 = load ptr, ptr %455, align 8, !tbaa !9
  %25669 = call i32 @s2n_connection_free(ptr noundef %25668)
  %25670 = icmp eq i32 %25669, -1
  br i1 %25670, label %25671, label %25724

25671:                                            ; preds = %25665
  br label %25672

25672:                                            ; preds = %25671
  br label %25673

25673:                                            ; preds = %25672
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #10
  %25674 = call ptr @__errno_location() #11
  %25675 = load i32, ptr %25674, align 4, !tbaa !5
  store i32 %25675, ptr %514, align 4, !tbaa !5
  %25676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25677 = call i32 @s2n_print_stacktrace(ptr noundef %25676)
  %25678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25679 = trunc i8 %25678 to i1
  br i1 %25679, label %25680, label %25702

25680:                                            ; preds = %25673
  %25681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25682 = call i32 @fileno(ptr noundef %25681) #10
  %25683 = call i32 @isatty(i32 noundef %25682) #10
  %25684 = icmp ne i32 %25683, 0
  br i1 %25684, label %25685, label %25702

25685:                                            ; preds = %25680
  %25686 = load i32, ptr %514, align 4, !tbaa !5
  %25687 = call ptr @__errno_location() #11
  store i32 %25686, ptr %25687, align 4, !tbaa !5
  %25688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25689 = load i32, ptr @test_count, align 4, !tbaa !5
  %25690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25691 = load i32, ptr %25690, align 4, !tbaa !5
  %25692 = call ptr @s2n_strerror(i32 noundef %25691, ptr noundef @.str.65)
  %25693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25694 = load i32, ptr %25693, align 4, !tbaa !5
  %25695 = call ptr @s2n_strerror_debug(i32 noundef %25694, ptr noundef @.str.65)
  %25696 = call ptr @__errno_location() #11
  %25697 = load i32, ptr %25696, align 4, !tbaa !5
  %25698 = call ptr @strerror(i32 noundef %25697) #10
  %25699 = call ptr @__errno_location() #11
  %25700 = load i32, ptr %25699, align 4, !tbaa !5
  %25701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25688, ptr noundef @.str.63, i32 noundef %25689, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 1050, ptr noundef %25692, ptr noundef %25695, ptr noundef %25698, i32 noundef %25700) #10
  br label %25719

25702:                                            ; preds = %25680, %25673
  %25703 = load i32, ptr %514, align 4, !tbaa !5
  %25704 = call ptr @__errno_location() #11
  store i32 %25703, ptr %25704, align 4, !tbaa !5
  %25705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25706 = load i32, ptr @test_count, align 4, !tbaa !5
  %25707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25708 = load i32, ptr %25707, align 4, !tbaa !5
  %25709 = call ptr @s2n_strerror(i32 noundef %25708, ptr noundef @.str.65)
  %25710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25711 = load i32, ptr %25710, align 4, !tbaa !5
  %25712 = call ptr @s2n_strerror_debug(i32 noundef %25711, ptr noundef @.str.65)
  %25713 = call ptr @__errno_location() #11
  %25714 = load i32, ptr %25713, align 4, !tbaa !5
  %25715 = call ptr @strerror(i32 noundef %25714) #10
  %25716 = call ptr @__errno_location() #11
  %25717 = load i32, ptr %25716, align 4, !tbaa !5
  %25718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25705, ptr noundef @.str.66, i32 noundef %25706, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 1050, ptr noundef %25709, ptr noundef %25712, ptr noundef %25715, i32 noundef %25717) #10
  br label %25719

25719:                                            ; preds = %25702, %25685
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #10
  br label %25720

25720:                                            ; preds = %25719
  br label %25721

25721:                                            ; preds = %25720
  call void @exit(i32 noundef 1) #12
  unreachable

25722:                                            ; No predecessors!
  br label %25723

25723:                                            ; preds = %25722
  br label %25724

25724:                                            ; preds = %25723, %25665
  br label %25725

25725:                                            ; preds = %25724
  br label %25726

25726:                                            ; preds = %25725
  call void @llvm.lifetime.end.p0(i64 8, ptr %460) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %458) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %455) #10
  %25727 = call i32 @s2n_stuffer_free(ptr noundef %453)
  call void @llvm.lifetime.end.p0(i64 40, ptr %453) #10
  br label %25728

25728:                                            ; preds = %25726
  %25729 = load i32, ptr @test_count, align 4, !tbaa !5
  %25730 = add nsw i32 %25729, 1
  store i32 %25730, ptr @test_count, align 4, !tbaa !5
  %25731 = load ptr, ptr %378, align 8, !tbaa !9
  %25732 = call i32 @s2n_config_free(ptr noundef %25731)
  %25733 = icmp eq i32 %25732, -1
  br i1 %25733, label %25734, label %25787

25734:                                            ; preds = %25728
  br label %25735

25735:                                            ; preds = %25734
  br label %25736

25736:                                            ; preds = %25735
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #10
  %25737 = call ptr @__errno_location() #11
  %25738 = load i32, ptr %25737, align 4, !tbaa !5
  store i32 %25738, ptr %515, align 4, !tbaa !5
  %25739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25740 = call i32 @s2n_print_stacktrace(ptr noundef %25739)
  %25741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25742 = trunc i8 %25741 to i1
  br i1 %25742, label %25743, label %25765

25743:                                            ; preds = %25736
  %25744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25745 = call i32 @fileno(ptr noundef %25744) #10
  %25746 = call i32 @isatty(i32 noundef %25745) #10
  %25747 = icmp ne i32 %25746, 0
  br i1 %25747, label %25748, label %25765

25748:                                            ; preds = %25743
  %25749 = load i32, ptr %515, align 4, !tbaa !5
  %25750 = call ptr @__errno_location() #11
  store i32 %25749, ptr %25750, align 4, !tbaa !5
  %25751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25752 = load i32, ptr @test_count, align 4, !tbaa !5
  %25753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25754 = load i32, ptr %25753, align 4, !tbaa !5
  %25755 = call ptr @s2n_strerror(i32 noundef %25754, ptr noundef @.str.65)
  %25756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25757 = load i32, ptr %25756, align 4, !tbaa !5
  %25758 = call ptr @s2n_strerror_debug(i32 noundef %25757, ptr noundef @.str.65)
  %25759 = call ptr @__errno_location() #11
  %25760 = load i32, ptr %25759, align 4, !tbaa !5
  %25761 = call ptr @strerror(i32 noundef %25760) #10
  %25762 = call ptr @__errno_location() #11
  %25763 = load i32, ptr %25762, align 4, !tbaa !5
  %25764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25751, ptr noundef @.str.63, i32 noundef %25752, ptr noundef @.str.204, ptr noundef @.str.62, i32 noundef 1053, ptr noundef %25755, ptr noundef %25758, ptr noundef %25761, i32 noundef %25763) #10
  br label %25782

25765:                                            ; preds = %25743, %25736
  %25766 = load i32, ptr %515, align 4, !tbaa !5
  %25767 = call ptr @__errno_location() #11
  store i32 %25766, ptr %25767, align 4, !tbaa !5
  %25768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25769 = load i32, ptr @test_count, align 4, !tbaa !5
  %25770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25771 = load i32, ptr %25770, align 4, !tbaa !5
  %25772 = call ptr @s2n_strerror(i32 noundef %25771, ptr noundef @.str.65)
  %25773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25774 = load i32, ptr %25773, align 4, !tbaa !5
  %25775 = call ptr @s2n_strerror_debug(i32 noundef %25774, ptr noundef @.str.65)
  %25776 = call ptr @__errno_location() #11
  %25777 = load i32, ptr %25776, align 4, !tbaa !5
  %25778 = call ptr @strerror(i32 noundef %25777) #10
  %25779 = call ptr @__errno_location() #11
  %25780 = load i32, ptr %25779, align 4, !tbaa !5
  %25781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25768, ptr noundef @.str.66, i32 noundef %25769, ptr noundef @.str.204, ptr noundef @.str.62, i32 noundef 1053, ptr noundef %25772, ptr noundef %25775, ptr noundef %25778, i32 noundef %25780) #10
  br label %25782

25782:                                            ; preds = %25765, %25748
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #10
  br label %25783

25783:                                            ; preds = %25782
  br label %25784

25784:                                            ; preds = %25783
  call void @exit(i32 noundef 1) #12
  unreachable

25785:                                            ; No predecessors!
  br label %25786

25786:                                            ; preds = %25785
  br label %25787

25787:                                            ; preds = %25786, %25728
  br label %25788

25788:                                            ; preds = %25787
  br label %25789

25789:                                            ; preds = %25788
  br label %25790

25790:                                            ; preds = %25789
  %25791 = load i32, ptr @test_count, align 4, !tbaa !5
  %25792 = add nsw i32 %25791, 1
  store i32 %25792, ptr @test_count, align 4, !tbaa !5
  %25793 = load ptr, ptr %383, align 8, !tbaa !9
  %25794 = call i32 @s2n_config_free(ptr noundef %25793)
  %25795 = icmp eq i32 %25794, -1
  br i1 %25795, label %25796, label %25849

25796:                                            ; preds = %25790
  br label %25797

25797:                                            ; preds = %25796
  br label %25798

25798:                                            ; preds = %25797
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #10
  %25799 = call ptr @__errno_location() #11
  %25800 = load i32, ptr %25799, align 4, !tbaa !5
  store i32 %25800, ptr %516, align 4, !tbaa !5
  %25801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25802 = call i32 @s2n_print_stacktrace(ptr noundef %25801)
  %25803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25804 = trunc i8 %25803 to i1
  br i1 %25804, label %25805, label %25827

25805:                                            ; preds = %25798
  %25806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25807 = call i32 @fileno(ptr noundef %25806) #10
  %25808 = call i32 @isatty(i32 noundef %25807) #10
  %25809 = icmp ne i32 %25808, 0
  br i1 %25809, label %25810, label %25827

25810:                                            ; preds = %25805
  %25811 = load i32, ptr %516, align 4, !tbaa !5
  %25812 = call ptr @__errno_location() #11
  store i32 %25811, ptr %25812, align 4, !tbaa !5
  %25813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25814 = load i32, ptr @test_count, align 4, !tbaa !5
  %25815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25816 = load i32, ptr %25815, align 4, !tbaa !5
  %25817 = call ptr @s2n_strerror(i32 noundef %25816, ptr noundef @.str.65)
  %25818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25819 = load i32, ptr %25818, align 4, !tbaa !5
  %25820 = call ptr @s2n_strerror_debug(i32 noundef %25819, ptr noundef @.str.65)
  %25821 = call ptr @__errno_location() #11
  %25822 = load i32, ptr %25821, align 4, !tbaa !5
  %25823 = call ptr @strerror(i32 noundef %25822) #10
  %25824 = call ptr @__errno_location() #11
  %25825 = load i32, ptr %25824, align 4, !tbaa !5
  %25826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25813, ptr noundef @.str.63, i32 noundef %25814, ptr noundef @.str.205, ptr noundef @.str.62, i32 noundef 1054, ptr noundef %25817, ptr noundef %25820, ptr noundef %25823, i32 noundef %25825) #10
  br label %25844

25827:                                            ; preds = %25805, %25798
  %25828 = load i32, ptr %516, align 4, !tbaa !5
  %25829 = call ptr @__errno_location() #11
  store i32 %25828, ptr %25829, align 4, !tbaa !5
  %25830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25831 = load i32, ptr @test_count, align 4, !tbaa !5
  %25832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25833 = load i32, ptr %25832, align 4, !tbaa !5
  %25834 = call ptr @s2n_strerror(i32 noundef %25833, ptr noundef @.str.65)
  %25835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25836 = load i32, ptr %25835, align 4, !tbaa !5
  %25837 = call ptr @s2n_strerror_debug(i32 noundef %25836, ptr noundef @.str.65)
  %25838 = call ptr @__errno_location() #11
  %25839 = load i32, ptr %25838, align 4, !tbaa !5
  %25840 = call ptr @strerror(i32 noundef %25839) #10
  %25841 = call ptr @__errno_location() #11
  %25842 = load i32, ptr %25841, align 4, !tbaa !5
  %25843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25830, ptr noundef @.str.66, i32 noundef %25831, ptr noundef @.str.205, ptr noundef @.str.62, i32 noundef 1054, ptr noundef %25834, ptr noundef %25837, ptr noundef %25840, i32 noundef %25842) #10
  br label %25844

25844:                                            ; preds = %25827, %25810
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #10
  br label %25845

25845:                                            ; preds = %25844
  br label %25846

25846:                                            ; preds = %25845
  call void @exit(i32 noundef 1) #12
  unreachable

25847:                                            ; No predecessors!
  br label %25848

25848:                                            ; preds = %25847
  br label %25849

25849:                                            ; preds = %25848, %25790
  br label %25850

25850:                                            ; preds = %25849
  br label %25851

25851:                                            ; preds = %25850
  call void @llvm.lifetime.end.p0(i64 8, ptr %383) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %378) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %517) #10
  %25852 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %25852, ptr %517, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %518) #10
  %25853 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %25853, ptr %518, align 8, !tbaa !9
  br label %25854

25854:                                            ; preds = %25851
  %25855 = load i32, ptr @test_count, align 4, !tbaa !5
  %25856 = add nsw i32 %25855, 1
  store i32 %25856, ptr @test_count, align 4, !tbaa !5
  %25857 = load ptr, ptr %517, align 8, !tbaa !9
  %25858 = icmp eq ptr %25857, null
  br i1 %25858, label %25859, label %25912

25859:                                            ; preds = %25854
  br label %25860

25860:                                            ; preds = %25859
  br label %25861

25861:                                            ; preds = %25860
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #10
  %25862 = call ptr @__errno_location() #11
  %25863 = load i32, ptr %25862, align 4, !tbaa !5
  store i32 %25863, ptr %519, align 4, !tbaa !5
  %25864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25865 = call i32 @s2n_print_stacktrace(ptr noundef %25864)
  %25866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25867 = trunc i8 %25866 to i1
  br i1 %25867, label %25868, label %25890

25868:                                            ; preds = %25861
  %25869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25870 = call i32 @fileno(ptr noundef %25869) #10
  %25871 = call i32 @isatty(i32 noundef %25870) #10
  %25872 = icmp ne i32 %25871, 0
  br i1 %25872, label %25873, label %25890

25873:                                            ; preds = %25868
  %25874 = load i32, ptr %519, align 4, !tbaa !5
  %25875 = call ptr @__errno_location() #11
  store i32 %25874, ptr %25875, align 4, !tbaa !5
  %25876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25877 = load i32, ptr @test_count, align 4, !tbaa !5
  %25878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25879 = load i32, ptr %25878, align 4, !tbaa !5
  %25880 = call ptr @s2n_strerror(i32 noundef %25879, ptr noundef @.str.65)
  %25881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25882 = load i32, ptr %25881, align 4, !tbaa !5
  %25883 = call ptr @s2n_strerror_debug(i32 noundef %25882, ptr noundef @.str.65)
  %25884 = call ptr @__errno_location() #11
  %25885 = load i32, ptr %25884, align 4, !tbaa !5
  %25886 = call ptr @strerror(i32 noundef %25885) #10
  %25887 = call ptr @__errno_location() #11
  %25888 = load i32, ptr %25887, align 4, !tbaa !5
  %25889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25876, ptr noundef @.str.63, i32 noundef %25877, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1061, ptr noundef %25880, ptr noundef %25883, ptr noundef %25886, i32 noundef %25888) #10
  br label %25907

25890:                                            ; preds = %25868, %25861
  %25891 = load i32, ptr %519, align 4, !tbaa !5
  %25892 = call ptr @__errno_location() #11
  store i32 %25891, ptr %25892, align 4, !tbaa !5
  %25893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25894 = load i32, ptr @test_count, align 4, !tbaa !5
  %25895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25896 = load i32, ptr %25895, align 4, !tbaa !5
  %25897 = call ptr @s2n_strerror(i32 noundef %25896, ptr noundef @.str.65)
  %25898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25899 = load i32, ptr %25898, align 4, !tbaa !5
  %25900 = call ptr @s2n_strerror_debug(i32 noundef %25899, ptr noundef @.str.65)
  %25901 = call ptr @__errno_location() #11
  %25902 = load i32, ptr %25901, align 4, !tbaa !5
  %25903 = call ptr @strerror(i32 noundef %25902) #10
  %25904 = call ptr @__errno_location() #11
  %25905 = load i32, ptr %25904, align 4, !tbaa !5
  %25906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25893, ptr noundef @.str.66, i32 noundef %25894, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1061, ptr noundef %25897, ptr noundef %25900, ptr noundef %25903, i32 noundef %25905) #10
  br label %25907

25907:                                            ; preds = %25890, %25873
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #10
  br label %25908

25908:                                            ; preds = %25907
  br label %25909

25909:                                            ; preds = %25908
  call void @exit(i32 noundef 1) #12
  unreachable

25910:                                            ; No predecessors!
  br label %25911

25911:                                            ; preds = %25910
  br label %25912

25912:                                            ; preds = %25911, %25854
  br label %25913

25913:                                            ; preds = %25912
  br label %25914

25914:                                            ; preds = %25913
  br label %25915

25915:                                            ; preds = %25914
  %25916 = load i32, ptr @test_count, align 4, !tbaa !5
  %25917 = add nsw i32 %25916, 1
  store i32 %25917, ptr @test_count, align 4, !tbaa !5
  %25918 = load ptr, ptr %518, align 8, !tbaa !9
  %25919 = icmp eq ptr %25918, null
  br i1 %25919, label %25920, label %25973

25920:                                            ; preds = %25915
  br label %25921

25921:                                            ; preds = %25920
  br label %25922

25922:                                            ; preds = %25921
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #10
  %25923 = call ptr @__errno_location() #11
  %25924 = load i32, ptr %25923, align 4, !tbaa !5
  store i32 %25924, ptr %520, align 4, !tbaa !5
  %25925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25926 = call i32 @s2n_print_stacktrace(ptr noundef %25925)
  %25927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25928 = trunc i8 %25927 to i1
  br i1 %25928, label %25929, label %25951

25929:                                            ; preds = %25922
  %25930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25931 = call i32 @fileno(ptr noundef %25930) #10
  %25932 = call i32 @isatty(i32 noundef %25931) #10
  %25933 = icmp ne i32 %25932, 0
  br i1 %25933, label %25934, label %25951

25934:                                            ; preds = %25929
  %25935 = load i32, ptr %520, align 4, !tbaa !5
  %25936 = call ptr @__errno_location() #11
  store i32 %25935, ptr %25936, align 4, !tbaa !5
  %25937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25938 = load i32, ptr @test_count, align 4, !tbaa !5
  %25939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25940 = load i32, ptr %25939, align 4, !tbaa !5
  %25941 = call ptr @s2n_strerror(i32 noundef %25940, ptr noundef @.str.65)
  %25942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25943 = load i32, ptr %25942, align 4, !tbaa !5
  %25944 = call ptr @s2n_strerror_debug(i32 noundef %25943, ptr noundef @.str.65)
  %25945 = call ptr @__errno_location() #11
  %25946 = load i32, ptr %25945, align 4, !tbaa !5
  %25947 = call ptr @strerror(i32 noundef %25946) #10
  %25948 = call ptr @__errno_location() #11
  %25949 = load i32, ptr %25948, align 4, !tbaa !5
  %25950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25937, ptr noundef @.str.63, i32 noundef %25938, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1062, ptr noundef %25941, ptr noundef %25944, ptr noundef %25947, i32 noundef %25949) #10
  br label %25968

25951:                                            ; preds = %25929, %25922
  %25952 = load i32, ptr %520, align 4, !tbaa !5
  %25953 = call ptr @__errno_location() #11
  store i32 %25952, ptr %25953, align 4, !tbaa !5
  %25954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25955 = load i32, ptr @test_count, align 4, !tbaa !5
  %25956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25957 = load i32, ptr %25956, align 4, !tbaa !5
  %25958 = call ptr @s2n_strerror(i32 noundef %25957, ptr noundef @.str.65)
  %25959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25960 = load i32, ptr %25959, align 4, !tbaa !5
  %25961 = call ptr @s2n_strerror_debug(i32 noundef %25960, ptr noundef @.str.65)
  %25962 = call ptr @__errno_location() #11
  %25963 = load i32, ptr %25962, align 4, !tbaa !5
  %25964 = call ptr @strerror(i32 noundef %25963) #10
  %25965 = call ptr @__errno_location() #11
  %25966 = load i32, ptr %25965, align 4, !tbaa !5
  %25967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25954, ptr noundef @.str.66, i32 noundef %25955, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1062, ptr noundef %25958, ptr noundef %25961, ptr noundef %25964, i32 noundef %25966) #10
  br label %25968

25968:                                            ; preds = %25951, %25934
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #10
  br label %25969

25969:                                            ; preds = %25968
  br label %25970

25970:                                            ; preds = %25969
  call void @exit(i32 noundef 1) #12
  unreachable

25971:                                            ; No predecessors!
  br label %25972

25972:                                            ; preds = %25971
  br label %25973

25973:                                            ; preds = %25972, %25915
  br label %25974

25974:                                            ; preds = %25973
  br label %25975

25975:                                            ; preds = %25974
  br label %25976

25976:                                            ; preds = %25975
  %25977 = load i32, ptr @test_count, align 4, !tbaa !5
  %25978 = add nsw i32 %25977, 1
  store i32 %25978, ptr @test_count, align 4, !tbaa !5
  %25979 = load ptr, ptr %517, align 8, !tbaa !9
  %25980 = load ptr, ptr %40, align 8, !tbaa !9
  %25981 = call i32 @s2n_connection_set_config(ptr noundef %25979, ptr noundef %25980)
  %25982 = icmp eq i32 %25981, -1
  br i1 %25982, label %25983, label %26036

25983:                                            ; preds = %25976
  br label %25984

25984:                                            ; preds = %25983
  br label %25985

25985:                                            ; preds = %25984
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #10
  %25986 = call ptr @__errno_location() #11
  %25987 = load i32, ptr %25986, align 4, !tbaa !5
  store i32 %25987, ptr %521, align 4, !tbaa !5
  %25988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25989 = call i32 @s2n_print_stacktrace(ptr noundef %25988)
  %25990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25991 = trunc i8 %25990 to i1
  br i1 %25991, label %25992, label %26014

25992:                                            ; preds = %25985
  %25993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25994 = call i32 @fileno(ptr noundef %25993) #10
  %25995 = call i32 @isatty(i32 noundef %25994) #10
  %25996 = icmp ne i32 %25995, 0
  br i1 %25996, label %25997, label %26014

25997:                                            ; preds = %25992
  %25998 = load i32, ptr %521, align 4, !tbaa !5
  %25999 = call ptr @__errno_location() #11
  store i32 %25998, ptr %25999, align 4, !tbaa !5
  %26000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26001 = load i32, ptr @test_count, align 4, !tbaa !5
  %26002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26003 = load i32, ptr %26002, align 4, !tbaa !5
  %26004 = call ptr @s2n_strerror(i32 noundef %26003, ptr noundef @.str.65)
  %26005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26006 = load i32, ptr %26005, align 4, !tbaa !5
  %26007 = call ptr @s2n_strerror_debug(i32 noundef %26006, ptr noundef @.str.65)
  %26008 = call ptr @__errno_location() #11
  %26009 = load i32, ptr %26008, align 4, !tbaa !5
  %26010 = call ptr @strerror(i32 noundef %26009) #10
  %26011 = call ptr @__errno_location() #11
  %26012 = load i32, ptr %26011, align 4, !tbaa !5
  %26013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26000, ptr noundef @.str.63, i32 noundef %26001, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1064, ptr noundef %26004, ptr noundef %26007, ptr noundef %26010, i32 noundef %26012) #10
  br label %26031

26014:                                            ; preds = %25992, %25985
  %26015 = load i32, ptr %521, align 4, !tbaa !5
  %26016 = call ptr @__errno_location() #11
  store i32 %26015, ptr %26016, align 4, !tbaa !5
  %26017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26018 = load i32, ptr @test_count, align 4, !tbaa !5
  %26019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26020 = load i32, ptr %26019, align 4, !tbaa !5
  %26021 = call ptr @s2n_strerror(i32 noundef %26020, ptr noundef @.str.65)
  %26022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26023 = load i32, ptr %26022, align 4, !tbaa !5
  %26024 = call ptr @s2n_strerror_debug(i32 noundef %26023, ptr noundef @.str.65)
  %26025 = call ptr @__errno_location() #11
  %26026 = load i32, ptr %26025, align 4, !tbaa !5
  %26027 = call ptr @strerror(i32 noundef %26026) #10
  %26028 = call ptr @__errno_location() #11
  %26029 = load i32, ptr %26028, align 4, !tbaa !5
  %26030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26017, ptr noundef @.str.66, i32 noundef %26018, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1064, ptr noundef %26021, ptr noundef %26024, ptr noundef %26027, i32 noundef %26029) #10
  br label %26031

26031:                                            ; preds = %26014, %25997
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #10
  br label %26032

26032:                                            ; preds = %26031
  br label %26033

26033:                                            ; preds = %26032
  call void @exit(i32 noundef 1) #12
  unreachable

26034:                                            ; No predecessors!
  br label %26035

26035:                                            ; preds = %26034
  br label %26036

26036:                                            ; preds = %26035, %25976
  br label %26037

26037:                                            ; preds = %26036
  br label %26038

26038:                                            ; preds = %26037
  br label %26039

26039:                                            ; preds = %26038
  %26040 = load i32, ptr @test_count, align 4, !tbaa !5
  %26041 = add nsw i32 %26040, 1
  store i32 %26041, ptr @test_count, align 4, !tbaa !5
  %26042 = load ptr, ptr %518, align 8, !tbaa !9
  %26043 = load ptr, ptr %30, align 8, !tbaa !9
  %26044 = call i32 @s2n_connection_set_config(ptr noundef %26042, ptr noundef %26043)
  %26045 = icmp eq i32 %26044, -1
  br i1 %26045, label %26046, label %26099

26046:                                            ; preds = %26039
  br label %26047

26047:                                            ; preds = %26046
  br label %26048

26048:                                            ; preds = %26047
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #10
  %26049 = call ptr @__errno_location() #11
  %26050 = load i32, ptr %26049, align 4, !tbaa !5
  store i32 %26050, ptr %522, align 4, !tbaa !5
  %26051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26052 = call i32 @s2n_print_stacktrace(ptr noundef %26051)
  %26053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26054 = trunc i8 %26053 to i1
  br i1 %26054, label %26055, label %26077

26055:                                            ; preds = %26048
  %26056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26057 = call i32 @fileno(ptr noundef %26056) #10
  %26058 = call i32 @isatty(i32 noundef %26057) #10
  %26059 = icmp ne i32 %26058, 0
  br i1 %26059, label %26060, label %26077

26060:                                            ; preds = %26055
  %26061 = load i32, ptr %522, align 4, !tbaa !5
  %26062 = call ptr @__errno_location() #11
  store i32 %26061, ptr %26062, align 4, !tbaa !5
  %26063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26064 = load i32, ptr @test_count, align 4, !tbaa !5
  %26065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26066 = load i32, ptr %26065, align 4, !tbaa !5
  %26067 = call ptr @s2n_strerror(i32 noundef %26066, ptr noundef @.str.65)
  %26068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26069 = load i32, ptr %26068, align 4, !tbaa !5
  %26070 = call ptr @s2n_strerror_debug(i32 noundef %26069, ptr noundef @.str.65)
  %26071 = call ptr @__errno_location() #11
  %26072 = load i32, ptr %26071, align 4, !tbaa !5
  %26073 = call ptr @strerror(i32 noundef %26072) #10
  %26074 = call ptr @__errno_location() #11
  %26075 = load i32, ptr %26074, align 4, !tbaa !5
  %26076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26063, ptr noundef @.str.63, i32 noundef %26064, ptr noundef @.str.131, ptr noundef @.str.62, i32 noundef 1065, ptr noundef %26067, ptr noundef %26070, ptr noundef %26073, i32 noundef %26075) #10
  br label %26094

26077:                                            ; preds = %26055, %26048
  %26078 = load i32, ptr %522, align 4, !tbaa !5
  %26079 = call ptr @__errno_location() #11
  store i32 %26078, ptr %26079, align 4, !tbaa !5
  %26080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26081 = load i32, ptr @test_count, align 4, !tbaa !5
  %26082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26083 = load i32, ptr %26082, align 4, !tbaa !5
  %26084 = call ptr @s2n_strerror(i32 noundef %26083, ptr noundef @.str.65)
  %26085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26086 = load i32, ptr %26085, align 4, !tbaa !5
  %26087 = call ptr @s2n_strerror_debug(i32 noundef %26086, ptr noundef @.str.65)
  %26088 = call ptr @__errno_location() #11
  %26089 = load i32, ptr %26088, align 4, !tbaa !5
  %26090 = call ptr @strerror(i32 noundef %26089) #10
  %26091 = call ptr @__errno_location() #11
  %26092 = load i32, ptr %26091, align 4, !tbaa !5
  %26093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26080, ptr noundef @.str.66, i32 noundef %26081, ptr noundef @.str.131, ptr noundef @.str.62, i32 noundef 1065, ptr noundef %26084, ptr noundef %26087, ptr noundef %26090, i32 noundef %26092) #10
  br label %26094

26094:                                            ; preds = %26077, %26060
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #10
  br label %26095

26095:                                            ; preds = %26094
  br label %26096

26096:                                            ; preds = %26095
  call void @exit(i32 noundef 1) #12
  unreachable

26097:                                            ; No predecessors!
  br label %26098

26098:                                            ; preds = %26097
  br label %26099

26099:                                            ; preds = %26098, %26039
  br label %26100

26100:                                            ; preds = %26099
  br label %26101

26101:                                            ; preds = %26100
  call void @llvm.lifetime.start.p0(i64 8, ptr %523) #10
  call void @llvm.memset.p0.i64(ptr align 4 %523, i8 0, i64 8, i1 false)
  br label %26102

26102:                                            ; preds = %26101
  %26103 = load i32, ptr @test_count, align 4, !tbaa !5
  %26104 = add nsw i32 %26103, 1
  store i32 %26104, ptr @test_count, align 4, !tbaa !5
  %26105 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %523)
  %26106 = icmp eq i32 %26105, -1
  br i1 %26106, label %26107, label %26160

26107:                                            ; preds = %26102
  br label %26108

26108:                                            ; preds = %26107
  br label %26109

26109:                                            ; preds = %26108
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #10
  %26110 = call ptr @__errno_location() #11
  %26111 = load i32, ptr %26110, align 4, !tbaa !5
  store i32 %26111, ptr %524, align 4, !tbaa !5
  %26112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26113 = call i32 @s2n_print_stacktrace(ptr noundef %26112)
  %26114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26115 = trunc i8 %26114 to i1
  br i1 %26115, label %26116, label %26138

26116:                                            ; preds = %26109
  %26117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26118 = call i32 @fileno(ptr noundef %26117) #10
  %26119 = call i32 @isatty(i32 noundef %26118) #10
  %26120 = icmp ne i32 %26119, 0
  br i1 %26120, label %26121, label %26138

26121:                                            ; preds = %26116
  %26122 = load i32, ptr %524, align 4, !tbaa !5
  %26123 = call ptr @__errno_location() #11
  store i32 %26122, ptr %26123, align 4, !tbaa !5
  %26124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26125 = load i32, ptr @test_count, align 4, !tbaa !5
  %26126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26127 = load i32, ptr %26126, align 4, !tbaa !5
  %26128 = call ptr @s2n_strerror(i32 noundef %26127, ptr noundef @.str.65)
  %26129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26130 = load i32, ptr %26129, align 4, !tbaa !5
  %26131 = call ptr @s2n_strerror_debug(i32 noundef %26130, ptr noundef @.str.65)
  %26132 = call ptr @__errno_location() #11
  %26133 = load i32, ptr %26132, align 4, !tbaa !5
  %26134 = call ptr @strerror(i32 noundef %26133) #10
  %26135 = call ptr @__errno_location() #11
  %26136 = load i32, ptr %26135, align 4, !tbaa !5
  %26137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26124, ptr noundef @.str.63, i32 noundef %26125, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 1069, ptr noundef %26128, ptr noundef %26131, ptr noundef %26134, i32 noundef %26136) #10
  br label %26155

26138:                                            ; preds = %26116, %26109
  %26139 = load i32, ptr %524, align 4, !tbaa !5
  %26140 = call ptr @__errno_location() #11
  store i32 %26139, ptr %26140, align 4, !tbaa !5
  %26141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26142 = load i32, ptr @test_count, align 4, !tbaa !5
  %26143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26144 = load i32, ptr %26143, align 4, !tbaa !5
  %26145 = call ptr @s2n_strerror(i32 noundef %26144, ptr noundef @.str.65)
  %26146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26147 = load i32, ptr %26146, align 4, !tbaa !5
  %26148 = call ptr @s2n_strerror_debug(i32 noundef %26147, ptr noundef @.str.65)
  %26149 = call ptr @__errno_location() #11
  %26150 = load i32, ptr %26149, align 4, !tbaa !5
  %26151 = call ptr @strerror(i32 noundef %26150) #10
  %26152 = call ptr @__errno_location() #11
  %26153 = load i32, ptr %26152, align 4, !tbaa !5
  %26154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26141, ptr noundef @.str.66, i32 noundef %26142, ptr noundef @.str.113, ptr noundef @.str.62, i32 noundef 1069, ptr noundef %26145, ptr noundef %26148, ptr noundef %26151, i32 noundef %26153) #10
  br label %26155

26155:                                            ; preds = %26138, %26121
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #10
  br label %26156

26156:                                            ; preds = %26155
  br label %26157

26157:                                            ; preds = %26156
  call void @exit(i32 noundef 1) #12
  unreachable

26158:                                            ; No predecessors!
  br label %26159

26159:                                            ; preds = %26158
  br label %26160

26160:                                            ; preds = %26159, %26102
  br label %26161

26161:                                            ; preds = %26160
  br label %26162

26162:                                            ; preds = %26161
  br label %26163

26163:                                            ; preds = %26162
  %26164 = load i32, ptr @test_count, align 4, !tbaa !5
  %26165 = add nsw i32 %26164, 1
  store i32 %26165, ptr @test_count, align 4, !tbaa !5
  %26166 = load ptr, ptr %517, align 8, !tbaa !9
  %26167 = load ptr, ptr %518, align 8, !tbaa !9
  %26168 = call i32 @s2n_connections_set_io_pair(ptr noundef %26166, ptr noundef %26167, ptr noundef %523)
  %26169 = icmp eq i32 %26168, -1
  br i1 %26169, label %26170, label %26223

26170:                                            ; preds = %26163
  br label %26171

26171:                                            ; preds = %26170
  br label %26172

26172:                                            ; preds = %26171
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #10
  %26173 = call ptr @__errno_location() #11
  %26174 = load i32, ptr %26173, align 4, !tbaa !5
  store i32 %26174, ptr %525, align 4, !tbaa !5
  %26175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26176 = call i32 @s2n_print_stacktrace(ptr noundef %26175)
  %26177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26178 = trunc i8 %26177 to i1
  br i1 %26178, label %26179, label %26201

26179:                                            ; preds = %26172
  %26180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26181 = call i32 @fileno(ptr noundef %26180) #10
  %26182 = call i32 @isatty(i32 noundef %26181) #10
  %26183 = icmp ne i32 %26182, 0
  br i1 %26183, label %26184, label %26201

26184:                                            ; preds = %26179
  %26185 = load i32, ptr %525, align 4, !tbaa !5
  %26186 = call ptr @__errno_location() #11
  store i32 %26185, ptr %26186, align 4, !tbaa !5
  %26187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26188 = load i32, ptr @test_count, align 4, !tbaa !5
  %26189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26190 = load i32, ptr %26189, align 4, !tbaa !5
  %26191 = call ptr @s2n_strerror(i32 noundef %26190, ptr noundef @.str.65)
  %26192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26193 = load i32, ptr %26192, align 4, !tbaa !5
  %26194 = call ptr @s2n_strerror_debug(i32 noundef %26193, ptr noundef @.str.65)
  %26195 = call ptr @__errno_location() #11
  %26196 = load i32, ptr %26195, align 4, !tbaa !5
  %26197 = call ptr @strerror(i32 noundef %26196) #10
  %26198 = call ptr @__errno_location() #11
  %26199 = load i32, ptr %26198, align 4, !tbaa !5
  %26200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26187, ptr noundef @.str.63, i32 noundef %26188, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 1070, ptr noundef %26191, ptr noundef %26194, ptr noundef %26197, i32 noundef %26199) #10
  br label %26218

26201:                                            ; preds = %26179, %26172
  %26202 = load i32, ptr %525, align 4, !tbaa !5
  %26203 = call ptr @__errno_location() #11
  store i32 %26202, ptr %26203, align 4, !tbaa !5
  %26204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26205 = load i32, ptr @test_count, align 4, !tbaa !5
  %26206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26207 = load i32, ptr %26206, align 4, !tbaa !5
  %26208 = call ptr @s2n_strerror(i32 noundef %26207, ptr noundef @.str.65)
  %26209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26210 = load i32, ptr %26209, align 4, !tbaa !5
  %26211 = call ptr @s2n_strerror_debug(i32 noundef %26210, ptr noundef @.str.65)
  %26212 = call ptr @__errno_location() #11
  %26213 = load i32, ptr %26212, align 4, !tbaa !5
  %26214 = call ptr @strerror(i32 noundef %26213) #10
  %26215 = call ptr @__errno_location() #11
  %26216 = load i32, ptr %26215, align 4, !tbaa !5
  %26217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26204, ptr noundef @.str.66, i32 noundef %26205, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 1070, ptr noundef %26208, ptr noundef %26211, ptr noundef %26214, i32 noundef %26216) #10
  br label %26218

26218:                                            ; preds = %26201, %26184
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #10
  br label %26219

26219:                                            ; preds = %26218
  br label %26220

26220:                                            ; preds = %26219
  call void @exit(i32 noundef 1) #12
  unreachable

26221:                                            ; No predecessors!
  br label %26222

26222:                                            ; preds = %26221
  br label %26223

26223:                                            ; preds = %26222, %26163
  br label %26224

26224:                                            ; preds = %26223
  br label %26225

26225:                                            ; preds = %26224
  br label %26226

26226:                                            ; preds = %26225
  %26227 = load i32, ptr @test_count, align 4, !tbaa !5
  %26228 = add nsw i32 %26227, 1
  store i32 %26228, ptr @test_count, align 4, !tbaa !5
  %26229 = load ptr, ptr %518, align 8, !tbaa !9
  %26230 = load ptr, ptr %517, align 8, !tbaa !9
  %26231 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %26229, ptr noundef %26230)
  %26232 = icmp eq i32 %26231, -1
  br i1 %26232, label %26233, label %26286

26233:                                            ; preds = %26226
  br label %26234

26234:                                            ; preds = %26233
  br label %26235

26235:                                            ; preds = %26234
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #10
  %26236 = call ptr @__errno_location() #11
  %26237 = load i32, ptr %26236, align 4, !tbaa !5
  store i32 %26237, ptr %526, align 4, !tbaa !5
  %26238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26239 = call i32 @s2n_print_stacktrace(ptr noundef %26238)
  %26240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26241 = trunc i8 %26240 to i1
  br i1 %26241, label %26242, label %26264

26242:                                            ; preds = %26235
  %26243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26244 = call i32 @fileno(ptr noundef %26243) #10
  %26245 = call i32 @isatty(i32 noundef %26244) #10
  %26246 = icmp ne i32 %26245, 0
  br i1 %26246, label %26247, label %26264

26247:                                            ; preds = %26242
  %26248 = load i32, ptr %526, align 4, !tbaa !5
  %26249 = call ptr @__errno_location() #11
  store i32 %26248, ptr %26249, align 4, !tbaa !5
  %26250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26251 = load i32, ptr @test_count, align 4, !tbaa !5
  %26252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26253 = load i32, ptr %26252, align 4, !tbaa !5
  %26254 = call ptr @s2n_strerror(i32 noundef %26253, ptr noundef @.str.65)
  %26255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26256 = load i32, ptr %26255, align 4, !tbaa !5
  %26257 = call ptr @s2n_strerror_debug(i32 noundef %26256, ptr noundef @.str.65)
  %26258 = call ptr @__errno_location() #11
  %26259 = load i32, ptr %26258, align 4, !tbaa !5
  %26260 = call ptr @strerror(i32 noundef %26259) #10
  %26261 = call ptr @__errno_location() #11
  %26262 = load i32, ptr %26261, align 4, !tbaa !5
  %26263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26250, ptr noundef @.str.63, i32 noundef %26251, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1073, ptr noundef %26254, ptr noundef %26257, ptr noundef %26260, i32 noundef %26262) #10
  br label %26281

26264:                                            ; preds = %26242, %26235
  %26265 = load i32, ptr %526, align 4, !tbaa !5
  %26266 = call ptr @__errno_location() #11
  store i32 %26265, ptr %26266, align 4, !tbaa !5
  %26267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26268 = load i32, ptr @test_count, align 4, !tbaa !5
  %26269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26270 = load i32, ptr %26269, align 4, !tbaa !5
  %26271 = call ptr @s2n_strerror(i32 noundef %26270, ptr noundef @.str.65)
  %26272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26273 = load i32, ptr %26272, align 4, !tbaa !5
  %26274 = call ptr @s2n_strerror_debug(i32 noundef %26273, ptr noundef @.str.65)
  %26275 = call ptr @__errno_location() #11
  %26276 = load i32, ptr %26275, align 4, !tbaa !5
  %26277 = call ptr @strerror(i32 noundef %26276) #10
  %26278 = call ptr @__errno_location() #11
  %26279 = load i32, ptr %26278, align 4, !tbaa !5
  %26280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26267, ptr noundef @.str.66, i32 noundef %26268, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1073, ptr noundef %26271, ptr noundef %26274, ptr noundef %26277, i32 noundef %26279) #10
  br label %26281

26281:                                            ; preds = %26264, %26247
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #10
  br label %26282

26282:                                            ; preds = %26281
  br label %26283

26283:                                            ; preds = %26282
  call void @exit(i32 noundef 1) #12
  unreachable

26284:                                            ; No predecessors!
  br label %26285

26285:                                            ; preds = %26284
  br label %26286

26286:                                            ; preds = %26285, %26226
  br label %26287

26287:                                            ; preds = %26286
  br label %26288

26288:                                            ; preds = %26287
  br label %26289

26289:                                            ; preds = %26288
  %26290 = load i32, ptr @test_count, align 4, !tbaa !5
  %26291 = add nsw i32 %26290, 1
  store i32 %26291, ptr @test_count, align 4, !tbaa !5
  %26292 = load ptr, ptr %517, align 8, !tbaa !9
  %26293 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %26292, i32 noundef 2)
  br i1 %26293, label %26294, label %26297

26294:                                            ; preds = %26289
  %26295 = load ptr, ptr %518, align 8, !tbaa !9
  %26296 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %26295, i32 noundef 2)
  br i1 %26296, label %26350, label %26297

26297:                                            ; preds = %26294, %26289
  br label %26298

26298:                                            ; preds = %26297
  br label %26299

26299:                                            ; preds = %26298
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #10
  %26300 = call ptr @__errno_location() #11
  %26301 = load i32, ptr %26300, align 4, !tbaa !5
  store i32 %26301, ptr %527, align 4, !tbaa !5
  %26302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26303 = call i32 @s2n_print_stacktrace(ptr noundef %26302)
  %26304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26305 = trunc i8 %26304 to i1
  br i1 %26305, label %26306, label %26328

26306:                                            ; preds = %26299
  %26307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26308 = call i32 @fileno(ptr noundef %26307) #10
  %26309 = call i32 @isatty(i32 noundef %26308) #10
  %26310 = icmp ne i32 %26309, 0
  br i1 %26310, label %26311, label %26328

26311:                                            ; preds = %26306
  %26312 = load i32, ptr %527, align 4, !tbaa !5
  %26313 = call ptr @__errno_location() #11
  store i32 %26312, ptr %26313, align 4, !tbaa !5
  %26314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26315 = load i32, ptr @test_count, align 4, !tbaa !5
  %26316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26317 = load i32, ptr %26316, align 4, !tbaa !5
  %26318 = call ptr @s2n_strerror(i32 noundef %26317, ptr noundef @.str.65)
  %26319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26320 = load i32, ptr %26319, align 4, !tbaa !5
  %26321 = call ptr @s2n_strerror_debug(i32 noundef %26320, ptr noundef @.str.65)
  %26322 = call ptr @__errno_location() #11
  %26323 = load i32, ptr %26322, align 4, !tbaa !5
  %26324 = call ptr @strerror(i32 noundef %26323) #10
  %26325 = call ptr @__errno_location() #11
  %26326 = load i32, ptr %26325, align 4, !tbaa !5
  %26327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26314, ptr noundef @.str.63, i32 noundef %26315, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 1074, ptr noundef %26318, ptr noundef %26321, ptr noundef %26324, i32 noundef %26326) #10
  br label %26345

26328:                                            ; preds = %26306, %26299
  %26329 = load i32, ptr %527, align 4, !tbaa !5
  %26330 = call ptr @__errno_location() #11
  store i32 %26329, ptr %26330, align 4, !tbaa !5
  %26331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26332 = load i32, ptr @test_count, align 4, !tbaa !5
  %26333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26334 = load i32, ptr %26333, align 4, !tbaa !5
  %26335 = call ptr @s2n_strerror(i32 noundef %26334, ptr noundef @.str.65)
  %26336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26337 = load i32, ptr %26336, align 4, !tbaa !5
  %26338 = call ptr @s2n_strerror_debug(i32 noundef %26337, ptr noundef @.str.65)
  %26339 = call ptr @__errno_location() #11
  %26340 = load i32, ptr %26339, align 4, !tbaa !5
  %26341 = call ptr @strerror(i32 noundef %26340) #10
  %26342 = call ptr @__errno_location() #11
  %26343 = load i32, ptr %26342, align 4, !tbaa !5
  %26344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26331, ptr noundef @.str.66, i32 noundef %26332, ptr noundef @.str.116, ptr noundef @.str.62, i32 noundef 1074, ptr noundef %26335, ptr noundef %26338, ptr noundef %26341, i32 noundef %26343) #10
  br label %26345

26345:                                            ; preds = %26328, %26311
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #10
  br label %26346

26346:                                            ; preds = %26345
  br label %26347

26347:                                            ; preds = %26346
  call void @exit(i32 noundef 1) #12
  unreachable

26348:                                            ; No predecessors!
  br label %26349

26349:                                            ; preds = %26348
  br label %26350

26350:                                            ; preds = %26349, %26294
  br label %26351

26351:                                            ; preds = %26350
  br label %26352

26352:                                            ; preds = %26351
  br label %26353

26353:                                            ; preds = %26352
  %26354 = load i32, ptr @test_count, align 4, !tbaa !5
  %26355 = add nsw i32 %26354, 1
  store i32 %26355, ptr @test_count, align 4, !tbaa !5
  %26356 = load ptr, ptr %517, align 8, !tbaa !9
  %26357 = getelementptr inbounds %struct.s2n_connection, ptr %26356, i32 0, i32 23
  %26358 = load i8, ptr %26357, align 4, !tbaa !66
  %26359 = zext i8 %26358 to i32
  %26360 = icmp eq i32 %26359, 33
  br i1 %26360, label %26414, label %26361

26361:                                            ; preds = %26353
  br label %26362

26362:                                            ; preds = %26361
  br label %26363

26363:                                            ; preds = %26362
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #10
  %26364 = call ptr @__errno_location() #11
  %26365 = load i32, ptr %26364, align 4, !tbaa !5
  store i32 %26365, ptr %528, align 4, !tbaa !5
  %26366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26367 = call i32 @s2n_print_stacktrace(ptr noundef %26366)
  %26368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26369 = trunc i8 %26368 to i1
  br i1 %26369, label %26370, label %26392

26370:                                            ; preds = %26363
  %26371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26372 = call i32 @fileno(ptr noundef %26371) #10
  %26373 = call i32 @isatty(i32 noundef %26372) #10
  %26374 = icmp ne i32 %26373, 0
  br i1 %26374, label %26375, label %26392

26375:                                            ; preds = %26370
  %26376 = load i32, ptr %528, align 4, !tbaa !5
  %26377 = call ptr @__errno_location() #11
  store i32 %26376, ptr %26377, align 4, !tbaa !5
  %26378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26379 = load i32, ptr @test_count, align 4, !tbaa !5
  %26380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26381 = load i32, ptr %26380, align 4, !tbaa !5
  %26382 = call ptr @s2n_strerror(i32 noundef %26381, ptr noundef @.str.65)
  %26383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26384 = load i32, ptr %26383, align 4, !tbaa !5
  %26385 = call ptr @s2n_strerror_debug(i32 noundef %26384, ptr noundef @.str.65)
  %26386 = call ptr @__errno_location() #11
  %26387 = load i32, ptr %26386, align 4, !tbaa !5
  %26388 = call ptr @strerror(i32 noundef %26387) #10
  %26389 = call ptr @__errno_location() #11
  %26390 = load i32, ptr %26389, align 4, !tbaa !5
  %26391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26378, ptr noundef @.str.63, i32 noundef %26379, ptr noundef @.str.143, ptr noundef @.str.62, i32 noundef 1077, ptr noundef %26382, ptr noundef %26385, ptr noundef %26388, i32 noundef %26390) #10
  br label %26409

26392:                                            ; preds = %26370, %26363
  %26393 = load i32, ptr %528, align 4, !tbaa !5
  %26394 = call ptr @__errno_location() #11
  store i32 %26393, ptr %26394, align 4, !tbaa !5
  %26395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26396 = load i32, ptr @test_count, align 4, !tbaa !5
  %26397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26398 = load i32, ptr %26397, align 4, !tbaa !5
  %26399 = call ptr @s2n_strerror(i32 noundef %26398, ptr noundef @.str.65)
  %26400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26401 = load i32, ptr %26400, align 4, !tbaa !5
  %26402 = call ptr @s2n_strerror_debug(i32 noundef %26401, ptr noundef @.str.65)
  %26403 = call ptr @__errno_location() #11
  %26404 = load i32, ptr %26403, align 4, !tbaa !5
  %26405 = call ptr @strerror(i32 noundef %26404) #10
  %26406 = call ptr @__errno_location() #11
  %26407 = load i32, ptr %26406, align 4, !tbaa !5
  %26408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26395, ptr noundef @.str.66, i32 noundef %26396, ptr noundef @.str.143, ptr noundef @.str.62, i32 noundef 1077, ptr noundef %26399, ptr noundef %26402, ptr noundef %26405, i32 noundef %26407) #10
  br label %26409

26409:                                            ; preds = %26392, %26375
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #10
  br label %26410

26410:                                            ; preds = %26409
  br label %26411

26411:                                            ; preds = %26410
  call void @exit(i32 noundef 1) #12
  unreachable

26412:                                            ; No predecessors!
  br label %26413

26413:                                            ; preds = %26412
  br label %26414

26414:                                            ; preds = %26413, %26353
  br label %26415

26415:                                            ; preds = %26414
  br label %26416

26416:                                            ; preds = %26415
  br label %26417

26417:                                            ; preds = %26416
  %26418 = load i32, ptr @test_count, align 4, !tbaa !5
  %26419 = add nsw i32 %26418, 1
  store i32 %26419, ptr @test_count, align 4, !tbaa !5
  %26420 = load ptr, ptr %518, align 8, !tbaa !9
  %26421 = getelementptr inbounds %struct.s2n_connection, ptr %26420, i32 0, i32 23
  %26422 = load i8, ptr %26421, align 4, !tbaa !66
  %26423 = zext i8 %26422 to i32
  %26424 = icmp eq i32 %26423, 33
  br i1 %26424, label %26478, label %26425

26425:                                            ; preds = %26417
  br label %26426

26426:                                            ; preds = %26425
  br label %26427

26427:                                            ; preds = %26426
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #10
  %26428 = call ptr @__errno_location() #11
  %26429 = load i32, ptr %26428, align 4, !tbaa !5
  store i32 %26429, ptr %529, align 4, !tbaa !5
  %26430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26431 = call i32 @s2n_print_stacktrace(ptr noundef %26430)
  %26432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26433 = trunc i8 %26432 to i1
  br i1 %26433, label %26434, label %26456

26434:                                            ; preds = %26427
  %26435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26436 = call i32 @fileno(ptr noundef %26435) #10
  %26437 = call i32 @isatty(i32 noundef %26436) #10
  %26438 = icmp ne i32 %26437, 0
  br i1 %26438, label %26439, label %26456

26439:                                            ; preds = %26434
  %26440 = load i32, ptr %529, align 4, !tbaa !5
  %26441 = call ptr @__errno_location() #11
  store i32 %26440, ptr %26441, align 4, !tbaa !5
  %26442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26443 = load i32, ptr @test_count, align 4, !tbaa !5
  %26444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26445 = load i32, ptr %26444, align 4, !tbaa !5
  %26446 = call ptr @s2n_strerror(i32 noundef %26445, ptr noundef @.str.65)
  %26447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26448 = load i32, ptr %26447, align 4, !tbaa !5
  %26449 = call ptr @s2n_strerror_debug(i32 noundef %26448, ptr noundef @.str.65)
  %26450 = call ptr @__errno_location() #11
  %26451 = load i32, ptr %26450, align 4, !tbaa !5
  %26452 = call ptr @strerror(i32 noundef %26451) #10
  %26453 = call ptr @__errno_location() #11
  %26454 = load i32, ptr %26453, align 4, !tbaa !5
  %26455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26442, ptr noundef @.str.63, i32 noundef %26443, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 1078, ptr noundef %26446, ptr noundef %26449, ptr noundef %26452, i32 noundef %26454) #10
  br label %26473

26456:                                            ; preds = %26434, %26427
  %26457 = load i32, ptr %529, align 4, !tbaa !5
  %26458 = call ptr @__errno_location() #11
  store i32 %26457, ptr %26458, align 4, !tbaa !5
  %26459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26460 = load i32, ptr @test_count, align 4, !tbaa !5
  %26461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26462 = load i32, ptr %26461, align 4, !tbaa !5
  %26463 = call ptr @s2n_strerror(i32 noundef %26462, ptr noundef @.str.65)
  %26464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26465 = load i32, ptr %26464, align 4, !tbaa !5
  %26466 = call ptr @s2n_strerror_debug(i32 noundef %26465, ptr noundef @.str.65)
  %26467 = call ptr @__errno_location() #11
  %26468 = load i32, ptr %26467, align 4, !tbaa !5
  %26469 = call ptr @strerror(i32 noundef %26468) #10
  %26470 = call ptr @__errno_location() #11
  %26471 = load i32, ptr %26470, align 4, !tbaa !5
  %26472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26459, ptr noundef @.str.66, i32 noundef %26460, ptr noundef @.str.144, ptr noundef @.str.62, i32 noundef 1078, ptr noundef %26463, ptr noundef %26466, ptr noundef %26469, i32 noundef %26471) #10
  br label %26473

26473:                                            ; preds = %26456, %26439
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #10
  br label %26474

26474:                                            ; preds = %26473
  br label %26475

26475:                                            ; preds = %26474
  call void @exit(i32 noundef 1) #12
  unreachable

26476:                                            ; No predecessors!
  br label %26477

26477:                                            ; preds = %26476
  br label %26478

26478:                                            ; preds = %26477, %26417
  br label %26479

26479:                                            ; preds = %26478
  br label %26480

26480:                                            ; preds = %26479
  call void @llvm.lifetime.start.p0(i64 8, ptr %530) #10
  %26481 = load ptr, ptr %517, align 8, !tbaa !9
  %26482 = call i32 @s2n_connection_get_session_length(ptr noundef %26481)
  %26483 = sext i32 %26482 to i64
  store i64 %26483, ptr %530, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 202, ptr %531) #10
  call void @llvm.memset.p0.i64(ptr align 16 %531, i8 0, i64 202, i1 false)
  br label %26484

26484:                                            ; preds = %26480
  %26485 = load i32, ptr @test_count, align 4, !tbaa !5
  %26486 = add nsw i32 %26485, 1
  store i32 %26486, ptr @test_count, align 4, !tbaa !5
  %26487 = load ptr, ptr %517, align 8, !tbaa !9
  %26488 = getelementptr inbounds [202 x i8], ptr %531, i64 0, i64 0
  %26489 = load i64, ptr %530, align 8, !tbaa !15
  %26490 = call i32 @s2n_connection_get_session(ptr noundef %26487, ptr noundef %26488, i64 noundef %26489)
  %26491 = icmp eq i32 %26490, -1
  br i1 %26491, label %26492, label %26545

26492:                                            ; preds = %26484
  br label %26493

26493:                                            ; preds = %26492
  br label %26494

26494:                                            ; preds = %26493
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #10
  %26495 = call ptr @__errno_location() #11
  %26496 = load i32, ptr %26495, align 4, !tbaa !5
  store i32 %26496, ptr %532, align 4, !tbaa !5
  %26497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26498 = call i32 @s2n_print_stacktrace(ptr noundef %26497)
  %26499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26500 = trunc i8 %26499 to i1
  br i1 %26500, label %26501, label %26523

26501:                                            ; preds = %26494
  %26502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26503 = call i32 @fileno(ptr noundef %26502) #10
  %26504 = call i32 @isatty(i32 noundef %26503) #10
  %26505 = icmp ne i32 %26504, 0
  br i1 %26505, label %26506, label %26523

26506:                                            ; preds = %26501
  %26507 = load i32, ptr %532, align 4, !tbaa !5
  %26508 = call ptr @__errno_location() #11
  store i32 %26507, ptr %26508, align 4, !tbaa !5
  %26509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26510 = load i32, ptr @test_count, align 4, !tbaa !5
  %26511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26512 = load i32, ptr %26511, align 4, !tbaa !5
  %26513 = call ptr @s2n_strerror(i32 noundef %26512, ptr noundef @.str.65)
  %26514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26515 = load i32, ptr %26514, align 4, !tbaa !5
  %26516 = call ptr @s2n_strerror_debug(i32 noundef %26515, ptr noundef @.str.65)
  %26517 = call ptr @__errno_location() #11
  %26518 = load i32, ptr %26517, align 4, !tbaa !5
  %26519 = call ptr @strerror(i32 noundef %26518) #10
  %26520 = call ptr @__errno_location() #11
  %26521 = load i32, ptr %26520, align 4, !tbaa !5
  %26522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26509, ptr noundef @.str.63, i32 noundef %26510, ptr noundef @.str.206, ptr noundef @.str.62, i32 noundef 1083, ptr noundef %26513, ptr noundef %26516, ptr noundef %26519, i32 noundef %26521) #10
  br label %26540

26523:                                            ; preds = %26501, %26494
  %26524 = load i32, ptr %532, align 4, !tbaa !5
  %26525 = call ptr @__errno_location() #11
  store i32 %26524, ptr %26525, align 4, !tbaa !5
  %26526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26527 = load i32, ptr @test_count, align 4, !tbaa !5
  %26528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26529 = load i32, ptr %26528, align 4, !tbaa !5
  %26530 = call ptr @s2n_strerror(i32 noundef %26529, ptr noundef @.str.65)
  %26531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26532 = load i32, ptr %26531, align 4, !tbaa !5
  %26533 = call ptr @s2n_strerror_debug(i32 noundef %26532, ptr noundef @.str.65)
  %26534 = call ptr @__errno_location() #11
  %26535 = load i32, ptr %26534, align 4, !tbaa !5
  %26536 = call ptr @strerror(i32 noundef %26535) #10
  %26537 = call ptr @__errno_location() #11
  %26538 = load i32, ptr %26537, align 4, !tbaa !5
  %26539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26526, ptr noundef @.str.66, i32 noundef %26527, ptr noundef @.str.206, ptr noundef @.str.62, i32 noundef 1083, ptr noundef %26530, ptr noundef %26533, ptr noundef %26536, i32 noundef %26538) #10
  br label %26540

26540:                                            ; preds = %26523, %26506
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #10
  br label %26541

26541:                                            ; preds = %26540
  br label %26542

26542:                                            ; preds = %26541
  call void @exit(i32 noundef 1) #12
  unreachable

26543:                                            ; No predecessors!
  br label %26544

26544:                                            ; preds = %26543
  br label %26545

26545:                                            ; preds = %26544, %26484
  br label %26546

26546:                                            ; preds = %26545
  br label %26547

26547:                                            ; preds = %26546
  call void @llvm.lifetime.start.p0(i64 8, ptr %533) #10
  store i64 0, ptr %533, align 8, !tbaa !15
  br label %26548

26548:                                            ; preds = %27121, %26547
  %26549 = load i64, ptr %533, align 8, !tbaa !15
  %26550 = icmp ult i64 %26549, 10
  br i1 %26550, label %26552, label %26551

26551:                                            ; preds = %26548
  store i32 2488, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %533) #10
  br label %27124

26552:                                            ; preds = %26548
  br label %26553

26553:                                            ; preds = %26552
  %26554 = load i32, ptr @test_count, align 4, !tbaa !5
  %26555 = add nsw i32 %26554, 1
  store i32 %26555, ptr @test_count, align 4, !tbaa !5
  %26556 = load ptr, ptr %518, align 8, !tbaa !9
  %26557 = load ptr, ptr %517, align 8, !tbaa !9
  %26558 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %26556, ptr noundef %26557)
  %26559 = icmp eq i32 %26558, -1
  br i1 %26559, label %26560, label %26613

26560:                                            ; preds = %26553
  br label %26561

26561:                                            ; preds = %26560
  br label %26562

26562:                                            ; preds = %26561
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #10
  %26563 = call ptr @__errno_location() #11
  %26564 = load i32, ptr %26563, align 4, !tbaa !5
  store i32 %26564, ptr %534, align 4, !tbaa !5
  %26565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26566 = call i32 @s2n_print_stacktrace(ptr noundef %26565)
  %26567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26568 = trunc i8 %26567 to i1
  br i1 %26568, label %26569, label %26591

26569:                                            ; preds = %26562
  %26570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26571 = call i32 @fileno(ptr noundef %26570) #10
  %26572 = call i32 @isatty(i32 noundef %26571) #10
  %26573 = icmp ne i32 %26572, 0
  br i1 %26573, label %26574, label %26591

26574:                                            ; preds = %26569
  %26575 = load i32, ptr %534, align 4, !tbaa !5
  %26576 = call ptr @__errno_location() #11
  store i32 %26575, ptr %26576, align 4, !tbaa !5
  %26577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26578 = load i32, ptr @test_count, align 4, !tbaa !5
  %26579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26580 = load i32, ptr %26579, align 4, !tbaa !5
  %26581 = call ptr @s2n_strerror(i32 noundef %26580, ptr noundef @.str.65)
  %26582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26583 = load i32, ptr %26582, align 4, !tbaa !5
  %26584 = call ptr @s2n_strerror_debug(i32 noundef %26583, ptr noundef @.str.65)
  %26585 = call ptr @__errno_location() #11
  %26586 = load i32, ptr %26585, align 4, !tbaa !5
  %26587 = call ptr @strerror(i32 noundef %26586) #10
  %26588 = call ptr @__errno_location() #11
  %26589 = load i32, ptr %26588, align 4, !tbaa !5
  %26590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26577, ptr noundef @.str.63, i32 noundef %26578, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 1087, ptr noundef %26581, ptr noundef %26584, ptr noundef %26587, i32 noundef %26589) #10
  br label %26608

26591:                                            ; preds = %26569, %26562
  %26592 = load i32, ptr %534, align 4, !tbaa !5
  %26593 = call ptr @__errno_location() #11
  store i32 %26592, ptr %26593, align 4, !tbaa !5
  %26594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26595 = load i32, ptr @test_count, align 4, !tbaa !5
  %26596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26597 = load i32, ptr %26596, align 4, !tbaa !5
  %26598 = call ptr @s2n_strerror(i32 noundef %26597, ptr noundef @.str.65)
  %26599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26600 = load i32, ptr %26599, align 4, !tbaa !5
  %26601 = call ptr @s2n_strerror_debug(i32 noundef %26600, ptr noundef @.str.65)
  %26602 = call ptr @__errno_location() #11
  %26603 = load i32, ptr %26602, align 4, !tbaa !5
  %26604 = call ptr @strerror(i32 noundef %26603) #10
  %26605 = call ptr @__errno_location() #11
  %26606 = load i32, ptr %26605, align 4, !tbaa !5
  %26607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26594, ptr noundef @.str.66, i32 noundef %26595, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 1087, ptr noundef %26598, ptr noundef %26601, ptr noundef %26604, i32 noundef %26606) #10
  br label %26608

26608:                                            ; preds = %26591, %26574
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #10
  br label %26609

26609:                                            ; preds = %26608
  br label %26610

26610:                                            ; preds = %26609
  call void @exit(i32 noundef 1) #12
  unreachable

26611:                                            ; No predecessors!
  br label %26612

26612:                                            ; preds = %26611
  br label %26613

26613:                                            ; preds = %26612, %26553
  br label %26614

26614:                                            ; preds = %26613
  br label %26615

26615:                                            ; preds = %26614
  br label %26616

26616:                                            ; preds = %26615
  %26617 = load i32, ptr @test_count, align 4, !tbaa !5
  %26618 = add nsw i32 %26617, 1
  store i32 %26618, ptr @test_count, align 4, !tbaa !5
  %26619 = load ptr, ptr %517, align 8, !tbaa !9
  %26620 = call i32 @s2n_connection_wipe(ptr noundef %26619)
  %26621 = icmp eq i32 %26620, -1
  br i1 %26621, label %26622, label %26675

26622:                                            ; preds = %26616
  br label %26623

26623:                                            ; preds = %26622
  br label %26624

26624:                                            ; preds = %26623
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #10
  %26625 = call ptr @__errno_location() #11
  %26626 = load i32, ptr %26625, align 4, !tbaa !5
  store i32 %26626, ptr %535, align 4, !tbaa !5
  %26627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26628 = call i32 @s2n_print_stacktrace(ptr noundef %26627)
  %26629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26630 = trunc i8 %26629 to i1
  br i1 %26630, label %26631, label %26653

26631:                                            ; preds = %26624
  %26632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26633 = call i32 @fileno(ptr noundef %26632) #10
  %26634 = call i32 @isatty(i32 noundef %26633) #10
  %26635 = icmp ne i32 %26634, 0
  br i1 %26635, label %26636, label %26653

26636:                                            ; preds = %26631
  %26637 = load i32, ptr %535, align 4, !tbaa !5
  %26638 = call ptr @__errno_location() #11
  store i32 %26637, ptr %26638, align 4, !tbaa !5
  %26639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26640 = load i32, ptr @test_count, align 4, !tbaa !5
  %26641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26642 = load i32, ptr %26641, align 4, !tbaa !5
  %26643 = call ptr @s2n_strerror(i32 noundef %26642, ptr noundef @.str.65)
  %26644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26645 = load i32, ptr %26644, align 4, !tbaa !5
  %26646 = call ptr @s2n_strerror_debug(i32 noundef %26645, ptr noundef @.str.65)
  %26647 = call ptr @__errno_location() #11
  %26648 = load i32, ptr %26647, align 4, !tbaa !5
  %26649 = call ptr @strerror(i32 noundef %26648) #10
  %26650 = call ptr @__errno_location() #11
  %26651 = load i32, ptr %26650, align 4, !tbaa !5
  %26652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26639, ptr noundef @.str.63, i32 noundef %26640, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 1088, ptr noundef %26643, ptr noundef %26646, ptr noundef %26649, i32 noundef %26651) #10
  br label %26670

26653:                                            ; preds = %26631, %26624
  %26654 = load i32, ptr %535, align 4, !tbaa !5
  %26655 = call ptr @__errno_location() #11
  store i32 %26654, ptr %26655, align 4, !tbaa !5
  %26656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26657 = load i32, ptr @test_count, align 4, !tbaa !5
  %26658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26659 = load i32, ptr %26658, align 4, !tbaa !5
  %26660 = call ptr @s2n_strerror(i32 noundef %26659, ptr noundef @.str.65)
  %26661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26662 = load i32, ptr %26661, align 4, !tbaa !5
  %26663 = call ptr @s2n_strerror_debug(i32 noundef %26662, ptr noundef @.str.65)
  %26664 = call ptr @__errno_location() #11
  %26665 = load i32, ptr %26664, align 4, !tbaa !5
  %26666 = call ptr @strerror(i32 noundef %26665) #10
  %26667 = call ptr @__errno_location() #11
  %26668 = load i32, ptr %26667, align 4, !tbaa !5
  %26669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26656, ptr noundef @.str.66, i32 noundef %26657, ptr noundef @.str.119, ptr noundef @.str.62, i32 noundef 1088, ptr noundef %26660, ptr noundef %26663, ptr noundef %26666, i32 noundef %26668) #10
  br label %26670

26670:                                            ; preds = %26653, %26636
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #10
  br label %26671

26671:                                            ; preds = %26670
  br label %26672

26672:                                            ; preds = %26671
  call void @exit(i32 noundef 1) #12
  unreachable

26673:                                            ; No predecessors!
  br label %26674

26674:                                            ; preds = %26673
  br label %26675

26675:                                            ; preds = %26674, %26616
  br label %26676

26676:                                            ; preds = %26675
  br label %26677

26677:                                            ; preds = %26676
  br label %26678

26678:                                            ; preds = %26677
  %26679 = load i32, ptr @test_count, align 4, !tbaa !5
  %26680 = add nsw i32 %26679, 1
  store i32 %26680, ptr @test_count, align 4, !tbaa !5
  %26681 = load ptr, ptr %518, align 8, !tbaa !9
  %26682 = call i32 @s2n_connection_wipe(ptr noundef %26681)
  %26683 = icmp eq i32 %26682, -1
  br i1 %26683, label %26684, label %26737

26684:                                            ; preds = %26678
  br label %26685

26685:                                            ; preds = %26684
  br label %26686

26686:                                            ; preds = %26685
  call void @llvm.lifetime.start.p0(i64 4, ptr %536) #10
  %26687 = call ptr @__errno_location() #11
  %26688 = load i32, ptr %26687, align 4, !tbaa !5
  store i32 %26688, ptr %536, align 4, !tbaa !5
  %26689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26690 = call i32 @s2n_print_stacktrace(ptr noundef %26689)
  %26691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26692 = trunc i8 %26691 to i1
  br i1 %26692, label %26693, label %26715

26693:                                            ; preds = %26686
  %26694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26695 = call i32 @fileno(ptr noundef %26694) #10
  %26696 = call i32 @isatty(i32 noundef %26695) #10
  %26697 = icmp ne i32 %26696, 0
  br i1 %26697, label %26698, label %26715

26698:                                            ; preds = %26693
  %26699 = load i32, ptr %536, align 4, !tbaa !5
  %26700 = call ptr @__errno_location() #11
  store i32 %26699, ptr %26700, align 4, !tbaa !5
  %26701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26702 = load i32, ptr @test_count, align 4, !tbaa !5
  %26703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26704 = load i32, ptr %26703, align 4, !tbaa !5
  %26705 = call ptr @s2n_strerror(i32 noundef %26704, ptr noundef @.str.65)
  %26706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26707 = load i32, ptr %26706, align 4, !tbaa !5
  %26708 = call ptr @s2n_strerror_debug(i32 noundef %26707, ptr noundef @.str.65)
  %26709 = call ptr @__errno_location() #11
  %26710 = load i32, ptr %26709, align 4, !tbaa !5
  %26711 = call ptr @strerror(i32 noundef %26710) #10
  %26712 = call ptr @__errno_location() #11
  %26713 = load i32, ptr %26712, align 4, !tbaa !5
  %26714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26701, ptr noundef @.str.63, i32 noundef %26702, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 1089, ptr noundef %26705, ptr noundef %26708, ptr noundef %26711, i32 noundef %26713) #10
  br label %26732

26715:                                            ; preds = %26693, %26686
  %26716 = load i32, ptr %536, align 4, !tbaa !5
  %26717 = call ptr @__errno_location() #11
  store i32 %26716, ptr %26717, align 4, !tbaa !5
  %26718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26719 = load i32, ptr @test_count, align 4, !tbaa !5
  %26720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26721 = load i32, ptr %26720, align 4, !tbaa !5
  %26722 = call ptr @s2n_strerror(i32 noundef %26721, ptr noundef @.str.65)
  %26723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26724 = load i32, ptr %26723, align 4, !tbaa !5
  %26725 = call ptr @s2n_strerror_debug(i32 noundef %26724, ptr noundef @.str.65)
  %26726 = call ptr @__errno_location() #11
  %26727 = load i32, ptr %26726, align 4, !tbaa !5
  %26728 = call ptr @strerror(i32 noundef %26727) #10
  %26729 = call ptr @__errno_location() #11
  %26730 = load i32, ptr %26729, align 4, !tbaa !5
  %26731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26718, ptr noundef @.str.66, i32 noundef %26719, ptr noundef @.str.120, ptr noundef @.str.62, i32 noundef 1089, ptr noundef %26722, ptr noundef %26725, ptr noundef %26728, i32 noundef %26730) #10
  br label %26732

26732:                                            ; preds = %26715, %26698
  call void @llvm.lifetime.end.p0(i64 4, ptr %536) #10
  br label %26733

26733:                                            ; preds = %26732
  br label %26734

26734:                                            ; preds = %26733
  call void @exit(i32 noundef 1) #12
  unreachable

26735:                                            ; No predecessors!
  br label %26736

26736:                                            ; preds = %26735
  br label %26737

26737:                                            ; preds = %26736, %26678
  br label %26738

26738:                                            ; preds = %26737
  br label %26739

26739:                                            ; preds = %26738
  br label %26740

26740:                                            ; preds = %26739
  %26741 = load i32, ptr @test_count, align 4, !tbaa !5
  %26742 = add nsw i32 %26741, 1
  store i32 %26742, ptr @test_count, align 4, !tbaa !5
  %26743 = load ptr, ptr %517, align 8, !tbaa !9
  %26744 = load ptr, ptr %518, align 8, !tbaa !9
  %26745 = call i32 @s2n_connections_set_io_pair(ptr noundef %26743, ptr noundef %26744, ptr noundef %523)
  %26746 = icmp eq i32 %26745, -1
  br i1 %26746, label %26747, label %26800

26747:                                            ; preds = %26740
  br label %26748

26748:                                            ; preds = %26747
  br label %26749

26749:                                            ; preds = %26748
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #10
  %26750 = call ptr @__errno_location() #11
  %26751 = load i32, ptr %26750, align 4, !tbaa !5
  store i32 %26751, ptr %537, align 4, !tbaa !5
  %26752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26753 = call i32 @s2n_print_stacktrace(ptr noundef %26752)
  %26754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26755 = trunc i8 %26754 to i1
  br i1 %26755, label %26756, label %26778

26756:                                            ; preds = %26749
  %26757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26758 = call i32 @fileno(ptr noundef %26757) #10
  %26759 = call i32 @isatty(i32 noundef %26758) #10
  %26760 = icmp ne i32 %26759, 0
  br i1 %26760, label %26761, label %26778

26761:                                            ; preds = %26756
  %26762 = load i32, ptr %537, align 4, !tbaa !5
  %26763 = call ptr @__errno_location() #11
  store i32 %26762, ptr %26763, align 4, !tbaa !5
  %26764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26765 = load i32, ptr @test_count, align 4, !tbaa !5
  %26766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26767 = load i32, ptr %26766, align 4, !tbaa !5
  %26768 = call ptr @s2n_strerror(i32 noundef %26767, ptr noundef @.str.65)
  %26769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26770 = load i32, ptr %26769, align 4, !tbaa !5
  %26771 = call ptr @s2n_strerror_debug(i32 noundef %26770, ptr noundef @.str.65)
  %26772 = call ptr @__errno_location() #11
  %26773 = load i32, ptr %26772, align 4, !tbaa !5
  %26774 = call ptr @strerror(i32 noundef %26773) #10
  %26775 = call ptr @__errno_location() #11
  %26776 = load i32, ptr %26775, align 4, !tbaa !5
  %26777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26764, ptr noundef @.str.63, i32 noundef %26765, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 1090, ptr noundef %26768, ptr noundef %26771, ptr noundef %26774, i32 noundef %26776) #10
  br label %26795

26778:                                            ; preds = %26756, %26749
  %26779 = load i32, ptr %537, align 4, !tbaa !5
  %26780 = call ptr @__errno_location() #11
  store i32 %26779, ptr %26780, align 4, !tbaa !5
  %26781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26782 = load i32, ptr @test_count, align 4, !tbaa !5
  %26783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26784 = load i32, ptr %26783, align 4, !tbaa !5
  %26785 = call ptr @s2n_strerror(i32 noundef %26784, ptr noundef @.str.65)
  %26786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26787 = load i32, ptr %26786, align 4, !tbaa !5
  %26788 = call ptr @s2n_strerror_debug(i32 noundef %26787, ptr noundef @.str.65)
  %26789 = call ptr @__errno_location() #11
  %26790 = load i32, ptr %26789, align 4, !tbaa !5
  %26791 = call ptr @strerror(i32 noundef %26790) #10
  %26792 = call ptr @__errno_location() #11
  %26793 = load i32, ptr %26792, align 4, !tbaa !5
  %26794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26781, ptr noundef @.str.66, i32 noundef %26782, ptr noundef @.str.114, ptr noundef @.str.62, i32 noundef 1090, ptr noundef %26785, ptr noundef %26788, ptr noundef %26791, i32 noundef %26793) #10
  br label %26795

26795:                                            ; preds = %26778, %26761
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #10
  br label %26796

26796:                                            ; preds = %26795
  br label %26797

26797:                                            ; preds = %26796
  call void @exit(i32 noundef 1) #12
  unreachable

26798:                                            ; No predecessors!
  br label %26799

26799:                                            ; preds = %26798
  br label %26800

26800:                                            ; preds = %26799, %26740
  br label %26801

26801:                                            ; preds = %26800
  br label %26802

26802:                                            ; preds = %26801
  br label %26803

26803:                                            ; preds = %26802
  %26804 = load i32, ptr @test_count, align 4, !tbaa !5
  %26805 = add nsw i32 %26804, 1
  store i32 %26805, ptr @test_count, align 4, !tbaa !5
  %26806 = load ptr, ptr %517, align 8, !tbaa !9
  %26807 = getelementptr inbounds [202 x i8], ptr %531, i64 0, i64 0
  %26808 = load i64, ptr %530, align 8, !tbaa !15
  %26809 = call i32 @s2n_connection_set_session(ptr noundef %26806, ptr noundef %26807, i64 noundef %26808)
  %26810 = icmp eq i32 %26809, -1
  br i1 %26810, label %26811, label %26864

26811:                                            ; preds = %26803
  br label %26812

26812:                                            ; preds = %26811
  br label %26813

26813:                                            ; preds = %26812
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #10
  %26814 = call ptr @__errno_location() #11
  %26815 = load i32, ptr %26814, align 4, !tbaa !5
  store i32 %26815, ptr %538, align 4, !tbaa !5
  %26816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26817 = call i32 @s2n_print_stacktrace(ptr noundef %26816)
  %26818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26819 = trunc i8 %26818 to i1
  br i1 %26819, label %26820, label %26842

26820:                                            ; preds = %26813
  %26821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26822 = call i32 @fileno(ptr noundef %26821) #10
  %26823 = call i32 @isatty(i32 noundef %26822) #10
  %26824 = icmp ne i32 %26823, 0
  br i1 %26824, label %26825, label %26842

26825:                                            ; preds = %26820
  %26826 = load i32, ptr %538, align 4, !tbaa !5
  %26827 = call ptr @__errno_location() #11
  store i32 %26826, ptr %26827, align 4, !tbaa !5
  %26828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26829 = load i32, ptr @test_count, align 4, !tbaa !5
  %26830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26831 = load i32, ptr %26830, align 4, !tbaa !5
  %26832 = call ptr @s2n_strerror(i32 noundef %26831, ptr noundef @.str.65)
  %26833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26834 = load i32, ptr %26833, align 4, !tbaa !5
  %26835 = call ptr @s2n_strerror_debug(i32 noundef %26834, ptr noundef @.str.65)
  %26836 = call ptr @__errno_location() #11
  %26837 = load i32, ptr %26836, align 4, !tbaa !5
  %26838 = call ptr @strerror(i32 noundef %26837) #10
  %26839 = call ptr @__errno_location() #11
  %26840 = load i32, ptr %26839, align 4, !tbaa !5
  %26841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26828, ptr noundef @.str.63, i32 noundef %26829, ptr noundef @.str.207, ptr noundef @.str.62, i32 noundef 1093, ptr noundef %26832, ptr noundef %26835, ptr noundef %26838, i32 noundef %26840) #10
  br label %26859

26842:                                            ; preds = %26820, %26813
  %26843 = load i32, ptr %538, align 4, !tbaa !5
  %26844 = call ptr @__errno_location() #11
  store i32 %26843, ptr %26844, align 4, !tbaa !5
  %26845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26846 = load i32, ptr @test_count, align 4, !tbaa !5
  %26847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26848 = load i32, ptr %26847, align 4, !tbaa !5
  %26849 = call ptr @s2n_strerror(i32 noundef %26848, ptr noundef @.str.65)
  %26850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26851 = load i32, ptr %26850, align 4, !tbaa !5
  %26852 = call ptr @s2n_strerror_debug(i32 noundef %26851, ptr noundef @.str.65)
  %26853 = call ptr @__errno_location() #11
  %26854 = load i32, ptr %26853, align 4, !tbaa !5
  %26855 = call ptr @strerror(i32 noundef %26854) #10
  %26856 = call ptr @__errno_location() #11
  %26857 = load i32, ptr %26856, align 4, !tbaa !5
  %26858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26845, ptr noundef @.str.66, i32 noundef %26846, ptr noundef @.str.207, ptr noundef @.str.62, i32 noundef 1093, ptr noundef %26849, ptr noundef %26852, ptr noundef %26855, i32 noundef %26857) #10
  br label %26859

26859:                                            ; preds = %26842, %26825
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #10
  br label %26860

26860:                                            ; preds = %26859
  br label %26861

26861:                                            ; preds = %26860
  call void @exit(i32 noundef 1) #12
  unreachable

26862:                                            ; No predecessors!
  br label %26863

26863:                                            ; preds = %26862
  br label %26864

26864:                                            ; preds = %26863, %26803
  br label %26865

26865:                                            ; preds = %26864
  br label %26866

26866:                                            ; preds = %26865
  br label %26867

26867:                                            ; preds = %26866
  %26868 = load i32, ptr @test_count, align 4, !tbaa !5
  %26869 = add nsw i32 %26868, 1
  store i32 %26869, ptr @test_count, align 4, !tbaa !5
  %26870 = load ptr, ptr %518, align 8, !tbaa !9
  %26871 = load ptr, ptr %517, align 8, !tbaa !9
  %26872 = call i32 @s2n_test_negotiate(ptr noundef %26870, ptr noundef %26871, ptr noundef %19)
  %26873 = getelementptr inbounds %struct.s2n_result, ptr %539, i32 0, i32 0
  store i32 %26872, ptr %26873, align 4
  %26874 = getelementptr inbounds %struct.s2n_result, ptr %539, i32 0, i32 0
  %26875 = load i32, ptr %26874, align 4
  %26876 = call zeroext i1 @s2n_result_is_ok(i32 %26875)
  br i1 %26876, label %26930, label %26877

26877:                                            ; preds = %26867
  br label %26878

26878:                                            ; preds = %26877
  br label %26879

26879:                                            ; preds = %26878
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #10
  %26880 = call ptr @__errno_location() #11
  %26881 = load i32, ptr %26880, align 4, !tbaa !5
  store i32 %26881, ptr %540, align 4, !tbaa !5
  %26882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26883 = call i32 @s2n_print_stacktrace(ptr noundef %26882)
  %26884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26885 = trunc i8 %26884 to i1
  br i1 %26885, label %26886, label %26908

26886:                                            ; preds = %26879
  %26887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26888 = call i32 @fileno(ptr noundef %26887) #10
  %26889 = call i32 @isatty(i32 noundef %26888) #10
  %26890 = icmp ne i32 %26889, 0
  br i1 %26890, label %26891, label %26908

26891:                                            ; preds = %26886
  %26892 = load i32, ptr %540, align 4, !tbaa !5
  %26893 = call ptr @__errno_location() #11
  store i32 %26892, ptr %26893, align 4, !tbaa !5
  %26894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26895 = load i32, ptr @test_count, align 4, !tbaa !5
  %26896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26897 = load i32, ptr %26896, align 4, !tbaa !5
  %26898 = call ptr @s2n_strerror(i32 noundef %26897, ptr noundef @.str.65)
  %26899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26900 = load i32, ptr %26899, align 4, !tbaa !5
  %26901 = call ptr @s2n_strerror_debug(i32 noundef %26900, ptr noundef @.str.65)
  %26902 = call ptr @__errno_location() #11
  %26903 = load i32, ptr %26902, align 4, !tbaa !5
  %26904 = call ptr @strerror(i32 noundef %26903) #10
  %26905 = call ptr @__errno_location() #11
  %26906 = load i32, ptr %26905, align 4, !tbaa !5
  %26907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26894, ptr noundef @.str.63, i32 noundef %26895, ptr noundef @.str.162, ptr noundef @.str.62, i32 noundef 1096, ptr noundef %26898, ptr noundef %26901, ptr noundef %26904, i32 noundef %26906) #10
  br label %26925

26908:                                            ; preds = %26886, %26879
  %26909 = load i32, ptr %540, align 4, !tbaa !5
  %26910 = call ptr @__errno_location() #11
  store i32 %26909, ptr %26910, align 4, !tbaa !5
  %26911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26912 = load i32, ptr @test_count, align 4, !tbaa !5
  %26913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26914 = load i32, ptr %26913, align 4, !tbaa !5
  %26915 = call ptr @s2n_strerror(i32 noundef %26914, ptr noundef @.str.65)
  %26916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26917 = load i32, ptr %26916, align 4, !tbaa !5
  %26918 = call ptr @s2n_strerror_debug(i32 noundef %26917, ptr noundef @.str.65)
  %26919 = call ptr @__errno_location() #11
  %26920 = load i32, ptr %26919, align 4, !tbaa !5
  %26921 = call ptr @strerror(i32 noundef %26920) #10
  %26922 = call ptr @__errno_location() #11
  %26923 = load i32, ptr %26922, align 4, !tbaa !5
  %26924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26911, ptr noundef @.str.66, i32 noundef %26912, ptr noundef @.str.162, ptr noundef @.str.62, i32 noundef 1096, ptr noundef %26915, ptr noundef %26918, ptr noundef %26921, i32 noundef %26923) #10
  br label %26925

26925:                                            ; preds = %26908, %26891
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #10
  br label %26926

26926:                                            ; preds = %26925
  br label %26927

26927:                                            ; preds = %26926
  call void @exit(i32 noundef 1) #12
  unreachable

26928:                                            ; No predecessors!
  br label %26929

26929:                                            ; preds = %26928
  br label %26930

26930:                                            ; preds = %26929, %26867
  br label %26931

26931:                                            ; preds = %26930
  br label %26932

26932:                                            ; preds = %26931
  br label %26933

26933:                                            ; preds = %26932
  %26934 = load i32, ptr @test_count, align 4, !tbaa !5
  %26935 = add nsw i32 %26934, 1
  store i32 %26935, ptr @test_count, align 4, !tbaa !5
  %26936 = load ptr, ptr %517, align 8, !tbaa !9
  %26937 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %26936, i32 noundef 2)
  br i1 %26937, label %26938, label %26994

26938:                                            ; preds = %26933
  %26939 = load ptr, ptr %518, align 8, !tbaa !9
  %26940 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %26939, i32 noundef 2)
  br i1 %26940, label %26941, label %26994

26941:                                            ; preds = %26938
  br label %26942

26942:                                            ; preds = %26941
  br label %26943

26943:                                            ; preds = %26942
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #10
  %26944 = call ptr @__errno_location() #11
  %26945 = load i32, ptr %26944, align 4, !tbaa !5
  store i32 %26945, ptr %541, align 4, !tbaa !5
  %26946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26947 = call i32 @s2n_print_stacktrace(ptr noundef %26946)
  %26948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26949 = trunc i8 %26948 to i1
  br i1 %26949, label %26950, label %26972

26950:                                            ; preds = %26943
  %26951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26952 = call i32 @fileno(ptr noundef %26951) #10
  %26953 = call i32 @isatty(i32 noundef %26952) #10
  %26954 = icmp ne i32 %26953, 0
  br i1 %26954, label %26955, label %26972

26955:                                            ; preds = %26950
  %26956 = load i32, ptr %541, align 4, !tbaa !5
  %26957 = call ptr @__errno_location() #11
  store i32 %26956, ptr %26957, align 4, !tbaa !5
  %26958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26959 = load i32, ptr @test_count, align 4, !tbaa !5
  %26960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26961 = load i32, ptr %26960, align 4, !tbaa !5
  %26962 = call ptr @s2n_strerror(i32 noundef %26961, ptr noundef @.str.65)
  %26963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26964 = load i32, ptr %26963, align 4, !tbaa !5
  %26965 = call ptr @s2n_strerror_debug(i32 noundef %26964, ptr noundef @.str.65)
  %26966 = call ptr @__errno_location() #11
  %26967 = load i32, ptr %26966, align 4, !tbaa !5
  %26968 = call ptr @strerror(i32 noundef %26967) #10
  %26969 = call ptr @__errno_location() #11
  %26970 = load i32, ptr %26969, align 4, !tbaa !5
  %26971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26958, ptr noundef @.str.63, i32 noundef %26959, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 1097, ptr noundef %26962, ptr noundef %26965, ptr noundef %26968, i32 noundef %26970) #10
  br label %26989

26972:                                            ; preds = %26950, %26943
  %26973 = load i32, ptr %541, align 4, !tbaa !5
  %26974 = call ptr @__errno_location() #11
  store i32 %26973, ptr %26974, align 4, !tbaa !5
  %26975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26976 = load i32, ptr @test_count, align 4, !tbaa !5
  %26977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26978 = load i32, ptr %26977, align 4, !tbaa !5
  %26979 = call ptr @s2n_strerror(i32 noundef %26978, ptr noundef @.str.65)
  %26980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26981 = load i32, ptr %26980, align 4, !tbaa !5
  %26982 = call ptr @s2n_strerror_debug(i32 noundef %26981, ptr noundef @.str.65)
  %26983 = call ptr @__errno_location() #11
  %26984 = load i32, ptr %26983, align 4, !tbaa !5
  %26985 = call ptr @strerror(i32 noundef %26984) #10
  %26986 = call ptr @__errno_location() #11
  %26987 = load i32, ptr %26986, align 4, !tbaa !5
  %26988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26975, ptr noundef @.str.66, i32 noundef %26976, ptr noundef @.str.124, ptr noundef @.str.62, i32 noundef 1097, ptr noundef %26979, ptr noundef %26982, ptr noundef %26985, i32 noundef %26987) #10
  br label %26989

26989:                                            ; preds = %26972, %26955
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #10
  br label %26990

26990:                                            ; preds = %26989
  br label %26991

26991:                                            ; preds = %26990
  call void @exit(i32 noundef 1) #12
  unreachable

26992:                                            ; No predecessors!
  br label %26993

26993:                                            ; preds = %26992
  br label %26994

26994:                                            ; preds = %26993, %26938, %26933
  br label %26995

26995:                                            ; preds = %26994
  br label %26996

26996:                                            ; preds = %26995
  br label %26997

26997:                                            ; preds = %26996
  %26998 = load i32, ptr @test_count, align 4, !tbaa !5
  %26999 = add nsw i32 %26998, 1
  store i32 %26999, ptr @test_count, align 4, !tbaa !5
  %27000 = load ptr, ptr %517, align 8, !tbaa !9
  %27001 = call i32 @s2n_connection_free_handshake(ptr noundef %27000)
  %27002 = icmp eq i32 %27001, -1
  br i1 %27002, label %27003, label %27056

27003:                                            ; preds = %26997
  br label %27004

27004:                                            ; preds = %27003
  br label %27005

27005:                                            ; preds = %27004
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #10
  %27006 = call ptr @__errno_location() #11
  %27007 = load i32, ptr %27006, align 4, !tbaa !5
  store i32 %27007, ptr %542, align 4, !tbaa !5
  %27008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27009 = call i32 @s2n_print_stacktrace(ptr noundef %27008)
  %27010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27011 = trunc i8 %27010 to i1
  br i1 %27011, label %27012, label %27034

27012:                                            ; preds = %27005
  %27013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27014 = call i32 @fileno(ptr noundef %27013) #10
  %27015 = call i32 @isatty(i32 noundef %27014) #10
  %27016 = icmp ne i32 %27015, 0
  br i1 %27016, label %27017, label %27034

27017:                                            ; preds = %27012
  %27018 = load i32, ptr %542, align 4, !tbaa !5
  %27019 = call ptr @__errno_location() #11
  store i32 %27018, ptr %27019, align 4, !tbaa !5
  %27020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27021 = load i32, ptr @test_count, align 4, !tbaa !5
  %27022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27023 = load i32, ptr %27022, align 4, !tbaa !5
  %27024 = call ptr @s2n_strerror(i32 noundef %27023, ptr noundef @.str.65)
  %27025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27026 = load i32, ptr %27025, align 4, !tbaa !5
  %27027 = call ptr @s2n_strerror_debug(i32 noundef %27026, ptr noundef @.str.65)
  %27028 = call ptr @__errno_location() #11
  %27029 = load i32, ptr %27028, align 4, !tbaa !5
  %27030 = call ptr @strerror(i32 noundef %27029) #10
  %27031 = call ptr @__errno_location() #11
  %27032 = load i32, ptr %27031, align 4, !tbaa !5
  %27033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27020, ptr noundef @.str.63, i32 noundef %27021, ptr noundef @.str.125, ptr noundef @.str.62, i32 noundef 1100, ptr noundef %27024, ptr noundef %27027, ptr noundef %27030, i32 noundef %27032) #10
  br label %27051

27034:                                            ; preds = %27012, %27005
  %27035 = load i32, ptr %542, align 4, !tbaa !5
  %27036 = call ptr @__errno_location() #11
  store i32 %27035, ptr %27036, align 4, !tbaa !5
  %27037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27038 = load i32, ptr @test_count, align 4, !tbaa !5
  %27039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27040 = load i32, ptr %27039, align 4, !tbaa !5
  %27041 = call ptr @s2n_strerror(i32 noundef %27040, ptr noundef @.str.65)
  %27042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27043 = load i32, ptr %27042, align 4, !tbaa !5
  %27044 = call ptr @s2n_strerror_debug(i32 noundef %27043, ptr noundef @.str.65)
  %27045 = call ptr @__errno_location() #11
  %27046 = load i32, ptr %27045, align 4, !tbaa !5
  %27047 = call ptr @strerror(i32 noundef %27046) #10
  %27048 = call ptr @__errno_location() #11
  %27049 = load i32, ptr %27048, align 4, !tbaa !5
  %27050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27037, ptr noundef @.str.66, i32 noundef %27038, ptr noundef @.str.125, ptr noundef @.str.62, i32 noundef 1100, ptr noundef %27041, ptr noundef %27044, ptr noundef %27047, i32 noundef %27049) #10
  br label %27051

27051:                                            ; preds = %27034, %27017
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #10
  br label %27052

27052:                                            ; preds = %27051
  br label %27053

27053:                                            ; preds = %27052
  call void @exit(i32 noundef 1) #12
  unreachable

27054:                                            ; No predecessors!
  br label %27055

27055:                                            ; preds = %27054
  br label %27056

27056:                                            ; preds = %27055, %26997
  br label %27057

27057:                                            ; preds = %27056
  br label %27058

27058:                                            ; preds = %27057
  br label %27059

27059:                                            ; preds = %27058
  %27060 = load i32, ptr @test_count, align 4, !tbaa !5
  %27061 = add nsw i32 %27060, 1
  store i32 %27061, ptr @test_count, align 4, !tbaa !5
  %27062 = load ptr, ptr %518, align 8, !tbaa !9
  %27063 = call i32 @s2n_connection_free_handshake(ptr noundef %27062)
  %27064 = icmp eq i32 %27063, -1
  br i1 %27064, label %27065, label %27118

27065:                                            ; preds = %27059
  br label %27066

27066:                                            ; preds = %27065
  br label %27067

27067:                                            ; preds = %27066
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #10
  %27068 = call ptr @__errno_location() #11
  %27069 = load i32, ptr %27068, align 4, !tbaa !5
  store i32 %27069, ptr %543, align 4, !tbaa !5
  %27070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27071 = call i32 @s2n_print_stacktrace(ptr noundef %27070)
  %27072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27073 = trunc i8 %27072 to i1
  br i1 %27073, label %27074, label %27096

27074:                                            ; preds = %27067
  %27075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27076 = call i32 @fileno(ptr noundef %27075) #10
  %27077 = call i32 @isatty(i32 noundef %27076) #10
  %27078 = icmp ne i32 %27077, 0
  br i1 %27078, label %27079, label %27096

27079:                                            ; preds = %27074
  %27080 = load i32, ptr %543, align 4, !tbaa !5
  %27081 = call ptr @__errno_location() #11
  store i32 %27080, ptr %27081, align 4, !tbaa !5
  %27082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27083 = load i32, ptr @test_count, align 4, !tbaa !5
  %27084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27085 = load i32, ptr %27084, align 4, !tbaa !5
  %27086 = call ptr @s2n_strerror(i32 noundef %27085, ptr noundef @.str.65)
  %27087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27088 = load i32, ptr %27087, align 4, !tbaa !5
  %27089 = call ptr @s2n_strerror_debug(i32 noundef %27088, ptr noundef @.str.65)
  %27090 = call ptr @__errno_location() #11
  %27091 = load i32, ptr %27090, align 4, !tbaa !5
  %27092 = call ptr @strerror(i32 noundef %27091) #10
  %27093 = call ptr @__errno_location() #11
  %27094 = load i32, ptr %27093, align 4, !tbaa !5
  %27095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27082, ptr noundef @.str.63, i32 noundef %27083, ptr noundef @.str.126, ptr noundef @.str.62, i32 noundef 1101, ptr noundef %27086, ptr noundef %27089, ptr noundef %27092, i32 noundef %27094) #10
  br label %27113

27096:                                            ; preds = %27074, %27067
  %27097 = load i32, ptr %543, align 4, !tbaa !5
  %27098 = call ptr @__errno_location() #11
  store i32 %27097, ptr %27098, align 4, !tbaa !5
  %27099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27100 = load i32, ptr @test_count, align 4, !tbaa !5
  %27101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27102 = load i32, ptr %27101, align 4, !tbaa !5
  %27103 = call ptr @s2n_strerror(i32 noundef %27102, ptr noundef @.str.65)
  %27104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27105 = load i32, ptr %27104, align 4, !tbaa !5
  %27106 = call ptr @s2n_strerror_debug(i32 noundef %27105, ptr noundef @.str.65)
  %27107 = call ptr @__errno_location() #11
  %27108 = load i32, ptr %27107, align 4, !tbaa !5
  %27109 = call ptr @strerror(i32 noundef %27108) #10
  %27110 = call ptr @__errno_location() #11
  %27111 = load i32, ptr %27110, align 4, !tbaa !5
  %27112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27099, ptr noundef @.str.66, i32 noundef %27100, ptr noundef @.str.126, ptr noundef @.str.62, i32 noundef 1101, ptr noundef %27103, ptr noundef %27106, ptr noundef %27109, i32 noundef %27111) #10
  br label %27113

27113:                                            ; preds = %27096, %27079
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #10
  br label %27114

27114:                                            ; preds = %27113
  br label %27115

27115:                                            ; preds = %27114
  call void @exit(i32 noundef 1) #12
  unreachable

27116:                                            ; No predecessors!
  br label %27117

27117:                                            ; preds = %27116
  br label %27118

27118:                                            ; preds = %27117, %27059
  br label %27119

27119:                                            ; preds = %27118
  br label %27120

27120:                                            ; preds = %27119
  br label %27121

27121:                                            ; preds = %27120
  %27122 = load i64, ptr %533, align 8, !tbaa !15
  %27123 = add i64 %27122, 1
  store i64 %27123, ptr %533, align 8, !tbaa !15
  br label %26548, !llvm.loop !80

27124:                                            ; preds = %26551
  br label %27125

27125:                                            ; preds = %27124
  %27126 = load i32, ptr @test_count, align 4, !tbaa !5
  %27127 = add nsw i32 %27126, 1
  store i32 %27127, ptr @test_count, align 4, !tbaa !5
  %27128 = load ptr, ptr %518, align 8, !tbaa !9
  %27129 = load ptr, ptr %517, align 8, !tbaa !9
  %27130 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %27128, ptr noundef %27129)
  %27131 = icmp eq i32 %27130, -1
  br i1 %27131, label %27132, label %27185

27132:                                            ; preds = %27125
  br label %27133

27133:                                            ; preds = %27132
  br label %27134

27134:                                            ; preds = %27133
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #10
  %27135 = call ptr @__errno_location() #11
  %27136 = load i32, ptr %27135, align 4, !tbaa !5
  store i32 %27136, ptr %544, align 4, !tbaa !5
  %27137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27138 = call i32 @s2n_print_stacktrace(ptr noundef %27137)
  %27139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27140 = trunc i8 %27139 to i1
  br i1 %27140, label %27141, label %27163

27141:                                            ; preds = %27134
  %27142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27143 = call i32 @fileno(ptr noundef %27142) #10
  %27144 = call i32 @isatty(i32 noundef %27143) #10
  %27145 = icmp ne i32 %27144, 0
  br i1 %27145, label %27146, label %27163

27146:                                            ; preds = %27141
  %27147 = load i32, ptr %544, align 4, !tbaa !5
  %27148 = call ptr @__errno_location() #11
  store i32 %27147, ptr %27148, align 4, !tbaa !5
  %27149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27150 = load i32, ptr @test_count, align 4, !tbaa !5
  %27151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27152 = load i32, ptr %27151, align 4, !tbaa !5
  %27153 = call ptr @s2n_strerror(i32 noundef %27152, ptr noundef @.str.65)
  %27154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27155 = load i32, ptr %27154, align 4, !tbaa !5
  %27156 = call ptr @s2n_strerror_debug(i32 noundef %27155, ptr noundef @.str.65)
  %27157 = call ptr @__errno_location() #11
  %27158 = load i32, ptr %27157, align 4, !tbaa !5
  %27159 = call ptr @strerror(i32 noundef %27158) #10
  %27160 = call ptr @__errno_location() #11
  %27161 = load i32, ptr %27160, align 4, !tbaa !5
  %27162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27149, ptr noundef @.str.63, i32 noundef %27150, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 1104, ptr noundef %27153, ptr noundef %27156, ptr noundef %27159, i32 noundef %27161) #10
  br label %27180

27163:                                            ; preds = %27141, %27134
  %27164 = load i32, ptr %544, align 4, !tbaa !5
  %27165 = call ptr @__errno_location() #11
  store i32 %27164, ptr %27165, align 4, !tbaa !5
  %27166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27167 = load i32, ptr @test_count, align 4, !tbaa !5
  %27168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27169 = load i32, ptr %27168, align 4, !tbaa !5
  %27170 = call ptr @s2n_strerror(i32 noundef %27169, ptr noundef @.str.65)
  %27171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27172 = load i32, ptr %27171, align 4, !tbaa !5
  %27173 = call ptr @s2n_strerror_debug(i32 noundef %27172, ptr noundef @.str.65)
  %27174 = call ptr @__errno_location() #11
  %27175 = load i32, ptr %27174, align 4, !tbaa !5
  %27176 = call ptr @strerror(i32 noundef %27175) #10
  %27177 = call ptr @__errno_location() #11
  %27178 = load i32, ptr %27177, align 4, !tbaa !5
  %27179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27166, ptr noundef @.str.66, i32 noundef %27167, ptr noundef @.str.118, ptr noundef @.str.62, i32 noundef 1104, ptr noundef %27170, ptr noundef %27173, ptr noundef %27176, i32 noundef %27178) #10
  br label %27180

27180:                                            ; preds = %27163, %27146
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #10
  br label %27181

27181:                                            ; preds = %27180
  br label %27182

27182:                                            ; preds = %27181
  call void @exit(i32 noundef 1) #12
  unreachable

27183:                                            ; No predecessors!
  br label %27184

27184:                                            ; preds = %27183
  br label %27185

27185:                                            ; preds = %27184, %27125
  br label %27186

27186:                                            ; preds = %27185
  br label %27187

27187:                                            ; preds = %27186
  br label %27188

27188:                                            ; preds = %27187
  %27189 = load i32, ptr @test_count, align 4, !tbaa !5
  %27190 = add nsw i32 %27189, 1
  store i32 %27190, ptr @test_count, align 4, !tbaa !5
  %27191 = load ptr, ptr %518, align 8, !tbaa !9
  %27192 = call i32 @s2n_connection_free(ptr noundef %27191)
  %27193 = icmp eq i32 %27192, -1
  br i1 %27193, label %27194, label %27247

27194:                                            ; preds = %27188
  br label %27195

27195:                                            ; preds = %27194
  br label %27196

27196:                                            ; preds = %27195
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #10
  %27197 = call ptr @__errno_location() #11
  %27198 = load i32, ptr %27197, align 4, !tbaa !5
  store i32 %27198, ptr %545, align 4, !tbaa !5
  %27199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27200 = call i32 @s2n_print_stacktrace(ptr noundef %27199)
  %27201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27202 = trunc i8 %27201 to i1
  br i1 %27202, label %27203, label %27225

27203:                                            ; preds = %27196
  %27204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27205 = call i32 @fileno(ptr noundef %27204) #10
  %27206 = call i32 @isatty(i32 noundef %27205) #10
  %27207 = icmp ne i32 %27206, 0
  br i1 %27207, label %27208, label %27225

27208:                                            ; preds = %27203
  %27209 = load i32, ptr %545, align 4, !tbaa !5
  %27210 = call ptr @__errno_location() #11
  store i32 %27209, ptr %27210, align 4, !tbaa !5
  %27211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27212 = load i32, ptr @test_count, align 4, !tbaa !5
  %27213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27214 = load i32, ptr %27213, align 4, !tbaa !5
  %27215 = call ptr @s2n_strerror(i32 noundef %27214, ptr noundef @.str.65)
  %27216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27217 = load i32, ptr %27216, align 4, !tbaa !5
  %27218 = call ptr @s2n_strerror_debug(i32 noundef %27217, ptr noundef @.str.65)
  %27219 = call ptr @__errno_location() #11
  %27220 = load i32, ptr %27219, align 4, !tbaa !5
  %27221 = call ptr @strerror(i32 noundef %27220) #10
  %27222 = call ptr @__errno_location() #11
  %27223 = load i32, ptr %27222, align 4, !tbaa !5
  %27224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27211, ptr noundef @.str.63, i32 noundef %27212, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 1105, ptr noundef %27215, ptr noundef %27218, ptr noundef %27221, i32 noundef %27223) #10
  br label %27242

27225:                                            ; preds = %27203, %27196
  %27226 = load i32, ptr %545, align 4, !tbaa !5
  %27227 = call ptr @__errno_location() #11
  store i32 %27226, ptr %27227, align 4, !tbaa !5
  %27228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27229 = load i32, ptr @test_count, align 4, !tbaa !5
  %27230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27231 = load i32, ptr %27230, align 4, !tbaa !5
  %27232 = call ptr @s2n_strerror(i32 noundef %27231, ptr noundef @.str.65)
  %27233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27234 = load i32, ptr %27233, align 4, !tbaa !5
  %27235 = call ptr @s2n_strerror_debug(i32 noundef %27234, ptr noundef @.str.65)
  %27236 = call ptr @__errno_location() #11
  %27237 = load i32, ptr %27236, align 4, !tbaa !5
  %27238 = call ptr @strerror(i32 noundef %27237) #10
  %27239 = call ptr @__errno_location() #11
  %27240 = load i32, ptr %27239, align 4, !tbaa !5
  %27241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27228, ptr noundef @.str.66, i32 noundef %27229, ptr noundef @.str.127, ptr noundef @.str.62, i32 noundef 1105, ptr noundef %27232, ptr noundef %27235, ptr noundef %27238, i32 noundef %27240) #10
  br label %27242

27242:                                            ; preds = %27225, %27208
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #10
  br label %27243

27243:                                            ; preds = %27242
  br label %27244

27244:                                            ; preds = %27243
  call void @exit(i32 noundef 1) #12
  unreachable

27245:                                            ; No predecessors!
  br label %27246

27246:                                            ; preds = %27245
  br label %27247

27247:                                            ; preds = %27246, %27188
  br label %27248

27248:                                            ; preds = %27247
  br label %27249

27249:                                            ; preds = %27248
  br label %27250

27250:                                            ; preds = %27249
  %27251 = load i32, ptr @test_count, align 4, !tbaa !5
  %27252 = add nsw i32 %27251, 1
  store i32 %27252, ptr @test_count, align 4, !tbaa !5
  %27253 = load ptr, ptr %517, align 8, !tbaa !9
  %27254 = call i32 @s2n_connection_free(ptr noundef %27253)
  %27255 = icmp eq i32 %27254, -1
  br i1 %27255, label %27256, label %27309

27256:                                            ; preds = %27250
  br label %27257

27257:                                            ; preds = %27256
  br label %27258

27258:                                            ; preds = %27257
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #10
  %27259 = call ptr @__errno_location() #11
  %27260 = load i32, ptr %27259, align 4, !tbaa !5
  store i32 %27260, ptr %546, align 4, !tbaa !5
  %27261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27262 = call i32 @s2n_print_stacktrace(ptr noundef %27261)
  %27263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27264 = trunc i8 %27263 to i1
  br i1 %27264, label %27265, label %27287

27265:                                            ; preds = %27258
  %27266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27267 = call i32 @fileno(ptr noundef %27266) #10
  %27268 = call i32 @isatty(i32 noundef %27267) #10
  %27269 = icmp ne i32 %27268, 0
  br i1 %27269, label %27270, label %27287

27270:                                            ; preds = %27265
  %27271 = load i32, ptr %546, align 4, !tbaa !5
  %27272 = call ptr @__errno_location() #11
  store i32 %27271, ptr %27272, align 4, !tbaa !5
  %27273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27274 = load i32, ptr @test_count, align 4, !tbaa !5
  %27275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27276 = load i32, ptr %27275, align 4, !tbaa !5
  %27277 = call ptr @s2n_strerror(i32 noundef %27276, ptr noundef @.str.65)
  %27278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27279 = load i32, ptr %27278, align 4, !tbaa !5
  %27280 = call ptr @s2n_strerror_debug(i32 noundef %27279, ptr noundef @.str.65)
  %27281 = call ptr @__errno_location() #11
  %27282 = load i32, ptr %27281, align 4, !tbaa !5
  %27283 = call ptr @strerror(i32 noundef %27282) #10
  %27284 = call ptr @__errno_location() #11
  %27285 = load i32, ptr %27284, align 4, !tbaa !5
  %27286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27273, ptr noundef @.str.63, i32 noundef %27274, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 1106, ptr noundef %27277, ptr noundef %27280, ptr noundef %27283, i32 noundef %27285) #10
  br label %27304

27287:                                            ; preds = %27265, %27258
  %27288 = load i32, ptr %546, align 4, !tbaa !5
  %27289 = call ptr @__errno_location() #11
  store i32 %27288, ptr %27289, align 4, !tbaa !5
  %27290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27291 = load i32, ptr @test_count, align 4, !tbaa !5
  %27292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27293 = load i32, ptr %27292, align 4, !tbaa !5
  %27294 = call ptr @s2n_strerror(i32 noundef %27293, ptr noundef @.str.65)
  %27295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27296 = load i32, ptr %27295, align 4, !tbaa !5
  %27297 = call ptr @s2n_strerror_debug(i32 noundef %27296, ptr noundef @.str.65)
  %27298 = call ptr @__errno_location() #11
  %27299 = load i32, ptr %27298, align 4, !tbaa !5
  %27300 = call ptr @strerror(i32 noundef %27299) #10
  %27301 = call ptr @__errno_location() #11
  %27302 = load i32, ptr %27301, align 4, !tbaa !5
  %27303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27290, ptr noundef @.str.66, i32 noundef %27291, ptr noundef @.str.128, ptr noundef @.str.62, i32 noundef 1106, ptr noundef %27294, ptr noundef %27297, ptr noundef %27300, i32 noundef %27302) #10
  br label %27304

27304:                                            ; preds = %27287, %27270
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #10
  br label %27305

27305:                                            ; preds = %27304
  br label %27306

27306:                                            ; preds = %27305
  call void @exit(i32 noundef 1) #12
  unreachable

27307:                                            ; No predecessors!
  br label %27308

27308:                                            ; preds = %27307
  br label %27309

27309:                                            ; preds = %27308, %27250
  br label %27310

27310:                                            ; preds = %27309
  br label %27311

27311:                                            ; preds = %27310
  br label %27312

27312:                                            ; preds = %27311
  %27313 = load i32, ptr @test_count, align 4, !tbaa !5
  %27314 = add nsw i32 %27313, 1
  store i32 %27314, ptr @test_count, align 4, !tbaa !5
  %27315 = call i32 @s2n_io_pair_close(ptr noundef %523)
  %27316 = icmp eq i32 %27315, -1
  br i1 %27316, label %27317, label %27370

27317:                                            ; preds = %27312
  br label %27318

27318:                                            ; preds = %27317
  br label %27319

27319:                                            ; preds = %27318
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #10
  %27320 = call ptr @__errno_location() #11
  %27321 = load i32, ptr %27320, align 4, !tbaa !5
  store i32 %27321, ptr %547, align 4, !tbaa !5
  %27322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27323 = call i32 @s2n_print_stacktrace(ptr noundef %27322)
  %27324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27325 = trunc i8 %27324 to i1
  br i1 %27325, label %27326, label %27348

27326:                                            ; preds = %27319
  %27327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27328 = call i32 @fileno(ptr noundef %27327) #10
  %27329 = call i32 @isatty(i32 noundef %27328) #10
  %27330 = icmp ne i32 %27329, 0
  br i1 %27330, label %27331, label %27348

27331:                                            ; preds = %27326
  %27332 = load i32, ptr %547, align 4, !tbaa !5
  %27333 = call ptr @__errno_location() #11
  store i32 %27332, ptr %27333, align 4, !tbaa !5
  %27334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27335 = load i32, ptr @test_count, align 4, !tbaa !5
  %27336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27337 = load i32, ptr %27336, align 4, !tbaa !5
  %27338 = call ptr @s2n_strerror(i32 noundef %27337, ptr noundef @.str.65)
  %27339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27340 = load i32, ptr %27339, align 4, !tbaa !5
  %27341 = call ptr @s2n_strerror_debug(i32 noundef %27340, ptr noundef @.str.65)
  %27342 = call ptr @__errno_location() #11
  %27343 = load i32, ptr %27342, align 4, !tbaa !5
  %27344 = call ptr @strerror(i32 noundef %27343) #10
  %27345 = call ptr @__errno_location() #11
  %27346 = load i32, ptr %27345, align 4, !tbaa !5
  %27347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27334, ptr noundef @.str.63, i32 noundef %27335, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 1107, ptr noundef %27338, ptr noundef %27341, ptr noundef %27344, i32 noundef %27346) #10
  br label %27365

27348:                                            ; preds = %27326, %27319
  %27349 = load i32, ptr %547, align 4, !tbaa !5
  %27350 = call ptr @__errno_location() #11
  store i32 %27349, ptr %27350, align 4, !tbaa !5
  %27351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27352 = load i32, ptr @test_count, align 4, !tbaa !5
  %27353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27354 = load i32, ptr %27353, align 4, !tbaa !5
  %27355 = call ptr @s2n_strerror(i32 noundef %27354, ptr noundef @.str.65)
  %27356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27357 = load i32, ptr %27356, align 4, !tbaa !5
  %27358 = call ptr @s2n_strerror_debug(i32 noundef %27357, ptr noundef @.str.65)
  %27359 = call ptr @__errno_location() #11
  %27360 = load i32, ptr %27359, align 4, !tbaa !5
  %27361 = call ptr @strerror(i32 noundef %27360) #10
  %27362 = call ptr @__errno_location() #11
  %27363 = load i32, ptr %27362, align 4, !tbaa !5
  %27364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27351, ptr noundef @.str.66, i32 noundef %27352, ptr noundef @.str.129, ptr noundef @.str.62, i32 noundef 1107, ptr noundef %27355, ptr noundef %27358, ptr noundef %27361, i32 noundef %27363) #10
  br label %27365

27365:                                            ; preds = %27348, %27331
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #10
  br label %27366

27366:                                            ; preds = %27365
  br label %27367

27367:                                            ; preds = %27366
  call void @exit(i32 noundef 1) #12
  unreachable

27368:                                            ; No predecessors!
  br label %27369

27369:                                            ; preds = %27368
  br label %27370

27370:                                            ; preds = %27369, %27312
  br label %27371

27371:                                            ; preds = %27370
  br label %27372

27372:                                            ; preds = %27371
  br label %27373

27373:                                            ; preds = %27372
  %27374 = load i32, ptr @test_count, align 4, !tbaa !5
  %27375 = add nsw i32 %27374, 1
  store i32 %27375, ptr @test_count, align 4, !tbaa !5
  %27376 = call i32 @s2n_stuffer_rewrite(ptr noundef %45)
  %27377 = icmp eq i32 %27376, -1
  br i1 %27377, label %27378, label %27431

27378:                                            ; preds = %27373
  br label %27379

27379:                                            ; preds = %27378
  br label %27380

27380:                                            ; preds = %27379
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #10
  %27381 = call ptr @__errno_location() #11
  %27382 = load i32, ptr %27381, align 4, !tbaa !5
  store i32 %27382, ptr %548, align 4, !tbaa !5
  %27383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27384 = call i32 @s2n_print_stacktrace(ptr noundef %27383)
  %27385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27386 = trunc i8 %27385 to i1
  br i1 %27386, label %27387, label %27409

27387:                                            ; preds = %27380
  %27388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27389 = call i32 @fileno(ptr noundef %27388) #10
  %27390 = call i32 @isatty(i32 noundef %27389) #10
  %27391 = icmp ne i32 %27390, 0
  br i1 %27391, label %27392, label %27409

27392:                                            ; preds = %27387
  %27393 = load i32, ptr %548, align 4, !tbaa !5
  %27394 = call ptr @__errno_location() #11
  store i32 %27393, ptr %27394, align 4, !tbaa !5
  %27395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27396 = load i32, ptr @test_count, align 4, !tbaa !5
  %27397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27398 = load i32, ptr %27397, align 4, !tbaa !5
  %27399 = call ptr @s2n_strerror(i32 noundef %27398, ptr noundef @.str.65)
  %27400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27401 = load i32, ptr %27400, align 4, !tbaa !5
  %27402 = call ptr @s2n_strerror_debug(i32 noundef %27401, ptr noundef @.str.65)
  %27403 = call ptr @__errno_location() #11
  %27404 = load i32, ptr %27403, align 4, !tbaa !5
  %27405 = call ptr @strerror(i32 noundef %27404) #10
  %27406 = call ptr @__errno_location() #11
  %27407 = load i32, ptr %27406, align 4, !tbaa !5
  %27408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27395, ptr noundef @.str.63, i32 noundef %27396, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 1108, ptr noundef %27399, ptr noundef %27402, ptr noundef %27405, i32 noundef %27407) #10
  br label %27426

27409:                                            ; preds = %27387, %27380
  %27410 = load i32, ptr %548, align 4, !tbaa !5
  %27411 = call ptr @__errno_location() #11
  store i32 %27410, ptr %27411, align 4, !tbaa !5
  %27412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27413 = load i32, ptr @test_count, align 4, !tbaa !5
  %27414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27415 = load i32, ptr %27414, align 4, !tbaa !5
  %27416 = call ptr @s2n_strerror(i32 noundef %27415, ptr noundef @.str.65)
  %27417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27418 = load i32, ptr %27417, align 4, !tbaa !5
  %27419 = call ptr @s2n_strerror_debug(i32 noundef %27418, ptr noundef @.str.65)
  %27420 = call ptr @__errno_location() #11
  %27421 = load i32, ptr %27420, align 4, !tbaa !5
  %27422 = call ptr @strerror(i32 noundef %27421) #10
  %27423 = call ptr @__errno_location() #11
  %27424 = load i32, ptr %27423, align 4, !tbaa !5
  %27425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27412, ptr noundef @.str.66, i32 noundef %27413, ptr noundef @.str.122, ptr noundef @.str.62, i32 noundef 1108, ptr noundef %27416, ptr noundef %27419, ptr noundef %27422, i32 noundef %27424) #10
  br label %27426

27426:                                            ; preds = %27409, %27392
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #10
  br label %27427

27427:                                            ; preds = %27426
  br label %27428

27428:                                            ; preds = %27427
  call void @exit(i32 noundef 1) #12
  unreachable

27429:                                            ; No predecessors!
  br label %27430

27430:                                            ; preds = %27429
  br label %27431

27431:                                            ; preds = %27430, %27373
  br label %27432

27432:                                            ; preds = %27431
  br label %27433

27433:                                            ; preds = %27432
  call void @llvm.lifetime.end.p0(i64 202, ptr %531) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %530) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %523) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %518) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %517) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %549) #10
  %27434 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %27434, ptr %549, align 8, !tbaa !9
  br label %27435

27435:                                            ; preds = %27433
  %27436 = load i32, ptr @test_count, align 4, !tbaa !5
  %27437 = add nsw i32 %27436, 1
  store i32 %27437, ptr @test_count, align 4, !tbaa !5
  %27438 = load ptr, ptr %549, align 8, !tbaa !9
  %27439 = icmp eq ptr %27438, null
  br i1 %27439, label %27440, label %27493

27440:                                            ; preds = %27435
  br label %27441

27441:                                            ; preds = %27440
  br label %27442

27442:                                            ; preds = %27441
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #10
  %27443 = call ptr @__errno_location() #11
  %27444 = load i32, ptr %27443, align 4, !tbaa !5
  store i32 %27444, ptr %550, align 4, !tbaa !5
  %27445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27446 = call i32 @s2n_print_stacktrace(ptr noundef %27445)
  %27447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27448 = trunc i8 %27447 to i1
  br i1 %27448, label %27449, label %27471

27449:                                            ; preds = %27442
  %27450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27451 = call i32 @fileno(ptr noundef %27450) #10
  %27452 = call i32 @isatty(i32 noundef %27451) #10
  %27453 = icmp ne i32 %27452, 0
  br i1 %27453, label %27454, label %27471

27454:                                            ; preds = %27449
  %27455 = load i32, ptr %550, align 4, !tbaa !5
  %27456 = call ptr @__errno_location() #11
  store i32 %27455, ptr %27456, align 4, !tbaa !5
  %27457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27458 = load i32, ptr @test_count, align 4, !tbaa !5
  %27459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27460 = load i32, ptr %27459, align 4, !tbaa !5
  %27461 = call ptr @s2n_strerror(i32 noundef %27460, ptr noundef @.str.65)
  %27462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27463 = load i32, ptr %27462, align 4, !tbaa !5
  %27464 = call ptr @s2n_strerror_debug(i32 noundef %27463, ptr noundef @.str.65)
  %27465 = call ptr @__errno_location() #11
  %27466 = load i32, ptr %27465, align 4, !tbaa !5
  %27467 = call ptr @strerror(i32 noundef %27466) #10
  %27468 = call ptr @__errno_location() #11
  %27469 = load i32, ptr %27468, align 4, !tbaa !5
  %27470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27457, ptr noundef @.str.63, i32 noundef %27458, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1114, ptr noundef %27461, ptr noundef %27464, ptr noundef %27467, i32 noundef %27469) #10
  br label %27488

27471:                                            ; preds = %27449, %27442
  %27472 = load i32, ptr %550, align 4, !tbaa !5
  %27473 = call ptr @__errno_location() #11
  store i32 %27472, ptr %27473, align 4, !tbaa !5
  %27474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27475 = load i32, ptr @test_count, align 4, !tbaa !5
  %27476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27477 = load i32, ptr %27476, align 4, !tbaa !5
  %27478 = call ptr @s2n_strerror(i32 noundef %27477, ptr noundef @.str.65)
  %27479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27480 = load i32, ptr %27479, align 4, !tbaa !5
  %27481 = call ptr @s2n_strerror_debug(i32 noundef %27480, ptr noundef @.str.65)
  %27482 = call ptr @__errno_location() #11
  %27483 = load i32, ptr %27482, align 4, !tbaa !5
  %27484 = call ptr @strerror(i32 noundef %27483) #10
  %27485 = call ptr @__errno_location() #11
  %27486 = load i32, ptr %27485, align 4, !tbaa !5
  %27487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27474, ptr noundef @.str.66, i32 noundef %27475, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1114, ptr noundef %27478, ptr noundef %27481, ptr noundef %27484, i32 noundef %27486) #10
  br label %27488

27488:                                            ; preds = %27471, %27454
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #10
  br label %27489

27489:                                            ; preds = %27488
  br label %27490

27490:                                            ; preds = %27489
  call void @exit(i32 noundef 1) #12
  unreachable

27491:                                            ; No predecessors!
  br label %27492

27492:                                            ; preds = %27491
  br label %27493

27493:                                            ; preds = %27492, %27435
  br label %27494

27494:                                            ; preds = %27493
  br label %27495

27495:                                            ; preds = %27494
  call void @llvm.lifetime.start.p0(i64 8, ptr %551) #10
  %27496 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %27496, ptr %551, align 8, !tbaa !9
  br label %27497

27497:                                            ; preds = %27495
  %27498 = load i32, ptr @test_count, align 4, !tbaa !5
  %27499 = add nsw i32 %27498, 1
  store i32 %27499, ptr @test_count, align 4, !tbaa !5
  %27500 = load ptr, ptr %551, align 8, !tbaa !9
  %27501 = icmp eq ptr %27500, null
  br i1 %27501, label %27502, label %27555

27502:                                            ; preds = %27497
  br label %27503

27503:                                            ; preds = %27502
  br label %27504

27504:                                            ; preds = %27503
  call void @llvm.lifetime.start.p0(i64 4, ptr %552) #10
  %27505 = call ptr @__errno_location() #11
  %27506 = load i32, ptr %27505, align 4, !tbaa !5
  store i32 %27506, ptr %552, align 4, !tbaa !5
  %27507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27508 = call i32 @s2n_print_stacktrace(ptr noundef %27507)
  %27509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27510 = trunc i8 %27509 to i1
  br i1 %27510, label %27511, label %27533

27511:                                            ; preds = %27504
  %27512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27513 = call i32 @fileno(ptr noundef %27512) #10
  %27514 = call i32 @isatty(i32 noundef %27513) #10
  %27515 = icmp ne i32 %27514, 0
  br i1 %27515, label %27516, label %27533

27516:                                            ; preds = %27511
  %27517 = load i32, ptr %552, align 4, !tbaa !5
  %27518 = call ptr @__errno_location() #11
  store i32 %27517, ptr %27518, align 4, !tbaa !5
  %27519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27520 = load i32, ptr @test_count, align 4, !tbaa !5
  %27521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27522 = load i32, ptr %27521, align 4, !tbaa !5
  %27523 = call ptr @s2n_strerror(i32 noundef %27522, ptr noundef @.str.65)
  %27524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27525 = load i32, ptr %27524, align 4, !tbaa !5
  %27526 = call ptr @s2n_strerror_debug(i32 noundef %27525, ptr noundef @.str.65)
  %27527 = call ptr @__errno_location() #11
  %27528 = load i32, ptr %27527, align 4, !tbaa !5
  %27529 = call ptr @strerror(i32 noundef %27528) #10
  %27530 = call ptr @__errno_location() #11
  %27531 = load i32, ptr %27530, align 4, !tbaa !5
  %27532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27519, ptr noundef @.str.63, i32 noundef %27520, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1117, ptr noundef %27523, ptr noundef %27526, ptr noundef %27529, i32 noundef %27531) #10
  br label %27550

27533:                                            ; preds = %27511, %27504
  %27534 = load i32, ptr %552, align 4, !tbaa !5
  %27535 = call ptr @__errno_location() #11
  store i32 %27534, ptr %27535, align 4, !tbaa !5
  %27536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27537 = load i32, ptr @test_count, align 4, !tbaa !5
  %27538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27539 = load i32, ptr %27538, align 4, !tbaa !5
  %27540 = call ptr @s2n_strerror(i32 noundef %27539, ptr noundef @.str.65)
  %27541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27542 = load i32, ptr %27541, align 4, !tbaa !5
  %27543 = call ptr @s2n_strerror_debug(i32 noundef %27542, ptr noundef @.str.65)
  %27544 = call ptr @__errno_location() #11
  %27545 = load i32, ptr %27544, align 4, !tbaa !5
  %27546 = call ptr @strerror(i32 noundef %27545) #10
  %27547 = call ptr @__errno_location() #11
  %27548 = load i32, ptr %27547, align 4, !tbaa !5
  %27549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27536, ptr noundef @.str.66, i32 noundef %27537, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1117, ptr noundef %27540, ptr noundef %27543, ptr noundef %27546, i32 noundef %27548) #10
  br label %27550

27550:                                            ; preds = %27533, %27516
  call void @llvm.lifetime.end.p0(i64 4, ptr %552) #10
  br label %27551

27551:                                            ; preds = %27550
  br label %27552

27552:                                            ; preds = %27551
  call void @exit(i32 noundef 1) #12
  unreachable

27553:                                            ; No predecessors!
  br label %27554

27554:                                            ; preds = %27553
  br label %27555

27555:                                            ; preds = %27554, %27497
  br label %27556

27556:                                            ; preds = %27555
  br label %27557

27557:                                            ; preds = %27556
  br label %27558

27558:                                            ; preds = %27557
  %27559 = load i32, ptr @test_count, align 4, !tbaa !5
  %27560 = add nsw i32 %27559, 1
  store i32 %27560, ptr @test_count, align 4, !tbaa !5
  %27561 = load ptr, ptr %549, align 8, !tbaa !9
  %27562 = load ptr, ptr %40, align 8, !tbaa !9
  %27563 = call i32 @s2n_connection_set_config(ptr noundef %27561, ptr noundef %27562)
  %27564 = icmp eq i32 %27563, -1
  br i1 %27564, label %27565, label %27618

27565:                                            ; preds = %27558
  br label %27566

27566:                                            ; preds = %27565
  br label %27567

27567:                                            ; preds = %27566
  call void @llvm.lifetime.start.p0(i64 4, ptr %553) #10
  %27568 = call ptr @__errno_location() #11
  %27569 = load i32, ptr %27568, align 4, !tbaa !5
  store i32 %27569, ptr %553, align 4, !tbaa !5
  %27570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27571 = call i32 @s2n_print_stacktrace(ptr noundef %27570)
  %27572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27573 = trunc i8 %27572 to i1
  br i1 %27573, label %27574, label %27596

27574:                                            ; preds = %27567
  %27575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27576 = call i32 @fileno(ptr noundef %27575) #10
  %27577 = call i32 @isatty(i32 noundef %27576) #10
  %27578 = icmp ne i32 %27577, 0
  br i1 %27578, label %27579, label %27596

27579:                                            ; preds = %27574
  %27580 = load i32, ptr %553, align 4, !tbaa !5
  %27581 = call ptr @__errno_location() #11
  store i32 %27580, ptr %27581, align 4, !tbaa !5
  %27582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27583 = load i32, ptr @test_count, align 4, !tbaa !5
  %27584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27585 = load i32, ptr %27584, align 4, !tbaa !5
  %27586 = call ptr @s2n_strerror(i32 noundef %27585, ptr noundef @.str.65)
  %27587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27588 = load i32, ptr %27587, align 4, !tbaa !5
  %27589 = call ptr @s2n_strerror_debug(i32 noundef %27588, ptr noundef @.str.65)
  %27590 = call ptr @__errno_location() #11
  %27591 = load i32, ptr %27590, align 4, !tbaa !5
  %27592 = call ptr @strerror(i32 noundef %27591) #10
  %27593 = call ptr @__errno_location() #11
  %27594 = load i32, ptr %27593, align 4, !tbaa !5
  %27595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27582, ptr noundef @.str.63, i32 noundef %27583, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1119, ptr noundef %27586, ptr noundef %27589, ptr noundef %27592, i32 noundef %27594) #10
  br label %27613

27596:                                            ; preds = %27574, %27567
  %27597 = load i32, ptr %553, align 4, !tbaa !5
  %27598 = call ptr @__errno_location() #11
  store i32 %27597, ptr %27598, align 4, !tbaa !5
  %27599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27600 = load i32, ptr @test_count, align 4, !tbaa !5
  %27601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27602 = load i32, ptr %27601, align 4, !tbaa !5
  %27603 = call ptr @s2n_strerror(i32 noundef %27602, ptr noundef @.str.65)
  %27604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27605 = load i32, ptr %27604, align 4, !tbaa !5
  %27606 = call ptr @s2n_strerror_debug(i32 noundef %27605, ptr noundef @.str.65)
  %27607 = call ptr @__errno_location() #11
  %27608 = load i32, ptr %27607, align 4, !tbaa !5
  %27609 = call ptr @strerror(i32 noundef %27608) #10
  %27610 = call ptr @__errno_location() #11
  %27611 = load i32, ptr %27610, align 4, !tbaa !5
  %27612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27599, ptr noundef @.str.66, i32 noundef %27600, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1119, ptr noundef %27603, ptr noundef %27606, ptr noundef %27609, i32 noundef %27611) #10
  br label %27613

27613:                                            ; preds = %27596, %27579
  call void @llvm.lifetime.end.p0(i64 4, ptr %553) #10
  br label %27614

27614:                                            ; preds = %27613
  br label %27615

27615:                                            ; preds = %27614
  call void @exit(i32 noundef 1) #12
  unreachable

27616:                                            ; No predecessors!
  br label %27617

27617:                                            ; preds = %27616
  br label %27618

27618:                                            ; preds = %27617, %27558
  br label %27619

27619:                                            ; preds = %27618
  br label %27620

27620:                                            ; preds = %27619
  br label %27621

27621:                                            ; preds = %27620
  %27622 = load i32, ptr @test_count, align 4, !tbaa !5
  %27623 = add nsw i32 %27622, 1
  store i32 %27623, ptr @test_count, align 4, !tbaa !5
  %27624 = load ptr, ptr %551, align 8, !tbaa !9
  %27625 = load ptr, ptr %20, align 8, !tbaa !9
  %27626 = call i32 @s2n_connection_set_config(ptr noundef %27624, ptr noundef %27625)
  %27627 = icmp eq i32 %27626, -1
  br i1 %27627, label %27628, label %27681

27628:                                            ; preds = %27621
  br label %27629

27629:                                            ; preds = %27628
  br label %27630

27630:                                            ; preds = %27629
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #10
  %27631 = call ptr @__errno_location() #11
  %27632 = load i32, ptr %27631, align 4, !tbaa !5
  store i32 %27632, ptr %554, align 4, !tbaa !5
  %27633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27634 = call i32 @s2n_print_stacktrace(ptr noundef %27633)
  %27635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27636 = trunc i8 %27635 to i1
  br i1 %27636, label %27637, label %27659

27637:                                            ; preds = %27630
  %27638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27639 = call i32 @fileno(ptr noundef %27638) #10
  %27640 = call i32 @isatty(i32 noundef %27639) #10
  %27641 = icmp ne i32 %27640, 0
  br i1 %27641, label %27642, label %27659

27642:                                            ; preds = %27637
  %27643 = load i32, ptr %554, align 4, !tbaa !5
  %27644 = call ptr @__errno_location() #11
  store i32 %27643, ptr %27644, align 4, !tbaa !5
  %27645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27646 = load i32, ptr @test_count, align 4, !tbaa !5
  %27647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27648 = load i32, ptr %27647, align 4, !tbaa !5
  %27649 = call ptr @s2n_strerror(i32 noundef %27648, ptr noundef @.str.65)
  %27650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27651 = load i32, ptr %27650, align 4, !tbaa !5
  %27652 = call ptr @s2n_strerror_debug(i32 noundef %27651, ptr noundef @.str.65)
  %27653 = call ptr @__errno_location() #11
  %27654 = load i32, ptr %27653, align 4, !tbaa !5
  %27655 = call ptr @strerror(i32 noundef %27654) #10
  %27656 = call ptr @__errno_location() #11
  %27657 = load i32, ptr %27656, align 4, !tbaa !5
  %27658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27645, ptr noundef @.str.63, i32 noundef %27646, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1120, ptr noundef %27649, ptr noundef %27652, ptr noundef %27655, i32 noundef %27657) #10
  br label %27676

27659:                                            ; preds = %27637, %27630
  %27660 = load i32, ptr %554, align 4, !tbaa !5
  %27661 = call ptr @__errno_location() #11
  store i32 %27660, ptr %27661, align 4, !tbaa !5
  %27662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27663 = load i32, ptr @test_count, align 4, !tbaa !5
  %27664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27665 = load i32, ptr %27664, align 4, !tbaa !5
  %27666 = call ptr @s2n_strerror(i32 noundef %27665, ptr noundef @.str.65)
  %27667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27668 = load i32, ptr %27667, align 4, !tbaa !5
  %27669 = call ptr @s2n_strerror_debug(i32 noundef %27668, ptr noundef @.str.65)
  %27670 = call ptr @__errno_location() #11
  %27671 = load i32, ptr %27670, align 4, !tbaa !5
  %27672 = call ptr @strerror(i32 noundef %27671) #10
  %27673 = call ptr @__errno_location() #11
  %27674 = load i32, ptr %27673, align 4, !tbaa !5
  %27675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27662, ptr noundef @.str.66, i32 noundef %27663, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1120, ptr noundef %27666, ptr noundef %27669, ptr noundef %27672, i32 noundef %27674) #10
  br label %27676

27676:                                            ; preds = %27659, %27642
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #10
  br label %27677

27677:                                            ; preds = %27676
  br label %27678

27678:                                            ; preds = %27677
  call void @exit(i32 noundef 1) #12
  unreachable

27679:                                            ; No predecessors!
  br label %27680

27680:                                            ; preds = %27679
  br label %27681

27681:                                            ; preds = %27680, %27621
  br label %27682

27682:                                            ; preds = %27681
  br label %27683

27683:                                            ; preds = %27682
  br label %27684

27684:                                            ; preds = %27683
  %27685 = load i32, ptr @test_count, align 4, !tbaa !5
  %27686 = add nsw i32 %27685, 1
  store i32 %27686, ptr @test_count, align 4, !tbaa !5
  %27687 = load ptr, ptr %549, align 8, !tbaa !9
  %27688 = call i32 @s2n_connection_enable_quic(ptr noundef %27687)
  %27689 = icmp eq i32 %27688, -1
  br i1 %27689, label %27690, label %27743

27690:                                            ; preds = %27684
  br label %27691

27691:                                            ; preds = %27690
  br label %27692

27692:                                            ; preds = %27691
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #10
  %27693 = call ptr @__errno_location() #11
  %27694 = load i32, ptr %27693, align 4, !tbaa !5
  store i32 %27694, ptr %555, align 4, !tbaa !5
  %27695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27696 = call i32 @s2n_print_stacktrace(ptr noundef %27695)
  %27697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27698 = trunc i8 %27697 to i1
  br i1 %27698, label %27699, label %27721

27699:                                            ; preds = %27692
  %27700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27701 = call i32 @fileno(ptr noundef %27700) #10
  %27702 = call i32 @isatty(i32 noundef %27701) #10
  %27703 = icmp ne i32 %27702, 0
  br i1 %27703, label %27704, label %27721

27704:                                            ; preds = %27699
  %27705 = load i32, ptr %555, align 4, !tbaa !5
  %27706 = call ptr @__errno_location() #11
  store i32 %27705, ptr %27706, align 4, !tbaa !5
  %27707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27708 = load i32, ptr @test_count, align 4, !tbaa !5
  %27709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27710 = load i32, ptr %27709, align 4, !tbaa !5
  %27711 = call ptr @s2n_strerror(i32 noundef %27710, ptr noundef @.str.65)
  %27712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27713 = load i32, ptr %27712, align 4, !tbaa !5
  %27714 = call ptr @s2n_strerror_debug(i32 noundef %27713, ptr noundef @.str.65)
  %27715 = call ptr @__errno_location() #11
  %27716 = load i32, ptr %27715, align 4, !tbaa !5
  %27717 = call ptr @strerror(i32 noundef %27716) #10
  %27718 = call ptr @__errno_location() #11
  %27719 = load i32, ptr %27718, align 4, !tbaa !5
  %27720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27707, ptr noundef @.str.63, i32 noundef %27708, ptr noundef @.str.208, ptr noundef @.str.62, i32 noundef 1123, ptr noundef %27711, ptr noundef %27714, ptr noundef %27717, i32 noundef %27719) #10
  br label %27738

27721:                                            ; preds = %27699, %27692
  %27722 = load i32, ptr %555, align 4, !tbaa !5
  %27723 = call ptr @__errno_location() #11
  store i32 %27722, ptr %27723, align 4, !tbaa !5
  %27724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27725 = load i32, ptr @test_count, align 4, !tbaa !5
  %27726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27727 = load i32, ptr %27726, align 4, !tbaa !5
  %27728 = call ptr @s2n_strerror(i32 noundef %27727, ptr noundef @.str.65)
  %27729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27730 = load i32, ptr %27729, align 4, !tbaa !5
  %27731 = call ptr @s2n_strerror_debug(i32 noundef %27730, ptr noundef @.str.65)
  %27732 = call ptr @__errno_location() #11
  %27733 = load i32, ptr %27732, align 4, !tbaa !5
  %27734 = call ptr @strerror(i32 noundef %27733) #10
  %27735 = call ptr @__errno_location() #11
  %27736 = load i32, ptr %27735, align 4, !tbaa !5
  %27737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27724, ptr noundef @.str.66, i32 noundef %27725, ptr noundef @.str.208, ptr noundef @.str.62, i32 noundef 1123, ptr noundef %27728, ptr noundef %27731, ptr noundef %27734, i32 noundef %27736) #10
  br label %27738

27738:                                            ; preds = %27721, %27704
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #10
  br label %27739

27739:                                            ; preds = %27738
  br label %27740

27740:                                            ; preds = %27739
  call void @exit(i32 noundef 1) #12
  unreachable

27741:                                            ; No predecessors!
  br label %27742

27742:                                            ; preds = %27741
  br label %27743

27743:                                            ; preds = %27742, %27684
  br label %27744

27744:                                            ; preds = %27743
  br label %27745

27745:                                            ; preds = %27744
  br label %27746

27746:                                            ; preds = %27745
  %27747 = load i32, ptr @test_count, align 4, !tbaa !5
  %27748 = add nsw i32 %27747, 1
  store i32 %27748, ptr @test_count, align 4, !tbaa !5
  %27749 = load ptr, ptr %551, align 8, !tbaa !9
  %27750 = call i32 @s2n_connection_enable_quic(ptr noundef %27749)
  %27751 = icmp eq i32 %27750, -1
  br i1 %27751, label %27752, label %27805

27752:                                            ; preds = %27746
  br label %27753

27753:                                            ; preds = %27752
  br label %27754

27754:                                            ; preds = %27753
  call void @llvm.lifetime.start.p0(i64 4, ptr %556) #10
  %27755 = call ptr @__errno_location() #11
  %27756 = load i32, ptr %27755, align 4, !tbaa !5
  store i32 %27756, ptr %556, align 4, !tbaa !5
  %27757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27758 = call i32 @s2n_print_stacktrace(ptr noundef %27757)
  %27759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27760 = trunc i8 %27759 to i1
  br i1 %27760, label %27761, label %27783

27761:                                            ; preds = %27754
  %27762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27763 = call i32 @fileno(ptr noundef %27762) #10
  %27764 = call i32 @isatty(i32 noundef %27763) #10
  %27765 = icmp ne i32 %27764, 0
  br i1 %27765, label %27766, label %27783

27766:                                            ; preds = %27761
  %27767 = load i32, ptr %556, align 4, !tbaa !5
  %27768 = call ptr @__errno_location() #11
  store i32 %27767, ptr %27768, align 4, !tbaa !5
  %27769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27770 = load i32, ptr @test_count, align 4, !tbaa !5
  %27771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27772 = load i32, ptr %27771, align 4, !tbaa !5
  %27773 = call ptr @s2n_strerror(i32 noundef %27772, ptr noundef @.str.65)
  %27774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27775 = load i32, ptr %27774, align 4, !tbaa !5
  %27776 = call ptr @s2n_strerror_debug(i32 noundef %27775, ptr noundef @.str.65)
  %27777 = call ptr @__errno_location() #11
  %27778 = load i32, ptr %27777, align 4, !tbaa !5
  %27779 = call ptr @strerror(i32 noundef %27778) #10
  %27780 = call ptr @__errno_location() #11
  %27781 = load i32, ptr %27780, align 4, !tbaa !5
  %27782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27769, ptr noundef @.str.63, i32 noundef %27770, ptr noundef @.str.209, ptr noundef @.str.62, i32 noundef 1124, ptr noundef %27773, ptr noundef %27776, ptr noundef %27779, i32 noundef %27781) #10
  br label %27800

27783:                                            ; preds = %27761, %27754
  %27784 = load i32, ptr %556, align 4, !tbaa !5
  %27785 = call ptr @__errno_location() #11
  store i32 %27784, ptr %27785, align 4, !tbaa !5
  %27786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27787 = load i32, ptr @test_count, align 4, !tbaa !5
  %27788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27789 = load i32, ptr %27788, align 4, !tbaa !5
  %27790 = call ptr @s2n_strerror(i32 noundef %27789, ptr noundef @.str.65)
  %27791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27792 = load i32, ptr %27791, align 4, !tbaa !5
  %27793 = call ptr @s2n_strerror_debug(i32 noundef %27792, ptr noundef @.str.65)
  %27794 = call ptr @__errno_location() #11
  %27795 = load i32, ptr %27794, align 4, !tbaa !5
  %27796 = call ptr @strerror(i32 noundef %27795) #10
  %27797 = call ptr @__errno_location() #11
  %27798 = load i32, ptr %27797, align 4, !tbaa !5
  %27799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27786, ptr noundef @.str.66, i32 noundef %27787, ptr noundef @.str.209, ptr noundef @.str.62, i32 noundef 1124, ptr noundef %27790, ptr noundef %27793, ptr noundef %27796, i32 noundef %27798) #10
  br label %27800

27800:                                            ; preds = %27783, %27766
  call void @llvm.lifetime.end.p0(i64 4, ptr %556) #10
  br label %27801

27801:                                            ; preds = %27800
  br label %27802

27802:                                            ; preds = %27801
  call void @exit(i32 noundef 1) #12
  unreachable

27803:                                            ; No predecessors!
  br label %27804

27804:                                            ; preds = %27803
  br label %27805

27805:                                            ; preds = %27804, %27746
  br label %27806

27806:                                            ; preds = %27805
  br label %27807

27807:                                            ; preds = %27806
  call void @llvm.lifetime.start.p0(i64 40, ptr %557) #10
  call void @llvm.memset.p0.i64(ptr align 8 %557, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %558) #10
  call void @llvm.memset.p0.i64(ptr align 8 %558, i8 0, i64 40, i1 false)
  br label %27808

27808:                                            ; preds = %27807
  %27809 = load i32, ptr @test_count, align 4, !tbaa !5
  %27810 = add nsw i32 %27809, 1
  store i32 %27810, ptr @test_count, align 4, !tbaa !5
  %27811 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %557, i32 noundef 0)
  %27812 = icmp eq i32 %27811, -1
  br i1 %27812, label %27813, label %27866

27813:                                            ; preds = %27808
  br label %27814

27814:                                            ; preds = %27813
  br label %27815

27815:                                            ; preds = %27814
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #10
  %27816 = call ptr @__errno_location() #11
  %27817 = load i32, ptr %27816, align 4, !tbaa !5
  store i32 %27817, ptr %559, align 4, !tbaa !5
  %27818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27819 = call i32 @s2n_print_stacktrace(ptr noundef %27818)
  %27820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27821 = trunc i8 %27820 to i1
  br i1 %27821, label %27822, label %27844

27822:                                            ; preds = %27815
  %27823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27824 = call i32 @fileno(ptr noundef %27823) #10
  %27825 = call i32 @isatty(i32 noundef %27824) #10
  %27826 = icmp ne i32 %27825, 0
  br i1 %27826, label %27827, label %27844

27827:                                            ; preds = %27822
  %27828 = load i32, ptr %559, align 4, !tbaa !5
  %27829 = call ptr @__errno_location() #11
  store i32 %27828, ptr %27829, align 4, !tbaa !5
  %27830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27831 = load i32, ptr @test_count, align 4, !tbaa !5
  %27832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27833 = load i32, ptr %27832, align 4, !tbaa !5
  %27834 = call ptr @s2n_strerror(i32 noundef %27833, ptr noundef @.str.65)
  %27835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27836 = load i32, ptr %27835, align 4, !tbaa !5
  %27837 = call ptr @s2n_strerror_debug(i32 noundef %27836, ptr noundef @.str.65)
  %27838 = call ptr @__errno_location() #11
  %27839 = load i32, ptr %27838, align 4, !tbaa !5
  %27840 = call ptr @strerror(i32 noundef %27839) #10
  %27841 = call ptr @__errno_location() #11
  %27842 = load i32, ptr %27841, align 4, !tbaa !5
  %27843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27830, ptr noundef @.str.63, i32 noundef %27831, ptr noundef @.str.210, ptr noundef @.str.62, i32 noundef 1129, ptr noundef %27834, ptr noundef %27837, ptr noundef %27840, i32 noundef %27842) #10
  br label %27861

27844:                                            ; preds = %27822, %27815
  %27845 = load i32, ptr %559, align 4, !tbaa !5
  %27846 = call ptr @__errno_location() #11
  store i32 %27845, ptr %27846, align 4, !tbaa !5
  %27847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27848 = load i32, ptr @test_count, align 4, !tbaa !5
  %27849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27850 = load i32, ptr %27849, align 4, !tbaa !5
  %27851 = call ptr @s2n_strerror(i32 noundef %27850, ptr noundef @.str.65)
  %27852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27853 = load i32, ptr %27852, align 4, !tbaa !5
  %27854 = call ptr @s2n_strerror_debug(i32 noundef %27853, ptr noundef @.str.65)
  %27855 = call ptr @__errno_location() #11
  %27856 = load i32, ptr %27855, align 4, !tbaa !5
  %27857 = call ptr @strerror(i32 noundef %27856) #10
  %27858 = call ptr @__errno_location() #11
  %27859 = load i32, ptr %27858, align 4, !tbaa !5
  %27860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27847, ptr noundef @.str.66, i32 noundef %27848, ptr noundef @.str.210, ptr noundef @.str.62, i32 noundef 1129, ptr noundef %27851, ptr noundef %27854, ptr noundef %27857, i32 noundef %27859) #10
  br label %27861

27861:                                            ; preds = %27844, %27827
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #10
  br label %27862

27862:                                            ; preds = %27861
  br label %27863

27863:                                            ; preds = %27862
  call void @exit(i32 noundef 1) #12
  unreachable

27864:                                            ; No predecessors!
  br label %27865

27865:                                            ; preds = %27864
  br label %27866

27866:                                            ; preds = %27865, %27808
  br label %27867

27867:                                            ; preds = %27866
  br label %27868

27868:                                            ; preds = %27867
  br label %27869

27869:                                            ; preds = %27868
  %27870 = load i32, ptr @test_count, align 4, !tbaa !5
  %27871 = add nsw i32 %27870, 1
  store i32 %27871, ptr @test_count, align 4, !tbaa !5
  %27872 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %558, i32 noundef 0)
  %27873 = icmp eq i32 %27872, -1
  br i1 %27873, label %27874, label %27927

27874:                                            ; preds = %27869
  br label %27875

27875:                                            ; preds = %27874
  br label %27876

27876:                                            ; preds = %27875
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #10
  %27877 = call ptr @__errno_location() #11
  %27878 = load i32, ptr %27877, align 4, !tbaa !5
  store i32 %27878, ptr %560, align 4, !tbaa !5
  %27879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27880 = call i32 @s2n_print_stacktrace(ptr noundef %27879)
  %27881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27882 = trunc i8 %27881 to i1
  br i1 %27882, label %27883, label %27905

27883:                                            ; preds = %27876
  %27884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27885 = call i32 @fileno(ptr noundef %27884) #10
  %27886 = call i32 @isatty(i32 noundef %27885) #10
  %27887 = icmp ne i32 %27886, 0
  br i1 %27887, label %27888, label %27905

27888:                                            ; preds = %27883
  %27889 = load i32, ptr %560, align 4, !tbaa !5
  %27890 = call ptr @__errno_location() #11
  store i32 %27889, ptr %27890, align 4, !tbaa !5
  %27891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27892 = load i32, ptr @test_count, align 4, !tbaa !5
  %27893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27894 = load i32, ptr %27893, align 4, !tbaa !5
  %27895 = call ptr @s2n_strerror(i32 noundef %27894, ptr noundef @.str.65)
  %27896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27897 = load i32, ptr %27896, align 4, !tbaa !5
  %27898 = call ptr @s2n_strerror_debug(i32 noundef %27897, ptr noundef @.str.65)
  %27899 = call ptr @__errno_location() #11
  %27900 = load i32, ptr %27899, align 4, !tbaa !5
  %27901 = call ptr @strerror(i32 noundef %27900) #10
  %27902 = call ptr @__errno_location() #11
  %27903 = load i32, ptr %27902, align 4, !tbaa !5
  %27904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27891, ptr noundef @.str.63, i32 noundef %27892, ptr noundef @.str.211, ptr noundef @.str.62, i32 noundef 1130, ptr noundef %27895, ptr noundef %27898, ptr noundef %27901, i32 noundef %27903) #10
  br label %27922

27905:                                            ; preds = %27883, %27876
  %27906 = load i32, ptr %560, align 4, !tbaa !5
  %27907 = call ptr @__errno_location() #11
  store i32 %27906, ptr %27907, align 4, !tbaa !5
  %27908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27909 = load i32, ptr @test_count, align 4, !tbaa !5
  %27910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27911 = load i32, ptr %27910, align 4, !tbaa !5
  %27912 = call ptr @s2n_strerror(i32 noundef %27911, ptr noundef @.str.65)
  %27913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27914 = load i32, ptr %27913, align 4, !tbaa !5
  %27915 = call ptr @s2n_strerror_debug(i32 noundef %27914, ptr noundef @.str.65)
  %27916 = call ptr @__errno_location() #11
  %27917 = load i32, ptr %27916, align 4, !tbaa !5
  %27918 = call ptr @strerror(i32 noundef %27917) #10
  %27919 = call ptr @__errno_location() #11
  %27920 = load i32, ptr %27919, align 4, !tbaa !5
  %27921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27908, ptr noundef @.str.66, i32 noundef %27909, ptr noundef @.str.211, ptr noundef @.str.62, i32 noundef 1130, ptr noundef %27912, ptr noundef %27915, ptr noundef %27918, i32 noundef %27920) #10
  br label %27922

27922:                                            ; preds = %27905, %27888
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #10
  br label %27923

27923:                                            ; preds = %27922
  br label %27924

27924:                                            ; preds = %27923
  call void @exit(i32 noundef 1) #12
  unreachable

27925:                                            ; No predecessors!
  br label %27926

27926:                                            ; preds = %27925
  br label %27927

27927:                                            ; preds = %27926, %27869
  br label %27928

27928:                                            ; preds = %27927
  br label %27929

27929:                                            ; preds = %27928
  br label %27930

27930:                                            ; preds = %27929
  %27931 = load i32, ptr @test_count, align 4, !tbaa !5
  %27932 = add nsw i32 %27931, 1
  store i32 %27932, ptr @test_count, align 4, !tbaa !5
  %27933 = load ptr, ptr %551, align 8, !tbaa !9
  %27934 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %557, ptr noundef %558, ptr noundef %27933)
  %27935 = icmp eq i32 %27934, -1
  br i1 %27935, label %27936, label %27989

27936:                                            ; preds = %27930
  br label %27937

27937:                                            ; preds = %27936
  br label %27938

27938:                                            ; preds = %27937
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #10
  %27939 = call ptr @__errno_location() #11
  %27940 = load i32, ptr %27939, align 4, !tbaa !5
  store i32 %27940, ptr %561, align 4, !tbaa !5
  %27941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27942 = call i32 @s2n_print_stacktrace(ptr noundef %27941)
  %27943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27944 = trunc i8 %27943 to i1
  br i1 %27944, label %27945, label %27967

27945:                                            ; preds = %27938
  %27946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27947 = call i32 @fileno(ptr noundef %27946) #10
  %27948 = call i32 @isatty(i32 noundef %27947) #10
  %27949 = icmp ne i32 %27948, 0
  br i1 %27949, label %27950, label %27967

27950:                                            ; preds = %27945
  %27951 = load i32, ptr %561, align 4, !tbaa !5
  %27952 = call ptr @__errno_location() #11
  store i32 %27951, ptr %27952, align 4, !tbaa !5
  %27953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27954 = load i32, ptr @test_count, align 4, !tbaa !5
  %27955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27956 = load i32, ptr %27955, align 4, !tbaa !5
  %27957 = call ptr @s2n_strerror(i32 noundef %27956, ptr noundef @.str.65)
  %27958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27959 = load i32, ptr %27958, align 4, !tbaa !5
  %27960 = call ptr @s2n_strerror_debug(i32 noundef %27959, ptr noundef @.str.65)
  %27961 = call ptr @__errno_location() #11
  %27962 = load i32, ptr %27961, align 4, !tbaa !5
  %27963 = call ptr @strerror(i32 noundef %27962) #10
  %27964 = call ptr @__errno_location() #11
  %27965 = load i32, ptr %27964, align 4, !tbaa !5
  %27966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27953, ptr noundef @.str.63, i32 noundef %27954, ptr noundef @.str.212, ptr noundef @.str.62, i32 noundef 1131, ptr noundef %27957, ptr noundef %27960, ptr noundef %27963, i32 noundef %27965) #10
  br label %27984

27967:                                            ; preds = %27945, %27938
  %27968 = load i32, ptr %561, align 4, !tbaa !5
  %27969 = call ptr @__errno_location() #11
  store i32 %27968, ptr %27969, align 4, !tbaa !5
  %27970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27971 = load i32, ptr @test_count, align 4, !tbaa !5
  %27972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27973 = load i32, ptr %27972, align 4, !tbaa !5
  %27974 = call ptr @s2n_strerror(i32 noundef %27973, ptr noundef @.str.65)
  %27975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27976 = load i32, ptr %27975, align 4, !tbaa !5
  %27977 = call ptr @s2n_strerror_debug(i32 noundef %27976, ptr noundef @.str.65)
  %27978 = call ptr @__errno_location() #11
  %27979 = load i32, ptr %27978, align 4, !tbaa !5
  %27980 = call ptr @strerror(i32 noundef %27979) #10
  %27981 = call ptr @__errno_location() #11
  %27982 = load i32, ptr %27981, align 4, !tbaa !5
  %27983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27970, ptr noundef @.str.66, i32 noundef %27971, ptr noundef @.str.212, ptr noundef @.str.62, i32 noundef 1131, ptr noundef %27974, ptr noundef %27977, ptr noundef %27980, i32 noundef %27982) #10
  br label %27984

27984:                                            ; preds = %27967, %27950
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #10
  br label %27985

27985:                                            ; preds = %27984
  br label %27986

27986:                                            ; preds = %27985
  call void @exit(i32 noundef 1) #12
  unreachable

27987:                                            ; No predecessors!
  br label %27988

27988:                                            ; preds = %27987
  br label %27989

27989:                                            ; preds = %27988, %27930
  br label %27990

27990:                                            ; preds = %27989
  br label %27991

27991:                                            ; preds = %27990
  br label %27992

27992:                                            ; preds = %27991
  %27993 = load i32, ptr @test_count, align 4, !tbaa !5
  %27994 = add nsw i32 %27993, 1
  store i32 %27994, ptr @test_count, align 4, !tbaa !5
  %27995 = load ptr, ptr %549, align 8, !tbaa !9
  %27996 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %558, ptr noundef %557, ptr noundef %27995)
  %27997 = icmp eq i32 %27996, -1
  br i1 %27997, label %27998, label %28051

27998:                                            ; preds = %27992
  br label %27999

27999:                                            ; preds = %27998
  br label %28000

28000:                                            ; preds = %27999
  call void @llvm.lifetime.start.p0(i64 4, ptr %562) #10
  %28001 = call ptr @__errno_location() #11
  %28002 = load i32, ptr %28001, align 4, !tbaa !5
  store i32 %28002, ptr %562, align 4, !tbaa !5
  %28003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28004 = call i32 @s2n_print_stacktrace(ptr noundef %28003)
  %28005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28006 = trunc i8 %28005 to i1
  br i1 %28006, label %28007, label %28029

28007:                                            ; preds = %28000
  %28008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28009 = call i32 @fileno(ptr noundef %28008) #10
  %28010 = call i32 @isatty(i32 noundef %28009) #10
  %28011 = icmp ne i32 %28010, 0
  br i1 %28011, label %28012, label %28029

28012:                                            ; preds = %28007
  %28013 = load i32, ptr %562, align 4, !tbaa !5
  %28014 = call ptr @__errno_location() #11
  store i32 %28013, ptr %28014, align 4, !tbaa !5
  %28015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28016 = load i32, ptr @test_count, align 4, !tbaa !5
  %28017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28018 = load i32, ptr %28017, align 4, !tbaa !5
  %28019 = call ptr @s2n_strerror(i32 noundef %28018, ptr noundef @.str.65)
  %28020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28021 = load i32, ptr %28020, align 4, !tbaa !5
  %28022 = call ptr @s2n_strerror_debug(i32 noundef %28021, ptr noundef @.str.65)
  %28023 = call ptr @__errno_location() #11
  %28024 = load i32, ptr %28023, align 4, !tbaa !5
  %28025 = call ptr @strerror(i32 noundef %28024) #10
  %28026 = call ptr @__errno_location() #11
  %28027 = load i32, ptr %28026, align 4, !tbaa !5
  %28028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28015, ptr noundef @.str.63, i32 noundef %28016, ptr noundef @.str.213, ptr noundef @.str.62, i32 noundef 1132, ptr noundef %28019, ptr noundef %28022, ptr noundef %28025, i32 noundef %28027) #10
  br label %28046

28029:                                            ; preds = %28007, %28000
  %28030 = load i32, ptr %562, align 4, !tbaa !5
  %28031 = call ptr @__errno_location() #11
  store i32 %28030, ptr %28031, align 4, !tbaa !5
  %28032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28033 = load i32, ptr @test_count, align 4, !tbaa !5
  %28034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28035 = load i32, ptr %28034, align 4, !tbaa !5
  %28036 = call ptr @s2n_strerror(i32 noundef %28035, ptr noundef @.str.65)
  %28037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28038 = load i32, ptr %28037, align 4, !tbaa !5
  %28039 = call ptr @s2n_strerror_debug(i32 noundef %28038, ptr noundef @.str.65)
  %28040 = call ptr @__errno_location() #11
  %28041 = load i32, ptr %28040, align 4, !tbaa !5
  %28042 = call ptr @strerror(i32 noundef %28041) #10
  %28043 = call ptr @__errno_location() #11
  %28044 = load i32, ptr %28043, align 4, !tbaa !5
  %28045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28032, ptr noundef @.str.66, i32 noundef %28033, ptr noundef @.str.213, ptr noundef @.str.62, i32 noundef 1132, ptr noundef %28036, ptr noundef %28039, ptr noundef %28042, i32 noundef %28044) #10
  br label %28046

28046:                                            ; preds = %28029, %28012
  call void @llvm.lifetime.end.p0(i64 4, ptr %562) #10
  br label %28047

28047:                                            ; preds = %28046
  br label %28048

28048:                                            ; preds = %28047
  call void @exit(i32 noundef 1) #12
  unreachable

28049:                                            ; No predecessors!
  br label %28050

28050:                                            ; preds = %28049
  br label %28051

28051:                                            ; preds = %28050, %27992
  br label %28052

28052:                                            ; preds = %28051
  br label %28053

28053:                                            ; preds = %28052
  br label %28054

28054:                                            ; preds = %28053
  %28055 = load i32, ptr @test_count, align 4, !tbaa !5
  %28056 = add nsw i32 %28055, 1
  store i32 %28056, ptr @test_count, align 4, !tbaa !5
  %28057 = load ptr, ptr %20, align 8, !tbaa !9
  %28058 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %28057, ptr noundef @s2n_wipe_psk_ke_ext, ptr noundef null)
  %28059 = icmp eq i32 %28058, -1
  br i1 %28059, label %28060, label %28113

28060:                                            ; preds = %28054
  br label %28061

28061:                                            ; preds = %28060
  br label %28062

28062:                                            ; preds = %28061
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #10
  %28063 = call ptr @__errno_location() #11
  %28064 = load i32, ptr %28063, align 4, !tbaa !5
  store i32 %28064, ptr %563, align 4, !tbaa !5
  %28065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28066 = call i32 @s2n_print_stacktrace(ptr noundef %28065)
  %28067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28068 = trunc i8 %28067 to i1
  br i1 %28068, label %28069, label %28091

28069:                                            ; preds = %28062
  %28070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28071 = call i32 @fileno(ptr noundef %28070) #10
  %28072 = call i32 @isatty(i32 noundef %28071) #10
  %28073 = icmp ne i32 %28072, 0
  br i1 %28073, label %28074, label %28091

28074:                                            ; preds = %28069
  %28075 = load i32, ptr %563, align 4, !tbaa !5
  %28076 = call ptr @__errno_location() #11
  store i32 %28075, ptr %28076, align 4, !tbaa !5
  %28077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28078 = load i32, ptr @test_count, align 4, !tbaa !5
  %28079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28080 = load i32, ptr %28079, align 4, !tbaa !5
  %28081 = call ptr @s2n_strerror(i32 noundef %28080, ptr noundef @.str.65)
  %28082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28083 = load i32, ptr %28082, align 4, !tbaa !5
  %28084 = call ptr @s2n_strerror_debug(i32 noundef %28083, ptr noundef @.str.65)
  %28085 = call ptr @__errno_location() #11
  %28086 = load i32, ptr %28085, align 4, !tbaa !5
  %28087 = call ptr @strerror(i32 noundef %28086) #10
  %28088 = call ptr @__errno_location() #11
  %28089 = load i32, ptr %28088, align 4, !tbaa !5
  %28090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28077, ptr noundef @.str.63, i32 noundef %28078, ptr noundef @.str.214, ptr noundef @.str.62, i32 noundef 1135, ptr noundef %28081, ptr noundef %28084, ptr noundef %28087, i32 noundef %28089) #10
  br label %28108

28091:                                            ; preds = %28069, %28062
  %28092 = load i32, ptr %563, align 4, !tbaa !5
  %28093 = call ptr @__errno_location() #11
  store i32 %28092, ptr %28093, align 4, !tbaa !5
  %28094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28095 = load i32, ptr @test_count, align 4, !tbaa !5
  %28096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28097 = load i32, ptr %28096, align 4, !tbaa !5
  %28098 = call ptr @s2n_strerror(i32 noundef %28097, ptr noundef @.str.65)
  %28099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28100 = load i32, ptr %28099, align 4, !tbaa !5
  %28101 = call ptr @s2n_strerror_debug(i32 noundef %28100, ptr noundef @.str.65)
  %28102 = call ptr @__errno_location() #11
  %28103 = load i32, ptr %28102, align 4, !tbaa !5
  %28104 = call ptr @strerror(i32 noundef %28103) #10
  %28105 = call ptr @__errno_location() #11
  %28106 = load i32, ptr %28105, align 4, !tbaa !5
  %28107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28094, ptr noundef @.str.66, i32 noundef %28095, ptr noundef @.str.214, ptr noundef @.str.62, i32 noundef 1135, ptr noundef %28098, ptr noundef %28101, ptr noundef %28104, i32 noundef %28106) #10
  br label %28108

28108:                                            ; preds = %28091, %28074
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #10
  br label %28109

28109:                                            ; preds = %28108
  br label %28110

28110:                                            ; preds = %28109
  call void @exit(i32 noundef 1) #12
  unreachable

28111:                                            ; No predecessors!
  br label %28112

28112:                                            ; preds = %28111
  br label %28113

28113:                                            ; preds = %28112, %28054
  br label %28114

28114:                                            ; preds = %28113
  br label %28115

28115:                                            ; preds = %28114
  br label %28116

28116:                                            ; preds = %28115
  %28117 = load i32, ptr @test_count, align 4, !tbaa !5
  %28118 = add nsw i32 %28117, 1
  store i32 %28118, ptr @test_count, align 4, !tbaa !5
  %28119 = load ptr, ptr %551, align 8, !tbaa !9
  %28120 = load ptr, ptr %549, align 8, !tbaa !9
  %28121 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %28119, ptr noundef %28120)
  %28122 = icmp eq i32 %28121, -1
  br i1 %28122, label %28123, label %28176

28123:                                            ; preds = %28116
  br label %28124

28124:                                            ; preds = %28123
  br label %28125

28125:                                            ; preds = %28124
  call void @llvm.lifetime.start.p0(i64 4, ptr %564) #10
  %28126 = call ptr @__errno_location() #11
  %28127 = load i32, ptr %28126, align 4, !tbaa !5
  store i32 %28127, ptr %564, align 4, !tbaa !5
  %28128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28129 = call i32 @s2n_print_stacktrace(ptr noundef %28128)
  %28130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28131 = trunc i8 %28130 to i1
  br i1 %28131, label %28132, label %28154

28132:                                            ; preds = %28125
  %28133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28134 = call i32 @fileno(ptr noundef %28133) #10
  %28135 = call i32 @isatty(i32 noundef %28134) #10
  %28136 = icmp ne i32 %28135, 0
  br i1 %28136, label %28137, label %28154

28137:                                            ; preds = %28132
  %28138 = load i32, ptr %564, align 4, !tbaa !5
  %28139 = call ptr @__errno_location() #11
  store i32 %28138, ptr %28139, align 4, !tbaa !5
  %28140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28141 = load i32, ptr @test_count, align 4, !tbaa !5
  %28142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28143 = load i32, ptr %28142, align 4, !tbaa !5
  %28144 = call ptr @s2n_strerror(i32 noundef %28143, ptr noundef @.str.65)
  %28145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28146 = load i32, ptr %28145, align 4, !tbaa !5
  %28147 = call ptr @s2n_strerror_debug(i32 noundef %28146, ptr noundef @.str.65)
  %28148 = call ptr @__errno_location() #11
  %28149 = load i32, ptr %28148, align 4, !tbaa !5
  %28150 = call ptr @strerror(i32 noundef %28149) #10
  %28151 = call ptr @__errno_location() #11
  %28152 = load i32, ptr %28151, align 4, !tbaa !5
  %28153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28140, ptr noundef @.str.63, i32 noundef %28141, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1138, ptr noundef %28144, ptr noundef %28147, ptr noundef %28150, i32 noundef %28152) #10
  br label %28171

28154:                                            ; preds = %28132, %28125
  %28155 = load i32, ptr %564, align 4, !tbaa !5
  %28156 = call ptr @__errno_location() #11
  store i32 %28155, ptr %28156, align 4, !tbaa !5
  %28157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28158 = load i32, ptr @test_count, align 4, !tbaa !5
  %28159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28160 = load i32, ptr %28159, align 4, !tbaa !5
  %28161 = call ptr @s2n_strerror(i32 noundef %28160, ptr noundef @.str.65)
  %28162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28163 = load i32, ptr %28162, align 4, !tbaa !5
  %28164 = call ptr @s2n_strerror_debug(i32 noundef %28163, ptr noundef @.str.65)
  %28165 = call ptr @__errno_location() #11
  %28166 = load i32, ptr %28165, align 4, !tbaa !5
  %28167 = call ptr @strerror(i32 noundef %28166) #10
  %28168 = call ptr @__errno_location() #11
  %28169 = load i32, ptr %28168, align 4, !tbaa !5
  %28170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28157, ptr noundef @.str.66, i32 noundef %28158, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1138, ptr noundef %28161, ptr noundef %28164, ptr noundef %28167, i32 noundef %28169) #10
  br label %28171

28171:                                            ; preds = %28154, %28137
  call void @llvm.lifetime.end.p0(i64 4, ptr %564) #10
  br label %28172

28172:                                            ; preds = %28171
  br label %28173

28173:                                            ; preds = %28172
  call void @exit(i32 noundef 1) #12
  unreachable

28174:                                            ; No predecessors!
  br label %28175

28175:                                            ; preds = %28174
  br label %28176

28176:                                            ; preds = %28175, %28116
  br label %28177

28177:                                            ; preds = %28176
  br label %28178

28178:                                            ; preds = %28177
  call void @llvm.lifetime.start.p0(i64 2, ptr %565) #10
  store i16 0, ptr %565, align 2, !tbaa !81
  br label %28179

28179:                                            ; preds = %28178
  %28180 = load i32, ptr @test_count, align 4, !tbaa !5
  %28181 = add nsw i32 %28180, 1
  store i32 %28181, ptr @test_count, align 4, !tbaa !5
  %28182 = load ptr, ptr %551, align 8, !tbaa !9
  %28183 = call i32 @s2n_connection_get_tickets_sent(ptr noundef %28182, ptr noundef %565)
  %28184 = icmp eq i32 %28183, -1
  br i1 %28184, label %28185, label %28238

28185:                                            ; preds = %28179
  br label %28186

28186:                                            ; preds = %28185
  br label %28187

28187:                                            ; preds = %28186
  call void @llvm.lifetime.start.p0(i64 4, ptr %566) #10
  %28188 = call ptr @__errno_location() #11
  %28189 = load i32, ptr %28188, align 4, !tbaa !5
  store i32 %28189, ptr %566, align 4, !tbaa !5
  %28190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28191 = call i32 @s2n_print_stacktrace(ptr noundef %28190)
  %28192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28193 = trunc i8 %28192 to i1
  br i1 %28193, label %28194, label %28216

28194:                                            ; preds = %28187
  %28195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28196 = call i32 @fileno(ptr noundef %28195) #10
  %28197 = call i32 @isatty(i32 noundef %28196) #10
  %28198 = icmp ne i32 %28197, 0
  br i1 %28198, label %28199, label %28216

28199:                                            ; preds = %28194
  %28200 = load i32, ptr %566, align 4, !tbaa !5
  %28201 = call ptr @__errno_location() #11
  store i32 %28200, ptr %28201, align 4, !tbaa !5
  %28202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28203 = load i32, ptr @test_count, align 4, !tbaa !5
  %28204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28205 = load i32, ptr %28204, align 4, !tbaa !5
  %28206 = call ptr @s2n_strerror(i32 noundef %28205, ptr noundef @.str.65)
  %28207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28208 = load i32, ptr %28207, align 4, !tbaa !5
  %28209 = call ptr @s2n_strerror_debug(i32 noundef %28208, ptr noundef @.str.65)
  %28210 = call ptr @__errno_location() #11
  %28211 = load i32, ptr %28210, align 4, !tbaa !5
  %28212 = call ptr @strerror(i32 noundef %28211) #10
  %28213 = call ptr @__errno_location() #11
  %28214 = load i32, ptr %28213, align 4, !tbaa !5
  %28215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28202, ptr noundef @.str.63, i32 noundef %28203, ptr noundef @.str.215, ptr noundef @.str.62, i32 noundef 1142, ptr noundef %28206, ptr noundef %28209, ptr noundef %28212, i32 noundef %28214) #10
  br label %28233

28216:                                            ; preds = %28194, %28187
  %28217 = load i32, ptr %566, align 4, !tbaa !5
  %28218 = call ptr @__errno_location() #11
  store i32 %28217, ptr %28218, align 4, !tbaa !5
  %28219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28220 = load i32, ptr @test_count, align 4, !tbaa !5
  %28221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28222 = load i32, ptr %28221, align 4, !tbaa !5
  %28223 = call ptr @s2n_strerror(i32 noundef %28222, ptr noundef @.str.65)
  %28224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28225 = load i32, ptr %28224, align 4, !tbaa !5
  %28226 = call ptr @s2n_strerror_debug(i32 noundef %28225, ptr noundef @.str.65)
  %28227 = call ptr @__errno_location() #11
  %28228 = load i32, ptr %28227, align 4, !tbaa !5
  %28229 = call ptr @strerror(i32 noundef %28228) #10
  %28230 = call ptr @__errno_location() #11
  %28231 = load i32, ptr %28230, align 4, !tbaa !5
  %28232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28219, ptr noundef @.str.66, i32 noundef %28220, ptr noundef @.str.215, ptr noundef @.str.62, i32 noundef 1142, ptr noundef %28223, ptr noundef %28226, ptr noundef %28229, i32 noundef %28231) #10
  br label %28233

28233:                                            ; preds = %28216, %28199
  call void @llvm.lifetime.end.p0(i64 4, ptr %566) #10
  br label %28234

28234:                                            ; preds = %28233
  br label %28235

28235:                                            ; preds = %28234
  call void @exit(i32 noundef 1) #12
  unreachable

28236:                                            ; No predecessors!
  br label %28237

28237:                                            ; preds = %28236
  br label %28238

28238:                                            ; preds = %28237, %28179
  br label %28239

28239:                                            ; preds = %28238
  br label %28240

28240:                                            ; preds = %28239
  br label %28241

28241:                                            ; preds = %28240
  %28242 = load i32, ptr @test_count, align 4, !tbaa !5
  %28243 = add nsw i32 %28242, 1
  store i32 %28243, ptr @test_count, align 4, !tbaa !5
  %28244 = load i16, ptr %565, align 2, !tbaa !81
  %28245 = zext i16 %28244 to i32
  %28246 = icmp eq i32 %28245, 0
  br i1 %28246, label %28300, label %28247

28247:                                            ; preds = %28241
  br label %28248

28248:                                            ; preds = %28247
  br label %28249

28249:                                            ; preds = %28248
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #10
  %28250 = call ptr @__errno_location() #11
  %28251 = load i32, ptr %28250, align 4, !tbaa !5
  store i32 %28251, ptr %567, align 4, !tbaa !5
  %28252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28253 = call i32 @s2n_print_stacktrace(ptr noundef %28252)
  %28254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28255 = trunc i8 %28254 to i1
  br i1 %28255, label %28256, label %28278

28256:                                            ; preds = %28249
  %28257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28258 = call i32 @fileno(ptr noundef %28257) #10
  %28259 = call i32 @isatty(i32 noundef %28258) #10
  %28260 = icmp ne i32 %28259, 0
  br i1 %28260, label %28261, label %28278

28261:                                            ; preds = %28256
  %28262 = load i32, ptr %567, align 4, !tbaa !5
  %28263 = call ptr @__errno_location() #11
  store i32 %28262, ptr %28263, align 4, !tbaa !5
  %28264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28265 = load i32, ptr @test_count, align 4, !tbaa !5
  %28266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28267 = load i32, ptr %28266, align 4, !tbaa !5
  %28268 = call ptr @s2n_strerror(i32 noundef %28267, ptr noundef @.str.65)
  %28269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28270 = load i32, ptr %28269, align 4, !tbaa !5
  %28271 = call ptr @s2n_strerror_debug(i32 noundef %28270, ptr noundef @.str.65)
  %28272 = call ptr @__errno_location() #11
  %28273 = load i32, ptr %28272, align 4, !tbaa !5
  %28274 = call ptr @strerror(i32 noundef %28273) #10
  %28275 = call ptr @__errno_location() #11
  %28276 = load i32, ptr %28275, align 4, !tbaa !5
  %28277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28264, ptr noundef @.str.63, i32 noundef %28265, ptr noundef @.str.216, ptr noundef @.str.62, i32 noundef 1143, ptr noundef %28268, ptr noundef %28271, ptr noundef %28274, i32 noundef %28276) #10
  br label %28295

28278:                                            ; preds = %28256, %28249
  %28279 = load i32, ptr %567, align 4, !tbaa !5
  %28280 = call ptr @__errno_location() #11
  store i32 %28279, ptr %28280, align 4, !tbaa !5
  %28281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28282 = load i32, ptr @test_count, align 4, !tbaa !5
  %28283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28284 = load i32, ptr %28283, align 4, !tbaa !5
  %28285 = call ptr @s2n_strerror(i32 noundef %28284, ptr noundef @.str.65)
  %28286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28287 = load i32, ptr %28286, align 4, !tbaa !5
  %28288 = call ptr @s2n_strerror_debug(i32 noundef %28287, ptr noundef @.str.65)
  %28289 = call ptr @__errno_location() #11
  %28290 = load i32, ptr %28289, align 4, !tbaa !5
  %28291 = call ptr @strerror(i32 noundef %28290) #10
  %28292 = call ptr @__errno_location() #11
  %28293 = load i32, ptr %28292, align 4, !tbaa !5
  %28294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28281, ptr noundef @.str.66, i32 noundef %28282, ptr noundef @.str.216, ptr noundef @.str.62, i32 noundef 1143, ptr noundef %28285, ptr noundef %28288, ptr noundef %28291, i32 noundef %28293) #10
  br label %28295

28295:                                            ; preds = %28278, %28261
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #10
  br label %28296

28296:                                            ; preds = %28295
  br label %28297

28297:                                            ; preds = %28296
  call void @exit(i32 noundef 1) #12
  unreachable

28298:                                            ; No predecessors!
  br label %28299

28299:                                            ; preds = %28298
  br label %28300

28300:                                            ; preds = %28299, %28241
  br label %28301

28301:                                            ; preds = %28300
  br label %28302

28302:                                            ; preds = %28301
  call void @llvm.lifetime.end.p0(i64 2, ptr %565) #10
  %28303 = call i32 @s2n_stuffer_free(ptr noundef %558)
  call void @llvm.lifetime.end.p0(i64 40, ptr %558) #10
  %28304 = call i32 @s2n_stuffer_free(ptr noundef %557)
  call void @llvm.lifetime.end.p0(i64 40, ptr %557) #10
  %28305 = call i32 @s2n_connection_ptr_free(ptr noundef %551)
  %28306 = getelementptr inbounds %struct.s2n_result, ptr %568, i32 0, i32 0
  store i32 %28305, ptr %28306, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %551) #10
  %28307 = call i32 @s2n_connection_ptr_free(ptr noundef %549)
  %28308 = getelementptr inbounds %struct.s2n_result, ptr %569, i32 0, i32 0
  store i32 %28307, ptr %28308, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %549) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %570) #10
  %28309 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %28309, ptr %570, align 8, !tbaa !9
  br label %28310

28310:                                            ; preds = %28302
  %28311 = load i32, ptr @test_count, align 4, !tbaa !5
  %28312 = add nsw i32 %28311, 1
  store i32 %28312, ptr @test_count, align 4, !tbaa !5
  %28313 = load ptr, ptr %570, align 8, !tbaa !9
  %28314 = icmp eq ptr %28313, null
  br i1 %28314, label %28315, label %28368

28315:                                            ; preds = %28310
  br label %28316

28316:                                            ; preds = %28315
  br label %28317

28317:                                            ; preds = %28316
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #10
  %28318 = call ptr @__errno_location() #11
  %28319 = load i32, ptr %28318, align 4, !tbaa !5
  store i32 %28319, ptr %571, align 4, !tbaa !5
  %28320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28321 = call i32 @s2n_print_stacktrace(ptr noundef %28320)
  %28322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28323 = trunc i8 %28322 to i1
  br i1 %28323, label %28324, label %28346

28324:                                            ; preds = %28317
  %28325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28326 = call i32 @fileno(ptr noundef %28325) #10
  %28327 = call i32 @isatty(i32 noundef %28326) #10
  %28328 = icmp ne i32 %28327, 0
  br i1 %28328, label %28329, label %28346

28329:                                            ; preds = %28324
  %28330 = load i32, ptr %571, align 4, !tbaa !5
  %28331 = call ptr @__errno_location() #11
  store i32 %28330, ptr %28331, align 4, !tbaa !5
  %28332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28333 = load i32, ptr @test_count, align 4, !tbaa !5
  %28334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28335 = load i32, ptr %28334, align 4, !tbaa !5
  %28336 = call ptr @s2n_strerror(i32 noundef %28335, ptr noundef @.str.65)
  %28337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28338 = load i32, ptr %28337, align 4, !tbaa !5
  %28339 = call ptr @s2n_strerror_debug(i32 noundef %28338, ptr noundef @.str.65)
  %28340 = call ptr @__errno_location() #11
  %28341 = load i32, ptr %28340, align 4, !tbaa !5
  %28342 = call ptr @strerror(i32 noundef %28341) #10
  %28343 = call ptr @__errno_location() #11
  %28344 = load i32, ptr %28343, align 4, !tbaa !5
  %28345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28332, ptr noundef @.str.63, i32 noundef %28333, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1149, ptr noundef %28336, ptr noundef %28339, ptr noundef %28342, i32 noundef %28344) #10
  br label %28363

28346:                                            ; preds = %28324, %28317
  %28347 = load i32, ptr %571, align 4, !tbaa !5
  %28348 = call ptr @__errno_location() #11
  store i32 %28347, ptr %28348, align 4, !tbaa !5
  %28349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28350 = load i32, ptr @test_count, align 4, !tbaa !5
  %28351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28352 = load i32, ptr %28351, align 4, !tbaa !5
  %28353 = call ptr @s2n_strerror(i32 noundef %28352, ptr noundef @.str.65)
  %28354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28355 = load i32, ptr %28354, align 4, !tbaa !5
  %28356 = call ptr @s2n_strerror_debug(i32 noundef %28355, ptr noundef @.str.65)
  %28357 = call ptr @__errno_location() #11
  %28358 = load i32, ptr %28357, align 4, !tbaa !5
  %28359 = call ptr @strerror(i32 noundef %28358) #10
  %28360 = call ptr @__errno_location() #11
  %28361 = load i32, ptr %28360, align 4, !tbaa !5
  %28362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28349, ptr noundef @.str.66, i32 noundef %28350, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1149, ptr noundef %28353, ptr noundef %28356, ptr noundef %28359, i32 noundef %28361) #10
  br label %28363

28363:                                            ; preds = %28346, %28329
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #10
  br label %28364

28364:                                            ; preds = %28363
  br label %28365

28365:                                            ; preds = %28364
  call void @exit(i32 noundef 1) #12
  unreachable

28366:                                            ; No predecessors!
  br label %28367

28367:                                            ; preds = %28366
  br label %28368

28368:                                            ; preds = %28367, %28310
  br label %28369

28369:                                            ; preds = %28368
  br label %28370

28370:                                            ; preds = %28369
  call void @llvm.lifetime.start.p0(i64 8, ptr %572) #10
  %28371 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %28371, ptr %572, align 8, !tbaa !9
  br label %28372

28372:                                            ; preds = %28370
  %28373 = load i32, ptr @test_count, align 4, !tbaa !5
  %28374 = add nsw i32 %28373, 1
  store i32 %28374, ptr @test_count, align 4, !tbaa !5
  %28375 = load ptr, ptr %572, align 8, !tbaa !9
  %28376 = icmp eq ptr %28375, null
  br i1 %28376, label %28377, label %28430

28377:                                            ; preds = %28372
  br label %28378

28378:                                            ; preds = %28377
  br label %28379

28379:                                            ; preds = %28378
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #10
  %28380 = call ptr @__errno_location() #11
  %28381 = load i32, ptr %28380, align 4, !tbaa !5
  store i32 %28381, ptr %573, align 4, !tbaa !5
  %28382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28383 = call i32 @s2n_print_stacktrace(ptr noundef %28382)
  %28384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28385 = trunc i8 %28384 to i1
  br i1 %28385, label %28386, label %28408

28386:                                            ; preds = %28379
  %28387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28388 = call i32 @fileno(ptr noundef %28387) #10
  %28389 = call i32 @isatty(i32 noundef %28388) #10
  %28390 = icmp ne i32 %28389, 0
  br i1 %28390, label %28391, label %28408

28391:                                            ; preds = %28386
  %28392 = load i32, ptr %573, align 4, !tbaa !5
  %28393 = call ptr @__errno_location() #11
  store i32 %28392, ptr %28393, align 4, !tbaa !5
  %28394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28395 = load i32, ptr @test_count, align 4, !tbaa !5
  %28396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28397 = load i32, ptr %28396, align 4, !tbaa !5
  %28398 = call ptr @s2n_strerror(i32 noundef %28397, ptr noundef @.str.65)
  %28399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28400 = load i32, ptr %28399, align 4, !tbaa !5
  %28401 = call ptr @s2n_strerror_debug(i32 noundef %28400, ptr noundef @.str.65)
  %28402 = call ptr @__errno_location() #11
  %28403 = load i32, ptr %28402, align 4, !tbaa !5
  %28404 = call ptr @strerror(i32 noundef %28403) #10
  %28405 = call ptr @__errno_location() #11
  %28406 = load i32, ptr %28405, align 4, !tbaa !5
  %28407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28394, ptr noundef @.str.63, i32 noundef %28395, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1152, ptr noundef %28398, ptr noundef %28401, ptr noundef %28404, i32 noundef %28406) #10
  br label %28425

28408:                                            ; preds = %28386, %28379
  %28409 = load i32, ptr %573, align 4, !tbaa !5
  %28410 = call ptr @__errno_location() #11
  store i32 %28409, ptr %28410, align 4, !tbaa !5
  %28411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28412 = load i32, ptr @test_count, align 4, !tbaa !5
  %28413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28414 = load i32, ptr %28413, align 4, !tbaa !5
  %28415 = call ptr @s2n_strerror(i32 noundef %28414, ptr noundef @.str.65)
  %28416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28417 = load i32, ptr %28416, align 4, !tbaa !5
  %28418 = call ptr @s2n_strerror_debug(i32 noundef %28417, ptr noundef @.str.65)
  %28419 = call ptr @__errno_location() #11
  %28420 = load i32, ptr %28419, align 4, !tbaa !5
  %28421 = call ptr @strerror(i32 noundef %28420) #10
  %28422 = call ptr @__errno_location() #11
  %28423 = load i32, ptr %28422, align 4, !tbaa !5
  %28424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28411, ptr noundef @.str.66, i32 noundef %28412, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1152, ptr noundef %28415, ptr noundef %28418, ptr noundef %28421, i32 noundef %28423) #10
  br label %28425

28425:                                            ; preds = %28408, %28391
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #10
  br label %28426

28426:                                            ; preds = %28425
  br label %28427

28427:                                            ; preds = %28426
  call void @exit(i32 noundef 1) #12
  unreachable

28428:                                            ; No predecessors!
  br label %28429

28429:                                            ; preds = %28428
  br label %28430

28430:                                            ; preds = %28429, %28372
  br label %28431

28431:                                            ; preds = %28430
  br label %28432

28432:                                            ; preds = %28431
  br label %28433

28433:                                            ; preds = %28432
  %28434 = load i32, ptr @test_count, align 4, !tbaa !5
  %28435 = add nsw i32 %28434, 1
  store i32 %28435, ptr @test_count, align 4, !tbaa !5
  %28436 = load ptr, ptr %570, align 8, !tbaa !9
  %28437 = load ptr, ptr %40, align 8, !tbaa !9
  %28438 = call i32 @s2n_connection_set_config(ptr noundef %28436, ptr noundef %28437)
  %28439 = icmp eq i32 %28438, -1
  br i1 %28439, label %28440, label %28493

28440:                                            ; preds = %28433
  br label %28441

28441:                                            ; preds = %28440
  br label %28442

28442:                                            ; preds = %28441
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #10
  %28443 = call ptr @__errno_location() #11
  %28444 = load i32, ptr %28443, align 4, !tbaa !5
  store i32 %28444, ptr %574, align 4, !tbaa !5
  %28445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28446 = call i32 @s2n_print_stacktrace(ptr noundef %28445)
  %28447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28448 = trunc i8 %28447 to i1
  br i1 %28448, label %28449, label %28471

28449:                                            ; preds = %28442
  %28450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28451 = call i32 @fileno(ptr noundef %28450) #10
  %28452 = call i32 @isatty(i32 noundef %28451) #10
  %28453 = icmp ne i32 %28452, 0
  br i1 %28453, label %28454, label %28471

28454:                                            ; preds = %28449
  %28455 = load i32, ptr %574, align 4, !tbaa !5
  %28456 = call ptr @__errno_location() #11
  store i32 %28455, ptr %28456, align 4, !tbaa !5
  %28457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28458 = load i32, ptr @test_count, align 4, !tbaa !5
  %28459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28460 = load i32, ptr %28459, align 4, !tbaa !5
  %28461 = call ptr @s2n_strerror(i32 noundef %28460, ptr noundef @.str.65)
  %28462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28463 = load i32, ptr %28462, align 4, !tbaa !5
  %28464 = call ptr @s2n_strerror_debug(i32 noundef %28463, ptr noundef @.str.65)
  %28465 = call ptr @__errno_location() #11
  %28466 = load i32, ptr %28465, align 4, !tbaa !5
  %28467 = call ptr @strerror(i32 noundef %28466) #10
  %28468 = call ptr @__errno_location() #11
  %28469 = load i32, ptr %28468, align 4, !tbaa !5
  %28470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28457, ptr noundef @.str.63, i32 noundef %28458, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1154, ptr noundef %28461, ptr noundef %28464, ptr noundef %28467, i32 noundef %28469) #10
  br label %28488

28471:                                            ; preds = %28449, %28442
  %28472 = load i32, ptr %574, align 4, !tbaa !5
  %28473 = call ptr @__errno_location() #11
  store i32 %28472, ptr %28473, align 4, !tbaa !5
  %28474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28475 = load i32, ptr @test_count, align 4, !tbaa !5
  %28476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28477 = load i32, ptr %28476, align 4, !tbaa !5
  %28478 = call ptr @s2n_strerror(i32 noundef %28477, ptr noundef @.str.65)
  %28479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28480 = load i32, ptr %28479, align 4, !tbaa !5
  %28481 = call ptr @s2n_strerror_debug(i32 noundef %28480, ptr noundef @.str.65)
  %28482 = call ptr @__errno_location() #11
  %28483 = load i32, ptr %28482, align 4, !tbaa !5
  %28484 = call ptr @strerror(i32 noundef %28483) #10
  %28485 = call ptr @__errno_location() #11
  %28486 = load i32, ptr %28485, align 4, !tbaa !5
  %28487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28474, ptr noundef @.str.66, i32 noundef %28475, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1154, ptr noundef %28478, ptr noundef %28481, ptr noundef %28484, i32 noundef %28486) #10
  br label %28488

28488:                                            ; preds = %28471, %28454
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #10
  br label %28489

28489:                                            ; preds = %28488
  br label %28490

28490:                                            ; preds = %28489
  call void @exit(i32 noundef 1) #12
  unreachable

28491:                                            ; No predecessors!
  br label %28492

28492:                                            ; preds = %28491
  br label %28493

28493:                                            ; preds = %28492, %28433
  br label %28494

28494:                                            ; preds = %28493
  br label %28495

28495:                                            ; preds = %28494
  br label %28496

28496:                                            ; preds = %28495
  %28497 = load i32, ptr @test_count, align 4, !tbaa !5
  %28498 = add nsw i32 %28497, 1
  store i32 %28498, ptr @test_count, align 4, !tbaa !5
  %28499 = load ptr, ptr %572, align 8, !tbaa !9
  %28500 = load ptr, ptr %20, align 8, !tbaa !9
  %28501 = call i32 @s2n_connection_set_config(ptr noundef %28499, ptr noundef %28500)
  %28502 = icmp eq i32 %28501, -1
  br i1 %28502, label %28503, label %28556

28503:                                            ; preds = %28496
  br label %28504

28504:                                            ; preds = %28503
  br label %28505

28505:                                            ; preds = %28504
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #10
  %28506 = call ptr @__errno_location() #11
  %28507 = load i32, ptr %28506, align 4, !tbaa !5
  store i32 %28507, ptr %575, align 4, !tbaa !5
  %28508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28509 = call i32 @s2n_print_stacktrace(ptr noundef %28508)
  %28510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28511 = trunc i8 %28510 to i1
  br i1 %28511, label %28512, label %28534

28512:                                            ; preds = %28505
  %28513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28514 = call i32 @fileno(ptr noundef %28513) #10
  %28515 = call i32 @isatty(i32 noundef %28514) #10
  %28516 = icmp ne i32 %28515, 0
  br i1 %28516, label %28517, label %28534

28517:                                            ; preds = %28512
  %28518 = load i32, ptr %575, align 4, !tbaa !5
  %28519 = call ptr @__errno_location() #11
  store i32 %28518, ptr %28519, align 4, !tbaa !5
  %28520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28521 = load i32, ptr @test_count, align 4, !tbaa !5
  %28522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28523 = load i32, ptr %28522, align 4, !tbaa !5
  %28524 = call ptr @s2n_strerror(i32 noundef %28523, ptr noundef @.str.65)
  %28525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28526 = load i32, ptr %28525, align 4, !tbaa !5
  %28527 = call ptr @s2n_strerror_debug(i32 noundef %28526, ptr noundef @.str.65)
  %28528 = call ptr @__errno_location() #11
  %28529 = load i32, ptr %28528, align 4, !tbaa !5
  %28530 = call ptr @strerror(i32 noundef %28529) #10
  %28531 = call ptr @__errno_location() #11
  %28532 = load i32, ptr %28531, align 4, !tbaa !5
  %28533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28520, ptr noundef @.str.63, i32 noundef %28521, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1155, ptr noundef %28524, ptr noundef %28527, ptr noundef %28530, i32 noundef %28532) #10
  br label %28551

28534:                                            ; preds = %28512, %28505
  %28535 = load i32, ptr %575, align 4, !tbaa !5
  %28536 = call ptr @__errno_location() #11
  store i32 %28535, ptr %28536, align 4, !tbaa !5
  %28537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28538 = load i32, ptr @test_count, align 4, !tbaa !5
  %28539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28540 = load i32, ptr %28539, align 4, !tbaa !5
  %28541 = call ptr @s2n_strerror(i32 noundef %28540, ptr noundef @.str.65)
  %28542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28543 = load i32, ptr %28542, align 4, !tbaa !5
  %28544 = call ptr @s2n_strerror_debug(i32 noundef %28543, ptr noundef @.str.65)
  %28545 = call ptr @__errno_location() #11
  %28546 = load i32, ptr %28545, align 4, !tbaa !5
  %28547 = call ptr @strerror(i32 noundef %28546) #10
  %28548 = call ptr @__errno_location() #11
  %28549 = load i32, ptr %28548, align 4, !tbaa !5
  %28550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28537, ptr noundef @.str.66, i32 noundef %28538, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1155, ptr noundef %28541, ptr noundef %28544, ptr noundef %28547, i32 noundef %28549) #10
  br label %28551

28551:                                            ; preds = %28534, %28517
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #10
  br label %28552

28552:                                            ; preds = %28551
  br label %28553

28553:                                            ; preds = %28552
  call void @exit(i32 noundef 1) #12
  unreachable

28554:                                            ; No predecessors!
  br label %28555

28555:                                            ; preds = %28554
  br label %28556

28556:                                            ; preds = %28555, %28496
  br label %28557

28557:                                            ; preds = %28556
  br label %28558

28558:                                            ; preds = %28557
  br label %28559

28559:                                            ; preds = %28558
  %28560 = load i32, ptr @test_count, align 4, !tbaa !5
  %28561 = add nsw i32 %28560, 1
  store i32 %28561, ptr @test_count, align 4, !tbaa !5
  %28562 = load ptr, ptr %570, align 8, !tbaa !9
  %28563 = call i32 @s2n_connection_enable_quic(ptr noundef %28562)
  %28564 = icmp eq i32 %28563, -1
  br i1 %28564, label %28565, label %28618

28565:                                            ; preds = %28559
  br label %28566

28566:                                            ; preds = %28565
  br label %28567

28567:                                            ; preds = %28566
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #10
  %28568 = call ptr @__errno_location() #11
  %28569 = load i32, ptr %28568, align 4, !tbaa !5
  store i32 %28569, ptr %576, align 4, !tbaa !5
  %28570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28571 = call i32 @s2n_print_stacktrace(ptr noundef %28570)
  %28572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28573 = trunc i8 %28572 to i1
  br i1 %28573, label %28574, label %28596

28574:                                            ; preds = %28567
  %28575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28576 = call i32 @fileno(ptr noundef %28575) #10
  %28577 = call i32 @isatty(i32 noundef %28576) #10
  %28578 = icmp ne i32 %28577, 0
  br i1 %28578, label %28579, label %28596

28579:                                            ; preds = %28574
  %28580 = load i32, ptr %576, align 4, !tbaa !5
  %28581 = call ptr @__errno_location() #11
  store i32 %28580, ptr %28581, align 4, !tbaa !5
  %28582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28583 = load i32, ptr @test_count, align 4, !tbaa !5
  %28584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28585 = load i32, ptr %28584, align 4, !tbaa !5
  %28586 = call ptr @s2n_strerror(i32 noundef %28585, ptr noundef @.str.65)
  %28587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28588 = load i32, ptr %28587, align 4, !tbaa !5
  %28589 = call ptr @s2n_strerror_debug(i32 noundef %28588, ptr noundef @.str.65)
  %28590 = call ptr @__errno_location() #11
  %28591 = load i32, ptr %28590, align 4, !tbaa !5
  %28592 = call ptr @strerror(i32 noundef %28591) #10
  %28593 = call ptr @__errno_location() #11
  %28594 = load i32, ptr %28593, align 4, !tbaa !5
  %28595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28582, ptr noundef @.str.63, i32 noundef %28583, ptr noundef @.str.208, ptr noundef @.str.62, i32 noundef 1158, ptr noundef %28586, ptr noundef %28589, ptr noundef %28592, i32 noundef %28594) #10
  br label %28613

28596:                                            ; preds = %28574, %28567
  %28597 = load i32, ptr %576, align 4, !tbaa !5
  %28598 = call ptr @__errno_location() #11
  store i32 %28597, ptr %28598, align 4, !tbaa !5
  %28599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28600 = load i32, ptr @test_count, align 4, !tbaa !5
  %28601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28602 = load i32, ptr %28601, align 4, !tbaa !5
  %28603 = call ptr @s2n_strerror(i32 noundef %28602, ptr noundef @.str.65)
  %28604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28605 = load i32, ptr %28604, align 4, !tbaa !5
  %28606 = call ptr @s2n_strerror_debug(i32 noundef %28605, ptr noundef @.str.65)
  %28607 = call ptr @__errno_location() #11
  %28608 = load i32, ptr %28607, align 4, !tbaa !5
  %28609 = call ptr @strerror(i32 noundef %28608) #10
  %28610 = call ptr @__errno_location() #11
  %28611 = load i32, ptr %28610, align 4, !tbaa !5
  %28612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28599, ptr noundef @.str.66, i32 noundef %28600, ptr noundef @.str.208, ptr noundef @.str.62, i32 noundef 1158, ptr noundef %28603, ptr noundef %28606, ptr noundef %28609, i32 noundef %28611) #10
  br label %28613

28613:                                            ; preds = %28596, %28579
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #10
  br label %28614

28614:                                            ; preds = %28613
  br label %28615

28615:                                            ; preds = %28614
  call void @exit(i32 noundef 1) #12
  unreachable

28616:                                            ; No predecessors!
  br label %28617

28617:                                            ; preds = %28616
  br label %28618

28618:                                            ; preds = %28617, %28559
  br label %28619

28619:                                            ; preds = %28618
  br label %28620

28620:                                            ; preds = %28619
  br label %28621

28621:                                            ; preds = %28620
  %28622 = load i32, ptr @test_count, align 4, !tbaa !5
  %28623 = add nsw i32 %28622, 1
  store i32 %28623, ptr @test_count, align 4, !tbaa !5
  %28624 = load ptr, ptr %572, align 8, !tbaa !9
  %28625 = call i32 @s2n_connection_enable_quic(ptr noundef %28624)
  %28626 = icmp eq i32 %28625, -1
  br i1 %28626, label %28627, label %28680

28627:                                            ; preds = %28621
  br label %28628

28628:                                            ; preds = %28627
  br label %28629

28629:                                            ; preds = %28628
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #10
  %28630 = call ptr @__errno_location() #11
  %28631 = load i32, ptr %28630, align 4, !tbaa !5
  store i32 %28631, ptr %577, align 4, !tbaa !5
  %28632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28633 = call i32 @s2n_print_stacktrace(ptr noundef %28632)
  %28634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28635 = trunc i8 %28634 to i1
  br i1 %28635, label %28636, label %28658

28636:                                            ; preds = %28629
  %28637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28638 = call i32 @fileno(ptr noundef %28637) #10
  %28639 = call i32 @isatty(i32 noundef %28638) #10
  %28640 = icmp ne i32 %28639, 0
  br i1 %28640, label %28641, label %28658

28641:                                            ; preds = %28636
  %28642 = load i32, ptr %577, align 4, !tbaa !5
  %28643 = call ptr @__errno_location() #11
  store i32 %28642, ptr %28643, align 4, !tbaa !5
  %28644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28645 = load i32, ptr @test_count, align 4, !tbaa !5
  %28646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28647 = load i32, ptr %28646, align 4, !tbaa !5
  %28648 = call ptr @s2n_strerror(i32 noundef %28647, ptr noundef @.str.65)
  %28649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28650 = load i32, ptr %28649, align 4, !tbaa !5
  %28651 = call ptr @s2n_strerror_debug(i32 noundef %28650, ptr noundef @.str.65)
  %28652 = call ptr @__errno_location() #11
  %28653 = load i32, ptr %28652, align 4, !tbaa !5
  %28654 = call ptr @strerror(i32 noundef %28653) #10
  %28655 = call ptr @__errno_location() #11
  %28656 = load i32, ptr %28655, align 4, !tbaa !5
  %28657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28644, ptr noundef @.str.63, i32 noundef %28645, ptr noundef @.str.209, ptr noundef @.str.62, i32 noundef 1159, ptr noundef %28648, ptr noundef %28651, ptr noundef %28654, i32 noundef %28656) #10
  br label %28675

28658:                                            ; preds = %28636, %28629
  %28659 = load i32, ptr %577, align 4, !tbaa !5
  %28660 = call ptr @__errno_location() #11
  store i32 %28659, ptr %28660, align 4, !tbaa !5
  %28661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28662 = load i32, ptr @test_count, align 4, !tbaa !5
  %28663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28664 = load i32, ptr %28663, align 4, !tbaa !5
  %28665 = call ptr @s2n_strerror(i32 noundef %28664, ptr noundef @.str.65)
  %28666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28667 = load i32, ptr %28666, align 4, !tbaa !5
  %28668 = call ptr @s2n_strerror_debug(i32 noundef %28667, ptr noundef @.str.65)
  %28669 = call ptr @__errno_location() #11
  %28670 = load i32, ptr %28669, align 4, !tbaa !5
  %28671 = call ptr @strerror(i32 noundef %28670) #10
  %28672 = call ptr @__errno_location() #11
  %28673 = load i32, ptr %28672, align 4, !tbaa !5
  %28674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28661, ptr noundef @.str.66, i32 noundef %28662, ptr noundef @.str.209, ptr noundef @.str.62, i32 noundef 1159, ptr noundef %28665, ptr noundef %28668, ptr noundef %28671, i32 noundef %28673) #10
  br label %28675

28675:                                            ; preds = %28658, %28641
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #10
  br label %28676

28676:                                            ; preds = %28675
  br label %28677

28677:                                            ; preds = %28676
  call void @exit(i32 noundef 1) #12
  unreachable

28678:                                            ; No predecessors!
  br label %28679

28679:                                            ; preds = %28678
  br label %28680

28680:                                            ; preds = %28679, %28621
  br label %28681

28681:                                            ; preds = %28680
  br label %28682

28682:                                            ; preds = %28681
  call void @llvm.lifetime.start.p0(i64 40, ptr %578) #10
  call void @llvm.memset.p0.i64(ptr align 8 %578, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %579) #10
  call void @llvm.memset.p0.i64(ptr align 8 %579, i8 0, i64 40, i1 false)
  br label %28683

28683:                                            ; preds = %28682
  %28684 = load i32, ptr @test_count, align 4, !tbaa !5
  %28685 = add nsw i32 %28684, 1
  store i32 %28685, ptr @test_count, align 4, !tbaa !5
  %28686 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %578, i32 noundef 0)
  %28687 = icmp eq i32 %28686, -1
  br i1 %28687, label %28688, label %28741

28688:                                            ; preds = %28683
  br label %28689

28689:                                            ; preds = %28688
  br label %28690

28690:                                            ; preds = %28689
  call void @llvm.lifetime.start.p0(i64 4, ptr %580) #10
  %28691 = call ptr @__errno_location() #11
  %28692 = load i32, ptr %28691, align 4, !tbaa !5
  store i32 %28692, ptr %580, align 4, !tbaa !5
  %28693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28694 = call i32 @s2n_print_stacktrace(ptr noundef %28693)
  %28695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28696 = trunc i8 %28695 to i1
  br i1 %28696, label %28697, label %28719

28697:                                            ; preds = %28690
  %28698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28699 = call i32 @fileno(ptr noundef %28698) #10
  %28700 = call i32 @isatty(i32 noundef %28699) #10
  %28701 = icmp ne i32 %28700, 0
  br i1 %28701, label %28702, label %28719

28702:                                            ; preds = %28697
  %28703 = load i32, ptr %580, align 4, !tbaa !5
  %28704 = call ptr @__errno_location() #11
  store i32 %28703, ptr %28704, align 4, !tbaa !5
  %28705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28706 = load i32, ptr @test_count, align 4, !tbaa !5
  %28707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28708 = load i32, ptr %28707, align 4, !tbaa !5
  %28709 = call ptr @s2n_strerror(i32 noundef %28708, ptr noundef @.str.65)
  %28710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28711 = load i32, ptr %28710, align 4, !tbaa !5
  %28712 = call ptr @s2n_strerror_debug(i32 noundef %28711, ptr noundef @.str.65)
  %28713 = call ptr @__errno_location() #11
  %28714 = load i32, ptr %28713, align 4, !tbaa !5
  %28715 = call ptr @strerror(i32 noundef %28714) #10
  %28716 = call ptr @__errno_location() #11
  %28717 = load i32, ptr %28716, align 4, !tbaa !5
  %28718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28705, ptr noundef @.str.63, i32 noundef %28706, ptr noundef @.str.210, ptr noundef @.str.62, i32 noundef 1164, ptr noundef %28709, ptr noundef %28712, ptr noundef %28715, i32 noundef %28717) #10
  br label %28736

28719:                                            ; preds = %28697, %28690
  %28720 = load i32, ptr %580, align 4, !tbaa !5
  %28721 = call ptr @__errno_location() #11
  store i32 %28720, ptr %28721, align 4, !tbaa !5
  %28722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28723 = load i32, ptr @test_count, align 4, !tbaa !5
  %28724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28725 = load i32, ptr %28724, align 4, !tbaa !5
  %28726 = call ptr @s2n_strerror(i32 noundef %28725, ptr noundef @.str.65)
  %28727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28728 = load i32, ptr %28727, align 4, !tbaa !5
  %28729 = call ptr @s2n_strerror_debug(i32 noundef %28728, ptr noundef @.str.65)
  %28730 = call ptr @__errno_location() #11
  %28731 = load i32, ptr %28730, align 4, !tbaa !5
  %28732 = call ptr @strerror(i32 noundef %28731) #10
  %28733 = call ptr @__errno_location() #11
  %28734 = load i32, ptr %28733, align 4, !tbaa !5
  %28735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28722, ptr noundef @.str.66, i32 noundef %28723, ptr noundef @.str.210, ptr noundef @.str.62, i32 noundef 1164, ptr noundef %28726, ptr noundef %28729, ptr noundef %28732, i32 noundef %28734) #10
  br label %28736

28736:                                            ; preds = %28719, %28702
  call void @llvm.lifetime.end.p0(i64 4, ptr %580) #10
  br label %28737

28737:                                            ; preds = %28736
  br label %28738

28738:                                            ; preds = %28737
  call void @exit(i32 noundef 1) #12
  unreachable

28739:                                            ; No predecessors!
  br label %28740

28740:                                            ; preds = %28739
  br label %28741

28741:                                            ; preds = %28740, %28683
  br label %28742

28742:                                            ; preds = %28741
  br label %28743

28743:                                            ; preds = %28742
  br label %28744

28744:                                            ; preds = %28743
  %28745 = load i32, ptr @test_count, align 4, !tbaa !5
  %28746 = add nsw i32 %28745, 1
  store i32 %28746, ptr @test_count, align 4, !tbaa !5
  %28747 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %579, i32 noundef 0)
  %28748 = icmp eq i32 %28747, -1
  br i1 %28748, label %28749, label %28802

28749:                                            ; preds = %28744
  br label %28750

28750:                                            ; preds = %28749
  br label %28751

28751:                                            ; preds = %28750
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #10
  %28752 = call ptr @__errno_location() #11
  %28753 = load i32, ptr %28752, align 4, !tbaa !5
  store i32 %28753, ptr %581, align 4, !tbaa !5
  %28754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28755 = call i32 @s2n_print_stacktrace(ptr noundef %28754)
  %28756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28757 = trunc i8 %28756 to i1
  br i1 %28757, label %28758, label %28780

28758:                                            ; preds = %28751
  %28759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28760 = call i32 @fileno(ptr noundef %28759) #10
  %28761 = call i32 @isatty(i32 noundef %28760) #10
  %28762 = icmp ne i32 %28761, 0
  br i1 %28762, label %28763, label %28780

28763:                                            ; preds = %28758
  %28764 = load i32, ptr %581, align 4, !tbaa !5
  %28765 = call ptr @__errno_location() #11
  store i32 %28764, ptr %28765, align 4, !tbaa !5
  %28766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28767 = load i32, ptr @test_count, align 4, !tbaa !5
  %28768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28769 = load i32, ptr %28768, align 4, !tbaa !5
  %28770 = call ptr @s2n_strerror(i32 noundef %28769, ptr noundef @.str.65)
  %28771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28772 = load i32, ptr %28771, align 4, !tbaa !5
  %28773 = call ptr @s2n_strerror_debug(i32 noundef %28772, ptr noundef @.str.65)
  %28774 = call ptr @__errno_location() #11
  %28775 = load i32, ptr %28774, align 4, !tbaa !5
  %28776 = call ptr @strerror(i32 noundef %28775) #10
  %28777 = call ptr @__errno_location() #11
  %28778 = load i32, ptr %28777, align 4, !tbaa !5
  %28779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28766, ptr noundef @.str.63, i32 noundef %28767, ptr noundef @.str.211, ptr noundef @.str.62, i32 noundef 1165, ptr noundef %28770, ptr noundef %28773, ptr noundef %28776, i32 noundef %28778) #10
  br label %28797

28780:                                            ; preds = %28758, %28751
  %28781 = load i32, ptr %581, align 4, !tbaa !5
  %28782 = call ptr @__errno_location() #11
  store i32 %28781, ptr %28782, align 4, !tbaa !5
  %28783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28784 = load i32, ptr @test_count, align 4, !tbaa !5
  %28785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28786 = load i32, ptr %28785, align 4, !tbaa !5
  %28787 = call ptr @s2n_strerror(i32 noundef %28786, ptr noundef @.str.65)
  %28788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28789 = load i32, ptr %28788, align 4, !tbaa !5
  %28790 = call ptr @s2n_strerror_debug(i32 noundef %28789, ptr noundef @.str.65)
  %28791 = call ptr @__errno_location() #11
  %28792 = load i32, ptr %28791, align 4, !tbaa !5
  %28793 = call ptr @strerror(i32 noundef %28792) #10
  %28794 = call ptr @__errno_location() #11
  %28795 = load i32, ptr %28794, align 4, !tbaa !5
  %28796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28783, ptr noundef @.str.66, i32 noundef %28784, ptr noundef @.str.211, ptr noundef @.str.62, i32 noundef 1165, ptr noundef %28787, ptr noundef %28790, ptr noundef %28793, i32 noundef %28795) #10
  br label %28797

28797:                                            ; preds = %28780, %28763
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #10
  br label %28798

28798:                                            ; preds = %28797
  br label %28799

28799:                                            ; preds = %28798
  call void @exit(i32 noundef 1) #12
  unreachable

28800:                                            ; No predecessors!
  br label %28801

28801:                                            ; preds = %28800
  br label %28802

28802:                                            ; preds = %28801, %28744
  br label %28803

28803:                                            ; preds = %28802
  br label %28804

28804:                                            ; preds = %28803
  br label %28805

28805:                                            ; preds = %28804
  %28806 = load i32, ptr @test_count, align 4, !tbaa !5
  %28807 = add nsw i32 %28806, 1
  store i32 %28807, ptr @test_count, align 4, !tbaa !5
  %28808 = load ptr, ptr %572, align 8, !tbaa !9
  %28809 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %578, ptr noundef %579, ptr noundef %28808)
  %28810 = icmp eq i32 %28809, -1
  br i1 %28810, label %28811, label %28864

28811:                                            ; preds = %28805
  br label %28812

28812:                                            ; preds = %28811
  br label %28813

28813:                                            ; preds = %28812
  call void @llvm.lifetime.start.p0(i64 4, ptr %582) #10
  %28814 = call ptr @__errno_location() #11
  %28815 = load i32, ptr %28814, align 4, !tbaa !5
  store i32 %28815, ptr %582, align 4, !tbaa !5
  %28816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28817 = call i32 @s2n_print_stacktrace(ptr noundef %28816)
  %28818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28819 = trunc i8 %28818 to i1
  br i1 %28819, label %28820, label %28842

28820:                                            ; preds = %28813
  %28821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28822 = call i32 @fileno(ptr noundef %28821) #10
  %28823 = call i32 @isatty(i32 noundef %28822) #10
  %28824 = icmp ne i32 %28823, 0
  br i1 %28824, label %28825, label %28842

28825:                                            ; preds = %28820
  %28826 = load i32, ptr %582, align 4, !tbaa !5
  %28827 = call ptr @__errno_location() #11
  store i32 %28826, ptr %28827, align 4, !tbaa !5
  %28828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28829 = load i32, ptr @test_count, align 4, !tbaa !5
  %28830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28831 = load i32, ptr %28830, align 4, !tbaa !5
  %28832 = call ptr @s2n_strerror(i32 noundef %28831, ptr noundef @.str.65)
  %28833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28834 = load i32, ptr %28833, align 4, !tbaa !5
  %28835 = call ptr @s2n_strerror_debug(i32 noundef %28834, ptr noundef @.str.65)
  %28836 = call ptr @__errno_location() #11
  %28837 = load i32, ptr %28836, align 4, !tbaa !5
  %28838 = call ptr @strerror(i32 noundef %28837) #10
  %28839 = call ptr @__errno_location() #11
  %28840 = load i32, ptr %28839, align 4, !tbaa !5
  %28841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28828, ptr noundef @.str.63, i32 noundef %28829, ptr noundef @.str.212, ptr noundef @.str.62, i32 noundef 1166, ptr noundef %28832, ptr noundef %28835, ptr noundef %28838, i32 noundef %28840) #10
  br label %28859

28842:                                            ; preds = %28820, %28813
  %28843 = load i32, ptr %582, align 4, !tbaa !5
  %28844 = call ptr @__errno_location() #11
  store i32 %28843, ptr %28844, align 4, !tbaa !5
  %28845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28846 = load i32, ptr @test_count, align 4, !tbaa !5
  %28847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28848 = load i32, ptr %28847, align 4, !tbaa !5
  %28849 = call ptr @s2n_strerror(i32 noundef %28848, ptr noundef @.str.65)
  %28850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28851 = load i32, ptr %28850, align 4, !tbaa !5
  %28852 = call ptr @s2n_strerror_debug(i32 noundef %28851, ptr noundef @.str.65)
  %28853 = call ptr @__errno_location() #11
  %28854 = load i32, ptr %28853, align 4, !tbaa !5
  %28855 = call ptr @strerror(i32 noundef %28854) #10
  %28856 = call ptr @__errno_location() #11
  %28857 = load i32, ptr %28856, align 4, !tbaa !5
  %28858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28845, ptr noundef @.str.66, i32 noundef %28846, ptr noundef @.str.212, ptr noundef @.str.62, i32 noundef 1166, ptr noundef %28849, ptr noundef %28852, ptr noundef %28855, i32 noundef %28857) #10
  br label %28859

28859:                                            ; preds = %28842, %28825
  call void @llvm.lifetime.end.p0(i64 4, ptr %582) #10
  br label %28860

28860:                                            ; preds = %28859
  br label %28861

28861:                                            ; preds = %28860
  call void @exit(i32 noundef 1) #12
  unreachable

28862:                                            ; No predecessors!
  br label %28863

28863:                                            ; preds = %28862
  br label %28864

28864:                                            ; preds = %28863, %28805
  br label %28865

28865:                                            ; preds = %28864
  br label %28866

28866:                                            ; preds = %28865
  br label %28867

28867:                                            ; preds = %28866
  %28868 = load i32, ptr @test_count, align 4, !tbaa !5
  %28869 = add nsw i32 %28868, 1
  store i32 %28869, ptr @test_count, align 4, !tbaa !5
  %28870 = load ptr, ptr %570, align 8, !tbaa !9
  %28871 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %579, ptr noundef %578, ptr noundef %28870)
  %28872 = icmp eq i32 %28871, -1
  br i1 %28872, label %28873, label %28926

28873:                                            ; preds = %28867
  br label %28874

28874:                                            ; preds = %28873
  br label %28875

28875:                                            ; preds = %28874
  call void @llvm.lifetime.start.p0(i64 4, ptr %583) #10
  %28876 = call ptr @__errno_location() #11
  %28877 = load i32, ptr %28876, align 4, !tbaa !5
  store i32 %28877, ptr %583, align 4, !tbaa !5
  %28878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28879 = call i32 @s2n_print_stacktrace(ptr noundef %28878)
  %28880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28881 = trunc i8 %28880 to i1
  br i1 %28881, label %28882, label %28904

28882:                                            ; preds = %28875
  %28883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28884 = call i32 @fileno(ptr noundef %28883) #10
  %28885 = call i32 @isatty(i32 noundef %28884) #10
  %28886 = icmp ne i32 %28885, 0
  br i1 %28886, label %28887, label %28904

28887:                                            ; preds = %28882
  %28888 = load i32, ptr %583, align 4, !tbaa !5
  %28889 = call ptr @__errno_location() #11
  store i32 %28888, ptr %28889, align 4, !tbaa !5
  %28890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28891 = load i32, ptr @test_count, align 4, !tbaa !5
  %28892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28893 = load i32, ptr %28892, align 4, !tbaa !5
  %28894 = call ptr @s2n_strerror(i32 noundef %28893, ptr noundef @.str.65)
  %28895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28896 = load i32, ptr %28895, align 4, !tbaa !5
  %28897 = call ptr @s2n_strerror_debug(i32 noundef %28896, ptr noundef @.str.65)
  %28898 = call ptr @__errno_location() #11
  %28899 = load i32, ptr %28898, align 4, !tbaa !5
  %28900 = call ptr @strerror(i32 noundef %28899) #10
  %28901 = call ptr @__errno_location() #11
  %28902 = load i32, ptr %28901, align 4, !tbaa !5
  %28903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28890, ptr noundef @.str.63, i32 noundef %28891, ptr noundef @.str.213, ptr noundef @.str.62, i32 noundef 1167, ptr noundef %28894, ptr noundef %28897, ptr noundef %28900, i32 noundef %28902) #10
  br label %28921

28904:                                            ; preds = %28882, %28875
  %28905 = load i32, ptr %583, align 4, !tbaa !5
  %28906 = call ptr @__errno_location() #11
  store i32 %28905, ptr %28906, align 4, !tbaa !5
  %28907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28908 = load i32, ptr @test_count, align 4, !tbaa !5
  %28909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28910 = load i32, ptr %28909, align 4, !tbaa !5
  %28911 = call ptr @s2n_strerror(i32 noundef %28910, ptr noundef @.str.65)
  %28912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28913 = load i32, ptr %28912, align 4, !tbaa !5
  %28914 = call ptr @s2n_strerror_debug(i32 noundef %28913, ptr noundef @.str.65)
  %28915 = call ptr @__errno_location() #11
  %28916 = load i32, ptr %28915, align 4, !tbaa !5
  %28917 = call ptr @strerror(i32 noundef %28916) #10
  %28918 = call ptr @__errno_location() #11
  %28919 = load i32, ptr %28918, align 4, !tbaa !5
  %28920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28907, ptr noundef @.str.66, i32 noundef %28908, ptr noundef @.str.213, ptr noundef @.str.62, i32 noundef 1167, ptr noundef %28911, ptr noundef %28914, ptr noundef %28917, i32 noundef %28919) #10
  br label %28921

28921:                                            ; preds = %28904, %28887
  call void @llvm.lifetime.end.p0(i64 4, ptr %583) #10
  br label %28922

28922:                                            ; preds = %28921
  br label %28923

28923:                                            ; preds = %28922
  call void @exit(i32 noundef 1) #12
  unreachable

28924:                                            ; No predecessors!
  br label %28925

28925:                                            ; preds = %28924
  br label %28926

28926:                                            ; preds = %28925, %28867
  br label %28927

28927:                                            ; preds = %28926
  br label %28928

28928:                                            ; preds = %28927
  br label %28929

28929:                                            ; preds = %28928
  %28930 = load i32, ptr @test_count, align 4, !tbaa !5
  %28931 = add nsw i32 %28930, 1
  store i32 %28931, ptr @test_count, align 4, !tbaa !5
  %28932 = load ptr, ptr %20, align 8, !tbaa !9
  %28933 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %28932, ptr noundef @s2n_alter_psk_ke_ext, ptr noundef null)
  %28934 = icmp eq i32 %28933, -1
  br i1 %28934, label %28935, label %28988

28935:                                            ; preds = %28929
  br label %28936

28936:                                            ; preds = %28935
  br label %28937

28937:                                            ; preds = %28936
  call void @llvm.lifetime.start.p0(i64 4, ptr %584) #10
  %28938 = call ptr @__errno_location() #11
  %28939 = load i32, ptr %28938, align 4, !tbaa !5
  store i32 %28939, ptr %584, align 4, !tbaa !5
  %28940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28941 = call i32 @s2n_print_stacktrace(ptr noundef %28940)
  %28942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28943 = trunc i8 %28942 to i1
  br i1 %28943, label %28944, label %28966

28944:                                            ; preds = %28937
  %28945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28946 = call i32 @fileno(ptr noundef %28945) #10
  %28947 = call i32 @isatty(i32 noundef %28946) #10
  %28948 = icmp ne i32 %28947, 0
  br i1 %28948, label %28949, label %28966

28949:                                            ; preds = %28944
  %28950 = load i32, ptr %584, align 4, !tbaa !5
  %28951 = call ptr @__errno_location() #11
  store i32 %28950, ptr %28951, align 4, !tbaa !5
  %28952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28953 = load i32, ptr @test_count, align 4, !tbaa !5
  %28954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28955 = load i32, ptr %28954, align 4, !tbaa !5
  %28956 = call ptr @s2n_strerror(i32 noundef %28955, ptr noundef @.str.65)
  %28957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28958 = load i32, ptr %28957, align 4, !tbaa !5
  %28959 = call ptr @s2n_strerror_debug(i32 noundef %28958, ptr noundef @.str.65)
  %28960 = call ptr @__errno_location() #11
  %28961 = load i32, ptr %28960, align 4, !tbaa !5
  %28962 = call ptr @strerror(i32 noundef %28961) #10
  %28963 = call ptr @__errno_location() #11
  %28964 = load i32, ptr %28963, align 4, !tbaa !5
  %28965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28952, ptr noundef @.str.63, i32 noundef %28953, ptr noundef @.str.217, ptr noundef @.str.62, i32 noundef 1170, ptr noundef %28956, ptr noundef %28959, ptr noundef %28962, i32 noundef %28964) #10
  br label %28983

28966:                                            ; preds = %28944, %28937
  %28967 = load i32, ptr %584, align 4, !tbaa !5
  %28968 = call ptr @__errno_location() #11
  store i32 %28967, ptr %28968, align 4, !tbaa !5
  %28969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28970 = load i32, ptr @test_count, align 4, !tbaa !5
  %28971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28972 = load i32, ptr %28971, align 4, !tbaa !5
  %28973 = call ptr @s2n_strerror(i32 noundef %28972, ptr noundef @.str.65)
  %28974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28975 = load i32, ptr %28974, align 4, !tbaa !5
  %28976 = call ptr @s2n_strerror_debug(i32 noundef %28975, ptr noundef @.str.65)
  %28977 = call ptr @__errno_location() #11
  %28978 = load i32, ptr %28977, align 4, !tbaa !5
  %28979 = call ptr @strerror(i32 noundef %28978) #10
  %28980 = call ptr @__errno_location() #11
  %28981 = load i32, ptr %28980, align 4, !tbaa !5
  %28982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28969, ptr noundef @.str.66, i32 noundef %28970, ptr noundef @.str.217, ptr noundef @.str.62, i32 noundef 1170, ptr noundef %28973, ptr noundef %28976, ptr noundef %28979, i32 noundef %28981) #10
  br label %28983

28983:                                            ; preds = %28966, %28949
  call void @llvm.lifetime.end.p0(i64 4, ptr %584) #10
  br label %28984

28984:                                            ; preds = %28983
  br label %28985

28985:                                            ; preds = %28984
  call void @exit(i32 noundef 1) #12
  unreachable

28986:                                            ; No predecessors!
  br label %28987

28987:                                            ; preds = %28986
  br label %28988

28988:                                            ; preds = %28987, %28929
  br label %28989

28989:                                            ; preds = %28988
  br label %28990

28990:                                            ; preds = %28989
  br label %28991

28991:                                            ; preds = %28990
  %28992 = load i32, ptr @test_count, align 4, !tbaa !5
  %28993 = add nsw i32 %28992, 1
  store i32 %28993, ptr @test_count, align 4, !tbaa !5
  %28994 = load ptr, ptr %572, align 8, !tbaa !9
  %28995 = load ptr, ptr %570, align 8, !tbaa !9
  %28996 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %28994, ptr noundef %28995)
  %28997 = icmp eq i32 %28996, -1
  br i1 %28997, label %28998, label %29051

28998:                                            ; preds = %28991
  br label %28999

28999:                                            ; preds = %28998
  br label %29000

29000:                                            ; preds = %28999
  call void @llvm.lifetime.start.p0(i64 4, ptr %585) #10
  %29001 = call ptr @__errno_location() #11
  %29002 = load i32, ptr %29001, align 4, !tbaa !5
  store i32 %29002, ptr %585, align 4, !tbaa !5
  %29003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29004 = call i32 @s2n_print_stacktrace(ptr noundef %29003)
  %29005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29006 = trunc i8 %29005 to i1
  br i1 %29006, label %29007, label %29029

29007:                                            ; preds = %29000
  %29008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29009 = call i32 @fileno(ptr noundef %29008) #10
  %29010 = call i32 @isatty(i32 noundef %29009) #10
  %29011 = icmp ne i32 %29010, 0
  br i1 %29011, label %29012, label %29029

29012:                                            ; preds = %29007
  %29013 = load i32, ptr %585, align 4, !tbaa !5
  %29014 = call ptr @__errno_location() #11
  store i32 %29013, ptr %29014, align 4, !tbaa !5
  %29015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29016 = load i32, ptr @test_count, align 4, !tbaa !5
  %29017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29018 = load i32, ptr %29017, align 4, !tbaa !5
  %29019 = call ptr @s2n_strerror(i32 noundef %29018, ptr noundef @.str.65)
  %29020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29021 = load i32, ptr %29020, align 4, !tbaa !5
  %29022 = call ptr @s2n_strerror_debug(i32 noundef %29021, ptr noundef @.str.65)
  %29023 = call ptr @__errno_location() #11
  %29024 = load i32, ptr %29023, align 4, !tbaa !5
  %29025 = call ptr @strerror(i32 noundef %29024) #10
  %29026 = call ptr @__errno_location() #11
  %29027 = load i32, ptr %29026, align 4, !tbaa !5
  %29028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29015, ptr noundef @.str.63, i32 noundef %29016, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1173, ptr noundef %29019, ptr noundef %29022, ptr noundef %29025, i32 noundef %29027) #10
  br label %29046

29029:                                            ; preds = %29007, %29000
  %29030 = load i32, ptr %585, align 4, !tbaa !5
  %29031 = call ptr @__errno_location() #11
  store i32 %29030, ptr %29031, align 4, !tbaa !5
  %29032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29033 = load i32, ptr @test_count, align 4, !tbaa !5
  %29034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29035 = load i32, ptr %29034, align 4, !tbaa !5
  %29036 = call ptr @s2n_strerror(i32 noundef %29035, ptr noundef @.str.65)
  %29037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29038 = load i32, ptr %29037, align 4, !tbaa !5
  %29039 = call ptr @s2n_strerror_debug(i32 noundef %29038, ptr noundef @.str.65)
  %29040 = call ptr @__errno_location() #11
  %29041 = load i32, ptr %29040, align 4, !tbaa !5
  %29042 = call ptr @strerror(i32 noundef %29041) #10
  %29043 = call ptr @__errno_location() #11
  %29044 = load i32, ptr %29043, align 4, !tbaa !5
  %29045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29032, ptr noundef @.str.66, i32 noundef %29033, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1173, ptr noundef %29036, ptr noundef %29039, ptr noundef %29042, i32 noundef %29044) #10
  br label %29046

29046:                                            ; preds = %29029, %29012
  call void @llvm.lifetime.end.p0(i64 4, ptr %585) #10
  br label %29047

29047:                                            ; preds = %29046
  br label %29048

29048:                                            ; preds = %29047
  call void @exit(i32 noundef 1) #12
  unreachable

29049:                                            ; No predecessors!
  br label %29050

29050:                                            ; preds = %29049
  br label %29051

29051:                                            ; preds = %29050, %28991
  br label %29052

29052:                                            ; preds = %29051
  br label %29053

29053:                                            ; preds = %29052
  call void @llvm.lifetime.start.p0(i64 2, ptr %586) #10
  store i16 0, ptr %586, align 2, !tbaa !81
  br label %29054

29054:                                            ; preds = %29053
  %29055 = load i32, ptr @test_count, align 4, !tbaa !5
  %29056 = add nsw i32 %29055, 1
  store i32 %29056, ptr @test_count, align 4, !tbaa !5
  %29057 = load ptr, ptr %572, align 8, !tbaa !9
  %29058 = call i32 @s2n_connection_get_tickets_sent(ptr noundef %29057, ptr noundef %586)
  %29059 = icmp eq i32 %29058, -1
  br i1 %29059, label %29060, label %29113

29060:                                            ; preds = %29054
  br label %29061

29061:                                            ; preds = %29060
  br label %29062

29062:                                            ; preds = %29061
  call void @llvm.lifetime.start.p0(i64 4, ptr %587) #10
  %29063 = call ptr @__errno_location() #11
  %29064 = load i32, ptr %29063, align 4, !tbaa !5
  store i32 %29064, ptr %587, align 4, !tbaa !5
  %29065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29066 = call i32 @s2n_print_stacktrace(ptr noundef %29065)
  %29067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29068 = trunc i8 %29067 to i1
  br i1 %29068, label %29069, label %29091

29069:                                            ; preds = %29062
  %29070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29071 = call i32 @fileno(ptr noundef %29070) #10
  %29072 = call i32 @isatty(i32 noundef %29071) #10
  %29073 = icmp ne i32 %29072, 0
  br i1 %29073, label %29074, label %29091

29074:                                            ; preds = %29069
  %29075 = load i32, ptr %587, align 4, !tbaa !5
  %29076 = call ptr @__errno_location() #11
  store i32 %29075, ptr %29076, align 4, !tbaa !5
  %29077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29078 = load i32, ptr @test_count, align 4, !tbaa !5
  %29079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29080 = load i32, ptr %29079, align 4, !tbaa !5
  %29081 = call ptr @s2n_strerror(i32 noundef %29080, ptr noundef @.str.65)
  %29082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29083 = load i32, ptr %29082, align 4, !tbaa !5
  %29084 = call ptr @s2n_strerror_debug(i32 noundef %29083, ptr noundef @.str.65)
  %29085 = call ptr @__errno_location() #11
  %29086 = load i32, ptr %29085, align 4, !tbaa !5
  %29087 = call ptr @strerror(i32 noundef %29086) #10
  %29088 = call ptr @__errno_location() #11
  %29089 = load i32, ptr %29088, align 4, !tbaa !5
  %29090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29077, ptr noundef @.str.63, i32 noundef %29078, ptr noundef @.str.215, ptr noundef @.str.62, i32 noundef 1177, ptr noundef %29081, ptr noundef %29084, ptr noundef %29087, i32 noundef %29089) #10
  br label %29108

29091:                                            ; preds = %29069, %29062
  %29092 = load i32, ptr %587, align 4, !tbaa !5
  %29093 = call ptr @__errno_location() #11
  store i32 %29092, ptr %29093, align 4, !tbaa !5
  %29094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29095 = load i32, ptr @test_count, align 4, !tbaa !5
  %29096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29097 = load i32, ptr %29096, align 4, !tbaa !5
  %29098 = call ptr @s2n_strerror(i32 noundef %29097, ptr noundef @.str.65)
  %29099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29100 = load i32, ptr %29099, align 4, !tbaa !5
  %29101 = call ptr @s2n_strerror_debug(i32 noundef %29100, ptr noundef @.str.65)
  %29102 = call ptr @__errno_location() #11
  %29103 = load i32, ptr %29102, align 4, !tbaa !5
  %29104 = call ptr @strerror(i32 noundef %29103) #10
  %29105 = call ptr @__errno_location() #11
  %29106 = load i32, ptr %29105, align 4, !tbaa !5
  %29107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29094, ptr noundef @.str.66, i32 noundef %29095, ptr noundef @.str.215, ptr noundef @.str.62, i32 noundef 1177, ptr noundef %29098, ptr noundef %29101, ptr noundef %29104, i32 noundef %29106) #10
  br label %29108

29108:                                            ; preds = %29091, %29074
  call void @llvm.lifetime.end.p0(i64 4, ptr %587) #10
  br label %29109

29109:                                            ; preds = %29108
  br label %29110

29110:                                            ; preds = %29109
  call void @exit(i32 noundef 1) #12
  unreachable

29111:                                            ; No predecessors!
  br label %29112

29112:                                            ; preds = %29111
  br label %29113

29113:                                            ; preds = %29112, %29054
  br label %29114

29114:                                            ; preds = %29113
  br label %29115

29115:                                            ; preds = %29114
  br label %29116

29116:                                            ; preds = %29115
  %29117 = load i32, ptr @test_count, align 4, !tbaa !5
  %29118 = add nsw i32 %29117, 1
  store i32 %29118, ptr @test_count, align 4, !tbaa !5
  %29119 = load i16, ptr %586, align 2, !tbaa !81
  %29120 = zext i16 %29119 to i32
  %29121 = icmp eq i32 %29120, 0
  br i1 %29121, label %29175, label %29122

29122:                                            ; preds = %29116
  br label %29123

29123:                                            ; preds = %29122
  br label %29124

29124:                                            ; preds = %29123
  call void @llvm.lifetime.start.p0(i64 4, ptr %588) #10
  %29125 = call ptr @__errno_location() #11
  %29126 = load i32, ptr %29125, align 4, !tbaa !5
  store i32 %29126, ptr %588, align 4, !tbaa !5
  %29127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29128 = call i32 @s2n_print_stacktrace(ptr noundef %29127)
  %29129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29130 = trunc i8 %29129 to i1
  br i1 %29130, label %29131, label %29153

29131:                                            ; preds = %29124
  %29132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29133 = call i32 @fileno(ptr noundef %29132) #10
  %29134 = call i32 @isatty(i32 noundef %29133) #10
  %29135 = icmp ne i32 %29134, 0
  br i1 %29135, label %29136, label %29153

29136:                                            ; preds = %29131
  %29137 = load i32, ptr %588, align 4, !tbaa !5
  %29138 = call ptr @__errno_location() #11
  store i32 %29137, ptr %29138, align 4, !tbaa !5
  %29139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29140 = load i32, ptr @test_count, align 4, !tbaa !5
  %29141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29142 = load i32, ptr %29141, align 4, !tbaa !5
  %29143 = call ptr @s2n_strerror(i32 noundef %29142, ptr noundef @.str.65)
  %29144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29145 = load i32, ptr %29144, align 4, !tbaa !5
  %29146 = call ptr @s2n_strerror_debug(i32 noundef %29145, ptr noundef @.str.65)
  %29147 = call ptr @__errno_location() #11
  %29148 = load i32, ptr %29147, align 4, !tbaa !5
  %29149 = call ptr @strerror(i32 noundef %29148) #10
  %29150 = call ptr @__errno_location() #11
  %29151 = load i32, ptr %29150, align 4, !tbaa !5
  %29152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29139, ptr noundef @.str.63, i32 noundef %29140, ptr noundef @.str.216, ptr noundef @.str.62, i32 noundef 1178, ptr noundef %29143, ptr noundef %29146, ptr noundef %29149, i32 noundef %29151) #10
  br label %29170

29153:                                            ; preds = %29131, %29124
  %29154 = load i32, ptr %588, align 4, !tbaa !5
  %29155 = call ptr @__errno_location() #11
  store i32 %29154, ptr %29155, align 4, !tbaa !5
  %29156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29157 = load i32, ptr @test_count, align 4, !tbaa !5
  %29158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29159 = load i32, ptr %29158, align 4, !tbaa !5
  %29160 = call ptr @s2n_strerror(i32 noundef %29159, ptr noundef @.str.65)
  %29161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29162 = load i32, ptr %29161, align 4, !tbaa !5
  %29163 = call ptr @s2n_strerror_debug(i32 noundef %29162, ptr noundef @.str.65)
  %29164 = call ptr @__errno_location() #11
  %29165 = load i32, ptr %29164, align 4, !tbaa !5
  %29166 = call ptr @strerror(i32 noundef %29165) #10
  %29167 = call ptr @__errno_location() #11
  %29168 = load i32, ptr %29167, align 4, !tbaa !5
  %29169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29156, ptr noundef @.str.66, i32 noundef %29157, ptr noundef @.str.216, ptr noundef @.str.62, i32 noundef 1178, ptr noundef %29160, ptr noundef %29163, ptr noundef %29166, i32 noundef %29168) #10
  br label %29170

29170:                                            ; preds = %29153, %29136
  call void @llvm.lifetime.end.p0(i64 4, ptr %588) #10
  br label %29171

29171:                                            ; preds = %29170
  br label %29172

29172:                                            ; preds = %29171
  call void @exit(i32 noundef 1) #12
  unreachable

29173:                                            ; No predecessors!
  br label %29174

29174:                                            ; preds = %29173
  br label %29175

29175:                                            ; preds = %29174, %29116
  br label %29176

29176:                                            ; preds = %29175
  br label %29177

29177:                                            ; preds = %29176
  call void @llvm.lifetime.end.p0(i64 2, ptr %586) #10
  %29178 = call i32 @s2n_stuffer_free(ptr noundef %579)
  call void @llvm.lifetime.end.p0(i64 40, ptr %579) #10
  %29179 = call i32 @s2n_stuffer_free(ptr noundef %578)
  call void @llvm.lifetime.end.p0(i64 40, ptr %578) #10
  %29180 = call i32 @s2n_connection_ptr_free(ptr noundef %572)
  %29181 = getelementptr inbounds %struct.s2n_result, ptr %589, i32 0, i32 0
  store i32 %29180, ptr %29181, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %572) #10
  %29182 = call i32 @s2n_connection_ptr_free(ptr noundef %570)
  %29183 = getelementptr inbounds %struct.s2n_result, ptr %590, i32 0, i32 0
  store i32 %29182, ptr %29183, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %570) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %591) #10
  %29184 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %29184, ptr %591, align 8, !tbaa !9
  br label %29185

29185:                                            ; preds = %29177
  %29186 = load i32, ptr @test_count, align 4, !tbaa !5
  %29187 = add nsw i32 %29186, 1
  store i32 %29187, ptr @test_count, align 4, !tbaa !5
  %29188 = load ptr, ptr %591, align 8, !tbaa !9
  %29189 = icmp eq ptr %29188, null
  br i1 %29189, label %29190, label %29243

29190:                                            ; preds = %29185
  br label %29191

29191:                                            ; preds = %29190
  br label %29192

29192:                                            ; preds = %29191
  call void @llvm.lifetime.start.p0(i64 4, ptr %592) #10
  %29193 = call ptr @__errno_location() #11
  %29194 = load i32, ptr %29193, align 4, !tbaa !5
  store i32 %29194, ptr %592, align 4, !tbaa !5
  %29195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29196 = call i32 @s2n_print_stacktrace(ptr noundef %29195)
  %29197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29198 = trunc i8 %29197 to i1
  br i1 %29198, label %29199, label %29221

29199:                                            ; preds = %29192
  %29200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29201 = call i32 @fileno(ptr noundef %29200) #10
  %29202 = call i32 @isatty(i32 noundef %29201) #10
  %29203 = icmp ne i32 %29202, 0
  br i1 %29203, label %29204, label %29221

29204:                                            ; preds = %29199
  %29205 = load i32, ptr %592, align 4, !tbaa !5
  %29206 = call ptr @__errno_location() #11
  store i32 %29205, ptr %29206, align 4, !tbaa !5
  %29207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29208 = load i32, ptr @test_count, align 4, !tbaa !5
  %29209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29210 = load i32, ptr %29209, align 4, !tbaa !5
  %29211 = call ptr @s2n_strerror(i32 noundef %29210, ptr noundef @.str.65)
  %29212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29213 = load i32, ptr %29212, align 4, !tbaa !5
  %29214 = call ptr @s2n_strerror_debug(i32 noundef %29213, ptr noundef @.str.65)
  %29215 = call ptr @__errno_location() #11
  %29216 = load i32, ptr %29215, align 4, !tbaa !5
  %29217 = call ptr @strerror(i32 noundef %29216) #10
  %29218 = call ptr @__errno_location() #11
  %29219 = load i32, ptr %29218, align 4, !tbaa !5
  %29220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29207, ptr noundef @.str.63, i32 noundef %29208, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1184, ptr noundef %29211, ptr noundef %29214, ptr noundef %29217, i32 noundef %29219) #10
  br label %29238

29221:                                            ; preds = %29199, %29192
  %29222 = load i32, ptr %592, align 4, !tbaa !5
  %29223 = call ptr @__errno_location() #11
  store i32 %29222, ptr %29223, align 4, !tbaa !5
  %29224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29225 = load i32, ptr @test_count, align 4, !tbaa !5
  %29226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29227 = load i32, ptr %29226, align 4, !tbaa !5
  %29228 = call ptr @s2n_strerror(i32 noundef %29227, ptr noundef @.str.65)
  %29229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29230 = load i32, ptr %29229, align 4, !tbaa !5
  %29231 = call ptr @s2n_strerror_debug(i32 noundef %29230, ptr noundef @.str.65)
  %29232 = call ptr @__errno_location() #11
  %29233 = load i32, ptr %29232, align 4, !tbaa !5
  %29234 = call ptr @strerror(i32 noundef %29233) #10
  %29235 = call ptr @__errno_location() #11
  %29236 = load i32, ptr %29235, align 4, !tbaa !5
  %29237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29224, ptr noundef @.str.66, i32 noundef %29225, ptr noundef @.str.109, ptr noundef @.str.62, i32 noundef 1184, ptr noundef %29228, ptr noundef %29231, ptr noundef %29234, i32 noundef %29236) #10
  br label %29238

29238:                                            ; preds = %29221, %29204
  call void @llvm.lifetime.end.p0(i64 4, ptr %592) #10
  br label %29239

29239:                                            ; preds = %29238
  br label %29240

29240:                                            ; preds = %29239
  call void @exit(i32 noundef 1) #12
  unreachable

29241:                                            ; No predecessors!
  br label %29242

29242:                                            ; preds = %29241
  br label %29243

29243:                                            ; preds = %29242, %29185
  br label %29244

29244:                                            ; preds = %29243
  br label %29245

29245:                                            ; preds = %29244
  call void @llvm.lifetime.start.p0(i64 8, ptr %593) #10
  %29246 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %29246, ptr %593, align 8, !tbaa !9
  br label %29247

29247:                                            ; preds = %29245
  %29248 = load i32, ptr @test_count, align 4, !tbaa !5
  %29249 = add nsw i32 %29248, 1
  store i32 %29249, ptr @test_count, align 4, !tbaa !5
  %29250 = load ptr, ptr %593, align 8, !tbaa !9
  %29251 = icmp eq ptr %29250, null
  br i1 %29251, label %29252, label %29305

29252:                                            ; preds = %29247
  br label %29253

29253:                                            ; preds = %29252
  br label %29254

29254:                                            ; preds = %29253
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #10
  %29255 = call ptr @__errno_location() #11
  %29256 = load i32, ptr %29255, align 4, !tbaa !5
  store i32 %29256, ptr %594, align 4, !tbaa !5
  %29257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29258 = call i32 @s2n_print_stacktrace(ptr noundef %29257)
  %29259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29260 = trunc i8 %29259 to i1
  br i1 %29260, label %29261, label %29283

29261:                                            ; preds = %29254
  %29262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29263 = call i32 @fileno(ptr noundef %29262) #10
  %29264 = call i32 @isatty(i32 noundef %29263) #10
  %29265 = icmp ne i32 %29264, 0
  br i1 %29265, label %29266, label %29283

29266:                                            ; preds = %29261
  %29267 = load i32, ptr %594, align 4, !tbaa !5
  %29268 = call ptr @__errno_location() #11
  store i32 %29267, ptr %29268, align 4, !tbaa !5
  %29269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29270 = load i32, ptr @test_count, align 4, !tbaa !5
  %29271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29272 = load i32, ptr %29271, align 4, !tbaa !5
  %29273 = call ptr @s2n_strerror(i32 noundef %29272, ptr noundef @.str.65)
  %29274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29275 = load i32, ptr %29274, align 4, !tbaa !5
  %29276 = call ptr @s2n_strerror_debug(i32 noundef %29275, ptr noundef @.str.65)
  %29277 = call ptr @__errno_location() #11
  %29278 = load i32, ptr %29277, align 4, !tbaa !5
  %29279 = call ptr @strerror(i32 noundef %29278) #10
  %29280 = call ptr @__errno_location() #11
  %29281 = load i32, ptr %29280, align 4, !tbaa !5
  %29282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29269, ptr noundef @.str.63, i32 noundef %29270, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1187, ptr noundef %29273, ptr noundef %29276, ptr noundef %29279, i32 noundef %29281) #10
  br label %29300

29283:                                            ; preds = %29261, %29254
  %29284 = load i32, ptr %594, align 4, !tbaa !5
  %29285 = call ptr @__errno_location() #11
  store i32 %29284, ptr %29285, align 4, !tbaa !5
  %29286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29287 = load i32, ptr @test_count, align 4, !tbaa !5
  %29288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29289 = load i32, ptr %29288, align 4, !tbaa !5
  %29290 = call ptr @s2n_strerror(i32 noundef %29289, ptr noundef @.str.65)
  %29291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29292 = load i32, ptr %29291, align 4, !tbaa !5
  %29293 = call ptr @s2n_strerror_debug(i32 noundef %29292, ptr noundef @.str.65)
  %29294 = call ptr @__errno_location() #11
  %29295 = load i32, ptr %29294, align 4, !tbaa !5
  %29296 = call ptr @strerror(i32 noundef %29295) #10
  %29297 = call ptr @__errno_location() #11
  %29298 = load i32, ptr %29297, align 4, !tbaa !5
  %29299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29286, ptr noundef @.str.66, i32 noundef %29287, ptr noundef @.str.110, ptr noundef @.str.62, i32 noundef 1187, ptr noundef %29290, ptr noundef %29293, ptr noundef %29296, i32 noundef %29298) #10
  br label %29300

29300:                                            ; preds = %29283, %29266
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #10
  br label %29301

29301:                                            ; preds = %29300
  br label %29302

29302:                                            ; preds = %29301
  call void @exit(i32 noundef 1) #12
  unreachable

29303:                                            ; No predecessors!
  br label %29304

29304:                                            ; preds = %29303
  br label %29305

29305:                                            ; preds = %29304, %29247
  br label %29306

29306:                                            ; preds = %29305
  br label %29307

29307:                                            ; preds = %29306
  br label %29308

29308:                                            ; preds = %29307
  %29309 = load i32, ptr @test_count, align 4, !tbaa !5
  %29310 = add nsw i32 %29309, 1
  store i32 %29310, ptr @test_count, align 4, !tbaa !5
  %29311 = load ptr, ptr %591, align 8, !tbaa !9
  %29312 = load ptr, ptr %40, align 8, !tbaa !9
  %29313 = call i32 @s2n_connection_set_config(ptr noundef %29311, ptr noundef %29312)
  %29314 = icmp eq i32 %29313, -1
  br i1 %29314, label %29315, label %29368

29315:                                            ; preds = %29308
  br label %29316

29316:                                            ; preds = %29315
  br label %29317

29317:                                            ; preds = %29316
  call void @llvm.lifetime.start.p0(i64 4, ptr %595) #10
  %29318 = call ptr @__errno_location() #11
  %29319 = load i32, ptr %29318, align 4, !tbaa !5
  store i32 %29319, ptr %595, align 4, !tbaa !5
  %29320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29321 = call i32 @s2n_print_stacktrace(ptr noundef %29320)
  %29322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29323 = trunc i8 %29322 to i1
  br i1 %29323, label %29324, label %29346

29324:                                            ; preds = %29317
  %29325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29326 = call i32 @fileno(ptr noundef %29325) #10
  %29327 = call i32 @isatty(i32 noundef %29326) #10
  %29328 = icmp ne i32 %29327, 0
  br i1 %29328, label %29329, label %29346

29329:                                            ; preds = %29324
  %29330 = load i32, ptr %595, align 4, !tbaa !5
  %29331 = call ptr @__errno_location() #11
  store i32 %29330, ptr %29331, align 4, !tbaa !5
  %29332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29333 = load i32, ptr @test_count, align 4, !tbaa !5
  %29334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29335 = load i32, ptr %29334, align 4, !tbaa !5
  %29336 = call ptr @s2n_strerror(i32 noundef %29335, ptr noundef @.str.65)
  %29337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29338 = load i32, ptr %29337, align 4, !tbaa !5
  %29339 = call ptr @s2n_strerror_debug(i32 noundef %29338, ptr noundef @.str.65)
  %29340 = call ptr @__errno_location() #11
  %29341 = load i32, ptr %29340, align 4, !tbaa !5
  %29342 = call ptr @strerror(i32 noundef %29341) #10
  %29343 = call ptr @__errno_location() #11
  %29344 = load i32, ptr %29343, align 4, !tbaa !5
  %29345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29332, ptr noundef @.str.63, i32 noundef %29333, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1189, ptr noundef %29336, ptr noundef %29339, ptr noundef %29342, i32 noundef %29344) #10
  br label %29363

29346:                                            ; preds = %29324, %29317
  %29347 = load i32, ptr %595, align 4, !tbaa !5
  %29348 = call ptr @__errno_location() #11
  store i32 %29347, ptr %29348, align 4, !tbaa !5
  %29349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29350 = load i32, ptr @test_count, align 4, !tbaa !5
  %29351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29352 = load i32, ptr %29351, align 4, !tbaa !5
  %29353 = call ptr @s2n_strerror(i32 noundef %29352, ptr noundef @.str.65)
  %29354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29355 = load i32, ptr %29354, align 4, !tbaa !5
  %29356 = call ptr @s2n_strerror_debug(i32 noundef %29355, ptr noundef @.str.65)
  %29357 = call ptr @__errno_location() #11
  %29358 = load i32, ptr %29357, align 4, !tbaa !5
  %29359 = call ptr @strerror(i32 noundef %29358) #10
  %29360 = call ptr @__errno_location() #11
  %29361 = load i32, ptr %29360, align 4, !tbaa !5
  %29362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29349, ptr noundef @.str.66, i32 noundef %29350, ptr noundef @.str.111, ptr noundef @.str.62, i32 noundef 1189, ptr noundef %29353, ptr noundef %29356, ptr noundef %29359, i32 noundef %29361) #10
  br label %29363

29363:                                            ; preds = %29346, %29329
  call void @llvm.lifetime.end.p0(i64 4, ptr %595) #10
  br label %29364

29364:                                            ; preds = %29363
  br label %29365

29365:                                            ; preds = %29364
  call void @exit(i32 noundef 1) #12
  unreachable

29366:                                            ; No predecessors!
  br label %29367

29367:                                            ; preds = %29366
  br label %29368

29368:                                            ; preds = %29367, %29308
  br label %29369

29369:                                            ; preds = %29368
  br label %29370

29370:                                            ; preds = %29369
  br label %29371

29371:                                            ; preds = %29370
  %29372 = load i32, ptr @test_count, align 4, !tbaa !5
  %29373 = add nsw i32 %29372, 1
  store i32 %29373, ptr @test_count, align 4, !tbaa !5
  %29374 = load ptr, ptr %593, align 8, !tbaa !9
  %29375 = load ptr, ptr %20, align 8, !tbaa !9
  %29376 = call i32 @s2n_connection_set_config(ptr noundef %29374, ptr noundef %29375)
  %29377 = icmp eq i32 %29376, -1
  br i1 %29377, label %29378, label %29431

29378:                                            ; preds = %29371
  br label %29379

29379:                                            ; preds = %29378
  br label %29380

29380:                                            ; preds = %29379
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #10
  %29381 = call ptr @__errno_location() #11
  %29382 = load i32, ptr %29381, align 4, !tbaa !5
  store i32 %29382, ptr %596, align 4, !tbaa !5
  %29383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29384 = call i32 @s2n_print_stacktrace(ptr noundef %29383)
  %29385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29386 = trunc i8 %29385 to i1
  br i1 %29386, label %29387, label %29409

29387:                                            ; preds = %29380
  %29388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29389 = call i32 @fileno(ptr noundef %29388) #10
  %29390 = call i32 @isatty(i32 noundef %29389) #10
  %29391 = icmp ne i32 %29390, 0
  br i1 %29391, label %29392, label %29409

29392:                                            ; preds = %29387
  %29393 = load i32, ptr %596, align 4, !tbaa !5
  %29394 = call ptr @__errno_location() #11
  store i32 %29393, ptr %29394, align 4, !tbaa !5
  %29395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29396 = load i32, ptr @test_count, align 4, !tbaa !5
  %29397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29398 = load i32, ptr %29397, align 4, !tbaa !5
  %29399 = call ptr @s2n_strerror(i32 noundef %29398, ptr noundef @.str.65)
  %29400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29401 = load i32, ptr %29400, align 4, !tbaa !5
  %29402 = call ptr @s2n_strerror_debug(i32 noundef %29401, ptr noundef @.str.65)
  %29403 = call ptr @__errno_location() #11
  %29404 = load i32, ptr %29403, align 4, !tbaa !5
  %29405 = call ptr @strerror(i32 noundef %29404) #10
  %29406 = call ptr @__errno_location() #11
  %29407 = load i32, ptr %29406, align 4, !tbaa !5
  %29408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29395, ptr noundef @.str.63, i32 noundef %29396, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1190, ptr noundef %29399, ptr noundef %29402, ptr noundef %29405, i32 noundef %29407) #10
  br label %29426

29409:                                            ; preds = %29387, %29380
  %29410 = load i32, ptr %596, align 4, !tbaa !5
  %29411 = call ptr @__errno_location() #11
  store i32 %29410, ptr %29411, align 4, !tbaa !5
  %29412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29413 = load i32, ptr @test_count, align 4, !tbaa !5
  %29414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29415 = load i32, ptr %29414, align 4, !tbaa !5
  %29416 = call ptr @s2n_strerror(i32 noundef %29415, ptr noundef @.str.65)
  %29417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29418 = load i32, ptr %29417, align 4, !tbaa !5
  %29419 = call ptr @s2n_strerror_debug(i32 noundef %29418, ptr noundef @.str.65)
  %29420 = call ptr @__errno_location() #11
  %29421 = load i32, ptr %29420, align 4, !tbaa !5
  %29422 = call ptr @strerror(i32 noundef %29421) #10
  %29423 = call ptr @__errno_location() #11
  %29424 = load i32, ptr %29423, align 4, !tbaa !5
  %29425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29412, ptr noundef @.str.66, i32 noundef %29413, ptr noundef @.str.112, ptr noundef @.str.62, i32 noundef 1190, ptr noundef %29416, ptr noundef %29419, ptr noundef %29422, i32 noundef %29424) #10
  br label %29426

29426:                                            ; preds = %29409, %29392
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #10
  br label %29427

29427:                                            ; preds = %29426
  br label %29428

29428:                                            ; preds = %29427
  call void @exit(i32 noundef 1) #12
  unreachable

29429:                                            ; No predecessors!
  br label %29430

29430:                                            ; preds = %29429
  br label %29431

29431:                                            ; preds = %29430, %29371
  br label %29432

29432:                                            ; preds = %29431
  br label %29433

29433:                                            ; preds = %29432
  br label %29434

29434:                                            ; preds = %29433
  %29435 = load i32, ptr @test_count, align 4, !tbaa !5
  %29436 = add nsw i32 %29435, 1
  store i32 %29436, ptr @test_count, align 4, !tbaa !5
  %29437 = load ptr, ptr %591, align 8, !tbaa !9
  %29438 = call i32 @s2n_connection_enable_quic(ptr noundef %29437)
  %29439 = icmp eq i32 %29438, -1
  br i1 %29439, label %29440, label %29493

29440:                                            ; preds = %29434
  br label %29441

29441:                                            ; preds = %29440
  br label %29442

29442:                                            ; preds = %29441
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #10
  %29443 = call ptr @__errno_location() #11
  %29444 = load i32, ptr %29443, align 4, !tbaa !5
  store i32 %29444, ptr %597, align 4, !tbaa !5
  %29445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29446 = call i32 @s2n_print_stacktrace(ptr noundef %29445)
  %29447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29448 = trunc i8 %29447 to i1
  br i1 %29448, label %29449, label %29471

29449:                                            ; preds = %29442
  %29450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29451 = call i32 @fileno(ptr noundef %29450) #10
  %29452 = call i32 @isatty(i32 noundef %29451) #10
  %29453 = icmp ne i32 %29452, 0
  br i1 %29453, label %29454, label %29471

29454:                                            ; preds = %29449
  %29455 = load i32, ptr %597, align 4, !tbaa !5
  %29456 = call ptr @__errno_location() #11
  store i32 %29455, ptr %29456, align 4, !tbaa !5
  %29457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29458 = load i32, ptr @test_count, align 4, !tbaa !5
  %29459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29460 = load i32, ptr %29459, align 4, !tbaa !5
  %29461 = call ptr @s2n_strerror(i32 noundef %29460, ptr noundef @.str.65)
  %29462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29463 = load i32, ptr %29462, align 4, !tbaa !5
  %29464 = call ptr @s2n_strerror_debug(i32 noundef %29463, ptr noundef @.str.65)
  %29465 = call ptr @__errno_location() #11
  %29466 = load i32, ptr %29465, align 4, !tbaa !5
  %29467 = call ptr @strerror(i32 noundef %29466) #10
  %29468 = call ptr @__errno_location() #11
  %29469 = load i32, ptr %29468, align 4, !tbaa !5
  %29470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29457, ptr noundef @.str.63, i32 noundef %29458, ptr noundef @.str.208, ptr noundef @.str.62, i32 noundef 1193, ptr noundef %29461, ptr noundef %29464, ptr noundef %29467, i32 noundef %29469) #10
  br label %29488

29471:                                            ; preds = %29449, %29442
  %29472 = load i32, ptr %597, align 4, !tbaa !5
  %29473 = call ptr @__errno_location() #11
  store i32 %29472, ptr %29473, align 4, !tbaa !5
  %29474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29475 = load i32, ptr @test_count, align 4, !tbaa !5
  %29476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29477 = load i32, ptr %29476, align 4, !tbaa !5
  %29478 = call ptr @s2n_strerror(i32 noundef %29477, ptr noundef @.str.65)
  %29479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29480 = load i32, ptr %29479, align 4, !tbaa !5
  %29481 = call ptr @s2n_strerror_debug(i32 noundef %29480, ptr noundef @.str.65)
  %29482 = call ptr @__errno_location() #11
  %29483 = load i32, ptr %29482, align 4, !tbaa !5
  %29484 = call ptr @strerror(i32 noundef %29483) #10
  %29485 = call ptr @__errno_location() #11
  %29486 = load i32, ptr %29485, align 4, !tbaa !5
  %29487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29474, ptr noundef @.str.66, i32 noundef %29475, ptr noundef @.str.208, ptr noundef @.str.62, i32 noundef 1193, ptr noundef %29478, ptr noundef %29481, ptr noundef %29484, i32 noundef %29486) #10
  br label %29488

29488:                                            ; preds = %29471, %29454
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #10
  br label %29489

29489:                                            ; preds = %29488
  br label %29490

29490:                                            ; preds = %29489
  call void @exit(i32 noundef 1) #12
  unreachable

29491:                                            ; No predecessors!
  br label %29492

29492:                                            ; preds = %29491
  br label %29493

29493:                                            ; preds = %29492, %29434
  br label %29494

29494:                                            ; preds = %29493
  br label %29495

29495:                                            ; preds = %29494
  br label %29496

29496:                                            ; preds = %29495
  %29497 = load i32, ptr @test_count, align 4, !tbaa !5
  %29498 = add nsw i32 %29497, 1
  store i32 %29498, ptr @test_count, align 4, !tbaa !5
  %29499 = load ptr, ptr %593, align 8, !tbaa !9
  %29500 = call i32 @s2n_connection_enable_quic(ptr noundef %29499)
  %29501 = icmp eq i32 %29500, -1
  br i1 %29501, label %29502, label %29555

29502:                                            ; preds = %29496
  br label %29503

29503:                                            ; preds = %29502
  br label %29504

29504:                                            ; preds = %29503
  call void @llvm.lifetime.start.p0(i64 4, ptr %598) #10
  %29505 = call ptr @__errno_location() #11
  %29506 = load i32, ptr %29505, align 4, !tbaa !5
  store i32 %29506, ptr %598, align 4, !tbaa !5
  %29507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29508 = call i32 @s2n_print_stacktrace(ptr noundef %29507)
  %29509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29510 = trunc i8 %29509 to i1
  br i1 %29510, label %29511, label %29533

29511:                                            ; preds = %29504
  %29512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29513 = call i32 @fileno(ptr noundef %29512) #10
  %29514 = call i32 @isatty(i32 noundef %29513) #10
  %29515 = icmp ne i32 %29514, 0
  br i1 %29515, label %29516, label %29533

29516:                                            ; preds = %29511
  %29517 = load i32, ptr %598, align 4, !tbaa !5
  %29518 = call ptr @__errno_location() #11
  store i32 %29517, ptr %29518, align 4, !tbaa !5
  %29519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29520 = load i32, ptr @test_count, align 4, !tbaa !5
  %29521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29522 = load i32, ptr %29521, align 4, !tbaa !5
  %29523 = call ptr @s2n_strerror(i32 noundef %29522, ptr noundef @.str.65)
  %29524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29525 = load i32, ptr %29524, align 4, !tbaa !5
  %29526 = call ptr @s2n_strerror_debug(i32 noundef %29525, ptr noundef @.str.65)
  %29527 = call ptr @__errno_location() #11
  %29528 = load i32, ptr %29527, align 4, !tbaa !5
  %29529 = call ptr @strerror(i32 noundef %29528) #10
  %29530 = call ptr @__errno_location() #11
  %29531 = load i32, ptr %29530, align 4, !tbaa !5
  %29532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29519, ptr noundef @.str.63, i32 noundef %29520, ptr noundef @.str.209, ptr noundef @.str.62, i32 noundef 1194, ptr noundef %29523, ptr noundef %29526, ptr noundef %29529, i32 noundef %29531) #10
  br label %29550

29533:                                            ; preds = %29511, %29504
  %29534 = load i32, ptr %598, align 4, !tbaa !5
  %29535 = call ptr @__errno_location() #11
  store i32 %29534, ptr %29535, align 4, !tbaa !5
  %29536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29537 = load i32, ptr @test_count, align 4, !tbaa !5
  %29538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29539 = load i32, ptr %29538, align 4, !tbaa !5
  %29540 = call ptr @s2n_strerror(i32 noundef %29539, ptr noundef @.str.65)
  %29541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29542 = load i32, ptr %29541, align 4, !tbaa !5
  %29543 = call ptr @s2n_strerror_debug(i32 noundef %29542, ptr noundef @.str.65)
  %29544 = call ptr @__errno_location() #11
  %29545 = load i32, ptr %29544, align 4, !tbaa !5
  %29546 = call ptr @strerror(i32 noundef %29545) #10
  %29547 = call ptr @__errno_location() #11
  %29548 = load i32, ptr %29547, align 4, !tbaa !5
  %29549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29536, ptr noundef @.str.66, i32 noundef %29537, ptr noundef @.str.209, ptr noundef @.str.62, i32 noundef 1194, ptr noundef %29540, ptr noundef %29543, ptr noundef %29546, i32 noundef %29548) #10
  br label %29550

29550:                                            ; preds = %29533, %29516
  call void @llvm.lifetime.end.p0(i64 4, ptr %598) #10
  br label %29551

29551:                                            ; preds = %29550
  br label %29552

29552:                                            ; preds = %29551
  call void @exit(i32 noundef 1) #12
  unreachable

29553:                                            ; No predecessors!
  br label %29554

29554:                                            ; preds = %29553
  br label %29555

29555:                                            ; preds = %29554, %29496
  br label %29556

29556:                                            ; preds = %29555
  br label %29557

29557:                                            ; preds = %29556
  call void @llvm.lifetime.start.p0(i64 40, ptr %599) #10
  call void @llvm.memset.p0.i64(ptr align 8 %599, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %600) #10
  call void @llvm.memset.p0.i64(ptr align 8 %600, i8 0, i64 40, i1 false)
  br label %29558

29558:                                            ; preds = %29557
  %29559 = load i32, ptr @test_count, align 4, !tbaa !5
  %29560 = add nsw i32 %29559, 1
  store i32 %29560, ptr @test_count, align 4, !tbaa !5
  %29561 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %599, i32 noundef 0)
  %29562 = icmp eq i32 %29561, -1
  br i1 %29562, label %29563, label %29616

29563:                                            ; preds = %29558
  br label %29564

29564:                                            ; preds = %29563
  br label %29565

29565:                                            ; preds = %29564
  call void @llvm.lifetime.start.p0(i64 4, ptr %601) #10
  %29566 = call ptr @__errno_location() #11
  %29567 = load i32, ptr %29566, align 4, !tbaa !5
  store i32 %29567, ptr %601, align 4, !tbaa !5
  %29568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29569 = call i32 @s2n_print_stacktrace(ptr noundef %29568)
  %29570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29571 = trunc i8 %29570 to i1
  br i1 %29571, label %29572, label %29594

29572:                                            ; preds = %29565
  %29573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29574 = call i32 @fileno(ptr noundef %29573) #10
  %29575 = call i32 @isatty(i32 noundef %29574) #10
  %29576 = icmp ne i32 %29575, 0
  br i1 %29576, label %29577, label %29594

29577:                                            ; preds = %29572
  %29578 = load i32, ptr %601, align 4, !tbaa !5
  %29579 = call ptr @__errno_location() #11
  store i32 %29578, ptr %29579, align 4, !tbaa !5
  %29580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29581 = load i32, ptr @test_count, align 4, !tbaa !5
  %29582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29583 = load i32, ptr %29582, align 4, !tbaa !5
  %29584 = call ptr @s2n_strerror(i32 noundef %29583, ptr noundef @.str.65)
  %29585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29586 = load i32, ptr %29585, align 4, !tbaa !5
  %29587 = call ptr @s2n_strerror_debug(i32 noundef %29586, ptr noundef @.str.65)
  %29588 = call ptr @__errno_location() #11
  %29589 = load i32, ptr %29588, align 4, !tbaa !5
  %29590 = call ptr @strerror(i32 noundef %29589) #10
  %29591 = call ptr @__errno_location() #11
  %29592 = load i32, ptr %29591, align 4, !tbaa !5
  %29593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29580, ptr noundef @.str.63, i32 noundef %29581, ptr noundef @.str.210, ptr noundef @.str.62, i32 noundef 1199, ptr noundef %29584, ptr noundef %29587, ptr noundef %29590, i32 noundef %29592) #10
  br label %29611

29594:                                            ; preds = %29572, %29565
  %29595 = load i32, ptr %601, align 4, !tbaa !5
  %29596 = call ptr @__errno_location() #11
  store i32 %29595, ptr %29596, align 4, !tbaa !5
  %29597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29598 = load i32, ptr @test_count, align 4, !tbaa !5
  %29599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29600 = load i32, ptr %29599, align 4, !tbaa !5
  %29601 = call ptr @s2n_strerror(i32 noundef %29600, ptr noundef @.str.65)
  %29602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29603 = load i32, ptr %29602, align 4, !tbaa !5
  %29604 = call ptr @s2n_strerror_debug(i32 noundef %29603, ptr noundef @.str.65)
  %29605 = call ptr @__errno_location() #11
  %29606 = load i32, ptr %29605, align 4, !tbaa !5
  %29607 = call ptr @strerror(i32 noundef %29606) #10
  %29608 = call ptr @__errno_location() #11
  %29609 = load i32, ptr %29608, align 4, !tbaa !5
  %29610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29597, ptr noundef @.str.66, i32 noundef %29598, ptr noundef @.str.210, ptr noundef @.str.62, i32 noundef 1199, ptr noundef %29601, ptr noundef %29604, ptr noundef %29607, i32 noundef %29609) #10
  br label %29611

29611:                                            ; preds = %29594, %29577
  call void @llvm.lifetime.end.p0(i64 4, ptr %601) #10
  br label %29612

29612:                                            ; preds = %29611
  br label %29613

29613:                                            ; preds = %29612
  call void @exit(i32 noundef 1) #12
  unreachable

29614:                                            ; No predecessors!
  br label %29615

29615:                                            ; preds = %29614
  br label %29616

29616:                                            ; preds = %29615, %29558
  br label %29617

29617:                                            ; preds = %29616
  br label %29618

29618:                                            ; preds = %29617
  br label %29619

29619:                                            ; preds = %29618
  %29620 = load i32, ptr @test_count, align 4, !tbaa !5
  %29621 = add nsw i32 %29620, 1
  store i32 %29621, ptr @test_count, align 4, !tbaa !5
  %29622 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %600, i32 noundef 0)
  %29623 = icmp eq i32 %29622, -1
  br i1 %29623, label %29624, label %29677

29624:                                            ; preds = %29619
  br label %29625

29625:                                            ; preds = %29624
  br label %29626

29626:                                            ; preds = %29625
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #10
  %29627 = call ptr @__errno_location() #11
  %29628 = load i32, ptr %29627, align 4, !tbaa !5
  store i32 %29628, ptr %602, align 4, !tbaa !5
  %29629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29630 = call i32 @s2n_print_stacktrace(ptr noundef %29629)
  %29631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29632 = trunc i8 %29631 to i1
  br i1 %29632, label %29633, label %29655

29633:                                            ; preds = %29626
  %29634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29635 = call i32 @fileno(ptr noundef %29634) #10
  %29636 = call i32 @isatty(i32 noundef %29635) #10
  %29637 = icmp ne i32 %29636, 0
  br i1 %29637, label %29638, label %29655

29638:                                            ; preds = %29633
  %29639 = load i32, ptr %602, align 4, !tbaa !5
  %29640 = call ptr @__errno_location() #11
  store i32 %29639, ptr %29640, align 4, !tbaa !5
  %29641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29642 = load i32, ptr @test_count, align 4, !tbaa !5
  %29643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29644 = load i32, ptr %29643, align 4, !tbaa !5
  %29645 = call ptr @s2n_strerror(i32 noundef %29644, ptr noundef @.str.65)
  %29646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29647 = load i32, ptr %29646, align 4, !tbaa !5
  %29648 = call ptr @s2n_strerror_debug(i32 noundef %29647, ptr noundef @.str.65)
  %29649 = call ptr @__errno_location() #11
  %29650 = load i32, ptr %29649, align 4, !tbaa !5
  %29651 = call ptr @strerror(i32 noundef %29650) #10
  %29652 = call ptr @__errno_location() #11
  %29653 = load i32, ptr %29652, align 4, !tbaa !5
  %29654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29641, ptr noundef @.str.63, i32 noundef %29642, ptr noundef @.str.211, ptr noundef @.str.62, i32 noundef 1200, ptr noundef %29645, ptr noundef %29648, ptr noundef %29651, i32 noundef %29653) #10
  br label %29672

29655:                                            ; preds = %29633, %29626
  %29656 = load i32, ptr %602, align 4, !tbaa !5
  %29657 = call ptr @__errno_location() #11
  store i32 %29656, ptr %29657, align 4, !tbaa !5
  %29658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29659 = load i32, ptr @test_count, align 4, !tbaa !5
  %29660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29661 = load i32, ptr %29660, align 4, !tbaa !5
  %29662 = call ptr @s2n_strerror(i32 noundef %29661, ptr noundef @.str.65)
  %29663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29664 = load i32, ptr %29663, align 4, !tbaa !5
  %29665 = call ptr @s2n_strerror_debug(i32 noundef %29664, ptr noundef @.str.65)
  %29666 = call ptr @__errno_location() #11
  %29667 = load i32, ptr %29666, align 4, !tbaa !5
  %29668 = call ptr @strerror(i32 noundef %29667) #10
  %29669 = call ptr @__errno_location() #11
  %29670 = load i32, ptr %29669, align 4, !tbaa !5
  %29671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29658, ptr noundef @.str.66, i32 noundef %29659, ptr noundef @.str.211, ptr noundef @.str.62, i32 noundef 1200, ptr noundef %29662, ptr noundef %29665, ptr noundef %29668, i32 noundef %29670) #10
  br label %29672

29672:                                            ; preds = %29655, %29638
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #10
  br label %29673

29673:                                            ; preds = %29672
  br label %29674

29674:                                            ; preds = %29673
  call void @exit(i32 noundef 1) #12
  unreachable

29675:                                            ; No predecessors!
  br label %29676

29676:                                            ; preds = %29675
  br label %29677

29677:                                            ; preds = %29676, %29619
  br label %29678

29678:                                            ; preds = %29677
  br label %29679

29679:                                            ; preds = %29678
  br label %29680

29680:                                            ; preds = %29679
  %29681 = load i32, ptr @test_count, align 4, !tbaa !5
  %29682 = add nsw i32 %29681, 1
  store i32 %29682, ptr @test_count, align 4, !tbaa !5
  %29683 = load ptr, ptr %593, align 8, !tbaa !9
  %29684 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %599, ptr noundef %600, ptr noundef %29683)
  %29685 = icmp eq i32 %29684, -1
  br i1 %29685, label %29686, label %29739

29686:                                            ; preds = %29680
  br label %29687

29687:                                            ; preds = %29686
  br label %29688

29688:                                            ; preds = %29687
  call void @llvm.lifetime.start.p0(i64 4, ptr %603) #10
  %29689 = call ptr @__errno_location() #11
  %29690 = load i32, ptr %29689, align 4, !tbaa !5
  store i32 %29690, ptr %603, align 4, !tbaa !5
  %29691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29692 = call i32 @s2n_print_stacktrace(ptr noundef %29691)
  %29693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29694 = trunc i8 %29693 to i1
  br i1 %29694, label %29695, label %29717

29695:                                            ; preds = %29688
  %29696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29697 = call i32 @fileno(ptr noundef %29696) #10
  %29698 = call i32 @isatty(i32 noundef %29697) #10
  %29699 = icmp ne i32 %29698, 0
  br i1 %29699, label %29700, label %29717

29700:                                            ; preds = %29695
  %29701 = load i32, ptr %603, align 4, !tbaa !5
  %29702 = call ptr @__errno_location() #11
  store i32 %29701, ptr %29702, align 4, !tbaa !5
  %29703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29704 = load i32, ptr @test_count, align 4, !tbaa !5
  %29705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29706 = load i32, ptr %29705, align 4, !tbaa !5
  %29707 = call ptr @s2n_strerror(i32 noundef %29706, ptr noundef @.str.65)
  %29708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29709 = load i32, ptr %29708, align 4, !tbaa !5
  %29710 = call ptr @s2n_strerror_debug(i32 noundef %29709, ptr noundef @.str.65)
  %29711 = call ptr @__errno_location() #11
  %29712 = load i32, ptr %29711, align 4, !tbaa !5
  %29713 = call ptr @strerror(i32 noundef %29712) #10
  %29714 = call ptr @__errno_location() #11
  %29715 = load i32, ptr %29714, align 4, !tbaa !5
  %29716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29703, ptr noundef @.str.63, i32 noundef %29704, ptr noundef @.str.212, ptr noundef @.str.62, i32 noundef 1201, ptr noundef %29707, ptr noundef %29710, ptr noundef %29713, i32 noundef %29715) #10
  br label %29734

29717:                                            ; preds = %29695, %29688
  %29718 = load i32, ptr %603, align 4, !tbaa !5
  %29719 = call ptr @__errno_location() #11
  store i32 %29718, ptr %29719, align 4, !tbaa !5
  %29720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29721 = load i32, ptr @test_count, align 4, !tbaa !5
  %29722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29723 = load i32, ptr %29722, align 4, !tbaa !5
  %29724 = call ptr @s2n_strerror(i32 noundef %29723, ptr noundef @.str.65)
  %29725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29726 = load i32, ptr %29725, align 4, !tbaa !5
  %29727 = call ptr @s2n_strerror_debug(i32 noundef %29726, ptr noundef @.str.65)
  %29728 = call ptr @__errno_location() #11
  %29729 = load i32, ptr %29728, align 4, !tbaa !5
  %29730 = call ptr @strerror(i32 noundef %29729) #10
  %29731 = call ptr @__errno_location() #11
  %29732 = load i32, ptr %29731, align 4, !tbaa !5
  %29733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29720, ptr noundef @.str.66, i32 noundef %29721, ptr noundef @.str.212, ptr noundef @.str.62, i32 noundef 1201, ptr noundef %29724, ptr noundef %29727, ptr noundef %29730, i32 noundef %29732) #10
  br label %29734

29734:                                            ; preds = %29717, %29700
  call void @llvm.lifetime.end.p0(i64 4, ptr %603) #10
  br label %29735

29735:                                            ; preds = %29734
  br label %29736

29736:                                            ; preds = %29735
  call void @exit(i32 noundef 1) #12
  unreachable

29737:                                            ; No predecessors!
  br label %29738

29738:                                            ; preds = %29737
  br label %29739

29739:                                            ; preds = %29738, %29680
  br label %29740

29740:                                            ; preds = %29739
  br label %29741

29741:                                            ; preds = %29740
  br label %29742

29742:                                            ; preds = %29741
  %29743 = load i32, ptr @test_count, align 4, !tbaa !5
  %29744 = add nsw i32 %29743, 1
  store i32 %29744, ptr @test_count, align 4, !tbaa !5
  %29745 = load ptr, ptr %591, align 8, !tbaa !9
  %29746 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %600, ptr noundef %599, ptr noundef %29745)
  %29747 = icmp eq i32 %29746, -1
  br i1 %29747, label %29748, label %29801

29748:                                            ; preds = %29742
  br label %29749

29749:                                            ; preds = %29748
  br label %29750

29750:                                            ; preds = %29749
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #10
  %29751 = call ptr @__errno_location() #11
  %29752 = load i32, ptr %29751, align 4, !tbaa !5
  store i32 %29752, ptr %604, align 4, !tbaa !5
  %29753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29754 = call i32 @s2n_print_stacktrace(ptr noundef %29753)
  %29755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29756 = trunc i8 %29755 to i1
  br i1 %29756, label %29757, label %29779

29757:                                            ; preds = %29750
  %29758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29759 = call i32 @fileno(ptr noundef %29758) #10
  %29760 = call i32 @isatty(i32 noundef %29759) #10
  %29761 = icmp ne i32 %29760, 0
  br i1 %29761, label %29762, label %29779

29762:                                            ; preds = %29757
  %29763 = load i32, ptr %604, align 4, !tbaa !5
  %29764 = call ptr @__errno_location() #11
  store i32 %29763, ptr %29764, align 4, !tbaa !5
  %29765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29766 = load i32, ptr @test_count, align 4, !tbaa !5
  %29767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29768 = load i32, ptr %29767, align 4, !tbaa !5
  %29769 = call ptr @s2n_strerror(i32 noundef %29768, ptr noundef @.str.65)
  %29770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29771 = load i32, ptr %29770, align 4, !tbaa !5
  %29772 = call ptr @s2n_strerror_debug(i32 noundef %29771, ptr noundef @.str.65)
  %29773 = call ptr @__errno_location() #11
  %29774 = load i32, ptr %29773, align 4, !tbaa !5
  %29775 = call ptr @strerror(i32 noundef %29774) #10
  %29776 = call ptr @__errno_location() #11
  %29777 = load i32, ptr %29776, align 4, !tbaa !5
  %29778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29765, ptr noundef @.str.63, i32 noundef %29766, ptr noundef @.str.213, ptr noundef @.str.62, i32 noundef 1202, ptr noundef %29769, ptr noundef %29772, ptr noundef %29775, i32 noundef %29777) #10
  br label %29796

29779:                                            ; preds = %29757, %29750
  %29780 = load i32, ptr %604, align 4, !tbaa !5
  %29781 = call ptr @__errno_location() #11
  store i32 %29780, ptr %29781, align 4, !tbaa !5
  %29782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29783 = load i32, ptr @test_count, align 4, !tbaa !5
  %29784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29785 = load i32, ptr %29784, align 4, !tbaa !5
  %29786 = call ptr @s2n_strerror(i32 noundef %29785, ptr noundef @.str.65)
  %29787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29788 = load i32, ptr %29787, align 4, !tbaa !5
  %29789 = call ptr @s2n_strerror_debug(i32 noundef %29788, ptr noundef @.str.65)
  %29790 = call ptr @__errno_location() #11
  %29791 = load i32, ptr %29790, align 4, !tbaa !5
  %29792 = call ptr @strerror(i32 noundef %29791) #10
  %29793 = call ptr @__errno_location() #11
  %29794 = load i32, ptr %29793, align 4, !tbaa !5
  %29795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29782, ptr noundef @.str.66, i32 noundef %29783, ptr noundef @.str.213, ptr noundef @.str.62, i32 noundef 1202, ptr noundef %29786, ptr noundef %29789, ptr noundef %29792, i32 noundef %29794) #10
  br label %29796

29796:                                            ; preds = %29779, %29762
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #10
  br label %29797

29797:                                            ; preds = %29796
  br label %29798

29798:                                            ; preds = %29797
  call void @exit(i32 noundef 1) #12
  unreachable

29799:                                            ; No predecessors!
  br label %29800

29800:                                            ; preds = %29799
  br label %29801

29801:                                            ; preds = %29800, %29742
  br label %29802

29802:                                            ; preds = %29801
  br label %29803

29803:                                            ; preds = %29802
  br label %29804

29804:                                            ; preds = %29803
  %29805 = load i32, ptr @test_count, align 4, !tbaa !5
  %29806 = add nsw i32 %29805, 1
  store i32 %29806, ptr @test_count, align 4, !tbaa !5
  %29807 = load ptr, ptr %20, align 8, !tbaa !9
  %29808 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %29807, ptr noundef null, ptr noundef null)
  %29809 = icmp eq i32 %29808, -1
  br i1 %29809, label %29810, label %29863

29810:                                            ; preds = %29804
  br label %29811

29811:                                            ; preds = %29810
  br label %29812

29812:                                            ; preds = %29811
  call void @llvm.lifetime.start.p0(i64 4, ptr %605) #10
  %29813 = call ptr @__errno_location() #11
  %29814 = load i32, ptr %29813, align 4, !tbaa !5
  store i32 %29814, ptr %605, align 4, !tbaa !5
  %29815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29816 = call i32 @s2n_print_stacktrace(ptr noundef %29815)
  %29817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29818 = trunc i8 %29817 to i1
  br i1 %29818, label %29819, label %29841

29819:                                            ; preds = %29812
  %29820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29821 = call i32 @fileno(ptr noundef %29820) #10
  %29822 = call i32 @isatty(i32 noundef %29821) #10
  %29823 = icmp ne i32 %29822, 0
  br i1 %29823, label %29824, label %29841

29824:                                            ; preds = %29819
  %29825 = load i32, ptr %605, align 4, !tbaa !5
  %29826 = call ptr @__errno_location() #11
  store i32 %29825, ptr %29826, align 4, !tbaa !5
  %29827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29828 = load i32, ptr @test_count, align 4, !tbaa !5
  %29829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29830 = load i32, ptr %29829, align 4, !tbaa !5
  %29831 = call ptr @s2n_strerror(i32 noundef %29830, ptr noundef @.str.65)
  %29832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29833 = load i32, ptr %29832, align 4, !tbaa !5
  %29834 = call ptr @s2n_strerror_debug(i32 noundef %29833, ptr noundef @.str.65)
  %29835 = call ptr @__errno_location() #11
  %29836 = load i32, ptr %29835, align 4, !tbaa !5
  %29837 = call ptr @strerror(i32 noundef %29836) #10
  %29838 = call ptr @__errno_location() #11
  %29839 = load i32, ptr %29838, align 4, !tbaa !5
  %29840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29827, ptr noundef @.str.63, i32 noundef %29828, ptr noundef @.str.218, ptr noundef @.str.62, i32 noundef 1205, ptr noundef %29831, ptr noundef %29834, ptr noundef %29837, i32 noundef %29839) #10
  br label %29858

29841:                                            ; preds = %29819, %29812
  %29842 = load i32, ptr %605, align 4, !tbaa !5
  %29843 = call ptr @__errno_location() #11
  store i32 %29842, ptr %29843, align 4, !tbaa !5
  %29844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29845 = load i32, ptr @test_count, align 4, !tbaa !5
  %29846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29847 = load i32, ptr %29846, align 4, !tbaa !5
  %29848 = call ptr @s2n_strerror(i32 noundef %29847, ptr noundef @.str.65)
  %29849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29850 = load i32, ptr %29849, align 4, !tbaa !5
  %29851 = call ptr @s2n_strerror_debug(i32 noundef %29850, ptr noundef @.str.65)
  %29852 = call ptr @__errno_location() #11
  %29853 = load i32, ptr %29852, align 4, !tbaa !5
  %29854 = call ptr @strerror(i32 noundef %29853) #10
  %29855 = call ptr @__errno_location() #11
  %29856 = load i32, ptr %29855, align 4, !tbaa !5
  %29857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29844, ptr noundef @.str.66, i32 noundef %29845, ptr noundef @.str.218, ptr noundef @.str.62, i32 noundef 1205, ptr noundef %29848, ptr noundef %29851, ptr noundef %29854, i32 noundef %29856) #10
  br label %29858

29858:                                            ; preds = %29841, %29824
  call void @llvm.lifetime.end.p0(i64 4, ptr %605) #10
  br label %29859

29859:                                            ; preds = %29858
  br label %29860

29860:                                            ; preds = %29859
  call void @exit(i32 noundef 1) #12
  unreachable

29861:                                            ; No predecessors!
  br label %29862

29862:                                            ; preds = %29861
  br label %29863

29863:                                            ; preds = %29862, %29804
  br label %29864

29864:                                            ; preds = %29863
  br label %29865

29865:                                            ; preds = %29864
  br label %29866

29866:                                            ; preds = %29865
  %29867 = load i32, ptr @test_count, align 4, !tbaa !5
  %29868 = add nsw i32 %29867, 1
  store i32 %29868, ptr @test_count, align 4, !tbaa !5
  %29869 = load ptr, ptr %593, align 8, !tbaa !9
  %29870 = load ptr, ptr %591, align 8, !tbaa !9
  %29871 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %29869, ptr noundef %29870)
  %29872 = icmp eq i32 %29871, -1
  br i1 %29872, label %29873, label %29926

29873:                                            ; preds = %29866
  br label %29874

29874:                                            ; preds = %29873
  br label %29875

29875:                                            ; preds = %29874
  call void @llvm.lifetime.start.p0(i64 4, ptr %606) #10
  %29876 = call ptr @__errno_location() #11
  %29877 = load i32, ptr %29876, align 4, !tbaa !5
  store i32 %29877, ptr %606, align 4, !tbaa !5
  %29878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29879 = call i32 @s2n_print_stacktrace(ptr noundef %29878)
  %29880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29881 = trunc i8 %29880 to i1
  br i1 %29881, label %29882, label %29904

29882:                                            ; preds = %29875
  %29883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29884 = call i32 @fileno(ptr noundef %29883) #10
  %29885 = call i32 @isatty(i32 noundef %29884) #10
  %29886 = icmp ne i32 %29885, 0
  br i1 %29886, label %29887, label %29904

29887:                                            ; preds = %29882
  %29888 = load i32, ptr %606, align 4, !tbaa !5
  %29889 = call ptr @__errno_location() #11
  store i32 %29888, ptr %29889, align 4, !tbaa !5
  %29890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29891 = load i32, ptr @test_count, align 4, !tbaa !5
  %29892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29893 = load i32, ptr %29892, align 4, !tbaa !5
  %29894 = call ptr @s2n_strerror(i32 noundef %29893, ptr noundef @.str.65)
  %29895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29896 = load i32, ptr %29895, align 4, !tbaa !5
  %29897 = call ptr @s2n_strerror_debug(i32 noundef %29896, ptr noundef @.str.65)
  %29898 = call ptr @__errno_location() #11
  %29899 = load i32, ptr %29898, align 4, !tbaa !5
  %29900 = call ptr @strerror(i32 noundef %29899) #10
  %29901 = call ptr @__errno_location() #11
  %29902 = load i32, ptr %29901, align 4, !tbaa !5
  %29903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29890, ptr noundef @.str.63, i32 noundef %29891, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1208, ptr noundef %29894, ptr noundef %29897, ptr noundef %29900, i32 noundef %29902) #10
  br label %29921

29904:                                            ; preds = %29882, %29875
  %29905 = load i32, ptr %606, align 4, !tbaa !5
  %29906 = call ptr @__errno_location() #11
  store i32 %29905, ptr %29906, align 4, !tbaa !5
  %29907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29908 = load i32, ptr @test_count, align 4, !tbaa !5
  %29909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29910 = load i32, ptr %29909, align 4, !tbaa !5
  %29911 = call ptr @s2n_strerror(i32 noundef %29910, ptr noundef @.str.65)
  %29912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29913 = load i32, ptr %29912, align 4, !tbaa !5
  %29914 = call ptr @s2n_strerror_debug(i32 noundef %29913, ptr noundef @.str.65)
  %29915 = call ptr @__errno_location() #11
  %29916 = load i32, ptr %29915, align 4, !tbaa !5
  %29917 = call ptr @strerror(i32 noundef %29916) #10
  %29918 = call ptr @__errno_location() #11
  %29919 = load i32, ptr %29918, align 4, !tbaa !5
  %29920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29907, ptr noundef @.str.66, i32 noundef %29908, ptr noundef @.str.115, ptr noundef @.str.62, i32 noundef 1208, ptr noundef %29911, ptr noundef %29914, ptr noundef %29917, i32 noundef %29919) #10
  br label %29921

29921:                                            ; preds = %29904, %29887
  call void @llvm.lifetime.end.p0(i64 4, ptr %606) #10
  br label %29922

29922:                                            ; preds = %29921
  br label %29923

29923:                                            ; preds = %29922
  call void @exit(i32 noundef 1) #12
  unreachable

29924:                                            ; No predecessors!
  br label %29925

29925:                                            ; preds = %29924
  br label %29926

29926:                                            ; preds = %29925, %29866
  br label %29927

29927:                                            ; preds = %29926
  br label %29928

29928:                                            ; preds = %29927
  call void @llvm.lifetime.start.p0(i64 2, ptr %607) #10
  store i16 0, ptr %607, align 2, !tbaa !81
  br label %29929

29929:                                            ; preds = %29928
  %29930 = load i32, ptr @test_count, align 4, !tbaa !5
  %29931 = add nsw i32 %29930, 1
  store i32 %29931, ptr @test_count, align 4, !tbaa !5
  %29932 = load ptr, ptr %593, align 8, !tbaa !9
  %29933 = call i32 @s2n_connection_get_tickets_sent(ptr noundef %29932, ptr noundef %607)
  %29934 = icmp eq i32 %29933, -1
  br i1 %29934, label %29935, label %29988

29935:                                            ; preds = %29929
  br label %29936

29936:                                            ; preds = %29935
  br label %29937

29937:                                            ; preds = %29936
  call void @llvm.lifetime.start.p0(i64 4, ptr %608) #10
  %29938 = call ptr @__errno_location() #11
  %29939 = load i32, ptr %29938, align 4, !tbaa !5
  store i32 %29939, ptr %608, align 4, !tbaa !5
  %29940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29941 = call i32 @s2n_print_stacktrace(ptr noundef %29940)
  %29942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29943 = trunc i8 %29942 to i1
  br i1 %29943, label %29944, label %29966

29944:                                            ; preds = %29937
  %29945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29946 = call i32 @fileno(ptr noundef %29945) #10
  %29947 = call i32 @isatty(i32 noundef %29946) #10
  %29948 = icmp ne i32 %29947, 0
  br i1 %29948, label %29949, label %29966

29949:                                            ; preds = %29944
  %29950 = load i32, ptr %608, align 4, !tbaa !5
  %29951 = call ptr @__errno_location() #11
  store i32 %29950, ptr %29951, align 4, !tbaa !5
  %29952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29953 = load i32, ptr @test_count, align 4, !tbaa !5
  %29954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29955 = load i32, ptr %29954, align 4, !tbaa !5
  %29956 = call ptr @s2n_strerror(i32 noundef %29955, ptr noundef @.str.65)
  %29957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29958 = load i32, ptr %29957, align 4, !tbaa !5
  %29959 = call ptr @s2n_strerror_debug(i32 noundef %29958, ptr noundef @.str.65)
  %29960 = call ptr @__errno_location() #11
  %29961 = load i32, ptr %29960, align 4, !tbaa !5
  %29962 = call ptr @strerror(i32 noundef %29961) #10
  %29963 = call ptr @__errno_location() #11
  %29964 = load i32, ptr %29963, align 4, !tbaa !5
  %29965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29952, ptr noundef @.str.63, i32 noundef %29953, ptr noundef @.str.215, ptr noundef @.str.62, i32 noundef 1212, ptr noundef %29956, ptr noundef %29959, ptr noundef %29962, i32 noundef %29964) #10
  br label %29983

29966:                                            ; preds = %29944, %29937
  %29967 = load i32, ptr %608, align 4, !tbaa !5
  %29968 = call ptr @__errno_location() #11
  store i32 %29967, ptr %29968, align 4, !tbaa !5
  %29969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29970 = load i32, ptr @test_count, align 4, !tbaa !5
  %29971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29972 = load i32, ptr %29971, align 4, !tbaa !5
  %29973 = call ptr @s2n_strerror(i32 noundef %29972, ptr noundef @.str.65)
  %29974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29975 = load i32, ptr %29974, align 4, !tbaa !5
  %29976 = call ptr @s2n_strerror_debug(i32 noundef %29975, ptr noundef @.str.65)
  %29977 = call ptr @__errno_location() #11
  %29978 = load i32, ptr %29977, align 4, !tbaa !5
  %29979 = call ptr @strerror(i32 noundef %29978) #10
  %29980 = call ptr @__errno_location() #11
  %29981 = load i32, ptr %29980, align 4, !tbaa !5
  %29982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29969, ptr noundef @.str.66, i32 noundef %29970, ptr noundef @.str.215, ptr noundef @.str.62, i32 noundef 1212, ptr noundef %29973, ptr noundef %29976, ptr noundef %29979, i32 noundef %29981) #10
  br label %29983

29983:                                            ; preds = %29966, %29949
  call void @llvm.lifetime.end.p0(i64 4, ptr %608) #10
  br label %29984

29984:                                            ; preds = %29983
  br label %29985

29985:                                            ; preds = %29984
  call void @exit(i32 noundef 1) #12
  unreachable

29986:                                            ; No predecessors!
  br label %29987

29987:                                            ; preds = %29986
  br label %29988

29988:                                            ; preds = %29987, %29929
  br label %29989

29989:                                            ; preds = %29988
  br label %29990

29990:                                            ; preds = %29989
  br label %29991

29991:                                            ; preds = %29990
  %29992 = load i32, ptr @test_count, align 4, !tbaa !5
  %29993 = add nsw i32 %29992, 1
  store i32 %29993, ptr @test_count, align 4, !tbaa !5
  %29994 = load i16, ptr %607, align 2, !tbaa !81
  %29995 = zext i16 %29994 to i32
  %29996 = icmp eq i32 %29995, 1
  br i1 %29996, label %30050, label %29997

29997:                                            ; preds = %29991
  br label %29998

29998:                                            ; preds = %29997
  br label %29999

29999:                                            ; preds = %29998
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #10
  %30000 = call ptr @__errno_location() #11
  %30001 = load i32, ptr %30000, align 4, !tbaa !5
  store i32 %30001, ptr %609, align 4, !tbaa !5
  %30002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30003 = call i32 @s2n_print_stacktrace(ptr noundef %30002)
  %30004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30005 = trunc i8 %30004 to i1
  br i1 %30005, label %30006, label %30028

30006:                                            ; preds = %29999
  %30007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30008 = call i32 @fileno(ptr noundef %30007) #10
  %30009 = call i32 @isatty(i32 noundef %30008) #10
  %30010 = icmp ne i32 %30009, 0
  br i1 %30010, label %30011, label %30028

30011:                                            ; preds = %30006
  %30012 = load i32, ptr %609, align 4, !tbaa !5
  %30013 = call ptr @__errno_location() #11
  store i32 %30012, ptr %30013, align 4, !tbaa !5
  %30014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30015 = load i32, ptr @test_count, align 4, !tbaa !5
  %30016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30017 = load i32, ptr %30016, align 4, !tbaa !5
  %30018 = call ptr @s2n_strerror(i32 noundef %30017, ptr noundef @.str.65)
  %30019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30020 = load i32, ptr %30019, align 4, !tbaa !5
  %30021 = call ptr @s2n_strerror_debug(i32 noundef %30020, ptr noundef @.str.65)
  %30022 = call ptr @__errno_location() #11
  %30023 = load i32, ptr %30022, align 4, !tbaa !5
  %30024 = call ptr @strerror(i32 noundef %30023) #10
  %30025 = call ptr @__errno_location() #11
  %30026 = load i32, ptr %30025, align 4, !tbaa !5
  %30027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30014, ptr noundef @.str.63, i32 noundef %30015, ptr noundef @.str.219, ptr noundef @.str.62, i32 noundef 1213, ptr noundef %30018, ptr noundef %30021, ptr noundef %30024, i32 noundef %30026) #10
  br label %30045

30028:                                            ; preds = %30006, %29999
  %30029 = load i32, ptr %609, align 4, !tbaa !5
  %30030 = call ptr @__errno_location() #11
  store i32 %30029, ptr %30030, align 4, !tbaa !5
  %30031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30032 = load i32, ptr @test_count, align 4, !tbaa !5
  %30033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30034 = load i32, ptr %30033, align 4, !tbaa !5
  %30035 = call ptr @s2n_strerror(i32 noundef %30034, ptr noundef @.str.65)
  %30036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30037 = load i32, ptr %30036, align 4, !tbaa !5
  %30038 = call ptr @s2n_strerror_debug(i32 noundef %30037, ptr noundef @.str.65)
  %30039 = call ptr @__errno_location() #11
  %30040 = load i32, ptr %30039, align 4, !tbaa !5
  %30041 = call ptr @strerror(i32 noundef %30040) #10
  %30042 = call ptr @__errno_location() #11
  %30043 = load i32, ptr %30042, align 4, !tbaa !5
  %30044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30031, ptr noundef @.str.66, i32 noundef %30032, ptr noundef @.str.219, ptr noundef @.str.62, i32 noundef 1213, ptr noundef %30035, ptr noundef %30038, ptr noundef %30041, i32 noundef %30043) #10
  br label %30045

30045:                                            ; preds = %30028, %30011
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #10
  br label %30046

30046:                                            ; preds = %30045
  br label %30047

30047:                                            ; preds = %30046
  call void @exit(i32 noundef 1) #12
  unreachable

30048:                                            ; No predecessors!
  br label %30049

30049:                                            ; preds = %30048
  br label %30050

30050:                                            ; preds = %30049, %29991
  br label %30051

30051:                                            ; preds = %30050
  br label %30052

30052:                                            ; preds = %30051
  call void @llvm.lifetime.end.p0(i64 2, ptr %607) #10
  %30053 = call i32 @s2n_stuffer_free(ptr noundef %600)
  call void @llvm.lifetime.end.p0(i64 40, ptr %600) #10
  %30054 = call i32 @s2n_stuffer_free(ptr noundef %599)
  call void @llvm.lifetime.end.p0(i64 40, ptr %599) #10
  %30055 = call i32 @s2n_connection_ptr_free(ptr noundef %593)
  %30056 = getelementptr inbounds %struct.s2n_result, ptr %610, i32 0, i32 0
  store i32 %30055, ptr %30056, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %593) #10
  %30057 = call i32 @s2n_connection_ptr_free(ptr noundef %591)
  %30058 = getelementptr inbounds %struct.s2n_result, ptr %611, i32 0, i32 0
  store i32 %30057, ptr %30058, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %591) #10
  br label %30059

30059:                                            ; preds = %30052
  %30060 = load i32, ptr @test_count, align 4, !tbaa !5
  %30061 = add nsw i32 %30060, 1
  store i32 %30061, ptr @test_count, align 4, !tbaa !5
  %30062 = load ptr, ptr %20, align 8, !tbaa !9
  %30063 = call i32 @s2n_config_free(ptr noundef %30062)
  %30064 = icmp eq i32 %30063, -1
  br i1 %30064, label %30065, label %30118

30065:                                            ; preds = %30059
  br label %30066

30066:                                            ; preds = %30065
  br label %30067

30067:                                            ; preds = %30066
  call void @llvm.lifetime.start.p0(i64 4, ptr %612) #10
  %30068 = call ptr @__errno_location() #11
  %30069 = load i32, ptr %30068, align 4, !tbaa !5
  store i32 %30069, ptr %612, align 4, !tbaa !5
  %30070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30071 = call i32 @s2n_print_stacktrace(ptr noundef %30070)
  %30072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30073 = trunc i8 %30072 to i1
  br i1 %30073, label %30074, label %30096

30074:                                            ; preds = %30067
  %30075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30076 = call i32 @fileno(ptr noundef %30075) #10
  %30077 = call i32 @isatty(i32 noundef %30076) #10
  %30078 = icmp ne i32 %30077, 0
  br i1 %30078, label %30079, label %30096

30079:                                            ; preds = %30074
  %30080 = load i32, ptr %612, align 4, !tbaa !5
  %30081 = call ptr @__errno_location() #11
  store i32 %30080, ptr %30081, align 4, !tbaa !5
  %30082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30083 = load i32, ptr @test_count, align 4, !tbaa !5
  %30084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30085 = load i32, ptr %30084, align 4, !tbaa !5
  %30086 = call ptr @s2n_strerror(i32 noundef %30085, ptr noundef @.str.65)
  %30087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30088 = load i32, ptr %30087, align 4, !tbaa !5
  %30089 = call ptr @s2n_strerror_debug(i32 noundef %30088, ptr noundef @.str.65)
  %30090 = call ptr @__errno_location() #11
  %30091 = load i32, ptr %30090, align 4, !tbaa !5
  %30092 = call ptr @strerror(i32 noundef %30091) #10
  %30093 = call ptr @__errno_location() #11
  %30094 = load i32, ptr %30093, align 4, !tbaa !5
  %30095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30082, ptr noundef @.str.63, i32 noundef %30083, ptr noundef @.str.220, ptr noundef @.str.62, i32 noundef 1217, ptr noundef %30086, ptr noundef %30089, ptr noundef %30092, i32 noundef %30094) #10
  br label %30113

30096:                                            ; preds = %30074, %30067
  %30097 = load i32, ptr %612, align 4, !tbaa !5
  %30098 = call ptr @__errno_location() #11
  store i32 %30097, ptr %30098, align 4, !tbaa !5
  %30099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30100 = load i32, ptr @test_count, align 4, !tbaa !5
  %30101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30102 = load i32, ptr %30101, align 4, !tbaa !5
  %30103 = call ptr @s2n_strerror(i32 noundef %30102, ptr noundef @.str.65)
  %30104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30105 = load i32, ptr %30104, align 4, !tbaa !5
  %30106 = call ptr @s2n_strerror_debug(i32 noundef %30105, ptr noundef @.str.65)
  %30107 = call ptr @__errno_location() #11
  %30108 = load i32, ptr %30107, align 4, !tbaa !5
  %30109 = call ptr @strerror(i32 noundef %30108) #10
  %30110 = call ptr @__errno_location() #11
  %30111 = load i32, ptr %30110, align 4, !tbaa !5
  %30112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30099, ptr noundef @.str.66, i32 noundef %30100, ptr noundef @.str.220, ptr noundef @.str.62, i32 noundef 1217, ptr noundef %30103, ptr noundef %30106, ptr noundef %30109, i32 noundef %30111) #10
  br label %30113

30113:                                            ; preds = %30096, %30079
  call void @llvm.lifetime.end.p0(i64 4, ptr %612) #10
  br label %30114

30114:                                            ; preds = %30113
  br label %30115

30115:                                            ; preds = %30114
  call void @exit(i32 noundef 1) #12
  unreachable

30116:                                            ; No predecessors!
  br label %30117

30117:                                            ; preds = %30116
  br label %30118

30118:                                            ; preds = %30117, %30059
  br label %30119

30119:                                            ; preds = %30118
  br label %30120

30120:                                            ; preds = %30119
  br label %30121

30121:                                            ; preds = %30120
  %30122 = load i32, ptr @test_count, align 4, !tbaa !5
  %30123 = add nsw i32 %30122, 1
  store i32 %30123, ptr @test_count, align 4, !tbaa !5
  %30124 = load ptr, ptr %30, align 8, !tbaa !9
  %30125 = call i32 @s2n_config_free(ptr noundef %30124)
  %30126 = icmp eq i32 %30125, -1
  br i1 %30126, label %30127, label %30180

30127:                                            ; preds = %30121
  br label %30128

30128:                                            ; preds = %30127
  br label %30129

30129:                                            ; preds = %30128
  call void @llvm.lifetime.start.p0(i64 4, ptr %613) #10
  %30130 = call ptr @__errno_location() #11
  %30131 = load i32, ptr %30130, align 4, !tbaa !5
  store i32 %30131, ptr %613, align 4, !tbaa !5
  %30132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30133 = call i32 @s2n_print_stacktrace(ptr noundef %30132)
  %30134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30135 = trunc i8 %30134 to i1
  br i1 %30135, label %30136, label %30158

30136:                                            ; preds = %30129
  %30137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30138 = call i32 @fileno(ptr noundef %30137) #10
  %30139 = call i32 @isatty(i32 noundef %30138) #10
  %30140 = icmp ne i32 %30139, 0
  br i1 %30140, label %30141, label %30158

30141:                                            ; preds = %30136
  %30142 = load i32, ptr %613, align 4, !tbaa !5
  %30143 = call ptr @__errno_location() #11
  store i32 %30142, ptr %30143, align 4, !tbaa !5
  %30144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30145 = load i32, ptr @test_count, align 4, !tbaa !5
  %30146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30147 = load i32, ptr %30146, align 4, !tbaa !5
  %30148 = call ptr @s2n_strerror(i32 noundef %30147, ptr noundef @.str.65)
  %30149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30150 = load i32, ptr %30149, align 4, !tbaa !5
  %30151 = call ptr @s2n_strerror_debug(i32 noundef %30150, ptr noundef @.str.65)
  %30152 = call ptr @__errno_location() #11
  %30153 = load i32, ptr %30152, align 4, !tbaa !5
  %30154 = call ptr @strerror(i32 noundef %30153) #10
  %30155 = call ptr @__errno_location() #11
  %30156 = load i32, ptr %30155, align 4, !tbaa !5
  %30157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30144, ptr noundef @.str.63, i32 noundef %30145, ptr noundef @.str.221, ptr noundef @.str.62, i32 noundef 1218, ptr noundef %30148, ptr noundef %30151, ptr noundef %30154, i32 noundef %30156) #10
  br label %30175

30158:                                            ; preds = %30136, %30129
  %30159 = load i32, ptr %613, align 4, !tbaa !5
  %30160 = call ptr @__errno_location() #11
  store i32 %30159, ptr %30160, align 4, !tbaa !5
  %30161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30162 = load i32, ptr @test_count, align 4, !tbaa !5
  %30163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30164 = load i32, ptr %30163, align 4, !tbaa !5
  %30165 = call ptr @s2n_strerror(i32 noundef %30164, ptr noundef @.str.65)
  %30166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30167 = load i32, ptr %30166, align 4, !tbaa !5
  %30168 = call ptr @s2n_strerror_debug(i32 noundef %30167, ptr noundef @.str.65)
  %30169 = call ptr @__errno_location() #11
  %30170 = load i32, ptr %30169, align 4, !tbaa !5
  %30171 = call ptr @strerror(i32 noundef %30170) #10
  %30172 = call ptr @__errno_location() #11
  %30173 = load i32, ptr %30172, align 4, !tbaa !5
  %30174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30161, ptr noundef @.str.66, i32 noundef %30162, ptr noundef @.str.221, ptr noundef @.str.62, i32 noundef 1218, ptr noundef %30165, ptr noundef %30168, ptr noundef %30171, i32 noundef %30173) #10
  br label %30175

30175:                                            ; preds = %30158, %30141
  call void @llvm.lifetime.end.p0(i64 4, ptr %613) #10
  br label %30176

30176:                                            ; preds = %30175
  br label %30177

30177:                                            ; preds = %30176
  call void @exit(i32 noundef 1) #12
  unreachable

30178:                                            ; No predecessors!
  br label %30179

30179:                                            ; preds = %30178
  br label %30180

30180:                                            ; preds = %30179, %30121
  br label %30181

30181:                                            ; preds = %30180
  br label %30182

30182:                                            ; preds = %30181
  br label %30183

30183:                                            ; preds = %30182
  %30184 = load i32, ptr @test_count, align 4, !tbaa !5
  %30185 = add nsw i32 %30184, 1
  store i32 %30185, ptr @test_count, align 4, !tbaa !5
  %30186 = load ptr, ptr %40, align 8, !tbaa !9
  %30187 = call i32 @s2n_config_free(ptr noundef %30186)
  %30188 = icmp eq i32 %30187, -1
  br i1 %30188, label %30189, label %30242

30189:                                            ; preds = %30183
  br label %30190

30190:                                            ; preds = %30189
  br label %30191

30191:                                            ; preds = %30190
  call void @llvm.lifetime.start.p0(i64 4, ptr %614) #10
  %30192 = call ptr @__errno_location() #11
  %30193 = load i32, ptr %30192, align 4, !tbaa !5
  store i32 %30193, ptr %614, align 4, !tbaa !5
  %30194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30195 = call i32 @s2n_print_stacktrace(ptr noundef %30194)
  %30196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30197 = trunc i8 %30196 to i1
  br i1 %30197, label %30198, label %30220

30198:                                            ; preds = %30191
  %30199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30200 = call i32 @fileno(ptr noundef %30199) #10
  %30201 = call i32 @isatty(i32 noundef %30200) #10
  %30202 = icmp ne i32 %30201, 0
  br i1 %30202, label %30203, label %30220

30203:                                            ; preds = %30198
  %30204 = load i32, ptr %614, align 4, !tbaa !5
  %30205 = call ptr @__errno_location() #11
  store i32 %30204, ptr %30205, align 4, !tbaa !5
  %30206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30207 = load i32, ptr @test_count, align 4, !tbaa !5
  %30208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30209 = load i32, ptr %30208, align 4, !tbaa !5
  %30210 = call ptr @s2n_strerror(i32 noundef %30209, ptr noundef @.str.65)
  %30211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30212 = load i32, ptr %30211, align 4, !tbaa !5
  %30213 = call ptr @s2n_strerror_debug(i32 noundef %30212, ptr noundef @.str.65)
  %30214 = call ptr @__errno_location() #11
  %30215 = load i32, ptr %30214, align 4, !tbaa !5
  %30216 = call ptr @strerror(i32 noundef %30215) #10
  %30217 = call ptr @__errno_location() #11
  %30218 = load i32, ptr %30217, align 4, !tbaa !5
  %30219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30206, ptr noundef @.str.63, i32 noundef %30207, ptr noundef @.str.222, ptr noundef @.str.62, i32 noundef 1219, ptr noundef %30210, ptr noundef %30213, ptr noundef %30216, i32 noundef %30218) #10
  br label %30237

30220:                                            ; preds = %30198, %30191
  %30221 = load i32, ptr %614, align 4, !tbaa !5
  %30222 = call ptr @__errno_location() #11
  store i32 %30221, ptr %30222, align 4, !tbaa !5
  %30223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30224 = load i32, ptr @test_count, align 4, !tbaa !5
  %30225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30226 = load i32, ptr %30225, align 4, !tbaa !5
  %30227 = call ptr @s2n_strerror(i32 noundef %30226, ptr noundef @.str.65)
  %30228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30229 = load i32, ptr %30228, align 4, !tbaa !5
  %30230 = call ptr @s2n_strerror_debug(i32 noundef %30229, ptr noundef @.str.65)
  %30231 = call ptr @__errno_location() #11
  %30232 = load i32, ptr %30231, align 4, !tbaa !5
  %30233 = call ptr @strerror(i32 noundef %30232) #10
  %30234 = call ptr @__errno_location() #11
  %30235 = load i32, ptr %30234, align 4, !tbaa !5
  %30236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30223, ptr noundef @.str.66, i32 noundef %30224, ptr noundef @.str.222, ptr noundef @.str.62, i32 noundef 1219, ptr noundef %30227, ptr noundef %30230, ptr noundef %30233, i32 noundef %30235) #10
  br label %30237

30237:                                            ; preds = %30220, %30203
  call void @llvm.lifetime.end.p0(i64 4, ptr %614) #10
  br label %30238

30238:                                            ; preds = %30237
  br label %30239

30239:                                            ; preds = %30238
  call void @exit(i32 noundef 1) #12
  unreachable

30240:                                            ; No predecessors!
  br label %30241

30241:                                            ; preds = %30240
  br label %30242

30242:                                            ; preds = %30241, %30183
  br label %30243

30243:                                            ; preds = %30242
  br label %30244

30244:                                            ; preds = %30243
  br label %30245

30245:                                            ; preds = %30244
  %30246 = load i32, ptr @test_count, align 4, !tbaa !5
  %30247 = add nsw i32 %30246, 1
  store i32 %30247, ptr @test_count, align 4, !tbaa !5
  %30248 = load ptr, ptr %48, align 8, !tbaa !9
  %30249 = call i32 @s2n_config_free(ptr noundef %30248)
  %30250 = icmp eq i32 %30249, -1
  br i1 %30250, label %30251, label %30304

30251:                                            ; preds = %30245
  br label %30252

30252:                                            ; preds = %30251
  br label %30253

30253:                                            ; preds = %30252
  call void @llvm.lifetime.start.p0(i64 4, ptr %615) #10
  %30254 = call ptr @__errno_location() #11
  %30255 = load i32, ptr %30254, align 4, !tbaa !5
  store i32 %30255, ptr %615, align 4, !tbaa !5
  %30256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30257 = call i32 @s2n_print_stacktrace(ptr noundef %30256)
  %30258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30259 = trunc i8 %30258 to i1
  br i1 %30259, label %30260, label %30282

30260:                                            ; preds = %30253
  %30261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30262 = call i32 @fileno(ptr noundef %30261) #10
  %30263 = call i32 @isatty(i32 noundef %30262) #10
  %30264 = icmp ne i32 %30263, 0
  br i1 %30264, label %30265, label %30282

30265:                                            ; preds = %30260
  %30266 = load i32, ptr %615, align 4, !tbaa !5
  %30267 = call ptr @__errno_location() #11
  store i32 %30266, ptr %30267, align 4, !tbaa !5
  %30268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30269 = load i32, ptr @test_count, align 4, !tbaa !5
  %30270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30271 = load i32, ptr %30270, align 4, !tbaa !5
  %30272 = call ptr @s2n_strerror(i32 noundef %30271, ptr noundef @.str.65)
  %30273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30274 = load i32, ptr %30273, align 4, !tbaa !5
  %30275 = call ptr @s2n_strerror_debug(i32 noundef %30274, ptr noundef @.str.65)
  %30276 = call ptr @__errno_location() #11
  %30277 = load i32, ptr %30276, align 4, !tbaa !5
  %30278 = call ptr @strerror(i32 noundef %30277) #10
  %30279 = call ptr @__errno_location() #11
  %30280 = load i32, ptr %30279, align 4, !tbaa !5
  %30281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30268, ptr noundef @.str.63, i32 noundef %30269, ptr noundef @.str.223, ptr noundef @.str.62, i32 noundef 1220, ptr noundef %30272, ptr noundef %30275, ptr noundef %30278, i32 noundef %30280) #10
  br label %30299

30282:                                            ; preds = %30260, %30253
  %30283 = load i32, ptr %615, align 4, !tbaa !5
  %30284 = call ptr @__errno_location() #11
  store i32 %30283, ptr %30284, align 4, !tbaa !5
  %30285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30286 = load i32, ptr @test_count, align 4, !tbaa !5
  %30287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30288 = load i32, ptr %30287, align 4, !tbaa !5
  %30289 = call ptr @s2n_strerror(i32 noundef %30288, ptr noundef @.str.65)
  %30290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30291 = load i32, ptr %30290, align 4, !tbaa !5
  %30292 = call ptr @s2n_strerror_debug(i32 noundef %30291, ptr noundef @.str.65)
  %30293 = call ptr @__errno_location() #11
  %30294 = load i32, ptr %30293, align 4, !tbaa !5
  %30295 = call ptr @strerror(i32 noundef %30294) #10
  %30296 = call ptr @__errno_location() #11
  %30297 = load i32, ptr %30296, align 4, !tbaa !5
  %30298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30285, ptr noundef @.str.66, i32 noundef %30286, ptr noundef @.str.223, ptr noundef @.str.62, i32 noundef 1220, ptr noundef %30289, ptr noundef %30292, ptr noundef %30295, i32 noundef %30297) #10
  br label %30299

30299:                                            ; preds = %30282, %30265
  call void @llvm.lifetime.end.p0(i64 4, ptr %615) #10
  br label %30300

30300:                                            ; preds = %30299
  br label %30301

30301:                                            ; preds = %30300
  call void @exit(i32 noundef 1) #12
  unreachable

30302:                                            ; No predecessors!
  br label %30303

30303:                                            ; preds = %30302
  br label %30304

30304:                                            ; preds = %30303, %30245
  br label %30305

30305:                                            ; preds = %30304
  br label %30306

30306:                                            ; preds = %30305
  br label %30307

30307:                                            ; preds = %30306
  %30308 = load i32, ptr @test_count, align 4, !tbaa !5
  %30309 = add nsw i32 %30308, 1
  store i32 %30309, ptr @test_count, align 4, !tbaa !5
  %30310 = load ptr, ptr %34, align 8, !tbaa !9
  %30311 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %30310)
  %30312 = icmp eq i32 %30311, -1
  br i1 %30312, label %30313, label %30366

30313:                                            ; preds = %30307
  br label %30314

30314:                                            ; preds = %30313
  br label %30315

30315:                                            ; preds = %30314
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #10
  %30316 = call ptr @__errno_location() #11
  %30317 = load i32, ptr %30316, align 4, !tbaa !5
  store i32 %30317, ptr %616, align 4, !tbaa !5
  %30318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30319 = call i32 @s2n_print_stacktrace(ptr noundef %30318)
  %30320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30321 = trunc i8 %30320 to i1
  br i1 %30321, label %30322, label %30344

30322:                                            ; preds = %30315
  %30323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30324 = call i32 @fileno(ptr noundef %30323) #10
  %30325 = call i32 @isatty(i32 noundef %30324) #10
  %30326 = icmp ne i32 %30325, 0
  br i1 %30326, label %30327, label %30344

30327:                                            ; preds = %30322
  %30328 = load i32, ptr %616, align 4, !tbaa !5
  %30329 = call ptr @__errno_location() #11
  store i32 %30328, ptr %30329, align 4, !tbaa !5
  %30330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30331 = load i32, ptr @test_count, align 4, !tbaa !5
  %30332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30333 = load i32, ptr %30332, align 4, !tbaa !5
  %30334 = call ptr @s2n_strerror(i32 noundef %30333, ptr noundef @.str.65)
  %30335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30336 = load i32, ptr %30335, align 4, !tbaa !5
  %30337 = call ptr @s2n_strerror_debug(i32 noundef %30336, ptr noundef @.str.65)
  %30338 = call ptr @__errno_location() #11
  %30339 = load i32, ptr %30338, align 4, !tbaa !5
  %30340 = call ptr @strerror(i32 noundef %30339) #10
  %30341 = call ptr @__errno_location() #11
  %30342 = load i32, ptr %30341, align 4, !tbaa !5
  %30343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30330, ptr noundef @.str.63, i32 noundef %30331, ptr noundef @.str.224, ptr noundef @.str.62, i32 noundef 1221, ptr noundef %30334, ptr noundef %30337, ptr noundef %30340, i32 noundef %30342) #10
  br label %30361

30344:                                            ; preds = %30322, %30315
  %30345 = load i32, ptr %616, align 4, !tbaa !5
  %30346 = call ptr @__errno_location() #11
  store i32 %30345, ptr %30346, align 4, !tbaa !5
  %30347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30348 = load i32, ptr @test_count, align 4, !tbaa !5
  %30349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30350 = load i32, ptr %30349, align 4, !tbaa !5
  %30351 = call ptr @s2n_strerror(i32 noundef %30350, ptr noundef @.str.65)
  %30352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30353 = load i32, ptr %30352, align 4, !tbaa !5
  %30354 = call ptr @s2n_strerror_debug(i32 noundef %30353, ptr noundef @.str.65)
  %30355 = call ptr @__errno_location() #11
  %30356 = load i32, ptr %30355, align 4, !tbaa !5
  %30357 = call ptr @strerror(i32 noundef %30356) #10
  %30358 = call ptr @__errno_location() #11
  %30359 = load i32, ptr %30358, align 4, !tbaa !5
  %30360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30347, ptr noundef @.str.66, i32 noundef %30348, ptr noundef @.str.224, ptr noundef @.str.62, i32 noundef 1221, ptr noundef %30351, ptr noundef %30354, ptr noundef %30357, i32 noundef %30359) #10
  br label %30361

30361:                                            ; preds = %30344, %30327
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #10
  br label %30362

30362:                                            ; preds = %30361
  br label %30363

30363:                                            ; preds = %30362
  call void @exit(i32 noundef 1) #12
  unreachable

30364:                                            ; No predecessors!
  br label %30365

30365:                                            ; preds = %30364
  br label %30366

30366:                                            ; preds = %30365, %30307
  br label %30367

30367:                                            ; preds = %30366
  br label %30368

30368:                                            ; preds = %30367
  br label %30369

30369:                                            ; preds = %30368
  %30370 = load i32, ptr @test_count, align 4, !tbaa !5
  %30371 = add nsw i32 %30370, 1
  store i32 %30371, ptr @test_count, align 4, !tbaa !5
  %30372 = load ptr, ptr %24, align 8, !tbaa !9
  %30373 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %30372)
  %30374 = icmp eq i32 %30373, -1
  br i1 %30374, label %30375, label %30428

30375:                                            ; preds = %30369
  br label %30376

30376:                                            ; preds = %30375
  br label %30377

30377:                                            ; preds = %30376
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #10
  %30378 = call ptr @__errno_location() #11
  %30379 = load i32, ptr %30378, align 4, !tbaa !5
  store i32 %30379, ptr %617, align 4, !tbaa !5
  %30380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30381 = call i32 @s2n_print_stacktrace(ptr noundef %30380)
  %30382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30383 = trunc i8 %30382 to i1
  br i1 %30383, label %30384, label %30406

30384:                                            ; preds = %30377
  %30385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30386 = call i32 @fileno(ptr noundef %30385) #10
  %30387 = call i32 @isatty(i32 noundef %30386) #10
  %30388 = icmp ne i32 %30387, 0
  br i1 %30388, label %30389, label %30406

30389:                                            ; preds = %30384
  %30390 = load i32, ptr %617, align 4, !tbaa !5
  %30391 = call ptr @__errno_location() #11
  store i32 %30390, ptr %30391, align 4, !tbaa !5
  %30392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30393 = load i32, ptr @test_count, align 4, !tbaa !5
  %30394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30395 = load i32, ptr %30394, align 4, !tbaa !5
  %30396 = call ptr @s2n_strerror(i32 noundef %30395, ptr noundef @.str.65)
  %30397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30398 = load i32, ptr %30397, align 4, !tbaa !5
  %30399 = call ptr @s2n_strerror_debug(i32 noundef %30398, ptr noundef @.str.65)
  %30400 = call ptr @__errno_location() #11
  %30401 = load i32, ptr %30400, align 4, !tbaa !5
  %30402 = call ptr @strerror(i32 noundef %30401) #10
  %30403 = call ptr @__errno_location() #11
  %30404 = load i32, ptr %30403, align 4, !tbaa !5
  %30405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30392, ptr noundef @.str.63, i32 noundef %30393, ptr noundef @.str.225, ptr noundef @.str.62, i32 noundef 1222, ptr noundef %30396, ptr noundef %30399, ptr noundef %30402, i32 noundef %30404) #10
  br label %30423

30406:                                            ; preds = %30384, %30377
  %30407 = load i32, ptr %617, align 4, !tbaa !5
  %30408 = call ptr @__errno_location() #11
  store i32 %30407, ptr %30408, align 4, !tbaa !5
  %30409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30410 = load i32, ptr @test_count, align 4, !tbaa !5
  %30411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30412 = load i32, ptr %30411, align 4, !tbaa !5
  %30413 = call ptr @s2n_strerror(i32 noundef %30412, ptr noundef @.str.65)
  %30414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30415 = load i32, ptr %30414, align 4, !tbaa !5
  %30416 = call ptr @s2n_strerror_debug(i32 noundef %30415, ptr noundef @.str.65)
  %30417 = call ptr @__errno_location() #11
  %30418 = load i32, ptr %30417, align 4, !tbaa !5
  %30419 = call ptr @strerror(i32 noundef %30418) #10
  %30420 = call ptr @__errno_location() #11
  %30421 = load i32, ptr %30420, align 4, !tbaa !5
  %30422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30409, ptr noundef @.str.66, i32 noundef %30410, ptr noundef @.str.225, ptr noundef @.str.62, i32 noundef 1222, ptr noundef %30413, ptr noundef %30416, ptr noundef %30419, i32 noundef %30421) #10
  br label %30423

30423:                                            ; preds = %30406, %30389
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #10
  br label %30424

30424:                                            ; preds = %30423
  br label %30425

30425:                                            ; preds = %30424
  call void @exit(i32 noundef 1) #12
  unreachable

30426:                                            ; No predecessors!
  br label %30427

30427:                                            ; preds = %30426
  br label %30428

30428:                                            ; preds = %30427, %30369
  br label %30429

30429:                                            ; preds = %30428
  br label %30430

30430:                                            ; preds = %30429
  br label %30431

30431:                                            ; preds = %30430
  br label %30432

30432:                                            ; preds = %30431
  %30433 = call i32 @s2n_cleanup()
  %30434 = icmp eq i32 %30433, -1
  br i1 %30434, label %30435, label %30488

30435:                                            ; preds = %30432
  br label %30436

30436:                                            ; preds = %30435
  br label %30437

30437:                                            ; preds = %30436
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #10
  %30438 = call ptr @__errno_location() #11
  %30439 = load i32, ptr %30438, align 4, !tbaa !5
  store i32 %30439, ptr %618, align 4, !tbaa !5
  %30440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30441 = call i32 @s2n_print_stacktrace(ptr noundef %30440)
  %30442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30443 = trunc i8 %30442 to i1
  br i1 %30443, label %30444, label %30466

30444:                                            ; preds = %30437
  %30445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30446 = call i32 @fileno(ptr noundef %30445) #10
  %30447 = call i32 @isatty(i32 noundef %30446) #10
  %30448 = icmp ne i32 %30447, 0
  br i1 %30448, label %30449, label %30466

30449:                                            ; preds = %30444
  %30450 = load i32, ptr %618, align 4, !tbaa !5
  %30451 = call ptr @__errno_location() #11
  store i32 %30450, ptr %30451, align 4, !tbaa !5
  %30452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30453 = load i32, ptr @test_count, align 4, !tbaa !5
  %30454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30455 = load i32, ptr %30454, align 4, !tbaa !5
  %30456 = call ptr @s2n_strerror(i32 noundef %30455, ptr noundef @.str.65)
  %30457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30458 = load i32, ptr %30457, align 4, !tbaa !5
  %30459 = call ptr @s2n_strerror_debug(i32 noundef %30458, ptr noundef @.str.65)
  %30460 = call ptr @__errno_location() #11
  %30461 = load i32, ptr %30460, align 4, !tbaa !5
  %30462 = call ptr @strerror(i32 noundef %30461) #10
  %30463 = call ptr @__errno_location() #11
  %30464 = load i32, ptr %30463, align 4, !tbaa !5
  %30465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30452, ptr noundef @.str.63, i32 noundef %30453, ptr noundef @.str.69, ptr noundef @.str.62, i32 noundef 1224, ptr noundef %30456, ptr noundef %30459, ptr noundef %30462, i32 noundef %30464) #10
  br label %30483

30466:                                            ; preds = %30444, %30437
  %30467 = load i32, ptr %618, align 4, !tbaa !5
  %30468 = call ptr @__errno_location() #11
  store i32 %30467, ptr %30468, align 4, !tbaa !5
  %30469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30470 = load i32, ptr @test_count, align 4, !tbaa !5
  %30471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30472 = load i32, ptr %30471, align 4, !tbaa !5
  %30473 = call ptr @s2n_strerror(i32 noundef %30472, ptr noundef @.str.65)
  %30474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30475 = load i32, ptr %30474, align 4, !tbaa !5
  %30476 = call ptr @s2n_strerror_debug(i32 noundef %30475, ptr noundef @.str.65)
  %30477 = call ptr @__errno_location() #11
  %30478 = load i32, ptr %30477, align 4, !tbaa !5
  %30479 = call ptr @strerror(i32 noundef %30478) #10
  %30480 = call ptr @__errno_location() #11
  %30481 = load i32, ptr %30480, align 4, !tbaa !5
  %30482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30469, ptr noundef @.str.66, i32 noundef %30470, ptr noundef @.str.69, ptr noundef @.str.62, i32 noundef 1224, ptr noundef %30473, ptr noundef %30476, ptr noundef %30479, i32 noundef %30481) #10
  br label %30483

30483:                                            ; preds = %30466, %30449
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #10
  br label %30484

30484:                                            ; preds = %30483
  br label %30485

30485:                                            ; preds = %30484
  call void @exit(i32 noundef 1) #12
  unreachable

30486:                                            ; No predecessors!
  br label %30487

30487:                                            ; preds = %30486
  br label %30488

30488:                                            ; preds = %30487, %30432
  br label %30489

30489:                                            ; preds = %30488
  br label %30490

30490:                                            ; preds = %30489
  br label %30491

30491:                                            ; preds = %30490
  br label %30492

30492:                                            ; preds = %30491
  %30493 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %30494 = icmp eq i32 %30493, -1
  br i1 %30494, label %30495, label %30548

30495:                                            ; preds = %30492
  br label %30496

30496:                                            ; preds = %30495
  br label %30497

30497:                                            ; preds = %30496
  call void @llvm.lifetime.start.p0(i64 4, ptr %619) #10
  %30498 = call ptr @__errno_location() #11
  %30499 = load i32, ptr %30498, align 4, !tbaa !5
  store i32 %30499, ptr %619, align 4, !tbaa !5
  %30500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30501 = call i32 @s2n_print_stacktrace(ptr noundef %30500)
  %30502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30503 = trunc i8 %30502 to i1
  br i1 %30503, label %30504, label %30526

30504:                                            ; preds = %30497
  %30505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30506 = call i32 @fileno(ptr noundef %30505) #10
  %30507 = call i32 @isatty(i32 noundef %30506) #10
  %30508 = icmp ne i32 %30507, 0
  br i1 %30508, label %30509, label %30526

30509:                                            ; preds = %30504
  %30510 = load i32, ptr %619, align 4, !tbaa !5
  %30511 = call ptr @__errno_location() #11
  store i32 %30510, ptr %30511, align 4, !tbaa !5
  %30512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30513 = load i32, ptr @test_count, align 4, !tbaa !5
  %30514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30515 = load i32, ptr %30514, align 4, !tbaa !5
  %30516 = call ptr @s2n_strerror(i32 noundef %30515, ptr noundef @.str.65)
  %30517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30518 = load i32, ptr %30517, align 4, !tbaa !5
  %30519 = call ptr @s2n_strerror_debug(i32 noundef %30518, ptr noundef @.str.65)
  %30520 = call ptr @__errno_location() #11
  %30521 = load i32, ptr %30520, align 4, !tbaa !5
  %30522 = call ptr @strerror(i32 noundef %30521) #10
  %30523 = call ptr @__errno_location() #11
  %30524 = load i32, ptr %30523, align 4, !tbaa !5
  %30525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30512, ptr noundef @.str.63, i32 noundef %30513, ptr noundef @.str.70, ptr noundef @.str.62, i32 noundef 1224, ptr noundef %30516, ptr noundef %30519, ptr noundef %30522, i32 noundef %30524) #10
  br label %30543

30526:                                            ; preds = %30504, %30497
  %30527 = load i32, ptr %619, align 4, !tbaa !5
  %30528 = call ptr @__errno_location() #11
  store i32 %30527, ptr %30528, align 4, !tbaa !5
  %30529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30530 = load i32, ptr @test_count, align 4, !tbaa !5
  %30531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30532 = load i32, ptr %30531, align 4, !tbaa !5
  %30533 = call ptr @s2n_strerror(i32 noundef %30532, ptr noundef @.str.65)
  %30534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30535 = load i32, ptr %30534, align 4, !tbaa !5
  %30536 = call ptr @s2n_strerror_debug(i32 noundef %30535, ptr noundef @.str.65)
  %30537 = call ptr @__errno_location() #11
  %30538 = load i32, ptr %30537, align 4, !tbaa !5
  %30539 = call ptr @strerror(i32 noundef %30538) #10
  %30540 = call ptr @__errno_location() #11
  %30541 = load i32, ptr %30540, align 4, !tbaa !5
  %30542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30529, ptr noundef @.str.66, i32 noundef %30530, ptr noundef @.str.70, ptr noundef @.str.62, i32 noundef 1224, ptr noundef %30533, ptr noundef %30536, ptr noundef %30539, i32 noundef %30541) #10
  br label %30543

30543:                                            ; preds = %30526, %30509
  call void @llvm.lifetime.end.p0(i64 4, ptr %619) #10
  br label %30544

30544:                                            ; preds = %30543
  br label %30545

30545:                                            ; preds = %30544
  call void @exit(i32 noundef 1) #12
  unreachable

30546:                                            ; No predecessors!
  br label %30547

30547:                                            ; preds = %30546
  br label %30548

30548:                                            ; preds = %30547, %30492
  br label %30549

30549:                                            ; preds = %30548
  br label %30550

30550:                                            ; preds = %30549
  %30551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30552 = trunc i8 %30551 to i1
  br i1 %30552, label %30553, label %30569

30553:                                            ; preds = %30550
  %30554 = load ptr, ptr @stdout, align 8, !tbaa !9
  %30555 = call i32 @fileno(ptr noundef %30554) #10
  %30556 = call i32 @isatty(i32 noundef %30555) #10
  %30557 = icmp ne i32 %30556, 0
  br i1 %30557, label %30558, label %30569

30558:                                            ; preds = %30553
  %30559 = load i32, ptr @test_count, align 4, !tbaa !5
  %30560 = icmp ne i32 %30559, 0
  br i1 %30560, label %30561, label %30565

30561:                                            ; preds = %30558
  %30562 = load ptr, ptr @stdout, align 8, !tbaa !9
  %30563 = load i32, ptr @test_count, align 4, !tbaa !5
  %30564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30562, ptr noundef @.str.71, i32 noundef %30563) #10
  br label %30568

30565:                                            ; preds = %30558
  %30566 = load ptr, ptr @stdout, align 8, !tbaa !9
  %30567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30566, ptr noundef @.str.72) #10
  br label %30568

30568:                                            ; preds = %30565, %30561
  br label %30580

30569:                                            ; preds = %30553, %30550
  %30570 = load i32, ptr @test_count, align 4, !tbaa !5
  %30571 = icmp ne i32 %30570, 0
  br i1 %30571, label %30572, label %30576

30572:                                            ; preds = %30569
  %30573 = load ptr, ptr @stdout, align 8, !tbaa !9
  %30574 = load i32, ptr @test_count, align 4, !tbaa !5
  %30575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30573, ptr noundef @.str.73, i32 noundef %30574) #10
  br label %30579

30576:                                            ; preds = %30569
  %30577 = load ptr, ptr @stdout, align 8, !tbaa !9
  %30578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30577, ptr noundef @.str.74) #10
  br label %30579

30579:                                            ; preds = %30576, %30572
  br label %30580

30580:                                            ; preds = %30579, %30568
  store i32 0, ptr %3, align 4
  store i32 1, ptr %14, align 4
  br label %30585

30581:                                            ; No predecessors!
  br label %30582

30582:                                            ; preds = %30581
  br label %30583

30583:                                            ; preds = %30582
  br label %30584

30584:                                            ; preds = %30583
  store i32 0, ptr %14, align 4
  br label %30585

30585:                                            ; preds = %30584, %30580
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  %30586 = call i32 @s2n_stuffer_free(ptr noundef %45)
  call void @llvm.lifetime.end.p0(i64 40, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  %30587 = load i32, ptr %14, align 4
  switch i32 %30587, label %30590 [
    i32 0, label %30588
    i32 1, label %30588
  ]

30588:                                            ; preds = %30585, %30585, %943
  %30589 = load i32, ptr %3, align 4
  ret i32 %30589

30590:                                            ; preds = %30585
  unreachable
}

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

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

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

declare i32 @s2n_print_stacktrace(ptr noundef) #4

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #4

declare i32 @s2n_cleanup() #4

declare ptr @s2n_config_new() #4

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

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #4

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

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) #4

declare i32 @s2n_stuffer_free(ptr noundef) #4

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) #5

declare ptr @s2n_connection_new(i32 noundef) #4

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

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #4

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_issue_new_session_ticket(ptr noundef, ptr noundef, ptr noundef) #5

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

declare i32 @s2n_connection_wipe(ptr noundef) #4

declare i32 @s2n_stuffer_rewrite(ptr noundef) #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_negotiate(ptr noundef, ptr noundef, ptr noundef) #5

declare i32 @s2n_connection_free_handshake(ptr noundef) #4

declare i32 @s2n_connection_free(ptr noundef) #4

declare i32 @s2n_io_pair_close(ptr noundef) #4

declare i32 @s2n_connection_ptr_free(ptr noundef) #4

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

declare void @s2n_debug_info_reset() #4

declare i32 @s2n_config_set_session_state_lifetime(ptr noundef, i64 noundef) #4

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

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

declare i32 @s2n_stuffer_wipe(ptr noundef) #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_assert_tickets_sent(ptr noundef, i16 noundef zeroext) #5

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_cache_store_cb(ptr noundef, ptr noundef, i64 noundef, ptr noundef, i64 noundef, ptr noundef, i64 noundef) #5

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_cache_retrieve_cb(ptr noundef, ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #5

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_cache_delete_cb(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #5

declare i32 @s2n_config_set_session_cache_onoff(ptr noundef, i8 noundef zeroext) #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_wipe_connections(ptr noundef, ptr noundef, ptr noundef) #5

declare i32 @s2n_config_free(ptr noundef) #4

declare i32 @s2n_connection_enable_quic(ptr noundef) #4

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_wipe_psk_ke_ext(ptr noundef, ptr noundef) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_alter_psk_ke_ext(ptr noundef, ptr noundef) #5

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #4

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { 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 #3 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind 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 #6 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { 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 #9 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { 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, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !12, i64 0}
!18 = !{!"s2n_early_data_test_case", !12, i64 0, !12, i64 1, !12, i64 2, !12, i64 3}
!19 = !{!18, !12, i64 1}
!20 = !{!18, !12, i64 2}
!21 = !{!18, !12, i64 3}
!22 = distinct !{!22, !23}
!23 = !{!"llvm.loop.mustprogress"}
!24 = distinct !{!24, !23}
!25 = distinct !{!25, !23}
!26 = !{i64 0, i64 1, !11, i64 1, i64 1, !11, i64 2, i64 1, !11, i64 3, i64 1, !11}
!27 = !{!28, !6, i64 28}
!28 = !{!"s2n_stuffer", !29, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!29 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!30 = !{!28, !6, i64 24}
!31 = !{!28, !10, i64 0}
!32 = distinct !{!32, !23}
!33 = distinct !{!33, !23}
!34 = !{!29, !10, i64 0}
!35 = !{!29, !6, i64 8}
!36 = !{!37, !7, i64 221}
!37 = !{!"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, !38, i64 160, !16, i64 168, !16, 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, !39, i64 240, !10, i64 632, !10, i64 640, !40, i64 648, !45, i64 1144, !48, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !28, i64 1776, !28, i64 1816, !28, i64 1856, !28, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !28, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !51, i64 2004, !51, i64 2008, !52, i64 2016, !50, i64 2208, !6, i64 2212, !50, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !51, i64 2264, !51, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !29, i64 2792, !6, i64 2816, !29, i64 2824, !29, i64 2848, !29, i64 2872, !54, i64 2896, !56, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !29, i64 3784, !6, i64 3808, !58, i64 3816, !7, i64 3848, !28, i64 3992, !29, i64 4032, !29, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !50, i64 4084, !50, i64 4086, !6, i64 4088, !6, i64 4092, !29, i64 4096, !6, i64 4120, !59, i64 4128, !51, i64 4176, !7, i64 4180, !7, i64 4181}
!38 = !{!"s2n_timer", !16, i64 0}
!39 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!40 = !{!"s2n_kex_parameters", !41, i64 0, !42, i64 8, !7, i64 24, !42, i64 56, !43, i64 72, !43, i64 184, !7, i64 296, !44, i64 360, !29, i64 448, !29, i64 472}
!41 = !{!"s2n_dh_params", !10, i64 0}
!42 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!43 = !{!"s2n_kem_group_params", !10, i64 0, !44, i64 8, !42, i64 96}
!44 = !{!"s2n_kem_params", !10, i64 0, !29, i64 8, !29, i64 32, !29, i64 56, !12, i64 80}
!45 = !{!"s2n_handshake_parameters", !46, i64 0, !46, i64 48, !29, i64 96, !6, i64 120, !47, 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}
!46 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!47 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!48 = !{!"s2n_psk_parameters", !6, i64 0, !49, i64 8, !50, i64 40, !50, i64 42, !10, i64 48, !6, i64 56}
!49 = !{!"s2n_array", !29, i64 0, !6, i64 24, !6, i64 28}
!50 = !{!"short", !7, i64 0}
!51 = !{!"", !6, i64 0}
!52 = !{!"s2n_handshake", !28, 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, !53, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!53 = !{!"s2n_offered_early_data", !10, i64 0}
!54 = !{!"s2n_client_hello", !29, i64 0, !55, i64 24, !29, i64 728, !29, i64 752, !29, 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}
!55 = !{!"", !7, i64 0, !29, i64 672, !50, i64 696}
!56 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !50, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !57, i64 48, !12, i64 52}
!57 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!58 = !{!"s2n_ticket_fields", !29, i64 0, !6, i64 24}
!59 = !{!"s2n_post_handshake", !28, i64 0, !7, i64 40}
!60 = !{!37, !10, i64 232}
!61 = !{!62, !10, i64 0}
!62 = !{!"s2n_crypto_parameters", !10, i64 0, !63, i64 8, !63, i64 16, !64, i64 24, !64, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!63 = !{!"s2n_session_key", !10, i64 0}
!64 = !{!"s2n_hmac_state", !6, i64 0, !50, i64 4, !6, i64 8, !50, i64 12, !7, i64 14, !65, i64 16, !65, i64 72, !65, i64 128, !65, i64 184, !7, i64 240, !7, i64 368}
!65 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !16, i64 16, !7, i64 24}
!66 = !{!37, !7, i64 220}
!67 = distinct !{!67, !23}
!68 = !{!37, !10, i64 16}
!69 = !{!37, !6, i64 2172}
!70 = distinct !{!70, !23}
!71 = !{!7, !7, i64 0}
!72 = distinct !{!72, !23}
!73 = distinct !{!73, !23}
!74 = distinct !{!74, !23}
!75 = !{!76, !10, i64 96}
!76 = !{!"s2n_config", !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, !10, i64 8, !10, i64 16, !77, i64 24, !29, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !16, i64 144, !10, i64 152, !16, i64 160, !16, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !78, i64 304, !50, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !29, i64 448}
!77 = !{!"certs_by_type", !7, i64 0}
!78 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!79 = !{!37, !50, i64 4086}
!80 = distinct !{!80, !23}
!81 = !{!50, !50, 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_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_early_data_test_case = type { i8, i8, i8, 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
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str.61 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [96 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.63 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [143 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [70 x i8], align 1
@s2n_rsa_with_aes_256_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.139 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [88 x i8], align 1
@security_policy_test_tls13_retry = external constant %struct.s2n_security_policy, align 8
@.str.154 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [148 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [142 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [77 x i8], align 1

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) 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) #3

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_set_session(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #5

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #4

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_client_deserialize_resumption_state(ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_session(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_session_length(ptr noundef) local_unnamed_addr #5

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) local_unnamed_addr #4

declare zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef, i32 noundef) local_unnamed_addr #4

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_tickets_sent(ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_config_set_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #5 {
  %3 = alloca [8 x %struct.s2n_early_data_test_case], align 16
  %4 = alloca %struct.s2n_early_data_test_case, align 4
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %struct.s2n_stuffer, align 8
  %8 = alloca %struct.s2n_early_data_test_case, align 4
  %9 = alloca %struct.s2n_test_io_pair, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %struct.s2n_blob, align 8
  %13 = alloca %struct.s2n_test_io_pair, align 8
  %14 = alloca %struct.s2n_test_io_pair, align 8
  %15 = alloca %struct.s2n_test_io_pair, align 8
  %16 = alloca %struct.s2n_test_io_pair, align 8
  %17 = alloca %struct.s2n_test_io_pair, align 8
  %18 = alloca %struct.s2n_early_data_test_case, align 4
  %19 = alloca %struct.s2n_test_io_pair, align 8
  %20 = alloca %struct.s2n_blob, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca %struct.s2n_test_io_pair, align 8
  %24 = alloca %struct.s2n_early_data_test_case, align 4
  %25 = alloca %struct.s2n_test_io_pair, align 8
  %26 = alloca %struct.s2n_test_io_pair, align 8
  %27 = alloca %struct.s2n_stuffer, align 8
  %28 = alloca %struct.s2n_stuffer, align 8
  %29 = alloca %struct.s2n_test_io_pair, align 8
  %30 = alloca %struct.s2n_stuffer, align 8
  %31 = alloca %struct.s2n_stuffer, align 8
  %32 = alloca %struct.s2n_blob, align 8
  %33 = alloca %struct.s2n_stuffer, align 8
  %34 = alloca %struct.s2n_stuffer, align 8
  %35 = alloca %struct.s2n_test_io_pair, align 8
  %36 = alloca %struct.s2n_stuffer, align 8
  %37 = alloca %struct.s2n_test_io_pair, align 8
  %38 = alloca %struct.s2n_test_io_pair, align 8
  %39 = alloca [202 x i8], align 16
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca %struct.s2n_stuffer, align 8
  %43 = alloca %struct.s2n_stuffer, align 8
  %44 = alloca i16, align 2
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca %struct.s2n_stuffer, align 8
  %48 = alloca %struct.s2n_stuffer, align 8
  %49 = alloca i16, align 2
  %50 = alloca ptr, align 8
  %51 = alloca ptr, align 8
  %52 = alloca %struct.s2n_stuffer, align 8
  %53 = alloca %struct.s2n_stuffer, align 8
  %54 = alloca i16, align 2
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %55 = load ptr, ptr @stdout, align 8, !tbaa !9
  %56 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %55, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.62) #10
  %57 = load ptr, ptr @stdout, align 8, !tbaa !9
  %58 = tail call i32 @fflush(ptr noundef %57)
  %59 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #10
  %60 = icmp eq i32 %59, -1
  br i1 %60, label %61, label %85

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

68:                                               ; preds = %61
  %69 = load ptr, ptr @stderr, align 8, !tbaa !9
  %70 = tail call i32 @fileno(ptr noundef %69) #10
  %71 = tail call i32 @isatty(i32 noundef %70) #10
  %.not2032 = icmp eq i32 %71, 0
  br i1 %.not2032, label %72, label %73

72:                                               ; preds = %68, %61
  br label %73

73:                                               ; preds = %68, %72
  %.str.66.sink = phi ptr [ @.str.66, %72 ], [ @.str.63, %68 ]
  store i32 %63, ptr %62, align 4, !tbaa !5
  %74 = load ptr, ptr @stderr, align 8, !tbaa !9
  %75 = load i32, ptr @test_count, align 4, !tbaa !5
  %76 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %77 = load i32, ptr %76, align 4, !tbaa !5
  %78 = tail call ptr @s2n_strerror(i32 noundef %77, ptr noundef nonnull @.str.65) #10
  %79 = load i32, ptr %76, align 4, !tbaa !5
  %80 = tail call ptr @s2n_strerror_debug(i32 noundef %79, ptr noundef nonnull @.str.65) #10
  %81 = load i32, ptr %62, align 4, !tbaa !5
  %82 = tail call ptr @strerror(i32 noundef %81) #10
  %83 = load i32, ptr %62, align 4, !tbaa !5
  %84 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %74, ptr noundef nonnull %.str.66.sink, i32 noundef %75, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.62, i32 noundef 187, ptr noundef %78, ptr noundef %80, ptr noundef %82, i32 noundef %83) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

85:                                               ; preds = %2
  %86 = load i32, ptr @test_count, align 4, !tbaa !5
  %87 = add nsw i32 %86, 1
  store i32 %87, ptr @test_count, align 4, !tbaa !5
  %88 = tail call i32 @s2n_enable_atexit() #10
  %89 = icmp eq i32 %88, -1
  br i1 %89, label %90, label %114

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

97:                                               ; preds = %90
  %98 = load ptr, ptr @stderr, align 8, !tbaa !9
  %99 = tail call i32 @fileno(ptr noundef %98) #10
  %100 = tail call i32 @isatty(i32 noundef %99) #10
  %.not2031 = icmp eq i32 %100, 0
  br i1 %.not2031, label %101, label %102

101:                                              ; preds = %97, %90
  br label %102

102:                                              ; preds = %97, %101
  %.str.66.sink2083 = phi ptr [ @.str.66, %101 ], [ @.str.63, %97 ]
  store i32 %92, ptr %91, align 4, !tbaa !5
  %103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %104 = load i32, ptr @test_count, align 4, !tbaa !5
  %105 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %106 = load i32, ptr %105, align 4, !tbaa !5
  %107 = tail call ptr @s2n_strerror(i32 noundef %106, ptr noundef nonnull @.str.65) #10
  %108 = load i32, ptr %105, align 4, !tbaa !5
  %109 = tail call ptr @s2n_strerror_debug(i32 noundef %108, ptr noundef nonnull @.str.65) #10
  %110 = load i32, ptr %91, align 4, !tbaa !5
  %111 = tail call ptr @strerror(i32 noundef %110) #10
  %112 = load i32, ptr %91, align 4, !tbaa !5
  %113 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %103, ptr noundef nonnull %.str.66.sink2083, i32 noundef %104, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.62, i32 noundef 187, ptr noundef %107, ptr noundef %109, ptr noundef %111, i32 noundef %112) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

114:                                              ; preds = %85
  %115 = tail call i32 @s2n_init() #10
  %116 = icmp eq i32 %115, -1
  br i1 %116, label %117, label %141

117:                                              ; preds = %114
  %118 = tail call ptr @__errno_location() #11
  %119 = load i32, ptr %118, align 4, !tbaa !5
  %120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %121 = tail call i32 @s2n_print_stacktrace(ptr noundef %120) #10
  %122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %123 = trunc nuw i8 %122 to i1
  br i1 %123, label %124, label %128

124:                                              ; preds = %117
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = tail call i32 @fileno(ptr noundef %125) #10
  %127 = tail call i32 @isatty(i32 noundef %126) #10
  %.not2030 = icmp eq i32 %127, 0
  br i1 %.not2030, label %128, label %129

128:                                              ; preds = %124, %117
  br label %129

129:                                              ; preds = %124, %128
  %.str.66.sink2094 = phi ptr [ @.str.66, %128 ], [ @.str.63, %124 ]
  store i32 %119, ptr %118, align 4, !tbaa !5
  %130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %131 = load i32, ptr @test_count, align 4, !tbaa !5
  %132 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %133 = load i32, ptr %132, align 4, !tbaa !5
  %134 = tail call ptr @s2n_strerror(i32 noundef %133, ptr noundef nonnull @.str.65) #10
  %135 = load i32, ptr %132, align 4, !tbaa !5
  %136 = tail call ptr @s2n_strerror_debug(i32 noundef %135, ptr noundef nonnull @.str.65) #10
  %137 = load i32, ptr %118, align 4, !tbaa !5
  %138 = tail call ptr @strerror(i32 noundef %137) #10
  %139 = load i32, ptr %118, align 4, !tbaa !5
  %140 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %130, ptr noundef nonnull %.str.66.sink2094, i32 noundef %131, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.62, i32 noundef 187, ptr noundef %134, ptr noundef %136, ptr noundef %138, i32 noundef %139) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

141:                                              ; preds = %114
  %142 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #10
  br i1 %142, label %218, label %143

143:                                              ; preds = %141
  %144 = tail call i32 @s2n_cleanup() #10
  %145 = icmp eq i32 %144, -1
  br i1 %145, label %146, label %170

146:                                              ; preds = %143
  %147 = tail call ptr @__errno_location() #11
  %148 = load i32, ptr %147, align 4, !tbaa !5
  %149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %150 = tail call i32 @s2n_print_stacktrace(ptr noundef %149) #10
  %151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %152 = trunc nuw i8 %151 to i1
  br i1 %152, label %153, label %157

153:                                              ; preds = %146
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = tail call i32 @fileno(ptr noundef %154) #10
  %156 = tail call i32 @isatty(i32 noundef %155) #10
  %.not1551 = icmp eq i32 %156, 0
  br i1 %.not1551, label %157, label %158

157:                                              ; preds = %153, %146
  br label %158

158:                                              ; preds = %153, %157
  %.str.66.sink2105 = phi ptr [ @.str.66, %157 ], [ @.str.63, %153 ]
  store i32 %148, ptr %147, align 4, !tbaa !5
  %159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %160 = load i32, ptr @test_count, align 4, !tbaa !5
  %161 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %162 = load i32, ptr %161, align 4, !tbaa !5
  %163 = tail call ptr @s2n_strerror(i32 noundef %162, ptr noundef nonnull @.str.65) #10
  %164 = load i32, ptr %161, align 4, !tbaa !5
  %165 = tail call ptr @s2n_strerror_debug(i32 noundef %164, ptr noundef nonnull @.str.65) #10
  %166 = load i32, ptr %147, align 4, !tbaa !5
  %167 = tail call ptr @strerror(i32 noundef %166) #10
  %168 = load i32, ptr %147, align 4, !tbaa !5
  %169 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %159, ptr noundef nonnull %.str.66.sink2105, i32 noundef %160, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.62, i32 noundef 190, ptr noundef %163, ptr noundef %165, ptr noundef %167, i32 noundef %168) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

170:                                              ; preds = %143
  %171 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %172 = icmp eq i32 %171, -1
  br i1 %172, label %173, label %197

173:                                              ; preds = %170
  %174 = tail call ptr @__errno_location() #11
  %175 = load i32, ptr %174, align 4, !tbaa !5
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = tail call i32 @s2n_print_stacktrace(ptr noundef %176) #10
  %178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %179 = trunc nuw i8 %178 to i1
  br i1 %179, label %180, label %184

180:                                              ; preds = %173
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = tail call i32 @fileno(ptr noundef %181) #10
  %183 = tail call i32 @isatty(i32 noundef %182) #10
  %.not1550 = icmp eq i32 %183, 0
  br i1 %.not1550, label %184, label %185

184:                                              ; preds = %180, %173
  br label %185

185:                                              ; preds = %180, %184
  %.str.66.sink2116 = phi ptr [ @.str.66, %184 ], [ @.str.63, %180 ]
  store i32 %175, ptr %174, align 4, !tbaa !5
  %186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %187 = load i32, ptr @test_count, align 4, !tbaa !5
  %188 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %189 = load i32, ptr %188, align 4, !tbaa !5
  %190 = tail call ptr @s2n_strerror(i32 noundef %189, ptr noundef nonnull @.str.65) #10
  %191 = load i32, ptr %188, align 4, !tbaa !5
  %192 = tail call ptr @s2n_strerror_debug(i32 noundef %191, ptr noundef nonnull @.str.65) #10
  %193 = load i32, ptr %174, align 4, !tbaa !5
  %194 = tail call ptr @strerror(i32 noundef %193) #10
  %195 = load i32, ptr %174, align 4, !tbaa !5
  %196 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %186, ptr noundef nonnull %.str.66.sink2116, i32 noundef %187, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.62, i32 noundef 190, ptr noundef %190, ptr noundef %192, ptr noundef %194, i32 noundef %195) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

197:                                              ; preds = %170
  %198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %199 = trunc nuw i8 %198 to i1
  br i1 %199, label %200, label %211

200:                                              ; preds = %197
  %201 = load ptr, ptr @stdout, align 8, !tbaa !9
  %202 = tail call i32 @fileno(ptr noundef %201) #10
  %203 = tail call i32 @isatty(i32 noundef %202) #10
  %.not = icmp eq i32 %203, 0
  br i1 %.not, label %211, label %204

204:                                              ; preds = %200
  %205 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1549 = icmp eq i32 %205, 0
  %206 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1549, label %209, label %207

207:                                              ; preds = %204
  %208 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %206, ptr noundef nonnull @.str.71, i32 noundef %205) #10
  br label %13268

209:                                              ; preds = %204
  %210 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %206, ptr noundef nonnull @.str.72) #10
  br label %13268

211:                                              ; preds = %200, %197
  %212 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1548 = icmp eq i32 %212, 0
  %213 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1548, label %216, label %214

214:                                              ; preds = %211
  %215 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %213, ptr noundef nonnull @.str.73, i32 noundef %212) #10
  br label %13268

216:                                              ; preds = %211
  %217 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %213, ptr noundef nonnull @.str.74) #10
  br label %13268

218:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #10
  %test_count.promoted = load i32, ptr @test_count, align 4, !tbaa !5
  %219 = getelementptr inbounds i8, ptr %3, i64 6
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(6) %3, i8 0, i64 6, i1 false)
  store <16 x i8> <i8 1, i8 0, i8 0, i8 1, i8 0, i8 0, i8 0, i8 1, i8 1, i8 0, i8 1, i8 0, i8 0, i8 0, i8 1, i8 0>, ptr %219, align 2, !tbaa !11
  %220 = getelementptr inbounds i8, ptr %3, i64 22
  store <4 x i8> <i8 1, i8 0, i8 1, i8 1>, ptr %220, align 2, !tbaa !11
  %221 = getelementptr inbounds i8, ptr %3, i64 26
  store i8 0, ptr %221, align 2, !tbaa !15
  %222 = getelementptr inbounds i8, ptr %3, i64 27
  store i8 0, ptr %222, align 1, !tbaa !17
  %223 = getelementptr inbounds i8, ptr %3, i64 28
  %224 = add nsw i32 %test_count.promoted, 9
  store i32 16843009, ptr %223, align 4
  store i32 %224, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #10
  store i32 0, ptr %4, align 4
  %225 = tail call ptr @s2n_config_new() #10
  %226 = load i32, ptr @test_count, align 4, !tbaa !5
  %227 = add nsw i32 %226, 1
  store i32 %227, ptr @test_count, align 4, !tbaa !5
  %228 = icmp eq ptr %225, null
  br i1 %228, label %229, label %253

229:                                              ; preds = %218
  %230 = tail call ptr @__errno_location() #11
  %231 = load i32, ptr %230, align 4, !tbaa !5
  %232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %233 = tail call i32 @s2n_print_stacktrace(ptr noundef %232) #10
  %234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %235 = trunc nuw i8 %234 to i1
  br i1 %235, label %236, label %240

236:                                              ; preds = %229
  %237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %238 = tail call i32 @fileno(ptr noundef %237) #10
  %239 = tail call i32 @isatty(i32 noundef %238) #10
  %.not2028 = icmp eq i32 %239, 0
  br i1 %.not2028, label %240, label %241

240:                                              ; preds = %236, %229
  br label %241

241:                                              ; preds = %236, %240
  %.str.66.sink2127 = phi ptr [ @.str.66, %240 ], [ @.str.63, %236 ]
  store i32 %231, ptr %230, align 4, !tbaa !5
  %242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %243 = load i32, ptr @test_count, align 4, !tbaa !5
  %244 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %245 = load i32, ptr %244, align 4, !tbaa !5
  %246 = tail call ptr @s2n_strerror(i32 noundef %245, ptr noundef nonnull @.str.65) #10
  %247 = load i32, ptr %244, align 4, !tbaa !5
  %248 = tail call ptr @s2n_strerror_debug(i32 noundef %247, ptr noundef nonnull @.str.65) #10
  %249 = load i32, ptr %230, align 4, !tbaa !5
  %250 = tail call ptr @strerror(i32 noundef %249) #10
  %251 = load i32, ptr %230, align 4, !tbaa !5
  %252 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %242, ptr noundef nonnull %.str.66.sink2127, i32 noundef %243, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.62, i32 noundef 219, ptr noundef %246, ptr noundef %248, ptr noundef %250, i32 noundef %251) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

253:                                              ; preds = %218
  %254 = add nsw i32 %226, 2
  store i32 %254, ptr @test_count, align 4, !tbaa !5
  %255 = tail call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %225, ptr noundef nonnull @.str.78) #10
  %256 = icmp eq i32 %255, -1
  br i1 %256, label %257, label %281

257:                                              ; preds = %253
  %258 = tail call ptr @__errno_location() #11
  %259 = load i32, ptr %258, align 4, !tbaa !5
  %260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %261 = tail call i32 @s2n_print_stacktrace(ptr noundef %260) #10
  %262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %263 = trunc nuw i8 %262 to i1
  br i1 %263, label %264, label %268

264:                                              ; preds = %257
  %265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %266 = tail call i32 @fileno(ptr noundef %265) #10
  %267 = tail call i32 @isatty(i32 noundef %266) #10
  %.not2027 = icmp eq i32 %267, 0
  br i1 %.not2027, label %268, label %269

268:                                              ; preds = %264, %257
  br label %269

269:                                              ; preds = %264, %268
  %.str.66.sink2138 = phi ptr [ @.str.66, %268 ], [ @.str.63, %264 ]
  store i32 %259, ptr %258, align 4, !tbaa !5
  %270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %271 = load i32, ptr @test_count, align 4, !tbaa !5
  %272 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %273 = load i32, ptr %272, align 4, !tbaa !5
  %274 = tail call ptr @s2n_strerror(i32 noundef %273, ptr noundef nonnull @.str.65) #10
  %275 = load i32, ptr %272, align 4, !tbaa !5
  %276 = tail call ptr @s2n_strerror_debug(i32 noundef %275, ptr noundef nonnull @.str.65) #10
  %277 = load i32, ptr %258, align 4, !tbaa !5
  %278 = tail call ptr @strerror(i32 noundef %277) #10
  %279 = load i32, ptr %258, align 4, !tbaa !5
  %280 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %270, ptr noundef nonnull %.str.66.sink2138, i32 noundef %271, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.62, i32 noundef 220, ptr noundef %274, ptr noundef %276, ptr noundef %278, i32 noundef %279) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

281:                                              ; preds = %253
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %283 = add nsw i32 %282, 1
  store i32 %283, ptr @test_count, align 4, !tbaa !5
  %284 = tail call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %225) #10
  %285 = icmp eq i32 %284, -1
  br i1 %285, label %286, label %310

286:                                              ; preds = %281
  %287 = tail call ptr @__errno_location() #11
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %290 = tail call i32 @s2n_print_stacktrace(ptr noundef %289) #10
  %291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %292 = trunc nuw i8 %291 to i1
  br i1 %292, label %293, label %297

293:                                              ; preds = %286
  %294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %295 = tail call i32 @fileno(ptr noundef %294) #10
  %296 = tail call i32 @isatty(i32 noundef %295) #10
  %.not2026 = icmp eq i32 %296, 0
  br i1 %.not2026, label %297, label %298

297:                                              ; preds = %293, %286
  br label %298

298:                                              ; preds = %293, %297
  %.str.66.sink2149 = phi ptr [ @.str.66, %297 ], [ @.str.63, %293 ]
  store i32 %288, ptr %287, align 4, !tbaa !5
  %299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %300 = load i32, ptr @test_count, align 4, !tbaa !5
  %301 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %302 = load i32, ptr %301, align 4, !tbaa !5
  %303 = tail call ptr @s2n_strerror(i32 noundef %302, ptr noundef nonnull @.str.65) #10
  %304 = load i32, ptr %301, align 4, !tbaa !5
  %305 = tail call ptr @s2n_strerror_debug(i32 noundef %304, ptr noundef nonnull @.str.65) #10
  %306 = load i32, ptr %287, align 4, !tbaa !5
  %307 = tail call ptr @strerror(i32 noundef %306) #10
  %308 = load i32, ptr %287, align 4, !tbaa !5
  %309 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %299, ptr noundef nonnull %.str.66.sink2149, i32 noundef %300, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.62, i32 noundef 221, ptr noundef %303, ptr noundef %305, ptr noundef %307, i32 noundef %308) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

310:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #10
  store ptr null, ptr %5, align 8, !tbaa !9
  %311 = load i32, ptr @test_count, align 4, !tbaa !5
  %312 = add nsw i32 %311, 1
  store i32 %312, ptr @test_count, align 4, !tbaa !5
  %313 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %5, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.82) #10
  %314 = icmp eq i32 %313, -1
  br i1 %314, label %315, label %339

315:                                              ; preds = %310
  %316 = tail call ptr @__errno_location() #11
  %317 = load i32, ptr %316, align 4, !tbaa !5
  %318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %319 = call i32 @s2n_print_stacktrace(ptr noundef %318) #10
  %320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %321 = trunc nuw i8 %320 to i1
  br i1 %321, label %322, label %326

322:                                              ; preds = %315
  %323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %324 = call i32 @fileno(ptr noundef %323) #10
  %325 = call i32 @isatty(i32 noundef %324) #10
  %.not2025 = icmp eq i32 %325, 0
  br i1 %.not2025, label %326, label %327

326:                                              ; preds = %322, %315
  br label %327

327:                                              ; preds = %322, %326
  %.str.66.sink2160 = phi ptr [ @.str.66, %326 ], [ @.str.63, %322 ]
  store i32 %317, ptr %316, align 4, !tbaa !5
  %328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %329 = load i32, ptr @test_count, align 4, !tbaa !5
  %330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %331 = load i32, ptr %330, align 4, !tbaa !5
  %332 = call ptr @s2n_strerror(i32 noundef %331, ptr noundef nonnull @.str.65) #10
  %333 = load i32, ptr %330, align 4, !tbaa !5
  %334 = call ptr @s2n_strerror_debug(i32 noundef %333, ptr noundef nonnull @.str.65) #10
  %335 = load i32, ptr %316, align 4, !tbaa !5
  %336 = call ptr @strerror(i32 noundef %335) #10
  %337 = load i32, ptr %316, align 4, !tbaa !5
  %338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %328, ptr noundef nonnull %.str.66.sink2160, i32 noundef %329, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.62, i32 noundef 224, ptr noundef %332, ptr noundef %334, ptr noundef %336, i32 noundef %337) #12
  call void @exit(i32 noundef 1) #13
  unreachable

339:                                              ; preds = %310
  %340 = load i32, ptr @test_count, align 4, !tbaa !5
  %341 = add nsw i32 %340, 1
  store i32 %341, ptr @test_count, align 4, !tbaa !5
  %342 = load ptr, ptr %5, align 8, !tbaa !9
  %343 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %225, ptr noundef %342) #10
  %344 = icmp eq i32 %343, -1
  br i1 %344, label %345, label %369

345:                                              ; preds = %339
  %346 = tail call ptr @__errno_location() #11
  %347 = load i32, ptr %346, align 4, !tbaa !5
  %348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %349 = call i32 @s2n_print_stacktrace(ptr noundef %348) #10
  %350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %351 = trunc nuw i8 %350 to i1
  br i1 %351, label %352, label %356

352:                                              ; preds = %345
  %353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %354 = call i32 @fileno(ptr noundef %353) #10
  %355 = call i32 @isatty(i32 noundef %354) #10
  %.not2024 = icmp eq i32 %355, 0
  br i1 %.not2024, label %356, label %357

356:                                              ; preds = %352, %345
  br label %357

357:                                              ; preds = %352, %356
  %.str.66.sink2171 = phi ptr [ @.str.66, %356 ], [ @.str.63, %352 ]
  store i32 %347, ptr %346, 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 nonnull @.str.65) #10
  %363 = load i32, ptr %360, align 4, !tbaa !5
  %364 = call ptr @s2n_strerror_debug(i32 noundef %363, ptr noundef nonnull @.str.65) #10
  %365 = load i32, ptr %346, align 4, !tbaa !5
  %366 = call ptr @strerror(i32 noundef %365) #10
  %367 = load i32, ptr %346, align 4, !tbaa !5
  %368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %358, ptr noundef nonnull %.str.66.sink2171, i32 noundef %359, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.62, i32 noundef 225, ptr noundef %362, ptr noundef %364, ptr noundef %366, i32 noundef %367) #12
  call void @exit(i32 noundef 1) #13
  unreachable

369:                                              ; preds = %339
  %370 = load i32, ptr @test_count, align 4, !tbaa !5
  %371 = add nsw i32 %370, 1
  store i32 %371, ptr @test_count, align 4, !tbaa !5
  %372 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %225, i8 noundef zeroext 1) #10
  %373 = icmp eq i32 %372, -1
  br i1 %373, label %374, label %398

374:                                              ; preds = %369
  %375 = tail call ptr @__errno_location() #11
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %378 = call i32 @s2n_print_stacktrace(ptr noundef %377) #10
  %379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %380 = trunc nuw i8 %379 to i1
  br i1 %380, label %381, label %385

381:                                              ; preds = %374
  %382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %383 = call i32 @fileno(ptr noundef %382) #10
  %384 = call i32 @isatty(i32 noundef %383) #10
  %.not2023 = icmp eq i32 %384, 0
  br i1 %.not2023, label %385, label %386

385:                                              ; preds = %381, %374
  br label %386

386:                                              ; preds = %381, %385
  %.str.66.sink2182 = phi ptr [ @.str.66, %385 ], [ @.str.63, %381 ]
  store i32 %376, ptr %375, align 4, !tbaa !5
  %387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %388 = load i32, ptr @test_count, align 4, !tbaa !5
  %389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %390 = load i32, ptr %389, align 4, !tbaa !5
  %391 = call ptr @s2n_strerror(i32 noundef %390, ptr noundef nonnull @.str.65) #10
  %392 = load i32, ptr %389, align 4, !tbaa !5
  %393 = call ptr @s2n_strerror_debug(i32 noundef %392, ptr noundef nonnull @.str.65) #10
  %394 = load i32, ptr %375, align 4, !tbaa !5
  %395 = call ptr @strerror(i32 noundef %394) #10
  %396 = load i32, ptr %375, align 4, !tbaa !5
  %397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %387, ptr noundef nonnull %.str.66.sink2182, i32 noundef %388, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.62, i32 noundef 226, ptr noundef %391, ptr noundef %393, ptr noundef %395, i32 noundef %396) #12
  call void @exit(i32 noundef 1) #13
  unreachable

398:                                              ; preds = %369
  %399 = load i32, ptr @test_count, align 4, !tbaa !5
  %400 = add nsw i32 %399, 1
  store i32 %400, ptr @test_count, align 4, !tbaa !5
  %401 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %225) #10
  %402 = call zeroext i1 @s2n_result_is_ok(i32 %401)
  br i1 %402, label %427, label %403

403:                                              ; preds = %398
  %404 = tail call ptr @__errno_location() #11
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %407 = call i32 @s2n_print_stacktrace(ptr noundef %406) #10
  %408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %409 = trunc nuw i8 %408 to i1
  br i1 %409, label %410, label %414

410:                                              ; preds = %403
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = call i32 @fileno(ptr noundef %411) #10
  %413 = call i32 @isatty(i32 noundef %412) #10
  %.not1553 = icmp eq i32 %413, 0
  br i1 %.not1553, label %414, label %415

414:                                              ; preds = %410, %403
  br label %415

415:                                              ; preds = %410, %414
  %.str.66.sink2193 = phi ptr [ @.str.66, %414 ], [ @.str.63, %410 ]
  store i32 %405, ptr %404, align 4, !tbaa !5
  %416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %417 = load i32, ptr @test_count, align 4, !tbaa !5
  %418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %419 = load i32, ptr %418, align 4, !tbaa !5
  %420 = call ptr @s2n_strerror(i32 noundef %419, ptr noundef nonnull @.str.65) #10
  %421 = load i32, ptr %418, align 4, !tbaa !5
  %422 = call ptr @s2n_strerror_debug(i32 noundef %421, ptr noundef nonnull @.str.65) #10
  %423 = load i32, ptr %404, align 4, !tbaa !5
  %424 = call ptr @strerror(i32 noundef %423) #10
  %425 = load i32, ptr %404, align 4, !tbaa !5
  %426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %416, ptr noundef nonnull %.str.66.sink2193, i32 noundef %417, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.62, i32 noundef 227, ptr noundef %420, ptr noundef %422, ptr noundef %424, i32 noundef %425) #12
  call void @exit(i32 noundef 1) #13
  unreachable

427:                                              ; preds = %398
  %428 = call ptr @s2n_config_new() #10
  %429 = load i32, ptr @test_count, align 4, !tbaa !5
  %430 = add nsw i32 %429, 1
  store i32 %430, ptr @test_count, align 4, !tbaa !5
  %431 = icmp eq ptr %428, null
  br i1 %431, label %432, label %456

432:                                              ; preds = %427
  %433 = tail call ptr @__errno_location() #11
  %434 = load i32, ptr %433, align 4, !tbaa !5
  %435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %436 = call i32 @s2n_print_stacktrace(ptr noundef %435) #10
  %437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %438 = trunc nuw i8 %437 to i1
  br i1 %438, label %439, label %443

439:                                              ; preds = %432
  %440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %441 = call i32 @fileno(ptr noundef %440) #10
  %442 = call i32 @isatty(i32 noundef %441) #10
  %.not2022 = icmp eq i32 %442, 0
  br i1 %.not2022, label %443, label %444

443:                                              ; preds = %439, %432
  br label %444

444:                                              ; preds = %439, %443
  %.str.66.sink2204 = phi ptr [ @.str.66, %443 ], [ @.str.63, %439 ]
  store i32 %434, ptr %433, align 4, !tbaa !5
  %445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %446 = load i32, ptr @test_count, align 4, !tbaa !5
  %447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %448 = load i32, ptr %447, align 4, !tbaa !5
  %449 = call ptr @s2n_strerror(i32 noundef %448, ptr noundef nonnull @.str.65) #10
  %450 = load i32, ptr %447, align 4, !tbaa !5
  %451 = call ptr @s2n_strerror_debug(i32 noundef %450, ptr noundef nonnull @.str.65) #10
  %452 = load i32, ptr %433, align 4, !tbaa !5
  %453 = call ptr @strerror(i32 noundef %452) #10
  %454 = load i32, ptr %433, align 4, !tbaa !5
  %455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %445, ptr noundef nonnull %.str.66.sink2204, i32 noundef %446, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.62, i32 noundef 231, ptr noundef %449, ptr noundef %451, ptr noundef %453, i32 noundef %454) #12
  call void @exit(i32 noundef 1) #13
  unreachable

456:                                              ; preds = %427
  %457 = add nsw i32 %429, 2
  store i32 %457, ptr @test_count, align 4, !tbaa !5
  %458 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %428, ptr noundef nonnull @.str.88) #10
  %459 = icmp eq i32 %458, -1
  br i1 %459, label %460, label %484

460:                                              ; preds = %456
  %461 = tail call ptr @__errno_location() #11
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %464 = call i32 @s2n_print_stacktrace(ptr noundef %463) #10
  %465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %466 = trunc nuw i8 %465 to i1
  br i1 %466, label %467, label %471

467:                                              ; preds = %460
  %468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %469 = call i32 @fileno(ptr noundef %468) #10
  %470 = call i32 @isatty(i32 noundef %469) #10
  %.not2021 = icmp eq i32 %470, 0
  br i1 %.not2021, label %471, label %472

471:                                              ; preds = %467, %460
  br label %472

472:                                              ; preds = %467, %471
  %.str.66.sink2215 = phi ptr [ @.str.66, %471 ], [ @.str.63, %467 ]
  store i32 %462, ptr %461, align 4, !tbaa !5
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = load i32, ptr @test_count, align 4, !tbaa !5
  %475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = call ptr @s2n_strerror(i32 noundef %476, ptr noundef nonnull @.str.65) #10
  %478 = load i32, ptr %475, align 4, !tbaa !5
  %479 = call ptr @s2n_strerror_debug(i32 noundef %478, ptr noundef nonnull @.str.65) #10
  %480 = load i32, ptr %461, align 4, !tbaa !5
  %481 = call ptr @strerror(i32 noundef %480) #10
  %482 = load i32, ptr %461, align 4, !tbaa !5
  %483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %473, ptr noundef nonnull %.str.66.sink2215, i32 noundef %474, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.62, i32 noundef 232, ptr noundef %477, ptr noundef %479, ptr noundef %481, i32 noundef %482) #12
  call void @exit(i32 noundef 1) #13
  unreachable

484:                                              ; preds = %456
  %485 = load i32, ptr @test_count, align 4, !tbaa !5
  %486 = add nsw i32 %485, 1
  store i32 %486, ptr @test_count, align 4, !tbaa !5
  %487 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %428) #10
  %488 = icmp eq i32 %487, -1
  br i1 %488, label %489, label %513

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

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

500:                                              ; preds = %496, %489
  br label %501

501:                                              ; preds = %496, %500
  %.str.66.sink2226 = phi ptr [ @.str.66, %500 ], [ @.str.63, %496 ]
  store i32 %491, ptr %490, 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 nonnull @.str.65) #10
  %507 = load i32, ptr %504, align 4, !tbaa !5
  %508 = call ptr @s2n_strerror_debug(i32 noundef %507, ptr noundef nonnull @.str.65) #10
  %509 = load i32, ptr %490, align 4, !tbaa !5
  %510 = call ptr @strerror(i32 noundef %509) #10
  %511 = load i32, ptr %490, align 4, !tbaa !5
  %512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef nonnull %.str.66.sink2226, i32 noundef %503, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.62, i32 noundef 233, ptr noundef %506, ptr noundef %508, ptr noundef %510, i32 noundef %511) #12
  call void @exit(i32 noundef 1) #13
  unreachable

513:                                              ; preds = %484
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #10
  store ptr null, ptr %6, align 8, !tbaa !9
  %514 = load i32, ptr @test_count, align 4, !tbaa !5
  %515 = add nsw i32 %514, 1
  store i32 %515, ptr @test_count, align 4, !tbaa !5
  %516 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %6, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.92) #10
  %517 = icmp eq i32 %516, -1
  br i1 %517, label %518, label %542

518:                                              ; preds = %513
  %519 = tail call ptr @__errno_location() #11
  %520 = load i32, ptr %519, align 4, !tbaa !5
  %521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %522 = call i32 @s2n_print_stacktrace(ptr noundef %521) #10
  %523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %524 = trunc nuw i8 %523 to i1
  br i1 %524, label %525, label %529

525:                                              ; preds = %518
  %526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %527 = call i32 @fileno(ptr noundef %526) #10
  %528 = call i32 @isatty(i32 noundef %527) #10
  %.not2019 = icmp eq i32 %528, 0
  br i1 %.not2019, label %529, label %530

529:                                              ; preds = %525, %518
  br label %530

530:                                              ; preds = %525, %529
  %.str.66.sink2237 = phi ptr [ @.str.66, %529 ], [ @.str.63, %525 ]
  store i32 %520, ptr %519, align 4, !tbaa !5
  %531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %532 = load i32, ptr @test_count, align 4, !tbaa !5
  %533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %534 = load i32, ptr %533, align 4, !tbaa !5
  %535 = call ptr @s2n_strerror(i32 noundef %534, ptr noundef nonnull @.str.65) #10
  %536 = load i32, ptr %533, align 4, !tbaa !5
  %537 = call ptr @s2n_strerror_debug(i32 noundef %536, ptr noundef nonnull @.str.65) #10
  %538 = load i32, ptr %519, align 4, !tbaa !5
  %539 = call ptr @strerror(i32 noundef %538) #10
  %540 = load i32, ptr %519, align 4, !tbaa !5
  %541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %531, ptr noundef nonnull %.str.66.sink2237, i32 noundef %532, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.62, i32 noundef 236, ptr noundef %535, ptr noundef %537, ptr noundef %539, i32 noundef %540) #12
  call void @exit(i32 noundef 1) #13
  unreachable

542:                                              ; preds = %513
  %543 = load i32, ptr @test_count, align 4, !tbaa !5
  %544 = add nsw i32 %543, 1
  store i32 %544, ptr @test_count, align 4, !tbaa !5
  %545 = load ptr, ptr %6, align 8, !tbaa !9
  %546 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %428, ptr noundef %545) #10
  %547 = icmp eq i32 %546, -1
  br i1 %547, label %548, label %572

548:                                              ; preds = %542
  %549 = tail call ptr @__errno_location() #11
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = call i32 @s2n_print_stacktrace(ptr noundef %551) #10
  %553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %554 = trunc nuw i8 %553 to i1
  br i1 %554, label %555, label %559

555:                                              ; preds = %548
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = call i32 @fileno(ptr noundef %556) #10
  %558 = call i32 @isatty(i32 noundef %557) #10
  %.not2018 = icmp eq i32 %558, 0
  br i1 %.not2018, label %559, label %560

559:                                              ; preds = %555, %548
  br label %560

560:                                              ; preds = %555, %559
  %.str.66.sink2248 = phi ptr [ @.str.66, %559 ], [ @.str.63, %555 ]
  store i32 %550, ptr %549, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = load i32, ptr @test_count, align 4, !tbaa !5
  %563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %564 = load i32, ptr %563, align 4, !tbaa !5
  %565 = call ptr @s2n_strerror(i32 noundef %564, ptr noundef nonnull @.str.65) #10
  %566 = load i32, ptr %563, align 4, !tbaa !5
  %567 = call ptr @s2n_strerror_debug(i32 noundef %566, ptr noundef nonnull @.str.65) #10
  %568 = load i32, ptr %549, align 4, !tbaa !5
  %569 = call ptr @strerror(i32 noundef %568) #10
  %570 = load i32, ptr %549, align 4, !tbaa !5
  %571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %561, ptr noundef nonnull %.str.66.sink2248, i32 noundef %562, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.62, i32 noundef 237, ptr noundef %565, ptr noundef %567, ptr noundef %569, i32 noundef %570) #12
  call void @exit(i32 noundef 1) #13
  unreachable

572:                                              ; preds = %542
  %573 = load i32, ptr @test_count, align 4, !tbaa !5
  %574 = add nsw i32 %573, 1
  store i32 %574, ptr @test_count, align 4, !tbaa !5
  %575 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %428, i8 noundef zeroext 1) #10
  %576 = icmp eq i32 %575, -1
  br i1 %576, label %577, label %601

577:                                              ; preds = %572
  %578 = tail call ptr @__errno_location() #11
  %579 = load i32, ptr %578, 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 = %577
  %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
  %.not2017 = icmp eq i32 %587, 0
  br i1 %.not2017, label %588, label %589

588:                                              ; preds = %584, %577
  br label %589

589:                                              ; preds = %584, %588
  %.str.66.sink2259 = phi ptr [ @.str.66, %588 ], [ @.str.63, %584 ]
  store i32 %579, ptr %578, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = load i32, ptr @test_count, align 4, !tbaa !5
  %592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = call ptr @s2n_strerror(i32 noundef %593, ptr noundef nonnull @.str.65) #10
  %595 = load i32, ptr %592, align 4, !tbaa !5
  %596 = call ptr @s2n_strerror_debug(i32 noundef %595, ptr noundef nonnull @.str.65) #10
  %597 = load i32, ptr %578, align 4, !tbaa !5
  %598 = call ptr @strerror(i32 noundef %597) #10
  %599 = load i32, ptr %578, align 4, !tbaa !5
  %600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %590, ptr noundef nonnull %.str.66.sink2259, i32 noundef %591, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.62, i32 noundef 238, ptr noundef %594, ptr noundef %596, ptr noundef %598, i32 noundef %599) #12
  call void @exit(i32 noundef 1) #13
  unreachable

601:                                              ; preds = %572
  %602 = load i32, ptr @test_count, align 4, !tbaa !5
  %603 = add nsw i32 %602, 1
  store i32 %603, ptr @test_count, align 4, !tbaa !5
  %604 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %428) #10
  %605 = call zeroext i1 @s2n_result_is_ok(i32 %604)
  br i1 %605, label %630, label %606

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

613:                                              ; preds = %606
  %614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %615 = call i32 @fileno(ptr noundef %614) #10
  %616 = call i32 @isatty(i32 noundef %615) #10
  %.not1554 = icmp eq i32 %616, 0
  br i1 %.not1554, label %617, label %618

617:                                              ; preds = %613, %606
  br label %618

618:                                              ; preds = %613, %617
  %.str.66.sink2270 = phi ptr [ @.str.66, %617 ], [ @.str.63, %613 ]
  store i32 %608, ptr %607, align 4, !tbaa !5
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = load i32, ptr @test_count, align 4, !tbaa !5
  %621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %622 = load i32, ptr %621, align 4, !tbaa !5
  %623 = call ptr @s2n_strerror(i32 noundef %622, ptr noundef nonnull @.str.65) #10
  %624 = load i32, ptr %621, align 4, !tbaa !5
  %625 = call ptr @s2n_strerror_debug(i32 noundef %624, ptr noundef nonnull @.str.65) #10
  %626 = load i32, ptr %607, align 4, !tbaa !5
  %627 = call ptr @strerror(i32 noundef %626) #10
  %628 = load i32, ptr %607, align 4, !tbaa !5
  %629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %619, ptr noundef nonnull %.str.66.sink2270, i32 noundef %620, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.62, i32 noundef 239, ptr noundef %623, ptr noundef %625, ptr noundef %627, i32 noundef %628) #12
  call void @exit(i32 noundef 1) #13
  unreachable

630:                                              ; preds = %601
  %631 = call ptr @s2n_config_new() #10
  %632 = load i32, ptr @test_count, align 4, !tbaa !5
  %633 = add nsw i32 %632, 1
  store i32 %633, ptr @test_count, align 4, !tbaa !5
  %634 = icmp eq ptr %631, null
  br i1 %634, label %635, label %659

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

642:                                              ; preds = %635
  %643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %644 = call i32 @fileno(ptr noundef %643) #10
  %645 = call i32 @isatty(i32 noundef %644) #10
  %.not2016 = icmp eq i32 %645, 0
  br i1 %.not2016, label %646, label %647

646:                                              ; preds = %642, %635
  br label %647

647:                                              ; preds = %642, %646
  %.str.66.sink2281 = phi ptr [ @.str.66, %646 ], [ @.str.63, %642 ]
  store i32 %637, ptr %636, align 4, !tbaa !5
  %648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %649 = load i32, ptr @test_count, align 4, !tbaa !5
  %650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %651 = load i32, ptr %650, align 4, !tbaa !5
  %652 = call ptr @s2n_strerror(i32 noundef %651, ptr noundef nonnull @.str.65) #10
  %653 = load i32, ptr %650, align 4, !tbaa !5
  %654 = call ptr @s2n_strerror_debug(i32 noundef %653, ptr noundef nonnull @.str.65) #10
  %655 = load i32, ptr %636, align 4, !tbaa !5
  %656 = call ptr @strerror(i32 noundef %655) #10
  %657 = load i32, ptr %636, align 4, !tbaa !5
  %658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %648, ptr noundef nonnull %.str.66.sink2281, i32 noundef %649, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.62, i32 noundef 243, ptr noundef %652, ptr noundef %654, ptr noundef %656, i32 noundef %657) #12
  call void @exit(i32 noundef 1) #13
  unreachable

659:                                              ; preds = %630
  %660 = add nsw i32 %632, 2
  store i32 %660, ptr @test_count, align 4, !tbaa !5
  %661 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %631, ptr noundef nonnull @.str.78) #10
  %662 = icmp eq i32 %661, -1
  br i1 %662, label %663, label %687

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

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

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

675:                                              ; preds = %670, %674
  %.str.66.sink2292 = phi ptr [ @.str.66, %674 ], [ @.str.63, %670 ]
  store i32 %665, ptr %664, align 4, !tbaa !5
  %676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %677 = load i32, ptr @test_count, align 4, !tbaa !5
  %678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %679 = load i32, ptr %678, align 4, !tbaa !5
  %680 = call ptr @s2n_strerror(i32 noundef %679, ptr noundef nonnull @.str.65) #10
  %681 = load i32, ptr %678, align 4, !tbaa !5
  %682 = call ptr @s2n_strerror_debug(i32 noundef %681, ptr noundef nonnull @.str.65) #10
  %683 = load i32, ptr %664, align 4, !tbaa !5
  %684 = call ptr @strerror(i32 noundef %683) #10
  %685 = load i32, ptr %664, align 4, !tbaa !5
  %686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %676, ptr noundef nonnull %.str.66.sink2292, i32 noundef %677, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.62, i32 noundef 244, ptr noundef %680, ptr noundef %682, ptr noundef %684, i32 noundef %685) #12
  call void @exit(i32 noundef 1) #13
  unreachable

687:                                              ; preds = %659
  %688 = load i32, ptr @test_count, align 4, !tbaa !5
  %689 = add nsw i32 %688, 1
  store i32 %689, ptr @test_count, align 4, !tbaa !5
  %690 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %631) #10
  %691 = icmp eq i32 %690, -1
  br i1 %691, label %692, label %716

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

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

703:                                              ; preds = %699, %692
  br label %704

704:                                              ; preds = %699, %703
  %.str.66.sink2303 = phi ptr [ @.str.66, %703 ], [ @.str.63, %699 ]
  store i32 %694, ptr %693, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = call ptr @s2n_strerror(i32 noundef %708, ptr noundef nonnull @.str.65) #10
  %710 = load i32, ptr %707, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror_debug(i32 noundef %710, ptr noundef nonnull @.str.65) #10
  %712 = load i32, ptr %693, align 4, !tbaa !5
  %713 = call ptr @strerror(i32 noundef %712) #10
  %714 = load i32, ptr %693, align 4, !tbaa !5
  %715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %705, ptr noundef nonnull %.str.66.sink2303, i32 noundef %706, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.62, i32 noundef 245, ptr noundef %709, ptr noundef %711, ptr noundef %713, i32 noundef %714) #12
  call void @exit(i32 noundef 1) #13
  unreachable

716:                                              ; preds = %687
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = add nsw i32 %717, 1
  store i32 %718, ptr @test_count, align 4, !tbaa !5
  %719 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %631, i8 noundef zeroext 1) #10
  %720 = icmp eq i32 %719, -1
  br i1 %720, label %721, label %745

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

728:                                              ; preds = %721
  %729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %730 = call i32 @fileno(ptr noundef %729) #10
  %731 = call i32 @isatty(i32 noundef %730) #10
  %.not2013 = icmp eq i32 %731, 0
  br i1 %.not2013, label %732, label %733

732:                                              ; preds = %728, %721
  br label %733

733:                                              ; preds = %728, %732
  %.str.66.sink2314 = phi ptr [ @.str.66, %732 ], [ @.str.63, %728 ]
  store i32 %723, ptr %722, align 4, !tbaa !5
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = load i32, ptr @test_count, align 4, !tbaa !5
  %736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %737 = load i32, ptr %736, align 4, !tbaa !5
  %738 = call ptr @s2n_strerror(i32 noundef %737, ptr noundef nonnull @.str.65) #10
  %739 = load i32, ptr %736, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror_debug(i32 noundef %739, ptr noundef nonnull @.str.65) #10
  %741 = load i32, ptr %722, align 4, !tbaa !5
  %742 = call ptr @strerror(i32 noundef %741) #10
  %743 = load i32, ptr %722, align 4, !tbaa !5
  %744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %734, ptr noundef nonnull %.str.66.sink2314, i32 noundef %735, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.62, i32 noundef 246, ptr noundef %738, ptr noundef %740, ptr noundef %742, i32 noundef %743) #12
  call void @exit(i32 noundef 1) #13
  unreachable

745:                                              ; preds = %716
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, i8 0, i64 40, i1 false)
  %746 = load i32, ptr @test_count, align 4, !tbaa !5
  %747 = add nsw i32 %746, 1
  store i32 %747, ptr @test_count, align 4, !tbaa !5
  %748 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %7, i32 noundef 0) #10
  %749 = icmp eq i32 %748, -1
  br i1 %749, label %750, label %774

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

757:                                              ; preds = %750
  %758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %759 = call i32 @fileno(ptr noundef %758) #10
  %760 = call i32 @isatty(i32 noundef %759) #10
  %.not2012 = icmp eq i32 %760, 0
  br i1 %.not2012, label %761, label %762

761:                                              ; preds = %757, %750
  br label %762

762:                                              ; preds = %757, %761
  %.str.66.sink2325 = phi ptr [ @.str.66, %761 ], [ @.str.63, %757 ]
  store i32 %752, ptr %751, 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 nonnull @.str.65) #10
  %768 = load i32, ptr %765, align 4, !tbaa !5
  %769 = call ptr @s2n_strerror_debug(i32 noundef %768, ptr noundef nonnull @.str.65) #10
  %770 = load i32, ptr %751, align 4, !tbaa !5
  %771 = call ptr @strerror(i32 noundef %770) #10
  %772 = load i32, ptr %751, align 4, !tbaa !5
  %773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %763, ptr noundef nonnull %.str.66.sink2325, i32 noundef %764, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.62, i32 noundef 248, ptr noundef %767, ptr noundef %769, ptr noundef %771, i32 noundef %772) #12
  call void @exit(i32 noundef 1) #13
  unreachable

774:                                              ; preds = %745
  %775 = load i32, ptr @test_count, align 4, !tbaa !5
  %776 = add nsw i32 %775, 1
  store i32 %776, ptr @test_count, align 4, !tbaa !5
  %777 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %631, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef nonnull %7)
  %778 = icmp eq i32 %777, -1
  br i1 %778, label %779, label %803

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

786:                                              ; preds = %779
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = call i32 @fileno(ptr noundef %787) #10
  %789 = call i32 @isatty(i32 noundef %788) #10
  %.not2011 = icmp eq i32 %789, 0
  br i1 %.not2011, label %790, label %791

790:                                              ; preds = %786, %779
  br label %791

791:                                              ; preds = %786, %790
  %.str.66.sink2336 = phi ptr [ @.str.66, %790 ], [ @.str.63, %786 ]
  store i32 %781, ptr %780, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %795 = load i32, ptr %794, align 4, !tbaa !5
  %796 = call ptr @s2n_strerror(i32 noundef %795, ptr noundef nonnull @.str.65) #10
  %797 = load i32, ptr %794, align 4, !tbaa !5
  %798 = call ptr @s2n_strerror_debug(i32 noundef %797, ptr noundef nonnull @.str.65) #10
  %799 = load i32, ptr %780, align 4, !tbaa !5
  %800 = call ptr @strerror(i32 noundef %799) #10
  %801 = load i32, ptr %780, align 4, !tbaa !5
  %802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %792, ptr noundef nonnull %.str.66.sink2336, i32 noundef %793, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.62, i32 noundef 249, ptr noundef %796, ptr noundef %798, ptr noundef %800, i32 noundef %801) #12
  call void @exit(i32 noundef 1) #13
  unreachable

803:                                              ; preds = %774
  %804 = call ptr @s2n_config_new() #10
  %805 = load i32, ptr @test_count, align 4, !tbaa !5
  %806 = add nsw i32 %805, 1
  store i32 %806, ptr @test_count, align 4, !tbaa !5
  %807 = icmp eq ptr %804, null
  br i1 %807, label %808, label %832

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

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

819:                                              ; preds = %815, %808
  br label %820

820:                                              ; preds = %815, %819
  %.str.66.sink2347 = phi ptr [ @.str.66, %819 ], [ @.str.63, %815 ]
  store i32 %810, ptr %809, align 4, !tbaa !5
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = load i32, ptr @test_count, align 4, !tbaa !5
  %823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror(i32 noundef %824, ptr noundef nonnull @.str.65) #10
  %826 = load i32, ptr %823, align 4, !tbaa !5
  %827 = call ptr @s2n_strerror_debug(i32 noundef %826, ptr noundef nonnull @.str.65) #10
  %828 = load i32, ptr %809, align 4, !tbaa !5
  %829 = call ptr @strerror(i32 noundef %828) #10
  %830 = load i32, ptr %809, align 4, !tbaa !5
  %831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %821, ptr noundef nonnull %.str.66.sink2347, i32 noundef %822, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.62, i32 noundef 253, ptr noundef %825, ptr noundef %827, ptr noundef %829, i32 noundef %830) #12
  call void @exit(i32 noundef 1) #13
  unreachable

832:                                              ; preds = %803
  %833 = add nsw i32 %805, 2
  store i32 %833, ptr @test_count, align 4, !tbaa !5
  %834 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %804, ptr noundef nonnull @.str.104) #10
  %835 = icmp eq i32 %834, -1
  br i1 %835, label %836, label %860

836:                                              ; preds = %832
  %837 = tail call ptr @__errno_location() #11
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %840 = call i32 @s2n_print_stacktrace(ptr noundef %839) #10
  %841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %842 = trunc nuw i8 %841 to i1
  br i1 %842, label %843, label %847

843:                                              ; preds = %836
  %844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %845 = call i32 @fileno(ptr noundef %844) #10
  %846 = call i32 @isatty(i32 noundef %845) #10
  %.not2009 = icmp eq i32 %846, 0
  br i1 %.not2009, label %847, label %848

847:                                              ; preds = %843, %836
  br label %848

848:                                              ; preds = %843, %847
  %.str.66.sink2358 = phi ptr [ @.str.66, %847 ], [ @.str.63, %843 ]
  store i32 %838, ptr %837, align 4, !tbaa !5
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = load i32, ptr @test_count, align 4, !tbaa !5
  %851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %852 = load i32, ptr %851, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror(i32 noundef %852, ptr noundef nonnull @.str.65) #10
  %854 = load i32, ptr %851, align 4, !tbaa !5
  %855 = call ptr @s2n_strerror_debug(i32 noundef %854, ptr noundef nonnull @.str.65) #10
  %856 = load i32, ptr %837, align 4, !tbaa !5
  %857 = call ptr @strerror(i32 noundef %856) #10
  %858 = load i32, ptr %837, align 4, !tbaa !5
  %859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %849, ptr noundef nonnull %.str.66.sink2358, i32 noundef %850, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.62, i32 noundef 254, ptr noundef %853, ptr noundef %855, ptr noundef %857, i32 noundef %858) #12
  call void @exit(i32 noundef 1) #13
  unreachable

860:                                              ; preds = %832
  %861 = load i32, ptr @test_count, align 4, !tbaa !5
  %862 = add nsw i32 %861, 1
  store i32 %862, ptr @test_count, align 4, !tbaa !5
  %863 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %804) #10
  %864 = icmp eq i32 %863, -1
  br i1 %864, label %865, label %889

865:                                              ; preds = %860
  %866 = tail call ptr @__errno_location() #11
  %867 = load i32, ptr %866, align 4, !tbaa !5
  %868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %869 = call i32 @s2n_print_stacktrace(ptr noundef %868) #10
  %870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %871 = trunc nuw i8 %870 to i1
  br i1 %871, label %872, label %876

872:                                              ; preds = %865
  %873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %874 = call i32 @fileno(ptr noundef %873) #10
  %875 = call i32 @isatty(i32 noundef %874) #10
  %.not2008 = icmp eq i32 %875, 0
  br i1 %.not2008, label %876, label %877

876:                                              ; preds = %872, %865
  br label %877

877:                                              ; preds = %872, %876
  %.str.66.sink2369 = phi ptr [ @.str.66, %876 ], [ @.str.63, %872 ]
  store i32 %867, ptr %866, align 4, !tbaa !5
  %878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %879 = load i32, ptr @test_count, align 4, !tbaa !5
  %880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = call ptr @s2n_strerror(i32 noundef %881, ptr noundef nonnull @.str.65) #10
  %883 = load i32, ptr %880, align 4, !tbaa !5
  %884 = call ptr @s2n_strerror_debug(i32 noundef %883, ptr noundef nonnull @.str.65) #10
  %885 = load i32, ptr %866, align 4, !tbaa !5
  %886 = call ptr @strerror(i32 noundef %885) #10
  %887 = load i32, ptr %866, align 4, !tbaa !5
  %888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %878, ptr noundef nonnull %.str.66.sink2369, i32 noundef %879, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.62, i32 noundef 255, ptr noundef %882, ptr noundef %884, ptr noundef %886, i32 noundef %887) #12
  call void @exit(i32 noundef 1) #13
  unreachable

889:                                              ; preds = %860
  %890 = load i32, ptr @test_count, align 4, !tbaa !5
  %891 = add nsw i32 %890, 1
  store i32 %891, ptr @test_count, align 4, !tbaa !5
  %892 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %804, i8 noundef zeroext 1) #10
  %893 = icmp eq i32 %892, -1
  br i1 %893, label %894, label %918

894:                                              ; preds = %889
  %895 = tail call ptr @__errno_location() #11
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = call i32 @s2n_print_stacktrace(ptr noundef %897) #10
  %899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %900 = trunc nuw i8 %899 to i1
  br i1 %900, label %901, label %905

901:                                              ; preds = %894
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = call i32 @fileno(ptr noundef %902) #10
  %904 = call i32 @isatty(i32 noundef %903) #10
  %.not2007 = icmp eq i32 %904, 0
  br i1 %.not2007, label %905, label %906

905:                                              ; preds = %901, %894
  br label %906

906:                                              ; preds = %901, %905
  %.str.66.sink2380 = phi ptr [ @.str.66, %905 ], [ @.str.63, %901 ]
  store i32 %896, ptr %895, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = load i32, ptr @test_count, align 4, !tbaa !5
  %909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %910 = load i32, ptr %909, align 4, !tbaa !5
  %911 = call ptr @s2n_strerror(i32 noundef %910, ptr noundef nonnull @.str.65) #10
  %912 = load i32, ptr %909, align 4, !tbaa !5
  %913 = call ptr @s2n_strerror_debug(i32 noundef %912, ptr noundef nonnull @.str.65) #10
  %914 = load i32, ptr %895, align 4, !tbaa !5
  %915 = call ptr @strerror(i32 noundef %914) #10
  %916 = load i32, ptr %895, align 4, !tbaa !5
  %917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %907, ptr noundef nonnull %.str.66.sink2380, i32 noundef %908, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.62, i32 noundef 256, ptr noundef %911, ptr noundef %913, ptr noundef %915, i32 noundef %916) #12
  call void @exit(i32 noundef 1) #13
  unreachable

918:                                              ; preds = %889
  %919 = load i32, ptr @test_count, align 4, !tbaa !5
  %920 = add nsw i32 %919, 1
  store i32 %920, ptr @test_count, align 4, !tbaa !5
  %921 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %804, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef nonnull %7)
  %922 = icmp eq i32 %921, -1
  br i1 %922, label %925, label %.preheader2036

.preheader2036:                                   ; preds = %918
  %923 = getelementptr inbounds i8, ptr %7, i64 28
  %924 = getelementptr inbounds i8, ptr %7, i64 24
  br label %954

925:                                              ; preds = %918
  %926 = tail call ptr @__errno_location() #11
  %927 = load i32, ptr %926, align 4, !tbaa !5
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = call i32 @s2n_print_stacktrace(ptr noundef %928) #10
  %930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %931 = trunc nuw i8 %930 to i1
  br i1 %931, label %932, label %936

932:                                              ; preds = %925
  %933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %934 = call i32 @fileno(ptr noundef %933) #10
  %935 = call i32 @isatty(i32 noundef %934) #10
  %.not2006 = icmp eq i32 %935, 0
  br i1 %.not2006, label %936, label %937

936:                                              ; preds = %932, %925
  br label %937

937:                                              ; preds = %932, %936
  %.str.66.sink2391 = phi ptr [ @.str.66, %936 ], [ @.str.63, %932 ]
  store i32 %927, ptr %926, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = load i32, ptr @test_count, align 4, !tbaa !5
  %940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %941 = load i32, ptr %940, align 4, !tbaa !5
  %942 = call ptr @s2n_strerror(i32 noundef %941, ptr noundef nonnull @.str.65) #10
  %943 = load i32, ptr %940, align 4, !tbaa !5
  %944 = call ptr @s2n_strerror_debug(i32 noundef %943, ptr noundef nonnull @.str.65) #10
  %945 = load i32, ptr %926, align 4, !tbaa !5
  %946 = call ptr @strerror(i32 noundef %945) #10
  %947 = load i32, ptr %926, align 4, !tbaa !5
  %948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %938, ptr noundef nonnull %.str.66.sink2391, i32 noundef %939, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.62, i32 noundef 257, ptr noundef %942, ptr noundef %944, ptr noundef %946, i32 noundef %947) #12
  call void @exit(i32 noundef 1) #13
  unreachable

949:                                              ; preds = %1687
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #10
  %950 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %950, ptr %10, align 8, !tbaa !9
  %951 = load i32, ptr @test_count, align 4, !tbaa !5
  %952 = add nsw i32 %951, 1
  store i32 %952, ptr @test_count, align 4, !tbaa !5
  %953 = icmp eq ptr %950, null
  br i1 %953, label %1689, label %1713

954:                                              ; preds = %.preheader2036, %1687
  %.015102055 = phi i64 [ 0, %.preheader2036 ], [ %1688, %1687 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #10
  %955 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %3, i64 0, i64 %.015102055
  %956 = load i32, ptr %955, align 4
  store i32 %956, ptr %8, align 4
  %957 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %958 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %959 = load i32, ptr @test_count, align 4, !tbaa !5
  %960 = add nsw i32 %959, 1
  store i32 %960, ptr @test_count, align 4, !tbaa !5
  %961 = icmp eq ptr %957, null
  br i1 %961, label %962, label %986

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

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

973:                                              ; preds = %969, %962
  br label %974

974:                                              ; preds = %969, %973
  %.str.66.sink2402 = phi ptr [ @.str.66, %973 ], [ @.str.63, %969 ]
  store i32 %964, ptr %963, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = load i32, ptr @test_count, align 4, !tbaa !5
  %977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %978 = load i32, ptr %977, align 4, !tbaa !5
  %979 = call ptr @s2n_strerror(i32 noundef %978, ptr noundef nonnull @.str.65) #10
  %980 = load i32, ptr %977, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror_debug(i32 noundef %980, ptr noundef nonnull @.str.65) #10
  %982 = load i32, ptr %963, align 4, !tbaa !5
  %983 = call ptr @strerror(i32 noundef %982) #10
  %984 = load i32, ptr %963, align 4, !tbaa !5
  %985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %975, ptr noundef nonnull %.str.66.sink2402, i32 noundef %976, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 265, ptr noundef %979, ptr noundef %981, ptr noundef %983, i32 noundef %984) #12
  call void @exit(i32 noundef 1) #13
  unreachable

986:                                              ; preds = %954
  %987 = add nsw i32 %959, 2
  store i32 %987, ptr @test_count, align 4, !tbaa !5
  %988 = icmp eq ptr %958, null
  br i1 %988, label %989, label %1013

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

996:                                              ; preds = %989
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = call i32 @fileno(ptr noundef %997) #10
  %999 = call i32 @isatty(i32 noundef %998) #10
  %.not2004 = icmp eq i32 %999, 0
  br i1 %.not2004, label %1000, label %1001

1000:                                             ; preds = %996, %989
  br label %1001

1001:                                             ; preds = %996, %1000
  %.str.66.sink2413 = phi ptr [ @.str.66, %1000 ], [ @.str.63, %996 ]
  store i32 %991, ptr %990, align 4, !tbaa !5
  %1002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1003 = load i32, ptr @test_count, align 4, !tbaa !5
  %1004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call ptr @s2n_strerror(i32 noundef %1005, ptr noundef nonnull @.str.65) #10
  %1007 = load i32, ptr %1004, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror_debug(i32 noundef %1007, ptr noundef nonnull @.str.65) #10
  %1009 = load i32, ptr %990, align 4, !tbaa !5
  %1010 = call ptr @strerror(i32 noundef %1009) #10
  %1011 = load i32, ptr %990, align 4, !tbaa !5
  %1012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1002, ptr noundef nonnull %.str.66.sink2413, i32 noundef %1003, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 266, ptr noundef %1006, ptr noundef %1008, ptr noundef %1010, i32 noundef %1011) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1013:                                             ; preds = %986
  %1014 = add nsw i32 %959, 3
  store i32 %1014, ptr @test_count, align 4, !tbaa !5
  %1015 = call i32 @s2n_connection_set_config(ptr noundef nonnull %957, ptr noundef nonnull %631) #10
  %1016 = icmp eq i32 %1015, -1
  br i1 %1016, label %1017, label %1041

1017:                                             ; preds = %1013
  %1018 = tail call ptr @__errno_location() #11
  %1019 = load i32, ptr %1018, align 4, !tbaa !5
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = call i32 @s2n_print_stacktrace(ptr noundef %1020) #10
  %1022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1023 = trunc nuw i8 %1022 to i1
  br i1 %1023, label %1024, label %1028

1024:                                             ; preds = %1017
  %1025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1026 = call i32 @fileno(ptr noundef %1025) #10
  %1027 = call i32 @isatty(i32 noundef %1026) #10
  %.not2003 = icmp eq i32 %1027, 0
  br i1 %.not2003, label %1028, label %1029

1028:                                             ; preds = %1024, %1017
  br label %1029

1029:                                             ; preds = %1024, %1028
  %.str.66.sink2424 = phi ptr [ @.str.66, %1028 ], [ @.str.63, %1024 ]
  store i32 %1019, ptr %1018, align 4, !tbaa !5
  %1030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1031 = load i32, ptr @test_count, align 4, !tbaa !5
  %1032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1033 = load i32, ptr %1032, align 4, !tbaa !5
  %1034 = call ptr @s2n_strerror(i32 noundef %1033, ptr noundef nonnull @.str.65) #10
  %1035 = load i32, ptr %1032, align 4, !tbaa !5
  %1036 = call ptr @s2n_strerror_debug(i32 noundef %1035, ptr noundef nonnull @.str.65) #10
  %1037 = load i32, ptr %1018, align 4, !tbaa !5
  %1038 = call ptr @strerror(i32 noundef %1037) #10
  %1039 = load i32, ptr %1018, align 4, !tbaa !5
  %1040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1030, ptr noundef nonnull %.str.66.sink2424, i32 noundef %1031, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 268, ptr noundef %1034, ptr noundef %1036, ptr noundef %1038, i32 noundef %1039) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1041:                                             ; preds = %1013
  %1042 = load i32, ptr @test_count, align 4, !tbaa !5
  %1043 = add nsw i32 %1042, 1
  store i32 %1043, ptr @test_count, align 4, !tbaa !5
  %1044 = call i32 @s2n_connection_set_config(ptr noundef nonnull %958, ptr noundef %225) #10
  %1045 = icmp eq i32 %1044, -1
  br i1 %1045, label %1046, label %1070

1046:                                             ; preds = %1041
  %1047 = tail call ptr @__errno_location() #11
  %1048 = load i32, ptr %1047, align 4, !tbaa !5
  %1049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1050 = call i32 @s2n_print_stacktrace(ptr noundef %1049) #10
  %1051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1052 = trunc nuw i8 %1051 to i1
  br i1 %1052, label %1053, label %1057

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

1057:                                             ; preds = %1053, %1046
  br label %1058

1058:                                             ; preds = %1053, %1057
  %.str.66.sink2435 = phi ptr [ @.str.66, %1057 ], [ @.str.63, %1053 ]
  store i32 %1048, ptr %1047, align 4, !tbaa !5
  %1059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1060 = load i32, ptr @test_count, align 4, !tbaa !5
  %1061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1062 = load i32, ptr %1061, align 4, !tbaa !5
  %1063 = call ptr @s2n_strerror(i32 noundef %1062, ptr noundef nonnull @.str.65) #10
  %1064 = load i32, ptr %1061, align 4, !tbaa !5
  %1065 = call ptr @s2n_strerror_debug(i32 noundef %1064, ptr noundef nonnull @.str.65) #10
  %1066 = load i32, ptr %1047, align 4, !tbaa !5
  %1067 = call ptr @strerror(i32 noundef %1066) #10
  %1068 = load i32, ptr %1047, align 4, !tbaa !5
  %1069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1059, ptr noundef nonnull %.str.66.sink2435, i32 noundef %1060, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 269, ptr noundef %1063, ptr noundef %1065, ptr noundef %1067, i32 noundef %1068) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1070:                                             ; preds = %1041
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #10
  store i64 0, ptr %9, align 8
  %1071 = load i32, ptr @test_count, align 4, !tbaa !5
  %1072 = add nsw i32 %1071, 1
  store i32 %1072, ptr @test_count, align 4, !tbaa !5
  %1073 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %9) #10
  %1074 = icmp eq i32 %1073, -1
  br i1 %1074, label %1075, label %1099

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

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

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

1087:                                             ; preds = %1082, %1086
  %.str.66.sink2446 = phi ptr [ @.str.66, %1086 ], [ @.str.63, %1082 ]
  store i32 %1077, ptr %1076, align 4, !tbaa !5
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = load i32, ptr @test_count, align 4, !tbaa !5
  %1090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = call ptr @s2n_strerror(i32 noundef %1091, ptr noundef nonnull @.str.65) #10
  %1093 = load i32, ptr %1090, align 4, !tbaa !5
  %1094 = call ptr @s2n_strerror_debug(i32 noundef %1093, ptr noundef nonnull @.str.65) #10
  %1095 = load i32, ptr %1076, align 4, !tbaa !5
  %1096 = call ptr @strerror(i32 noundef %1095) #10
  %1097 = load i32, ptr %1076, align 4, !tbaa !5
  %1098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1088, ptr noundef nonnull %.str.66.sink2446, i32 noundef %1089, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 273, ptr noundef %1092, ptr noundef %1094, ptr noundef %1096, i32 noundef %1097) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1099:                                             ; preds = %1070
  %1100 = load i32, ptr @test_count, align 4, !tbaa !5
  %1101 = add nsw i32 %1100, 1
  store i32 %1101, ptr @test_count, align 4, !tbaa !5
  %1102 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %957, ptr noundef nonnull %958, ptr noundef nonnull %9) #10
  %1103 = icmp eq i32 %1102, -1
  br i1 %1103, label %1104, label %1128

1104:                                             ; preds = %1099
  %1105 = tail call ptr @__errno_location() #11
  %1106 = load i32, ptr %1105, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = call i32 @s2n_print_stacktrace(ptr noundef %1107) #10
  %1109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1110 = trunc nuw i8 %1109 to i1
  br i1 %1110, label %1111, label %1115

1111:                                             ; preds = %1104
  %1112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1113 = call i32 @fileno(ptr noundef %1112) #10
  %1114 = call i32 @isatty(i32 noundef %1113) #10
  %.not2000 = icmp eq i32 %1114, 0
  br i1 %.not2000, label %1115, label %1116

1115:                                             ; preds = %1111, %1104
  br label %1116

1116:                                             ; preds = %1111, %1115
  %.str.66.sink2457 = phi ptr [ @.str.66, %1115 ], [ @.str.63, %1111 ]
  store i32 %1106, ptr %1105, align 4, !tbaa !5
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = load i32, ptr @test_count, align 4, !tbaa !5
  %1119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1120 = load i32, ptr %1119, align 4, !tbaa !5
  %1121 = call ptr @s2n_strerror(i32 noundef %1120, ptr noundef nonnull @.str.65) #10
  %1122 = load i32, ptr %1119, align 4, !tbaa !5
  %1123 = call ptr @s2n_strerror_debug(i32 noundef %1122, ptr noundef nonnull @.str.65) #10
  %1124 = load i32, ptr %1105, align 4, !tbaa !5
  %1125 = call ptr @strerror(i32 noundef %1124) #10
  %1126 = load i32, ptr %1105, align 4, !tbaa !5
  %1127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1117, ptr noundef nonnull %.str.66.sink2457, i32 noundef %1118, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 274, ptr noundef %1121, ptr noundef %1123, ptr noundef %1125, i32 noundef %1126) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1128:                                             ; preds = %1099
  %1129 = load i32, ptr @test_count, align 4, !tbaa !5
  %1130 = add nsw i32 %1129, 1
  store i32 %1130, ptr @test_count, align 4, !tbaa !5
  %1131 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %958, ptr noundef nonnull %957) #10
  %1132 = icmp eq i32 %1131, -1
  br i1 %1132, label %1133, label %1157

1133:                                             ; preds = %1128
  %1134 = tail call ptr @__errno_location() #11
  %1135 = load i32, ptr %1134, align 4, !tbaa !5
  %1136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1137 = call i32 @s2n_print_stacktrace(ptr noundef %1136) #10
  %1138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1139 = trunc nuw i8 %1138 to i1
  br i1 %1139, label %1140, label %1144

1140:                                             ; preds = %1133
  %1141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1142 = call i32 @fileno(ptr noundef %1141) #10
  %1143 = call i32 @isatty(i32 noundef %1142) #10
  %.not1999 = icmp eq i32 %1143, 0
  br i1 %.not1999, label %1144, label %1145

1144:                                             ; preds = %1140, %1133
  br label %1145

1145:                                             ; preds = %1140, %1144
  %.str.66.sink2468 = phi ptr [ @.str.66, %1144 ], [ @.str.63, %1140 ]
  store i32 %1135, ptr %1134, align 4, !tbaa !5
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror(i32 noundef %1149, ptr noundef nonnull @.str.65) #10
  %1151 = load i32, ptr %1148, align 4, !tbaa !5
  %1152 = call ptr @s2n_strerror_debug(i32 noundef %1151, ptr noundef nonnull @.str.65) #10
  %1153 = load i32, ptr %1134, align 4, !tbaa !5
  %1154 = call ptr @strerror(i32 noundef %1153) #10
  %1155 = load i32, ptr %1134, align 4, !tbaa !5
  %1156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1146, ptr noundef nonnull %.str.66.sink2468, i32 noundef %1147, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 277, ptr noundef %1150, ptr noundef %1152, ptr noundef %1154, i32 noundef %1155) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1157:                                             ; preds = %1128
  %1158 = load i32, ptr @test_count, align 4, !tbaa !5
  %1159 = add nsw i32 %1158, 1
  store i32 %1159, ptr @test_count, align 4, !tbaa !5
  %1160 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %957, i32 noundef 2) #10
  br i1 %1160, label %1161, label %1163

1161:                                             ; preds = %1157
  %1162 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %958, i32 noundef 2) #10
  br i1 %1162, label %1187, label %1163

1163:                                             ; preds = %1161, %1157
  %1164 = tail call ptr @__errno_location() #11
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = call i32 @s2n_print_stacktrace(ptr noundef %1166) #10
  %1168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1169 = trunc nuw i8 %1168 to i1
  br i1 %1169, label %1170, label %1174

1170:                                             ; preds = %1163
  %1171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1172 = call i32 @fileno(ptr noundef %1171) #10
  %1173 = call i32 @isatty(i32 noundef %1172) #10
  %.not1981 = icmp eq i32 %1173, 0
  br i1 %.not1981, label %1174, label %1175

1174:                                             ; preds = %1170, %1163
  br label %1175

1175:                                             ; preds = %1170, %1174
  %.str.66.sink2479 = phi ptr [ @.str.66, %1174 ], [ @.str.63, %1170 ]
  store i32 %1165, ptr %1164, align 4, !tbaa !5
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = load i32, ptr @test_count, align 4, !tbaa !5
  %1178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1179 = load i32, ptr %1178, align 4, !tbaa !5
  %1180 = call ptr @s2n_strerror(i32 noundef %1179, ptr noundef nonnull @.str.65) #10
  %1181 = load i32, ptr %1178, align 4, !tbaa !5
  %1182 = call ptr @s2n_strerror_debug(i32 noundef %1181, ptr noundef nonnull @.str.65) #10
  %1183 = load i32, ptr %1164, align 4, !tbaa !5
  %1184 = call ptr @strerror(i32 noundef %1183) #10
  %1185 = load i32, ptr %1164, align 4, !tbaa !5
  %1186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1176, ptr noundef nonnull %.str.66.sink2479, i32 noundef %1177, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 278, ptr noundef %1180, ptr noundef %1182, ptr noundef %1184, i32 noundef %1185) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1187:                                             ; preds = %1161
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = add nsw i32 %1188, 1
  store i32 %1189, ptr @test_count, align 4, !tbaa !5
  %1190 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %958, ptr noundef nonnull %957, ptr noundef nonnull %8)
  %1191 = call zeroext i1 @s2n_result_is_ok(i32 %1190)
  br i1 %1191, label %.preheader2035, label %1192

1192:                                             ; preds = %1187
  %1193 = tail call ptr @__errno_location() #11
  %1194 = load i32, ptr %1193, align 4, !tbaa !5
  %1195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1196 = call i32 @s2n_print_stacktrace(ptr noundef %1195) #10
  %1197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1198 = trunc nuw i8 %1197 to i1
  br i1 %1198, label %1199, label %1203

1199:                                             ; preds = %1192
  %1200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1201 = call i32 @fileno(ptr noundef %1200) #10
  %1202 = call i32 @isatty(i32 noundef %1201) #10
  %.not1982 = icmp eq i32 %1202, 0
  br i1 %.not1982, label %1203, label %1204

1203:                                             ; preds = %1199, %1192
  br label %1204

1204:                                             ; preds = %1199, %1203
  %.str.66.sink2490 = phi ptr [ @.str.66, %1203 ], [ @.str.63, %1199 ]
  store i32 %1194, ptr %1193, align 4, !tbaa !5
  %1205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1206 = load i32, ptr @test_count, align 4, !tbaa !5
  %1207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1208 = load i32, ptr %1207, align 4, !tbaa !5
  %1209 = call ptr @s2n_strerror(i32 noundef %1208, ptr noundef nonnull @.str.65) #10
  %1210 = load i32, ptr %1207, align 4, !tbaa !5
  %1211 = call ptr @s2n_strerror_debug(i32 noundef %1210, ptr noundef nonnull @.str.65) #10
  %1212 = load i32, ptr %1193, align 4, !tbaa !5
  %1213 = call ptr @strerror(i32 noundef %1212) #10
  %1214 = load i32, ptr %1193, align 4, !tbaa !5
  %1215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1205, ptr noundef nonnull %.str.66.sink2490, i32 noundef %1206, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.62, i32 noundef 281, ptr noundef %1209, ptr noundef %1211, ptr noundef %1213, i32 noundef %1214) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1216:                                             ; preds = %1518
  %1217 = add nuw nsw i64 %.015112054, 1
  %exitcond.not = icmp eq i64 %1217, 10
  br i1 %exitcond.not, label %1218, label %.preheader2035, !llvm.loop !18

1218:                                             ; preds = %1216
  %1219 = load i32, ptr @test_count, align 4, !tbaa !5
  %1220 = add nsw i32 %1219, 1
  store i32 %1220, ptr @test_count, align 4, !tbaa !5
  %1221 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %958, ptr noundef nonnull %957) #10
  %1222 = icmp eq i32 %1221, -1
  br i1 %1222, label %1547, label %1571

.preheader2035:                                   ; preds = %1187, %1216
  %.015112054 = phi i64 [ %1217, %1216 ], [ 0, %1187 ]
  %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_shutdown_test_server_and_client(ptr noundef nonnull %958, ptr noundef nonnull %957) #10
  %1226 = icmp eq i32 %1225, -1
  br i1 %1226, label %1227, label %1251

1227:                                             ; preds = %.preheader2035
  %1228 = tail call ptr @__errno_location() #11
  %1229 = load i32, ptr %1228, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = call i32 @s2n_print_stacktrace(ptr noundef %1230) #10
  %1232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1233 = trunc nuw i8 %1232 to i1
  br i1 %1233, label %1234, label %1238

1234:                                             ; preds = %1227
  %1235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1236 = call i32 @fileno(ptr noundef %1235) #10
  %1237 = call i32 @isatty(i32 noundef %1236) #10
  %.not1998 = icmp eq i32 %1237, 0
  br i1 %.not1998, label %1238, label %1239

1238:                                             ; preds = %1234, %1227
  br label %1239

1239:                                             ; preds = %1234, %1238
  %.str.66.sink2501 = phi ptr [ @.str.66, %1238 ], [ @.str.63, %1234 ]
  store i32 %1229, ptr %1228, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = load i32, ptr @test_count, align 4, !tbaa !5
  %1242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror(i32 noundef %1243, ptr noundef nonnull @.str.65) #10
  %1245 = load i32, ptr %1242, align 4, !tbaa !5
  %1246 = call ptr @s2n_strerror_debug(i32 noundef %1245, ptr noundef nonnull @.str.65) #10
  %1247 = load i32, ptr %1228, align 4, !tbaa !5
  %1248 = call ptr @strerror(i32 noundef %1247) #10
  %1249 = load i32, ptr %1228, align 4, !tbaa !5
  %1250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1240, ptr noundef nonnull %.str.66.sink2501, i32 noundef %1241, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 285, ptr noundef %1244, ptr noundef %1246, ptr noundef %1248, i32 noundef %1249) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1251:                                             ; preds = %.preheader2035
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = add nsw i32 %1252, 1
  store i32 %1253, ptr @test_count, align 4, !tbaa !5
  %1254 = call i32 @s2n_connection_wipe(ptr noundef nonnull %957) #10
  %1255 = icmp eq i32 %1254, -1
  br i1 %1255, label %1256, label %1280

1256:                                             ; preds = %1251
  %1257 = tail call ptr @__errno_location() #11
  %1258 = load i32, ptr %1257, align 4, !tbaa !5
  %1259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1260 = call i32 @s2n_print_stacktrace(ptr noundef %1259) #10
  %1261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1262 = trunc nuw i8 %1261 to i1
  br i1 %1262, label %1263, label %1267

1263:                                             ; preds = %1256
  %1264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1265 = call i32 @fileno(ptr noundef %1264) #10
  %1266 = call i32 @isatty(i32 noundef %1265) #10
  %.not1997 = icmp eq i32 %1266, 0
  br i1 %.not1997, label %1267, label %1268

1267:                                             ; preds = %1263, %1256
  br label %1268

1268:                                             ; preds = %1263, %1267
  %.str.66.sink2512 = phi ptr [ @.str.66, %1267 ], [ @.str.63, %1263 ]
  store i32 %1258, ptr %1257, align 4, !tbaa !5
  %1269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1270 = load i32, ptr @test_count, align 4, !tbaa !5
  %1271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = call ptr @s2n_strerror(i32 noundef %1272, ptr noundef nonnull @.str.65) #10
  %1274 = load i32, ptr %1271, align 4, !tbaa !5
  %1275 = call ptr @s2n_strerror_debug(i32 noundef %1274, ptr noundef nonnull @.str.65) #10
  %1276 = load i32, ptr %1257, align 4, !tbaa !5
  %1277 = call ptr @strerror(i32 noundef %1276) #10
  %1278 = load i32, ptr %1257, align 4, !tbaa !5
  %1279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1269, ptr noundef nonnull %.str.66.sink2512, i32 noundef %1270, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 286, ptr noundef %1273, ptr noundef %1275, ptr noundef %1277, i32 noundef %1278) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1280:                                             ; preds = %1251
  %1281 = load i32, ptr @test_count, align 4, !tbaa !5
  %1282 = add nsw i32 %1281, 1
  store i32 %1282, ptr @test_count, align 4, !tbaa !5
  %1283 = call i32 @s2n_connection_wipe(ptr noundef nonnull %958) #10
  %1284 = icmp eq i32 %1283, -1
  br i1 %1284, label %1285, label %1309

1285:                                             ; preds = %1280
  %1286 = tail call ptr @__errno_location() #11
  %1287 = load i32, ptr %1286, align 4, !tbaa !5
  %1288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1289 = call i32 @s2n_print_stacktrace(ptr noundef %1288) #10
  %1290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1291 = trunc nuw i8 %1290 to i1
  br i1 %1291, label %1292, label %1296

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

1296:                                             ; preds = %1292, %1285
  br label %1297

1297:                                             ; preds = %1292, %1296
  %.str.66.sink2523 = phi ptr [ @.str.66, %1296 ], [ @.str.63, %1292 ]
  store i32 %1287, ptr %1286, align 4, !tbaa !5
  %1298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1299 = load i32, ptr @test_count, align 4, !tbaa !5
  %1300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1301 = load i32, ptr %1300, align 4, !tbaa !5
  %1302 = call ptr @s2n_strerror(i32 noundef %1301, ptr noundef nonnull @.str.65) #10
  %1303 = load i32, ptr %1300, align 4, !tbaa !5
  %1304 = call ptr @s2n_strerror_debug(i32 noundef %1303, ptr noundef nonnull @.str.65) #10
  %1305 = load i32, ptr %1286, align 4, !tbaa !5
  %1306 = call ptr @strerror(i32 noundef %1305) #10
  %1307 = load i32, ptr %1286, align 4, !tbaa !5
  %1308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1298, ptr noundef nonnull %.str.66.sink2523, i32 noundef %1299, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 287, ptr noundef %1302, ptr noundef %1304, ptr noundef %1306, i32 noundef %1307) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1309:                                             ; preds = %1280
  %1310 = load i32, ptr @test_count, align 4, !tbaa !5
  %1311 = add nsw i32 %1310, 1
  store i32 %1311, ptr @test_count, align 4, !tbaa !5
  %1312 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %957, ptr noundef nonnull %958, ptr noundef nonnull %9) #10
  %1313 = icmp eq i32 %1312, -1
  br i1 %1313, label %1314, label %1338

1314:                                             ; preds = %1309
  %1315 = tail call ptr @__errno_location() #11
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1318 = call i32 @s2n_print_stacktrace(ptr noundef %1317) #10
  %1319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1320 = trunc nuw i8 %1319 to i1
  br i1 %1320, label %1321, label %1325

1321:                                             ; preds = %1314
  %1322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1323 = call i32 @fileno(ptr noundef %1322) #10
  %1324 = call i32 @isatty(i32 noundef %1323) #10
  %.not1995 = icmp eq i32 %1324, 0
  br i1 %.not1995, label %1325, label %1326

1325:                                             ; preds = %1321, %1314
  br label %1326

1326:                                             ; preds = %1321, %1325
  %.str.66.sink2534 = phi ptr [ @.str.66, %1325 ], [ @.str.63, %1321 ]
  store i32 %1316, ptr %1315, align 4, !tbaa !5
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = load i32, ptr @test_count, align 4, !tbaa !5
  %1329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = call ptr @s2n_strerror(i32 noundef %1330, ptr noundef nonnull @.str.65) #10
  %1332 = load i32, ptr %1329, align 4, !tbaa !5
  %1333 = call ptr @s2n_strerror_debug(i32 noundef %1332, ptr noundef nonnull @.str.65) #10
  %1334 = load i32, ptr %1315, align 4, !tbaa !5
  %1335 = call ptr @strerror(i32 noundef %1334) #10
  %1336 = load i32, ptr %1315, align 4, !tbaa !5
  %1337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1327, ptr noundef nonnull %.str.66.sink2534, i32 noundef %1328, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 288, ptr noundef %1331, ptr noundef %1333, ptr noundef %1335, i32 noundef %1336) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1338:                                             ; preds = %1309
  %1339 = load i32, ptr %923, align 4, !tbaa !20
  %1340 = load i32, ptr %924, align 8, !tbaa !23
  %1341 = sub i32 %1339, %1340
  %1342 = zext i32 %1341 to i64
  %1343 = load i32, ptr @test_count, align 4, !tbaa !5
  %1344 = add nsw i32 %1343, 1
  store i32 %1344, ptr @test_count, align 4, !tbaa !5
  %1345 = load ptr, ptr %7, align 8, !tbaa !24
  %1346 = call i32 @s2n_connection_set_session(ptr noundef nonnull %957, ptr noundef %1345, i64 noundef %1342)
  %1347 = icmp eq i32 %1346, -1
  br i1 %1347, label %1348, label %1372

1348:                                             ; preds = %1338
  %1349 = tail call ptr @__errno_location() #11
  %1350 = load i32, ptr %1349, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = call i32 @s2n_print_stacktrace(ptr noundef %1351) #10
  %1353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1354 = trunc nuw i8 %1353 to i1
  br i1 %1354, label %1355, label %1359

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

1359:                                             ; preds = %1355, %1348
  br label %1360

1360:                                             ; preds = %1355, %1359
  %.str.66.sink2545 = phi ptr [ @.str.66, %1359 ], [ @.str.63, %1355 ]
  store i32 %1350, ptr %1349, align 4, !tbaa !5
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1362 = load i32, ptr @test_count, align 4, !tbaa !5
  %1363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1364 = load i32, ptr %1363, align 4, !tbaa !5
  %1365 = call ptr @s2n_strerror(i32 noundef %1364, ptr noundef nonnull @.str.65) #10
  %1366 = load i32, ptr %1363, align 4, !tbaa !5
  %1367 = call ptr @s2n_strerror_debug(i32 noundef %1366, ptr noundef nonnull @.str.65) #10
  %1368 = load i32, ptr %1349, align 4, !tbaa !5
  %1369 = call ptr @strerror(i32 noundef %1368) #10
  %1370 = load i32, ptr %1349, align 4, !tbaa !5
  %1371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1361, ptr noundef nonnull %.str.66.sink2545, i32 noundef %1362, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.62, i32 noundef 292, ptr noundef %1365, ptr noundef %1367, ptr noundef %1369, i32 noundef %1370) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1372:                                             ; preds = %1338
  %1373 = load i32, ptr @test_count, align 4, !tbaa !5
  %1374 = add nsw i32 %1373, 1
  store i32 %1374, ptr @test_count, align 4, !tbaa !5
  %1375 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %7) #10
  %1376 = icmp eq i32 %1375, -1
  br i1 %1376, label %1377, label %1401

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

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

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

1389:                                             ; preds = %1384, %1388
  %.str.66.sink2556 = phi ptr [ @.str.66, %1388 ], [ @.str.63, %1384 ]
  store i32 %1379, ptr %1378, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = load i32, ptr @test_count, align 4, !tbaa !5
  %1392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1393 = load i32, ptr %1392, align 4, !tbaa !5
  %1394 = call ptr @s2n_strerror(i32 noundef %1393, ptr noundef nonnull @.str.65) #10
  %1395 = load i32, ptr %1392, align 4, !tbaa !5
  %1396 = call ptr @s2n_strerror_debug(i32 noundef %1395, ptr noundef nonnull @.str.65) #10
  %1397 = load i32, ptr %1378, align 4, !tbaa !5
  %1398 = call ptr @strerror(i32 noundef %1397) #10
  %1399 = load i32, ptr %1378, align 4, !tbaa !5
  %1400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1390, ptr noundef nonnull %.str.66.sink2556, i32 noundef %1391, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.62, i32 noundef 293, ptr noundef %1394, ptr noundef %1396, ptr noundef %1398, i32 noundef %1399) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1401:                                             ; preds = %1372
  %1402 = load i32, ptr @test_count, align 4, !tbaa !5
  %1403 = add nsw i32 %1402, 1
  store i32 %1403, ptr @test_count, align 4, !tbaa !5
  %1404 = call i32 @s2n_test_negotiate(ptr noundef nonnull %958, ptr noundef nonnull %957, ptr noundef nonnull %8)
  %1405 = call zeroext i1 @s2n_result_is_ok(i32 %1404)
  br i1 %1405, label %1430, label %1406

1406:                                             ; preds = %1401
  %1407 = tail call ptr @__errno_location() #11
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1410 = call i32 @s2n_print_stacktrace(ptr noundef %1409) #10
  %1411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1412 = trunc nuw i8 %1411 to i1
  br i1 %1412, label %1413, label %1417

1413:                                             ; preds = %1406
  %1414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1415 = call i32 @fileno(ptr noundef %1414) #10
  %1416 = call i32 @isatty(i32 noundef %1415) #10
  %.not1988 = icmp eq i32 %1416, 0
  br i1 %.not1988, label %1417, label %1418

1417:                                             ; preds = %1413, %1406
  br label %1418

1418:                                             ; preds = %1413, %1417
  %.str.66.sink2567 = phi ptr [ @.str.66, %1417 ], [ @.str.63, %1413 ]
  store i32 %1408, ptr %1407, align 4, !tbaa !5
  %1419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1420 = load i32, ptr @test_count, align 4, !tbaa !5
  %1421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call ptr @s2n_strerror(i32 noundef %1422, ptr noundef nonnull @.str.65) #10
  %1424 = load i32, ptr %1421, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror_debug(i32 noundef %1424, ptr noundef nonnull @.str.65) #10
  %1426 = load i32, ptr %1407, align 4, !tbaa !5
  %1427 = call ptr @strerror(i32 noundef %1426) #10
  %1428 = load i32, ptr %1407, align 4, !tbaa !5
  %1429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1419, ptr noundef nonnull %.str.66.sink2567, i32 noundef %1420, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.62, i32 noundef 296, ptr noundef %1423, ptr noundef %1425, ptr noundef %1427, i32 noundef %1428) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1430:                                             ; preds = %1401
  %1431 = load i32, ptr @test_count, align 4, !tbaa !5
  %1432 = add nsw i32 %1431, 1
  store i32 %1432, ptr @test_count, align 4, !tbaa !5
  %1433 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %957, i32 noundef 2) #10
  br i1 %1433, label %1434, label %1460

1434:                                             ; preds = %1430
  %1435 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %958, i32 noundef 2) #10
  br i1 %1435, label %1436, label %1460

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

1443:                                             ; preds = %1436
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = call i32 @fileno(ptr noundef %1444) #10
  %1446 = call i32 @isatty(i32 noundef %1445) #10
  %.not1992 = icmp eq i32 %1446, 0
  br i1 %.not1992, label %1447, label %1448

1447:                                             ; preds = %1443, %1436
  br label %1448

1448:                                             ; preds = %1443, %1447
  %.str.66.sink2578 = phi ptr [ @.str.66, %1447 ], [ @.str.63, %1443 ]
  store i32 %1438, ptr %1437, align 4, !tbaa !5
  %1449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1450 = load i32, ptr @test_count, align 4, !tbaa !5
  %1451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1452 = load i32, ptr %1451, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror(i32 noundef %1452, ptr noundef nonnull @.str.65) #10
  %1454 = load i32, ptr %1451, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror_debug(i32 noundef %1454, ptr noundef nonnull @.str.65) #10
  %1456 = load i32, ptr %1437, align 4, !tbaa !5
  %1457 = call ptr @strerror(i32 noundef %1456) #10
  %1458 = load i32, ptr %1437, align 4, !tbaa !5
  %1459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1449, ptr noundef nonnull %.str.66.sink2578, i32 noundef %1450, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.62, i32 noundef 297, ptr noundef %1453, ptr noundef %1455, ptr noundef %1457, i32 noundef %1458) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1460:                                             ; preds = %1430, %1434
  %1461 = load i32, ptr @test_count, align 4, !tbaa !5
  %1462 = add nsw i32 %1461, 1
  store i32 %1462, ptr @test_count, align 4, !tbaa !5
  %1463 = call i32 @s2n_connection_free_handshake(ptr noundef nonnull %957) #10
  %1464 = icmp eq i32 %1463, -1
  br i1 %1464, label %1465, label %1489

1465:                                             ; preds = %1460
  %1466 = tail call ptr @__errno_location() #11
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1469 = call i32 @s2n_print_stacktrace(ptr noundef %1468) #10
  %1470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1471 = trunc nuw i8 %1470 to i1
  br i1 %1471, label %1472, label %1476

1472:                                             ; preds = %1465
  %1473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1474 = call i32 @fileno(ptr noundef %1473) #10
  %1475 = call i32 @isatty(i32 noundef %1474) #10
  %.not1991 = icmp eq i32 %1475, 0
  br i1 %.not1991, label %1476, label %1477

1476:                                             ; preds = %1472, %1465
  br label %1477

1477:                                             ; preds = %1472, %1476
  %.str.66.sink2589 = phi ptr [ @.str.66, %1476 ], [ @.str.63, %1472 ]
  store i32 %1467, ptr %1466, align 4, !tbaa !5
  %1478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1479 = load i32, ptr @test_count, align 4, !tbaa !5
  %1480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1481 = load i32, ptr %1480, align 4, !tbaa !5
  %1482 = call ptr @s2n_strerror(i32 noundef %1481, ptr noundef nonnull @.str.65) #10
  %1483 = load i32, ptr %1480, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror_debug(i32 noundef %1483, ptr noundef nonnull @.str.65) #10
  %1485 = load i32, ptr %1466, align 4, !tbaa !5
  %1486 = call ptr @strerror(i32 noundef %1485) #10
  %1487 = load i32, ptr %1466, align 4, !tbaa !5
  %1488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1478, ptr noundef nonnull %.str.66.sink2589, i32 noundef %1479, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.62, i32 noundef 300, ptr noundef %1482, ptr noundef %1484, ptr noundef %1486, i32 noundef %1487) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1489:                                             ; preds = %1460
  %1490 = load i32, ptr @test_count, align 4, !tbaa !5
  %1491 = add nsw i32 %1490, 1
  store i32 %1491, ptr @test_count, align 4, !tbaa !5
  %1492 = call i32 @s2n_connection_free_handshake(ptr noundef nonnull %958) #10
  %1493 = icmp eq i32 %1492, -1
  br i1 %1493, label %1494, label %1518

1494:                                             ; preds = %1489
  %1495 = tail call ptr @__errno_location() #11
  %1496 = load i32, ptr %1495, 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 = %1494
  %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
  %.not1990 = icmp eq i32 %1504, 0
  br i1 %.not1990, label %1505, label %1506

1505:                                             ; preds = %1501, %1494
  br label %1506

1506:                                             ; preds = %1501, %1505
  %.str.66.sink2600 = phi ptr [ @.str.66, %1505 ], [ @.str.63, %1501 ]
  store i32 %1496, ptr %1495, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = load i32, ptr @test_count, align 4, !tbaa !5
  %1509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1510 = load i32, ptr %1509, align 4, !tbaa !5
  %1511 = call ptr @s2n_strerror(i32 noundef %1510, ptr noundef nonnull @.str.65) #10
  %1512 = load i32, ptr %1509, align 4, !tbaa !5
  %1513 = call ptr @s2n_strerror_debug(i32 noundef %1512, ptr noundef nonnull @.str.65) #10
  %1514 = load i32, ptr %1495, align 4, !tbaa !5
  %1515 = call ptr @strerror(i32 noundef %1514) #10
  %1516 = load i32, ptr %1495, align 4, !tbaa !5
  %1517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1507, ptr noundef nonnull %.str.66.sink2600, i32 noundef %1508, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.62, i32 noundef 301, ptr noundef %1511, ptr noundef %1513, ptr noundef %1515, i32 noundef %1516) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1518:                                             ; preds = %1489
  %1519 = load i32, ptr @test_count, align 4, !tbaa !5
  %1520 = add nsw i32 %1519, 1
  store i32 %1520, ptr @test_count, align 4, !tbaa !5
  %1521 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %958, ptr noundef nonnull %957, ptr noundef nonnull %8)
  %1522 = call zeroext i1 @s2n_result_is_ok(i32 %1521)
  br i1 %1522, label %1216, label %1523

1523:                                             ; preds = %1518
  %1524 = tail call ptr @__errno_location() #11
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  %1526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1527 = call i32 @s2n_print_stacktrace(ptr noundef %1526) #10
  %1528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1529 = trunc nuw i8 %1528 to i1
  br i1 %1529, label %1530, label %1534

1530:                                             ; preds = %1523
  %1531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1532 = call i32 @fileno(ptr noundef %1531) #10
  %1533 = call i32 @isatty(i32 noundef %1532) #10
  %.not1989 = icmp eq i32 %1533, 0
  br i1 %.not1989, label %1534, label %1535

1534:                                             ; preds = %1530, %1523
  br label %1535

1535:                                             ; preds = %1530, %1534
  %.str.66.sink2611 = phi ptr [ @.str.66, %1534 ], [ @.str.63, %1530 ]
  store i32 %1525, ptr %1524, align 4, !tbaa !5
  %1536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1537 = load i32, ptr @test_count, align 4, !tbaa !5
  %1538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1539 = load i32, ptr %1538, align 4, !tbaa !5
  %1540 = call ptr @s2n_strerror(i32 noundef %1539, ptr noundef nonnull @.str.65) #10
  %1541 = load i32, ptr %1538, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror_debug(i32 noundef %1541, ptr noundef nonnull @.str.65) #10
  %1543 = load i32, ptr %1524, align 4, !tbaa !5
  %1544 = call ptr @strerror(i32 noundef %1543) #10
  %1545 = load i32, ptr %1524, align 4, !tbaa !5
  %1546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1536, ptr noundef nonnull %.str.66.sink2611, i32 noundef %1537, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.62, i32 noundef 304, ptr noundef %1540, ptr noundef %1542, ptr noundef %1544, i32 noundef %1545) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1547:                                             ; preds = %1218
  %1548 = tail call ptr @__errno_location() #11
  %1549 = load i32, ptr %1548, align 4, !tbaa !5
  %1550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1551 = call i32 @s2n_print_stacktrace(ptr noundef %1550) #10
  %1552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1553 = trunc nuw i8 %1552 to i1
  br i1 %1553, label %1554, label %1558

1554:                                             ; preds = %1547
  %1555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1556 = call i32 @fileno(ptr noundef %1555) #10
  %1557 = call i32 @isatty(i32 noundef %1556) #10
  %.not1987 = icmp eq i32 %1557, 0
  br i1 %.not1987, label %1558, label %1559

1558:                                             ; preds = %1554, %1547
  br label %1559

1559:                                             ; preds = %1554, %1558
  %.str.66.sink2622 = phi ptr [ @.str.66, %1558 ], [ @.str.63, %1554 ]
  store i32 %1549, ptr %1548, align 4, !tbaa !5
  %1560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1561 = load i32, ptr @test_count, align 4, !tbaa !5
  %1562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = call ptr @s2n_strerror(i32 noundef %1563, ptr noundef nonnull @.str.65) #10
  %1565 = load i32, ptr %1562, align 4, !tbaa !5
  %1566 = call ptr @s2n_strerror_debug(i32 noundef %1565, ptr noundef nonnull @.str.65) #10
  %1567 = load i32, ptr %1548, align 4, !tbaa !5
  %1568 = call ptr @strerror(i32 noundef %1567) #10
  %1569 = load i32, ptr %1548, align 4, !tbaa !5
  %1570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1560, ptr noundef nonnull %.str.66.sink2622, i32 noundef %1561, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 307, ptr noundef %1564, ptr noundef %1566, ptr noundef %1568, i32 noundef %1569) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1571:                                             ; preds = %1218
  %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_connection_free(ptr noundef nonnull %958) #10
  %1575 = icmp eq i32 %1574, -1
  br i1 %1575, label %1576, label %1600

1576:                                             ; preds = %1571
  %1577 = tail call ptr @__errno_location() #11
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = call i32 @s2n_print_stacktrace(ptr noundef %1579) #10
  %1581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1582 = trunc nuw i8 %1581 to i1
  br i1 %1582, label %1583, label %1587

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

1587:                                             ; preds = %1583, %1576
  br label %1588

1588:                                             ; preds = %1583, %1587
  %.str.66.sink2633 = phi ptr [ @.str.66, %1587 ], [ @.str.63, %1583 ]
  store i32 %1578, ptr %1577, align 4, !tbaa !5
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = load i32, ptr @test_count, align 4, !tbaa !5
  %1591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1592 = load i32, ptr %1591, align 4, !tbaa !5
  %1593 = call ptr @s2n_strerror(i32 noundef %1592, ptr noundef nonnull @.str.65) #10
  %1594 = load i32, ptr %1591, align 4, !tbaa !5
  %1595 = call ptr @s2n_strerror_debug(i32 noundef %1594, ptr noundef nonnull @.str.65) #10
  %1596 = load i32, ptr %1577, align 4, !tbaa !5
  %1597 = call ptr @strerror(i32 noundef %1596) #10
  %1598 = load i32, ptr %1577, align 4, !tbaa !5
  %1599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1589, ptr noundef nonnull %.str.66.sink2633, i32 noundef %1590, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 308, ptr noundef %1593, ptr noundef %1595, ptr noundef %1597, i32 noundef %1598) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1600:                                             ; preds = %1571
  %1601 = load i32, ptr @test_count, align 4, !tbaa !5
  %1602 = add nsw i32 %1601, 1
  store i32 %1602, ptr @test_count, align 4, !tbaa !5
  %1603 = call i32 @s2n_connection_free(ptr noundef nonnull %957) #10
  %1604 = icmp eq i32 %1603, -1
  br i1 %1604, label %1605, label %1629

1605:                                             ; preds = %1600
  %1606 = tail call ptr @__errno_location() #11
  %1607 = load i32, ptr %1606, align 4, !tbaa !5
  %1608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1609 = call i32 @s2n_print_stacktrace(ptr noundef %1608) #10
  %1610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1611 = trunc nuw i8 %1610 to i1
  br i1 %1611, label %1612, label %1616

1612:                                             ; preds = %1605
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = call i32 @fileno(ptr noundef %1613) #10
  %1615 = call i32 @isatty(i32 noundef %1614) #10
  %.not1985 = icmp eq i32 %1615, 0
  br i1 %.not1985, label %1616, label %1617

1616:                                             ; preds = %1612, %1605
  br label %1617

1617:                                             ; preds = %1612, %1616
  %.str.66.sink2644 = phi ptr [ @.str.66, %1616 ], [ @.str.63, %1612 ]
  store i32 %1607, ptr %1606, align 4, !tbaa !5
  %1618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1619 = load i32, ptr @test_count, align 4, !tbaa !5
  %1620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1621 = load i32, ptr %1620, align 4, !tbaa !5
  %1622 = call ptr @s2n_strerror(i32 noundef %1621, ptr noundef nonnull @.str.65) #10
  %1623 = load i32, ptr %1620, align 4, !tbaa !5
  %1624 = call ptr @s2n_strerror_debug(i32 noundef %1623, ptr noundef nonnull @.str.65) #10
  %1625 = load i32, ptr %1606, align 4, !tbaa !5
  %1626 = call ptr @strerror(i32 noundef %1625) #10
  %1627 = load i32, ptr %1606, align 4, !tbaa !5
  %1628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1618, ptr noundef nonnull %.str.66.sink2644, i32 noundef %1619, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 309, ptr noundef %1622, ptr noundef %1624, ptr noundef %1626, i32 noundef %1627) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1629:                                             ; preds = %1600
  %1630 = load i32, ptr @test_count, align 4, !tbaa !5
  %1631 = add nsw i32 %1630, 1
  store i32 %1631, ptr @test_count, align 4, !tbaa !5
  %1632 = call i32 @s2n_io_pair_close(ptr noundef nonnull %9) #10
  %1633 = icmp eq i32 %1632, -1
  br i1 %1633, label %1634, label %1658

1634:                                             ; preds = %1629
  %1635 = tail call ptr @__errno_location() #11
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = call i32 @s2n_print_stacktrace(ptr noundef %1637) #10
  %1639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1640 = trunc nuw i8 %1639 to i1
  br i1 %1640, label %1641, label %1645

1641:                                             ; preds = %1634
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = call i32 @fileno(ptr noundef %1642) #10
  %1644 = call i32 @isatty(i32 noundef %1643) #10
  %.not1984 = icmp eq i32 %1644, 0
  br i1 %.not1984, label %1645, label %1646

1645:                                             ; preds = %1641, %1634
  br label %1646

1646:                                             ; preds = %1641, %1645
  %.str.66.sink2655 = phi ptr [ @.str.66, %1645 ], [ @.str.63, %1641 ]
  store i32 %1636, ptr %1635, align 4, !tbaa !5
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror(i32 noundef %1650, ptr noundef nonnull @.str.65) #10
  %1652 = load i32, ptr %1649, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror_debug(i32 noundef %1652, ptr noundef nonnull @.str.65) #10
  %1654 = load i32, ptr %1635, align 4, !tbaa !5
  %1655 = call ptr @strerror(i32 noundef %1654) #10
  %1656 = load i32, ptr %1635, align 4, !tbaa !5
  %1657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1647, ptr noundef nonnull %.str.66.sink2655, i32 noundef %1648, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 310, ptr noundef %1651, ptr noundef %1653, ptr noundef %1655, i32 noundef %1656) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1658:                                             ; preds = %1629
  %1659 = load i32, ptr @test_count, align 4, !tbaa !5
  %1660 = add nsw i32 %1659, 1
  store i32 %1660, ptr @test_count, align 4, !tbaa !5
  %1661 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %7) #10
  %1662 = icmp eq i32 %1661, -1
  br i1 %1662, label %1663, label %1687

1663:                                             ; preds = %1658
  %1664 = tail call ptr @__errno_location() #11
  %1665 = load i32, ptr %1664, align 4, !tbaa !5
  %1666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1667 = call i32 @s2n_print_stacktrace(ptr noundef %1666) #10
  %1668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1669 = trunc nuw i8 %1668 to i1
  br i1 %1669, label %1670, label %1674

1670:                                             ; preds = %1663
  %1671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1672 = call i32 @fileno(ptr noundef %1671) #10
  %1673 = call i32 @isatty(i32 noundef %1672) #10
  %.not1983 = icmp eq i32 %1673, 0
  br i1 %.not1983, label %1674, label %1675

1674:                                             ; preds = %1670, %1663
  br label %1675

1675:                                             ; preds = %1670, %1674
  %.str.66.sink2666 = phi ptr [ @.str.66, %1674 ], [ @.str.63, %1670 ]
  store i32 %1665, ptr %1664, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = load i32, ptr @test_count, align 4, !tbaa !5
  %1678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1679 = load i32, ptr %1678, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror(i32 noundef %1679, ptr noundef nonnull @.str.65) #10
  %1681 = load i32, ptr %1678, align 4, !tbaa !5
  %1682 = call ptr @s2n_strerror_debug(i32 noundef %1681, ptr noundef nonnull @.str.65) #10
  %1683 = load i32, ptr %1664, align 4, !tbaa !5
  %1684 = call ptr @strerror(i32 noundef %1683) #10
  %1685 = load i32, ptr %1664, align 4, !tbaa !5
  %1686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1676, ptr noundef nonnull %.str.66.sink2666, i32 noundef %1677, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.62, i32 noundef 311, ptr noundef %1680, ptr noundef %1682, ptr noundef %1684, i32 noundef %1685) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1687:                                             ; preds = %1658
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #10
  %1688 = add nuw nsw i64 %.015102055, 1
  %exitcond2065.not = icmp eq i64 %1688, 8
  br i1 %exitcond2065.not, label %949, label %954, !llvm.loop !25

1689:                                             ; preds = %949
  %1690 = tail call ptr @__errno_location() #11
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1693 = call i32 @s2n_print_stacktrace(ptr noundef %1692) #10
  %1694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1695 = trunc nuw i8 %1694 to i1
  br i1 %1695, label %1696, label %1700

1696:                                             ; preds = %1689
  %1697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1698 = call i32 @fileno(ptr noundef %1697) #10
  %1699 = call i32 @isatty(i32 noundef %1698) #10
  %.not1980 = icmp eq i32 %1699, 0
  br i1 %.not1980, label %1700, label %1701

1700:                                             ; preds = %1696, %1689
  br label %1701

1701:                                             ; preds = %1696, %1700
  %.str.66.sink2677 = phi ptr [ @.str.66, %1700 ], [ @.str.63, %1696 ]
  store i32 %1691, ptr %1690, align 4, !tbaa !5
  %1702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1703 = load i32, ptr @test_count, align 4, !tbaa !5
  %1704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call ptr @s2n_strerror(i32 noundef %1705, ptr noundef nonnull @.str.65) #10
  %1707 = load i32, ptr %1704, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror_debug(i32 noundef %1707, ptr noundef nonnull @.str.65) #10
  %1709 = load i32, ptr %1690, align 4, !tbaa !5
  %1710 = call ptr @strerror(i32 noundef %1709) #10
  %1711 = load i32, ptr %1690, align 4, !tbaa !5
  %1712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1702, ptr noundef nonnull %.str.66.sink2677, i32 noundef %1703, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 318, ptr noundef %1706, ptr noundef %1708, ptr noundef %1710, i32 noundef %1711) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1713:                                             ; preds = %949
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #10
  %1714 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %1714, ptr %11, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = add nsw i32 %1715, 1
  store i32 %1716, ptr @test_count, align 4, !tbaa !5
  %1717 = icmp eq ptr %1714, null
  br i1 %1717, label %1718, label %1742

1718:                                             ; preds = %1713
  %1719 = tail call ptr @__errno_location() #11
  %1720 = load i32, ptr %1719, align 4, !tbaa !5
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = call i32 @s2n_print_stacktrace(ptr noundef %1721) #10
  %1723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1724 = trunc nuw i8 %1723 to i1
  br i1 %1724, label %1725, label %1729

1725:                                             ; preds = %1718
  %1726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1727 = call i32 @fileno(ptr noundef %1726) #10
  %1728 = call i32 @isatty(i32 noundef %1727) #10
  %.not1979 = icmp eq i32 %1728, 0
  br i1 %.not1979, label %1729, label %1730

1729:                                             ; preds = %1725, %1718
  br label %1730

1730:                                             ; preds = %1725, %1729
  %.str.66.sink2688 = phi ptr [ @.str.66, %1729 ], [ @.str.63, %1725 ]
  store i32 %1720, ptr %1719, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror(i32 noundef %1734, ptr noundef nonnull @.str.65) #10
  %1736 = load i32, ptr %1733, align 4, !tbaa !5
  %1737 = call ptr @s2n_strerror_debug(i32 noundef %1736, ptr noundef nonnull @.str.65) #10
  %1738 = load i32, ptr %1719, align 4, !tbaa !5
  %1739 = call ptr @strerror(i32 noundef %1738) #10
  %1740 = load i32, ptr %1719, align 4, !tbaa !5
  %1741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1731, ptr noundef nonnull %.str.66.sink2688, i32 noundef %1732, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 321, ptr noundef %1735, ptr noundef %1737, ptr noundef %1739, i32 noundef %1740) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1742:                                             ; preds = %1713
  %1743 = add nsw i32 %1715, 2
  store i32 %1743, ptr @test_count, align 4, !tbaa !5
  %1744 = load ptr, ptr %10, align 8, !tbaa !9
  %1745 = call i32 @s2n_connection_set_config(ptr noundef %1744, ptr noundef nonnull %804) #10
  %1746 = icmp eq i32 %1745, -1
  br i1 %1746, label %1747, label %1771

1747:                                             ; preds = %1742
  %1748 = tail call ptr @__errno_location() #11
  %1749 = load i32, ptr %1748, align 4, !tbaa !5
  %1750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1751 = call i32 @s2n_print_stacktrace(ptr noundef %1750) #10
  %1752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1753 = trunc nuw i8 %1752 to i1
  br i1 %1753, label %1754, label %1758

1754:                                             ; preds = %1747
  %1755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1756 = call i32 @fileno(ptr noundef %1755) #10
  %1757 = call i32 @isatty(i32 noundef %1756) #10
  %.not1978 = icmp eq i32 %1757, 0
  br i1 %.not1978, label %1758, label %1759

1758:                                             ; preds = %1754, %1747
  br label %1759

1759:                                             ; preds = %1754, %1758
  %.str.66.sink2699 = phi ptr [ @.str.66, %1758 ], [ @.str.63, %1754 ]
  store i32 %1749, ptr %1748, align 4, !tbaa !5
  %1760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1761 = load i32, ptr @test_count, align 4, !tbaa !5
  %1762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1763 = load i32, ptr %1762, align 4, !tbaa !5
  %1764 = call ptr @s2n_strerror(i32 noundef %1763, ptr noundef nonnull @.str.65) #10
  %1765 = load i32, ptr %1762, align 4, !tbaa !5
  %1766 = call ptr @s2n_strerror_debug(i32 noundef %1765, ptr noundef nonnull @.str.65) #10
  %1767 = load i32, ptr %1748, align 4, !tbaa !5
  %1768 = call ptr @strerror(i32 noundef %1767) #10
  %1769 = load i32, ptr %1748, align 4, !tbaa !5
  %1770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1760, ptr noundef nonnull %.str.66.sink2699, i32 noundef %1761, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.62, i32 noundef 323, ptr noundef %1764, ptr noundef %1766, ptr noundef %1768, i32 noundef %1769) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1771:                                             ; preds = %1742
  %1772 = load i32, ptr @test_count, align 4, !tbaa !5
  %1773 = add nsw i32 %1772, 1
  store i32 %1773, ptr @test_count, align 4, !tbaa !5
  %1774 = load ptr, ptr %11, align 8, !tbaa !9
  %1775 = call i32 @s2n_connection_set_config(ptr noundef %1774, ptr noundef nonnull %428) #10
  %1776 = icmp eq i32 %1775, -1
  br i1 %1776, label %1777, label %1801

1777:                                             ; preds = %1771
  %1778 = tail call ptr @__errno_location() #11
  %1779 = load i32, ptr %1778, align 4, !tbaa !5
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @s2n_print_stacktrace(ptr noundef %1780) #10
  %1782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1783 = trunc nuw i8 %1782 to i1
  br i1 %1783, label %1784, label %1788

1784:                                             ; preds = %1777
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = call i32 @fileno(ptr noundef %1785) #10
  %1787 = call i32 @isatty(i32 noundef %1786) #10
  %.not1977 = icmp eq i32 %1787, 0
  br i1 %.not1977, label %1788, label %1789

1788:                                             ; preds = %1784, %1777
  br label %1789

1789:                                             ; preds = %1784, %1788
  %.str.66.sink2710 = phi ptr [ @.str.66, %1788 ], [ @.str.63, %1784 ]
  store i32 %1779, ptr %1778, align 4, !tbaa !5
  %1790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1791 = load i32, ptr @test_count, align 4, !tbaa !5
  %1792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call ptr @s2n_strerror(i32 noundef %1793, ptr noundef nonnull @.str.65) #10
  %1795 = load i32, ptr %1792, align 4, !tbaa !5
  %1796 = call ptr @s2n_strerror_debug(i32 noundef %1795, ptr noundef nonnull @.str.65) #10
  %1797 = load i32, ptr %1778, align 4, !tbaa !5
  %1798 = call ptr @strerror(i32 noundef %1797) #10
  %1799 = load i32, ptr %1778, align 4, !tbaa !5
  %1800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1790, ptr noundef nonnull %.str.66.sink2710, i32 noundef %1791, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.62, i32 noundef 324, ptr noundef %1794, ptr noundef %1796, ptr noundef %1798, i32 noundef %1799) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1801:                                             ; preds = %1771
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #10
  store i64 0, ptr %13, align 8
  %1802 = load i32, ptr @test_count, align 4, !tbaa !5
  %1803 = add nsw i32 %1802, 1
  store i32 %1803, ptr @test_count, align 4, !tbaa !5
  %1804 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %13) #10
  %1805 = icmp eq i32 %1804, -1
  br i1 %1805, label %1806, label %1830

1806:                                             ; preds = %1801
  %1807 = tail call ptr @__errno_location() #11
  %1808 = load i32, ptr %1807, align 4, !tbaa !5
  %1809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1810 = call i32 @s2n_print_stacktrace(ptr noundef %1809) #10
  %1811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1812 = trunc nuw i8 %1811 to i1
  br i1 %1812, label %1813, label %1817

1813:                                             ; preds = %1806
  %1814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1815 = call i32 @fileno(ptr noundef %1814) #10
  %1816 = call i32 @isatty(i32 noundef %1815) #10
  %.not1976 = icmp eq i32 %1816, 0
  br i1 %.not1976, label %1817, label %1818

1817:                                             ; preds = %1813, %1806
  br label %1818

1818:                                             ; preds = %1813, %1817
  %.str.66.sink2721 = phi ptr [ @.str.66, %1817 ], [ @.str.63, %1813 ]
  store i32 %1808, ptr %1807, align 4, !tbaa !5
  %1819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1822 = load i32, ptr %1821, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror(i32 noundef %1822, ptr noundef nonnull @.str.65) #10
  %1824 = load i32, ptr %1821, align 4, !tbaa !5
  %1825 = call ptr @s2n_strerror_debug(i32 noundef %1824, ptr noundef nonnull @.str.65) #10
  %1826 = load i32, ptr %1807, align 4, !tbaa !5
  %1827 = call ptr @strerror(i32 noundef %1826) #10
  %1828 = load i32, ptr %1807, align 4, !tbaa !5
  %1829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1819, ptr noundef nonnull %.str.66.sink2721, i32 noundef %1820, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 331, ptr noundef %1823, ptr noundef %1825, ptr noundef %1827, i32 noundef %1828) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1830:                                             ; preds = %1801
  %1831 = load i32, ptr @test_count, align 4, !tbaa !5
  %1832 = add nsw i32 %1831, 1
  store i32 %1832, ptr @test_count, align 4, !tbaa !5
  %1833 = load ptr, ptr %10, align 8, !tbaa !9
  %1834 = load ptr, ptr %11, align 8, !tbaa !9
  %1835 = call i32 @s2n_connections_set_io_pair(ptr noundef %1833, ptr noundef %1834, ptr noundef nonnull %13) #10
  %1836 = icmp eq i32 %1835, -1
  br i1 %1836, label %1837, label %1861

1837:                                             ; preds = %1830
  %1838 = tail call ptr @__errno_location() #11
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = call i32 @s2n_print_stacktrace(ptr noundef %1840) #10
  %1842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1843 = trunc nuw i8 %1842 to i1
  br i1 %1843, label %1844, label %1848

1844:                                             ; preds = %1837
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1846 = call i32 @fileno(ptr noundef %1845) #10
  %1847 = call i32 @isatty(i32 noundef %1846) #10
  %.not1975 = icmp eq i32 %1847, 0
  br i1 %.not1975, label %1848, label %1849

1848:                                             ; preds = %1844, %1837
  br label %1849

1849:                                             ; preds = %1844, %1848
  %.str.66.sink2732 = phi ptr [ @.str.66, %1848 ], [ @.str.63, %1844 ]
  store i32 %1839, ptr %1838, align 4, !tbaa !5
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = load i32, ptr @test_count, align 4, !tbaa !5
  %1852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call ptr @s2n_strerror(i32 noundef %1853, ptr noundef nonnull @.str.65) #10
  %1855 = load i32, ptr %1852, align 4, !tbaa !5
  %1856 = call ptr @s2n_strerror_debug(i32 noundef %1855, ptr noundef nonnull @.str.65) #10
  %1857 = load i32, ptr %1838, align 4, !tbaa !5
  %1858 = call ptr @strerror(i32 noundef %1857) #10
  %1859 = load i32, ptr %1838, align 4, !tbaa !5
  %1860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1850, ptr noundef nonnull %.str.66.sink2732, i32 noundef %1851, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 332, ptr noundef %1854, ptr noundef %1856, ptr noundef %1858, i32 noundef %1859) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1861:                                             ; preds = %1830
  %1862 = load i32, ptr @test_count, align 4, !tbaa !5
  %1863 = add nsw i32 %1862, 1
  store i32 %1863, ptr @test_count, align 4, !tbaa !5
  %1864 = load ptr, ptr %11, align 8, !tbaa !9
  %1865 = load ptr, ptr %10, align 8, !tbaa !9
  %1866 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1864, ptr noundef %1865) #10
  %1867 = icmp eq i32 %1866, -1
  br i1 %1867, label %1868, label %1892

1868:                                             ; preds = %1861
  %1869 = tail call ptr @__errno_location() #11
  %1870 = load i32, ptr %1869, align 4, !tbaa !5
  %1871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1872 = call i32 @s2n_print_stacktrace(ptr noundef %1871) #10
  %1873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1874 = trunc nuw i8 %1873 to i1
  br i1 %1874, label %1875, label %1879

1875:                                             ; preds = %1868
  %1876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1877 = call i32 @fileno(ptr noundef %1876) #10
  %1878 = call i32 @isatty(i32 noundef %1877) #10
  %.not1974 = icmp eq i32 %1878, 0
  br i1 %.not1974, label %1879, label %1880

1879:                                             ; preds = %1875, %1868
  br label %1880

1880:                                             ; preds = %1875, %1879
  %.str.66.sink2743 = phi ptr [ @.str.66, %1879 ], [ @.str.63, %1875 ]
  store i32 %1870, ptr %1869, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = load i32, ptr @test_count, align 4, !tbaa !5
  %1883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1884 = load i32, ptr %1883, align 4, !tbaa !5
  %1885 = call ptr @s2n_strerror(i32 noundef %1884, ptr noundef nonnull @.str.65) #10
  %1886 = load i32, ptr %1883, align 4, !tbaa !5
  %1887 = call ptr @s2n_strerror_debug(i32 noundef %1886, ptr noundef nonnull @.str.65) #10
  %1888 = load i32, ptr %1869, align 4, !tbaa !5
  %1889 = call ptr @strerror(i32 noundef %1888) #10
  %1890 = load i32, ptr %1869, align 4, !tbaa !5
  %1891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1881, ptr noundef nonnull %.str.66.sink2743, i32 noundef %1882, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 335, ptr noundef %1885, ptr noundef %1887, ptr noundef %1889, i32 noundef %1890) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1892:                                             ; preds = %1861
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = add nsw i32 %1893, 1
  store i32 %1894, ptr @test_count, align 4, !tbaa !5
  %1895 = load ptr, ptr %10, align 8, !tbaa !9
  %1896 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %1895, i32 noundef 2) #10
  br i1 %1896, label %1897, label %1900

1897:                                             ; preds = %1892
  %1898 = load ptr, ptr %11, align 8, !tbaa !9
  %1899 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %1898, i32 noundef 2) #10
  br i1 %1899, label %1924, label %1900

1900:                                             ; preds = %1897, %1892
  %1901 = tail call ptr @__errno_location() #11
  %1902 = load i32, ptr %1901, align 4, !tbaa !5
  %1903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1904 = call i32 @s2n_print_stacktrace(ptr noundef %1903) #10
  %1905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1906 = trunc nuw i8 %1905 to i1
  br i1 %1906, label %1907, label %1911

1907:                                             ; preds = %1900
  %1908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1909 = call i32 @fileno(ptr noundef %1908) #10
  %1910 = call i32 @isatty(i32 noundef %1909) #10
  %.not1555 = icmp eq i32 %1910, 0
  br i1 %.not1555, label %1911, label %1912

1911:                                             ; preds = %1907, %1900
  br label %1912

1912:                                             ; preds = %1907, %1911
  %.str.66.sink2754 = phi ptr [ @.str.66, %1911 ], [ @.str.63, %1907 ]
  store i32 %1902, ptr %1901, align 4, !tbaa !5
  %1913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1914 = load i32, ptr @test_count, align 4, !tbaa !5
  %1915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call ptr @s2n_strerror(i32 noundef %1916, ptr noundef nonnull @.str.65) #10
  %1918 = load i32, ptr %1915, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror_debug(i32 noundef %1918, ptr noundef nonnull @.str.65) #10
  %1920 = load i32, ptr %1901, align 4, !tbaa !5
  %1921 = call ptr @strerror(i32 noundef %1920) #10
  %1922 = load i32, ptr %1901, align 4, !tbaa !5
  %1923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1913, ptr noundef nonnull %.str.66.sink2754, i32 noundef %1914, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 336, ptr noundef %1917, ptr noundef %1919, ptr noundef %1921, i32 noundef %1922) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1924:                                             ; preds = %1897
  %1925 = load i32, ptr @test_count, align 4, !tbaa !5
  %1926 = add nsw i32 %1925, 1
  store i32 %1926, ptr @test_count, align 4, !tbaa !5
  %1927 = load ptr, ptr %11, align 8, !tbaa !9
  %1928 = load ptr, ptr %10, align 8, !tbaa !9
  %1929 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %1927, ptr noundef %1928) #10
  %1930 = icmp eq i32 %1929, -1
  br i1 %1930, label %1931, label %1955

1931:                                             ; preds = %1924
  %1932 = tail call ptr @__errno_location() #11
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1935 = call i32 @s2n_print_stacktrace(ptr noundef %1934) #10
  %1936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1937 = trunc nuw i8 %1936 to i1
  br i1 %1937, label %1938, label %1942

1938:                                             ; preds = %1931
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @fileno(ptr noundef %1939) #10
  %1941 = call i32 @isatty(i32 noundef %1940) #10
  %.not1973 = icmp eq i32 %1941, 0
  br i1 %.not1973, label %1942, label %1943

1942:                                             ; preds = %1938, %1931
  br label %1943

1943:                                             ; preds = %1938, %1942
  %.str.66.sink2765 = phi ptr [ @.str.66, %1942 ], [ @.str.63, %1938 ]
  store i32 %1933, ptr %1932, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = load i32, ptr @test_count, align 4, !tbaa !5
  %1946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror(i32 noundef %1947, ptr noundef nonnull @.str.65) #10
  %1949 = load i32, ptr %1946, align 4, !tbaa !5
  %1950 = call ptr @s2n_strerror_debug(i32 noundef %1949, ptr noundef nonnull @.str.65) #10
  %1951 = load i32, ptr %1932, align 4, !tbaa !5
  %1952 = call ptr @strerror(i32 noundef %1951) #10
  %1953 = load i32, ptr %1932, align 4, !tbaa !5
  %1954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1944, ptr noundef nonnull %.str.66.sink2765, i32 noundef %1945, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 337, ptr noundef %1948, ptr noundef %1950, ptr noundef %1952, i32 noundef %1953) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1955:                                             ; preds = %1924
  %1956 = load ptr, ptr %10, align 8, !tbaa !9
  %1957 = call i32 @s2n_connection_get_session_length(ptr noundef %1956)
  %1958 = load i32, ptr @test_count, align 4, !tbaa !5
  %1959 = add nsw i32 %1958, 1
  store i32 %1959, ptr @test_count, align 4, !tbaa !5
  %1960 = call i32 @s2n_alloc(ptr noundef nonnull %12, i32 noundef %1957) #10
  %1961 = icmp eq i32 %1960, -1
  br i1 %1961, label %1962, label %1986

1962:                                             ; preds = %1955
  %1963 = tail call ptr @__errno_location() #11
  %1964 = load i32, ptr %1963, align 4, !tbaa !5
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = call i32 @s2n_print_stacktrace(ptr noundef %1965) #10
  %1967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1968 = trunc nuw i8 %1967 to i1
  br i1 %1968, label %1969, label %1973

1969:                                             ; preds = %1962
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = call i32 @fileno(ptr noundef %1970) #10
  %1972 = call i32 @isatty(i32 noundef %1971) #10
  %.not1972 = icmp eq i32 %1972, 0
  br i1 %.not1972, label %1973, label %1974

1973:                                             ; preds = %1969, %1962
  br label %1974

1974:                                             ; preds = %1969, %1973
  %.str.66.sink2776 = phi ptr [ @.str.66, %1973 ], [ @.str.63, %1969 ]
  store i32 %1964, ptr %1963, align 4, !tbaa !5
  %1975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1976 = load i32, ptr @test_count, align 4, !tbaa !5
  %1977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1978 = load i32, ptr %1977, align 4, !tbaa !5
  %1979 = call ptr @s2n_strerror(i32 noundef %1978, ptr noundef nonnull @.str.65) #10
  %1980 = load i32, ptr %1977, align 4, !tbaa !5
  %1981 = call ptr @s2n_strerror_debug(i32 noundef %1980, ptr noundef nonnull @.str.65) #10
  %1982 = load i32, ptr %1963, align 4, !tbaa !5
  %1983 = call ptr @strerror(i32 noundef %1982) #10
  %1984 = load i32, ptr %1963, align 4, !tbaa !5
  %1985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1975, ptr noundef nonnull %.str.66.sink2776, i32 noundef %1976, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.62, i32 noundef 341, ptr noundef %1979, ptr noundef %1981, ptr noundef %1983, i32 noundef %1984) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1986:                                             ; preds = %1955
  %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 = load ptr, ptr %10, align 8, !tbaa !9
  %1990 = load ptr, ptr %12, align 8, !tbaa !26
  %1991 = getelementptr inbounds i8, ptr %12, i64 8
  %1992 = load i32, ptr %1991, align 8, !tbaa !27
  %1993 = zext i32 %1992 to i64
  %1994 = call i32 @s2n_connection_get_session(ptr noundef %1989, ptr noundef %1990, i64 noundef %1993)
  %1995 = icmp eq i32 %1994, -1
  br i1 %1995, label %1996, label %2020

1996:                                             ; preds = %1986
  %1997 = tail call ptr @__errno_location() #11
  %1998 = load i32, ptr %1997, align 4, !tbaa !5
  %1999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2000 = call i32 @s2n_print_stacktrace(ptr noundef %1999) #10
  %2001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2002 = trunc nuw i8 %2001 to i1
  br i1 %2002, label %2003, label %2007

2003:                                             ; preds = %1996
  %2004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2005 = call i32 @fileno(ptr noundef %2004) #10
  %2006 = call i32 @isatty(i32 noundef %2005) #10
  %.not1971 = icmp eq i32 %2006, 0
  br i1 %.not1971, label %2007, label %2008

2007:                                             ; preds = %2003, %1996
  br label %2008

2008:                                             ; preds = %2003, %2007
  %.str.66.sink2787 = phi ptr [ @.str.66, %2007 ], [ @.str.63, %2003 ]
  store i32 %1998, ptr %1997, align 4, !tbaa !5
  %2009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call ptr @s2n_strerror(i32 noundef %2012, ptr noundef nonnull @.str.65) #10
  %2014 = load i32, ptr %2011, align 4, !tbaa !5
  %2015 = call ptr @s2n_strerror_debug(i32 noundef %2014, ptr noundef nonnull @.str.65) #10
  %2016 = load i32, ptr %1997, align 4, !tbaa !5
  %2017 = call ptr @strerror(i32 noundef %2016) #10
  %2018 = load i32, ptr %1997, align 4, !tbaa !5
  %2019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2009, ptr noundef nonnull %.str.66.sink2787, i32 noundef %2010, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.62, i32 noundef 342, ptr noundef %2013, ptr noundef %2015, ptr noundef %2017, i32 noundef %2018) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2020:                                             ; preds = %1986
  %2021 = call i32 @s2n_io_pair_close(ptr noundef nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #10
  %2022 = load i32, ptr @test_count, align 4, !tbaa !5
  %2023 = add nsw i32 %2022, 1
  store i32 %2023, ptr @test_count, align 4, !tbaa !5
  %2024 = load ptr, ptr %10, align 8, !tbaa !9
  %2025 = call i32 @s2n_connection_wipe(ptr noundef %2024) #10
  %2026 = icmp eq i32 %2025, -1
  br i1 %2026, label %2027, label %2051

2027:                                             ; preds = %2020
  %2028 = tail call ptr @__errno_location() #11
  %2029 = load i32, ptr %2028, align 4, !tbaa !5
  %2030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2031 = call i32 @s2n_print_stacktrace(ptr noundef %2030) #10
  %2032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2033 = trunc nuw i8 %2032 to i1
  br i1 %2033, label %2034, label %2038

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

2038:                                             ; preds = %2034, %2027
  br label %2039

2039:                                             ; preds = %2034, %2038
  %.str.66.sink2798 = phi ptr [ @.str.66, %2038 ], [ @.str.63, %2034 ]
  store i32 %2029, ptr %2028, align 4, !tbaa !5
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = load i32, ptr @test_count, align 4, !tbaa !5
  %2042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2043 = load i32, ptr %2042, align 4, !tbaa !5
  %2044 = call ptr @s2n_strerror(i32 noundef %2043, ptr noundef nonnull @.str.65) #10
  %2045 = load i32, ptr %2042, align 4, !tbaa !5
  %2046 = call ptr @s2n_strerror_debug(i32 noundef %2045, ptr noundef nonnull @.str.65) #10
  %2047 = load i32, ptr %2028, align 4, !tbaa !5
  %2048 = call ptr @strerror(i32 noundef %2047) #10
  %2049 = load i32, ptr %2028, align 4, !tbaa !5
  %2050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2040, ptr noundef nonnull %.str.66.sink2798, i32 noundef %2041, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 345, ptr noundef %2044, ptr noundef %2046, ptr noundef %2048, i32 noundef %2049) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2051:                                             ; preds = %2020
  %2052 = load i32, ptr @test_count, align 4, !tbaa !5
  %2053 = add nsw i32 %2052, 1
  store i32 %2053, ptr @test_count, align 4, !tbaa !5
  %2054 = load ptr, ptr %11, align 8, !tbaa !9
  %2055 = call i32 @s2n_connection_wipe(ptr noundef %2054) #10
  %2056 = icmp eq i32 %2055, -1
  br i1 %2056, label %2057, label %2081

2057:                                             ; preds = %2051
  %2058 = tail call ptr @__errno_location() #11
  %2059 = load i32, ptr %2058, align 4, !tbaa !5
  %2060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2061 = call i32 @s2n_print_stacktrace(ptr noundef %2060) #10
  %2062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2063 = trunc nuw i8 %2062 to i1
  br i1 %2063, label %2064, label %2068

2064:                                             ; preds = %2057
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = call i32 @fileno(ptr noundef %2065) #10
  %2067 = call i32 @isatty(i32 noundef %2066) #10
  %.not1969 = icmp eq i32 %2067, 0
  br i1 %.not1969, label %2068, label %2069

2068:                                             ; preds = %2064, %2057
  br label %2069

2069:                                             ; preds = %2064, %2068
  %.str.66.sink2809 = phi ptr [ @.str.66, %2068 ], [ @.str.63, %2064 ]
  store i32 %2059, ptr %2058, align 4, !tbaa !5
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = load i32, ptr @test_count, align 4, !tbaa !5
  %2072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2073 = load i32, ptr %2072, align 4, !tbaa !5
  %2074 = call ptr @s2n_strerror(i32 noundef %2073, ptr noundef nonnull @.str.65) #10
  %2075 = load i32, ptr %2072, align 4, !tbaa !5
  %2076 = call ptr @s2n_strerror_debug(i32 noundef %2075, ptr noundef nonnull @.str.65) #10
  %2077 = load i32, ptr %2058, align 4, !tbaa !5
  %2078 = call ptr @strerror(i32 noundef %2077) #10
  %2079 = load i32, ptr %2058, align 4, !tbaa !5
  %2080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2070, ptr noundef nonnull %.str.66.sink2809, i32 noundef %2071, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 346, ptr noundef %2074, ptr noundef %2076, ptr noundef %2078, i32 noundef %2079) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2081:                                             ; preds = %2051
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #10
  store i64 0, ptr %14, align 8
  %2082 = load i32, ptr @test_count, align 4, !tbaa !5
  %2083 = add nsw i32 %2082, 1
  store i32 %2083, ptr @test_count, align 4, !tbaa !5
  %2084 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %14) #10
  %2085 = icmp eq i32 %2084, -1
  br i1 %2085, label %2086, label %2110

2086:                                             ; preds = %2081
  %2087 = tail call ptr @__errno_location() #11
  %2088 = load i32, ptr %2087, align 4, !tbaa !5
  %2089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2090 = call i32 @s2n_print_stacktrace(ptr noundef %2089) #10
  %2091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2092 = trunc nuw i8 %2091 to i1
  br i1 %2092, label %2093, label %2097

2093:                                             ; preds = %2086
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2095 = call i32 @fileno(ptr noundef %2094) #10
  %2096 = call i32 @isatty(i32 noundef %2095) #10
  %.not1968 = icmp eq i32 %2096, 0
  br i1 %.not1968, label %2097, label %2098

2097:                                             ; preds = %2093, %2086
  br label %2098

2098:                                             ; preds = %2093, %2097
  %.str.66.sink2820 = phi ptr [ @.str.66, %2097 ], [ @.str.63, %2093 ]
  store i32 %2088, ptr %2087, align 4, !tbaa !5
  %2099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2100 = load i32, ptr @test_count, align 4, !tbaa !5
  %2101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2102 = load i32, ptr %2101, align 4, !tbaa !5
  %2103 = call ptr @s2n_strerror(i32 noundef %2102, ptr noundef nonnull @.str.65) #10
  %2104 = load i32, ptr %2101, align 4, !tbaa !5
  %2105 = call ptr @s2n_strerror_debug(i32 noundef %2104, ptr noundef nonnull @.str.65) #10
  %2106 = load i32, ptr %2087, align 4, !tbaa !5
  %2107 = call ptr @strerror(i32 noundef %2106) #10
  %2108 = load i32, ptr %2087, align 4, !tbaa !5
  %2109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2099, ptr noundef nonnull %.str.66.sink2820, i32 noundef %2100, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 352, ptr noundef %2103, ptr noundef %2105, ptr noundef %2107, i32 noundef %2108) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2110:                                             ; preds = %2081
  %2111 = load i32, ptr @test_count, align 4, !tbaa !5
  %2112 = add nsw i32 %2111, 1
  store i32 %2112, ptr @test_count, align 4, !tbaa !5
  %2113 = load ptr, ptr %10, align 8, !tbaa !9
  %2114 = load ptr, ptr %11, align 8, !tbaa !9
  %2115 = call i32 @s2n_connections_set_io_pair(ptr noundef %2113, ptr noundef %2114, ptr noundef nonnull %14) #10
  %2116 = icmp eq i32 %2115, -1
  br i1 %2116, label %2117, label %2141

2117:                                             ; preds = %2110
  %2118 = tail call ptr @__errno_location() #11
  %2119 = load i32, ptr %2118, align 4, !tbaa !5
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = call i32 @s2n_print_stacktrace(ptr noundef %2120) #10
  %2122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2123 = trunc nuw i8 %2122 to i1
  br i1 %2123, label %2124, label %2128

2124:                                             ; preds = %2117
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = call i32 @fileno(ptr noundef %2125) #10
  %2127 = call i32 @isatty(i32 noundef %2126) #10
  %.not1967 = icmp eq i32 %2127, 0
  br i1 %.not1967, label %2128, label %2129

2128:                                             ; preds = %2124, %2117
  br label %2129

2129:                                             ; preds = %2124, %2128
  %.str.66.sink2831 = phi ptr [ @.str.66, %2128 ], [ @.str.63, %2124 ]
  store i32 %2119, ptr %2118, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = load i32, ptr @test_count, align 4, !tbaa !5
  %2132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror(i32 noundef %2133, ptr noundef nonnull @.str.65) #10
  %2135 = load i32, ptr %2132, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror_debug(i32 noundef %2135, ptr noundef nonnull @.str.65) #10
  %2137 = load i32, ptr %2118, align 4, !tbaa !5
  %2138 = call ptr @strerror(i32 noundef %2137) #10
  %2139 = load i32, ptr %2118, align 4, !tbaa !5
  %2140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2130, ptr noundef nonnull %.str.66.sink2831, i32 noundef %2131, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 353, ptr noundef %2134, ptr noundef %2136, ptr noundef %2138, i32 noundef %2139) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2141:                                             ; preds = %2110
  %2142 = load i32, ptr @test_count, align 4, !tbaa !5
  %2143 = add nsw i32 %2142, 1
  store i32 %2143, ptr @test_count, align 4, !tbaa !5
  %2144 = load ptr, ptr %10, align 8, !tbaa !9
  %2145 = load ptr, ptr %12, align 8, !tbaa !26
  %2146 = load i32, ptr %1991, align 8, !tbaa !27
  %2147 = zext i32 %2146 to i64
  %2148 = call i32 @s2n_connection_set_session(ptr noundef %2144, ptr noundef %2145, i64 noundef %2147)
  %2149 = icmp eq i32 %2148, -1
  br i1 %2149, label %2150, label %2174

2150:                                             ; preds = %2141
  %2151 = tail call ptr @__errno_location() #11
  %2152 = load i32, ptr %2151, align 4, !tbaa !5
  %2153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2154 = call i32 @s2n_print_stacktrace(ptr noundef %2153) #10
  %2155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2156 = trunc nuw i8 %2155 to i1
  br i1 %2156, label %2157, label %2161

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

2161:                                             ; preds = %2157, %2150
  br label %2162

2162:                                             ; preds = %2157, %2161
  %.str.66.sink2842 = phi ptr [ @.str.66, %2161 ], [ @.str.63, %2157 ]
  store i32 %2152, ptr %2151, align 4, !tbaa !5
  %2163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2164 = load i32, ptr @test_count, align 4, !tbaa !5
  %2165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2166 = load i32, ptr %2165, align 4, !tbaa !5
  %2167 = call ptr @s2n_strerror(i32 noundef %2166, ptr noundef nonnull @.str.65) #10
  %2168 = load i32, ptr %2165, align 4, !tbaa !5
  %2169 = call ptr @s2n_strerror_debug(i32 noundef %2168, ptr noundef nonnull @.str.65) #10
  %2170 = load i32, ptr %2151, align 4, !tbaa !5
  %2171 = call ptr @strerror(i32 noundef %2170) #10
  %2172 = load i32, ptr %2151, align 4, !tbaa !5
  %2173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2163, ptr noundef nonnull %.str.66.sink2842, i32 noundef %2164, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.62, i32 noundef 356, ptr noundef %2167, ptr noundef %2169, ptr noundef %2171, i32 noundef %2172) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2174:                                             ; preds = %2141
  %2175 = load ptr, ptr %10, align 8, !tbaa !9
  %2176 = getelementptr inbounds i8, ptr %2175, i64 221
  store i8 31, ptr %2176, align 1, !tbaa !28
  %2177 = load i32, ptr @test_count, align 4, !tbaa !5
  %2178 = add nsw i32 %2177, 1
  store i32 %2178, ptr @test_count, align 4, !tbaa !5
  %2179 = call i32 @s2n_connection_set_blinding(ptr noundef %2175, i32 noundef 1) #10
  %2180 = icmp eq i32 %2179, -1
  br i1 %2180, label %2181, label %2205

2181:                                             ; preds = %2174
  %2182 = tail call ptr @__errno_location() #11
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = call i32 @s2n_print_stacktrace(ptr noundef %2184) #10
  %2186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2187 = trunc nuw i8 %2186 to i1
  br i1 %2187, label %2188, label %2192

2188:                                             ; preds = %2181
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = call i32 @fileno(ptr noundef %2189) #10
  %2191 = call i32 @isatty(i32 noundef %2190) #10
  %.not1965 = icmp eq i32 %2191, 0
  br i1 %.not1965, label %2192, label %2193

2192:                                             ; preds = %2188, %2181
  br label %2193

2193:                                             ; preds = %2188, %2192
  %.str.66.sink2853 = phi ptr [ @.str.66, %2192 ], [ @.str.63, %2188 ]
  store i32 %2183, ptr %2182, align 4, !tbaa !5
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = load i32, ptr @test_count, align 4, !tbaa !5
  %2196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2197 = load i32, ptr %2196, align 4, !tbaa !5
  %2198 = call ptr @s2n_strerror(i32 noundef %2197, ptr noundef nonnull @.str.65) #10
  %2199 = load i32, ptr %2196, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror_debug(i32 noundef %2199, ptr noundef nonnull @.str.65) #10
  %2201 = load i32, ptr %2182, align 4, !tbaa !5
  %2202 = call ptr @strerror(i32 noundef %2201) #10
  %2203 = load i32, ptr %2182, align 4, !tbaa !5
  %2204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2194, ptr noundef nonnull %.str.66.sink2853, i32 noundef %2195, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.62, i32 noundef 362, ptr noundef %2198, ptr noundef %2200, ptr noundef %2202, i32 noundef %2203) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2205:                                             ; preds = %2174
  %2206 = load i32, ptr @test_count, align 4, !tbaa !5
  %2207 = add nsw i32 %2206, 1
  store i32 %2207, ptr @test_count, align 4, !tbaa !5
  %2208 = load ptr, ptr %11, align 8, !tbaa !9
  %2209 = load ptr, ptr %10, align 8, !tbaa !9
  %2210 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2208, ptr noundef %2209) #10
  %2211 = icmp eq i32 %2210, -1
  br i1 %2211, label %2236, label %2212

2212:                                             ; preds = %2205
  %2213 = tail call ptr @__errno_location() #11
  %2214 = load i32, ptr %2213, align 4, !tbaa !5
  %2215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2216 = call i32 @s2n_print_stacktrace(ptr noundef %2215) #10
  %2217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2218 = trunc nuw i8 %2217 to i1
  br i1 %2218, label %2219, label %2223

2219:                                             ; preds = %2212
  %2220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2221 = call i32 @fileno(ptr noundef %2220) #10
  %2222 = call i32 @isatty(i32 noundef %2221) #10
  %.not1556 = icmp eq i32 %2222, 0
  br i1 %.not1556, label %2223, label %2224

2223:                                             ; preds = %2219, %2212
  br label %2224

2224:                                             ; preds = %2219, %2223
  %.str.66.sink2864 = phi ptr [ @.str.66, %2223 ], [ @.str.63, %2219 ]
  store i32 %2214, ptr %2213, align 4, !tbaa !5
  %2225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2226 = load i32, ptr @test_count, align 4, !tbaa !5
  %2227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2228 = load i32, ptr %2227, align 4, !tbaa !5
  %2229 = call ptr @s2n_strerror(i32 noundef %2228, ptr noundef nonnull @.str.65) #10
  %2230 = load i32, ptr %2227, align 4, !tbaa !5
  %2231 = call ptr @s2n_strerror_debug(i32 noundef %2230, ptr noundef nonnull @.str.65) #10
  %2232 = load i32, ptr %2213, align 4, !tbaa !5
  %2233 = call ptr @strerror(i32 noundef %2232) #10
  %2234 = load i32, ptr %2213, align 4, !tbaa !5
  %2235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2225, ptr noundef nonnull %.str.66.sink2864, i32 noundef %2226, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.62, i32 noundef 364, ptr noundef %2229, ptr noundef %2231, ptr noundef %2233, i32 noundef %2234) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2236:                                             ; preds = %2205
  %2237 = load i32, ptr @test_count, align 4, !tbaa !5
  %2238 = add nsw i32 %2237, 1
  store i32 %2238, ptr @test_count, align 4, !tbaa !5
  %2239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2240 = load i32, ptr %2239, align 4, !tbaa !5
  %2241 = icmp eq i32 %2240, 335544322
  br i1 %2241, label %2265, label %2242

2242:                                             ; preds = %2236
  %2243 = tail call ptr @__errno_location() #11
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = call i32 @s2n_print_stacktrace(ptr noundef %2245) #10
  %2247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2248 = trunc nuw i8 %2247 to i1
  br i1 %2248, label %2249, label %2253

2249:                                             ; preds = %2242
  %2250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2251 = call i32 @fileno(ptr noundef %2250) #10
  %2252 = call i32 @isatty(i32 noundef %2251) #10
  %.not1557 = icmp eq i32 %2252, 0
  br i1 %.not1557, label %2253, label %2254

2253:                                             ; preds = %2249, %2242
  br label %2254

2254:                                             ; preds = %2249, %2253
  %.str.66.sink2875 = phi ptr [ @.str.66, %2253 ], [ @.str.63, %2249 ]
  store i32 %2244, ptr %2243, align 4, !tbaa !5
  %2255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2256 = load i32, ptr @test_count, align 4, !tbaa !5
  %2257 = load i32, ptr %2239, align 4, !tbaa !5
  %2258 = call ptr @s2n_strerror(i32 noundef %2257, ptr noundef nonnull @.str.65) #10
  %2259 = load i32, ptr %2239, align 4, !tbaa !5
  %2260 = call ptr @s2n_strerror_debug(i32 noundef %2259, ptr noundef nonnull @.str.65) #10
  %2261 = load i32, ptr %2243, align 4, !tbaa !5
  %2262 = call ptr @strerror(i32 noundef %2261) #10
  %2263 = load i32, ptr %2243, align 4, !tbaa !5
  %2264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2255, ptr noundef nonnull %.str.66.sink2875, i32 noundef %2256, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.62, i32 noundef 364, ptr noundef %2258, ptr noundef %2260, ptr noundef %2262, i32 noundef %2263) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2265:                                             ; preds = %2236
  %2266 = add nsw i32 %2237, 2
  store i32 %2266, ptr @test_count, align 4, !tbaa !5
  %2267 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.65) #10
  %2268 = icmp eq ptr %2267, null
  br i1 %2268, label %2269, label %2292

2269:                                             ; preds = %2265
  %2270 = tail call ptr @__errno_location() #11
  %2271 = load i32, ptr %2270, align 4, !tbaa !5
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = call i32 @s2n_print_stacktrace(ptr noundef %2272) #10
  %2274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2275 = trunc nuw i8 %2274 to i1
  br i1 %2275, label %2276, label %2280

2276:                                             ; preds = %2269
  %2277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2278 = call i32 @fileno(ptr noundef %2277) #10
  %2279 = call i32 @isatty(i32 noundef %2278) #10
  %.not1964 = icmp eq i32 %2279, 0
  br i1 %.not1964, label %2280, label %2281

2280:                                             ; preds = %2276, %2269
  br label %2281

2281:                                             ; preds = %2276, %2280
  %.str.66.sink2884 = phi ptr [ @.str.66, %2280 ], [ @.str.63, %2276 ]
  store i32 %2271, ptr %2270, align 4, !tbaa !5
  %2282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2283 = load i32, ptr @test_count, align 4, !tbaa !5
  %2284 = load i32, ptr %2239, align 4, !tbaa !5
  %2285 = call ptr @s2n_strerror(i32 noundef %2284, ptr noundef nonnull @.str.65) #10
  %2286 = load i32, ptr %2239, align 4, !tbaa !5
  %2287 = call ptr @s2n_strerror_debug(i32 noundef %2286, ptr noundef nonnull @.str.65) #10
  %2288 = load i32, ptr %2270, align 4, !tbaa !5
  %2289 = call ptr @strerror(i32 noundef %2288) #10
  %2290 = load i32, ptr %2270, align 4, !tbaa !5
  %2291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2282, ptr noundef nonnull %.str.66.sink2884, i32 noundef %2283, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.62, i32 noundef 364, ptr noundef %2285, ptr noundef %2287, ptr noundef %2289, i32 noundef %2290) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2292:                                             ; preds = %2265
  store i32 0, ptr %2239, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  %2293 = tail call ptr @__errno_location() #11
  store i32 0, ptr %2293, align 4, !tbaa !5
  %2294 = call i32 @s2n_io_pair_close(ptr noundef nonnull %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #10
  %2295 = load i32, ptr @test_count, align 4, !tbaa !5
  %2296 = add nsw i32 %2295, 1
  store i32 %2296, ptr @test_count, align 4, !tbaa !5
  %2297 = load ptr, ptr %10, align 8, !tbaa !9
  %2298 = call i32 @s2n_connection_wipe(ptr noundef %2297) #10
  %2299 = icmp eq i32 %2298, -1
  br i1 %2299, label %2300, label %2322

2300:                                             ; preds = %2292
  %2301 = load i32, ptr %2293, align 4, !tbaa !5
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = call i32 @s2n_print_stacktrace(ptr noundef %2302) #10
  %2304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2305 = trunc nuw i8 %2304 to i1
  br i1 %2305, label %2306, label %2310

2306:                                             ; preds = %2300
  %2307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2308 = call i32 @fileno(ptr noundef %2307) #10
  %2309 = call i32 @isatty(i32 noundef %2308) #10
  %.not1963 = icmp eq i32 %2309, 0
  br i1 %.not1963, label %2310, label %2311

2310:                                             ; preds = %2306, %2300
  br label %2311

2311:                                             ; preds = %2306, %2310
  %.str.66.sink2893 = phi ptr [ @.str.66, %2310 ], [ @.str.63, %2306 ]
  store i32 %2301, ptr %2293, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = load i32, ptr @test_count, align 4, !tbaa !5
  %2314 = load i32, ptr %2239, align 4, !tbaa !5
  %2315 = call ptr @s2n_strerror(i32 noundef %2314, ptr noundef nonnull @.str.65) #10
  %2316 = load i32, ptr %2239, align 4, !tbaa !5
  %2317 = call ptr @s2n_strerror_debug(i32 noundef %2316, ptr noundef nonnull @.str.65) #10
  %2318 = load i32, ptr %2293, align 4, !tbaa !5
  %2319 = call ptr @strerror(i32 noundef %2318) #10
  %2320 = load i32, ptr %2293, align 4, !tbaa !5
  %2321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2312, ptr noundef nonnull %.str.66.sink2893, i32 noundef %2313, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 367, ptr noundef %2315, ptr noundef %2317, ptr noundef %2319, i32 noundef %2320) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2322:                                             ; preds = %2292
  %2323 = load i32, ptr @test_count, align 4, !tbaa !5
  %2324 = add nsw i32 %2323, 1
  store i32 %2324, ptr @test_count, align 4, !tbaa !5
  %2325 = load ptr, ptr %11, align 8, !tbaa !9
  %2326 = call i32 @s2n_connection_wipe(ptr noundef %2325) #10
  %2327 = icmp eq i32 %2326, -1
  br i1 %2327, label %2328, label %2350

2328:                                             ; preds = %2322
  %2329 = load i32, ptr %2293, align 4, !tbaa !5
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = call i32 @s2n_print_stacktrace(ptr noundef %2330) #10
  %2332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2333 = trunc nuw i8 %2332 to i1
  br i1 %2333, label %2334, label %2338

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

2338:                                             ; preds = %2334, %2328
  br label %2339

2339:                                             ; preds = %2334, %2338
  %.str.66.sink2902 = phi ptr [ @.str.66, %2338 ], [ @.str.63, %2334 ]
  store i32 %2329, ptr %2293, align 4, !tbaa !5
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = load i32, ptr @test_count, align 4, !tbaa !5
  %2342 = load i32, ptr %2239, align 4, !tbaa !5
  %2343 = call ptr @s2n_strerror(i32 noundef %2342, ptr noundef nonnull @.str.65) #10
  %2344 = load i32, ptr %2239, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror_debug(i32 noundef %2344, ptr noundef nonnull @.str.65) #10
  %2346 = load i32, ptr %2293, align 4, !tbaa !5
  %2347 = call ptr @strerror(i32 noundef %2346) #10
  %2348 = load i32, ptr %2293, align 4, !tbaa !5
  %2349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2340, ptr noundef nonnull %.str.66.sink2902, i32 noundef %2341, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 368, ptr noundef %2343, ptr noundef %2345, ptr noundef %2347, i32 noundef %2348) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2350:                                             ; preds = %2322
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #10
  store i64 0, ptr %15, align 8
  %2351 = load i32, ptr @test_count, align 4, !tbaa !5
  %2352 = add nsw i32 %2351, 1
  store i32 %2352, ptr @test_count, align 4, !tbaa !5
  %2353 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %15) #10
  %2354 = icmp eq i32 %2353, -1
  br i1 %2354, label %2355, label %2377

2355:                                             ; preds = %2350
  %2356 = load i32, ptr %2293, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = call i32 @s2n_print_stacktrace(ptr noundef %2357) #10
  %2359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2360 = trunc nuw i8 %2359 to i1
  br i1 %2360, label %2361, label %2365

2361:                                             ; preds = %2355
  %2362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2363 = call i32 @fileno(ptr noundef %2362) #10
  %2364 = call i32 @isatty(i32 noundef %2363) #10
  %.not1961 = icmp eq i32 %2364, 0
  br i1 %.not1961, label %2365, label %2366

2365:                                             ; preds = %2361, %2355
  br label %2366

2366:                                             ; preds = %2361, %2365
  %.str.66.sink2911 = phi ptr [ @.str.66, %2365 ], [ @.str.63, %2361 ]
  store i32 %2356, ptr %2293, align 4, !tbaa !5
  %2367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = load i32, ptr %2239, align 4, !tbaa !5
  %2370 = call ptr @s2n_strerror(i32 noundef %2369, ptr noundef nonnull @.str.65) #10
  %2371 = load i32, ptr %2239, align 4, !tbaa !5
  %2372 = call ptr @s2n_strerror_debug(i32 noundef %2371, ptr noundef nonnull @.str.65) #10
  %2373 = load i32, ptr %2293, align 4, !tbaa !5
  %2374 = call ptr @strerror(i32 noundef %2373) #10
  %2375 = load i32, ptr %2293, align 4, !tbaa !5
  %2376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2367, ptr noundef nonnull %.str.66.sink2911, i32 noundef %2368, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 374, ptr noundef %2370, ptr noundef %2372, ptr noundef %2374, i32 noundef %2375) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2377:                                             ; preds = %2350
  %2378 = load i32, ptr @test_count, align 4, !tbaa !5
  %2379 = add nsw i32 %2378, 1
  store i32 %2379, ptr @test_count, align 4, !tbaa !5
  %2380 = load ptr, ptr %10, align 8, !tbaa !9
  %2381 = load ptr, ptr %11, align 8, !tbaa !9
  %2382 = call i32 @s2n_connections_set_io_pair(ptr noundef %2380, ptr noundef %2381, ptr noundef nonnull %15) #10
  %2383 = icmp eq i32 %2382, -1
  br i1 %2383, label %2384, label %2406

2384:                                             ; preds = %2377
  %2385 = load i32, ptr %2293, align 4, !tbaa !5
  %2386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2387 = call i32 @s2n_print_stacktrace(ptr noundef %2386) #10
  %2388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2389 = trunc nuw i8 %2388 to i1
  br i1 %2389, label %2390, label %2394

2390:                                             ; preds = %2384
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = call i32 @fileno(ptr noundef %2391) #10
  %2393 = call i32 @isatty(i32 noundef %2392) #10
  %.not1960 = icmp eq i32 %2393, 0
  br i1 %.not1960, label %2394, label %2395

2394:                                             ; preds = %2390, %2384
  br label %2395

2395:                                             ; preds = %2390, %2394
  %.str.66.sink2920 = phi ptr [ @.str.66, %2394 ], [ @.str.63, %2390 ]
  store i32 %2385, ptr %2293, align 4, !tbaa !5
  %2396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2397 = load i32, ptr @test_count, align 4, !tbaa !5
  %2398 = load i32, ptr %2239, align 4, !tbaa !5
  %2399 = call ptr @s2n_strerror(i32 noundef %2398, ptr noundef nonnull @.str.65) #10
  %2400 = load i32, ptr %2239, align 4, !tbaa !5
  %2401 = call ptr @s2n_strerror_debug(i32 noundef %2400, ptr noundef nonnull @.str.65) #10
  %2402 = load i32, ptr %2293, align 4, !tbaa !5
  %2403 = call ptr @strerror(i32 noundef %2402) #10
  %2404 = load i32, ptr %2293, align 4, !tbaa !5
  %2405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2396, ptr noundef nonnull %.str.66.sink2920, i32 noundef %2397, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 375, ptr noundef %2399, ptr noundef %2401, ptr noundef %2403, i32 noundef %2404) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2406:                                             ; preds = %2377
  %2407 = load i32, ptr @test_count, align 4, !tbaa !5
  %2408 = add nsw i32 %2407, 1
  store i32 %2408, ptr @test_count, align 4, !tbaa !5
  %2409 = load ptr, ptr %10, align 8, !tbaa !9
  %2410 = load ptr, ptr %12, align 8, !tbaa !26
  %2411 = load i32, ptr %1991, align 8, !tbaa !27
  %2412 = zext i32 %2411 to i64
  %2413 = call i32 @s2n_connection_set_session(ptr noundef %2409, ptr noundef %2410, i64 noundef %2412)
  %2414 = icmp eq i32 %2413, -1
  br i1 %2414, label %2415, label %2437

2415:                                             ; preds = %2406
  %2416 = load i32, ptr %2293, align 4, !tbaa !5
  %2417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2418 = call i32 @s2n_print_stacktrace(ptr noundef %2417) #10
  %2419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2420 = trunc nuw i8 %2419 to i1
  br i1 %2420, label %2421, label %2425

2421:                                             ; preds = %2415
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = call i32 @fileno(ptr noundef %2422) #10
  %2424 = call i32 @isatty(i32 noundef %2423) #10
  %.not1959 = icmp eq i32 %2424, 0
  br i1 %.not1959, label %2425, label %2426

2425:                                             ; preds = %2421, %2415
  br label %2426

2426:                                             ; preds = %2421, %2425
  %.str.66.sink2929 = phi ptr [ @.str.66, %2425 ], [ @.str.63, %2421 ]
  store i32 %2416, ptr %2293, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = load i32, ptr @test_count, align 4, !tbaa !5
  %2429 = load i32, ptr %2239, align 4, !tbaa !5
  %2430 = call ptr @s2n_strerror(i32 noundef %2429, ptr noundef nonnull @.str.65) #10
  %2431 = load i32, ptr %2239, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror_debug(i32 noundef %2431, ptr noundef nonnull @.str.65) #10
  %2433 = load i32, ptr %2293, align 4, !tbaa !5
  %2434 = call ptr @strerror(i32 noundef %2433) #10
  %2435 = load i32, ptr %2293, align 4, !tbaa !5
  %2436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2427, ptr noundef nonnull %.str.66.sink2929, i32 noundef %2428, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.62, i32 noundef 378, ptr noundef %2430, ptr noundef %2432, ptr noundef %2434, i32 noundef %2435) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2437:                                             ; preds = %2406
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = add nsw i32 %2438, 1
  store i32 %2439, ptr @test_count, align 4, !tbaa !5
  %2440 = load ptr, ptr %10, align 8, !tbaa !9
  %2441 = getelementptr inbounds i8, ptr %2440, i64 232
  %2442 = load ptr, ptr %2441, align 8, !tbaa !53
  %2443 = load ptr, ptr %2442, align 8, !tbaa !54
  %2444 = icmp eq ptr %2443, @s2n_rsa_with_aes_256_cbc_sha
  br i1 %2444, label %2445, label %2467

2445:                                             ; preds = %2437
  %2446 = load i32, ptr %2293, align 4, !tbaa !5
  %2447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2448 = call i32 @s2n_print_stacktrace(ptr noundef %2447) #10
  %2449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2450 = trunc nuw i8 %2449 to i1
  br i1 %2450, label %2451, label %2455

2451:                                             ; preds = %2445
  %2452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2453 = call i32 @fileno(ptr noundef %2452) #10
  %2454 = call i32 @isatty(i32 noundef %2453) #10
  %.not1958 = icmp eq i32 %2454, 0
  br i1 %.not1958, label %2455, label %2456

2455:                                             ; preds = %2451, %2445
  br label %2456

2456:                                             ; preds = %2451, %2455
  %.str.66.sink2938 = phi ptr [ @.str.66, %2455 ], [ @.str.63, %2451 ]
  store i32 %2446, ptr %2293, align 4, !tbaa !5
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = load i32, ptr @test_count, align 4, !tbaa !5
  %2459 = load i32, ptr %2239, align 4, !tbaa !5
  %2460 = call ptr @s2n_strerror(i32 noundef %2459, ptr noundef nonnull @.str.65) #10
  %2461 = load i32, ptr %2239, align 4, !tbaa !5
  %2462 = call ptr @s2n_strerror_debug(i32 noundef %2461, ptr noundef nonnull @.str.65) #10
  %2463 = load i32, ptr %2293, align 4, !tbaa !5
  %2464 = call ptr @strerror(i32 noundef %2463) #10
  %2465 = load i32, ptr %2293, align 4, !tbaa !5
  %2466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2457, ptr noundef nonnull %.str.66.sink2938, i32 noundef %2458, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.62, i32 noundef 381, ptr noundef %2460, ptr noundef %2462, ptr noundef %2464, i32 noundef %2465) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2467:                                             ; preds = %2437
  store ptr @s2n_rsa_with_aes_256_cbc_sha, ptr %2442, align 8, !tbaa !54
  %2468 = add nsw i32 %2438, 2
  store i32 %2468, ptr @test_count, align 4, !tbaa !5
  %2469 = load ptr, ptr %10, align 8, !tbaa !9
  %2470 = call i32 @s2n_connection_set_blinding(ptr noundef %2469, i32 noundef 1) #10
  %2471 = icmp eq i32 %2470, -1
  br i1 %2471, label %2472, label %2494

2472:                                             ; preds = %2467
  %2473 = load i32, ptr %2293, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = call i32 @s2n_print_stacktrace(ptr noundef %2474) #10
  %2476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2477 = trunc nuw i8 %2476 to i1
  br i1 %2477, label %2478, label %2482

2478:                                             ; preds = %2472
  %2479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2480 = call i32 @fileno(ptr noundef %2479) #10
  %2481 = call i32 @isatty(i32 noundef %2480) #10
  %.not1957 = icmp eq i32 %2481, 0
  br i1 %.not1957, label %2482, label %2483

2482:                                             ; preds = %2478, %2472
  br label %2483

2483:                                             ; preds = %2478, %2482
  %.str.66.sink2947 = phi ptr [ @.str.66, %2482 ], [ @.str.63, %2478 ]
  store i32 %2473, ptr %2293, align 4, !tbaa !5
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = load i32, ptr @test_count, align 4, !tbaa !5
  %2486 = load i32, ptr %2239, align 4, !tbaa !5
  %2487 = call ptr @s2n_strerror(i32 noundef %2486, ptr noundef nonnull @.str.65) #10
  %2488 = load i32, ptr %2239, align 4, !tbaa !5
  %2489 = call ptr @s2n_strerror_debug(i32 noundef %2488, ptr noundef nonnull @.str.65) #10
  %2490 = load i32, ptr %2293, align 4, !tbaa !5
  %2491 = call ptr @strerror(i32 noundef %2490) #10
  %2492 = load i32, ptr %2293, align 4, !tbaa !5
  %2493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2484, ptr noundef nonnull %.str.66.sink2947, i32 noundef %2485, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.62, i32 noundef 385, ptr noundef %2487, ptr noundef %2489, ptr noundef %2491, i32 noundef %2492) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2494:                                             ; preds = %2467
  %2495 = load i32, ptr @test_count, align 4, !tbaa !5
  %2496 = add nsw i32 %2495, 1
  store i32 %2496, ptr @test_count, align 4, !tbaa !5
  %2497 = load ptr, ptr %11, align 8, !tbaa !9
  %2498 = load ptr, ptr %10, align 8, !tbaa !9
  %2499 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2497, ptr noundef %2498) #10
  %2500 = icmp eq i32 %2499, -1
  br i1 %2500, label %2523, label %2501

2501:                                             ; preds = %2494
  %2502 = load i32, ptr %2293, align 4, !tbaa !5
  %2503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2504 = call i32 @s2n_print_stacktrace(ptr noundef %2503) #10
  %2505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2506 = trunc nuw i8 %2505 to i1
  br i1 %2506, label %2507, label %2511

2507:                                             ; preds = %2501
  %2508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2509 = call i32 @fileno(ptr noundef %2508) #10
  %2510 = call i32 @isatty(i32 noundef %2509) #10
  %.not1558 = icmp eq i32 %2510, 0
  br i1 %.not1558, label %2511, label %2512

2511:                                             ; preds = %2507, %2501
  br label %2512

2512:                                             ; preds = %2507, %2511
  %.str.66.sink2956 = phi ptr [ @.str.66, %2511 ], [ @.str.63, %2507 ]
  store i32 %2502, ptr %2293, align 4, !tbaa !5
  %2513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2514 = load i32, ptr @test_count, align 4, !tbaa !5
  %2515 = load i32, ptr %2239, align 4, !tbaa !5
  %2516 = call ptr @s2n_strerror(i32 noundef %2515, ptr noundef nonnull @.str.65) #10
  %2517 = load i32, ptr %2239, align 4, !tbaa !5
  %2518 = call ptr @s2n_strerror_debug(i32 noundef %2517, ptr noundef nonnull @.str.65) #10
  %2519 = load i32, ptr %2293, align 4, !tbaa !5
  %2520 = call ptr @strerror(i32 noundef %2519) #10
  %2521 = load i32, ptr %2293, align 4, !tbaa !5
  %2522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2513, ptr noundef nonnull %.str.66.sink2956, i32 noundef %2514, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.62, i32 noundef 387, ptr noundef %2516, ptr noundef %2518, ptr noundef %2520, i32 noundef %2521) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2523:                                             ; preds = %2494
  %2524 = load i32, ptr @test_count, align 4, !tbaa !5
  %2525 = add nsw i32 %2524, 1
  store i32 %2525, ptr @test_count, align 4, !tbaa !5
  %2526 = load i32, ptr %2239, align 4, !tbaa !5
  %2527 = icmp eq i32 %2526, 335544322
  br i1 %2527, label %2550, label %2528

2528:                                             ; preds = %2523
  %2529 = load i32, ptr %2293, align 4, !tbaa !5
  %2530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2531 = call i32 @s2n_print_stacktrace(ptr noundef %2530) #10
  %2532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2533 = trunc nuw i8 %2532 to i1
  br i1 %2533, label %2534, label %2538

2534:                                             ; preds = %2528
  %2535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2536 = call i32 @fileno(ptr noundef %2535) #10
  %2537 = call i32 @isatty(i32 noundef %2536) #10
  %.not1559 = icmp eq i32 %2537, 0
  br i1 %.not1559, label %2538, label %2539

2538:                                             ; preds = %2534, %2528
  br label %2539

2539:                                             ; preds = %2534, %2538
  %.str.66.sink2965 = phi ptr [ @.str.66, %2538 ], [ @.str.63, %2534 ]
  store i32 %2529, ptr %2293, align 4, !tbaa !5
  %2540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2541 = load i32, ptr @test_count, align 4, !tbaa !5
  %2542 = load i32, ptr %2239, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror(i32 noundef %2542, ptr noundef nonnull @.str.65) #10
  %2544 = load i32, ptr %2239, align 4, !tbaa !5
  %2545 = call ptr @s2n_strerror_debug(i32 noundef %2544, ptr noundef nonnull @.str.65) #10
  %2546 = load i32, ptr %2293, align 4, !tbaa !5
  %2547 = call ptr @strerror(i32 noundef %2546) #10
  %2548 = load i32, ptr %2293, align 4, !tbaa !5
  %2549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2540, ptr noundef nonnull %.str.66.sink2965, i32 noundef %2541, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.62, i32 noundef 387, ptr noundef %2543, ptr noundef %2545, ptr noundef %2547, i32 noundef %2548) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2550:                                             ; preds = %2523
  %2551 = add nsw i32 %2524, 2
  store i32 %2551, ptr @test_count, align 4, !tbaa !5
  %2552 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.65) #10
  %2553 = icmp eq ptr %2552, null
  br i1 %2553, label %2554, label %2576

2554:                                             ; preds = %2550
  %2555 = load i32, ptr %2293, align 4, !tbaa !5
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = call i32 @s2n_print_stacktrace(ptr noundef %2556) #10
  %2558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2559 = trunc nuw i8 %2558 to i1
  br i1 %2559, label %2560, label %2564

2560:                                             ; preds = %2554
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = call i32 @fileno(ptr noundef %2561) #10
  %2563 = call i32 @isatty(i32 noundef %2562) #10
  %.not1956 = icmp eq i32 %2563, 0
  br i1 %.not1956, label %2564, label %2565

2564:                                             ; preds = %2560, %2554
  br label %2565

2565:                                             ; preds = %2560, %2564
  %.str.66.sink2974 = phi ptr [ @.str.66, %2564 ], [ @.str.63, %2560 ]
  store i32 %2555, ptr %2293, align 4, !tbaa !5
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = load i32, ptr @test_count, align 4, !tbaa !5
  %2568 = load i32, ptr %2239, align 4, !tbaa !5
  %2569 = call ptr @s2n_strerror(i32 noundef %2568, ptr noundef nonnull @.str.65) #10
  %2570 = load i32, ptr %2239, align 4, !tbaa !5
  %2571 = call ptr @s2n_strerror_debug(i32 noundef %2570, ptr noundef nonnull @.str.65) #10
  %2572 = load i32, ptr %2293, align 4, !tbaa !5
  %2573 = call ptr @strerror(i32 noundef %2572) #10
  %2574 = load i32, ptr %2293, align 4, !tbaa !5
  %2575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2566, ptr noundef nonnull %.str.66.sink2974, i32 noundef %2567, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.62, i32 noundef 387, ptr noundef %2569, ptr noundef %2571, ptr noundef %2573, i32 noundef %2574) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2576:                                             ; preds = %2550
  store i32 0, ptr %2239, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %2293, align 4, !tbaa !5
  %2577 = call i32 @s2n_io_pair_close(ptr noundef nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #10
  %2578 = load i32, ptr @test_count, align 4, !tbaa !5
  %2579 = add nsw i32 %2578, 1
  store i32 %2579, ptr @test_count, align 4, !tbaa !5
  %2580 = load ptr, ptr %10, align 8, !tbaa !9
  %2581 = call i32 @s2n_connection_wipe(ptr noundef %2580) #10
  %2582 = icmp eq i32 %2581, -1
  br i1 %2582, label %2583, label %2605

2583:                                             ; preds = %2576
  %2584 = load i32, ptr %2293, align 4, !tbaa !5
  %2585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2586 = call i32 @s2n_print_stacktrace(ptr noundef %2585) #10
  %2587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2588 = trunc nuw i8 %2587 to i1
  br i1 %2588, label %2589, label %2593

2589:                                             ; preds = %2583
  %2590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2591 = call i32 @fileno(ptr noundef %2590) #10
  %2592 = call i32 @isatty(i32 noundef %2591) #10
  %.not1955 = icmp eq i32 %2592, 0
  br i1 %.not1955, label %2593, label %2594

2593:                                             ; preds = %2589, %2583
  br label %2594

2594:                                             ; preds = %2589, %2593
  %.str.66.sink2983 = phi ptr [ @.str.66, %2593 ], [ @.str.63, %2589 ]
  store i32 %2584, ptr %2293, align 4, !tbaa !5
  %2595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2596 = load i32, ptr @test_count, align 4, !tbaa !5
  %2597 = load i32, ptr %2239, align 4, !tbaa !5
  %2598 = call ptr @s2n_strerror(i32 noundef %2597, ptr noundef nonnull @.str.65) #10
  %2599 = load i32, ptr %2239, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror_debug(i32 noundef %2599, ptr noundef nonnull @.str.65) #10
  %2601 = load i32, ptr %2293, align 4, !tbaa !5
  %2602 = call ptr @strerror(i32 noundef %2601) #10
  %2603 = load i32, ptr %2293, align 4, !tbaa !5
  %2604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2595, ptr noundef nonnull %.str.66.sink2983, i32 noundef %2596, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 390, ptr noundef %2598, ptr noundef %2600, ptr noundef %2602, i32 noundef %2603) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2605:                                             ; preds = %2576
  %2606 = load i32, ptr @test_count, align 4, !tbaa !5
  %2607 = add nsw i32 %2606, 1
  store i32 %2607, ptr @test_count, align 4, !tbaa !5
  %2608 = load ptr, ptr %11, align 8, !tbaa !9
  %2609 = call i32 @s2n_connection_wipe(ptr noundef %2608) #10
  %2610 = icmp eq i32 %2609, -1
  br i1 %2610, label %2611, label %2633

2611:                                             ; preds = %2605
  %2612 = load i32, ptr %2293, align 4, !tbaa !5
  %2613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2614 = call i32 @s2n_print_stacktrace(ptr noundef %2613) #10
  %2615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2616 = trunc nuw i8 %2615 to i1
  br i1 %2616, label %2617, label %2621

2617:                                             ; preds = %2611
  %2618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2619 = call i32 @fileno(ptr noundef %2618) #10
  %2620 = call i32 @isatty(i32 noundef %2619) #10
  %.not1954 = icmp eq i32 %2620, 0
  br i1 %.not1954, label %2621, label %2622

2621:                                             ; preds = %2617, %2611
  br label %2622

2622:                                             ; preds = %2617, %2621
  %.str.66.sink2992 = phi ptr [ @.str.66, %2621 ], [ @.str.63, %2617 ]
  store i32 %2612, ptr %2293, align 4, !tbaa !5
  %2623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2624 = load i32, ptr @test_count, align 4, !tbaa !5
  %2625 = load i32, ptr %2239, align 4, !tbaa !5
  %2626 = call ptr @s2n_strerror(i32 noundef %2625, ptr noundef nonnull @.str.65) #10
  %2627 = load i32, ptr %2239, align 4, !tbaa !5
  %2628 = call ptr @s2n_strerror_debug(i32 noundef %2627, ptr noundef nonnull @.str.65) #10
  %2629 = load i32, ptr %2293, align 4, !tbaa !5
  %2630 = call ptr @strerror(i32 noundef %2629) #10
  %2631 = load i32, ptr %2293, align 4, !tbaa !5
  %2632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2623, ptr noundef nonnull %.str.66.sink2992, i32 noundef %2624, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 391, ptr noundef %2626, ptr noundef %2628, ptr noundef %2630, i32 noundef %2631) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2633:                                             ; preds = %2605
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #10
  store i64 0, ptr %16, align 8
  %2634 = load i32, ptr @test_count, align 4, !tbaa !5
  %2635 = add nsw i32 %2634, 1
  store i32 %2635, ptr @test_count, align 4, !tbaa !5
  %2636 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %16) #10
  %2637 = icmp eq i32 %2636, -1
  br i1 %2637, label %2638, label %2660

2638:                                             ; preds = %2633
  %2639 = load i32, ptr %2293, align 4, !tbaa !5
  %2640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2641 = call i32 @s2n_print_stacktrace(ptr noundef %2640) #10
  %2642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2643 = trunc nuw i8 %2642 to i1
  br i1 %2643, label %2644, label %2648

2644:                                             ; preds = %2638
  %2645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2646 = call i32 @fileno(ptr noundef %2645) #10
  %2647 = call i32 @isatty(i32 noundef %2646) #10
  %.not1953 = icmp eq i32 %2647, 0
  br i1 %.not1953, label %2648, label %2649

2648:                                             ; preds = %2644, %2638
  br label %2649

2649:                                             ; preds = %2644, %2648
  %.str.66.sink3001 = phi ptr [ @.str.66, %2648 ], [ @.str.63, %2644 ]
  store i32 %2639, ptr %2293, align 4, !tbaa !5
  %2650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2651 = load i32, ptr @test_count, align 4, !tbaa !5
  %2652 = load i32, ptr %2239, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror(i32 noundef %2652, ptr noundef nonnull @.str.65) #10
  %2654 = load i32, ptr %2239, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror_debug(i32 noundef %2654, ptr noundef nonnull @.str.65) #10
  %2656 = load i32, ptr %2293, align 4, !tbaa !5
  %2657 = call ptr @strerror(i32 noundef %2656) #10
  %2658 = load i32, ptr %2293, align 4, !tbaa !5
  %2659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2650, ptr noundef nonnull %.str.66.sink3001, i32 noundef %2651, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 397, ptr noundef %2653, ptr noundef %2655, ptr noundef %2657, i32 noundef %2658) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2660:                                             ; preds = %2633
  %2661 = load i32, ptr @test_count, align 4, !tbaa !5
  %2662 = add nsw i32 %2661, 1
  store i32 %2662, ptr @test_count, align 4, !tbaa !5
  %2663 = load ptr, ptr %10, align 8, !tbaa !9
  %2664 = load ptr, ptr %11, align 8, !tbaa !9
  %2665 = call i32 @s2n_connections_set_io_pair(ptr noundef %2663, ptr noundef %2664, ptr noundef nonnull %16) #10
  %2666 = icmp eq i32 %2665, -1
  br i1 %2666, label %2667, label %2689

2667:                                             ; preds = %2660
  %2668 = load i32, ptr %2293, align 4, !tbaa !5
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = call i32 @s2n_print_stacktrace(ptr noundef %2669) #10
  %2671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2672 = trunc nuw i8 %2671 to i1
  br i1 %2672, label %2673, label %2677

2673:                                             ; preds = %2667
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = call i32 @fileno(ptr noundef %2674) #10
  %2676 = call i32 @isatty(i32 noundef %2675) #10
  %.not1952 = icmp eq i32 %2676, 0
  br i1 %.not1952, label %2677, label %2678

2677:                                             ; preds = %2673, %2667
  br label %2678

2678:                                             ; preds = %2673, %2677
  %.str.66.sink3010 = phi ptr [ @.str.66, %2677 ], [ @.str.63, %2673 ]
  store i32 %2668, ptr %2293, align 4, !tbaa !5
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = load i32, ptr @test_count, align 4, !tbaa !5
  %2681 = load i32, ptr %2239, align 4, !tbaa !5
  %2682 = call ptr @s2n_strerror(i32 noundef %2681, ptr noundef nonnull @.str.65) #10
  %2683 = load i32, ptr %2239, align 4, !tbaa !5
  %2684 = call ptr @s2n_strerror_debug(i32 noundef %2683, ptr noundef nonnull @.str.65) #10
  %2685 = load i32, ptr %2293, align 4, !tbaa !5
  %2686 = call ptr @strerror(i32 noundef %2685) #10
  %2687 = load i32, ptr %2293, align 4, !tbaa !5
  %2688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2679, ptr noundef nonnull %.str.66.sink3010, i32 noundef %2680, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 398, ptr noundef %2682, ptr noundef %2684, ptr noundef %2686, i32 noundef %2687) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2689:                                             ; preds = %2660
  %2690 = load i32, ptr @test_count, align 4, !tbaa !5
  %2691 = add nsw i32 %2690, 1
  store i32 %2691, ptr @test_count, align 4, !tbaa !5
  %2692 = load ptr, ptr %10, align 8, !tbaa !9
  %2693 = load ptr, ptr %12, align 8, !tbaa !26
  %2694 = load i32, ptr %1991, align 8, !tbaa !27
  %2695 = zext i32 %2694 to i64
  %2696 = call i32 @s2n_connection_set_session(ptr noundef %2692, ptr noundef %2693, i64 noundef %2695)
  %2697 = icmp eq i32 %2696, -1
  br i1 %2697, label %2698, label %2720

2698:                                             ; preds = %2689
  %2699 = load i32, ptr %2293, align 4, !tbaa !5
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = call i32 @s2n_print_stacktrace(ptr noundef %2700) #10
  %2702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2703 = trunc nuw i8 %2702 to i1
  br i1 %2703, label %2704, label %2708

2704:                                             ; preds = %2698
  %2705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2706 = call i32 @fileno(ptr noundef %2705) #10
  %2707 = call i32 @isatty(i32 noundef %2706) #10
  %.not1951 = icmp eq i32 %2707, 0
  br i1 %.not1951, label %2708, label %2709

2708:                                             ; preds = %2704, %2698
  br label %2709

2709:                                             ; preds = %2704, %2708
  %.str.66.sink3019 = phi ptr [ @.str.66, %2708 ], [ @.str.63, %2704 ]
  store i32 %2699, ptr %2293, align 4, !tbaa !5
  %2710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2711 = load i32, ptr @test_count, align 4, !tbaa !5
  %2712 = load i32, ptr %2239, align 4, !tbaa !5
  %2713 = call ptr @s2n_strerror(i32 noundef %2712, ptr noundef nonnull @.str.65) #10
  %2714 = load i32, ptr %2239, align 4, !tbaa !5
  %2715 = call ptr @s2n_strerror_debug(i32 noundef %2714, ptr noundef nonnull @.str.65) #10
  %2716 = load i32, ptr %2293, align 4, !tbaa !5
  %2717 = call ptr @strerror(i32 noundef %2716) #10
  %2718 = load i32, ptr %2293, align 4, !tbaa !5
  %2719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2710, ptr noundef nonnull %.str.66.sink3019, i32 noundef %2711, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.62, i32 noundef 401, ptr noundef %2713, ptr noundef %2715, ptr noundef %2717, i32 noundef %2718) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2720:                                             ; preds = %2689
  %2721 = load i32, ptr @test_count, align 4, !tbaa !5
  %2722 = add nsw i32 %2721, 1
  store i32 %2722, ptr @test_count, align 4, !tbaa !5
  %2723 = load ptr, ptr %11, align 8, !tbaa !9
  %2724 = load ptr, ptr %10, align 8, !tbaa !9
  %2725 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2723, ptr noundef %2724) #10
  %2726 = icmp eq i32 %2725, -1
  br i1 %2726, label %2727, label %2749

2727:                                             ; preds = %2720
  %2728 = load i32, ptr %2293, align 4, !tbaa !5
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @s2n_print_stacktrace(ptr noundef %2729) #10
  %2731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2732 = trunc nuw i8 %2731 to i1
  br i1 %2732, label %2733, label %2737

2733:                                             ; preds = %2727
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = call i32 @fileno(ptr noundef %2734) #10
  %2736 = call i32 @isatty(i32 noundef %2735) #10
  %.not1950 = icmp eq i32 %2736, 0
  br i1 %.not1950, label %2737, label %2738

2737:                                             ; preds = %2733, %2727
  br label %2738

2738:                                             ; preds = %2733, %2737
  %.str.66.sink3028 = phi ptr [ @.str.66, %2737 ], [ @.str.63, %2733 ]
  store i32 %2728, ptr %2293, align 4, !tbaa !5
  %2739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = load i32, ptr %2239, align 4, !tbaa !5
  %2742 = call ptr @s2n_strerror(i32 noundef %2741, ptr noundef nonnull @.str.65) #10
  %2743 = load i32, ptr %2239, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror_debug(i32 noundef %2743, ptr noundef nonnull @.str.65) #10
  %2745 = load i32, ptr %2293, align 4, !tbaa !5
  %2746 = call ptr @strerror(i32 noundef %2745) #10
  %2747 = load i32, ptr %2293, align 4, !tbaa !5
  %2748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2739, ptr noundef nonnull %.str.66.sink3028, i32 noundef %2740, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 404, ptr noundef %2742, ptr noundef %2744, ptr noundef %2746, i32 noundef %2747) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2749:                                             ; preds = %2720
  %2750 = load i32, ptr @test_count, align 4, !tbaa !5
  %2751 = add nsw i32 %2750, 1
  store i32 %2751, ptr @test_count, align 4, !tbaa !5
  %2752 = load ptr, ptr %10, align 8, !tbaa !9
  %2753 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2752, i32 noundef 2) #10
  br i1 %2753, label %2754, label %2779

2754:                                             ; preds = %2749
  %2755 = load ptr, ptr %11, align 8, !tbaa !9
  %2756 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2755, i32 noundef 2) #10
  br i1 %2756, label %2757, label %2779

2757:                                             ; preds = %2754
  %2758 = load i32, ptr %2293, align 4, !tbaa !5
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = call i32 @s2n_print_stacktrace(ptr noundef %2759) #10
  %2761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2762 = trunc nuw i8 %2761 to i1
  br i1 %2762, label %2763, label %2767

2763:                                             ; preds = %2757
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = call i32 @fileno(ptr noundef %2764) #10
  %2766 = call i32 @isatty(i32 noundef %2765) #10
  %.not1949 = icmp eq i32 %2766, 0
  br i1 %.not1949, label %2767, label %2768

2767:                                             ; preds = %2763, %2757
  br label %2768

2768:                                             ; preds = %2763, %2767
  %.str.66.sink3037 = phi ptr [ @.str.66, %2767 ], [ @.str.63, %2763 ]
  store i32 %2758, ptr %2293, align 4, !tbaa !5
  %2769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2770 = load i32, ptr @test_count, align 4, !tbaa !5
  %2771 = load i32, ptr %2239, align 4, !tbaa !5
  %2772 = call ptr @s2n_strerror(i32 noundef %2771, ptr noundef nonnull @.str.65) #10
  %2773 = load i32, ptr %2239, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror_debug(i32 noundef %2773, ptr noundef nonnull @.str.65) #10
  %2775 = load i32, ptr %2293, align 4, !tbaa !5
  %2776 = call ptr @strerror(i32 noundef %2775) #10
  %2777 = load i32, ptr %2293, align 4, !tbaa !5
  %2778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2769, ptr noundef nonnull %.str.66.sink3037, i32 noundef %2770, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.62, i32 noundef 405, ptr noundef %2772, ptr noundef %2774, ptr noundef %2776, i32 noundef %2777) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2779:                                             ; preds = %2754, %2749
  %2780 = call i32 @s2n_io_pair_close(ptr noundef nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #10
  %2781 = call i32 @s2n_free(ptr noundef nonnull %12) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #10
  %2782 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #10
  %2783 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #10
  %2784 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %2785 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %2786 = load i32, ptr @test_count, align 4, !tbaa !5
  %2787 = add nsw i32 %2786, 1
  store i32 %2787, ptr @test_count, align 4, !tbaa !5
  %2788 = icmp eq ptr %2784, null
  br i1 %2788, label %2789, label %2811

2789:                                             ; preds = %2779
  %2790 = load i32, ptr %2293, align 4, !tbaa !5
  %2791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2792 = call i32 @s2n_print_stacktrace(ptr noundef %2791) #10
  %2793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2794 = trunc nuw i8 %2793 to i1
  br i1 %2794, label %2795, label %2799

2795:                                             ; preds = %2789
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = call i32 @fileno(ptr noundef %2796) #10
  %2798 = call i32 @isatty(i32 noundef %2797) #10
  %.not1948 = icmp eq i32 %2798, 0
  br i1 %.not1948, label %2799, label %2800

2799:                                             ; preds = %2795, %2789
  br label %2800

2800:                                             ; preds = %2795, %2799
  %.str.66.sink3046 = phi ptr [ @.str.66, %2799 ], [ @.str.63, %2795 ]
  store i32 %2790, ptr %2293, align 4, !tbaa !5
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = load i32, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %2239, align 4, !tbaa !5
  %2804 = call ptr @s2n_strerror(i32 noundef %2803, ptr noundef nonnull @.str.65) #10
  %2805 = load i32, ptr %2239, align 4, !tbaa !5
  %2806 = call ptr @s2n_strerror_debug(i32 noundef %2805, ptr noundef nonnull @.str.65) #10
  %2807 = load i32, ptr %2293, align 4, !tbaa !5
  %2808 = call ptr @strerror(i32 noundef %2807) #10
  %2809 = load i32, ptr %2293, align 4, !tbaa !5
  %2810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2801, ptr noundef nonnull %.str.66.sink3046, i32 noundef %2802, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 413, ptr noundef %2804, ptr noundef %2806, ptr noundef %2808, i32 noundef %2809) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2811:                                             ; preds = %2779
  %2812 = add nsw i32 %2786, 2
  store i32 %2812, ptr @test_count, align 4, !tbaa !5
  %2813 = icmp eq ptr %2785, null
  br i1 %2813, label %2814, label %2836

2814:                                             ; preds = %2811
  %2815 = load i32, ptr %2293, align 4, !tbaa !5
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = call i32 @s2n_print_stacktrace(ptr noundef %2816) #10
  %2818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2819 = trunc nuw i8 %2818 to i1
  br i1 %2819, label %2820, label %2824

2820:                                             ; preds = %2814
  %2821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2822 = call i32 @fileno(ptr noundef %2821) #10
  %2823 = call i32 @isatty(i32 noundef %2822) #10
  %.not1947 = icmp eq i32 %2823, 0
  br i1 %.not1947, label %2824, label %2825

2824:                                             ; preds = %2820, %2814
  br label %2825

2825:                                             ; preds = %2820, %2824
  %.str.66.sink3055 = phi ptr [ @.str.66, %2824 ], [ @.str.63, %2820 ]
  store i32 %2815, ptr %2293, align 4, !tbaa !5
  %2826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2827 = load i32, ptr @test_count, align 4, !tbaa !5
  %2828 = load i32, ptr %2239, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror(i32 noundef %2828, ptr noundef nonnull @.str.65) #10
  %2830 = load i32, ptr %2239, align 4, !tbaa !5
  %2831 = call ptr @s2n_strerror_debug(i32 noundef %2830, ptr noundef nonnull @.str.65) #10
  %2832 = load i32, ptr %2293, align 4, !tbaa !5
  %2833 = call ptr @strerror(i32 noundef %2832) #10
  %2834 = load i32, ptr %2293, align 4, !tbaa !5
  %2835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2826, ptr noundef nonnull %.str.66.sink3055, i32 noundef %2827, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 414, ptr noundef %2829, ptr noundef %2831, ptr noundef %2833, i32 noundef %2834) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2836:                                             ; preds = %2811
  %2837 = add nsw i32 %2786, 3
  store i32 %2837, ptr @test_count, align 4, !tbaa !5
  %2838 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2784, ptr noundef nonnull %631) #10
  %2839 = icmp eq i32 %2838, -1
  br i1 %2839, label %2840, label %2862

2840:                                             ; preds = %2836
  %2841 = load i32, ptr %2293, align 4, !tbaa !5
  %2842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2843 = call i32 @s2n_print_stacktrace(ptr noundef %2842) #10
  %2844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2845 = trunc nuw i8 %2844 to i1
  br i1 %2845, label %2846, label %2850

2846:                                             ; preds = %2840
  %2847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2848 = call i32 @fileno(ptr noundef %2847) #10
  %2849 = call i32 @isatty(i32 noundef %2848) #10
  %.not1946 = icmp eq i32 %2849, 0
  br i1 %.not1946, label %2850, label %2851

2850:                                             ; preds = %2846, %2840
  br label %2851

2851:                                             ; preds = %2846, %2850
  %.str.66.sink3064 = phi ptr [ @.str.66, %2850 ], [ @.str.63, %2846 ]
  store i32 %2841, ptr %2293, align 4, !tbaa !5
  %2852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2853 = load i32, ptr @test_count, align 4, !tbaa !5
  %2854 = load i32, ptr %2239, align 4, !tbaa !5
  %2855 = call ptr @s2n_strerror(i32 noundef %2854, ptr noundef nonnull @.str.65) #10
  %2856 = load i32, ptr %2239, align 4, !tbaa !5
  %2857 = call ptr @s2n_strerror_debug(i32 noundef %2856, ptr noundef nonnull @.str.65) #10
  %2858 = load i32, ptr %2293, align 4, !tbaa !5
  %2859 = call ptr @strerror(i32 noundef %2858) #10
  %2860 = load i32, ptr %2293, align 4, !tbaa !5
  %2861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2852, ptr noundef nonnull %.str.66.sink3064, i32 noundef %2853, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 416, ptr noundef %2855, ptr noundef %2857, ptr noundef %2859, i32 noundef %2860) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2862:                                             ; preds = %2836
  %2863 = load i32, ptr @test_count, align 4, !tbaa !5
  %2864 = add nsw i32 %2863, 1
  store i32 %2864, ptr @test_count, align 4, !tbaa !5
  %2865 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2785, ptr noundef %225) #10
  %2866 = icmp eq i32 %2865, -1
  br i1 %2866, label %2867, label %2889

2867:                                             ; preds = %2862
  %2868 = load i32, ptr %2293, align 4, !tbaa !5
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = call i32 @s2n_print_stacktrace(ptr noundef %2869) #10
  %2871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2872 = trunc nuw i8 %2871 to i1
  br i1 %2872, label %2873, label %2877

2873:                                             ; preds = %2867
  %2874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2875 = call i32 @fileno(ptr noundef %2874) #10
  %2876 = call i32 @isatty(i32 noundef %2875) #10
  %.not1945 = icmp eq i32 %2876, 0
  br i1 %.not1945, label %2877, label %2878

2877:                                             ; preds = %2873, %2867
  br label %2878

2878:                                             ; preds = %2873, %2877
  %.str.66.sink3073 = phi ptr [ @.str.66, %2877 ], [ @.str.63, %2873 ]
  store i32 %2868, ptr %2293, align 4, !tbaa !5
  %2879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2880 = load i32, ptr @test_count, align 4, !tbaa !5
  %2881 = load i32, ptr %2239, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror(i32 noundef %2881, ptr noundef nonnull @.str.65) #10
  %2883 = load i32, ptr %2239, align 4, !tbaa !5
  %2884 = call ptr @s2n_strerror_debug(i32 noundef %2883, ptr noundef nonnull @.str.65) #10
  %2885 = load i32, ptr %2293, align 4, !tbaa !5
  %2886 = call ptr @strerror(i32 noundef %2885) #10
  %2887 = load i32, ptr %2293, align 4, !tbaa !5
  %2888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2879, ptr noundef nonnull %.str.66.sink3073, i32 noundef %2880, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 417, ptr noundef %2882, ptr noundef %2884, ptr noundef %2886, i32 noundef %2887) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2889:                                             ; preds = %2862
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #10
  store i64 0, ptr %17, align 8
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = add nsw i32 %2890, 1
  store i32 %2891, ptr @test_count, align 4, !tbaa !5
  %2892 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %17) #10
  %2893 = icmp eq i32 %2892, -1
  br i1 %2893, label %2894, label %2916

2894:                                             ; preds = %2889
  %2895 = load i32, ptr %2293, align 4, !tbaa !5
  %2896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2897 = call i32 @s2n_print_stacktrace(ptr noundef %2896) #10
  %2898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2899 = trunc nuw i8 %2898 to i1
  br i1 %2899, label %2900, label %2904

2900:                                             ; preds = %2894
  %2901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2902 = call i32 @fileno(ptr noundef %2901) #10
  %2903 = call i32 @isatty(i32 noundef %2902) #10
  %.not1944 = icmp eq i32 %2903, 0
  br i1 %.not1944, label %2904, label %2905

2904:                                             ; preds = %2900, %2894
  br label %2905

2905:                                             ; preds = %2900, %2904
  %.str.66.sink3082 = phi ptr [ @.str.66, %2904 ], [ @.str.63, %2900 ]
  store i32 %2895, ptr %2293, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = load i32, ptr @test_count, align 4, !tbaa !5
  %2908 = load i32, ptr %2239, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror(i32 noundef %2908, ptr noundef nonnull @.str.65) #10
  %2910 = load i32, ptr %2239, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror_debug(i32 noundef %2910, ptr noundef nonnull @.str.65) #10
  %2912 = load i32, ptr %2293, align 4, !tbaa !5
  %2913 = call ptr @strerror(i32 noundef %2912) #10
  %2914 = load i32, ptr %2293, align 4, !tbaa !5
  %2915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2906, ptr noundef nonnull %.str.66.sink3082, i32 noundef %2907, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 421, ptr noundef %2909, ptr noundef %2911, ptr noundef %2913, i32 noundef %2914) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2916:                                             ; preds = %2889
  %2917 = load i32, ptr @test_count, align 4, !tbaa !5
  %2918 = add nsw i32 %2917, 1
  store i32 %2918, ptr @test_count, align 4, !tbaa !5
  %2919 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %2784, ptr noundef nonnull %2785, ptr noundef nonnull %17) #10
  %2920 = icmp eq i32 %2919, -1
  br i1 %2920, label %2921, label %2943

2921:                                             ; preds = %2916
  %2922 = load i32, ptr %2293, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = call i32 @s2n_print_stacktrace(ptr noundef %2923) #10
  %2925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2926 = trunc nuw i8 %2925 to i1
  br i1 %2926, label %2927, label %2931

2927:                                             ; preds = %2921
  %2928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2929 = call i32 @fileno(ptr noundef %2928) #10
  %2930 = call i32 @isatty(i32 noundef %2929) #10
  %.not1943 = icmp eq i32 %2930, 0
  br i1 %.not1943, label %2931, label %2932

2931:                                             ; preds = %2927, %2921
  br label %2932

2932:                                             ; preds = %2927, %2931
  %.str.66.sink3091 = phi ptr [ @.str.66, %2931 ], [ @.str.63, %2927 ]
  store i32 %2922, ptr %2293, align 4, !tbaa !5
  %2933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2934 = load i32, ptr @test_count, align 4, !tbaa !5
  %2935 = load i32, ptr %2239, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror(i32 noundef %2935, ptr noundef nonnull @.str.65) #10
  %2937 = load i32, ptr %2239, align 4, !tbaa !5
  %2938 = call ptr @s2n_strerror_debug(i32 noundef %2937, ptr noundef nonnull @.str.65) #10
  %2939 = load i32, ptr %2293, align 4, !tbaa !5
  %2940 = call ptr @strerror(i32 noundef %2939) #10
  %2941 = load i32, ptr %2293, align 4, !tbaa !5
  %2942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2933, ptr noundef nonnull %.str.66.sink3091, i32 noundef %2934, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 422, ptr noundef %2936, ptr noundef %2938, ptr noundef %2940, i32 noundef %2941) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2943:                                             ; preds = %2916
  %2944 = load i32, ptr @test_count, align 4, !tbaa !5
  %2945 = add nsw i32 %2944, 1
  store i32 %2945, ptr @test_count, align 4, !tbaa !5
  %2946 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %2785, ptr noundef nonnull %2784) #10
  %2947 = icmp eq i32 %2946, -1
  br i1 %2947, label %2948, label %2970

2948:                                             ; preds = %2943
  %2949 = load i32, ptr %2293, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = call i32 @s2n_print_stacktrace(ptr noundef %2950) #10
  %2952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2953 = trunc nuw i8 %2952 to i1
  br i1 %2953, label %2954, label %2958

2954:                                             ; preds = %2948
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = call i32 @fileno(ptr noundef %2955) #10
  %2957 = call i32 @isatty(i32 noundef %2956) #10
  %.not1942 = icmp eq i32 %2957, 0
  br i1 %.not1942, label %2958, label %2959

2958:                                             ; preds = %2954, %2948
  br label %2959

2959:                                             ; preds = %2954, %2958
  %.str.66.sink3100 = phi ptr [ @.str.66, %2958 ], [ @.str.63, %2954 ]
  store i32 %2949, ptr %2293, align 4, !tbaa !5
  %2960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2961 = load i32, ptr @test_count, align 4, !tbaa !5
  %2962 = load i32, ptr %2239, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror(i32 noundef %2962, ptr noundef nonnull @.str.65) #10
  %2964 = load i32, ptr %2239, align 4, !tbaa !5
  %2965 = call ptr @s2n_strerror_debug(i32 noundef %2964, ptr noundef nonnull @.str.65) #10
  %2966 = load i32, ptr %2293, align 4, !tbaa !5
  %2967 = call ptr @strerror(i32 noundef %2966) #10
  %2968 = load i32, ptr %2293, align 4, !tbaa !5
  %2969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2960, ptr noundef nonnull %.str.66.sink3100, i32 noundef %2961, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 425, ptr noundef %2963, ptr noundef %2965, ptr noundef %2967, i32 noundef %2968) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2970:                                             ; preds = %2943
  %2971 = load i32, ptr @test_count, align 4, !tbaa !5
  %2972 = add nsw i32 %2971, 1
  store i32 %2972, ptr @test_count, align 4, !tbaa !5
  %2973 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %2784, i32 noundef 2) #10
  br i1 %2973, label %2974, label %2976

2974:                                             ; preds = %2970
  %2975 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %2785, i32 noundef 2) #10
  br i1 %2975, label %2998, label %2976

2976:                                             ; preds = %2974, %2970
  %2977 = load i32, ptr %2293, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = call i32 @s2n_print_stacktrace(ptr noundef %2978) #10
  %2980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2981 = trunc nuw i8 %2980 to i1
  br i1 %2981, label %2982, label %2986

2982:                                             ; preds = %2976
  %2983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2984 = call i32 @fileno(ptr noundef %2983) #10
  %2985 = call i32 @isatty(i32 noundef %2984) #10
  %.not1560 = icmp eq i32 %2985, 0
  br i1 %.not1560, label %2986, label %2987

2986:                                             ; preds = %2982, %2976
  br label %2987

2987:                                             ; preds = %2982, %2986
  %.str.66.sink3109 = phi ptr [ @.str.66, %2986 ], [ @.str.63, %2982 ]
  store i32 %2977, ptr %2293, align 4, !tbaa !5
  %2988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2989 = load i32, ptr @test_count, align 4, !tbaa !5
  %2990 = load i32, ptr %2239, align 4, !tbaa !5
  %2991 = call ptr @s2n_strerror(i32 noundef %2990, ptr noundef nonnull @.str.65) #10
  %2992 = load i32, ptr %2239, align 4, !tbaa !5
  %2993 = call ptr @s2n_strerror_debug(i32 noundef %2992, ptr noundef nonnull @.str.65) #10
  %2994 = load i32, ptr %2293, align 4, !tbaa !5
  %2995 = call ptr @strerror(i32 noundef %2994) #10
  %2996 = load i32, ptr %2293, align 4, !tbaa !5
  %2997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2988, ptr noundef nonnull %.str.66.sink3109, i32 noundef %2989, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 426, ptr noundef %2991, ptr noundef %2993, ptr noundef %2995, i32 noundef %2996) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2998:                                             ; preds = %2974
  %2999 = load i32, ptr @test_count, align 4, !tbaa !5
  %3000 = add nsw i32 %2999, 1
  store i32 %3000, ptr @test_count, align 4, !tbaa !5
  %3001 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %2785, ptr noundef nonnull %2784, ptr noundef nonnull %4)
  %3002 = call zeroext i1 @s2n_result_is_ok(i32 %3001)
  br i1 %3002, label %3025, label %3003

3003:                                             ; preds = %2998
  %3004 = load i32, ptr %2293, align 4, !tbaa !5
  %3005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3006 = call i32 @s2n_print_stacktrace(ptr noundef %3005) #10
  %3007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3008 = trunc nuw i8 %3007 to i1
  br i1 %3008, label %3009, label %3013

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

3013:                                             ; preds = %3009, %3003
  br label %3014

3014:                                             ; preds = %3009, %3013
  %.str.66.sink3118 = phi ptr [ @.str.66, %3013 ], [ @.str.63, %3009 ]
  store i32 %3004, ptr %2293, align 4, !tbaa !5
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = load i32, ptr @test_count, align 4, !tbaa !5
  %3017 = load i32, ptr %2239, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror(i32 noundef %3017, ptr noundef nonnull @.str.65) #10
  %3019 = load i32, ptr %2239, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror_debug(i32 noundef %3019, ptr noundef nonnull @.str.65) #10
  %3021 = load i32, ptr %2293, align 4, !tbaa !5
  %3022 = call ptr @strerror(i32 noundef %3021) #10
  %3023 = load i32, ptr %2293, align 4, !tbaa !5
  %3024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3015, ptr noundef nonnull %.str.66.sink3118, i32 noundef %3016, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.62, i32 noundef 429, ptr noundef %3018, ptr noundef %3020, ptr noundef %3022, i32 noundef %3023) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3025:                                             ; preds = %2998
  %3026 = load i32, ptr @test_count, align 4, !tbaa !5
  %3027 = add nsw i32 %3026, 1
  store i32 %3027, ptr @test_count, align 4, !tbaa !5
  %3028 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %2785, ptr noundef nonnull %2784) #10
  %3029 = icmp eq i32 %3028, -1
  br i1 %3029, label %3030, label %3052

3030:                                             ; preds = %3025
  %3031 = load i32, ptr %2293, align 4, !tbaa !5
  %3032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3033 = call i32 @s2n_print_stacktrace(ptr noundef %3032) #10
  %3034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3035 = trunc nuw i8 %3034 to i1
  br i1 %3035, label %3036, label %3040

3036:                                             ; preds = %3030
  %3037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3038 = call i32 @fileno(ptr noundef %3037) #10
  %3039 = call i32 @isatty(i32 noundef %3038) #10
  %.not1941 = icmp eq i32 %3039, 0
  br i1 %.not1941, label %3040, label %3041

3040:                                             ; preds = %3036, %3030
  br label %3041

3041:                                             ; preds = %3036, %3040
  %.str.66.sink3127 = phi ptr [ @.str.66, %3040 ], [ @.str.63, %3036 ]
  store i32 %3031, ptr %2293, align 4, !tbaa !5
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = load i32, ptr @test_count, align 4, !tbaa !5
  %3044 = load i32, ptr %2239, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror(i32 noundef %3044, ptr noundef nonnull @.str.65) #10
  %3046 = load i32, ptr %2239, align 4, !tbaa !5
  %3047 = call ptr @s2n_strerror_debug(i32 noundef %3046, ptr noundef nonnull @.str.65) #10
  %3048 = load i32, ptr %2293, align 4, !tbaa !5
  %3049 = call ptr @strerror(i32 noundef %3048) #10
  %3050 = load i32, ptr %2293, align 4, !tbaa !5
  %3051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3042, ptr noundef nonnull %.str.66.sink3127, i32 noundef %3043, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 432, ptr noundef %3045, ptr noundef %3047, ptr noundef %3049, i32 noundef %3050) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3052:                                             ; preds = %3025
  %3053 = load i32, ptr @test_count, align 4, !tbaa !5
  %3054 = add nsw i32 %3053, 1
  store i32 %3054, ptr @test_count, align 4, !tbaa !5
  %3055 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2784) #10
  %3056 = icmp eq i32 %3055, -1
  br i1 %3056, label %3057, label %3079

3057:                                             ; preds = %3052
  %3058 = load i32, ptr %2293, align 4, !tbaa !5
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = call i32 @s2n_print_stacktrace(ptr noundef %3059) #10
  %3061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3062 = trunc nuw i8 %3061 to i1
  br i1 %3062, label %3063, label %3067

3063:                                             ; preds = %3057
  %3064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3065 = call i32 @fileno(ptr noundef %3064) #10
  %3066 = call i32 @isatty(i32 noundef %3065) #10
  %.not1940 = icmp eq i32 %3066, 0
  br i1 %.not1940, label %3067, label %3068

3067:                                             ; preds = %3063, %3057
  br label %3068

3068:                                             ; preds = %3063, %3067
  %.str.66.sink3136 = phi ptr [ @.str.66, %3067 ], [ @.str.63, %3063 ]
  store i32 %3058, ptr %2293, align 4, !tbaa !5
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = load i32, ptr @test_count, align 4, !tbaa !5
  %3071 = load i32, ptr %2239, align 4, !tbaa !5
  %3072 = call ptr @s2n_strerror(i32 noundef %3071, ptr noundef nonnull @.str.65) #10
  %3073 = load i32, ptr %2239, align 4, !tbaa !5
  %3074 = call ptr @s2n_strerror_debug(i32 noundef %3073, ptr noundef nonnull @.str.65) #10
  %3075 = load i32, ptr %2293, align 4, !tbaa !5
  %3076 = call ptr @strerror(i32 noundef %3075) #10
  %3077 = load i32, ptr %2293, align 4, !tbaa !5
  %3078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3069, ptr noundef nonnull %.str.66.sink3136, i32 noundef %3070, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 433, ptr noundef %3072, ptr noundef %3074, ptr noundef %3076, i32 noundef %3077) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3079:                                             ; preds = %3052
  %3080 = load i32, ptr @test_count, align 4, !tbaa !5
  %3081 = add nsw i32 %3080, 1
  store i32 %3081, ptr @test_count, align 4, !tbaa !5
  %3082 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2785) #10
  %3083 = icmp eq i32 %3082, -1
  br i1 %3083, label %3084, label %3106

3084:                                             ; preds = %3079
  %3085 = load i32, ptr %2293, align 4, !tbaa !5
  %3086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3087 = call i32 @s2n_print_stacktrace(ptr noundef %3086) #10
  %3088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3089 = trunc nuw i8 %3088 to i1
  br i1 %3089, label %3090, label %3094

3090:                                             ; preds = %3084
  %3091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3092 = call i32 @fileno(ptr noundef %3091) #10
  %3093 = call i32 @isatty(i32 noundef %3092) #10
  %.not1939 = icmp eq i32 %3093, 0
  br i1 %.not1939, label %3094, label %3095

3094:                                             ; preds = %3090, %3084
  br label %3095

3095:                                             ; preds = %3090, %3094
  %.str.66.sink3145 = phi ptr [ @.str.66, %3094 ], [ @.str.63, %3090 ]
  store i32 %3085, ptr %2293, align 4, !tbaa !5
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = load i32, ptr %2239, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror(i32 noundef %3098, ptr noundef nonnull @.str.65) #10
  %3100 = load i32, ptr %2239, align 4, !tbaa !5
  %3101 = call ptr @s2n_strerror_debug(i32 noundef %3100, ptr noundef nonnull @.str.65) #10
  %3102 = load i32, ptr %2293, align 4, !tbaa !5
  %3103 = call ptr @strerror(i32 noundef %3102) #10
  %3104 = load i32, ptr %2293, align 4, !tbaa !5
  %3105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3096, ptr noundef nonnull %.str.66.sink3145, i32 noundef %3097, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 434, ptr noundef %3099, ptr noundef %3101, ptr noundef %3103, i32 noundef %3104) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3106:                                             ; preds = %3079
  %3107 = load i32, ptr @test_count, align 4, !tbaa !5
  %3108 = add nsw i32 %3107, 1
  store i32 %3108, ptr @test_count, align 4, !tbaa !5
  %3109 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %2784, ptr noundef nonnull %2785, ptr noundef nonnull %17) #10
  %3110 = icmp eq i32 %3109, -1
  br i1 %3110, label %3111, label %3133

3111:                                             ; preds = %3106
  %3112 = load i32, ptr %2293, align 4, !tbaa !5
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = call i32 @s2n_print_stacktrace(ptr noundef %3113) #10
  %3115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3116 = trunc nuw i8 %3115 to i1
  br i1 %3116, label %3117, label %3121

3117:                                             ; preds = %3111
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = call i32 @fileno(ptr noundef %3118) #10
  %3120 = call i32 @isatty(i32 noundef %3119) #10
  %.not1938 = icmp eq i32 %3120, 0
  br i1 %.not1938, label %3121, label %3122

3121:                                             ; preds = %3117, %3111
  br label %3122

3122:                                             ; preds = %3117, %3121
  %.str.66.sink3154 = phi ptr [ @.str.66, %3121 ], [ @.str.63, %3117 ]
  store i32 %3112, ptr %2293, align 4, !tbaa !5
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = load i32, ptr @test_count, align 4, !tbaa !5
  %3125 = load i32, ptr %2239, align 4, !tbaa !5
  %3126 = call ptr @s2n_strerror(i32 noundef %3125, ptr noundef nonnull @.str.65) #10
  %3127 = load i32, ptr %2239, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror_debug(i32 noundef %3127, ptr noundef nonnull @.str.65) #10
  %3129 = load i32, ptr %2293, align 4, !tbaa !5
  %3130 = call ptr @strerror(i32 noundef %3129) #10
  %3131 = load i32, ptr %2293, align 4, !tbaa !5
  %3132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3123, ptr noundef nonnull %.str.66.sink3154, i32 noundef %3124, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 435, ptr noundef %3126, ptr noundef %3128, ptr noundef %3130, i32 noundef %3131) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3133:                                             ; preds = %3106
  %3134 = load i32, ptr %923, align 4, !tbaa !20
  %3135 = load i32, ptr %924, align 8, !tbaa !23
  %3136 = sub i32 %3134, %3135
  %3137 = zext i32 %3136 to i64
  %3138 = load i32, ptr @test_count, align 4, !tbaa !5
  %3139 = add nsw i32 %3138, 1
  store i32 %3139, ptr @test_count, align 4, !tbaa !5
  %3140 = load ptr, ptr %7, align 8, !tbaa !24
  %3141 = call i32 @s2n_connection_set_session(ptr noundef nonnull %2784, ptr noundef %3140, i64 noundef %3137)
  %3142 = icmp eq i32 %3141, -1
  br i1 %3142, label %3143, label %3165

3143:                                             ; preds = %3133
  %3144 = load i32, ptr %2293, align 4, !tbaa !5
  %3145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3146 = call i32 @s2n_print_stacktrace(ptr noundef %3145) #10
  %3147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3148 = trunc nuw i8 %3147 to i1
  br i1 %3148, label %3149, label %3153

3149:                                             ; preds = %3143
  %3150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3151 = call i32 @fileno(ptr noundef %3150) #10
  %3152 = call i32 @isatty(i32 noundef %3151) #10
  %.not1937 = icmp eq i32 %3152, 0
  br i1 %.not1937, label %3153, label %3154

3153:                                             ; preds = %3149, %3143
  br label %3154

3154:                                             ; preds = %3149, %3153
  %.str.66.sink3163 = phi ptr [ @.str.66, %3153 ], [ @.str.63, %3149 ]
  store i32 %3144, ptr %2293, align 4, !tbaa !5
  %3155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3156 = load i32, ptr @test_count, align 4, !tbaa !5
  %3157 = load i32, ptr %2239, align 4, !tbaa !5
  %3158 = call ptr @s2n_strerror(i32 noundef %3157, ptr noundef nonnull @.str.65) #10
  %3159 = load i32, ptr %2239, align 4, !tbaa !5
  %3160 = call ptr @s2n_strerror_debug(i32 noundef %3159, ptr noundef nonnull @.str.65) #10
  %3161 = load i32, ptr %2293, align 4, !tbaa !5
  %3162 = call ptr @strerror(i32 noundef %3161) #10
  %3163 = load i32, ptr %2293, align 4, !tbaa !5
  %3164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3155, ptr noundef nonnull %.str.66.sink3163, i32 noundef %3156, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.62, i32 noundef 439, ptr noundef %3158, ptr noundef %3160, ptr noundef %3162, i32 noundef %3163) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3165:                                             ; preds = %3133
  %3166 = load i32, ptr @test_count, align 4, !tbaa !5
  %3167 = add nsw i32 %3166, 1
  store i32 %3167, ptr @test_count, align 4, !tbaa !5
  %3168 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %7) #10
  %3169 = icmp eq i32 %3168, -1
  br i1 %3169, label %3170, label %3192

3170:                                             ; preds = %3165
  %3171 = load i32, ptr %2293, align 4, !tbaa !5
  %3172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3173 = call i32 @s2n_print_stacktrace(ptr noundef %3172) #10
  %3174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3175 = trunc nuw i8 %3174 to i1
  br i1 %3175, label %3176, label %3180

3176:                                             ; preds = %3170
  %3177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3178 = call i32 @fileno(ptr noundef %3177) #10
  %3179 = call i32 @isatty(i32 noundef %3178) #10
  %.not1936 = icmp eq i32 %3179, 0
  br i1 %.not1936, label %3180, label %3181

3180:                                             ; preds = %3176, %3170
  br label %3181

3181:                                             ; preds = %3176, %3180
  %.str.66.sink3172 = phi ptr [ @.str.66, %3180 ], [ @.str.63, %3176 ]
  store i32 %3171, ptr %2293, align 4, !tbaa !5
  %3182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3183 = load i32, ptr @test_count, align 4, !tbaa !5
  %3184 = load i32, ptr %2239, align 4, !tbaa !5
  %3185 = call ptr @s2n_strerror(i32 noundef %3184, ptr noundef nonnull @.str.65) #10
  %3186 = load i32, ptr %2239, align 4, !tbaa !5
  %3187 = call ptr @s2n_strerror_debug(i32 noundef %3186, ptr noundef nonnull @.str.65) #10
  %3188 = load i32, ptr %2293, align 4, !tbaa !5
  %3189 = call ptr @strerror(i32 noundef %3188) #10
  %3190 = load i32, ptr %2293, align 4, !tbaa !5
  %3191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3182, ptr noundef nonnull %.str.66.sink3172, i32 noundef %3183, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.62, i32 noundef 440, ptr noundef %3185, ptr noundef %3187, ptr noundef %3189, i32 noundef %3190) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3192:                                             ; preds = %3165
  %3193 = load i32, ptr @test_count, align 4, !tbaa !5
  %3194 = add nsw i32 %3193, 1
  store i32 %3194, ptr @test_count, align 4, !tbaa !5
  %3195 = call i32 @s2n_config_set_session_state_lifetime(ptr noundef %225, i64 noundef 0) #10
  %3196 = icmp eq i32 %3195, -1
  br i1 %3196, label %3197, label %3219

3197:                                             ; preds = %3192
  %3198 = load i32, ptr %2293, align 4, !tbaa !5
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = call i32 @s2n_print_stacktrace(ptr noundef %3199) #10
  %3201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3202 = trunc nuw i8 %3201 to i1
  br i1 %3202, label %3203, label %3207

3203:                                             ; preds = %3197
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = call i32 @fileno(ptr noundef %3204) #10
  %3206 = call i32 @isatty(i32 noundef %3205) #10
  %.not1935 = icmp eq i32 %3206, 0
  br i1 %.not1935, label %3207, label %3208

3207:                                             ; preds = %3203, %3197
  br label %3208

3208:                                             ; preds = %3203, %3207
  %.str.66.sink3181 = phi ptr [ @.str.66, %3207 ], [ @.str.63, %3203 ]
  store i32 %3198, ptr %2293, align 4, !tbaa !5
  %3209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3210 = load i32, ptr @test_count, align 4, !tbaa !5
  %3211 = load i32, ptr %2239, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror(i32 noundef %3211, ptr noundef nonnull @.str.65) #10
  %3213 = load i32, ptr %2239, align 4, !tbaa !5
  %3214 = call ptr @s2n_strerror_debug(i32 noundef %3213, ptr noundef nonnull @.str.65) #10
  %3215 = load i32, ptr %2293, align 4, !tbaa !5
  %3216 = call ptr @strerror(i32 noundef %3215) #10
  %3217 = load i32, ptr %2293, align 4, !tbaa !5
  %3218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3209, ptr noundef nonnull %.str.66.sink3181, i32 noundef %3210, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.62, i32 noundef 443, ptr noundef %3212, ptr noundef %3214, ptr noundef %3216, i32 noundef %3217) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3219:                                             ; preds = %3192
  %3220 = load i32, ptr @test_count, align 4, !tbaa !5
  %3221 = add nsw i32 %3220, 1
  store i32 %3221, ptr @test_count, align 4, !tbaa !5
  %3222 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %2785, ptr noundef nonnull %2784) #10
  %3223 = icmp eq i32 %3222, -1
  br i1 %3223, label %3224, label %3246

3224:                                             ; preds = %3219
  %3225 = load i32, ptr %2293, align 4, !tbaa !5
  %3226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3227 = call i32 @s2n_print_stacktrace(ptr noundef %3226) #10
  %3228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3229 = trunc nuw i8 %3228 to i1
  br i1 %3229, label %3230, label %3234

3230:                                             ; preds = %3224
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = call i32 @fileno(ptr noundef %3231) #10
  %3233 = call i32 @isatty(i32 noundef %3232) #10
  %.not1934 = icmp eq i32 %3233, 0
  br i1 %.not1934, label %3234, label %3235

3234:                                             ; preds = %3230, %3224
  br label %3235

3235:                                             ; preds = %3230, %3234
  %.str.66.sink3190 = phi ptr [ @.str.66, %3234 ], [ @.str.63, %3230 ]
  store i32 %3225, ptr %2293, align 4, !tbaa !5
  %3236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3237 = load i32, ptr @test_count, align 4, !tbaa !5
  %3238 = load i32, ptr %2239, align 4, !tbaa !5
  %3239 = call ptr @s2n_strerror(i32 noundef %3238, ptr noundef nonnull @.str.65) #10
  %3240 = load i32, ptr %2239, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror_debug(i32 noundef %3240, ptr noundef nonnull @.str.65) #10
  %3242 = load i32, ptr %2293, align 4, !tbaa !5
  %3243 = call ptr @strerror(i32 noundef %3242) #10
  %3244 = load i32, ptr %2293, align 4, !tbaa !5
  %3245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3236, ptr noundef nonnull %.str.66.sink3190, i32 noundef %3237, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 446, ptr noundef %3239, ptr noundef %3241, ptr noundef %3243, i32 noundef %3244) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3246:                                             ; preds = %3219
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = add nsw i32 %3247, 1
  store i32 %3248, ptr @test_count, align 4, !tbaa !5
  %3249 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %2784, i32 noundef 2) #10
  br i1 %3249, label %3250, label %3252

3250:                                             ; preds = %3246
  %3251 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %2785, i32 noundef 2) #10
  br i1 %3251, label %3274, label %3252

3252:                                             ; preds = %3250, %3246
  %3253 = load i32, ptr %2293, align 4, !tbaa !5
  %3254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3255 = call i32 @s2n_print_stacktrace(ptr noundef %3254) #10
  %3256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3257 = trunc nuw i8 %3256 to i1
  br i1 %3257, label %3258, label %3262

3258:                                             ; preds = %3252
  %3259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3260 = call i32 @fileno(ptr noundef %3259) #10
  %3261 = call i32 @isatty(i32 noundef %3260) #10
  %.not1562 = icmp eq i32 %3261, 0
  br i1 %.not1562, label %3262, label %3263

3262:                                             ; preds = %3258, %3252
  br label %3263

3263:                                             ; preds = %3258, %3262
  %.str.66.sink3199 = phi ptr [ @.str.66, %3262 ], [ @.str.63, %3258 ]
  store i32 %3253, ptr %2293, align 4, !tbaa !5
  %3264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %3266 = load i32, ptr %2239, align 4, !tbaa !5
  %3267 = call ptr @s2n_strerror(i32 noundef %3266, ptr noundef nonnull @.str.65) #10
  %3268 = load i32, ptr %2239, align 4, !tbaa !5
  %3269 = call ptr @s2n_strerror_debug(i32 noundef %3268, ptr noundef nonnull @.str.65) #10
  %3270 = load i32, ptr %2293, align 4, !tbaa !5
  %3271 = call ptr @strerror(i32 noundef %3270) #10
  %3272 = load i32, ptr %2293, align 4, !tbaa !5
  %3273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3264, ptr noundef nonnull %.str.66.sink3199, i32 noundef %3265, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 447, ptr noundef %3267, ptr noundef %3269, ptr noundef %3271, i32 noundef %3272) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3274:                                             ; preds = %3250
  %3275 = load i32, ptr @test_count, align 4, !tbaa !5
  %3276 = add nsw i32 %3275, 1
  store i32 %3276, ptr @test_count, align 4, !tbaa !5
  %3277 = call i32 @s2n_connection_free(ptr noundef nonnull %2785) #10
  %3278 = icmp eq i32 %3277, -1
  br i1 %3278, label %3279, label %3301

3279:                                             ; preds = %3274
  %3280 = load i32, ptr %2293, align 4, !tbaa !5
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3282 = call i32 @s2n_print_stacktrace(ptr noundef %3281) #10
  %3283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3284 = trunc nuw i8 %3283 to i1
  br i1 %3284, label %3285, label %3289

3285:                                             ; preds = %3279
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = call i32 @fileno(ptr noundef %3286) #10
  %3288 = call i32 @isatty(i32 noundef %3287) #10
  %.not1933 = icmp eq i32 %3288, 0
  br i1 %.not1933, label %3289, label %3290

3289:                                             ; preds = %3285, %3279
  br label %3290

3290:                                             ; preds = %3285, %3289
  %.str.66.sink3208 = phi ptr [ @.str.66, %3289 ], [ @.str.63, %3285 ]
  store i32 %3280, ptr %2293, align 4, !tbaa !5
  %3291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3292 = load i32, ptr @test_count, align 4, !tbaa !5
  %3293 = load i32, ptr %2239, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror(i32 noundef %3293, ptr noundef nonnull @.str.65) #10
  %3295 = load i32, ptr %2239, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror_debug(i32 noundef %3295, ptr noundef nonnull @.str.65) #10
  %3297 = load i32, ptr %2293, align 4, !tbaa !5
  %3298 = call ptr @strerror(i32 noundef %3297) #10
  %3299 = load i32, ptr %2293, align 4, !tbaa !5
  %3300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3291, ptr noundef nonnull %.str.66.sink3208, i32 noundef %3292, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 449, ptr noundef %3294, ptr noundef %3296, ptr noundef %3298, i32 noundef %3299) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3301:                                             ; preds = %3274
  %3302 = load i32, ptr @test_count, align 4, !tbaa !5
  %3303 = add nsw i32 %3302, 1
  store i32 %3303, ptr @test_count, align 4, !tbaa !5
  %3304 = call i32 @s2n_connection_free(ptr noundef nonnull %2784) #10
  %3305 = icmp eq i32 %3304, -1
  br i1 %3305, label %3306, label %3328

3306:                                             ; preds = %3301
  %3307 = load i32, ptr %2293, align 4, !tbaa !5
  %3308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3309 = call i32 @s2n_print_stacktrace(ptr noundef %3308) #10
  %3310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3311 = trunc nuw i8 %3310 to i1
  br i1 %3311, label %3312, label %3316

3312:                                             ; preds = %3306
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3314 = call i32 @fileno(ptr noundef %3313) #10
  %3315 = call i32 @isatty(i32 noundef %3314) #10
  %.not1932 = icmp eq i32 %3315, 0
  br i1 %.not1932, label %3316, label %3317

3316:                                             ; preds = %3312, %3306
  br label %3317

3317:                                             ; preds = %3312, %3316
  %.str.66.sink3217 = phi ptr [ @.str.66, %3316 ], [ @.str.63, %3312 ]
  store i32 %3307, ptr %2293, align 4, !tbaa !5
  %3318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3319 = load i32, ptr @test_count, align 4, !tbaa !5
  %3320 = load i32, ptr %2239, align 4, !tbaa !5
  %3321 = call ptr @s2n_strerror(i32 noundef %3320, ptr noundef nonnull @.str.65) #10
  %3322 = load i32, ptr %2239, align 4, !tbaa !5
  %3323 = call ptr @s2n_strerror_debug(i32 noundef %3322, ptr noundef nonnull @.str.65) #10
  %3324 = load i32, ptr %2293, align 4, !tbaa !5
  %3325 = call ptr @strerror(i32 noundef %3324) #10
  %3326 = load i32, ptr %2293, align 4, !tbaa !5
  %3327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3318, ptr noundef nonnull %.str.66.sink3217, i32 noundef %3319, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 450, ptr noundef %3321, ptr noundef %3323, ptr noundef %3325, i32 noundef %3326) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3328:                                             ; preds = %3301
  %3329 = load i32, ptr @test_count, align 4, !tbaa !5
  %3330 = add nsw i32 %3329, 1
  store i32 %3330, ptr @test_count, align 4, !tbaa !5
  %3331 = call i32 @s2n_io_pair_close(ptr noundef nonnull %17) #10
  %3332 = icmp eq i32 %3331, -1
  br i1 %3332, label %3333, label %3355

3333:                                             ; preds = %3328
  %3334 = load i32, ptr %2293, align 4, !tbaa !5
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3336 = call i32 @s2n_print_stacktrace(ptr noundef %3335) #10
  %3337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3338 = trunc nuw i8 %3337 to i1
  br i1 %3338, label %3339, label %3343

3339:                                             ; preds = %3333
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = call i32 @fileno(ptr noundef %3340) #10
  %3342 = call i32 @isatty(i32 noundef %3341) #10
  %.not1931 = icmp eq i32 %3342, 0
  br i1 %.not1931, label %3343, label %3344

3343:                                             ; preds = %3339, %3333
  br label %3344

3344:                                             ; preds = %3339, %3343
  %.str.66.sink3226 = phi ptr [ @.str.66, %3343 ], [ @.str.63, %3339 ]
  store i32 %3334, ptr %2293, align 4, !tbaa !5
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = load i32, ptr @test_count, align 4, !tbaa !5
  %3347 = load i32, ptr %2239, align 4, !tbaa !5
  %3348 = call ptr @s2n_strerror(i32 noundef %3347, ptr noundef nonnull @.str.65) #10
  %3349 = load i32, ptr %2239, align 4, !tbaa !5
  %3350 = call ptr @s2n_strerror_debug(i32 noundef %3349, ptr noundef nonnull @.str.65) #10
  %3351 = load i32, ptr %2293, align 4, !tbaa !5
  %3352 = call ptr @strerror(i32 noundef %3351) #10
  %3353 = load i32, ptr %2293, align 4, !tbaa !5
  %3354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3345, ptr noundef nonnull %.str.66.sink3226, i32 noundef %3346, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 451, ptr noundef %3348, ptr noundef %3350, ptr noundef %3352, i32 noundef %3353) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3355:                                             ; preds = %3328
  %3356 = load i32, ptr @test_count, align 4, !tbaa !5
  %3357 = add nsw i32 %3356, 1
  store i32 %3357, ptr @test_count, align 4, !tbaa !5
  %3358 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %7) #10
  %3359 = icmp eq i32 %3358, -1
  br i1 %3359, label %3360, label %3382

3360:                                             ; preds = %3355
  %3361 = load i32, ptr %2293, align 4, !tbaa !5
  %3362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3363 = call i32 @s2n_print_stacktrace(ptr noundef %3362) #10
  %3364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3365 = trunc nuw i8 %3364 to i1
  br i1 %3365, label %3366, label %3370

3366:                                             ; preds = %3360
  %3367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3368 = call i32 @fileno(ptr noundef %3367) #10
  %3369 = call i32 @isatty(i32 noundef %3368) #10
  %.not1930 = icmp eq i32 %3369, 0
  br i1 %.not1930, label %3370, label %3371

3370:                                             ; preds = %3366, %3360
  br label %3371

3371:                                             ; preds = %3366, %3370
  %.str.66.sink3235 = phi ptr [ @.str.66, %3370 ], [ @.str.63, %3366 ]
  store i32 %3361, ptr %2293, align 4, !tbaa !5
  %3372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3373 = load i32, ptr @test_count, align 4, !tbaa !5
  %3374 = load i32, ptr %2239, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror(i32 noundef %3374, ptr noundef nonnull @.str.65) #10
  %3376 = load i32, ptr %2239, align 4, !tbaa !5
  %3377 = call ptr @s2n_strerror_debug(i32 noundef %3376, ptr noundef nonnull @.str.65) #10
  %3378 = load i32, ptr %2293, align 4, !tbaa !5
  %3379 = call ptr @strerror(i32 noundef %3378) #10
  %3380 = load i32, ptr %2293, align 4, !tbaa !5
  %3381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3372, ptr noundef nonnull %.str.66.sink3235, i32 noundef %3373, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.62, i32 noundef 452, ptr noundef %3375, ptr noundef %3377, ptr noundef %3379, i32 noundef %3380) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3382:                                             ; preds = %3355
  %3383 = load i32, ptr @test_count, align 4, !tbaa !5
  %3384 = add nsw i32 %3383, 1
  store i32 %3384, ptr @test_count, align 4, !tbaa !5
  %3385 = call i32 @s2n_config_set_session_state_lifetime(ptr noundef %225, i64 noundef 54000000000000) #10
  %3386 = icmp eq i32 %3385, -1
  br i1 %3386, label %3387, label %3409

3387:                                             ; preds = %3382
  %3388 = load i32, ptr %2293, align 4, !tbaa !5
  %3389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3390 = call i32 @s2n_print_stacktrace(ptr noundef %3389) #10
  %3391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3392 = trunc nuw i8 %3391 to i1
  br i1 %3392, label %3393, label %3397

3393:                                             ; preds = %3387
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = call i32 @fileno(ptr noundef %3394) #10
  %3396 = call i32 @isatty(i32 noundef %3395) #10
  %.not1929 = icmp eq i32 %3396, 0
  br i1 %.not1929, label %3397, label %3398

3397:                                             ; preds = %3393, %3387
  br label %3398

3398:                                             ; preds = %3393, %3397
  %.str.66.sink3244 = phi ptr [ @.str.66, %3397 ], [ @.str.63, %3393 ]
  store i32 %3388, ptr %2293, align 4, !tbaa !5
  %3399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3400 = load i32, ptr @test_count, align 4, !tbaa !5
  %3401 = load i32, ptr %2239, align 4, !tbaa !5
  %3402 = call ptr @s2n_strerror(i32 noundef %3401, ptr noundef nonnull @.str.65) #10
  %3403 = load i32, ptr %2239, align 4, !tbaa !5
  %3404 = call ptr @s2n_strerror_debug(i32 noundef %3403, ptr noundef nonnull @.str.65) #10
  %3405 = load i32, ptr %2293, align 4, !tbaa !5
  %3406 = call ptr @strerror(i32 noundef %3405) #10
  %3407 = load i32, ptr %2293, align 4, !tbaa !5
  %3408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3399, ptr noundef nonnull %.str.66.sink3244, i32 noundef %3400, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.62, i32 noundef 453, ptr noundef %3402, ptr noundef %3404, ptr noundef %3406, i32 noundef %3407) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3409:                                             ; preds = %3382
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  %3410 = getelementptr inbounds i8, ptr %18, i64 3
  br label %3418

3411:                                             ; preds = %4073
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #10
  %3412 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %3412, ptr %21, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #10
  %3413 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %3413, ptr %22, align 8, !tbaa !9
  %3414 = load i32, ptr @test_count, align 4, !tbaa !5
  %3415 = add nsw i32 %3414, 1
  store i32 %3415, ptr @test_count, align 4, !tbaa !5
  %3416 = load ptr, ptr %21, align 8, !tbaa !9
  %3417 = icmp eq ptr %3416, null
  br i1 %3417, label %4075, label %4097

3418:                                             ; preds = %3409, %4073
  %.015122056 = phi i64 [ 0, %3409 ], [ %4074, %4073 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #10
  %3419 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %3, i64 0, i64 %.015122056
  %3420 = load i32, ptr %3419, align 4
  store i32 %3420, ptr %18, align 4
  store i8 0, ptr %3410, align 1, !tbaa !17
  %3421 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %3422 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %3423 = load i32, ptr @test_count, align 4, !tbaa !5
  %3424 = add nsw i32 %3423, 1
  store i32 %3424, ptr @test_count, align 4, !tbaa !5
  %3425 = icmp eq ptr %3421, null
  br i1 %3425, label %3426, label %3448

3426:                                             ; preds = %3418
  %3427 = load i32, ptr %2293, align 4, !tbaa !5
  %3428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3429 = call i32 @s2n_print_stacktrace(ptr noundef %3428) #10
  %3430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3431 = trunc nuw i8 %3430 to i1
  br i1 %3431, label %3432, label %3436

3432:                                             ; preds = %3426
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = call i32 @fileno(ptr noundef %3433) #10
  %3435 = call i32 @isatty(i32 noundef %3434) #10
  %.not1928 = icmp eq i32 %3435, 0
  br i1 %.not1928, label %3436, label %3437

3436:                                             ; preds = %3432, %3426
  br label %3437

3437:                                             ; preds = %3432, %3436
  %.str.66.sink3253 = phi ptr [ @.str.66, %3436 ], [ @.str.63, %3432 ]
  store i32 %3427, ptr %2293, align 4, !tbaa !5
  %3438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3439 = load i32, ptr @test_count, align 4, !tbaa !5
  %3440 = load i32, ptr %2239, align 4, !tbaa !5
  %3441 = call ptr @s2n_strerror(i32 noundef %3440, ptr noundef nonnull @.str.65) #10
  %3442 = load i32, ptr %2239, align 4, !tbaa !5
  %3443 = call ptr @s2n_strerror_debug(i32 noundef %3442, ptr noundef nonnull @.str.65) #10
  %3444 = load i32, ptr %2293, align 4, !tbaa !5
  %3445 = call ptr @strerror(i32 noundef %3444) #10
  %3446 = load i32, ptr %2293, align 4, !tbaa !5
  %3447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3438, ptr noundef nonnull %.str.66.sink3253, i32 noundef %3439, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 464, ptr noundef %3441, ptr noundef %3443, ptr noundef %3445, i32 noundef %3446) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3448:                                             ; preds = %3418
  %3449 = add nsw i32 %3423, 2
  store i32 %3449, ptr @test_count, align 4, !tbaa !5
  %3450 = icmp eq ptr %3422, null
  br i1 %3450, label %3451, label %3473

3451:                                             ; preds = %3448
  %3452 = load i32, ptr %2293, align 4, !tbaa !5
  %3453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3454 = call i32 @s2n_print_stacktrace(ptr noundef %3453) #10
  %3455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3456 = trunc nuw i8 %3455 to i1
  br i1 %3456, label %3457, label %3461

3457:                                             ; preds = %3451
  %3458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3459 = call i32 @fileno(ptr noundef %3458) #10
  %3460 = call i32 @isatty(i32 noundef %3459) #10
  %.not1927 = icmp eq i32 %3460, 0
  br i1 %.not1927, label %3461, label %3462

3461:                                             ; preds = %3457, %3451
  br label %3462

3462:                                             ; preds = %3457, %3461
  %.str.66.sink3262 = phi ptr [ @.str.66, %3461 ], [ @.str.63, %3457 ]
  store i32 %3452, ptr %2293, align 4, !tbaa !5
  %3463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3464 = load i32, ptr @test_count, align 4, !tbaa !5
  %3465 = load i32, ptr %2239, align 4, !tbaa !5
  %3466 = call ptr @s2n_strerror(i32 noundef %3465, ptr noundef nonnull @.str.65) #10
  %3467 = load i32, ptr %2239, align 4, !tbaa !5
  %3468 = call ptr @s2n_strerror_debug(i32 noundef %3467, ptr noundef nonnull @.str.65) #10
  %3469 = load i32, ptr %2293, align 4, !tbaa !5
  %3470 = call ptr @strerror(i32 noundef %3469) #10
  %3471 = load i32, ptr %2293, align 4, !tbaa !5
  %3472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3463, ptr noundef nonnull %.str.66.sink3262, i32 noundef %3464, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 465, ptr noundef %3466, ptr noundef %3468, ptr noundef %3470, i32 noundef %3471) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3473:                                             ; preds = %3448
  %3474 = add nsw i32 %3423, 3
  store i32 %3474, ptr @test_count, align 4, !tbaa !5
  %3475 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3421, ptr noundef nonnull %631) #10
  %3476 = icmp eq i32 %3475, -1
  br i1 %3476, label %3477, label %3499

3477:                                             ; preds = %3473
  %3478 = load i32, ptr %2293, align 4, !tbaa !5
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = call i32 @s2n_print_stacktrace(ptr noundef %3479) #10
  %3481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3482 = trunc nuw i8 %3481 to i1
  br i1 %3482, label %3483, label %3487

3483:                                             ; preds = %3477
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = call i32 @fileno(ptr noundef %3484) #10
  %3486 = call i32 @isatty(i32 noundef %3485) #10
  %.not1926 = icmp eq i32 %3486, 0
  br i1 %.not1926, label %3487, label %3488

3487:                                             ; preds = %3483, %3477
  br label %3488

3488:                                             ; preds = %3483, %3487
  %.str.66.sink3271 = phi ptr [ @.str.66, %3487 ], [ @.str.63, %3483 ]
  store i32 %3478, ptr %2293, align 4, !tbaa !5
  %3489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3490 = load i32, ptr @test_count, align 4, !tbaa !5
  %3491 = load i32, ptr %2239, align 4, !tbaa !5
  %3492 = call ptr @s2n_strerror(i32 noundef %3491, ptr noundef nonnull @.str.65) #10
  %3493 = load i32, ptr %2239, align 4, !tbaa !5
  %3494 = call ptr @s2n_strerror_debug(i32 noundef %3493, ptr noundef nonnull @.str.65) #10
  %3495 = load i32, ptr %2293, align 4, !tbaa !5
  %3496 = call ptr @strerror(i32 noundef %3495) #10
  %3497 = load i32, ptr %2293, align 4, !tbaa !5
  %3498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3489, ptr noundef nonnull %.str.66.sink3271, i32 noundef %3490, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 467, ptr noundef %3492, ptr noundef %3494, ptr noundef %3496, i32 noundef %3497) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3499:                                             ; preds = %3473
  %3500 = load i32, ptr @test_count, align 4, !tbaa !5
  %3501 = add nsw i32 %3500, 1
  store i32 %3501, ptr @test_count, align 4, !tbaa !5
  %3502 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3422, ptr noundef %225) #10
  %3503 = icmp eq i32 %3502, -1
  br i1 %3503, label %3504, label %3526

3504:                                             ; preds = %3499
  %3505 = load i32, ptr %2293, align 4, !tbaa !5
  %3506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3507 = call i32 @s2n_print_stacktrace(ptr noundef %3506) #10
  %3508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3509 = trunc nuw i8 %3508 to i1
  br i1 %3509, label %3510, label %3514

3510:                                             ; preds = %3504
  %3511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3512 = call i32 @fileno(ptr noundef %3511) #10
  %3513 = call i32 @isatty(i32 noundef %3512) #10
  %.not1925 = icmp eq i32 %3513, 0
  br i1 %.not1925, label %3514, label %3515

3514:                                             ; preds = %3510, %3504
  br label %3515

3515:                                             ; preds = %3510, %3514
  %.str.66.sink3280 = phi ptr [ @.str.66, %3514 ], [ @.str.63, %3510 ]
  store i32 %3505, ptr %2293, align 4, !tbaa !5
  %3516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3517 = load i32, ptr @test_count, align 4, !tbaa !5
  %3518 = load i32, ptr %2239, align 4, !tbaa !5
  %3519 = call ptr @s2n_strerror(i32 noundef %3518, ptr noundef nonnull @.str.65) #10
  %3520 = load i32, ptr %2239, align 4, !tbaa !5
  %3521 = call ptr @s2n_strerror_debug(i32 noundef %3520, ptr noundef nonnull @.str.65) #10
  %3522 = load i32, ptr %2293, align 4, !tbaa !5
  %3523 = call ptr @strerror(i32 noundef %3522) #10
  %3524 = load i32, ptr %2293, align 4, !tbaa !5
  %3525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3516, ptr noundef nonnull %.str.66.sink3280, i32 noundef %3517, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 468, ptr noundef %3519, ptr noundef %3521, ptr noundef %3523, i32 noundef %3524) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3526:                                             ; preds = %3499
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #10
  store i64 0, ptr %19, align 8
  %3527 = load i32, ptr @test_count, align 4, !tbaa !5
  %3528 = add nsw i32 %3527, 1
  store i32 %3528, ptr @test_count, align 4, !tbaa !5
  %3529 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %19) #10
  %3530 = icmp eq i32 %3529, -1
  br i1 %3530, label %3531, label %3553

3531:                                             ; preds = %3526
  %3532 = load i32, ptr %2293, align 4, !tbaa !5
  %3533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3534 = call i32 @s2n_print_stacktrace(ptr noundef %3533) #10
  %3535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3536 = trunc nuw i8 %3535 to i1
  br i1 %3536, label %3537, label %3541

3537:                                             ; preds = %3531
  %3538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3539 = call i32 @fileno(ptr noundef %3538) #10
  %3540 = call i32 @isatty(i32 noundef %3539) #10
  %.not1924 = icmp eq i32 %3540, 0
  br i1 %.not1924, label %3541, label %3542

3541:                                             ; preds = %3537, %3531
  br label %3542

3542:                                             ; preds = %3537, %3541
  %.str.66.sink3289 = phi ptr [ @.str.66, %3541 ], [ @.str.63, %3537 ]
  store i32 %3532, ptr %2293, align 4, !tbaa !5
  %3543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3544 = load i32, ptr @test_count, align 4, !tbaa !5
  %3545 = load i32, ptr %2239, align 4, !tbaa !5
  %3546 = call ptr @s2n_strerror(i32 noundef %3545, ptr noundef nonnull @.str.65) #10
  %3547 = load i32, ptr %2239, align 4, !tbaa !5
  %3548 = call ptr @s2n_strerror_debug(i32 noundef %3547, ptr noundef nonnull @.str.65) #10
  %3549 = load i32, ptr %2293, align 4, !tbaa !5
  %3550 = call ptr @strerror(i32 noundef %3549) #10
  %3551 = load i32, ptr %2293, align 4, !tbaa !5
  %3552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3543, ptr noundef nonnull %.str.66.sink3289, i32 noundef %3544, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 472, ptr noundef %3546, ptr noundef %3548, ptr noundef %3550, i32 noundef %3551) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3553:                                             ; preds = %3526
  %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_connections_set_io_pair(ptr noundef nonnull %3421, ptr noundef nonnull %3422, ptr noundef nonnull %19) #10
  %3557 = icmp eq i32 %3556, -1
  br i1 %3557, label %3558, label %3580

3558:                                             ; preds = %3553
  %3559 = load i32, ptr %2293, align 4, !tbaa !5
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = call i32 @s2n_print_stacktrace(ptr noundef %3560) #10
  %3562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3563 = trunc nuw i8 %3562 to i1
  br i1 %3563, label %3564, label %3568

3564:                                             ; preds = %3558
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3566 = call i32 @fileno(ptr noundef %3565) #10
  %3567 = call i32 @isatty(i32 noundef %3566) #10
  %.not1923 = icmp eq i32 %3567, 0
  br i1 %.not1923, label %3568, label %3569

3568:                                             ; preds = %3564, %3558
  br label %3569

3569:                                             ; preds = %3564, %3568
  %.str.66.sink3298 = phi ptr [ @.str.66, %3568 ], [ @.str.63, %3564 ]
  store i32 %3559, ptr %2293, align 4, !tbaa !5
  %3570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3571 = load i32, ptr @test_count, align 4, !tbaa !5
  %3572 = load i32, ptr %2239, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror(i32 noundef %3572, ptr noundef nonnull @.str.65) #10
  %3574 = load i32, ptr %2239, align 4, !tbaa !5
  %3575 = call ptr @s2n_strerror_debug(i32 noundef %3574, ptr noundef nonnull @.str.65) #10
  %3576 = load i32, ptr %2293, align 4, !tbaa !5
  %3577 = call ptr @strerror(i32 noundef %3576) #10
  %3578 = load i32, ptr %2293, align 4, !tbaa !5
  %3579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3570, ptr noundef nonnull %.str.66.sink3298, i32 noundef %3571, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 473, ptr noundef %3573, ptr noundef %3575, ptr noundef %3577, i32 noundef %3578) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3580:                                             ; preds = %3553
  %3581 = load i32, ptr @test_count, align 4, !tbaa !5
  %3582 = add nsw i32 %3581, 1
  store i32 %3582, ptr @test_count, align 4, !tbaa !5
  %3583 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %3422, ptr noundef nonnull %3421) #10
  %3584 = icmp eq i32 %3583, -1
  br i1 %3584, label %3585, label %3607

3585:                                             ; preds = %3580
  %3586 = load i32, ptr %2293, align 4, !tbaa !5
  %3587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3588 = call i32 @s2n_print_stacktrace(ptr noundef %3587) #10
  %3589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3590 = trunc nuw i8 %3589 to i1
  br i1 %3590, label %3591, label %3595

3591:                                             ; preds = %3585
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = call i32 @fileno(ptr noundef %3592) #10
  %3594 = call i32 @isatty(i32 noundef %3593) #10
  %.not1922 = icmp eq i32 %3594, 0
  br i1 %.not1922, label %3595, label %3596

3595:                                             ; preds = %3591, %3585
  br label %3596

3596:                                             ; preds = %3591, %3595
  %.str.66.sink3307 = phi ptr [ @.str.66, %3595 ], [ @.str.63, %3591 ]
  store i32 %3586, ptr %2293, align 4, !tbaa !5
  %3597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3598 = load i32, ptr @test_count, align 4, !tbaa !5
  %3599 = load i32, ptr %2239, align 4, !tbaa !5
  %3600 = call ptr @s2n_strerror(i32 noundef %3599, ptr noundef nonnull @.str.65) #10
  %3601 = load i32, ptr %2239, align 4, !tbaa !5
  %3602 = call ptr @s2n_strerror_debug(i32 noundef %3601, ptr noundef nonnull @.str.65) #10
  %3603 = load i32, ptr %2293, align 4, !tbaa !5
  %3604 = call ptr @strerror(i32 noundef %3603) #10
  %3605 = load i32, ptr %2293, align 4, !tbaa !5
  %3606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3597, ptr noundef nonnull %.str.66.sink3307, i32 noundef %3598, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 476, ptr noundef %3600, ptr noundef %3602, ptr noundef %3604, i32 noundef %3605) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3607:                                             ; preds = %3580
  %3608 = load i32, ptr @test_count, align 4, !tbaa !5
  %3609 = add nsw i32 %3608, 1
  store i32 %3609, ptr @test_count, align 4, !tbaa !5
  %3610 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %3421, i32 noundef 2) #10
  br i1 %3610, label %3611, label %3613

3611:                                             ; preds = %3607
  %3612 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %3422, i32 noundef 2) #10
  br i1 %3612, label %3635, label %3613

3613:                                             ; preds = %3611, %3607
  %3614 = load i32, ptr %2293, align 4, !tbaa !5
  %3615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3616 = call i32 @s2n_print_stacktrace(ptr noundef %3615) #10
  %3617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3618 = trunc nuw i8 %3617 to i1
  br i1 %3618, label %3619, label %3623

3619:                                             ; preds = %3613
  %3620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3621 = call i32 @fileno(ptr noundef %3620) #10
  %3622 = call i32 @isatty(i32 noundef %3621) #10
  %.not1905 = icmp eq i32 %3622, 0
  br i1 %.not1905, label %3623, label %3624

3623:                                             ; preds = %3619, %3613
  br label %3624

3624:                                             ; preds = %3619, %3623
  %.str.66.sink3316 = phi ptr [ @.str.66, %3623 ], [ @.str.63, %3619 ]
  store i32 %3614, ptr %2293, align 4, !tbaa !5
  %3625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3626 = load i32, ptr @test_count, align 4, !tbaa !5
  %3627 = load i32, ptr %2239, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror(i32 noundef %3627, ptr noundef nonnull @.str.65) #10
  %3629 = load i32, ptr %2239, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror_debug(i32 noundef %3629, ptr noundef nonnull @.str.65) #10
  %3631 = load i32, ptr %2293, align 4, !tbaa !5
  %3632 = call ptr @strerror(i32 noundef %3631) #10
  %3633 = load i32, ptr %2293, align 4, !tbaa !5
  %3634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3625, ptr noundef nonnull %.str.66.sink3316, i32 noundef %3626, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 477, ptr noundef %3628, ptr noundef %3630, ptr noundef %3632, i32 noundef %3633) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3635:                                             ; preds = %3611
  %3636 = load i32, ptr @test_count, align 4, !tbaa !5
  %3637 = add nsw i32 %3636, 1
  store i32 %3637, ptr @test_count, align 4, !tbaa !5
  %3638 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %3422, ptr noundef nonnull %3421, ptr noundef nonnull %18)
  %3639 = call zeroext i1 @s2n_result_is_ok(i32 %3638)
  br i1 %3639, label %3662, label %3640

3640:                                             ; preds = %3635
  %3641 = load i32, ptr %2293, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = call i32 @s2n_print_stacktrace(ptr noundef %3642) #10
  %3644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3645 = trunc nuw i8 %3644 to i1
  br i1 %3645, label %3646, label %3650

3646:                                             ; preds = %3640
  %3647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3648 = call i32 @fileno(ptr noundef %3647) #10
  %3649 = call i32 @isatty(i32 noundef %3648) #10
  %.not1906 = icmp eq i32 %3649, 0
  br i1 %.not1906, label %3650, label %3651

3650:                                             ; preds = %3646, %3640
  br label %3651

3651:                                             ; preds = %3646, %3650
  %.str.66.sink3325 = phi ptr [ @.str.66, %3650 ], [ @.str.63, %3646 ]
  store i32 %3641, ptr %2293, align 4, !tbaa !5
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = load i32, ptr @test_count, align 4, !tbaa !5
  %3654 = load i32, ptr %2239, align 4, !tbaa !5
  %3655 = call ptr @s2n_strerror(i32 noundef %3654, ptr noundef nonnull @.str.65) #10
  %3656 = load i32, ptr %2239, align 4, !tbaa !5
  %3657 = call ptr @s2n_strerror_debug(i32 noundef %3656, ptr noundef nonnull @.str.65) #10
  %3658 = load i32, ptr %2293, align 4, !tbaa !5
  %3659 = call ptr @strerror(i32 noundef %3658) #10
  %3660 = load i32, ptr %2293, align 4, !tbaa !5
  %3661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3652, ptr noundef nonnull %.str.66.sink3325, i32 noundef %3653, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.62, i32 noundef 480, ptr noundef %3655, ptr noundef %3657, ptr noundef %3659, i32 noundef %3660) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3662:                                             ; preds = %3635
  %3663 = load i32, ptr @test_count, align 4, !tbaa !5
  %3664 = add nsw i32 %3663, 1
  store i32 %3664, ptr @test_count, align 4, !tbaa !5
  %3665 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %3422, ptr noundef nonnull %3421) #10
  %3666 = icmp eq i32 %3665, -1
  br i1 %3666, label %3667, label %3689

3667:                                             ; preds = %3662
  %3668 = load i32, ptr %2293, align 4, !tbaa !5
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = call i32 @s2n_print_stacktrace(ptr noundef %3669) #10
  %3671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3672 = trunc nuw i8 %3671 to i1
  br i1 %3672, label %3673, label %3677

3673:                                             ; preds = %3667
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = call i32 @fileno(ptr noundef %3674) #10
  %3676 = call i32 @isatty(i32 noundef %3675) #10
  %.not1921 = icmp eq i32 %3676, 0
  br i1 %.not1921, label %3677, label %3678

3677:                                             ; preds = %3673, %3667
  br label %3678

3678:                                             ; preds = %3673, %3677
  %.str.66.sink3334 = phi ptr [ @.str.66, %3677 ], [ @.str.63, %3673 ]
  store i32 %3668, ptr %2293, align 4, !tbaa !5
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = load i32, ptr @test_count, align 4, !tbaa !5
  %3681 = load i32, ptr %2239, align 4, !tbaa !5
  %3682 = call ptr @s2n_strerror(i32 noundef %3681, ptr noundef nonnull @.str.65) #10
  %3683 = load i32, ptr %2239, align 4, !tbaa !5
  %3684 = call ptr @s2n_strerror_debug(i32 noundef %3683, ptr noundef nonnull @.str.65) #10
  %3685 = load i32, ptr %2293, align 4, !tbaa !5
  %3686 = call ptr @strerror(i32 noundef %3685) #10
  %3687 = load i32, ptr %2293, align 4, !tbaa !5
  %3688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3679, ptr noundef nonnull %.str.66.sink3334, i32 noundef %3680, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 483, ptr noundef %3682, ptr noundef %3684, ptr noundef %3686, i32 noundef %3687) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3689:                                             ; preds = %3662
  %3690 = load i32, ptr @test_count, align 4, !tbaa !5
  %3691 = add nsw i32 %3690, 1
  store i32 %3691, ptr @test_count, align 4, !tbaa !5
  %3692 = call i32 @s2n_connection_wipe(ptr noundef nonnull %3421) #10
  %3693 = icmp eq i32 %3692, -1
  br i1 %3693, label %3694, label %3716

3694:                                             ; preds = %3689
  %3695 = load i32, ptr %2293, align 4, !tbaa !5
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @s2n_print_stacktrace(ptr noundef %3696) #10
  %3698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3699 = trunc nuw i8 %3698 to i1
  br i1 %3699, label %3700, label %3704

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

3704:                                             ; preds = %3700, %3694
  br label %3705

3705:                                             ; preds = %3700, %3704
  %.str.66.sink3343 = phi ptr [ @.str.66, %3704 ], [ @.str.63, %3700 ]
  store i32 %3695, ptr %2293, align 4, !tbaa !5
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = load i32, ptr @test_count, align 4, !tbaa !5
  %3708 = load i32, ptr %2239, align 4, !tbaa !5
  %3709 = call ptr @s2n_strerror(i32 noundef %3708, ptr noundef nonnull @.str.65) #10
  %3710 = load i32, ptr %2239, align 4, !tbaa !5
  %3711 = call ptr @s2n_strerror_debug(i32 noundef %3710, ptr noundef nonnull @.str.65) #10
  %3712 = load i32, ptr %2293, align 4, !tbaa !5
  %3713 = call ptr @strerror(i32 noundef %3712) #10
  %3714 = load i32, ptr %2293, align 4, !tbaa !5
  %3715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3706, ptr noundef nonnull %.str.66.sink3343, i32 noundef %3707, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 484, ptr noundef %3709, ptr noundef %3711, ptr noundef %3713, i32 noundef %3714) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3716:                                             ; preds = %3689
  %3717 = load i32, ptr @test_count, align 4, !tbaa !5
  %3718 = add nsw i32 %3717, 1
  store i32 %3718, ptr @test_count, align 4, !tbaa !5
  %3719 = call i32 @s2n_connection_wipe(ptr noundef nonnull %3422) #10
  %3720 = icmp eq i32 %3719, -1
  br i1 %3720, label %3721, label %3743

3721:                                             ; preds = %3716
  %3722 = load i32, ptr %2293, align 4, !tbaa !5
  %3723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3724 = call i32 @s2n_print_stacktrace(ptr noundef %3723) #10
  %3725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3726 = trunc nuw i8 %3725 to i1
  br i1 %3726, label %3727, label %3731

3727:                                             ; preds = %3721
  %3728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3729 = call i32 @fileno(ptr noundef %3728) #10
  %3730 = call i32 @isatty(i32 noundef %3729) #10
  %.not1919 = icmp eq i32 %3730, 0
  br i1 %.not1919, label %3731, label %3732

3731:                                             ; preds = %3727, %3721
  br label %3732

3732:                                             ; preds = %3727, %3731
  %.str.66.sink3352 = phi ptr [ @.str.66, %3731 ], [ @.str.63, %3727 ]
  store i32 %3722, ptr %2293, align 4, !tbaa !5
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = load i32, ptr @test_count, align 4, !tbaa !5
  %3735 = load i32, ptr %2239, align 4, !tbaa !5
  %3736 = call ptr @s2n_strerror(i32 noundef %3735, ptr noundef nonnull @.str.65) #10
  %3737 = load i32, ptr %2239, align 4, !tbaa !5
  %3738 = call ptr @s2n_strerror_debug(i32 noundef %3737, ptr noundef nonnull @.str.65) #10
  %3739 = load i32, ptr %2293, align 4, !tbaa !5
  %3740 = call ptr @strerror(i32 noundef %3739) #10
  %3741 = load i32, ptr %2293, align 4, !tbaa !5
  %3742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3733, ptr noundef nonnull %.str.66.sink3352, i32 noundef %3734, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 485, ptr noundef %3736, ptr noundef %3738, ptr noundef %3740, i32 noundef %3741) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3743:                                             ; preds = %3716
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = add nsw i32 %3744, 1
  store i32 %3745, ptr @test_count, align 4, !tbaa !5
  %3746 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %3421, ptr noundef nonnull %3422, ptr noundef nonnull %19) #10
  %3747 = icmp eq i32 %3746, -1
  br i1 %3747, label %3748, label %3770

3748:                                             ; preds = %3743
  %3749 = load i32, ptr %2293, align 4, !tbaa !5
  %3750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3751 = call i32 @s2n_print_stacktrace(ptr noundef %3750) #10
  %3752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3753 = trunc nuw i8 %3752 to i1
  br i1 %3753, label %3754, label %3758

3754:                                             ; preds = %3748
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = call i32 @fileno(ptr noundef %3755) #10
  %3757 = call i32 @isatty(i32 noundef %3756) #10
  %.not1918 = icmp eq i32 %3757, 0
  br i1 %.not1918, label %3758, label %3759

3758:                                             ; preds = %3754, %3748
  br label %3759

3759:                                             ; preds = %3754, %3758
  %.str.66.sink3361 = phi ptr [ @.str.66, %3758 ], [ @.str.63, %3754 ]
  store i32 %3749, ptr %2293, align 4, !tbaa !5
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = load i32, ptr @test_count, align 4, !tbaa !5
  %3762 = load i32, ptr %2239, align 4, !tbaa !5
  %3763 = call ptr @s2n_strerror(i32 noundef %3762, ptr noundef nonnull @.str.65) #10
  %3764 = load i32, ptr %2239, align 4, !tbaa !5
  %3765 = call ptr @s2n_strerror_debug(i32 noundef %3764, ptr noundef nonnull @.str.65) #10
  %3766 = load i32, ptr %2293, align 4, !tbaa !5
  %3767 = call ptr @strerror(i32 noundef %3766) #10
  %3768 = load i32, ptr %2293, align 4, !tbaa !5
  %3769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3760, ptr noundef nonnull %.str.66.sink3361, i32 noundef %3761, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 486, ptr noundef %3763, ptr noundef %3765, ptr noundef %3767, i32 noundef %3768) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3770:                                             ; preds = %3743
  %3771 = load i32, ptr %923, align 4, !tbaa !20
  %3772 = load i32, ptr %924, align 8, !tbaa !23
  %3773 = sub i32 %3771, %3772
  %3774 = zext i32 %3773 to i64
  %3775 = load i32, ptr @test_count, align 4, !tbaa !5
  %3776 = add nsw i32 %3775, 1
  store i32 %3776, ptr @test_count, align 4, !tbaa !5
  %3777 = load ptr, ptr %7, align 8, !tbaa !24
  %3778 = call i32 @s2n_connection_set_session(ptr noundef nonnull %3421, ptr noundef %3777, i64 noundef %3774)
  %3779 = icmp eq i32 %3778, -1
  br i1 %3779, label %3780, label %3802

3780:                                             ; preds = %3770
  %3781 = load i32, ptr %2293, align 4, !tbaa !5
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = call i32 @s2n_print_stacktrace(ptr noundef %3782) #10
  %3784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3785 = trunc nuw i8 %3784 to i1
  br i1 %3785, label %3786, label %3790

3786:                                             ; preds = %3780
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = call i32 @fileno(ptr noundef %3787) #10
  %3789 = call i32 @isatty(i32 noundef %3788) #10
  %.not1917 = icmp eq i32 %3789, 0
  br i1 %.not1917, label %3790, label %3791

3790:                                             ; preds = %3786, %3780
  br label %3791

3791:                                             ; preds = %3786, %3790
  %.str.66.sink3370 = phi ptr [ @.str.66, %3790 ], [ @.str.63, %3786 ]
  store i32 %3781, ptr %2293, align 4, !tbaa !5
  %3792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3793 = load i32, ptr @test_count, align 4, !tbaa !5
  %3794 = load i32, ptr %2239, align 4, !tbaa !5
  %3795 = call ptr @s2n_strerror(i32 noundef %3794, ptr noundef nonnull @.str.65) #10
  %3796 = load i32, ptr %2239, align 4, !tbaa !5
  %3797 = call ptr @s2n_strerror_debug(i32 noundef %3796, ptr noundef nonnull @.str.65) #10
  %3798 = load i32, ptr %2293, align 4, !tbaa !5
  %3799 = call ptr @strerror(i32 noundef %3798) #10
  %3800 = load i32, ptr %2293, align 4, !tbaa !5
  %3801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3792, ptr noundef nonnull %.str.66.sink3370, i32 noundef %3793, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.62, i32 noundef 490, ptr noundef %3795, ptr noundef %3797, ptr noundef %3799, i32 noundef %3800) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3802:                                             ; preds = %3770
  %3803 = load i32, ptr @test_count, align 4, !tbaa !5
  %3804 = add nsw i32 %3803, 1
  store i32 %3804, ptr @test_count, align 4, !tbaa !5
  %3805 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %7) #10
  %3806 = icmp eq i32 %3805, -1
  br i1 %3806, label %3807, label %3829

3807:                                             ; preds = %3802
  %3808 = load i32, ptr %2293, align 4, !tbaa !5
  %3809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3810 = call i32 @s2n_print_stacktrace(ptr noundef %3809) #10
  %3811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3812 = trunc nuw i8 %3811 to i1
  br i1 %3812, label %3813, label %3817

3813:                                             ; preds = %3807
  %3814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3815 = call i32 @fileno(ptr noundef %3814) #10
  %3816 = call i32 @isatty(i32 noundef %3815) #10
  %.not1916 = icmp eq i32 %3816, 0
  br i1 %.not1916, label %3817, label %3818

3817:                                             ; preds = %3813, %3807
  br label %3818

3818:                                             ; preds = %3813, %3817
  %.str.66.sink3379 = phi ptr [ @.str.66, %3817 ], [ @.str.63, %3813 ]
  store i32 %3808, ptr %2293, align 4, !tbaa !5
  %3819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3820 = load i32, ptr @test_count, align 4, !tbaa !5
  %3821 = load i32, ptr %2239, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror(i32 noundef %3821, ptr noundef nonnull @.str.65) #10
  %3823 = load i32, ptr %2239, align 4, !tbaa !5
  %3824 = call ptr @s2n_strerror_debug(i32 noundef %3823, ptr noundef nonnull @.str.65) #10
  %3825 = load i32, ptr %2293, align 4, !tbaa !5
  %3826 = call ptr @strerror(i32 noundef %3825) #10
  %3827 = load i32, ptr %2293, align 4, !tbaa !5
  %3828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3819, ptr noundef nonnull %.str.66.sink3379, i32 noundef %3820, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.62, i32 noundef 491, ptr noundef %3822, ptr noundef %3824, ptr noundef %3826, i32 noundef %3827) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3829:                                             ; preds = %3802
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = add nsw i32 %3830, 1
  store i32 %3831, ptr @test_count, align 4, !tbaa !5
  %3832 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3421, ptr noundef nonnull %804) #10
  %3833 = icmp eq i32 %3832, -1
  br i1 %3833, label %3834, label %3856

3834:                                             ; preds = %3829
  %3835 = load i32, ptr %2293, align 4, !tbaa !5
  %3836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3837 = call i32 @s2n_print_stacktrace(ptr noundef %3836) #10
  %3838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3839 = trunc nuw i8 %3838 to i1
  br i1 %3839, label %3840, label %3844

3840:                                             ; preds = %3834
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @fileno(ptr noundef %3841) #10
  %3843 = call i32 @isatty(i32 noundef %3842) #10
  %.not1915 = icmp eq i32 %3843, 0
  br i1 %.not1915, label %3844, label %3845

3844:                                             ; preds = %3840, %3834
  br label %3845

3845:                                             ; preds = %3840, %3844
  %.str.66.sink3388 = phi ptr [ @.str.66, %3844 ], [ @.str.63, %3840 ]
  store i32 %3835, ptr %2293, align 4, !tbaa !5
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = load i32, ptr @test_count, align 4, !tbaa !5
  %3848 = load i32, ptr %2239, align 4, !tbaa !5
  %3849 = call ptr @s2n_strerror(i32 noundef %3848, ptr noundef nonnull @.str.65) #10
  %3850 = load i32, ptr %2239, align 4, !tbaa !5
  %3851 = call ptr @s2n_strerror_debug(i32 noundef %3850, ptr noundef nonnull @.str.65) #10
  %3852 = load i32, ptr %2293, align 4, !tbaa !5
  %3853 = call ptr @strerror(i32 noundef %3852) #10
  %3854 = load i32, ptr %2293, align 4, !tbaa !5
  %3855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3846, ptr noundef nonnull %.str.66.sink3388, i32 noundef %3847, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.62, i32 noundef 494, ptr noundef %3849, ptr noundef %3851, ptr noundef %3853, i32 noundef %3854) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3856:                                             ; preds = %3829
  %3857 = load i32, ptr @test_count, align 4, !tbaa !5
  %3858 = add nsw i32 %3857, 1
  store i32 %3858, ptr @test_count, align 4, !tbaa !5
  %3859 = call i32 @s2n_test_negotiate(ptr noundef nonnull %3422, ptr noundef nonnull %3421, ptr noundef nonnull %18)
  %3860 = call zeroext i1 @s2n_result_is_ok(i32 %3859)
  br i1 %3860, label %3883, label %3861

3861:                                             ; preds = %3856
  %3862 = load i32, ptr %2293, align 4, !tbaa !5
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3864 = call i32 @s2n_print_stacktrace(ptr noundef %3863) #10
  %3865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3866 = trunc nuw i8 %3865 to i1
  br i1 %3866, label %3867, label %3871

3867:                                             ; preds = %3861
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @fileno(ptr noundef %3868) #10
  %3870 = call i32 @isatty(i32 noundef %3869) #10
  %.not1907 = icmp eq i32 %3870, 0
  br i1 %.not1907, label %3871, label %3872

3871:                                             ; preds = %3867, %3861
  br label %3872

3872:                                             ; preds = %3867, %3871
  %.str.66.sink3397 = phi ptr [ @.str.66, %3871 ], [ @.str.63, %3867 ]
  store i32 %3862, ptr %2293, align 4, !tbaa !5
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = load i32, ptr @test_count, align 4, !tbaa !5
  %3875 = load i32, ptr %2239, align 4, !tbaa !5
  %3876 = call ptr @s2n_strerror(i32 noundef %3875, ptr noundef nonnull @.str.65) #10
  %3877 = load i32, ptr %2239, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror_debug(i32 noundef %3877, ptr noundef nonnull @.str.65) #10
  %3879 = load i32, ptr %2293, align 4, !tbaa !5
  %3880 = call ptr @strerror(i32 noundef %3879) #10
  %3881 = load i32, ptr %2293, align 4, !tbaa !5
  %3882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull %.str.66.sink3397, i32 noundef %3874, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.62, i32 noundef 497, ptr noundef %3876, ptr noundef %3878, ptr noundef %3880, i32 noundef %3881) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3883:                                             ; preds = %3856
  %3884 = load i32, ptr @test_count, align 4, !tbaa !5
  %3885 = add nsw i32 %3884, 1
  store i32 %3885, ptr @test_count, align 4, !tbaa !5
  %3886 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %3421, i32 noundef 2) #10
  br i1 %3886, label %3887, label %3889

3887:                                             ; preds = %3883
  %3888 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %3422, i32 noundef 2) #10
  br i1 %3888, label %3911, label %3889

3889:                                             ; preds = %3887, %3883
  %3890 = load i32, ptr %2293, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = call i32 @s2n_print_stacktrace(ptr noundef %3891) #10
  %3893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3894 = trunc nuw i8 %3893 to i1
  br i1 %3894, label %3895, label %3899

3895:                                             ; preds = %3889
  %3896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3897 = call i32 @fileno(ptr noundef %3896) #10
  %3898 = call i32 @isatty(i32 noundef %3897) #10
  %.not1908 = icmp eq i32 %3898, 0
  br i1 %.not1908, label %3899, label %3900

3899:                                             ; preds = %3895, %3889
  br label %3900

3900:                                             ; preds = %3895, %3899
  %.str.66.sink3406 = phi ptr [ @.str.66, %3899 ], [ @.str.63, %3895 ]
  store i32 %3890, ptr %2293, align 4, !tbaa !5
  %3901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = load i32, ptr %2239, align 4, !tbaa !5
  %3904 = call ptr @s2n_strerror(i32 noundef %3903, ptr noundef nonnull @.str.65) #10
  %3905 = load i32, ptr %2239, align 4, !tbaa !5
  %3906 = call ptr @s2n_strerror_debug(i32 noundef %3905, ptr noundef nonnull @.str.65) #10
  %3907 = load i32, ptr %2293, align 4, !tbaa !5
  %3908 = call ptr @strerror(i32 noundef %3907) #10
  %3909 = load i32, ptr %2293, align 4, !tbaa !5
  %3910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3901, ptr noundef nonnull %.str.66.sink3406, i32 noundef %3902, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 500, ptr noundef %3904, ptr noundef %3906, ptr noundef %3908, i32 noundef %3909) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3911:                                             ; preds = %3887
  %3912 = load i32, ptr @test_count, align 4, !tbaa !5
  %3913 = add nsw i32 %3912, 1
  store i32 %3913, ptr @test_count, align 4, !tbaa !5
  %3914 = getelementptr inbounds i8, ptr %3421, i64 220
  %3915 = load i8, ptr %3914, align 4, !tbaa !59
  %3916 = icmp eq i8 %3915, 33
  br i1 %3916, label %3939, label %3917

3917:                                             ; preds = %3911
  %3918 = load i32, ptr %2293, align 4, !tbaa !5
  %3919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3920 = call i32 @s2n_print_stacktrace(ptr noundef %3919) #10
  %3921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3922 = trunc nuw i8 %3921 to i1
  br i1 %3922, label %3923, label %3927

3923:                                             ; preds = %3917
  %3924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3925 = call i32 @fileno(ptr noundef %3924) #10
  %3926 = call i32 @isatty(i32 noundef %3925) #10
  %.not1909 = icmp eq i32 %3926, 0
  br i1 %.not1909, label %3927, label %3928

3927:                                             ; preds = %3923, %3917
  br label %3928

3928:                                             ; preds = %3923, %3927
  %.str.66.sink3415 = phi ptr [ @.str.66, %3927 ], [ @.str.63, %3923 ]
  store i32 %3918, ptr %2293, align 4, !tbaa !5
  %3929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3930 = load i32, ptr @test_count, align 4, !tbaa !5
  %3931 = load i32, ptr %2239, align 4, !tbaa !5
  %3932 = call ptr @s2n_strerror(i32 noundef %3931, ptr noundef nonnull @.str.65) #10
  %3933 = load i32, ptr %2239, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror_debug(i32 noundef %3933, ptr noundef nonnull @.str.65) #10
  %3935 = load i32, ptr %2293, align 4, !tbaa !5
  %3936 = call ptr @strerror(i32 noundef %3935) #10
  %3937 = load i32, ptr %2293, align 4, !tbaa !5
  %3938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3929, ptr noundef nonnull %.str.66.sink3415, i32 noundef %3930, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.62, i32 noundef 501, ptr noundef %3932, ptr noundef %3934, ptr noundef %3936, i32 noundef %3937) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3939:                                             ; preds = %3911
  %3940 = add nsw i32 %3912, 2
  store i32 %3940, ptr @test_count, align 4, !tbaa !5
  %3941 = getelementptr inbounds i8, ptr %3422, i64 220
  %3942 = load i8, ptr %3941, align 4, !tbaa !59
  %3943 = icmp eq i8 %3942, 33
  br i1 %3943, label %3966, label %3944

3944:                                             ; preds = %3939
  %3945 = load i32, ptr %2293, align 4, !tbaa !5
  %3946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3947 = call i32 @s2n_print_stacktrace(ptr noundef %3946) #10
  %3948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3949 = trunc nuw i8 %3948 to i1
  br i1 %3949, label %3950, label %3954

3950:                                             ; preds = %3944
  %3951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3952 = call i32 @fileno(ptr noundef %3951) #10
  %3953 = call i32 @isatty(i32 noundef %3952) #10
  %.not1910 = icmp eq i32 %3953, 0
  br i1 %.not1910, label %3954, label %3955

3954:                                             ; preds = %3950, %3944
  br label %3955

3955:                                             ; preds = %3950, %3954
  %.str.66.sink3424 = phi ptr [ @.str.66, %3954 ], [ @.str.63, %3950 ]
  store i32 %3945, ptr %2293, align 4, !tbaa !5
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = load i32, ptr @test_count, align 4, !tbaa !5
  %3958 = load i32, ptr %2239, align 4, !tbaa !5
  %3959 = call ptr @s2n_strerror(i32 noundef %3958, ptr noundef nonnull @.str.65) #10
  %3960 = load i32, ptr %2239, align 4, !tbaa !5
  %3961 = call ptr @s2n_strerror_debug(i32 noundef %3960, ptr noundef nonnull @.str.65) #10
  %3962 = load i32, ptr %2293, align 4, !tbaa !5
  %3963 = call ptr @strerror(i32 noundef %3962) #10
  %3964 = load i32, ptr %2293, align 4, !tbaa !5
  %3965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3956, ptr noundef nonnull %.str.66.sink3424, i32 noundef %3957, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 502, ptr noundef %3959, ptr noundef %3961, ptr noundef %3963, i32 noundef %3964) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3966:                                             ; preds = %3939
  %3967 = add nsw i32 %3912, 3
  store i32 %3967, ptr @test_count, align 4, !tbaa !5
  %3968 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %3422, ptr noundef nonnull %3421) #10
  %3969 = icmp eq i32 %3968, -1
  br i1 %3969, label %3970, label %3992

3970:                                             ; preds = %3966
  %3971 = load i32, ptr %2293, align 4, !tbaa !5
  %3972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3973 = call i32 @s2n_print_stacktrace(ptr noundef %3972) #10
  %3974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3975 = trunc nuw i8 %3974 to i1
  br i1 %3975, label %3976, label %3980

3976:                                             ; preds = %3970
  %3977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3978 = call i32 @fileno(ptr noundef %3977) #10
  %3979 = call i32 @isatty(i32 noundef %3978) #10
  %.not1914 = icmp eq i32 %3979, 0
  br i1 %.not1914, label %3980, label %3981

3980:                                             ; preds = %3976, %3970
  br label %3981

3981:                                             ; preds = %3976, %3980
  %.str.66.sink3433 = phi ptr [ @.str.66, %3980 ], [ @.str.63, %3976 ]
  store i32 %3971, ptr %2293, align 4, !tbaa !5
  %3982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3983 = load i32, ptr @test_count, align 4, !tbaa !5
  %3984 = load i32, ptr %2239, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror(i32 noundef %3984, ptr noundef nonnull @.str.65) #10
  %3986 = load i32, ptr %2239, align 4, !tbaa !5
  %3987 = call ptr @s2n_strerror_debug(i32 noundef %3986, ptr noundef nonnull @.str.65) #10
  %3988 = load i32, ptr %2293, align 4, !tbaa !5
  %3989 = call ptr @strerror(i32 noundef %3988) #10
  %3990 = load i32, ptr %2293, align 4, !tbaa !5
  %3991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3982, ptr noundef nonnull %.str.66.sink3433, i32 noundef %3983, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 504, ptr noundef %3985, ptr noundef %3987, ptr noundef %3989, i32 noundef %3990) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3992:                                             ; preds = %3966
  %3993 = load i32, ptr @test_count, align 4, !tbaa !5
  %3994 = add nsw i32 %3993, 1
  store i32 %3994, ptr @test_count, align 4, !tbaa !5
  %3995 = call i32 @s2n_connection_free(ptr noundef nonnull %3422) #10
  %3996 = icmp eq i32 %3995, -1
  br i1 %3996, label %3997, label %4019

3997:                                             ; preds = %3992
  %3998 = load i32, ptr %2293, align 4, !tbaa !5
  %3999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4000 = call i32 @s2n_print_stacktrace(ptr noundef %3999) #10
  %4001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4002 = trunc nuw i8 %4001 to i1
  br i1 %4002, label %4003, label %4007

4003:                                             ; preds = %3997
  %4004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4005 = call i32 @fileno(ptr noundef %4004) #10
  %4006 = call i32 @isatty(i32 noundef %4005) #10
  %.not1913 = icmp eq i32 %4006, 0
  br i1 %.not1913, label %4007, label %4008

4007:                                             ; preds = %4003, %3997
  br label %4008

4008:                                             ; preds = %4003, %4007
  %.str.66.sink3442 = phi ptr [ @.str.66, %4007 ], [ @.str.63, %4003 ]
  store i32 %3998, ptr %2293, align 4, !tbaa !5
  %4009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4010 = load i32, ptr @test_count, align 4, !tbaa !5
  %4011 = load i32, ptr %2239, align 4, !tbaa !5
  %4012 = call ptr @s2n_strerror(i32 noundef %4011, ptr noundef nonnull @.str.65) #10
  %4013 = load i32, ptr %2239, align 4, !tbaa !5
  %4014 = call ptr @s2n_strerror_debug(i32 noundef %4013, ptr noundef nonnull @.str.65) #10
  %4015 = load i32, ptr %2293, align 4, !tbaa !5
  %4016 = call ptr @strerror(i32 noundef %4015) #10
  %4017 = load i32, ptr %2293, align 4, !tbaa !5
  %4018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4009, ptr noundef nonnull %.str.66.sink3442, i32 noundef %4010, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 505, ptr noundef %4012, ptr noundef %4014, ptr noundef %4016, i32 noundef %4017) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4019:                                             ; preds = %3992
  %4020 = load i32, ptr @test_count, align 4, !tbaa !5
  %4021 = add nsw i32 %4020, 1
  store i32 %4021, ptr @test_count, align 4, !tbaa !5
  %4022 = call i32 @s2n_connection_free(ptr noundef nonnull %3421) #10
  %4023 = icmp eq i32 %4022, -1
  br i1 %4023, label %4024, label %4046

4024:                                             ; preds = %4019
  %4025 = load i32, ptr %2293, align 4, !tbaa !5
  %4026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4027 = call i32 @s2n_print_stacktrace(ptr noundef %4026) #10
  %4028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4029 = trunc nuw i8 %4028 to i1
  br i1 %4029, label %4030, label %4034

4030:                                             ; preds = %4024
  %4031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4032 = call i32 @fileno(ptr noundef %4031) #10
  %4033 = call i32 @isatty(i32 noundef %4032) #10
  %.not1912 = icmp eq i32 %4033, 0
  br i1 %.not1912, label %4034, label %4035

4034:                                             ; preds = %4030, %4024
  br label %4035

4035:                                             ; preds = %4030, %4034
  %.str.66.sink3451 = phi ptr [ @.str.66, %4034 ], [ @.str.63, %4030 ]
  store i32 %4025, ptr %2293, align 4, !tbaa !5
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = load i32, ptr @test_count, align 4, !tbaa !5
  %4038 = load i32, ptr %2239, align 4, !tbaa !5
  %4039 = call ptr @s2n_strerror(i32 noundef %4038, ptr noundef nonnull @.str.65) #10
  %4040 = load i32, ptr %2239, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror_debug(i32 noundef %4040, ptr noundef nonnull @.str.65) #10
  %4042 = load i32, ptr %2293, align 4, !tbaa !5
  %4043 = call ptr @strerror(i32 noundef %4042) #10
  %4044 = load i32, ptr %2293, align 4, !tbaa !5
  %4045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4036, ptr noundef nonnull %.str.66.sink3451, i32 noundef %4037, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 506, ptr noundef %4039, ptr noundef %4041, ptr noundef %4043, i32 noundef %4044) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4046:                                             ; preds = %4019
  %4047 = load i32, ptr @test_count, align 4, !tbaa !5
  %4048 = add nsw i32 %4047, 1
  store i32 %4048, ptr @test_count, align 4, !tbaa !5
  %4049 = call i32 @s2n_io_pair_close(ptr noundef nonnull %19) #10
  %4050 = icmp eq i32 %4049, -1
  br i1 %4050, label %4051, label %4073

4051:                                             ; preds = %4046
  %4052 = load i32, ptr %2293, align 4, !tbaa !5
  %4053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4054 = call i32 @s2n_print_stacktrace(ptr noundef %4053) #10
  %4055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4056 = trunc nuw i8 %4055 to i1
  br i1 %4056, label %4057, label %4061

4057:                                             ; preds = %4051
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4059 = call i32 @fileno(ptr noundef %4058) #10
  %4060 = call i32 @isatty(i32 noundef %4059) #10
  %.not1911 = icmp eq i32 %4060, 0
  br i1 %.not1911, label %4061, label %4062

4061:                                             ; preds = %4057, %4051
  br label %4062

4062:                                             ; preds = %4057, %4061
  %.str.66.sink3460 = phi ptr [ @.str.66, %4061 ], [ @.str.63, %4057 ]
  store i32 %4052, ptr %2293, align 4, !tbaa !5
  %4063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4064 = load i32, ptr @test_count, align 4, !tbaa !5
  %4065 = load i32, ptr %2239, align 4, !tbaa !5
  %4066 = call ptr @s2n_strerror(i32 noundef %4065, ptr noundef nonnull @.str.65) #10
  %4067 = load i32, ptr %2239, align 4, !tbaa !5
  %4068 = call ptr @s2n_strerror_debug(i32 noundef %4067, ptr noundef nonnull @.str.65) #10
  %4069 = load i32, ptr %2293, align 4, !tbaa !5
  %4070 = call ptr @strerror(i32 noundef %4069) #10
  %4071 = load i32, ptr %2293, align 4, !tbaa !5
  %4072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4063, ptr noundef nonnull %.str.66.sink3460, i32 noundef %4064, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 507, ptr noundef %4066, ptr noundef %4068, ptr noundef %4070, i32 noundef %4071) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4073:                                             ; preds = %4046
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #10
  %4074 = add nuw nsw i64 %.015122056, 1
  %exitcond2066.not = icmp eq i64 %4074, 8
  br i1 %exitcond2066.not, label %3411, label %3418, !llvm.loop !60

4075:                                             ; preds = %3411
  %4076 = load i32, ptr %2293, align 4, !tbaa !5
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = call i32 @s2n_print_stacktrace(ptr noundef %4077) #10
  %4079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4080 = trunc nuw i8 %4079 to i1
  br i1 %4080, label %4081, label %4085

4081:                                             ; preds = %4075
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = call i32 @fileno(ptr noundef %4082) #10
  %4084 = call i32 @isatty(i32 noundef %4083) #10
  %.not1904 = icmp eq i32 %4084, 0
  br i1 %.not1904, label %4085, label %4086

4085:                                             ; preds = %4081, %4075
  br label %4086

4086:                                             ; preds = %4081, %4085
  %.str.66.sink3469 = phi ptr [ @.str.66, %4085 ], [ @.str.63, %4081 ]
  store i32 %4076, ptr %2293, align 4, !tbaa !5
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = load i32, ptr @test_count, align 4, !tbaa !5
  %4089 = load i32, ptr %2239, align 4, !tbaa !5
  %4090 = call ptr @s2n_strerror(i32 noundef %4089, ptr noundef nonnull @.str.65) #10
  %4091 = load i32, ptr %2239, align 4, !tbaa !5
  %4092 = call ptr @s2n_strerror_debug(i32 noundef %4091, ptr noundef nonnull @.str.65) #10
  %4093 = load i32, ptr %2293, align 4, !tbaa !5
  %4094 = call ptr @strerror(i32 noundef %4093) #10
  %4095 = load i32, ptr %2293, align 4, !tbaa !5
  %4096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4087, ptr noundef nonnull %.str.66.sink3469, i32 noundef %4088, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 520, ptr noundef %4090, ptr noundef %4092, ptr noundef %4094, i32 noundef %4095) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4097:                                             ; preds = %3411
  %4098 = add nsw i32 %3414, 2
  store i32 %4098, ptr @test_count, align 4, !tbaa !5
  %4099 = icmp eq ptr %3413, null
  br i1 %4099, label %4100, label %4122

4100:                                             ; preds = %4097
  %4101 = load i32, ptr %2293, align 4, !tbaa !5
  %4102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4103 = call i32 @s2n_print_stacktrace(ptr noundef %4102) #10
  %4104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4105 = trunc nuw i8 %4104 to i1
  br i1 %4105, label %4106, label %4110

4106:                                             ; preds = %4100
  %4107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4108 = call i32 @fileno(ptr noundef %4107) #10
  %4109 = call i32 @isatty(i32 noundef %4108) #10
  %.not1903 = icmp eq i32 %4109, 0
  br i1 %.not1903, label %4110, label %4111

4110:                                             ; preds = %4106, %4100
  br label %4111

4111:                                             ; preds = %4106, %4110
  %.str.66.sink3478 = phi ptr [ @.str.66, %4110 ], [ @.str.63, %4106 ]
  store i32 %4101, ptr %2293, align 4, !tbaa !5
  %4112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4113 = load i32, ptr @test_count, align 4, !tbaa !5
  %4114 = load i32, ptr %2239, align 4, !tbaa !5
  %4115 = call ptr @s2n_strerror(i32 noundef %4114, ptr noundef nonnull @.str.65) #10
  %4116 = load i32, ptr %2239, align 4, !tbaa !5
  %4117 = call ptr @s2n_strerror_debug(i32 noundef %4116, ptr noundef nonnull @.str.65) #10
  %4118 = load i32, ptr %2293, align 4, !tbaa !5
  %4119 = call ptr @strerror(i32 noundef %4118) #10
  %4120 = load i32, ptr %2293, align 4, !tbaa !5
  %4121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4112, ptr noundef nonnull %.str.66.sink3478, i32 noundef %4113, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 521, ptr noundef %4115, ptr noundef %4117, ptr noundef %4119, i32 noundef %4120) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4122:                                             ; preds = %4097
  %4123 = add nsw i32 %3414, 3
  store i32 %4123, ptr @test_count, align 4, !tbaa !5
  %4124 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3416, ptr noundef nonnull %804) #10
  %4125 = icmp eq i32 %4124, -1
  br i1 %4125, label %4126, label %4148

4126:                                             ; preds = %4122
  %4127 = load i32, ptr %2293, align 4, !tbaa !5
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4129 = call i32 @s2n_print_stacktrace(ptr noundef %4128) #10
  %4130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4131 = trunc nuw i8 %4130 to i1
  br i1 %4131, label %4132, label %4136

4132:                                             ; preds = %4126
  %4133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4134 = call i32 @fileno(ptr noundef %4133) #10
  %4135 = call i32 @isatty(i32 noundef %4134) #10
  %.not1902 = icmp eq i32 %4135, 0
  br i1 %.not1902, label %4136, label %4137

4136:                                             ; preds = %4132, %4126
  br label %4137

4137:                                             ; preds = %4132, %4136
  %.str.66.sink3487 = phi ptr [ @.str.66, %4136 ], [ @.str.63, %4132 ]
  store i32 %4127, ptr %2293, align 4, !tbaa !5
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = load i32, ptr @test_count, align 4, !tbaa !5
  %4140 = load i32, ptr %2239, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror(i32 noundef %4140, ptr noundef nonnull @.str.65) #10
  %4142 = load i32, ptr %2239, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef nonnull @.str.65) #10
  %4144 = load i32, ptr %2293, align 4, !tbaa !5
  %4145 = call ptr @strerror(i32 noundef %4144) #10
  %4146 = load i32, ptr %2293, align 4, !tbaa !5
  %4147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4138, ptr noundef nonnull %.str.66.sink3487, i32 noundef %4139, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.62, i32 noundef 523, ptr noundef %4141, ptr noundef %4143, ptr noundef %4145, i32 noundef %4146) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4148:                                             ; preds = %4122
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = add nsw i32 %4149, 1
  store i32 %4150, ptr @test_count, align 4, !tbaa !5
  %4151 = load ptr, ptr %22, align 8, !tbaa !9
  %4152 = call i32 @s2n_connection_set_config(ptr noundef %4151, ptr noundef %225) #10
  %4153 = icmp eq i32 %4152, -1
  br i1 %4153, label %4154, label %4176

4154:                                             ; preds = %4148
  %4155 = load i32, ptr %2293, align 4, !tbaa !5
  %4156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4157 = call i32 @s2n_print_stacktrace(ptr noundef %4156) #10
  %4158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4159 = trunc nuw i8 %4158 to i1
  br i1 %4159, label %4160, label %4164

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

4164:                                             ; preds = %4160, %4154
  br label %4165

4165:                                             ; preds = %4160, %4164
  %.str.66.sink3496 = phi ptr [ @.str.66, %4164 ], [ @.str.63, %4160 ]
  store i32 %4155, ptr %2293, align 4, !tbaa !5
  %4166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4167 = load i32, ptr @test_count, align 4, !tbaa !5
  %4168 = load i32, ptr %2239, align 4, !tbaa !5
  %4169 = call ptr @s2n_strerror(i32 noundef %4168, ptr noundef nonnull @.str.65) #10
  %4170 = load i32, ptr %2239, align 4, !tbaa !5
  %4171 = call ptr @s2n_strerror_debug(i32 noundef %4170, ptr noundef nonnull @.str.65) #10
  %4172 = load i32, ptr %2293, align 4, !tbaa !5
  %4173 = call ptr @strerror(i32 noundef %4172) #10
  %4174 = load i32, ptr %2293, align 4, !tbaa !5
  %4175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4166, ptr noundef nonnull %.str.66.sink3496, i32 noundef %4167, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 524, ptr noundef %4169, ptr noundef %4171, ptr noundef %4173, i32 noundef %4174) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4176:                                             ; preds = %4148
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #10
  store i64 0, ptr %23, align 8
  %4177 = load i32, ptr @test_count, align 4, !tbaa !5
  %4178 = add nsw i32 %4177, 1
  store i32 %4178, ptr @test_count, align 4, !tbaa !5
  %4179 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %23) #10
  %4180 = icmp eq i32 %4179, -1
  br i1 %4180, label %4181, label %4203

4181:                                             ; preds = %4176
  %4182 = load i32, ptr %2293, align 4, !tbaa !5
  %4183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4184 = call i32 @s2n_print_stacktrace(ptr noundef %4183) #10
  %4185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4186 = trunc nuw i8 %4185 to i1
  br i1 %4186, label %4187, label %4191

4187:                                             ; preds = %4181
  %4188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4189 = call i32 @fileno(ptr noundef %4188) #10
  %4190 = call i32 @isatty(i32 noundef %4189) #10
  %.not1900 = icmp eq i32 %4190, 0
  br i1 %.not1900, label %4191, label %4192

4191:                                             ; preds = %4187, %4181
  br label %4192

4192:                                             ; preds = %4187, %4191
  %.str.66.sink3505 = phi ptr [ @.str.66, %4191 ], [ @.str.63, %4187 ]
  store i32 %4182, ptr %2293, align 4, !tbaa !5
  %4193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4194 = load i32, ptr @test_count, align 4, !tbaa !5
  %4195 = load i32, ptr %2239, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror(i32 noundef %4195, ptr noundef nonnull @.str.65) #10
  %4197 = load i32, ptr %2239, align 4, !tbaa !5
  %4198 = call ptr @s2n_strerror_debug(i32 noundef %4197, ptr noundef nonnull @.str.65) #10
  %4199 = load i32, ptr %2293, align 4, !tbaa !5
  %4200 = call ptr @strerror(i32 noundef %4199) #10
  %4201 = load i32, ptr %2293, align 4, !tbaa !5
  %4202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4193, ptr noundef nonnull %.str.66.sink3505, i32 noundef %4194, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 528, ptr noundef %4196, ptr noundef %4198, ptr noundef %4200, i32 noundef %4201) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4203:                                             ; preds = %4176
  %4204 = load i32, ptr @test_count, align 4, !tbaa !5
  %4205 = add nsw i32 %4204, 1
  store i32 %4205, ptr @test_count, align 4, !tbaa !5
  %4206 = load ptr, ptr %21, align 8, !tbaa !9
  %4207 = load ptr, ptr %22, align 8, !tbaa !9
  %4208 = call i32 @s2n_connections_set_io_pair(ptr noundef %4206, ptr noundef %4207, ptr noundef nonnull %23) #10
  %4209 = icmp eq i32 %4208, -1
  br i1 %4209, label %4210, label %4232

4210:                                             ; preds = %4203
  %4211 = load i32, ptr %2293, align 4, !tbaa !5
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = call i32 @s2n_print_stacktrace(ptr noundef %4212) #10
  %4214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4215 = trunc nuw i8 %4214 to i1
  br i1 %4215, label %4216, label %4220

4216:                                             ; preds = %4210
  %4217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4218 = call i32 @fileno(ptr noundef %4217) #10
  %4219 = call i32 @isatty(i32 noundef %4218) #10
  %.not1899 = icmp eq i32 %4219, 0
  br i1 %.not1899, label %4220, label %4221

4220:                                             ; preds = %4216, %4210
  br label %4221

4221:                                             ; preds = %4216, %4220
  %.str.66.sink3514 = phi ptr [ @.str.66, %4220 ], [ @.str.63, %4216 ]
  store i32 %4211, ptr %2293, align 4, !tbaa !5
  %4222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4223 = load i32, ptr @test_count, align 4, !tbaa !5
  %4224 = load i32, ptr %2239, align 4, !tbaa !5
  %4225 = call ptr @s2n_strerror(i32 noundef %4224, ptr noundef nonnull @.str.65) #10
  %4226 = load i32, ptr %2239, align 4, !tbaa !5
  %4227 = call ptr @s2n_strerror_debug(i32 noundef %4226, ptr noundef nonnull @.str.65) #10
  %4228 = load i32, ptr %2293, align 4, !tbaa !5
  %4229 = call ptr @strerror(i32 noundef %4228) #10
  %4230 = load i32, ptr %2293, align 4, !tbaa !5
  %4231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4222, ptr noundef nonnull %.str.66.sink3514, i32 noundef %4223, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 529, ptr noundef %4225, ptr noundef %4227, ptr noundef %4229, i32 noundef %4230) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4232:                                             ; preds = %4203
  %4233 = load i32, ptr @test_count, align 4, !tbaa !5
  %4234 = add nsw i32 %4233, 1
  store i32 %4234, ptr @test_count, align 4, !tbaa !5
  %4235 = load ptr, ptr %22, align 8, !tbaa !9
  %4236 = load ptr, ptr %21, align 8, !tbaa !9
  %4237 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4235, ptr noundef %4236) #10
  %4238 = icmp eq i32 %4237, -1
  br i1 %4238, label %4239, label %4261

4239:                                             ; preds = %4232
  %4240 = load i32, ptr %2293, align 4, !tbaa !5
  %4241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4242 = call i32 @s2n_print_stacktrace(ptr noundef %4241) #10
  %4243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4244 = trunc nuw i8 %4243 to i1
  br i1 %4244, label %4245, label %4249

4245:                                             ; preds = %4239
  %4246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4247 = call i32 @fileno(ptr noundef %4246) #10
  %4248 = call i32 @isatty(i32 noundef %4247) #10
  %.not1898 = icmp eq i32 %4248, 0
  br i1 %.not1898, label %4249, label %4250

4249:                                             ; preds = %4245, %4239
  br label %4250

4250:                                             ; preds = %4245, %4249
  %.str.66.sink3523 = phi ptr [ @.str.66, %4249 ], [ @.str.63, %4245 ]
  store i32 %4240, ptr %2293, align 4, !tbaa !5
  %4251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4252 = load i32, ptr @test_count, align 4, !tbaa !5
  %4253 = load i32, ptr %2239, align 4, !tbaa !5
  %4254 = call ptr @s2n_strerror(i32 noundef %4253, ptr noundef nonnull @.str.65) #10
  %4255 = load i32, ptr %2239, align 4, !tbaa !5
  %4256 = call ptr @s2n_strerror_debug(i32 noundef %4255, ptr noundef nonnull @.str.65) #10
  %4257 = load i32, ptr %2293, align 4, !tbaa !5
  %4258 = call ptr @strerror(i32 noundef %4257) #10
  %4259 = load i32, ptr %2293, align 4, !tbaa !5
  %4260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4251, ptr noundef nonnull %.str.66.sink3523, i32 noundef %4252, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 532, ptr noundef %4254, ptr noundef %4256, ptr noundef %4258, i32 noundef %4259) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4261:                                             ; preds = %4232
  %4262 = load i32, ptr @test_count, align 4, !tbaa !5
  %4263 = add nsw i32 %4262, 1
  store i32 %4263, ptr @test_count, align 4, !tbaa !5
  %4264 = load ptr, ptr %21, align 8, !tbaa !9
  %4265 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4264, i32 noundef 2) #10
  br i1 %4265, label %4266, label %4269

4266:                                             ; preds = %4261
  %4267 = load ptr, ptr %22, align 8, !tbaa !9
  %4268 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4267, i32 noundef 2) #10
  br i1 %4268, label %4291, label %4269

4269:                                             ; preds = %4266, %4261
  %4270 = load i32, ptr %2293, align 4, !tbaa !5
  %4271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4272 = call i32 @s2n_print_stacktrace(ptr noundef %4271) #10
  %4273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4274 = trunc nuw i8 %4273 to i1
  br i1 %4274, label %4275, label %4279

4275:                                             ; preds = %4269
  %4276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4277 = call i32 @fileno(ptr noundef %4276) #10
  %4278 = call i32 @isatty(i32 noundef %4277) #10
  %.not1563 = icmp eq i32 %4278, 0
  br i1 %.not1563, label %4279, label %4280

4279:                                             ; preds = %4275, %4269
  br label %4280

4280:                                             ; preds = %4275, %4279
  %.str.66.sink3532 = phi ptr [ @.str.66, %4279 ], [ @.str.63, %4275 ]
  store i32 %4270, ptr %2293, align 4, !tbaa !5
  %4281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4282 = load i32, ptr @test_count, align 4, !tbaa !5
  %4283 = load i32, ptr %2239, align 4, !tbaa !5
  %4284 = call ptr @s2n_strerror(i32 noundef %4283, ptr noundef nonnull @.str.65) #10
  %4285 = load i32, ptr %2239, align 4, !tbaa !5
  %4286 = call ptr @s2n_strerror_debug(i32 noundef %4285, ptr noundef nonnull @.str.65) #10
  %4287 = load i32, ptr %2293, align 4, !tbaa !5
  %4288 = call ptr @strerror(i32 noundef %4287) #10
  %4289 = load i32, ptr %2293, align 4, !tbaa !5
  %4290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4281, ptr noundef nonnull %.str.66.sink3532, i32 noundef %4282, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 533, ptr noundef %4284, ptr noundef %4286, ptr noundef %4288, i32 noundef %4289) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4291:                                             ; preds = %4266
  %4292 = load i32, ptr @test_count, align 4, !tbaa !5
  %4293 = add nsw i32 %4292, 1
  store i32 %4293, ptr @test_count, align 4, !tbaa !5
  %4294 = load ptr, ptr %22, align 8, !tbaa !9
  %4295 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef %4294, i32 noundef 64) #10
  br i1 %4295, label %4318, label %4296

4296:                                             ; preds = %4291
  %4297 = load i32, ptr %2293, align 4, !tbaa !5
  %4298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4299 = call i32 @s2n_print_stacktrace(ptr noundef %4298) #10
  %4300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4301 = trunc nuw i8 %4300 to i1
  br i1 %4301, label %4302, label %4306

4302:                                             ; preds = %4296
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4304 = call i32 @fileno(ptr noundef %4303) #10
  %4305 = call i32 @isatty(i32 noundef %4304) #10
  %.not1564 = icmp eq i32 %4305, 0
  br i1 %.not1564, label %4306, label %4307

4306:                                             ; preds = %4302, %4296
  br label %4307

4307:                                             ; preds = %4302, %4306
  %.str.66.sink3541 = phi ptr [ @.str.66, %4306 ], [ @.str.63, %4302 ]
  store i32 %4297, ptr %2293, align 4, !tbaa !5
  %4308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4309 = load i32, ptr @test_count, align 4, !tbaa !5
  %4310 = load i32, ptr %2239, align 4, !tbaa !5
  %4311 = call ptr @s2n_strerror(i32 noundef %4310, ptr noundef nonnull @.str.65) #10
  %4312 = load i32, ptr %2239, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror_debug(i32 noundef %4312, ptr noundef nonnull @.str.65) #10
  %4314 = load i32, ptr %2293, align 4, !tbaa !5
  %4315 = call ptr @strerror(i32 noundef %4314) #10
  %4316 = load i32, ptr %2293, align 4, !tbaa !5
  %4317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4308, ptr noundef nonnull %.str.66.sink3541, i32 noundef %4309, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.62, i32 noundef 534, ptr noundef %4311, ptr noundef %4313, ptr noundef %4315, i32 noundef %4316) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4318:                                             ; preds = %4291
  %4319 = load i32, ptr @test_count, align 4, !tbaa !5
  %4320 = add nsw i32 %4319, 1
  store i32 %4320, ptr @test_count, align 4, !tbaa !5
  %4321 = load ptr, ptr %21, align 8, !tbaa !9
  %4322 = load i32, ptr %4321, align 8
  %4323 = and i32 %4322, 8192
  %.not1565 = icmp eq i32 %4323, 0
  br i1 %.not1565, label %4324, label %4346

4324:                                             ; preds = %4318
  %4325 = load i32, ptr %2293, align 4, !tbaa !5
  %4326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4327 = call i32 @s2n_print_stacktrace(ptr noundef %4326) #10
  %4328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4329 = trunc nuw i8 %4328 to i1
  br i1 %4329, label %4330, label %4334

4330:                                             ; preds = %4324
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = call i32 @fileno(ptr noundef %4331) #10
  %4333 = call i32 @isatty(i32 noundef %4332) #10
  %.not1566 = icmp eq i32 %4333, 0
  br i1 %.not1566, label %4334, label %4335

4334:                                             ; preds = %4330, %4324
  br label %4335

4335:                                             ; preds = %4330, %4334
  %.str.66.sink3550 = phi ptr [ @.str.66, %4334 ], [ @.str.63, %4330 ]
  store i32 %4325, ptr %2293, align 4, !tbaa !5
  %4336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4337 = load i32, ptr @test_count, align 4, !tbaa !5
  %4338 = load i32, ptr %2239, align 4, !tbaa !5
  %4339 = call ptr @s2n_strerror(i32 noundef %4338, ptr noundef nonnull @.str.65) #10
  %4340 = load i32, ptr %2239, align 4, !tbaa !5
  %4341 = call ptr @s2n_strerror_debug(i32 noundef %4340, ptr noundef nonnull @.str.65) #10
  %4342 = load i32, ptr %2293, align 4, !tbaa !5
  %4343 = call ptr @strerror(i32 noundef %4342) #10
  %4344 = load i32, ptr %2293, align 4, !tbaa !5
  %4345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4336, ptr noundef nonnull %.str.66.sink3550, i32 noundef %4337, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.62, i32 noundef 535, ptr noundef %4339, ptr noundef %4341, ptr noundef %4343, i32 noundef %4344) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4346:                                             ; preds = %4318
  %4347 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %4321)
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = add nsw i32 %4348, 1
  store i32 %4349, ptr @test_count, align 4, !tbaa !5
  %4350 = call i32 @s2n_realloc(ptr noundef nonnull %20, i32 noundef %4347) #10
  %4351 = icmp eq i32 %4350, -1
  br i1 %4351, label %4352, label %4374

4352:                                             ; preds = %4346
  %4353 = load i32, ptr %2293, align 4, !tbaa !5
  %4354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4355 = call i32 @s2n_print_stacktrace(ptr noundef %4354) #10
  %4356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4357 = trunc nuw i8 %4356 to i1
  br i1 %4357, label %4358, label %4362

4358:                                             ; preds = %4352
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4360 = call i32 @fileno(ptr noundef %4359) #10
  %4361 = call i32 @isatty(i32 noundef %4360) #10
  %.not1897 = icmp eq i32 %4361, 0
  br i1 %.not1897, label %4362, label %4363

4362:                                             ; preds = %4358, %4352
  br label %4363

4363:                                             ; preds = %4358, %4362
  %.str.66.sink3559 = phi ptr [ @.str.66, %4362 ], [ @.str.63, %4358 ]
  store i32 %4353, ptr %2293, align 4, !tbaa !5
  %4364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4365 = load i32, ptr @test_count, align 4, !tbaa !5
  %4366 = load i32, ptr %2239, align 4, !tbaa !5
  %4367 = call ptr @s2n_strerror(i32 noundef %4366, ptr noundef nonnull @.str.65) #10
  %4368 = load i32, ptr %2239, align 4, !tbaa !5
  %4369 = call ptr @s2n_strerror_debug(i32 noundef %4368, ptr noundef nonnull @.str.65) #10
  %4370 = load i32, ptr %2293, align 4, !tbaa !5
  %4371 = call ptr @strerror(i32 noundef %4370) #10
  %4372 = load i32, ptr %2293, align 4, !tbaa !5
  %4373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4364, ptr noundef nonnull %.str.66.sink3559, i32 noundef %4365, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.62, i32 noundef 539, ptr noundef %4367, ptr noundef %4369, ptr noundef %4371, i32 noundef %4372) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4374:                                             ; preds = %4346
  %4375 = load i32, ptr @test_count, align 4, !tbaa !5
  %4376 = add nsw i32 %4375, 1
  store i32 %4376, ptr @test_count, align 4, !tbaa !5
  %4377 = load ptr, ptr %21, align 8, !tbaa !9
  %4378 = load ptr, ptr %20, align 8, !tbaa !26
  %4379 = getelementptr inbounds i8, ptr %20, i64 8
  %4380 = load i32, ptr %4379, align 8, !tbaa !27
  %4381 = zext i32 %4380 to i64
  %4382 = call i32 @s2n_connection_get_session(ptr noundef %4377, ptr noundef %4378, i64 noundef %4381)
  %4383 = icmp eq i32 %4382, -1
  br i1 %4383, label %4384, label %4406

4384:                                             ; preds = %4374
  %4385 = load i32, ptr %2293, align 4, !tbaa !5
  %4386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4387 = call i32 @s2n_print_stacktrace(ptr noundef %4386) #10
  %4388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4389 = trunc nuw i8 %4388 to i1
  br i1 %4389, label %4390, label %4394

4390:                                             ; preds = %4384
  %4391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4392 = call i32 @fileno(ptr noundef %4391) #10
  %4393 = call i32 @isatty(i32 noundef %4392) #10
  %.not1896 = icmp eq i32 %4393, 0
  br i1 %.not1896, label %4394, label %4395

4394:                                             ; preds = %4390, %4384
  br label %4395

4395:                                             ; preds = %4390, %4394
  %.str.66.sink3568 = phi ptr [ @.str.66, %4394 ], [ @.str.63, %4390 ]
  store i32 %4385, ptr %2293, align 4, !tbaa !5
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = load i32, ptr @test_count, align 4, !tbaa !5
  %4398 = load i32, ptr %2239, align 4, !tbaa !5
  %4399 = call ptr @s2n_strerror(i32 noundef %4398, ptr noundef nonnull @.str.65) #10
  %4400 = load i32, ptr %2239, align 4, !tbaa !5
  %4401 = call ptr @s2n_strerror_debug(i32 noundef %4400, ptr noundef nonnull @.str.65) #10
  %4402 = load i32, ptr %2293, align 4, !tbaa !5
  %4403 = call ptr @strerror(i32 noundef %4402) #10
  %4404 = load i32, ptr %2293, align 4, !tbaa !5
  %4405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4396, ptr noundef nonnull %.str.66.sink3568, i32 noundef %4397, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.62, i32 noundef 540, ptr noundef %4399, ptr noundef %4401, ptr noundef %4403, i32 noundef %4404) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4406:                                             ; preds = %4374
  %4407 = load i32, ptr @test_count, align 4, !tbaa !5
  %4408 = add nsw i32 %4407, 1
  store i32 %4408, ptr @test_count, align 4, !tbaa !5
  %4409 = load ptr, ptr %22, align 8, !tbaa !9
  %4410 = load ptr, ptr %21, align 8, !tbaa !9
  %4411 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %4409, ptr noundef %4410) #10
  %4412 = icmp eq i32 %4411, -1
  br i1 %4412, label %4413, label %4435

4413:                                             ; preds = %4406
  %4414 = load i32, ptr %2293, align 4, !tbaa !5
  %4415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4416 = call i32 @s2n_print_stacktrace(ptr noundef %4415) #10
  %4417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4418 = trunc nuw i8 %4417 to i1
  br i1 %4418, label %4419, label %4423

4419:                                             ; preds = %4413
  %4420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4421 = call i32 @fileno(ptr noundef %4420) #10
  %4422 = call i32 @isatty(i32 noundef %4421) #10
  %.not1895 = icmp eq i32 %4422, 0
  br i1 %.not1895, label %4423, label %4424

4423:                                             ; preds = %4419, %4413
  br label %4424

4424:                                             ; preds = %4419, %4423
  %.str.66.sink3577 = phi ptr [ @.str.66, %4423 ], [ @.str.63, %4419 ]
  store i32 %4414, ptr %2293, align 4, !tbaa !5
  %4425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4426 = load i32, ptr @test_count, align 4, !tbaa !5
  %4427 = load i32, ptr %2239, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror(i32 noundef %4427, ptr noundef nonnull @.str.65) #10
  %4429 = load i32, ptr %2239, align 4, !tbaa !5
  %4430 = call ptr @s2n_strerror_debug(i32 noundef %4429, ptr noundef nonnull @.str.65) #10
  %4431 = load i32, ptr %2293, align 4, !tbaa !5
  %4432 = call ptr @strerror(i32 noundef %4431) #10
  %4433 = load i32, ptr %2293, align 4, !tbaa !5
  %4434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4425, ptr noundef nonnull %.str.66.sink3577, i32 noundef %4426, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 543, ptr noundef %4428, ptr noundef %4430, ptr noundef %4432, i32 noundef %4433) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4435:                                             ; preds = %4406
  %4436 = load i32, ptr @test_count, align 4, !tbaa !5
  %4437 = add nsw i32 %4436, 1
  store i32 %4437, ptr @test_count, align 4, !tbaa !5
  %4438 = load ptr, ptr %21, align 8, !tbaa !9
  %4439 = call i32 @s2n_connection_wipe(ptr noundef %4438) #10
  %4440 = icmp eq i32 %4439, -1
  br i1 %4440, label %4441, label %4463

4441:                                             ; preds = %4435
  %4442 = load i32, ptr %2293, align 4, !tbaa !5
  %4443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4444 = call i32 @s2n_print_stacktrace(ptr noundef %4443) #10
  %4445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4446 = trunc nuw i8 %4445 to i1
  br i1 %4446, label %4447, label %4451

4447:                                             ; preds = %4441
  %4448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4449 = call i32 @fileno(ptr noundef %4448) #10
  %4450 = call i32 @isatty(i32 noundef %4449) #10
  %.not1894 = icmp eq i32 %4450, 0
  br i1 %.not1894, label %4451, label %4452

4451:                                             ; preds = %4447, %4441
  br label %4452

4452:                                             ; preds = %4447, %4451
  %.str.66.sink3586 = phi ptr [ @.str.66, %4451 ], [ @.str.63, %4447 ]
  store i32 %4442, ptr %2293, align 4, !tbaa !5
  %4453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4454 = load i32, ptr @test_count, align 4, !tbaa !5
  %4455 = load i32, ptr %2239, align 4, !tbaa !5
  %4456 = call ptr @s2n_strerror(i32 noundef %4455, ptr noundef nonnull @.str.65) #10
  %4457 = load i32, ptr %2239, align 4, !tbaa !5
  %4458 = call ptr @s2n_strerror_debug(i32 noundef %4457, ptr noundef nonnull @.str.65) #10
  %4459 = load i32, ptr %2293, align 4, !tbaa !5
  %4460 = call ptr @strerror(i32 noundef %4459) #10
  %4461 = load i32, ptr %2293, align 4, !tbaa !5
  %4462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4453, ptr noundef nonnull %.str.66.sink3586, i32 noundef %4454, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 544, ptr noundef %4456, ptr noundef %4458, ptr noundef %4460, i32 noundef %4461) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4463:                                             ; preds = %4435
  %4464 = load i32, ptr @test_count, align 4, !tbaa !5
  %4465 = add nsw i32 %4464, 1
  store i32 %4465, ptr @test_count, align 4, !tbaa !5
  %4466 = load ptr, ptr %22, align 8, !tbaa !9
  %4467 = call i32 @s2n_connection_wipe(ptr noundef %4466) #10
  %4468 = icmp eq i32 %4467, -1
  br i1 %4468, label %4469, label %4491

4469:                                             ; preds = %4463
  %4470 = load i32, ptr %2293, align 4, !tbaa !5
  %4471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4472 = call i32 @s2n_print_stacktrace(ptr noundef %4471) #10
  %4473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4474 = trunc nuw i8 %4473 to i1
  br i1 %4474, label %4475, label %4479

4475:                                             ; preds = %4469
  %4476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4477 = call i32 @fileno(ptr noundef %4476) #10
  %4478 = call i32 @isatty(i32 noundef %4477) #10
  %.not1893 = icmp eq i32 %4478, 0
  br i1 %.not1893, label %4479, label %4480

4479:                                             ; preds = %4475, %4469
  br label %4480

4480:                                             ; preds = %4475, %4479
  %.str.66.sink3595 = phi ptr [ @.str.66, %4479 ], [ @.str.63, %4475 ]
  store i32 %4470, ptr %2293, align 4, !tbaa !5
  %4481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4482 = load i32, ptr @test_count, align 4, !tbaa !5
  %4483 = load i32, ptr %2239, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror(i32 noundef %4483, ptr noundef nonnull @.str.65) #10
  %4485 = load i32, ptr %2239, align 4, !tbaa !5
  %4486 = call ptr @s2n_strerror_debug(i32 noundef %4485, ptr noundef nonnull @.str.65) #10
  %4487 = load i32, ptr %2293, align 4, !tbaa !5
  %4488 = call ptr @strerror(i32 noundef %4487) #10
  %4489 = load i32, ptr %2293, align 4, !tbaa !5
  %4490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4481, ptr noundef nonnull %.str.66.sink3595, i32 noundef %4482, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 545, ptr noundef %4484, ptr noundef %4486, ptr noundef %4488, i32 noundef %4489) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4491:                                             ; preds = %4463
  %4492 = load i32, ptr @test_count, align 4, !tbaa !5
  %4493 = add nsw i32 %4492, 1
  store i32 %4493, ptr @test_count, align 4, !tbaa !5
  %4494 = load ptr, ptr %21, align 8, !tbaa !9
  %4495 = load ptr, ptr %22, align 8, !tbaa !9
  %4496 = call i32 @s2n_connections_set_io_pair(ptr noundef %4494, ptr noundef %4495, ptr noundef nonnull %23) #10
  %4497 = icmp eq i32 %4496, -1
  br i1 %4497, label %4498, label %4520

4498:                                             ; preds = %4491
  %4499 = load i32, ptr %2293, align 4, !tbaa !5
  %4500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4501 = call i32 @s2n_print_stacktrace(ptr noundef %4500) #10
  %4502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4503 = trunc nuw i8 %4502 to i1
  br i1 %4503, label %4504, label %4508

4504:                                             ; preds = %4498
  %4505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4506 = call i32 @fileno(ptr noundef %4505) #10
  %4507 = call i32 @isatty(i32 noundef %4506) #10
  %.not1892 = icmp eq i32 %4507, 0
  br i1 %.not1892, label %4508, label %4509

4508:                                             ; preds = %4504, %4498
  br label %4509

4509:                                             ; preds = %4504, %4508
  %.str.66.sink3604 = phi ptr [ @.str.66, %4508 ], [ @.str.63, %4504 ]
  store i32 %4499, ptr %2293, align 4, !tbaa !5
  %4510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4511 = load i32, ptr @test_count, align 4, !tbaa !5
  %4512 = load i32, ptr %2239, align 4, !tbaa !5
  %4513 = call ptr @s2n_strerror(i32 noundef %4512, ptr noundef nonnull @.str.65) #10
  %4514 = load i32, ptr %2239, align 4, !tbaa !5
  %4515 = call ptr @s2n_strerror_debug(i32 noundef %4514, ptr noundef nonnull @.str.65) #10
  %4516 = load i32, ptr %2293, align 4, !tbaa !5
  %4517 = call ptr @strerror(i32 noundef %4516) #10
  %4518 = load i32, ptr %2293, align 4, !tbaa !5
  %4519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4510, ptr noundef nonnull %.str.66.sink3604, i32 noundef %4511, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 546, ptr noundef %4513, ptr noundef %4515, ptr noundef %4517, i32 noundef %4518) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4520:                                             ; preds = %4491
  %4521 = load i32, ptr @test_count, align 4, !tbaa !5
  %4522 = add nsw i32 %4521, 1
  store i32 %4522, ptr @test_count, align 4, !tbaa !5
  %4523 = load ptr, ptr %21, align 8, !tbaa !9
  %4524 = call i32 @s2n_connection_set_blinding(ptr noundef %4523, i32 noundef 1) #10
  %4525 = icmp eq i32 %4524, -1
  br i1 %4525, label %4526, label %4548

4526:                                             ; preds = %4520
  %4527 = load i32, ptr %2293, align 4, !tbaa !5
  %4528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4529 = call i32 @s2n_print_stacktrace(ptr noundef %4528) #10
  %4530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4531 = trunc nuw i8 %4530 to i1
  br i1 %4531, label %4532, label %4536

4532:                                             ; preds = %4526
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = call i32 @fileno(ptr noundef %4533) #10
  %4535 = call i32 @isatty(i32 noundef %4534) #10
  %.not1891 = icmp eq i32 %4535, 0
  br i1 %.not1891, label %4536, label %4537

4536:                                             ; preds = %4532, %4526
  br label %4537

4537:                                             ; preds = %4532, %4536
  %.str.66.sink3613 = phi ptr [ @.str.66, %4536 ], [ @.str.63, %4532 ]
  store i32 %4527, ptr %2293, align 4, !tbaa !5
  %4538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4539 = load i32, ptr @test_count, align 4, !tbaa !5
  %4540 = load i32, ptr %2239, align 4, !tbaa !5
  %4541 = call ptr @s2n_strerror(i32 noundef %4540, ptr noundef nonnull @.str.65) #10
  %4542 = load i32, ptr %2239, align 4, !tbaa !5
  %4543 = call ptr @s2n_strerror_debug(i32 noundef %4542, ptr noundef nonnull @.str.65) #10
  %4544 = load i32, ptr %2293, align 4, !tbaa !5
  %4545 = call ptr @strerror(i32 noundef %4544) #10
  %4546 = load i32, ptr %2293, align 4, !tbaa !5
  %4547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4538, ptr noundef nonnull %.str.66.sink3613, i32 noundef %4539, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.62, i32 noundef 547, ptr noundef %4541, ptr noundef %4543, ptr noundef %4545, i32 noundef %4546) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4548:                                             ; preds = %4520
  %4549 = load i32, ptr @test_count, align 4, !tbaa !5
  %4550 = add nsw i32 %4549, 1
  store i32 %4550, ptr @test_count, align 4, !tbaa !5
  %4551 = load ptr, ptr %21, align 8, !tbaa !9
  %4552 = load ptr, ptr %20, align 8, !tbaa !26
  %4553 = load i32, ptr %4379, align 8, !tbaa !27
  %4554 = zext i32 %4553 to i64
  %4555 = call i32 @s2n_connection_set_session(ptr noundef %4551, ptr noundef %4552, i64 noundef %4554)
  %4556 = icmp eq i32 %4555, -1
  br i1 %4556, label %4557, label %4579

4557:                                             ; preds = %4548
  %4558 = load i32, ptr %2293, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = call i32 @s2n_print_stacktrace(ptr noundef %4559) #10
  %4561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4562 = trunc nuw i8 %4561 to i1
  br i1 %4562, label %4563, label %4567

4563:                                             ; preds = %4557
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = call i32 @fileno(ptr noundef %4564) #10
  %4566 = call i32 @isatty(i32 noundef %4565) #10
  %.not1890 = icmp eq i32 %4566, 0
  br i1 %.not1890, label %4567, label %4568

4567:                                             ; preds = %4563, %4557
  br label %4568

4568:                                             ; preds = %4563, %4567
  %.str.66.sink3622 = phi ptr [ @.str.66, %4567 ], [ @.str.63, %4563 ]
  store i32 %4558, ptr %2293, align 4, !tbaa !5
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = load i32, ptr @test_count, align 4, !tbaa !5
  %4571 = load i32, ptr %2239, align 4, !tbaa !5
  %4572 = call ptr @s2n_strerror(i32 noundef %4571, ptr noundef nonnull @.str.65) #10
  %4573 = load i32, ptr %2239, align 4, !tbaa !5
  %4574 = call ptr @s2n_strerror_debug(i32 noundef %4573, ptr noundef nonnull @.str.65) #10
  %4575 = load i32, ptr %2293, align 4, !tbaa !5
  %4576 = call ptr @strerror(i32 noundef %4575) #10
  %4577 = load i32, ptr %2293, align 4, !tbaa !5
  %4578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4569, ptr noundef nonnull %.str.66.sink3622, i32 noundef %4570, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.62, i32 noundef 550, ptr noundef %4572, ptr noundef %4574, ptr noundef %4576, i32 noundef %4577) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4579:                                             ; preds = %4548
  %4580 = load i32, ptr @test_count, align 4, !tbaa !5
  %4581 = add nsw i32 %4580, 1
  store i32 %4581, ptr @test_count, align 4, !tbaa !5
  %4582 = load ptr, ptr %21, align 8, !tbaa !9
  %4583 = load i32, ptr %4582, align 8
  %4584 = and i32 %4583, 8192
  %.not1567 = icmp eq i32 %4584, 0
  br i1 %.not1567, label %4585, label %4607

4585:                                             ; preds = %4579
  %4586 = load i32, ptr %2293, align 4, !tbaa !5
  %4587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4588 = call i32 @s2n_print_stacktrace(ptr noundef %4587) #10
  %4589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4590 = trunc nuw i8 %4589 to i1
  br i1 %4590, label %4591, label %4595

4591:                                             ; preds = %4585
  %4592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4593 = call i32 @fileno(ptr noundef %4592) #10
  %4594 = call i32 @isatty(i32 noundef %4593) #10
  %.not1568 = icmp eq i32 %4594, 0
  br i1 %.not1568, label %4595, label %4596

4595:                                             ; preds = %4591, %4585
  br label %4596

4596:                                             ; preds = %4591, %4595
  %.str.66.sink3631 = phi ptr [ @.str.66, %4595 ], [ @.str.63, %4591 ]
  store i32 %4586, ptr %2293, align 4, !tbaa !5
  %4597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4598 = load i32, ptr @test_count, align 4, !tbaa !5
  %4599 = load i32, ptr %2239, align 4, !tbaa !5
  %4600 = call ptr @s2n_strerror(i32 noundef %4599, ptr noundef nonnull @.str.65) #10
  %4601 = load i32, ptr %2239, align 4, !tbaa !5
  %4602 = call ptr @s2n_strerror_debug(i32 noundef %4601, ptr noundef nonnull @.str.65) #10
  %4603 = load i32, ptr %2293, align 4, !tbaa !5
  %4604 = call ptr @strerror(i32 noundef %4603) #10
  %4605 = load i32, ptr %2293, align 4, !tbaa !5
  %4606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4597, ptr noundef nonnull %.str.66.sink3631, i32 noundef %4598, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.62, i32 noundef 552, ptr noundef %4600, ptr noundef %4602, ptr noundef %4604, i32 noundef %4605) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4607:                                             ; preds = %4579
  %4608 = add nsw i32 %4580, 2
  store i32 %4608, ptr @test_count, align 4, !tbaa !5
  %4609 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4582, ptr noundef nonnull %631) #10
  %4610 = icmp eq i32 %4609, -1
  br i1 %4610, label %4611, label %4633

4611:                                             ; preds = %4607
  %4612 = load i32, ptr %2293, align 4, !tbaa !5
  %4613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4614 = call i32 @s2n_print_stacktrace(ptr noundef %4613) #10
  %4615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4616 = trunc nuw i8 %4615 to i1
  br i1 %4616, label %4617, label %4621

4617:                                             ; preds = %4611
  %4618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4619 = call i32 @fileno(ptr noundef %4618) #10
  %4620 = call i32 @isatty(i32 noundef %4619) #10
  %.not1889 = icmp eq i32 %4620, 0
  br i1 %.not1889, label %4621, label %4622

4621:                                             ; preds = %4617, %4611
  br label %4622

4622:                                             ; preds = %4617, %4621
  %.str.66.sink3640 = phi ptr [ @.str.66, %4621 ], [ @.str.63, %4617 ]
  store i32 %4612, ptr %2293, align 4, !tbaa !5
  %4623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4624 = load i32, ptr @test_count, align 4, !tbaa !5
  %4625 = load i32, ptr %2239, align 4, !tbaa !5
  %4626 = call ptr @s2n_strerror(i32 noundef %4625, ptr noundef nonnull @.str.65) #10
  %4627 = load i32, ptr %2239, align 4, !tbaa !5
  %4628 = call ptr @s2n_strerror_debug(i32 noundef %4627, ptr noundef nonnull @.str.65) #10
  %4629 = load i32, ptr %2293, align 4, !tbaa !5
  %4630 = call ptr @strerror(i32 noundef %4629) #10
  %4631 = load i32, ptr %2293, align 4, !tbaa !5
  %4632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4623, ptr noundef nonnull %.str.66.sink3640, i32 noundef %4624, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 555, ptr noundef %4626, ptr noundef %4628, ptr noundef %4630, i32 noundef %4631) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4633:                                             ; preds = %4607
  %4634 = load i32, ptr @test_count, align 4, !tbaa !5
  %4635 = add nsw i32 %4634, 1
  store i32 %4635, ptr @test_count, align 4, !tbaa !5
  %4636 = load ptr, ptr %22, align 8, !tbaa !9
  %4637 = load ptr, ptr %21, align 8, !tbaa !9
  %4638 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4636, ptr noundef %4637) #10
  %4639 = icmp eq i32 %4638, -1
  br i1 %4639, label %4640, label %4662

4640:                                             ; preds = %4633
  %4641 = load i32, ptr %2293, align 4, !tbaa !5
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4643 = call i32 @s2n_print_stacktrace(ptr noundef %4642) #10
  %4644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4645 = trunc nuw i8 %4644 to i1
  br i1 %4645, label %4646, label %4650

4646:                                             ; preds = %4640
  %4647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4648 = call i32 @fileno(ptr noundef %4647) #10
  %4649 = call i32 @isatty(i32 noundef %4648) #10
  %.not1888 = icmp eq i32 %4649, 0
  br i1 %.not1888, label %4650, label %4651

4650:                                             ; preds = %4646, %4640
  br label %4651

4651:                                             ; preds = %4646, %4650
  %.str.66.sink3649 = phi ptr [ @.str.66, %4650 ], [ @.str.63, %4646 ]
  store i32 %4641, ptr %2293, align 4, !tbaa !5
  %4652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4653 = load i32, ptr @test_count, align 4, !tbaa !5
  %4654 = load i32, ptr %2239, align 4, !tbaa !5
  %4655 = call ptr @s2n_strerror(i32 noundef %4654, ptr noundef nonnull @.str.65) #10
  %4656 = load i32, ptr %2239, align 4, !tbaa !5
  %4657 = call ptr @s2n_strerror_debug(i32 noundef %4656, ptr noundef nonnull @.str.65) #10
  %4658 = load i32, ptr %2293, align 4, !tbaa !5
  %4659 = call ptr @strerror(i32 noundef %4658) #10
  %4660 = load i32, ptr %2293, align 4, !tbaa !5
  %4661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4652, ptr noundef nonnull %.str.66.sink3649, i32 noundef %4653, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 558, ptr noundef %4655, ptr noundef %4657, ptr noundef %4659, i32 noundef %4660) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4662:                                             ; preds = %4633
  %4663 = load i32, ptr @test_count, align 4, !tbaa !5
  %4664 = add nsw i32 %4663, 1
  store i32 %4664, ptr @test_count, align 4, !tbaa !5
  %4665 = load ptr, ptr %21, align 8, !tbaa !9
  %4666 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4665, i32 noundef 2) #10
  br i1 %4666, label %4667, label %4670

4667:                                             ; preds = %4662
  %4668 = load ptr, ptr %22, align 8, !tbaa !9
  %4669 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4668, i32 noundef 2) #10
  br i1 %4669, label %4692, label %4670

4670:                                             ; preds = %4667, %4662
  %4671 = load i32, ptr %2293, align 4, !tbaa !5
  %4672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4673 = call i32 @s2n_print_stacktrace(ptr noundef %4672) #10
  %4674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4675 = trunc nuw i8 %4674 to i1
  br i1 %4675, label %4676, label %4680

4676:                                             ; preds = %4670
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @fileno(ptr noundef %4677) #10
  %4679 = call i32 @isatty(i32 noundef %4678) #10
  %.not1569 = icmp eq i32 %4679, 0
  br i1 %.not1569, label %4680, label %4681

4680:                                             ; preds = %4676, %4670
  br label %4681

4681:                                             ; preds = %4676, %4680
  %.str.66.sink3658 = phi ptr [ @.str.66, %4680 ], [ @.str.63, %4676 ]
  store i32 %4671, ptr %2293, align 4, !tbaa !5
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = load i32, ptr @test_count, align 4, !tbaa !5
  %4684 = load i32, ptr %2239, align 4, !tbaa !5
  %4685 = call ptr @s2n_strerror(i32 noundef %4684, ptr noundef nonnull @.str.65) #10
  %4686 = load i32, ptr %2239, align 4, !tbaa !5
  %4687 = call ptr @s2n_strerror_debug(i32 noundef %4686, ptr noundef nonnull @.str.65) #10
  %4688 = load i32, ptr %2293, align 4, !tbaa !5
  %4689 = call ptr @strerror(i32 noundef %4688) #10
  %4690 = load i32, ptr %2293, align 4, !tbaa !5
  %4691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4682, ptr noundef nonnull %.str.66.sink3658, i32 noundef %4683, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 559, ptr noundef %4685, ptr noundef %4687, ptr noundef %4689, i32 noundef %4690) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4692:                                             ; preds = %4667
  %4693 = load i32, ptr @test_count, align 4, !tbaa !5
  %4694 = add nsw i32 %4693, 1
  store i32 %4694, ptr @test_count, align 4, !tbaa !5
  %4695 = load ptr, ptr %22, align 8, !tbaa !9
  %4696 = getelementptr inbounds i8, ptr %4695, i64 220
  %4697 = load i8, ptr %4696, align 4, !tbaa !59
  %4698 = icmp eq i8 %4697, 34
  br i1 %4698, label %4721, label %4699

4699:                                             ; preds = %4692
  %4700 = load i32, ptr %2293, align 4, !tbaa !5
  %4701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4702 = call i32 @s2n_print_stacktrace(ptr noundef %4701) #10
  %4703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4704 = trunc nuw i8 %4703 to i1
  br i1 %4704, label %4705, label %4709

4705:                                             ; preds = %4699
  %4706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4707 = call i32 @fileno(ptr noundef %4706) #10
  %4708 = call i32 @isatty(i32 noundef %4707) #10
  %.not1570 = icmp eq i32 %4708, 0
  br i1 %.not1570, label %4709, label %4710

4709:                                             ; preds = %4705, %4699
  br label %4710

4710:                                             ; preds = %4705, %4709
  %.str.66.sink3667 = phi ptr [ @.str.66, %4709 ], [ @.str.63, %4705 ]
  store i32 %4700, ptr %2293, align 4, !tbaa !5
  %4711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4712 = load i32, ptr @test_count, align 4, !tbaa !5
  %4713 = load i32, ptr %2239, align 4, !tbaa !5
  %4714 = call ptr @s2n_strerror(i32 noundef %4713, ptr noundef nonnull @.str.65) #10
  %4715 = load i32, ptr %2239, align 4, !tbaa !5
  %4716 = call ptr @s2n_strerror_debug(i32 noundef %4715, ptr noundef nonnull @.str.65) #10
  %4717 = load i32, ptr %2293, align 4, !tbaa !5
  %4718 = call ptr @strerror(i32 noundef %4717) #10
  %4719 = load i32, ptr %2293, align 4, !tbaa !5
  %4720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4711, ptr noundef nonnull %.str.66.sink3667, i32 noundef %4712, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.62, i32 noundef 560, ptr noundef %4714, ptr noundef %4716, ptr noundef %4718, i32 noundef %4719) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4721:                                             ; preds = %4692
  %4722 = add nsw i32 %4693, 2
  store i32 %4722, ptr @test_count, align 4, !tbaa !5
  %4723 = load ptr, ptr %21, align 8, !tbaa !9
  %4724 = getelementptr inbounds i8, ptr %4723, i64 220
  %4725 = load i8, ptr %4724, align 4, !tbaa !59
  %4726 = icmp eq i8 %4725, 34
  br i1 %4726, label %4749, label %4727

4727:                                             ; preds = %4721
  %4728 = load i32, ptr %2293, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = call i32 @s2n_print_stacktrace(ptr noundef %4729) #10
  %4731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4732 = trunc nuw i8 %4731 to i1
  br i1 %4732, label %4733, label %4737

4733:                                             ; preds = %4727
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = call i32 @fileno(ptr noundef %4734) #10
  %4736 = call i32 @isatty(i32 noundef %4735) #10
  %.not1571 = icmp eq i32 %4736, 0
  br i1 %.not1571, label %4737, label %4738

4737:                                             ; preds = %4733, %4727
  br label %4738

4738:                                             ; preds = %4733, %4737
  %.str.66.sink3676 = phi ptr [ @.str.66, %4737 ], [ @.str.63, %4733 ]
  store i32 %4728, ptr %2293, align 4, !tbaa !5
  %4739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4740 = load i32, ptr @test_count, align 4, !tbaa !5
  %4741 = load i32, ptr %2239, align 4, !tbaa !5
  %4742 = call ptr @s2n_strerror(i32 noundef %4741, ptr noundef nonnull @.str.65) #10
  %4743 = load i32, ptr %2239, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror_debug(i32 noundef %4743, ptr noundef nonnull @.str.65) #10
  %4745 = load i32, ptr %2293, align 4, !tbaa !5
  %4746 = call ptr @strerror(i32 noundef %4745) #10
  %4747 = load i32, ptr %2293, align 4, !tbaa !5
  %4748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4739, ptr noundef nonnull %.str.66.sink3676, i32 noundef %4740, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.62, i32 noundef 561, ptr noundef %4742, ptr noundef %4744, ptr noundef %4746, i32 noundef %4747) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4749:                                             ; preds = %4721
  %4750 = add nsw i32 %4693, 3
  store i32 %4750, ptr @test_count, align 4, !tbaa !5
  %4751 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %4723)
  %4752 = icmp eq i32 %4751, 0
  br i1 %4752, label %4775, label %4753

4753:                                             ; preds = %4749
  %4754 = load i32, ptr %2293, align 4, !tbaa !5
  %4755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4756 = call i32 @s2n_print_stacktrace(ptr noundef %4755) #10
  %4757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4758 = trunc nuw i8 %4757 to i1
  br i1 %4758, label %4759, label %4763

4759:                                             ; preds = %4753
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4761 = call i32 @fileno(ptr noundef %4760) #10
  %4762 = call i32 @isatty(i32 noundef %4761) #10
  %.not1572 = icmp eq i32 %4762, 0
  br i1 %.not1572, label %4763, label %4764

4763:                                             ; preds = %4759, %4753
  br label %4764

4764:                                             ; preds = %4759, %4763
  %.str.66.sink3685 = phi ptr [ @.str.66, %4763 ], [ @.str.63, %4759 ]
  store i32 %4754, ptr %2293, align 4, !tbaa !5
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4766 = load i32, ptr @test_count, align 4, !tbaa !5
  %4767 = load i32, ptr %2239, align 4, !tbaa !5
  %4768 = call ptr @s2n_strerror(i32 noundef %4767, ptr noundef nonnull @.str.65) #10
  %4769 = load i32, ptr %2239, align 4, !tbaa !5
  %4770 = call ptr @s2n_strerror_debug(i32 noundef %4769, ptr noundef nonnull @.str.65) #10
  %4771 = load i32, ptr %2293, align 4, !tbaa !5
  %4772 = call ptr @strerror(i32 noundef %4771) #10
  %4773 = load i32, ptr %2293, align 4, !tbaa !5
  %4774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4765, ptr noundef nonnull %.str.66.sink3685, i32 noundef %4766, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.62, i32 noundef 566, ptr noundef %4768, ptr noundef %4770, ptr noundef %4772, i32 noundef %4773) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4775:                                             ; preds = %4749
  %4776 = load i32, ptr @test_count, align 4, !tbaa !5
  %4777 = add nsw i32 %4776, 1
  store i32 %4777, ptr @test_count, align 4, !tbaa !5
  %4778 = load ptr, ptr %21, align 8, !tbaa !9
  %4779 = load ptr, ptr %20, align 8, !tbaa !26
  %4780 = load i32, ptr %4379, align 8, !tbaa !27
  %4781 = zext i32 %4780 to i64
  %4782 = call i32 @s2n_connection_get_session(ptr noundef %4778, ptr noundef %4779, i64 noundef %4781)
  %4783 = icmp eq i32 %4782, 0
  br i1 %4783, label %4806, label %4784

4784:                                             ; preds = %4775
  %4785 = load i32, ptr %2293, align 4, !tbaa !5
  %4786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4787 = call i32 @s2n_print_stacktrace(ptr noundef %4786) #10
  %4788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4789 = trunc nuw i8 %4788 to i1
  br i1 %4789, label %4790, label %4794

4790:                                             ; preds = %4784
  %4791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4792 = call i32 @fileno(ptr noundef %4791) #10
  %4793 = call i32 @isatty(i32 noundef %4792) #10
  %.not1573 = icmp eq i32 %4793, 0
  br i1 %.not1573, label %4794, label %4795

4794:                                             ; preds = %4790, %4784
  br label %4795

4795:                                             ; preds = %4790, %4794
  %.str.66.sink3694 = phi ptr [ @.str.66, %4794 ], [ @.str.63, %4790 ]
  store i32 %4785, ptr %2293, align 4, !tbaa !5
  %4796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4797 = load i32, ptr @test_count, align 4, !tbaa !5
  %4798 = load i32, ptr %2239, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror(i32 noundef %4798, ptr noundef nonnull @.str.65) #10
  %4800 = load i32, ptr %2239, align 4, !tbaa !5
  %4801 = call ptr @s2n_strerror_debug(i32 noundef %4800, ptr noundef nonnull @.str.65) #10
  %4802 = load i32, ptr %2293, align 4, !tbaa !5
  %4803 = call ptr @strerror(i32 noundef %4802) #10
  %4804 = load i32, ptr %2293, align 4, !tbaa !5
  %4805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4796, ptr noundef nonnull %.str.66.sink3694, i32 noundef %4797, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.62, i32 noundef 567, ptr noundef %4799, ptr noundef %4801, ptr noundef %4803, i32 noundef %4804) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4806:                                             ; preds = %4775
  %4807 = call i32 @s2n_io_pair_close(ptr noundef nonnull %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #10
  %4808 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %22) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #10
  %4809 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #10
  %4810 = call i32 @s2n_free(ptr noundef nonnull %20) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #10
  %4811 = getelementptr inbounds i8, ptr %24, i64 3
  br label %4817

4812:                                             ; preds = %5425
  %4813 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %4814 = load i32, ptr @test_count, align 4, !tbaa !5
  %4815 = add nsw i32 %4814, 1
  store i32 %4815, ptr @test_count, align 4, !tbaa !5
  %4816 = icmp eq ptr %4813, null
  br i1 %4816, label %5427, label %5449

4817:                                             ; preds = %4806, %5425
  %.015132057 = phi i64 [ 0, %4806 ], [ %5426, %5425 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #10
  %4818 = getelementptr inbounds [8 x %struct.s2n_early_data_test_case], ptr %3, i64 0, i64 %.015132057
  %4819 = load i32, ptr %4818, align 4
  store i32 %4819, ptr %24, align 4
  store i8 0, ptr %4811, align 1, !tbaa !17
  %4820 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %4821 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %4822 = load i32, ptr @test_count, align 4, !tbaa !5
  %4823 = add nsw i32 %4822, 1
  store i32 %4823, ptr @test_count, align 4, !tbaa !5
  %4824 = icmp eq ptr %4820, null
  br i1 %4824, label %4825, label %4847

4825:                                             ; preds = %4817
  %4826 = load i32, ptr %2293, align 4, !tbaa !5
  %4827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4828 = call i32 @s2n_print_stacktrace(ptr noundef %4827) #10
  %4829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4830 = trunc nuw i8 %4829 to i1
  br i1 %4830, label %4831, label %4835

4831:                                             ; preds = %4825
  %4832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4833 = call i32 @fileno(ptr noundef %4832) #10
  %4834 = call i32 @isatty(i32 noundef %4833) #10
  %.not1887 = icmp eq i32 %4834, 0
  br i1 %.not1887, label %4835, label %4836

4835:                                             ; preds = %4831, %4825
  br label %4836

4836:                                             ; preds = %4831, %4835
  %.str.66.sink3703 = phi ptr [ @.str.66, %4835 ], [ @.str.63, %4831 ]
  store i32 %4826, ptr %2293, align 4, !tbaa !5
  %4837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4838 = load i32, ptr @test_count, align 4, !tbaa !5
  %4839 = load i32, ptr %2239, align 4, !tbaa !5
  %4840 = call ptr @s2n_strerror(i32 noundef %4839, ptr noundef nonnull @.str.65) #10
  %4841 = load i32, ptr %2239, align 4, !tbaa !5
  %4842 = call ptr @s2n_strerror_debug(i32 noundef %4841, ptr noundef nonnull @.str.65) #10
  %4843 = load i32, ptr %2293, align 4, !tbaa !5
  %4844 = call ptr @strerror(i32 noundef %4843) #10
  %4845 = load i32, ptr %2293, align 4, !tbaa !5
  %4846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4837, ptr noundef nonnull %.str.66.sink3703, i32 noundef %4838, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 578, ptr noundef %4840, ptr noundef %4842, ptr noundef %4844, i32 noundef %4845) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4847:                                             ; preds = %4817
  %4848 = add nsw i32 %4822, 2
  store i32 %4848, ptr @test_count, align 4, !tbaa !5
  %4849 = icmp eq ptr %4821, null
  br i1 %4849, label %4850, label %4872

4850:                                             ; preds = %4847
  %4851 = load i32, ptr %2293, align 4, !tbaa !5
  %4852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4853 = call i32 @s2n_print_stacktrace(ptr noundef %4852) #10
  %4854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4855 = trunc nuw i8 %4854 to i1
  br i1 %4855, label %4856, label %4860

4856:                                             ; preds = %4850
  %4857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4858 = call i32 @fileno(ptr noundef %4857) #10
  %4859 = call i32 @isatty(i32 noundef %4858) #10
  %.not1886 = icmp eq i32 %4859, 0
  br i1 %.not1886, label %4860, label %4861

4860:                                             ; preds = %4856, %4850
  br label %4861

4861:                                             ; preds = %4856, %4860
  %.str.66.sink3712 = phi ptr [ @.str.66, %4860 ], [ @.str.63, %4856 ]
  store i32 %4851, ptr %2293, align 4, !tbaa !5
  %4862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4863 = load i32, ptr @test_count, align 4, !tbaa !5
  %4864 = load i32, ptr %2239, align 4, !tbaa !5
  %4865 = call ptr @s2n_strerror(i32 noundef %4864, ptr noundef nonnull @.str.65) #10
  %4866 = load i32, ptr %2239, align 4, !tbaa !5
  %4867 = call ptr @s2n_strerror_debug(i32 noundef %4866, ptr noundef nonnull @.str.65) #10
  %4868 = load i32, ptr %2293, align 4, !tbaa !5
  %4869 = call ptr @strerror(i32 noundef %4868) #10
  %4870 = load i32, ptr %2293, align 4, !tbaa !5
  %4871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4862, ptr noundef nonnull %.str.66.sink3712, i32 noundef %4863, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 579, ptr noundef %4865, ptr noundef %4867, ptr noundef %4869, i32 noundef %4870) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4872:                                             ; preds = %4847
  %4873 = add nsw i32 %4822, 3
  store i32 %4873, ptr @test_count, align 4, !tbaa !5
  %4874 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4820, ptr noundef nonnull %631) #10
  %4875 = icmp eq i32 %4874, -1
  br i1 %4875, label %4876, label %4898

4876:                                             ; preds = %4872
  %4877 = load i32, ptr %2293, align 4, !tbaa !5
  %4878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4879 = call i32 @s2n_print_stacktrace(ptr noundef %4878) #10
  %4880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4881 = trunc nuw i8 %4880 to i1
  br i1 %4881, label %4882, label %4886

4882:                                             ; preds = %4876
  %4883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4884 = call i32 @fileno(ptr noundef %4883) #10
  %4885 = call i32 @isatty(i32 noundef %4884) #10
  %.not1885 = icmp eq i32 %4885, 0
  br i1 %.not1885, label %4886, label %4887

4886:                                             ; preds = %4882, %4876
  br label %4887

4887:                                             ; preds = %4882, %4886
  %.str.66.sink3721 = phi ptr [ @.str.66, %4886 ], [ @.str.63, %4882 ]
  store i32 %4877, ptr %2293, align 4, !tbaa !5
  %4888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4889 = load i32, ptr @test_count, align 4, !tbaa !5
  %4890 = load i32, ptr %2239, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror(i32 noundef %4890, ptr noundef nonnull @.str.65) #10
  %4892 = load i32, ptr %2239, align 4, !tbaa !5
  %4893 = call ptr @s2n_strerror_debug(i32 noundef %4892, ptr noundef nonnull @.str.65) #10
  %4894 = load i32, ptr %2293, align 4, !tbaa !5
  %4895 = call ptr @strerror(i32 noundef %4894) #10
  %4896 = load i32, ptr %2293, align 4, !tbaa !5
  %4897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4888, ptr noundef nonnull %.str.66.sink3721, i32 noundef %4889, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 581, ptr noundef %4891, ptr noundef %4893, ptr noundef %4895, i32 noundef %4896) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4898:                                             ; preds = %4872
  %4899 = load i32, ptr @test_count, align 4, !tbaa !5
  %4900 = add nsw i32 %4899, 1
  store i32 %4900, ptr @test_count, align 4, !tbaa !5
  %4901 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4821, ptr noundef %225) #10
  %4902 = icmp eq i32 %4901, -1
  br i1 %4902, label %4903, label %4925

4903:                                             ; preds = %4898
  %4904 = load i32, ptr %2293, align 4, !tbaa !5
  %4905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4906 = call i32 @s2n_print_stacktrace(ptr noundef %4905) #10
  %4907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4908 = trunc nuw i8 %4907 to i1
  br i1 %4908, label %4909, label %4913

4909:                                             ; preds = %4903
  %4910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4911 = call i32 @fileno(ptr noundef %4910) #10
  %4912 = call i32 @isatty(i32 noundef %4911) #10
  %.not1884 = icmp eq i32 %4912, 0
  br i1 %.not1884, label %4913, label %4914

4913:                                             ; preds = %4909, %4903
  br label %4914

4914:                                             ; preds = %4909, %4913
  %.str.66.sink3730 = phi ptr [ @.str.66, %4913 ], [ @.str.63, %4909 ]
  store i32 %4904, ptr %2293, align 4, !tbaa !5
  %4915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4916 = load i32, ptr @test_count, align 4, !tbaa !5
  %4917 = load i32, ptr %2239, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror(i32 noundef %4917, ptr noundef nonnull @.str.65) #10
  %4919 = load i32, ptr %2239, align 4, !tbaa !5
  %4920 = call ptr @s2n_strerror_debug(i32 noundef %4919, ptr noundef nonnull @.str.65) #10
  %4921 = load i32, ptr %2293, align 4, !tbaa !5
  %4922 = call ptr @strerror(i32 noundef %4921) #10
  %4923 = load i32, ptr %2293, align 4, !tbaa !5
  %4924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4915, ptr noundef nonnull %.str.66.sink3730, i32 noundef %4916, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 582, ptr noundef %4918, ptr noundef %4920, ptr noundef %4922, i32 noundef %4923) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4925:                                             ; preds = %4898
  %4926 = getelementptr inbounds i8, ptr %4820, i64 16
  store ptr @security_policy_test_tls13_retry, ptr %4926, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #10
  store i64 0, ptr %25, align 8
  %4927 = load i32, ptr @test_count, align 4, !tbaa !5
  %4928 = add nsw i32 %4927, 1
  store i32 %4928, ptr @test_count, align 4, !tbaa !5
  %4929 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %25) #10
  %4930 = icmp eq i32 %4929, -1
  br i1 %4930, label %4931, label %4953

4931:                                             ; preds = %4925
  %4932 = load i32, ptr %2293, align 4, !tbaa !5
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = call i32 @s2n_print_stacktrace(ptr noundef %4933) #10
  %4935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4936 = trunc nuw i8 %4935 to i1
  br i1 %4936, label %4937, label %4941

4937:                                             ; preds = %4931
  %4938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4939 = call i32 @fileno(ptr noundef %4938) #10
  %4940 = call i32 @isatty(i32 noundef %4939) #10
  %.not1883 = icmp eq i32 %4940, 0
  br i1 %.not1883, label %4941, label %4942

4941:                                             ; preds = %4937, %4931
  br label %4942

4942:                                             ; preds = %4937, %4941
  %.str.66.sink3739 = phi ptr [ @.str.66, %4941 ], [ @.str.63, %4937 ]
  store i32 %4932, ptr %2293, align 4, !tbaa !5
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = load i32, ptr %2239, align 4, !tbaa !5
  %4946 = call ptr @s2n_strerror(i32 noundef %4945, ptr noundef nonnull @.str.65) #10
  %4947 = load i32, ptr %2239, align 4, !tbaa !5
  %4948 = call ptr @s2n_strerror_debug(i32 noundef %4947, ptr noundef nonnull @.str.65) #10
  %4949 = load i32, ptr %2293, align 4, !tbaa !5
  %4950 = call ptr @strerror(i32 noundef %4949) #10
  %4951 = load i32, ptr %2293, align 4, !tbaa !5
  %4952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4943, ptr noundef nonnull %.str.66.sink3739, i32 noundef %4944, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 587, ptr noundef %4946, ptr noundef %4948, ptr noundef %4950, i32 noundef %4951) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4953:                                             ; preds = %4925
  %4954 = load i32, ptr @test_count, align 4, !tbaa !5
  %4955 = add nsw i32 %4954, 1
  store i32 %4955, ptr @test_count, align 4, !tbaa !5
  %4956 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %4820, ptr noundef nonnull %4821, ptr noundef nonnull %25) #10
  %4957 = icmp eq i32 %4956, -1
  br i1 %4957, label %4958, label %4980

4958:                                             ; preds = %4953
  %4959 = load i32, ptr %2293, align 4, !tbaa !5
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = call i32 @s2n_print_stacktrace(ptr noundef %4960) #10
  %4962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4963 = trunc nuw i8 %4962 to i1
  br i1 %4963, label %4964, label %4968

4964:                                             ; preds = %4958
  %4965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4966 = call i32 @fileno(ptr noundef %4965) #10
  %4967 = call i32 @isatty(i32 noundef %4966) #10
  %.not1882 = icmp eq i32 %4967, 0
  br i1 %.not1882, label %4968, label %4969

4968:                                             ; preds = %4964, %4958
  br label %4969

4969:                                             ; preds = %4964, %4968
  %.str.66.sink3748 = phi ptr [ @.str.66, %4968 ], [ @.str.63, %4964 ]
  store i32 %4959, ptr %2293, align 4, !tbaa !5
  %4970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4971 = load i32, ptr @test_count, align 4, !tbaa !5
  %4972 = load i32, ptr %2239, align 4, !tbaa !5
  %4973 = call ptr @s2n_strerror(i32 noundef %4972, ptr noundef nonnull @.str.65) #10
  %4974 = load i32, ptr %2239, align 4, !tbaa !5
  %4975 = call ptr @s2n_strerror_debug(i32 noundef %4974, ptr noundef nonnull @.str.65) #10
  %4976 = load i32, ptr %2293, align 4, !tbaa !5
  %4977 = call ptr @strerror(i32 noundef %4976) #10
  %4978 = load i32, ptr %2293, align 4, !tbaa !5
  %4979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4970, ptr noundef nonnull %.str.66.sink3748, i32 noundef %4971, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 588, ptr noundef %4973, ptr noundef %4975, ptr noundef %4977, i32 noundef %4978) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4980:                                             ; preds = %4953
  %4981 = load i32, ptr @test_count, align 4, !tbaa !5
  %4982 = add nsw i32 %4981, 1
  store i32 %4982, ptr @test_count, align 4, !tbaa !5
  %4983 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %4821, ptr noundef nonnull %4820) #10
  %4984 = icmp eq i32 %4983, -1
  br i1 %4984, label %4985, label %5007

4985:                                             ; preds = %4980
  %4986 = load i32, ptr %2293, align 4, !tbaa !5
  %4987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4988 = call i32 @s2n_print_stacktrace(ptr noundef %4987) #10
  %4989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4990 = trunc nuw i8 %4989 to i1
  br i1 %4990, label %4991, label %4995

4991:                                             ; preds = %4985
  %4992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4993 = call i32 @fileno(ptr noundef %4992) #10
  %4994 = call i32 @isatty(i32 noundef %4993) #10
  %.not1881 = icmp eq i32 %4994, 0
  br i1 %.not1881, label %4995, label %4996

4995:                                             ; preds = %4991, %4985
  br label %4996

4996:                                             ; preds = %4991, %4995
  %.str.66.sink3757 = phi ptr [ @.str.66, %4995 ], [ @.str.63, %4991 ]
  store i32 %4986, ptr %2293, align 4, !tbaa !5
  %4997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4998 = load i32, ptr @test_count, align 4, !tbaa !5
  %4999 = load i32, ptr %2239, align 4, !tbaa !5
  %5000 = call ptr @s2n_strerror(i32 noundef %4999, ptr noundef nonnull @.str.65) #10
  %5001 = load i32, ptr %2239, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror_debug(i32 noundef %5001, ptr noundef nonnull @.str.65) #10
  %5003 = load i32, ptr %2293, align 4, !tbaa !5
  %5004 = call ptr @strerror(i32 noundef %5003) #10
  %5005 = load i32, ptr %2293, align 4, !tbaa !5
  %5006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4997, ptr noundef nonnull %.str.66.sink3757, i32 noundef %4998, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 591, ptr noundef %5000, ptr noundef %5002, ptr noundef %5004, i32 noundef %5005) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5007:                                             ; preds = %4980
  %5008 = load i32, ptr @test_count, align 4, !tbaa !5
  %5009 = add nsw i32 %5008, 1
  store i32 %5009, ptr @test_count, align 4, !tbaa !5
  %5010 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %4820, i32 noundef 2) #10
  br i1 %5010, label %5011, label %5013

5011:                                             ; preds = %5007
  %5012 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %4821, i32 noundef 2) #10
  br i1 %5012, label %5035, label %5013

5013:                                             ; preds = %5011, %5007
  %5014 = load i32, ptr %2293, align 4, !tbaa !5
  %5015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5016 = call i32 @s2n_print_stacktrace(ptr noundef %5015) #10
  %5017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5018 = trunc nuw i8 %5017 to i1
  br i1 %5018, label %5019, label %5023

5019:                                             ; preds = %5013
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = call i32 @fileno(ptr noundef %5020) #10
  %5022 = call i32 @isatty(i32 noundef %5021) #10
  %.not1862 = icmp eq i32 %5022, 0
  br i1 %.not1862, label %5023, label %5024

5023:                                             ; preds = %5019, %5013
  br label %5024

5024:                                             ; preds = %5019, %5023
  %.str.66.sink3766 = phi ptr [ @.str.66, %5023 ], [ @.str.63, %5019 ]
  store i32 %5014, ptr %2293, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = load i32, ptr @test_count, align 4, !tbaa !5
  %5027 = load i32, ptr %2239, align 4, !tbaa !5
  %5028 = call ptr @s2n_strerror(i32 noundef %5027, ptr noundef nonnull @.str.65) #10
  %5029 = load i32, ptr %2239, align 4, !tbaa !5
  %5030 = call ptr @s2n_strerror_debug(i32 noundef %5029, ptr noundef nonnull @.str.65) #10
  %5031 = load i32, ptr %2293, align 4, !tbaa !5
  %5032 = call ptr @strerror(i32 noundef %5031) #10
  %5033 = load i32, ptr %2293, align 4, !tbaa !5
  %5034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5025, ptr noundef nonnull %.str.66.sink3766, i32 noundef %5026, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 594, ptr noundef %5028, ptr noundef %5030, ptr noundef %5032, i32 noundef %5033) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5035:                                             ; preds = %5011
  %5036 = load i32, ptr @test_count, align 4, !tbaa !5
  %5037 = add nsw i32 %5036, 1
  store i32 %5037, ptr @test_count, align 4, !tbaa !5
  %5038 = getelementptr inbounds i8, ptr %4820, i64 2172
  %5039 = load i32, ptr %5038, align 4, !tbaa !62
  %5040 = and i32 %5039, 16
  %.not1863 = icmp eq i32 %5040, 0
  br i1 %.not1863, label %5045, label %5041

5041:                                             ; preds = %5035
  %5042 = getelementptr inbounds i8, ptr %4821, i64 2172
  %5043 = load i32, ptr %5042, align 4, !tbaa !62
  %5044 = and i32 %5043, 16
  %.not1864 = icmp eq i32 %5044, 0
  br i1 %.not1864, label %5045, label %5067

5045:                                             ; preds = %5041, %5035
  %5046 = load i32, ptr %2293, align 4, !tbaa !5
  %5047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5048 = call i32 @s2n_print_stacktrace(ptr noundef %5047) #10
  %5049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5050 = trunc nuw i8 %5049 to i1
  br i1 %5050, label %5051, label %5055

5051:                                             ; preds = %5045
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = call i32 @fileno(ptr noundef %5052) #10
  %5054 = call i32 @isatty(i32 noundef %5053) #10
  %.not1865 = icmp eq i32 %5054, 0
  br i1 %.not1865, label %5055, label %5056

5055:                                             ; preds = %5051, %5045
  br label %5056

5056:                                             ; preds = %5051, %5055
  %.str.66.sink3775 = phi ptr [ @.str.66, %5055 ], [ @.str.63, %5051 ]
  store i32 %5046, ptr %2293, align 4, !tbaa !5
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = load i32, ptr @test_count, align 4, !tbaa !5
  %5059 = load i32, ptr %2239, align 4, !tbaa !5
  %5060 = call ptr @s2n_strerror(i32 noundef %5059, ptr noundef nonnull @.str.65) #10
  %5061 = load i32, ptr %2239, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror_debug(i32 noundef %5061, ptr noundef nonnull @.str.65) #10
  %5063 = load i32, ptr %2293, align 4, !tbaa !5
  %5064 = call ptr @strerror(i32 noundef %5063) #10
  %5065 = load i32, ptr %2293, align 4, !tbaa !5
  %5066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5057, ptr noundef nonnull %.str.66.sink3775, i32 noundef %5058, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.62, i32 noundef 595, ptr noundef %5060, ptr noundef %5062, ptr noundef %5064, i32 noundef %5065) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5067:                                             ; preds = %5041
  %5068 = add nsw i32 %5036, 2
  store i32 %5068, ptr @test_count, align 4, !tbaa !5
  %5069 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %4821, ptr noundef nonnull %4820, ptr noundef nonnull %24)
  %5070 = call zeroext i1 @s2n_result_is_ok(i32 %5069)
  br i1 %5070, label %5093, label %5071

5071:                                             ; preds = %5067
  %5072 = load i32, ptr %2293, align 4, !tbaa !5
  %5073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5074 = call i32 @s2n_print_stacktrace(ptr noundef %5073) #10
  %5075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5076 = trunc nuw i8 %5075 to i1
  br i1 %5076, label %5077, label %5081

5077:                                             ; preds = %5071
  %5078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5079 = call i32 @fileno(ptr noundef %5078) #10
  %5080 = call i32 @isatty(i32 noundef %5079) #10
  %.not1866 = icmp eq i32 %5080, 0
  br i1 %.not1866, label %5081, label %5082

5081:                                             ; preds = %5077, %5071
  br label %5082

5082:                                             ; preds = %5077, %5081
  %.str.66.sink3784 = phi ptr [ @.str.66, %5081 ], [ @.str.63, %5077 ]
  store i32 %5072, ptr %2293, align 4, !tbaa !5
  %5083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5084 = load i32, ptr @test_count, align 4, !tbaa !5
  %5085 = load i32, ptr %2239, align 4, !tbaa !5
  %5086 = call ptr @s2n_strerror(i32 noundef %5085, ptr noundef nonnull @.str.65) #10
  %5087 = load i32, ptr %2239, align 4, !tbaa !5
  %5088 = call ptr @s2n_strerror_debug(i32 noundef %5087, ptr noundef nonnull @.str.65) #10
  %5089 = load i32, ptr %2293, align 4, !tbaa !5
  %5090 = call ptr @strerror(i32 noundef %5089) #10
  %5091 = load i32, ptr %2293, align 4, !tbaa !5
  %5092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5083, ptr noundef nonnull %.str.66.sink3784, i32 noundef %5084, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.62, i32 noundef 598, ptr noundef %5086, ptr noundef %5088, ptr noundef %5090, i32 noundef %5091) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5093:                                             ; preds = %5067
  %5094 = load i32, ptr @test_count, align 4, !tbaa !5
  %5095 = add nsw i32 %5094, 1
  store i32 %5095, ptr @test_count, align 4, !tbaa !5
  %5096 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %4821, ptr noundef nonnull %4820) #10
  %5097 = icmp eq i32 %5096, -1
  br i1 %5097, label %5098, label %5120

5098:                                             ; preds = %5093
  %5099 = load i32, ptr %2293, align 4, !tbaa !5
  %5100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5101 = call i32 @s2n_print_stacktrace(ptr noundef %5100) #10
  %5102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5103 = trunc nuw i8 %5102 to i1
  br i1 %5103, label %5104, label %5108

5104:                                             ; preds = %5098
  %5105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5106 = call i32 @fileno(ptr noundef %5105) #10
  %5107 = call i32 @isatty(i32 noundef %5106) #10
  %.not1880 = icmp eq i32 %5107, 0
  br i1 %.not1880, label %5108, label %5109

5108:                                             ; preds = %5104, %5098
  br label %5109

5109:                                             ; preds = %5104, %5108
  %.str.66.sink3793 = phi ptr [ @.str.66, %5108 ], [ @.str.63, %5104 ]
  store i32 %5099, ptr %2293, align 4, !tbaa !5
  %5110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5111 = load i32, ptr @test_count, align 4, !tbaa !5
  %5112 = load i32, ptr %2239, align 4, !tbaa !5
  %5113 = call ptr @s2n_strerror(i32 noundef %5112, ptr noundef nonnull @.str.65) #10
  %5114 = load i32, ptr %2239, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror_debug(i32 noundef %5114, ptr noundef nonnull @.str.65) #10
  %5116 = load i32, ptr %2293, align 4, !tbaa !5
  %5117 = call ptr @strerror(i32 noundef %5116) #10
  %5118 = load i32, ptr %2293, align 4, !tbaa !5
  %5119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5110, ptr noundef nonnull %.str.66.sink3793, i32 noundef %5111, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 601, ptr noundef %5113, ptr noundef %5115, ptr noundef %5117, i32 noundef %5118) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5120:                                             ; preds = %5093
  %5121 = load i32, ptr @test_count, align 4, !tbaa !5
  %5122 = add nsw i32 %5121, 1
  store i32 %5122, ptr @test_count, align 4, !tbaa !5
  %5123 = call i32 @s2n_connection_wipe(ptr noundef nonnull %4820) #10
  %5124 = icmp eq i32 %5123, -1
  br i1 %5124, label %5125, label %5147

5125:                                             ; preds = %5120
  %5126 = load i32, ptr %2293, align 4, !tbaa !5
  %5127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5128 = call i32 @s2n_print_stacktrace(ptr noundef %5127) #10
  %5129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5130 = trunc nuw i8 %5129 to i1
  br i1 %5130, label %5131, label %5135

5131:                                             ; preds = %5125
  %5132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5133 = call i32 @fileno(ptr noundef %5132) #10
  %5134 = call i32 @isatty(i32 noundef %5133) #10
  %.not1879 = icmp eq i32 %5134, 0
  br i1 %.not1879, label %5135, label %5136

5135:                                             ; preds = %5131, %5125
  br label %5136

5136:                                             ; preds = %5131, %5135
  %.str.66.sink3802 = phi ptr [ @.str.66, %5135 ], [ @.str.63, %5131 ]
  store i32 %5126, ptr %2293, align 4, !tbaa !5
  %5137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5138 = load i32, ptr @test_count, align 4, !tbaa !5
  %5139 = load i32, ptr %2239, align 4, !tbaa !5
  %5140 = call ptr @s2n_strerror(i32 noundef %5139, ptr noundef nonnull @.str.65) #10
  %5141 = load i32, ptr %2239, align 4, !tbaa !5
  %5142 = call ptr @s2n_strerror_debug(i32 noundef %5141, ptr noundef nonnull @.str.65) #10
  %5143 = load i32, ptr %2293, align 4, !tbaa !5
  %5144 = call ptr @strerror(i32 noundef %5143) #10
  %5145 = load i32, ptr %2293, align 4, !tbaa !5
  %5146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5137, ptr noundef nonnull %.str.66.sink3802, i32 noundef %5138, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 602, ptr noundef %5140, ptr noundef %5142, ptr noundef %5144, i32 noundef %5145) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5147:                                             ; preds = %5120
  %5148 = load i32, ptr @test_count, align 4, !tbaa !5
  %5149 = add nsw i32 %5148, 1
  store i32 %5149, ptr @test_count, align 4, !tbaa !5
  %5150 = call i32 @s2n_connection_wipe(ptr noundef nonnull %4821) #10
  %5151 = icmp eq i32 %5150, -1
  br i1 %5151, label %5152, label %5174

5152:                                             ; preds = %5147
  %5153 = load i32, ptr %2293, align 4, !tbaa !5
  %5154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5155 = call i32 @s2n_print_stacktrace(ptr noundef %5154) #10
  %5156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5157 = trunc nuw i8 %5156 to i1
  br i1 %5157, label %5158, label %5162

5158:                                             ; preds = %5152
  %5159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5160 = call i32 @fileno(ptr noundef %5159) #10
  %5161 = call i32 @isatty(i32 noundef %5160) #10
  %.not1878 = icmp eq i32 %5161, 0
  br i1 %.not1878, label %5162, label %5163

5162:                                             ; preds = %5158, %5152
  br label %5163

5163:                                             ; preds = %5158, %5162
  %.str.66.sink3811 = phi ptr [ @.str.66, %5162 ], [ @.str.63, %5158 ]
  store i32 %5153, ptr %2293, align 4, !tbaa !5
  %5164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5165 = load i32, ptr @test_count, align 4, !tbaa !5
  %5166 = load i32, ptr %2239, align 4, !tbaa !5
  %5167 = call ptr @s2n_strerror(i32 noundef %5166, ptr noundef nonnull @.str.65) #10
  %5168 = load i32, ptr %2239, align 4, !tbaa !5
  %5169 = call ptr @s2n_strerror_debug(i32 noundef %5168, ptr noundef nonnull @.str.65) #10
  %5170 = load i32, ptr %2293, align 4, !tbaa !5
  %5171 = call ptr @strerror(i32 noundef %5170) #10
  %5172 = load i32, ptr %2293, align 4, !tbaa !5
  %5173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5164, ptr noundef nonnull %.str.66.sink3811, i32 noundef %5165, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 603, ptr noundef %5167, ptr noundef %5169, ptr noundef %5171, i32 noundef %5172) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5174:                                             ; preds = %5147
  %5175 = load i32, ptr @test_count, align 4, !tbaa !5
  %5176 = add nsw i32 %5175, 1
  store i32 %5176, ptr @test_count, align 4, !tbaa !5
  %5177 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %4820, ptr noundef nonnull %4821, ptr noundef nonnull %25) #10
  %5178 = icmp eq i32 %5177, -1
  br i1 %5178, label %5179, label %5201

5179:                                             ; preds = %5174
  %5180 = load i32, ptr %2293, align 4, !tbaa !5
  %5181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5182 = call i32 @s2n_print_stacktrace(ptr noundef %5181) #10
  %5183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5184 = trunc nuw i8 %5183 to i1
  br i1 %5184, label %5185, label %5189

5185:                                             ; preds = %5179
  %5186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5187 = call i32 @fileno(ptr noundef %5186) #10
  %5188 = call i32 @isatty(i32 noundef %5187) #10
  %.not1877 = icmp eq i32 %5188, 0
  br i1 %.not1877, label %5189, label %5190

5189:                                             ; preds = %5185, %5179
  br label %5190

5190:                                             ; preds = %5185, %5189
  %.str.66.sink3820 = phi ptr [ @.str.66, %5189 ], [ @.str.63, %5185 ]
  store i32 %5180, ptr %2293, align 4, !tbaa !5
  %5191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5192 = load i32, ptr @test_count, align 4, !tbaa !5
  %5193 = load i32, ptr %2239, align 4, !tbaa !5
  %5194 = call ptr @s2n_strerror(i32 noundef %5193, ptr noundef nonnull @.str.65) #10
  %5195 = load i32, ptr %2239, align 4, !tbaa !5
  %5196 = call ptr @s2n_strerror_debug(i32 noundef %5195, ptr noundef nonnull @.str.65) #10
  %5197 = load i32, ptr %2293, align 4, !tbaa !5
  %5198 = call ptr @strerror(i32 noundef %5197) #10
  %5199 = load i32, ptr %2293, align 4, !tbaa !5
  %5200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5191, ptr noundef nonnull %.str.66.sink3820, i32 noundef %5192, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 604, ptr noundef %5194, ptr noundef %5196, ptr noundef %5198, i32 noundef %5199) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5201:                                             ; preds = %5174
  store ptr @security_policy_test_tls13_retry, ptr %4926, align 8, !tbaa !61
  %5202 = load i32, ptr %923, align 4, !tbaa !20
  %5203 = load i32, ptr %924, align 8, !tbaa !23
  %5204 = sub i32 %5202, %5203
  %5205 = zext i32 %5204 to i64
  %5206 = load i32, ptr @test_count, align 4, !tbaa !5
  %5207 = add nsw i32 %5206, 1
  store i32 %5207, ptr @test_count, align 4, !tbaa !5
  %5208 = load ptr, ptr %7, align 8, !tbaa !24
  %5209 = call i32 @s2n_connection_set_session(ptr noundef nonnull %4820, ptr noundef %5208, i64 noundef %5205)
  %5210 = icmp eq i32 %5209, -1
  br i1 %5210, label %5211, label %5233

5211:                                             ; preds = %5201
  %5212 = load i32, ptr %2293, align 4, !tbaa !5
  %5213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5214 = call i32 @s2n_print_stacktrace(ptr noundef %5213) #10
  %5215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5216 = trunc nuw i8 %5215 to i1
  br i1 %5216, label %5217, label %5221

5217:                                             ; preds = %5211
  %5218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5219 = call i32 @fileno(ptr noundef %5218) #10
  %5220 = call i32 @isatty(i32 noundef %5219) #10
  %.not1876 = icmp eq i32 %5220, 0
  br i1 %.not1876, label %5221, label %5222

5221:                                             ; preds = %5217, %5211
  br label %5222

5222:                                             ; preds = %5217, %5221
  %.str.66.sink3829 = phi ptr [ @.str.66, %5221 ], [ @.str.63, %5217 ]
  store i32 %5212, ptr %2293, align 4, !tbaa !5
  %5223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5224 = load i32, ptr @test_count, align 4, !tbaa !5
  %5225 = load i32, ptr %2239, align 4, !tbaa !5
  %5226 = call ptr @s2n_strerror(i32 noundef %5225, ptr noundef nonnull @.str.65) #10
  %5227 = load i32, ptr %2239, align 4, !tbaa !5
  %5228 = call ptr @s2n_strerror_debug(i32 noundef %5227, ptr noundef nonnull @.str.65) #10
  %5229 = load i32, ptr %2293, align 4, !tbaa !5
  %5230 = call ptr @strerror(i32 noundef %5229) #10
  %5231 = load i32, ptr %2293, align 4, !tbaa !5
  %5232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5223, ptr noundef nonnull %.str.66.sink3829, i32 noundef %5224, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.62, i32 noundef 609, ptr noundef %5226, ptr noundef %5228, ptr noundef %5230, i32 noundef %5231) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5233:                                             ; preds = %5201
  %5234 = load i32, ptr @test_count, align 4, !tbaa !5
  %5235 = add nsw i32 %5234, 1
  store i32 %5235, ptr @test_count, align 4, !tbaa !5
  %5236 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %7) #10
  %5237 = icmp eq i32 %5236, -1
  br i1 %5237, label %5238, label %5260

5238:                                             ; preds = %5233
  %5239 = load i32, ptr %2293, align 4, !tbaa !5
  %5240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5241 = call i32 @s2n_print_stacktrace(ptr noundef %5240) #10
  %5242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5243 = trunc nuw i8 %5242 to i1
  br i1 %5243, label %5244, label %5248

5244:                                             ; preds = %5238
  %5245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5246 = call i32 @fileno(ptr noundef %5245) #10
  %5247 = call i32 @isatty(i32 noundef %5246) #10
  %.not1875 = icmp eq i32 %5247, 0
  br i1 %.not1875, label %5248, label %5249

5248:                                             ; preds = %5244, %5238
  br label %5249

5249:                                             ; preds = %5244, %5248
  %.str.66.sink3838 = phi ptr [ @.str.66, %5248 ], [ @.str.63, %5244 ]
  store i32 %5239, ptr %2293, align 4, !tbaa !5
  %5250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5251 = load i32, ptr @test_count, align 4, !tbaa !5
  %5252 = load i32, ptr %2239, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror(i32 noundef %5252, ptr noundef nonnull @.str.65) #10
  %5254 = load i32, ptr %2239, align 4, !tbaa !5
  %5255 = call ptr @s2n_strerror_debug(i32 noundef %5254, ptr noundef nonnull @.str.65) #10
  %5256 = load i32, ptr %2293, align 4, !tbaa !5
  %5257 = call ptr @strerror(i32 noundef %5256) #10
  %5258 = load i32, ptr %2293, align 4, !tbaa !5
  %5259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5250, ptr noundef nonnull %.str.66.sink3838, i32 noundef %5251, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.62, i32 noundef 610, ptr noundef %5253, ptr noundef %5255, ptr noundef %5257, i32 noundef %5258) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5260:                                             ; preds = %5233
  %5261 = load i32, ptr @test_count, align 4, !tbaa !5
  %5262 = add nsw i32 %5261, 1
  store i32 %5262, ptr @test_count, align 4, !tbaa !5
  %5263 = call i32 @s2n_test_negotiate(ptr noundef nonnull %4821, ptr noundef nonnull %4820, ptr noundef nonnull %24)
  %5264 = call zeroext i1 @s2n_result_is_ok(i32 %5263)
  br i1 %5264, label %5287, label %5265

5265:                                             ; preds = %5260
  %5266 = load i32, ptr %2293, align 4, !tbaa !5
  %5267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5268 = call i32 @s2n_print_stacktrace(ptr noundef %5267) #10
  %5269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5270 = trunc nuw i8 %5269 to i1
  br i1 %5270, label %5271, label %5275

5271:                                             ; preds = %5265
  %5272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5273 = call i32 @fileno(ptr noundef %5272) #10
  %5274 = call i32 @isatty(i32 noundef %5273) #10
  %.not1867 = icmp eq i32 %5274, 0
  br i1 %.not1867, label %5275, label %5276

5275:                                             ; preds = %5271, %5265
  br label %5276

5276:                                             ; preds = %5271, %5275
  %.str.66.sink3847 = phi ptr [ @.str.66, %5275 ], [ @.str.63, %5271 ]
  store i32 %5266, ptr %2293, align 4, !tbaa !5
  %5277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5278 = load i32, ptr @test_count, align 4, !tbaa !5
  %5279 = load i32, ptr %2239, align 4, !tbaa !5
  %5280 = call ptr @s2n_strerror(i32 noundef %5279, ptr noundef nonnull @.str.65) #10
  %5281 = load i32, ptr %2239, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror_debug(i32 noundef %5281, ptr noundef nonnull @.str.65) #10
  %5283 = load i32, ptr %2293, align 4, !tbaa !5
  %5284 = call ptr @strerror(i32 noundef %5283) #10
  %5285 = load i32, ptr %2293, align 4, !tbaa !5
  %5286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5277, ptr noundef nonnull %.str.66.sink3847, i32 noundef %5278, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.62, i32 noundef 613, ptr noundef %5280, ptr noundef %5282, ptr noundef %5284, i32 noundef %5285) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5287:                                             ; preds = %5260
  %5288 = load i32, ptr @test_count, align 4, !tbaa !5
  %5289 = add nsw i32 %5288, 1
  store i32 %5289, ptr @test_count, align 4, !tbaa !5
  %5290 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %4820, i32 noundef 2) #10
  br i1 %5290, label %5291, label %5315

5291:                                             ; preds = %5287
  %5292 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %4821, i32 noundef 2) #10
  br i1 %5292, label %5293, label %5315

5293:                                             ; preds = %5291
  %5294 = load i32, ptr %2293, align 4, !tbaa !5
  %5295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5296 = call i32 @s2n_print_stacktrace(ptr noundef %5295) #10
  %5297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5298 = trunc nuw i8 %5297 to i1
  br i1 %5298, label %5299, label %5303

5299:                                             ; preds = %5293
  %5300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5301 = call i32 @fileno(ptr noundef %5300) #10
  %5302 = call i32 @isatty(i32 noundef %5301) #10
  %.not1874 = icmp eq i32 %5302, 0
  br i1 %.not1874, label %5303, label %5304

5303:                                             ; preds = %5299, %5293
  br label %5304

5304:                                             ; preds = %5299, %5303
  %.str.66.sink3856 = phi ptr [ @.str.66, %5303 ], [ @.str.63, %5299 ]
  store i32 %5294, ptr %2293, align 4, !tbaa !5
  %5305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5306 = load i32, ptr @test_count, align 4, !tbaa !5
  %5307 = load i32, ptr %2239, align 4, !tbaa !5
  %5308 = call ptr @s2n_strerror(i32 noundef %5307, ptr noundef nonnull @.str.65) #10
  %5309 = load i32, ptr %2239, align 4, !tbaa !5
  %5310 = call ptr @s2n_strerror_debug(i32 noundef %5309, ptr noundef nonnull @.str.65) #10
  %5311 = load i32, ptr %2293, align 4, !tbaa !5
  %5312 = call ptr @strerror(i32 noundef %5311) #10
  %5313 = load i32, ptr %2293, align 4, !tbaa !5
  %5314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5305, ptr noundef nonnull %.str.66.sink3856, i32 noundef %5306, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.62, i32 noundef 614, ptr noundef %5308, ptr noundef %5310, ptr noundef %5312, i32 noundef %5313) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5315:                                             ; preds = %5287, %5291
  %5316 = load i32, ptr @test_count, align 4, !tbaa !5
  %5317 = add nsw i32 %5316, 1
  store i32 %5317, ptr @test_count, align 4, !tbaa !5
  %5318 = load i32, ptr %5038, align 4, !tbaa !62
  %5319 = and i32 %5318, 16
  %.not1868 = icmp eq i32 %5319, 0
  br i1 %.not1868, label %5323, label %5320

5320:                                             ; preds = %5315
  %5321 = load i32, ptr %5042, align 4, !tbaa !62
  %5322 = and i32 %5321, 16
  %.not1869 = icmp eq i32 %5322, 0
  br i1 %.not1869, label %5323, label %5345

5323:                                             ; preds = %5320, %5315
  %5324 = load i32, ptr %2293, align 4, !tbaa !5
  %5325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5326 = call i32 @s2n_print_stacktrace(ptr noundef %5325) #10
  %5327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5328 = trunc nuw i8 %5327 to i1
  br i1 %5328, label %5329, label %5333

5329:                                             ; preds = %5323
  %5330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5331 = call i32 @fileno(ptr noundef %5330) #10
  %5332 = call i32 @isatty(i32 noundef %5331) #10
  %.not1870 = icmp eq i32 %5332, 0
  br i1 %.not1870, label %5333, label %5334

5333:                                             ; preds = %5329, %5323
  br label %5334

5334:                                             ; preds = %5329, %5333
  %.str.66.sink3865 = phi ptr [ @.str.66, %5333 ], [ @.str.63, %5329 ]
  store i32 %5324, ptr %2293, align 4, !tbaa !5
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = load i32, ptr @test_count, align 4, !tbaa !5
  %5337 = load i32, ptr %2239, align 4, !tbaa !5
  %5338 = call ptr @s2n_strerror(i32 noundef %5337, ptr noundef nonnull @.str.65) #10
  %5339 = load i32, ptr %2239, align 4, !tbaa !5
  %5340 = call ptr @s2n_strerror_debug(i32 noundef %5339, ptr noundef nonnull @.str.65) #10
  %5341 = load i32, ptr %2293, align 4, !tbaa !5
  %5342 = call ptr @strerror(i32 noundef %5341) #10
  %5343 = load i32, ptr %2293, align 4, !tbaa !5
  %5344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5335, ptr noundef nonnull %.str.66.sink3865, i32 noundef %5336, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.62, i32 noundef 615, ptr noundef %5338, ptr noundef %5340, ptr noundef %5342, i32 noundef %5343) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5345:                                             ; preds = %5320
  %5346 = add nsw i32 %5316, 2
  store i32 %5346, ptr @test_count, align 4, !tbaa !5
  %5347 = call i32 @s2n_connection_free(ptr noundef nonnull %4821) #10
  %5348 = icmp eq i32 %5347, -1
  br i1 %5348, label %5349, label %5371

5349:                                             ; preds = %5345
  %5350 = load i32, ptr %2293, align 4, !tbaa !5
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = call i32 @s2n_print_stacktrace(ptr noundef %5351) #10
  %5353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5354 = trunc nuw i8 %5353 to i1
  br i1 %5354, label %5355, label %5359

5355:                                             ; preds = %5349
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = call i32 @fileno(ptr noundef %5356) #10
  %5358 = call i32 @isatty(i32 noundef %5357) #10
  %.not1873 = icmp eq i32 %5358, 0
  br i1 %.not1873, label %5359, label %5360

5359:                                             ; preds = %5355, %5349
  br label %5360

5360:                                             ; preds = %5355, %5359
  %.str.66.sink3874 = phi ptr [ @.str.66, %5359 ], [ @.str.63, %5355 ]
  store i32 %5350, ptr %2293, align 4, !tbaa !5
  %5361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5362 = load i32, ptr @test_count, align 4, !tbaa !5
  %5363 = load i32, ptr %2239, align 4, !tbaa !5
  %5364 = call ptr @s2n_strerror(i32 noundef %5363, ptr noundef nonnull @.str.65) #10
  %5365 = load i32, ptr %2239, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror_debug(i32 noundef %5365, ptr noundef nonnull @.str.65) #10
  %5367 = load i32, ptr %2293, align 4, !tbaa !5
  %5368 = call ptr @strerror(i32 noundef %5367) #10
  %5369 = load i32, ptr %2293, align 4, !tbaa !5
  %5370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5361, ptr noundef nonnull %.str.66.sink3874, i32 noundef %5362, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 617, ptr noundef %5364, ptr noundef %5366, ptr noundef %5368, i32 noundef %5369) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5371:                                             ; preds = %5345
  %5372 = load i32, ptr @test_count, align 4, !tbaa !5
  %5373 = add nsw i32 %5372, 1
  store i32 %5373, ptr @test_count, align 4, !tbaa !5
  %5374 = call i32 @s2n_connection_free(ptr noundef nonnull %4820) #10
  %5375 = icmp eq i32 %5374, -1
  br i1 %5375, label %5376, label %5398

5376:                                             ; preds = %5371
  %5377 = load i32, ptr %2293, align 4, !tbaa !5
  %5378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5379 = call i32 @s2n_print_stacktrace(ptr noundef %5378) #10
  %5380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5381 = trunc nuw i8 %5380 to i1
  br i1 %5381, label %5382, label %5386

5382:                                             ; preds = %5376
  %5383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5384 = call i32 @fileno(ptr noundef %5383) #10
  %5385 = call i32 @isatty(i32 noundef %5384) #10
  %.not1872 = icmp eq i32 %5385, 0
  br i1 %.not1872, label %5386, label %5387

5386:                                             ; preds = %5382, %5376
  br label %5387

5387:                                             ; preds = %5382, %5386
  %.str.66.sink3883 = phi ptr [ @.str.66, %5386 ], [ @.str.63, %5382 ]
  store i32 %5377, ptr %2293, align 4, !tbaa !5
  %5388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5389 = load i32, ptr @test_count, align 4, !tbaa !5
  %5390 = load i32, ptr %2239, align 4, !tbaa !5
  %5391 = call ptr @s2n_strerror(i32 noundef %5390, ptr noundef nonnull @.str.65) #10
  %5392 = load i32, ptr %2239, align 4, !tbaa !5
  %5393 = call ptr @s2n_strerror_debug(i32 noundef %5392, ptr noundef nonnull @.str.65) #10
  %5394 = load i32, ptr %2293, align 4, !tbaa !5
  %5395 = call ptr @strerror(i32 noundef %5394) #10
  %5396 = load i32, ptr %2293, align 4, !tbaa !5
  %5397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5388, ptr noundef nonnull %.str.66.sink3883, i32 noundef %5389, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 618, ptr noundef %5391, ptr noundef %5393, ptr noundef %5395, i32 noundef %5396) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5398:                                             ; preds = %5371
  %5399 = load i32, ptr @test_count, align 4, !tbaa !5
  %5400 = add nsw i32 %5399, 1
  store i32 %5400, ptr @test_count, align 4, !tbaa !5
  %5401 = call i32 @s2n_io_pair_close(ptr noundef nonnull %25) #10
  %5402 = icmp eq i32 %5401, -1
  br i1 %5402, label %5403, label %5425

5403:                                             ; preds = %5398
  %5404 = load i32, ptr %2293, align 4, !tbaa !5
  %5405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5406 = call i32 @s2n_print_stacktrace(ptr noundef %5405) #10
  %5407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5408 = trunc nuw i8 %5407 to i1
  br i1 %5408, label %5409, label %5413

5409:                                             ; preds = %5403
  %5410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5411 = call i32 @fileno(ptr noundef %5410) #10
  %5412 = call i32 @isatty(i32 noundef %5411) #10
  %.not1871 = icmp eq i32 %5412, 0
  br i1 %.not1871, label %5413, label %5414

5413:                                             ; preds = %5409, %5403
  br label %5414

5414:                                             ; preds = %5409, %5413
  %.str.66.sink3892 = phi ptr [ @.str.66, %5413 ], [ @.str.63, %5409 ]
  store i32 %5404, ptr %2293, align 4, !tbaa !5
  %5415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5416 = load i32, ptr @test_count, align 4, !tbaa !5
  %5417 = load i32, ptr %2239, align 4, !tbaa !5
  %5418 = call ptr @s2n_strerror(i32 noundef %5417, ptr noundef nonnull @.str.65) #10
  %5419 = load i32, ptr %2239, align 4, !tbaa !5
  %5420 = call ptr @s2n_strerror_debug(i32 noundef %5419, ptr noundef nonnull @.str.65) #10
  %5421 = load i32, ptr %2293, align 4, !tbaa !5
  %5422 = call ptr @strerror(i32 noundef %5421) #10
  %5423 = load i32, ptr %2293, align 4, !tbaa !5
  %5424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5415, ptr noundef nonnull %.str.66.sink3892, i32 noundef %5416, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 619, ptr noundef %5418, ptr noundef %5420, ptr noundef %5422, i32 noundef %5423) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5425:                                             ; preds = %5398
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #10
  %5426 = add nuw nsw i64 %.015132057, 1
  %exitcond2067.not = icmp eq i64 %5426, 8
  br i1 %exitcond2067.not, label %4812, label %4817, !llvm.loop !63

5427:                                             ; preds = %4812
  %5428 = load i32, ptr %2293, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = call i32 @s2n_print_stacktrace(ptr noundef %5429) #10
  %5431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5432 = trunc nuw i8 %5431 to i1
  br i1 %5432, label %5433, label %5437

5433:                                             ; preds = %5427
  %5434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5435 = call i32 @fileno(ptr noundef %5434) #10
  %5436 = call i32 @isatty(i32 noundef %5435) #10
  %.not1861 = icmp eq i32 %5436, 0
  br i1 %.not1861, label %5437, label %5438

5437:                                             ; preds = %5433, %5427
  br label %5438

5438:                                             ; preds = %5433, %5437
  %.str.66.sink3901 = phi ptr [ @.str.66, %5437 ], [ @.str.63, %5433 ]
  store i32 %5428, ptr %2293, align 4, !tbaa !5
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = load i32, ptr %2239, align 4, !tbaa !5
  %5442 = call ptr @s2n_strerror(i32 noundef %5441, ptr noundef nonnull @.str.65) #10
  %5443 = load i32, ptr %2239, align 4, !tbaa !5
  %5444 = call ptr @s2n_strerror_debug(i32 noundef %5443, ptr noundef nonnull @.str.65) #10
  %5445 = load i32, ptr %2293, align 4, !tbaa !5
  %5446 = call ptr @strerror(i32 noundef %5445) #10
  %5447 = load i32, ptr %2293, align 4, !tbaa !5
  %5448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5439, ptr noundef nonnull %.str.66.sink3901, i32 noundef %5440, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 629, ptr noundef %5442, ptr noundef %5444, ptr noundef %5446, i32 noundef %5447) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5449:                                             ; preds = %4812
  %5450 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %5451 = load i32, ptr @test_count, align 4, !tbaa !5
  %5452 = add nsw i32 %5451, 1
  store i32 %5452, ptr @test_count, align 4, !tbaa !5
  %5453 = icmp eq ptr %5450, null
  br i1 %5453, label %5454, label %5476

5454:                                             ; preds = %5449
  %5455 = load i32, ptr %2293, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = call i32 @s2n_print_stacktrace(ptr noundef %5456) #10
  %5458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5459 = trunc nuw i8 %5458 to i1
  br i1 %5459, label %5460, label %5464

5460:                                             ; preds = %5454
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = call i32 @fileno(ptr noundef %5461) #10
  %5463 = call i32 @isatty(i32 noundef %5462) #10
  %.not1860 = icmp eq i32 %5463, 0
  br i1 %.not1860, label %5464, label %5465

5464:                                             ; preds = %5460, %5454
  br label %5465

5465:                                             ; preds = %5460, %5464
  %.str.66.sink3910 = phi ptr [ @.str.66, %5464 ], [ @.str.63, %5460 ]
  store i32 %5455, ptr %2293, align 4, !tbaa !5
  %5466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5467 = load i32, ptr @test_count, align 4, !tbaa !5
  %5468 = load i32, ptr %2239, align 4, !tbaa !5
  %5469 = call ptr @s2n_strerror(i32 noundef %5468, ptr noundef nonnull @.str.65) #10
  %5470 = load i32, ptr %2239, align 4, !tbaa !5
  %5471 = call ptr @s2n_strerror_debug(i32 noundef %5470, ptr noundef nonnull @.str.65) #10
  %5472 = load i32, ptr %2293, align 4, !tbaa !5
  %5473 = call ptr @strerror(i32 noundef %5472) #10
  %5474 = load i32, ptr %2293, align 4, !tbaa !5
  %5475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5466, ptr noundef nonnull %.str.66.sink3910, i32 noundef %5467, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 632, ptr noundef %5469, ptr noundef %5471, ptr noundef %5473, i32 noundef %5474) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5476:                                             ; preds = %5449
  %5477 = add nsw i32 %5451, 2
  store i32 %5477, ptr @test_count, align 4, !tbaa !5
  %5478 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5450, ptr noundef %225) #10
  %5479 = icmp eq i32 %5478, -1
  br i1 %5479, label %5480, label %5502

5480:                                             ; preds = %5476
  %5481 = load i32, ptr %2293, align 4, !tbaa !5
  %5482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5483 = call i32 @s2n_print_stacktrace(ptr noundef %5482) #10
  %5484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5485 = trunc nuw i8 %5484 to i1
  br i1 %5485, label %5486, label %5490

5486:                                             ; preds = %5480
  %5487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5488 = call i32 @fileno(ptr noundef %5487) #10
  %5489 = call i32 @isatty(i32 noundef %5488) #10
  %.not1859 = icmp eq i32 %5489, 0
  br i1 %.not1859, label %5490, label %5491

5490:                                             ; preds = %5486, %5480
  br label %5491

5491:                                             ; preds = %5486, %5490
  %.str.66.sink3919 = phi ptr [ @.str.66, %5490 ], [ @.str.63, %5486 ]
  store i32 %5481, ptr %2293, align 4, !tbaa !5
  %5492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5493 = load i32, ptr @test_count, align 4, !tbaa !5
  %5494 = load i32, ptr %2239, align 4, !tbaa !5
  %5495 = call ptr @s2n_strerror(i32 noundef %5494, ptr noundef nonnull @.str.65) #10
  %5496 = load i32, ptr %2239, align 4, !tbaa !5
  %5497 = call ptr @s2n_strerror_debug(i32 noundef %5496, ptr noundef nonnull @.str.65) #10
  %5498 = load i32, ptr %2293, align 4, !tbaa !5
  %5499 = call ptr @strerror(i32 noundef %5498) #10
  %5500 = load i32, ptr %2293, align 4, !tbaa !5
  %5501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5492, ptr noundef nonnull %.str.66.sink3919, i32 noundef %5493, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 633, ptr noundef %5495, ptr noundef %5497, ptr noundef %5499, i32 noundef %5500) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5502:                                             ; preds = %5476
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #10
  store i64 0, ptr %26, align 8
  %5503 = load i32, ptr @test_count, align 4, !tbaa !5
  %5504 = add nsw i32 %5503, 1
  store i32 %5504, ptr @test_count, align 4, !tbaa !5
  %5505 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %26) #10
  %5506 = icmp eq i32 %5505, -1
  br i1 %5506, label %5507, label %5529

5507:                                             ; preds = %5502
  %5508 = load i32, ptr %2293, align 4, !tbaa !5
  %5509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5510 = call i32 @s2n_print_stacktrace(ptr noundef %5509) #10
  %5511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5512 = trunc nuw i8 %5511 to i1
  br i1 %5512, label %5513, label %5517

5513:                                             ; preds = %5507
  %5514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5515 = call i32 @fileno(ptr noundef %5514) #10
  %5516 = call i32 @isatty(i32 noundef %5515) #10
  %.not1858 = icmp eq i32 %5516, 0
  br i1 %.not1858, label %5517, label %5518

5517:                                             ; preds = %5513, %5507
  br label %5518

5518:                                             ; preds = %5513, %5517
  %.str.66.sink3928 = phi ptr [ @.str.66, %5517 ], [ @.str.63, %5513 ]
  store i32 %5508, ptr %2293, align 4, !tbaa !5
  %5519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5520 = load i32, ptr @test_count, align 4, !tbaa !5
  %5521 = load i32, ptr %2239, align 4, !tbaa !5
  %5522 = call ptr @s2n_strerror(i32 noundef %5521, ptr noundef nonnull @.str.65) #10
  %5523 = load i32, ptr %2239, align 4, !tbaa !5
  %5524 = call ptr @s2n_strerror_debug(i32 noundef %5523, ptr noundef nonnull @.str.65) #10
  %5525 = load i32, ptr %2293, align 4, !tbaa !5
  %5526 = call ptr @strerror(i32 noundef %5525) #10
  %5527 = load i32, ptr %2293, align 4, !tbaa !5
  %5528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5519, ptr noundef nonnull %.str.66.sink3928, i32 noundef %5520, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 637, ptr noundef %5522, ptr noundef %5524, ptr noundef %5526, i32 noundef %5527) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5529:                                             ; preds = %5502
  %5530 = load i32, ptr @test_count, align 4, !tbaa !5
  %5531 = add nsw i32 %5530, 1
  store i32 %5531, ptr @test_count, align 4, !tbaa !5
  %5532 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %4813, ptr noundef nonnull %5450, ptr noundef nonnull %26) #10
  %5533 = icmp eq i32 %5532, -1
  br i1 %5533, label %5534, label %5556

5534:                                             ; preds = %5529
  %5535 = load i32, ptr %2293, align 4, !tbaa !5
  %5536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5537 = call i32 @s2n_print_stacktrace(ptr noundef %5536) #10
  %5538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5539 = trunc nuw i8 %5538 to i1
  br i1 %5539, label %5540, label %5544

5540:                                             ; preds = %5534
  %5541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5542 = call i32 @fileno(ptr noundef %5541) #10
  %5543 = call i32 @isatty(i32 noundef %5542) #10
  %.not1857 = icmp eq i32 %5543, 0
  br i1 %.not1857, label %5544, label %5545

5544:                                             ; preds = %5540, %5534
  br label %5545

5545:                                             ; preds = %5540, %5544
  %.str.66.sink3937 = phi ptr [ @.str.66, %5544 ], [ @.str.63, %5540 ]
  store i32 %5535, ptr %2293, align 4, !tbaa !5
  %5546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5547 = load i32, ptr @test_count, align 4, !tbaa !5
  %5548 = load i32, ptr %2239, align 4, !tbaa !5
  %5549 = call ptr @s2n_strerror(i32 noundef %5548, ptr noundef nonnull @.str.65) #10
  %5550 = load i32, ptr %2239, align 4, !tbaa !5
  %5551 = call ptr @s2n_strerror_debug(i32 noundef %5550, ptr noundef nonnull @.str.65) #10
  %5552 = load i32, ptr %2293, align 4, !tbaa !5
  %5553 = call ptr @strerror(i32 noundef %5552) #10
  %5554 = load i32, ptr %2293, align 4, !tbaa !5
  %5555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5546, ptr noundef nonnull %.str.66.sink3937, i32 noundef %5547, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 638, ptr noundef %5549, ptr noundef %5551, ptr noundef %5553, i32 noundef %5554) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5556:                                             ; preds = %5529
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %27) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %27, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %28) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %28, i8 0, i64 40, i1 false)
  %5557 = load i32, ptr @test_count, align 4, !tbaa !5
  %5558 = add nsw i32 %5557, 1
  store i32 %5558, ptr @test_count, align 4, !tbaa !5
  %5559 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %27, i32 noundef 0) #10
  %5560 = icmp eq i32 %5559, -1
  br i1 %5560, label %5561, label %5583

5561:                                             ; preds = %5556
  %5562 = load i32, ptr %2293, align 4, !tbaa !5
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = call i32 @s2n_print_stacktrace(ptr noundef %5563) #10
  %5565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5566 = trunc nuw i8 %5565 to i1
  br i1 %5566, label %5567, label %5571

5567:                                             ; preds = %5561
  %5568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5569 = call i32 @fileno(ptr noundef %5568) #10
  %5570 = call i32 @isatty(i32 noundef %5569) #10
  %.not1856 = icmp eq i32 %5570, 0
  br i1 %.not1856, label %5571, label %5572

5571:                                             ; preds = %5567, %5561
  br label %5572

5572:                                             ; preds = %5567, %5571
  %.str.66.sink3946 = phi ptr [ @.str.66, %5571 ], [ @.str.63, %5567 ]
  store i32 %5562, ptr %2293, align 4, !tbaa !5
  %5573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5574 = load i32, ptr @test_count, align 4, !tbaa !5
  %5575 = load i32, ptr %2239, align 4, !tbaa !5
  %5576 = call ptr @s2n_strerror(i32 noundef %5575, ptr noundef nonnull @.str.65) #10
  %5577 = load i32, ptr %2239, align 4, !tbaa !5
  %5578 = call ptr @s2n_strerror_debug(i32 noundef %5577, ptr noundef nonnull @.str.65) #10
  %5579 = load i32, ptr %2293, align 4, !tbaa !5
  %5580 = call ptr @strerror(i32 noundef %5579) #10
  %5581 = load i32, ptr %2293, align 4, !tbaa !5
  %5582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5573, ptr noundef nonnull %.str.66.sink3946, i32 noundef %5574, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.62, i32 noundef 642, ptr noundef %5576, ptr noundef %5578, ptr noundef %5580, i32 noundef %5581) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5583:                                             ; preds = %5556
  %5584 = load i32, ptr @test_count, align 4, !tbaa !5
  %5585 = add nsw i32 %5584, 1
  store i32 %5585, ptr @test_count, align 4, !tbaa !5
  %5586 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %28, i32 noundef 0) #10
  %5587 = icmp eq i32 %5586, -1
  br i1 %5587, label %5588, label %5610

5588:                                             ; preds = %5583
  %5589 = load i32, ptr %2293, align 4, !tbaa !5
  %5590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5591 = call i32 @s2n_print_stacktrace(ptr noundef %5590) #10
  %5592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5593 = trunc nuw i8 %5592 to i1
  br i1 %5593, label %5594, label %5598

5594:                                             ; preds = %5588
  %5595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5596 = call i32 @fileno(ptr noundef %5595) #10
  %5597 = call i32 @isatty(i32 noundef %5596) #10
  %.not1855 = icmp eq i32 %5597, 0
  br i1 %.not1855, label %5598, label %5599

5598:                                             ; preds = %5594, %5588
  br label %5599

5599:                                             ; preds = %5594, %5598
  %.str.66.sink3955 = phi ptr [ @.str.66, %5598 ], [ @.str.63, %5594 ]
  store i32 %5589, ptr %2293, align 4, !tbaa !5
  %5600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5601 = load i32, ptr @test_count, align 4, !tbaa !5
  %5602 = load i32, ptr %2239, align 4, !tbaa !5
  %5603 = call ptr @s2n_strerror(i32 noundef %5602, ptr noundef nonnull @.str.65) #10
  %5604 = load i32, ptr %2239, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror_debug(i32 noundef %5604, ptr noundef nonnull @.str.65) #10
  %5606 = load i32, ptr %2293, align 4, !tbaa !5
  %5607 = call ptr @strerror(i32 noundef %5606) #10
  %5608 = load i32, ptr %2293, align 4, !tbaa !5
  %5609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5600, ptr noundef nonnull %.str.66.sink3955, i32 noundef %5601, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.62, i32 noundef 643, ptr noundef %5603, ptr noundef %5605, ptr noundef %5607, i32 noundef %5608) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5610:                                             ; preds = %5583
  %5611 = load i32, ptr @test_count, align 4, !tbaa !5
  %5612 = add nsw i32 %5611, 1
  store i32 %5612, ptr @test_count, align 4, !tbaa !5
  %5613 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4813, ptr noundef nonnull %631) #10
  %5614 = icmp eq i32 %5613, -1
  br i1 %5614, label %5615, label %5637

5615:                                             ; preds = %5610
  %5616 = load i32, ptr %2293, align 4, !tbaa !5
  %5617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5618 = call i32 @s2n_print_stacktrace(ptr noundef %5617) #10
  %5619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5620 = trunc nuw i8 %5619 to i1
  br i1 %5620, label %5621, label %5625

5621:                                             ; preds = %5615
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @fileno(ptr noundef %5622) #10
  %5624 = call i32 @isatty(i32 noundef %5623) #10
  %.not1854 = icmp eq i32 %5624, 0
  br i1 %.not1854, label %5625, label %5626

5625:                                             ; preds = %5621, %5615
  br label %5626

5626:                                             ; preds = %5621, %5625
  %.str.66.sink3964 = phi ptr [ @.str.66, %5625 ], [ @.str.63, %5621 ]
  store i32 %5616, ptr %2293, align 4, !tbaa !5
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = load i32, ptr @test_count, align 4, !tbaa !5
  %5629 = load i32, ptr %2239, align 4, !tbaa !5
  %5630 = call ptr @s2n_strerror(i32 noundef %5629, ptr noundef nonnull @.str.65) #10
  %5631 = load i32, ptr %2239, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror_debug(i32 noundef %5631, ptr noundef nonnull @.str.65) #10
  %5633 = load i32, ptr %2293, align 4, !tbaa !5
  %5634 = call ptr @strerror(i32 noundef %5633) #10
  %5635 = load i32, ptr %2293, align 4, !tbaa !5
  %5636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5627, ptr noundef nonnull %.str.66.sink3964, i32 noundef %5628, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 646, ptr noundef %5630, ptr noundef %5632, ptr noundef %5634, i32 noundef %5635) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5637:                                             ; preds = %5610
  %5638 = load i32, ptr @test_count, align 4, !tbaa !5
  %5639 = add nsw i32 %5638, 1
  store i32 %5639, ptr @test_count, align 4, !tbaa !5
  %5640 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %5450, ptr noundef nonnull %4813) #10
  %5641 = icmp eq i32 %5640, -1
  br i1 %5641, label %5642, label %5664

5642:                                             ; preds = %5637
  %5643 = load i32, ptr %2293, align 4, !tbaa !5
  %5644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5645 = call i32 @s2n_print_stacktrace(ptr noundef %5644) #10
  %5646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5647 = trunc nuw i8 %5646 to i1
  br i1 %5647, label %5648, label %5652

5648:                                             ; preds = %5642
  %5649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5650 = call i32 @fileno(ptr noundef %5649) #10
  %5651 = call i32 @isatty(i32 noundef %5650) #10
  %.not1853 = icmp eq i32 %5651, 0
  br i1 %.not1853, label %5652, label %5653

5652:                                             ; preds = %5648, %5642
  br label %5653

5653:                                             ; preds = %5648, %5652
  %.str.66.sink3973 = phi ptr [ @.str.66, %5652 ], [ @.str.63, %5648 ]
  store i32 %5643, ptr %2293, align 4, !tbaa !5
  %5654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5655 = load i32, ptr @test_count, align 4, !tbaa !5
  %5656 = load i32, ptr %2239, align 4, !tbaa !5
  %5657 = call ptr @s2n_strerror(i32 noundef %5656, ptr noundef nonnull @.str.65) #10
  %5658 = load i32, ptr %2239, align 4, !tbaa !5
  %5659 = call ptr @s2n_strerror_debug(i32 noundef %5658, ptr noundef nonnull @.str.65) #10
  %5660 = load i32, ptr %2293, align 4, !tbaa !5
  %5661 = call ptr @strerror(i32 noundef %5660) #10
  %5662 = load i32, ptr %2293, align 4, !tbaa !5
  %5663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5654, ptr noundef nonnull %.str.66.sink3973, i32 noundef %5655, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 647, ptr noundef %5657, ptr noundef %5659, ptr noundef %5661, i32 noundef %5662) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5664:                                             ; preds = %5637
  %5665 = load i32, ptr @test_count, align 4, !tbaa !5
  %5666 = add nsw i32 %5665, 1
  store i32 %5666, ptr @test_count, align 4, !tbaa !5
  %5667 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %4813, i32 noundef 2) #10
  br i1 %5667, label %5668, label %5670

5668:                                             ; preds = %5664
  %5669 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %5450, i32 noundef 2) #10
  br i1 %5669, label %5692, label %5670

5670:                                             ; preds = %5668, %5664
  %5671 = load i32, ptr %2293, align 4, !tbaa !5
  %5672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5673 = call i32 @s2n_print_stacktrace(ptr noundef %5672) #10
  %5674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5675 = trunc nuw i8 %5674 to i1
  br i1 %5675, label %5676, label %5680

5676:                                             ; preds = %5670
  %5677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5678 = call i32 @fileno(ptr noundef %5677) #10
  %5679 = call i32 @isatty(i32 noundef %5678) #10
  %.not1574 = icmp eq i32 %5679, 0
  br i1 %.not1574, label %5680, label %5681

5680:                                             ; preds = %5676, %5670
  br label %5681

5681:                                             ; preds = %5676, %5680
  %.str.66.sink3982 = phi ptr [ @.str.66, %5680 ], [ @.str.63, %5676 ]
  store i32 %5671, ptr %2293, align 4, !tbaa !5
  %5682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5683 = load i32, ptr @test_count, align 4, !tbaa !5
  %5684 = load i32, ptr %2239, align 4, !tbaa !5
  %5685 = call ptr @s2n_strerror(i32 noundef %5684, ptr noundef nonnull @.str.65) #10
  %5686 = load i32, ptr %2239, align 4, !tbaa !5
  %5687 = call ptr @s2n_strerror_debug(i32 noundef %5686, ptr noundef nonnull @.str.65) #10
  %5688 = load i32, ptr %2293, align 4, !tbaa !5
  %5689 = call ptr @strerror(i32 noundef %5688) #10
  %5690 = load i32, ptr %2293, align 4, !tbaa !5
  %5691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5682, ptr noundef nonnull %.str.66.sink3982, i32 noundef %5683, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 648, ptr noundef %5685, ptr noundef %5687, ptr noundef %5689, i32 noundef %5690) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5692:                                             ; preds = %5668
  %5693 = load i32, ptr @test_count, align 4, !tbaa !5
  %5694 = add nsw i32 %5693, 1
  store i32 %5694, ptr @test_count, align 4, !tbaa !5
  %5695 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %5450, ptr noundef nonnull %4813, ptr noundef nonnull %4)
  %5696 = call zeroext i1 @s2n_result_is_ok(i32 %5695)
  br i1 %5696, label %5719, label %5697

5697:                                             ; preds = %5692
  %5698 = load i32, ptr %2293, align 4, !tbaa !5
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = call i32 @s2n_print_stacktrace(ptr noundef %5699) #10
  %5701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5702 = trunc nuw i8 %5701 to i1
  br i1 %5702, label %5703, label %5707

5703:                                             ; preds = %5697
  %5704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5705 = call i32 @fileno(ptr noundef %5704) #10
  %5706 = call i32 @isatty(i32 noundef %5705) #10
  %.not1575 = icmp eq i32 %5706, 0
  br i1 %.not1575, label %5707, label %5708

5707:                                             ; preds = %5703, %5697
  br label %5708

5708:                                             ; preds = %5703, %5707
  %.str.66.sink3991 = phi ptr [ @.str.66, %5707 ], [ @.str.63, %5703 ]
  store i32 %5698, ptr %2293, align 4, !tbaa !5
  %5709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5710 = load i32, ptr @test_count, align 4, !tbaa !5
  %5711 = load i32, ptr %2239, align 4, !tbaa !5
  %5712 = call ptr @s2n_strerror(i32 noundef %5711, ptr noundef nonnull @.str.65) #10
  %5713 = load i32, ptr %2239, align 4, !tbaa !5
  %5714 = call ptr @s2n_strerror_debug(i32 noundef %5713, ptr noundef nonnull @.str.65) #10
  %5715 = load i32, ptr %2293, align 4, !tbaa !5
  %5716 = call ptr @strerror(i32 noundef %5715) #10
  %5717 = load i32, ptr %2293, align 4, !tbaa !5
  %5718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5709, ptr noundef nonnull %.str.66.sink3991, i32 noundef %5710, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.62, i32 noundef 649, ptr noundef %5712, ptr noundef %5714, ptr noundef %5716, i32 noundef %5717) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5719:                                             ; preds = %5692
  %5720 = load i32, ptr @test_count, align 4, !tbaa !5
  %5721 = add nsw i32 %5720, 1
  store i32 %5721, ptr @test_count, align 4, !tbaa !5
  %5722 = load i32, ptr %923, align 4, !tbaa !20
  %5723 = load i32, ptr %924, align 8, !tbaa !23
  %5724 = sub i32 %5722, %5723
  %5725 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %7, ptr noundef nonnull %28, i32 noundef %5724) #10
  %5726 = icmp eq i32 %5725, -1
  br i1 %5726, label %5727, label %5749

5727:                                             ; preds = %5719
  %5728 = load i32, ptr %2293, align 4, !tbaa !5
  %5729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5730 = call i32 @s2n_print_stacktrace(ptr noundef %5729) #10
  %5731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5732 = trunc nuw i8 %5731 to i1
  br i1 %5732, label %5733, label %5737

5733:                                             ; preds = %5727
  %5734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5735 = call i32 @fileno(ptr noundef %5734) #10
  %5736 = call i32 @isatty(i32 noundef %5735) #10
  %.not1852 = icmp eq i32 %5736, 0
  br i1 %.not1852, label %5737, label %5738

5737:                                             ; preds = %5733, %5727
  br label %5738

5738:                                             ; preds = %5733, %5737
  %.str.66.sink4000 = phi ptr [ @.str.66, %5737 ], [ @.str.63, %5733 ]
  store i32 %5728, ptr %2293, align 4, !tbaa !5
  %5739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5740 = load i32, ptr @test_count, align 4, !tbaa !5
  %5741 = load i32, ptr %2239, align 4, !tbaa !5
  %5742 = call ptr @s2n_strerror(i32 noundef %5741, ptr noundef nonnull @.str.65) #10
  %5743 = load i32, ptr %2239, align 4, !tbaa !5
  %5744 = call ptr @s2n_strerror_debug(i32 noundef %5743, ptr noundef nonnull @.str.65) #10
  %5745 = load i32, ptr %2293, align 4, !tbaa !5
  %5746 = call ptr @strerror(i32 noundef %5745) #10
  %5747 = load i32, ptr %2293, align 4, !tbaa !5
  %5748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5739, ptr noundef nonnull %.str.66.sink4000, i32 noundef %5740, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.62, i32 noundef 650, ptr noundef %5742, ptr noundef %5744, ptr noundef %5746, i32 noundef %5747) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5749:                                             ; preds = %5719
  %5750 = load i32, ptr @test_count, align 4, !tbaa !5
  %5751 = add nsw i32 %5750, 1
  store i32 %5751, ptr @test_count, align 4, !tbaa !5
  %5752 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %5450, ptr noundef nonnull %4813) #10
  %5753 = icmp eq i32 %5752, -1
  br i1 %5753, label %5754, label %5776

5754:                                             ; preds = %5749
  %5755 = load i32, ptr %2293, align 4, !tbaa !5
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = call i32 @s2n_print_stacktrace(ptr noundef %5756) #10
  %5758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5759 = trunc nuw i8 %5758 to i1
  br i1 %5759, label %5760, label %5764

5760:                                             ; preds = %5754
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = call i32 @fileno(ptr noundef %5761) #10
  %5763 = call i32 @isatty(i32 noundef %5762) #10
  %.not1851 = icmp eq i32 %5763, 0
  br i1 %.not1851, label %5764, label %5765

5764:                                             ; preds = %5760, %5754
  br label %5765

5765:                                             ; preds = %5760, %5764
  %.str.66.sink4009 = phi ptr [ @.str.66, %5764 ], [ @.str.63, %5760 ]
  store i32 %5755, ptr %2293, align 4, !tbaa !5
  %5766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5767 = load i32, ptr @test_count, align 4, !tbaa !5
  %5768 = load i32, ptr %2239, align 4, !tbaa !5
  %5769 = call ptr @s2n_strerror(i32 noundef %5768, ptr noundef nonnull @.str.65) #10
  %5770 = load i32, ptr %2239, align 4, !tbaa !5
  %5771 = call ptr @s2n_strerror_debug(i32 noundef %5770, ptr noundef nonnull @.str.65) #10
  %5772 = load i32, ptr %2293, align 4, !tbaa !5
  %5773 = call ptr @strerror(i32 noundef %5772) #10
  %5774 = load i32, ptr %2293, align 4, !tbaa !5
  %5775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5766, ptr noundef nonnull %.str.66.sink4009, i32 noundef %5767, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 653, ptr noundef %5769, ptr noundef %5771, ptr noundef %5773, i32 noundef %5774) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5776:                                             ; preds = %5749
  %5777 = load i32, ptr @test_count, align 4, !tbaa !5
  %5778 = add nsw i32 %5777, 1
  store i32 %5778, ptr @test_count, align 4, !tbaa !5
  %5779 = call i32 @s2n_connection_wipe(ptr noundef nonnull %4813) #10
  %5780 = icmp eq i32 %5779, -1
  br i1 %5780, label %5781, label %5803

5781:                                             ; preds = %5776
  %5782 = load i32, ptr %2293, align 4, !tbaa !5
  %5783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5784 = call i32 @s2n_print_stacktrace(ptr noundef %5783) #10
  %5785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5786 = trunc nuw i8 %5785 to i1
  br i1 %5786, label %5787, label %5791

5787:                                             ; preds = %5781
  %5788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5789 = call i32 @fileno(ptr noundef %5788) #10
  %5790 = call i32 @isatty(i32 noundef %5789) #10
  %.not1850 = icmp eq i32 %5790, 0
  br i1 %.not1850, label %5791, label %5792

5791:                                             ; preds = %5787, %5781
  br label %5792

5792:                                             ; preds = %5787, %5791
  %.str.66.sink4018 = phi ptr [ @.str.66, %5791 ], [ @.str.63, %5787 ]
  store i32 %5782, ptr %2293, align 4, !tbaa !5
  %5793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5794 = load i32, ptr @test_count, align 4, !tbaa !5
  %5795 = load i32, ptr %2239, align 4, !tbaa !5
  %5796 = call ptr @s2n_strerror(i32 noundef %5795, ptr noundef nonnull @.str.65) #10
  %5797 = load i32, ptr %2239, align 4, !tbaa !5
  %5798 = call ptr @s2n_strerror_debug(i32 noundef %5797, ptr noundef nonnull @.str.65) #10
  %5799 = load i32, ptr %2293, align 4, !tbaa !5
  %5800 = call ptr @strerror(i32 noundef %5799) #10
  %5801 = load i32, ptr %2293, align 4, !tbaa !5
  %5802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5793, ptr noundef nonnull %.str.66.sink4018, i32 noundef %5794, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 654, ptr noundef %5796, ptr noundef %5798, ptr noundef %5800, i32 noundef %5801) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5803:                                             ; preds = %5776
  %5804 = load i32, ptr @test_count, align 4, !tbaa !5
  %5805 = add nsw i32 %5804, 1
  store i32 %5805, ptr @test_count, align 4, !tbaa !5
  %5806 = call i32 @s2n_connection_wipe(ptr noundef nonnull %5450) #10
  %5807 = icmp eq i32 %5806, -1
  br i1 %5807, label %5808, label %5830

5808:                                             ; preds = %5803
  %5809 = load i32, ptr %2293, align 4, !tbaa !5
  %5810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5811 = call i32 @s2n_print_stacktrace(ptr noundef %5810) #10
  %5812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5813 = trunc nuw i8 %5812 to i1
  br i1 %5813, label %5814, label %5818

5814:                                             ; preds = %5808
  %5815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5816 = call i32 @fileno(ptr noundef %5815) #10
  %5817 = call i32 @isatty(i32 noundef %5816) #10
  %.not1849 = icmp eq i32 %5817, 0
  br i1 %.not1849, label %5818, label %5819

5818:                                             ; preds = %5814, %5808
  br label %5819

5819:                                             ; preds = %5814, %5818
  %.str.66.sink4027 = phi ptr [ @.str.66, %5818 ], [ @.str.63, %5814 ]
  store i32 %5809, ptr %2293, align 4, !tbaa !5
  %5820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5821 = load i32, ptr @test_count, align 4, !tbaa !5
  %5822 = load i32, ptr %2239, align 4, !tbaa !5
  %5823 = call ptr @s2n_strerror(i32 noundef %5822, ptr noundef nonnull @.str.65) #10
  %5824 = load i32, ptr %2239, align 4, !tbaa !5
  %5825 = call ptr @s2n_strerror_debug(i32 noundef %5824, ptr noundef nonnull @.str.65) #10
  %5826 = load i32, ptr %2293, align 4, !tbaa !5
  %5827 = call ptr @strerror(i32 noundef %5826) #10
  %5828 = load i32, ptr %2293, align 4, !tbaa !5
  %5829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5820, ptr noundef nonnull %.str.66.sink4027, i32 noundef %5821, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 655, ptr noundef %5823, ptr noundef %5825, ptr noundef %5827, i32 noundef %5828) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5830:                                             ; preds = %5803
  %5831 = load i32, ptr @test_count, align 4, !tbaa !5
  %5832 = add nsw i32 %5831, 1
  store i32 %5832, ptr @test_count, align 4, !tbaa !5
  %5833 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %4813, ptr noundef nonnull %5450, ptr noundef nonnull %26) #10
  %5834 = icmp eq i32 %5833, -1
  br i1 %5834, label %5835, label %5857

5835:                                             ; preds = %5830
  %5836 = load i32, ptr %2293, align 4, !tbaa !5
  %5837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5838 = call i32 @s2n_print_stacktrace(ptr noundef %5837) #10
  %5839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5840 = trunc nuw i8 %5839 to i1
  br i1 %5840, label %5841, label %5845

5841:                                             ; preds = %5835
  %5842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5843 = call i32 @fileno(ptr noundef %5842) #10
  %5844 = call i32 @isatty(i32 noundef %5843) #10
  %.not1848 = icmp eq i32 %5844, 0
  br i1 %.not1848, label %5845, label %5846

5845:                                             ; preds = %5841, %5835
  br label %5846

5846:                                             ; preds = %5841, %5845
  %.str.66.sink4036 = phi ptr [ @.str.66, %5845 ], [ @.str.63, %5841 ]
  store i32 %5836, ptr %2293, align 4, !tbaa !5
  %5847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5848 = load i32, ptr @test_count, align 4, !tbaa !5
  %5849 = load i32, ptr %2239, align 4, !tbaa !5
  %5850 = call ptr @s2n_strerror(i32 noundef %5849, ptr noundef nonnull @.str.65) #10
  %5851 = load i32, ptr %2239, align 4, !tbaa !5
  %5852 = call ptr @s2n_strerror_debug(i32 noundef %5851, ptr noundef nonnull @.str.65) #10
  %5853 = load i32, ptr %2293, align 4, !tbaa !5
  %5854 = call ptr @strerror(i32 noundef %5853) #10
  %5855 = load i32, ptr %2293, align 4, !tbaa !5
  %5856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5847, ptr noundef nonnull %.str.66.sink4036, i32 noundef %5848, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 656, ptr noundef %5850, ptr noundef %5852, ptr noundef %5854, i32 noundef %5855) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5857:                                             ; preds = %5830
  %5858 = load i32, ptr @test_count, align 4, !tbaa !5
  %5859 = add nsw i32 %5858, 1
  store i32 %5859, ptr @test_count, align 4, !tbaa !5
  %5860 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4813, ptr noundef nonnull %804) #10
  %5861 = icmp eq i32 %5860, -1
  br i1 %5861, label %5862, label %5884

5862:                                             ; preds = %5857
  %5863 = load i32, ptr %2293, align 4, !tbaa !5
  %5864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5865 = call i32 @s2n_print_stacktrace(ptr noundef %5864) #10
  %5866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5867 = trunc nuw i8 %5866 to i1
  br i1 %5867, label %5868, label %5872

5868:                                             ; preds = %5862
  %5869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5870 = call i32 @fileno(ptr noundef %5869) #10
  %5871 = call i32 @isatty(i32 noundef %5870) #10
  %.not1847 = icmp eq i32 %5871, 0
  br i1 %.not1847, label %5872, label %5873

5872:                                             ; preds = %5868, %5862
  br label %5873

5873:                                             ; preds = %5868, %5872
  %.str.66.sink4045 = phi ptr [ @.str.66, %5872 ], [ @.str.63, %5868 ]
  store i32 %5863, ptr %2293, align 4, !tbaa !5
  %5874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5875 = load i32, ptr @test_count, align 4, !tbaa !5
  %5876 = load i32, ptr %2239, align 4, !tbaa !5
  %5877 = call ptr @s2n_strerror(i32 noundef %5876, ptr noundef nonnull @.str.65) #10
  %5878 = load i32, ptr %2239, align 4, !tbaa !5
  %5879 = call ptr @s2n_strerror_debug(i32 noundef %5878, ptr noundef nonnull @.str.65) #10
  %5880 = load i32, ptr %2293, align 4, !tbaa !5
  %5881 = call ptr @strerror(i32 noundef %5880) #10
  %5882 = load i32, ptr %2293, align 4, !tbaa !5
  %5883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5874, ptr noundef nonnull %.str.66.sink4045, i32 noundef %5875, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.62, i32 noundef 659, ptr noundef %5877, ptr noundef %5879, ptr noundef %5881, i32 noundef %5882) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5884:                                             ; preds = %5857
  %5885 = load i32, ptr @test_count, align 4, !tbaa !5
  %5886 = add nsw i32 %5885, 1
  store i32 %5886, ptr @test_count, align 4, !tbaa !5
  %5887 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %5450, ptr noundef nonnull %4813) #10
  %5888 = icmp eq i32 %5887, -1
  br i1 %5888, label %5889, label %5911

5889:                                             ; preds = %5884
  %5890 = load i32, ptr %2293, align 4, !tbaa !5
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = call i32 @s2n_print_stacktrace(ptr noundef %5891) #10
  %5893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5894 = trunc nuw i8 %5893 to i1
  br i1 %5894, label %5895, label %5899

5895:                                             ; preds = %5889
  %5896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5897 = call i32 @fileno(ptr noundef %5896) #10
  %5898 = call i32 @isatty(i32 noundef %5897) #10
  %.not1846 = icmp eq i32 %5898, 0
  br i1 %.not1846, label %5899, label %5900

5899:                                             ; preds = %5895, %5889
  br label %5900

5900:                                             ; preds = %5895, %5899
  %.str.66.sink4054 = phi ptr [ @.str.66, %5899 ], [ @.str.63, %5895 ]
  store i32 %5890, ptr %2293, align 4, !tbaa !5
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = load i32, ptr @test_count, align 4, !tbaa !5
  %5903 = load i32, ptr %2239, align 4, !tbaa !5
  %5904 = call ptr @s2n_strerror(i32 noundef %5903, ptr noundef nonnull @.str.65) #10
  %5905 = load i32, ptr %2239, align 4, !tbaa !5
  %5906 = call ptr @s2n_strerror_debug(i32 noundef %5905, ptr noundef nonnull @.str.65) #10
  %5907 = load i32, ptr %2293, align 4, !tbaa !5
  %5908 = call ptr @strerror(i32 noundef %5907) #10
  %5909 = load i32, ptr %2293, align 4, !tbaa !5
  %5910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5901, ptr noundef nonnull %.str.66.sink4054, i32 noundef %5902, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 660, ptr noundef %5904, ptr noundef %5906, ptr noundef %5908, i32 noundef %5909) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5911:                                             ; preds = %5884
  %5912 = load i32, ptr @test_count, align 4, !tbaa !5
  %5913 = add nsw i32 %5912, 1
  store i32 %5913, ptr @test_count, align 4, !tbaa !5
  %5914 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %4813, i32 noundef 2) #10
  br i1 %5914, label %5915, label %5917

5915:                                             ; preds = %5911
  %5916 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %5450, i32 noundef 2) #10
  br i1 %5916, label %5939, label %5917

5917:                                             ; preds = %5915, %5911
  %5918 = load i32, ptr %2293, align 4, !tbaa !5
  %5919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5920 = call i32 @s2n_print_stacktrace(ptr noundef %5919) #10
  %5921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5922 = trunc nuw i8 %5921 to i1
  br i1 %5922, label %5923, label %5927

5923:                                             ; preds = %5917
  %5924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5925 = call i32 @fileno(ptr noundef %5924) #10
  %5926 = call i32 @isatty(i32 noundef %5925) #10
  %.not1576 = icmp eq i32 %5926, 0
  br i1 %.not1576, label %5927, label %5928

5927:                                             ; preds = %5923, %5917
  br label %5928

5928:                                             ; preds = %5923, %5927
  %.str.66.sink4063 = phi ptr [ @.str.66, %5927 ], [ @.str.63, %5923 ]
  store i32 %5918, ptr %2293, align 4, !tbaa !5
  %5929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5930 = load i32, ptr @test_count, align 4, !tbaa !5
  %5931 = load i32, ptr %2239, align 4, !tbaa !5
  %5932 = call ptr @s2n_strerror(i32 noundef %5931, ptr noundef nonnull @.str.65) #10
  %5933 = load i32, ptr %2239, align 4, !tbaa !5
  %5934 = call ptr @s2n_strerror_debug(i32 noundef %5933, ptr noundef nonnull @.str.65) #10
  %5935 = load i32, ptr %2293, align 4, !tbaa !5
  %5936 = call ptr @strerror(i32 noundef %5935) #10
  %5937 = load i32, ptr %2293, align 4, !tbaa !5
  %5938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5929, ptr noundef nonnull %.str.66.sink4063, i32 noundef %5930, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 661, ptr noundef %5932, ptr noundef %5934, ptr noundef %5936, i32 noundef %5937) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5939:                                             ; preds = %5915
  %5940 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %4813)
  %5941 = load i32, ptr @test_count, align 4, !tbaa !5
  %5942 = add nsw i32 %5941, 1
  store i32 %5942, ptr @test_count, align 4, !tbaa !5
  %5943 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %27, i32 noundef %5940) #10
  %5944 = icmp eq i32 %5943, -1
  br i1 %5944, label %5945, label %5967

5945:                                             ; preds = %5939
  %5946 = load i32, ptr %2293, align 4, !tbaa !5
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = call i32 @s2n_print_stacktrace(ptr noundef %5947) #10
  %5949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5950 = trunc nuw i8 %5949 to i1
  br i1 %5950, label %5951, label %5955

5951:                                             ; preds = %5945
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = call i32 @fileno(ptr noundef %5952) #10
  %5954 = call i32 @isatty(i32 noundef %5953) #10
  %.not1845 = icmp eq i32 %5954, 0
  br i1 %.not1845, label %5955, label %5956

5955:                                             ; preds = %5951, %5945
  br label %5956

5956:                                             ; preds = %5951, %5955
  %.str.66.sink4072 = phi ptr [ @.str.66, %5955 ], [ @.str.63, %5951 ]
  store i32 %5946, ptr %2293, align 4, !tbaa !5
  %5957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5958 = load i32, ptr @test_count, align 4, !tbaa !5
  %5959 = load i32, ptr %2239, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror(i32 noundef %5959, ptr noundef nonnull @.str.65) #10
  %5961 = load i32, ptr %2239, align 4, !tbaa !5
  %5962 = call ptr @s2n_strerror_debug(i32 noundef %5961, ptr noundef nonnull @.str.65) #10
  %5963 = load i32, ptr %2293, align 4, !tbaa !5
  %5964 = call ptr @strerror(i32 noundef %5963) #10
  %5965 = load i32, ptr %2293, align 4, !tbaa !5
  %5966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5957, ptr noundef nonnull %.str.66.sink4072, i32 noundef %5958, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.62, i32 noundef 663, ptr noundef %5960, ptr noundef %5962, ptr noundef %5964, i32 noundef %5965) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5967:                                             ; preds = %5939
  %5968 = load i32, ptr @test_count, align 4, !tbaa !5
  %5969 = add nsw i32 %5968, 1
  store i32 %5969, ptr @test_count, align 4, !tbaa !5
  %5970 = load ptr, ptr %27, align 8, !tbaa !24
  %5971 = sext i32 %5940 to i64
  %5972 = call i32 @s2n_connection_get_session(ptr noundef nonnull %4813, ptr noundef %5970, i64 noundef %5971)
  %5973 = icmp eq i32 %5972, -1
  br i1 %5973, label %5980, label %.preheader2034

.preheader2034:                                   ; preds = %5967
  %5974 = getelementptr inbounds i8, ptr %27, i64 28
  %5975 = getelementptr inbounds i8, ptr %27, i64 24
  %5976 = getelementptr inbounds i8, ptr %28, i64 28
  %5977 = getelementptr inbounds i8, ptr %28, i64 24
  %5978 = getelementptr inbounds i8, ptr %4813, i64 220
  %5979 = getelementptr inbounds i8, ptr %5450, i64 220
  br label %6007

5980:                                             ; preds = %5967
  %5981 = load i32, ptr %2293, align 4, !tbaa !5
  %5982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5983 = call i32 @s2n_print_stacktrace(ptr noundef %5982) #10
  %5984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5985 = trunc nuw i8 %5984 to i1
  br i1 %5985, label %5986, label %5990

5986:                                             ; preds = %5980
  %5987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5988 = call i32 @fileno(ptr noundef %5987) #10
  %5989 = call i32 @isatty(i32 noundef %5988) #10
  %.not1844 = icmp eq i32 %5989, 0
  br i1 %.not1844, label %5990, label %5991

5990:                                             ; preds = %5986, %5980
  br label %5991

5991:                                             ; preds = %5986, %5990
  %.str.66.sink4081 = phi ptr [ @.str.66, %5990 ], [ @.str.63, %5986 ]
  store i32 %5981, ptr %2293, align 4, !tbaa !5
  %5992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5993 = load i32, ptr @test_count, align 4, !tbaa !5
  %5994 = load i32, ptr %2239, align 4, !tbaa !5
  %5995 = call ptr @s2n_strerror(i32 noundef %5994, ptr noundef nonnull @.str.65) #10
  %5996 = load i32, ptr %2239, align 4, !tbaa !5
  %5997 = call ptr @s2n_strerror_debug(i32 noundef %5996, ptr noundef nonnull @.str.65) #10
  %5998 = load i32, ptr %2293, align 4, !tbaa !5
  %5999 = call ptr @strerror(i32 noundef %5998) #10
  %6000 = load i32, ptr %2293, align 4, !tbaa !5
  %6001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5992, ptr noundef nonnull %.str.66.sink4081, i32 noundef %5993, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.62, i32 noundef 664, ptr noundef %5995, ptr noundef %5997, ptr noundef %5999, i32 noundef %6000) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6002:                                             ; preds = %6510
  %6003 = load i32, ptr @test_count, align 4, !tbaa !5
  %6004 = add nsw i32 %6003, 1
  store i32 %6004, ptr @test_count, align 4, !tbaa !5
  %6005 = call i32 @s2n_connection_free(ptr noundef nonnull %5450) #10
  %6006 = icmp eq i32 %6005, -1
  br i1 %6006, label %6512, label %6534

6007:                                             ; preds = %.preheader2034, %6510
  %.015142058 = phi i64 [ 0, %.preheader2034 ], [ %6511, %6510 ]
  %6008 = load i32, ptr @test_count, align 4, !tbaa !5
  %6009 = add nsw i32 %6008, 1
  store i32 %6009, ptr @test_count, align 4, !tbaa !5
  %6010 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %5450, ptr noundef nonnull %4813) #10
  %6011 = icmp eq i32 %6010, -1
  br i1 %6011, label %6012, label %6034

6012:                                             ; preds = %6007
  %6013 = load i32, ptr %2293, align 4, !tbaa !5
  %6014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6015 = call i32 @s2n_print_stacktrace(ptr noundef %6014) #10
  %6016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6017 = trunc nuw i8 %6016 to i1
  br i1 %6017, label %6018, label %6022

6018:                                             ; preds = %6012
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = call i32 @fileno(ptr noundef %6019) #10
  %6021 = call i32 @isatty(i32 noundef %6020) #10
  %.not1843 = icmp eq i32 %6021, 0
  br i1 %.not1843, label %6022, label %6023

6022:                                             ; preds = %6018, %6012
  br label %6023

6023:                                             ; preds = %6018, %6022
  %.str.66.sink4090 = phi ptr [ @.str.66, %6022 ], [ @.str.63, %6018 ]
  store i32 %6013, ptr %2293, align 4, !tbaa !5
  %6024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6025 = load i32, ptr @test_count, align 4, !tbaa !5
  %6026 = load i32, ptr %2239, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror(i32 noundef %6026, ptr noundef nonnull @.str.65) #10
  %6028 = load i32, ptr %2239, align 4, !tbaa !5
  %6029 = call ptr @s2n_strerror_debug(i32 noundef %6028, ptr noundef nonnull @.str.65) #10
  %6030 = load i32, ptr %2293, align 4, !tbaa !5
  %6031 = call ptr @strerror(i32 noundef %6030) #10
  %6032 = load i32, ptr %2293, align 4, !tbaa !5
  %6033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6024, ptr noundef nonnull %.str.66.sink4090, i32 noundef %6025, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 668, ptr noundef %6027, ptr noundef %6029, ptr noundef %6031, i32 noundef %6032) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6034:                                             ; preds = %6007
  %6035 = load i32, ptr @test_count, align 4, !tbaa !5
  %6036 = add nsw i32 %6035, 1
  store i32 %6036, ptr @test_count, align 4, !tbaa !5
  %6037 = call i32 @s2n_connection_wipe(ptr noundef nonnull %4813) #10
  %6038 = icmp eq i32 %6037, -1
  br i1 %6038, label %6039, label %6061

6039:                                             ; preds = %6034
  %6040 = load i32, ptr %2293, align 4, !tbaa !5
  %6041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6042 = call i32 @s2n_print_stacktrace(ptr noundef %6041) #10
  %6043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6044 = trunc nuw i8 %6043 to i1
  br i1 %6044, label %6045, label %6049

6045:                                             ; preds = %6039
  %6046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6047 = call i32 @fileno(ptr noundef %6046) #10
  %6048 = call i32 @isatty(i32 noundef %6047) #10
  %.not1842 = icmp eq i32 %6048, 0
  br i1 %.not1842, label %6049, label %6050

6049:                                             ; preds = %6045, %6039
  br label %6050

6050:                                             ; preds = %6045, %6049
  %.str.66.sink4099 = phi ptr [ @.str.66, %6049 ], [ @.str.63, %6045 ]
  store i32 %6040, ptr %2293, align 4, !tbaa !5
  %6051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6052 = load i32, ptr @test_count, align 4, !tbaa !5
  %6053 = load i32, ptr %2239, align 4, !tbaa !5
  %6054 = call ptr @s2n_strerror(i32 noundef %6053, ptr noundef nonnull @.str.65) #10
  %6055 = load i32, ptr %2239, align 4, !tbaa !5
  %6056 = call ptr @s2n_strerror_debug(i32 noundef %6055, ptr noundef nonnull @.str.65) #10
  %6057 = load i32, ptr %2293, align 4, !tbaa !5
  %6058 = call ptr @strerror(i32 noundef %6057) #10
  %6059 = load i32, ptr %2293, align 4, !tbaa !5
  %6060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6051, ptr noundef nonnull %.str.66.sink4099, i32 noundef %6052, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 669, ptr noundef %6054, ptr noundef %6056, ptr noundef %6058, i32 noundef %6059) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6061:                                             ; preds = %6034
  %6062 = load i32, ptr @test_count, align 4, !tbaa !5
  %6063 = add nsw i32 %6062, 1
  store i32 %6063, ptr @test_count, align 4, !tbaa !5
  %6064 = call i32 @s2n_connection_wipe(ptr noundef nonnull %5450) #10
  %6065 = icmp eq i32 %6064, -1
  br i1 %6065, label %6066, label %6088

6066:                                             ; preds = %6061
  %6067 = load i32, ptr %2293, align 4, !tbaa !5
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = call i32 @s2n_print_stacktrace(ptr noundef %6068) #10
  %6070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6071 = trunc nuw i8 %6070 to i1
  br i1 %6071, label %6072, label %6076

6072:                                             ; preds = %6066
  %6073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6074 = call i32 @fileno(ptr noundef %6073) #10
  %6075 = call i32 @isatty(i32 noundef %6074) #10
  %.not1841 = icmp eq i32 %6075, 0
  br i1 %.not1841, label %6076, label %6077

6076:                                             ; preds = %6072, %6066
  br label %6077

6077:                                             ; preds = %6072, %6076
  %.str.66.sink4108 = phi ptr [ @.str.66, %6076 ], [ @.str.63, %6072 ]
  store i32 %6067, ptr %2293, align 4, !tbaa !5
  %6078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6079 = load i32, ptr @test_count, align 4, !tbaa !5
  %6080 = load i32, ptr %2239, align 4, !tbaa !5
  %6081 = call ptr @s2n_strerror(i32 noundef %6080, ptr noundef nonnull @.str.65) #10
  %6082 = load i32, ptr %2239, align 4, !tbaa !5
  %6083 = call ptr @s2n_strerror_debug(i32 noundef %6082, ptr noundef nonnull @.str.65) #10
  %6084 = load i32, ptr %2293, align 4, !tbaa !5
  %6085 = call ptr @strerror(i32 noundef %6084) #10
  %6086 = load i32, ptr %2293, align 4, !tbaa !5
  %6087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6078, ptr noundef nonnull %.str.66.sink4108, i32 noundef %6079, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 670, ptr noundef %6081, ptr noundef %6083, ptr noundef %6085, i32 noundef %6086) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6088:                                             ; preds = %6061
  %6089 = load i32, ptr @test_count, align 4, !tbaa !5
  %6090 = add nsw i32 %6089, 1
  store i32 %6090, ptr @test_count, align 4, !tbaa !5
  %6091 = call i32 @s2n_connections_set_io_pair(ptr noundef %4813, ptr noundef nonnull %5450, ptr noundef nonnull %26) #10
  %6092 = icmp eq i32 %6091, -1
  br i1 %6092, label %6093, label %6115

6093:                                             ; preds = %6088
  %6094 = load i32, ptr %2293, align 4, !tbaa !5
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = call i32 @s2n_print_stacktrace(ptr noundef %6095) #10
  %6097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6098 = trunc nuw i8 %6097 to i1
  br i1 %6098, label %6099, label %6103

6099:                                             ; preds = %6093
  %6100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6101 = call i32 @fileno(ptr noundef %6100) #10
  %6102 = call i32 @isatty(i32 noundef %6101) #10
  %.not1840 = icmp eq i32 %6102, 0
  br i1 %.not1840, label %6103, label %6104

6103:                                             ; preds = %6099, %6093
  br label %6104

6104:                                             ; preds = %6099, %6103
  %.str.66.sink4117 = phi ptr [ @.str.66, %6103 ], [ @.str.63, %6099 ]
  store i32 %6094, ptr %2293, align 4, !tbaa !5
  %6105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6106 = load i32, ptr @test_count, align 4, !tbaa !5
  %6107 = load i32, ptr %2239, align 4, !tbaa !5
  %6108 = call ptr @s2n_strerror(i32 noundef %6107, ptr noundef nonnull @.str.65) #10
  %6109 = load i32, ptr %2239, align 4, !tbaa !5
  %6110 = call ptr @s2n_strerror_debug(i32 noundef %6109, ptr noundef nonnull @.str.65) #10
  %6111 = load i32, ptr %2293, align 4, !tbaa !5
  %6112 = call ptr @strerror(i32 noundef %6111) #10
  %6113 = load i32, ptr %2293, align 4, !tbaa !5
  %6114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6105, ptr noundef nonnull %.str.66.sink4117, i32 noundef %6106, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 671, ptr noundef %6108, ptr noundef %6110, ptr noundef %6112, i32 noundef %6113) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6115:                                             ; preds = %6088
  %6116 = and i64 %.015142058, 1
  %6117 = icmp eq i64 %6116, 0
  %6118 = load i32, ptr @test_count, align 4, !tbaa !5
  %6119 = add nsw i32 %6118, 1
  store i32 %6119, ptr @test_count, align 4, !tbaa !5
  br i1 %6117, label %6120, label %6177

6120:                                             ; preds = %6115
  %6121 = call i32 @s2n_connection_set_config(ptr noundef %4813, ptr noundef nonnull %631) #10
  %6122 = icmp eq i32 %6121, -1
  br i1 %6122, label %6123, label %6145

6123:                                             ; preds = %6120
  %6124 = load i32, ptr %2293, align 4, !tbaa !5
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = call i32 @s2n_print_stacktrace(ptr noundef %6125) #10
  %6127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6128 = trunc nuw i8 %6127 to i1
  br i1 %6128, label %6129, label %6133

6129:                                             ; preds = %6123
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @fileno(ptr noundef %6130) #10
  %6132 = call i32 @isatty(i32 noundef %6131) #10
  %.not1839 = icmp eq i32 %6132, 0
  br i1 %.not1839, label %6133, label %6134

6133:                                             ; preds = %6129, %6123
  br label %6134

6134:                                             ; preds = %6129, %6133
  %.str.66.sink4126 = phi ptr [ @.str.66, %6133 ], [ @.str.63, %6129 ]
  store i32 %6124, ptr %2293, align 4, !tbaa !5
  %6135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6136 = load i32, ptr @test_count, align 4, !tbaa !5
  %6137 = load i32, ptr %2239, align 4, !tbaa !5
  %6138 = call ptr @s2n_strerror(i32 noundef %6137, ptr noundef nonnull @.str.65) #10
  %6139 = load i32, ptr %2239, align 4, !tbaa !5
  %6140 = call ptr @s2n_strerror_debug(i32 noundef %6139, ptr noundef nonnull @.str.65) #10
  %6141 = load i32, ptr %2293, align 4, !tbaa !5
  %6142 = call ptr @strerror(i32 noundef %6141) #10
  %6143 = load i32, ptr %2293, align 4, !tbaa !5
  %6144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6135, ptr noundef nonnull %.str.66.sink4126, i32 noundef %6136, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 678, ptr noundef %6138, ptr noundef %6140, ptr noundef %6142, i32 noundef %6143) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6145:                                             ; preds = %6120
  %6146 = load i32, ptr @test_count, align 4, !tbaa !5
  %6147 = add nsw i32 %6146, 1
  store i32 %6147, ptr @test_count, align 4, !tbaa !5
  %6148 = load ptr, ptr %28, align 8, !tbaa !24
  %6149 = load i32, ptr %5976, align 4, !tbaa !20
  %6150 = load i32, ptr %5977, align 8, !tbaa !23
  %6151 = sub i32 %6149, %6150
  %6152 = zext i32 %6151 to i64
  %6153 = call i32 @s2n_connection_set_session(ptr noundef %4813, ptr noundef %6148, i64 noundef %6152)
  %6154 = icmp eq i32 %6153, -1
  br i1 %6154, label %6155, label %6234

6155:                                             ; preds = %6145
  %6156 = load i32, ptr %2293, align 4, !tbaa !5
  %6157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6158 = call i32 @s2n_print_stacktrace(ptr noundef %6157) #10
  %6159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6160 = trunc nuw i8 %6159 to i1
  br i1 %6160, label %6161, label %6165

6161:                                             ; preds = %6155
  %6162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6163 = call i32 @fileno(ptr noundef %6162) #10
  %6164 = call i32 @isatty(i32 noundef %6163) #10
  %.not1838 = icmp eq i32 %6164, 0
  br i1 %.not1838, label %6165, label %6166

6165:                                             ; preds = %6161, %6155
  br label %6166

6166:                                             ; preds = %6161, %6165
  %.str.66.sink4135 = phi ptr [ @.str.66, %6165 ], [ @.str.63, %6161 ]
  store i32 %6156, ptr %2293, align 4, !tbaa !5
  %6167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6168 = load i32, ptr @test_count, align 4, !tbaa !5
  %6169 = load i32, ptr %2239, align 4, !tbaa !5
  %6170 = call ptr @s2n_strerror(i32 noundef %6169, ptr noundef nonnull @.str.65) #10
  %6171 = load i32, ptr %2239, align 4, !tbaa !5
  %6172 = call ptr @s2n_strerror_debug(i32 noundef %6171, ptr noundef nonnull @.str.65) #10
  %6173 = load i32, ptr %2293, align 4, !tbaa !5
  %6174 = call ptr @strerror(i32 noundef %6173) #10
  %6175 = load i32, ptr %2293, align 4, !tbaa !5
  %6176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6167, ptr noundef nonnull %.str.66.sink4135, i32 noundef %6168, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.62, i32 noundef 680, ptr noundef %6170, ptr noundef %6172, ptr noundef %6174, i32 noundef %6175) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6177:                                             ; preds = %6115
  %6178 = call i32 @s2n_connection_set_config(ptr noundef %4813, ptr noundef nonnull %804) #10
  %6179 = icmp eq i32 %6178, -1
  br i1 %6179, label %6180, label %6202

6180:                                             ; preds = %6177
  %6181 = load i32, ptr %2293, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = call i32 @s2n_print_stacktrace(ptr noundef %6182) #10
  %6184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6185 = trunc nuw i8 %6184 to i1
  br i1 %6185, label %6186, label %6190

6186:                                             ; preds = %6180
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = call i32 @fileno(ptr noundef %6187) #10
  %6189 = call i32 @isatty(i32 noundef %6188) #10
  %.not1827 = icmp eq i32 %6189, 0
  br i1 %.not1827, label %6190, label %6191

6190:                                             ; preds = %6186, %6180
  br label %6191

6191:                                             ; preds = %6186, %6190
  %.str.66.sink4144 = phi ptr [ @.str.66, %6190 ], [ @.str.63, %6186 ]
  store i32 %6181, ptr %2293, align 4, !tbaa !5
  %6192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6193 = load i32, ptr @test_count, align 4, !tbaa !5
  %6194 = load i32, ptr %2239, align 4, !tbaa !5
  %6195 = call ptr @s2n_strerror(i32 noundef %6194, ptr noundef nonnull @.str.65) #10
  %6196 = load i32, ptr %2239, align 4, !tbaa !5
  %6197 = call ptr @s2n_strerror_debug(i32 noundef %6196, ptr noundef nonnull @.str.65) #10
  %6198 = load i32, ptr %2293, align 4, !tbaa !5
  %6199 = call ptr @strerror(i32 noundef %6198) #10
  %6200 = load i32, ptr %2293, align 4, !tbaa !5
  %6201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6192, ptr noundef nonnull %.str.66.sink4144, i32 noundef %6193, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.62, i32 noundef 683, ptr noundef %6195, ptr noundef %6197, ptr noundef %6199, i32 noundef %6200) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6202:                                             ; preds = %6177
  %6203 = load i32, ptr @test_count, align 4, !tbaa !5
  %6204 = add nsw i32 %6203, 1
  store i32 %6204, ptr @test_count, align 4, !tbaa !5
  %6205 = load ptr, ptr %27, align 8, !tbaa !24
  %6206 = load i32, ptr %5974, align 4, !tbaa !20
  %6207 = load i32, ptr %5975, align 8, !tbaa !23
  %6208 = sub i32 %6206, %6207
  %6209 = zext i32 %6208 to i64
  %6210 = call i32 @s2n_connection_set_session(ptr noundef %4813, ptr noundef %6205, i64 noundef %6209)
  %6211 = icmp eq i32 %6210, -1
  br i1 %6211, label %6212, label %6234

6212:                                             ; preds = %6202
  %6213 = load i32, ptr %2293, align 4, !tbaa !5
  %6214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6215 = call i32 @s2n_print_stacktrace(ptr noundef %6214) #10
  %6216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6217 = trunc nuw i8 %6216 to i1
  br i1 %6217, label %6218, label %6222

6218:                                             ; preds = %6212
  %6219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6220 = call i32 @fileno(ptr noundef %6219) #10
  %6221 = call i32 @isatty(i32 noundef %6220) #10
  %.not1826 = icmp eq i32 %6221, 0
  br i1 %.not1826, label %6222, label %6223

6222:                                             ; preds = %6218, %6212
  br label %6223

6223:                                             ; preds = %6218, %6222
  %.str.66.sink4153 = phi ptr [ @.str.66, %6222 ], [ @.str.63, %6218 ]
  store i32 %6213, ptr %2293, align 4, !tbaa !5
  %6224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6225 = load i32, ptr @test_count, align 4, !tbaa !5
  %6226 = load i32, ptr %2239, align 4, !tbaa !5
  %6227 = call ptr @s2n_strerror(i32 noundef %6226, ptr noundef nonnull @.str.65) #10
  %6228 = load i32, ptr %2239, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror_debug(i32 noundef %6228, ptr noundef nonnull @.str.65) #10
  %6230 = load i32, ptr %2293, align 4, !tbaa !5
  %6231 = call ptr @strerror(i32 noundef %6230) #10
  %6232 = load i32, ptr %2293, align 4, !tbaa !5
  %6233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6224, ptr noundef nonnull %.str.66.sink4153, i32 noundef %6225, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.62, i32 noundef 685, ptr noundef %6227, ptr noundef %6229, ptr noundef %6231, i32 noundef %6232) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6234:                                             ; preds = %6145, %6202
  %.01515 = phi i32 [ 34, %6145 ], [ 33, %6202 ]
  %6235 = load i32, ptr @test_count, align 4, !tbaa !5
  %6236 = add nsw i32 %6235, 1
  store i32 %6236, ptr @test_count, align 4, !tbaa !5
  %6237 = call i32 @s2n_test_negotiate(ptr noundef nonnull %5450, ptr noundef %4813, ptr noundef nonnull %4)
  %6238 = call zeroext i1 @s2n_result_is_ok(i32 %6237)
  br i1 %6238, label %6261, label %6239

6239:                                             ; preds = %6234
  %6240 = load i32, ptr %2293, align 4, !tbaa !5
  %6241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6242 = call i32 @s2n_print_stacktrace(ptr noundef %6241) #10
  %6243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6244 = trunc nuw i8 %6243 to i1
  br i1 %6244, label %6245, label %6249

6245:                                             ; preds = %6239
  %6246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6247 = call i32 @fileno(ptr noundef %6246) #10
  %6248 = call i32 @isatty(i32 noundef %6247) #10
  %.not1828 = icmp eq i32 %6248, 0
  br i1 %.not1828, label %6249, label %6250

6249:                                             ; preds = %6245, %6239
  br label %6250

6250:                                             ; preds = %6245, %6249
  %.str.66.sink4162 = phi ptr [ @.str.66, %6249 ], [ @.str.63, %6245 ]
  store i32 %6240, ptr %2293, align 4, !tbaa !5
  %6251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6252 = load i32, ptr @test_count, align 4, !tbaa !5
  %6253 = load i32, ptr %2239, align 4, !tbaa !5
  %6254 = call ptr @s2n_strerror(i32 noundef %6253, ptr noundef nonnull @.str.65) #10
  %6255 = load i32, ptr %2239, align 4, !tbaa !5
  %6256 = call ptr @s2n_strerror_debug(i32 noundef %6255, ptr noundef nonnull @.str.65) #10
  %6257 = load i32, ptr %2293, align 4, !tbaa !5
  %6258 = call ptr @strerror(i32 noundef %6257) #10
  %6259 = load i32, ptr %2293, align 4, !tbaa !5
  %6260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6251, ptr noundef nonnull %.str.66.sink4162, i32 noundef %6252, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.62, i32 noundef 688, ptr noundef %6254, ptr noundef %6256, ptr noundef %6258, i32 noundef %6259) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6261:                                             ; preds = %6234
  %6262 = load i32, ptr @test_count, align 4, !tbaa !5
  %6263 = add nsw i32 %6262, 1
  store i32 %6263, ptr @test_count, align 4, !tbaa !5
  %6264 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4813, i32 noundef 2) #10
  br i1 %6264, label %6265, label %6289

6265:                                             ; preds = %6261
  %6266 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %5450, i32 noundef 2) #10
  br i1 %6266, label %6267, label %6289

6267:                                             ; preds = %6265
  %6268 = load i32, ptr %2293, align 4, !tbaa !5
  %6269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6270 = call i32 @s2n_print_stacktrace(ptr noundef %6269) #10
  %6271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6272 = trunc nuw i8 %6271 to i1
  br i1 %6272, label %6273, label %6277

6273:                                             ; preds = %6267
  %6274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6275 = call i32 @fileno(ptr noundef %6274) #10
  %6276 = call i32 @isatty(i32 noundef %6275) #10
  %.not1837 = icmp eq i32 %6276, 0
  br i1 %.not1837, label %6277, label %6278

6277:                                             ; preds = %6273, %6267
  br label %6278

6278:                                             ; preds = %6273, %6277
  %.str.66.sink4171 = phi ptr [ @.str.66, %6277 ], [ @.str.63, %6273 ]
  store i32 %6268, ptr %2293, align 4, !tbaa !5
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = load i32, ptr @test_count, align 4, !tbaa !5
  %6281 = load i32, ptr %2239, align 4, !tbaa !5
  %6282 = call ptr @s2n_strerror(i32 noundef %6281, ptr noundef nonnull @.str.65) #10
  %6283 = load i32, ptr %2239, align 4, !tbaa !5
  %6284 = call ptr @s2n_strerror_debug(i32 noundef %6283, ptr noundef nonnull @.str.65) #10
  %6285 = load i32, ptr %2293, align 4, !tbaa !5
  %6286 = call ptr @strerror(i32 noundef %6285) #10
  %6287 = load i32, ptr %2293, align 4, !tbaa !5
  %6288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6279, ptr noundef nonnull %.str.66.sink4171, i32 noundef %6280, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.62, i32 noundef 689, ptr noundef %6282, ptr noundef %6284, ptr noundef %6286, i32 noundef %6287) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6289:                                             ; preds = %6261, %6265
  %6290 = load i32, ptr @test_count, align 4, !tbaa !5
  %6291 = add nsw i32 %6290, 1
  store i32 %6291, ptr @test_count, align 4, !tbaa !5
  %6292 = load i8, ptr %5978, align 4, !tbaa !59
  %6293 = zext i8 %6292 to i32
  %6294 = icmp eq i32 %.01515, %6293
  br i1 %6294, label %6317, label %6295

6295:                                             ; preds = %6289
  %6296 = load i32, ptr %2293, align 4, !tbaa !5
  %6297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6298 = call i32 @s2n_print_stacktrace(ptr noundef %6297) #10
  %6299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6300 = trunc nuw i8 %6299 to i1
  br i1 %6300, label %6301, label %6305

6301:                                             ; preds = %6295
  %6302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6303 = call i32 @fileno(ptr noundef %6302) #10
  %6304 = call i32 @isatty(i32 noundef %6303) #10
  %.not1829 = icmp eq i32 %6304, 0
  br i1 %.not1829, label %6305, label %6306

6305:                                             ; preds = %6301, %6295
  br label %6306

6306:                                             ; preds = %6301, %6305
  %.str.66.sink4180 = phi ptr [ @.str.66, %6305 ], [ @.str.63, %6301 ]
  store i32 %6296, ptr %2293, align 4, !tbaa !5
  %6307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6308 = load i32, ptr @test_count, align 4, !tbaa !5
  %6309 = load i32, ptr %2239, align 4, !tbaa !5
  %6310 = call ptr @s2n_strerror(i32 noundef %6309, ptr noundef nonnull @.str.65) #10
  %6311 = load i32, ptr %2239, align 4, !tbaa !5
  %6312 = call ptr @s2n_strerror_debug(i32 noundef %6311, ptr noundef nonnull @.str.65) #10
  %6313 = load i32, ptr %2293, align 4, !tbaa !5
  %6314 = call ptr @strerror(i32 noundef %6313) #10
  %6315 = load i32, ptr %2293, align 4, !tbaa !5
  %6316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6307, ptr noundef nonnull %.str.66.sink4180, i32 noundef %6308, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.62, i32 noundef 690, ptr noundef %6310, ptr noundef %6312, ptr noundef %6314, i32 noundef %6315) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6317:                                             ; preds = %6289
  %6318 = add nsw i32 %6290, 2
  store i32 %6318, ptr @test_count, align 4, !tbaa !5
  %6319 = load i8, ptr %5979, align 4, !tbaa !59
  %6320 = zext i8 %6319 to i32
  %6321 = icmp eq i32 %.01515, %6320
  br i1 %6321, label %6344, label %6322

6322:                                             ; preds = %6317
  %6323 = load i32, ptr %2293, align 4, !tbaa !5
  %6324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6325 = call i32 @s2n_print_stacktrace(ptr noundef %6324) #10
  %6326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6327 = trunc nuw i8 %6326 to i1
  br i1 %6327, label %6328, label %6332

6328:                                             ; preds = %6322
  %6329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6330 = call i32 @fileno(ptr noundef %6329) #10
  %6331 = call i32 @isatty(i32 noundef %6330) #10
  %.not1830 = icmp eq i32 %6331, 0
  br i1 %.not1830, label %6332, label %6333

6332:                                             ; preds = %6328, %6322
  br label %6333

6333:                                             ; preds = %6328, %6332
  %.str.66.sink4189 = phi ptr [ @.str.66, %6332 ], [ @.str.63, %6328 ]
  store i32 %6323, ptr %2293, align 4, !tbaa !5
  %6334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6335 = load i32, ptr @test_count, align 4, !tbaa !5
  %6336 = load i32, ptr %2239, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror(i32 noundef %6336, ptr noundef nonnull @.str.65) #10
  %6338 = load i32, ptr %2239, align 4, !tbaa !5
  %6339 = call ptr @s2n_strerror_debug(i32 noundef %6338, ptr noundef nonnull @.str.65) #10
  %6340 = load i32, ptr %2293, align 4, !tbaa !5
  %6341 = call ptr @strerror(i32 noundef %6340) #10
  %6342 = load i32, ptr %2293, align 4, !tbaa !5
  %6343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6334, ptr noundef nonnull %.str.66.sink4189, i32 noundef %6335, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.62, i32 noundef 691, ptr noundef %6337, ptr noundef %6339, ptr noundef %6341, i32 noundef %6342) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6344:                                             ; preds = %6317
  %6345 = add nsw i32 %6290, 3
  store i32 %6345, ptr @test_count, align 4, !tbaa !5
  br i1 %6117, label %6346, label %6428

6346:                                             ; preds = %6344
  %6347 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %28) #10
  %6348 = icmp eq i32 %6347, -1
  br i1 %6348, label %6349, label %6371

6349:                                             ; preds = %6346
  %6350 = load i32, ptr %2293, align 4, !tbaa !5
  %6351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6352 = call i32 @s2n_print_stacktrace(ptr noundef %6351) #10
  %6353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6354 = trunc nuw i8 %6353 to i1
  br i1 %6354, label %6355, label %6359

6355:                                             ; preds = %6349
  %6356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6357 = call i32 @fileno(ptr noundef %6356) #10
  %6358 = call i32 @isatty(i32 noundef %6357) #10
  %.not1836 = icmp eq i32 %6358, 0
  br i1 %.not1836, label %6359, label %6360

6359:                                             ; preds = %6355, %6349
  br label %6360

6360:                                             ; preds = %6355, %6359
  %.str.66.sink4198 = phi ptr [ @.str.66, %6359 ], [ @.str.63, %6355 ]
  store i32 %6350, ptr %2293, align 4, !tbaa !5
  %6361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6362 = load i32, ptr @test_count, align 4, !tbaa !5
  %6363 = load i32, ptr %2239, align 4, !tbaa !5
  %6364 = call ptr @s2n_strerror(i32 noundef %6363, ptr noundef nonnull @.str.65) #10
  %6365 = load i32, ptr %2239, align 4, !tbaa !5
  %6366 = call ptr @s2n_strerror_debug(i32 noundef %6365, ptr noundef nonnull @.str.65) #10
  %6367 = load i32, ptr %2293, align 4, !tbaa !5
  %6368 = call ptr @strerror(i32 noundef %6367) #10
  %6369 = load i32, ptr %2293, align 4, !tbaa !5
  %6370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6361, ptr noundef nonnull %.str.66.sink4198, i32 noundef %6362, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.62, i32 noundef 694, ptr noundef %6364, ptr noundef %6366, ptr noundef %6368, i32 noundef %6369) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6371:                                             ; preds = %6346
  %6372 = load i32, ptr @test_count, align 4, !tbaa !5
  %6373 = add nsw i32 %6372, 1
  store i32 %6373, ptr @test_count, align 4, !tbaa !5
  %6374 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %5450, ptr noundef nonnull %4813, ptr noundef nonnull %4)
  %6375 = call zeroext i1 @s2n_result_is_ok(i32 %6374)
  br i1 %6375, label %6398, label %6376

6376:                                             ; preds = %6371
  %6377 = load i32, ptr %2293, align 4, !tbaa !5
  %6378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6379 = call i32 @s2n_print_stacktrace(ptr noundef %6378) #10
  %6380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6381 = trunc nuw i8 %6380 to i1
  br i1 %6381, label %6382, label %6386

6382:                                             ; preds = %6376
  %6383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6384 = call i32 @fileno(ptr noundef %6383) #10
  %6385 = call i32 @isatty(i32 noundef %6384) #10
  %.not1834 = icmp eq i32 %6385, 0
  br i1 %.not1834, label %6386, label %6387

6386:                                             ; preds = %6382, %6376
  br label %6387

6387:                                             ; preds = %6382, %6386
  %.str.66.sink4207 = phi ptr [ @.str.66, %6386 ], [ @.str.63, %6382 ]
  store i32 %6377, ptr %2293, align 4, !tbaa !5
  %6388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6389 = load i32, ptr @test_count, align 4, !tbaa !5
  %6390 = load i32, ptr %2239, align 4, !tbaa !5
  %6391 = call ptr @s2n_strerror(i32 noundef %6390, ptr noundef nonnull @.str.65) #10
  %6392 = load i32, ptr %2239, align 4, !tbaa !5
  %6393 = call ptr @s2n_strerror_debug(i32 noundef %6392, ptr noundef nonnull @.str.65) #10
  %6394 = load i32, ptr %2293, align 4, !tbaa !5
  %6395 = call ptr @strerror(i32 noundef %6394) #10
  %6396 = load i32, ptr %2293, align 4, !tbaa !5
  %6397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6388, ptr noundef nonnull %.str.66.sink4207, i32 noundef %6389, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.62, i32 noundef 695, ptr noundef %6391, ptr noundef %6393, ptr noundef %6395, i32 noundef %6396) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6398:                                             ; preds = %6371
  %6399 = load i32, ptr @test_count, align 4, !tbaa !5
  %6400 = add nsw i32 %6399, 1
  store i32 %6400, ptr @test_count, align 4, !tbaa !5
  %6401 = load i32, ptr %923, align 4, !tbaa !20
  %6402 = load i32, ptr %924, align 8, !tbaa !23
  %6403 = sub i32 %6401, %6402
  %6404 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %7, ptr noundef nonnull %28, i32 noundef %6403) #10
  %6405 = icmp eq i32 %6404, -1
  br i1 %6405, label %6406, label %6510

6406:                                             ; preds = %6398
  %6407 = load i32, ptr %2293, align 4, !tbaa !5
  %6408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6409 = call i32 @s2n_print_stacktrace(ptr noundef %6408) #10
  %6410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6411 = trunc nuw i8 %6410 to i1
  br i1 %6411, label %6412, label %6416

6412:                                             ; preds = %6406
  %6413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6414 = call i32 @fileno(ptr noundef %6413) #10
  %6415 = call i32 @isatty(i32 noundef %6414) #10
  %.not1835 = icmp eq i32 %6415, 0
  br i1 %.not1835, label %6416, label %6417

6416:                                             ; preds = %6412, %6406
  br label %6417

6417:                                             ; preds = %6412, %6416
  %.str.66.sink4216 = phi ptr [ @.str.66, %6416 ], [ @.str.63, %6412 ]
  store i32 %6407, ptr %2293, align 4, !tbaa !5
  %6418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6419 = load i32, ptr @test_count, align 4, !tbaa !5
  %6420 = load i32, ptr %2239, align 4, !tbaa !5
  %6421 = call ptr @s2n_strerror(i32 noundef %6420, ptr noundef nonnull @.str.65) #10
  %6422 = load i32, ptr %2239, align 4, !tbaa !5
  %6423 = call ptr @s2n_strerror_debug(i32 noundef %6422, ptr noundef nonnull @.str.65) #10
  %6424 = load i32, ptr %2293, align 4, !tbaa !5
  %6425 = call ptr @strerror(i32 noundef %6424) #10
  %6426 = load i32, ptr %2293, align 4, !tbaa !5
  %6427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6418, ptr noundef nonnull %.str.66.sink4216, i32 noundef %6419, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.62, i32 noundef 696, ptr noundef %6421, ptr noundef %6423, ptr noundef %6425, i32 noundef %6426) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6428:                                             ; preds = %6344
  %6429 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %27) #10
  %6430 = icmp eq i32 %6429, -1
  br i1 %6430, label %6431, label %6453

6431:                                             ; preds = %6428
  %6432 = load i32, ptr %2293, align 4, !tbaa !5
  %6433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6434 = call i32 @s2n_print_stacktrace(ptr noundef %6433) #10
  %6435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6436 = trunc nuw i8 %6435 to i1
  br i1 %6436, label %6437, label %6441

6437:                                             ; preds = %6431
  %6438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6439 = call i32 @fileno(ptr noundef %6438) #10
  %6440 = call i32 @isatty(i32 noundef %6439) #10
  %.not1833 = icmp eq i32 %6440, 0
  br i1 %.not1833, label %6441, label %6442

6441:                                             ; preds = %6437, %6431
  br label %6442

6442:                                             ; preds = %6437, %6441
  %.str.66.sink4225 = phi ptr [ @.str.66, %6441 ], [ @.str.63, %6437 ]
  store i32 %6432, ptr %2293, align 4, !tbaa !5
  %6443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6444 = load i32, ptr @test_count, align 4, !tbaa !5
  %6445 = load i32, ptr %2239, align 4, !tbaa !5
  %6446 = call ptr @s2n_strerror(i32 noundef %6445, ptr noundef nonnull @.str.65) #10
  %6447 = load i32, ptr %2239, align 4, !tbaa !5
  %6448 = call ptr @s2n_strerror_debug(i32 noundef %6447, ptr noundef nonnull @.str.65) #10
  %6449 = load i32, ptr %2293, align 4, !tbaa !5
  %6450 = call ptr @strerror(i32 noundef %6449) #10
  %6451 = load i32, ptr %2293, align 4, !tbaa !5
  %6452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6443, ptr noundef nonnull %.str.66.sink4225, i32 noundef %6444, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.62, i32 noundef 698, ptr noundef %6446, ptr noundef %6448, ptr noundef %6450, i32 noundef %6451) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6453:                                             ; preds = %6428
  %6454 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %4813)
  %6455 = load i32, ptr @test_count, align 4, !tbaa !5
  %6456 = add nsw i32 %6455, 1
  store i32 %6456, ptr @test_count, align 4, !tbaa !5
  %6457 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %27, i32 noundef %6454) #10
  %6458 = icmp eq i32 %6457, -1
  br i1 %6458, label %6459, label %6481

6459:                                             ; preds = %6453
  %6460 = load i32, ptr %2293, align 4, !tbaa !5
  %6461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6462 = call i32 @s2n_print_stacktrace(ptr noundef %6461) #10
  %6463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6464 = trunc nuw i8 %6463 to i1
  br i1 %6464, label %6465, label %6469

6465:                                             ; preds = %6459
  %6466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6467 = call i32 @fileno(ptr noundef %6466) #10
  %6468 = call i32 @isatty(i32 noundef %6467) #10
  %.not1832 = icmp eq i32 %6468, 0
  br i1 %.not1832, label %6469, label %6470

6469:                                             ; preds = %6465, %6459
  br label %6470

6470:                                             ; preds = %6465, %6469
  %.str.66.sink4234 = phi ptr [ @.str.66, %6469 ], [ @.str.63, %6465 ]
  store i32 %6460, ptr %2293, align 4, !tbaa !5
  %6471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6472 = load i32, ptr @test_count, align 4, !tbaa !5
  %6473 = load i32, ptr %2239, align 4, !tbaa !5
  %6474 = call ptr @s2n_strerror(i32 noundef %6473, ptr noundef nonnull @.str.65) #10
  %6475 = load i32, ptr %2239, align 4, !tbaa !5
  %6476 = call ptr @s2n_strerror_debug(i32 noundef %6475, ptr noundef nonnull @.str.65) #10
  %6477 = load i32, ptr %2293, align 4, !tbaa !5
  %6478 = call ptr @strerror(i32 noundef %6477) #10
  %6479 = load i32, ptr %2293, align 4, !tbaa !5
  %6480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6471, ptr noundef nonnull %.str.66.sink4234, i32 noundef %6472, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.62, i32 noundef 700, ptr noundef %6474, ptr noundef %6476, ptr noundef %6478, i32 noundef %6479) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6481:                                             ; preds = %6453
  %6482 = load i32, ptr @test_count, align 4, !tbaa !5
  %6483 = add nsw i32 %6482, 1
  store i32 %6483, ptr @test_count, align 4, !tbaa !5
  %6484 = load ptr, ptr %27, align 8, !tbaa !24
  %6485 = sext i32 %6454 to i64
  %6486 = call i32 @s2n_connection_get_session(ptr noundef nonnull %4813, ptr noundef %6484, i64 noundef %6485)
  %6487 = icmp eq i32 %6486, -1
  br i1 %6487, label %6488, label %6510

6488:                                             ; preds = %6481
  %6489 = load i32, ptr %2293, align 4, !tbaa !5
  %6490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6491 = call i32 @s2n_print_stacktrace(ptr noundef %6490) #10
  %6492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6493 = trunc nuw i8 %6492 to i1
  br i1 %6493, label %6494, label %6498

6494:                                             ; preds = %6488
  %6495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6496 = call i32 @fileno(ptr noundef %6495) #10
  %6497 = call i32 @isatty(i32 noundef %6496) #10
  %.not1831 = icmp eq i32 %6497, 0
  br i1 %.not1831, label %6498, label %6499

6498:                                             ; preds = %6494, %6488
  br label %6499

6499:                                             ; preds = %6494, %6498
  %.str.66.sink4243 = phi ptr [ @.str.66, %6498 ], [ @.str.63, %6494 ]
  store i32 %6489, ptr %2293, align 4, !tbaa !5
  %6500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6501 = load i32, ptr @test_count, align 4, !tbaa !5
  %6502 = load i32, ptr %2239, align 4, !tbaa !5
  %6503 = call ptr @s2n_strerror(i32 noundef %6502, ptr noundef nonnull @.str.65) #10
  %6504 = load i32, ptr %2239, align 4, !tbaa !5
  %6505 = call ptr @s2n_strerror_debug(i32 noundef %6504, ptr noundef nonnull @.str.65) #10
  %6506 = load i32, ptr %2293, align 4, !tbaa !5
  %6507 = call ptr @strerror(i32 noundef %6506) #10
  %6508 = load i32, ptr %2293, align 4, !tbaa !5
  %6509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6500, ptr noundef nonnull %.str.66.sink4243, i32 noundef %6501, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.62, i32 noundef 701, ptr noundef %6503, ptr noundef %6505, ptr noundef %6507, i32 noundef %6508) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6510:                                             ; preds = %6481, %6398
  %6511 = add nuw nsw i64 %.015142058, 1
  %exitcond2068.not = icmp eq i64 %6511, 10
  br i1 %exitcond2068.not, label %6002, label %6007, !llvm.loop !64

6512:                                             ; preds = %6002
  %6513 = load i32, ptr %2293, align 4, !tbaa !5
  %6514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6515 = call i32 @s2n_print_stacktrace(ptr noundef %6514) #10
  %6516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6517 = trunc nuw i8 %6516 to i1
  br i1 %6517, label %6518, label %6522

6518:                                             ; preds = %6512
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = call i32 @fileno(ptr noundef %6519) #10
  %6521 = call i32 @isatty(i32 noundef %6520) #10
  %.not1825 = icmp eq i32 %6521, 0
  br i1 %.not1825, label %6522, label %6523

6522:                                             ; preds = %6518, %6512
  br label %6523

6523:                                             ; preds = %6518, %6522
  %.str.66.sink4252 = phi ptr [ @.str.66, %6522 ], [ @.str.63, %6518 ]
  store i32 %6513, ptr %2293, align 4, !tbaa !5
  %6524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6525 = load i32, ptr @test_count, align 4, !tbaa !5
  %6526 = load i32, ptr %2239, align 4, !tbaa !5
  %6527 = call ptr @s2n_strerror(i32 noundef %6526, ptr noundef nonnull @.str.65) #10
  %6528 = load i32, ptr %2239, align 4, !tbaa !5
  %6529 = call ptr @s2n_strerror_debug(i32 noundef %6528, ptr noundef nonnull @.str.65) #10
  %6530 = load i32, ptr %2293, align 4, !tbaa !5
  %6531 = call ptr @strerror(i32 noundef %6530) #10
  %6532 = load i32, ptr %2293, align 4, !tbaa !5
  %6533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6524, ptr noundef nonnull %.str.66.sink4252, i32 noundef %6525, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 705, ptr noundef %6527, ptr noundef %6529, ptr noundef %6531, i32 noundef %6532) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6534:                                             ; preds = %6002
  %6535 = load i32, ptr @test_count, align 4, !tbaa !5
  %6536 = add nsw i32 %6535, 1
  store i32 %6536, ptr @test_count, align 4, !tbaa !5
  %6537 = call i32 @s2n_connection_free(ptr noundef nonnull %4813) #10
  %6538 = icmp eq i32 %6537, -1
  br i1 %6538, label %6539, label %6561

6539:                                             ; preds = %6534
  %6540 = load i32, ptr %2293, align 4, !tbaa !5
  %6541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6542 = call i32 @s2n_print_stacktrace(ptr noundef %6541) #10
  %6543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6544 = trunc nuw i8 %6543 to i1
  br i1 %6544, label %6545, label %6549

6545:                                             ; preds = %6539
  %6546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6547 = call i32 @fileno(ptr noundef %6546) #10
  %6548 = call i32 @isatty(i32 noundef %6547) #10
  %.not1824 = icmp eq i32 %6548, 0
  br i1 %.not1824, label %6549, label %6550

6549:                                             ; preds = %6545, %6539
  br label %6550

6550:                                             ; preds = %6545, %6549
  %.str.66.sink4261 = phi ptr [ @.str.66, %6549 ], [ @.str.63, %6545 ]
  store i32 %6540, ptr %2293, align 4, !tbaa !5
  %6551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6552 = load i32, ptr @test_count, align 4, !tbaa !5
  %6553 = load i32, ptr %2239, align 4, !tbaa !5
  %6554 = call ptr @s2n_strerror(i32 noundef %6553, ptr noundef nonnull @.str.65) #10
  %6555 = load i32, ptr %2239, align 4, !tbaa !5
  %6556 = call ptr @s2n_strerror_debug(i32 noundef %6555, ptr noundef nonnull @.str.65) #10
  %6557 = load i32, ptr %2293, align 4, !tbaa !5
  %6558 = call ptr @strerror(i32 noundef %6557) #10
  %6559 = load i32, ptr %2293, align 4, !tbaa !5
  %6560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6551, ptr noundef nonnull %.str.66.sink4261, i32 noundef %6552, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 706, ptr noundef %6554, ptr noundef %6556, ptr noundef %6558, i32 noundef %6559) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6561:                                             ; preds = %6534
  %6562 = load i32, ptr @test_count, align 4, !tbaa !5
  %6563 = add nsw i32 %6562, 1
  store i32 %6563, ptr @test_count, align 4, !tbaa !5
  %6564 = call i32 @s2n_io_pair_close(ptr noundef nonnull %26) #10
  %6565 = icmp eq i32 %6564, -1
  br i1 %6565, label %6566, label %6588

6566:                                             ; preds = %6561
  %6567 = load i32, ptr %2293, align 4, !tbaa !5
  %6568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6569 = call i32 @s2n_print_stacktrace(ptr noundef %6568) #10
  %6570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6571 = trunc nuw i8 %6570 to i1
  br i1 %6571, label %6572, label %6576

6572:                                             ; preds = %6566
  %6573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6574 = call i32 @fileno(ptr noundef %6573) #10
  %6575 = call i32 @isatty(i32 noundef %6574) #10
  %.not1823 = icmp eq i32 %6575, 0
  br i1 %.not1823, label %6576, label %6577

6576:                                             ; preds = %6572, %6566
  br label %6577

6577:                                             ; preds = %6572, %6576
  %.str.66.sink4270 = phi ptr [ @.str.66, %6576 ], [ @.str.63, %6572 ]
  store i32 %6567, ptr %2293, align 4, !tbaa !5
  %6578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6579 = load i32, ptr @test_count, align 4, !tbaa !5
  %6580 = load i32, ptr %2239, align 4, !tbaa !5
  %6581 = call ptr @s2n_strerror(i32 noundef %6580, ptr noundef nonnull @.str.65) #10
  %6582 = load i32, ptr %2239, align 4, !tbaa !5
  %6583 = call ptr @s2n_strerror_debug(i32 noundef %6582, ptr noundef nonnull @.str.65) #10
  %6584 = load i32, ptr %2293, align 4, !tbaa !5
  %6585 = call ptr @strerror(i32 noundef %6584) #10
  %6586 = load i32, ptr %2293, align 4, !tbaa !5
  %6587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6578, ptr noundef nonnull %.str.66.sink4270, i32 noundef %6579, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 707, ptr noundef %6581, ptr noundef %6583, ptr noundef %6585, i32 noundef %6586) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6588:                                             ; preds = %6561
  %6589 = call i32 @s2n_stuffer_free(ptr noundef nonnull %28) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %28) #10
  %6590 = call i32 @s2n_stuffer_free(ptr noundef nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #10
  %6591 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %6592 = load i32, ptr @test_count, align 4, !tbaa !5
  %6593 = add nsw i32 %6592, 1
  store i32 %6593, ptr @test_count, align 4, !tbaa !5
  %6594 = icmp eq ptr %6591, null
  br i1 %6594, label %6595, label %6617

6595:                                             ; preds = %6588
  %6596 = load i32, ptr %2293, align 4, !tbaa !5
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = call i32 @s2n_print_stacktrace(ptr noundef %6597) #10
  %6599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6600 = trunc nuw i8 %6599 to i1
  br i1 %6600, label %6601, label %6605

6601:                                             ; preds = %6595
  %6602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6603 = call i32 @fileno(ptr noundef %6602) #10
  %6604 = call i32 @isatty(i32 noundef %6603) #10
  %.not1822 = icmp eq i32 %6604, 0
  br i1 %.not1822, label %6605, label %6606

6605:                                             ; preds = %6601, %6595
  br label %6606

6606:                                             ; preds = %6601, %6605
  %.str.66.sink4279 = phi ptr [ @.str.66, %6605 ], [ @.str.63, %6601 ]
  store i32 %6596, ptr %2293, align 4, !tbaa !5
  %6607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6608 = load i32, ptr @test_count, align 4, !tbaa !5
  %6609 = load i32, ptr %2239, align 4, !tbaa !5
  %6610 = call ptr @s2n_strerror(i32 noundef %6609, ptr noundef nonnull @.str.65) #10
  %6611 = load i32, ptr %2239, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror_debug(i32 noundef %6611, ptr noundef nonnull @.str.65) #10
  %6613 = load i32, ptr %2293, align 4, !tbaa !5
  %6614 = call ptr @strerror(i32 noundef %6613) #10
  %6615 = load i32, ptr %2293, align 4, !tbaa !5
  %6616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6607, ptr noundef nonnull %.str.66.sink4279, i32 noundef %6608, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 713, ptr noundef %6610, ptr noundef %6612, ptr noundef %6614, i32 noundef %6615) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6617:                                             ; preds = %6588
  %6618 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %6619 = load i32, ptr @test_count, align 4, !tbaa !5
  %6620 = add nsw i32 %6619, 1
  store i32 %6620, ptr @test_count, align 4, !tbaa !5
  %6621 = icmp eq ptr %6618, null
  br i1 %6621, label %6622, label %6644

6622:                                             ; preds = %6617
  %6623 = load i32, ptr %2293, align 4, !tbaa !5
  %6624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6625 = call i32 @s2n_print_stacktrace(ptr noundef %6624) #10
  %6626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6627 = trunc nuw i8 %6626 to i1
  br i1 %6627, label %6628, label %6632

6628:                                             ; preds = %6622
  %6629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6630 = call i32 @fileno(ptr noundef %6629) #10
  %6631 = call i32 @isatty(i32 noundef %6630) #10
  %.not1821 = icmp eq i32 %6631, 0
  br i1 %.not1821, label %6632, label %6633

6632:                                             ; preds = %6628, %6622
  br label %6633

6633:                                             ; preds = %6628, %6632
  %.str.66.sink4288 = phi ptr [ @.str.66, %6632 ], [ @.str.63, %6628 ]
  store i32 %6623, ptr %2293, align 4, !tbaa !5
  %6634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6635 = load i32, ptr @test_count, align 4, !tbaa !5
  %6636 = load i32, ptr %2239, align 4, !tbaa !5
  %6637 = call ptr @s2n_strerror(i32 noundef %6636, ptr noundef nonnull @.str.65) #10
  %6638 = load i32, ptr %2239, align 4, !tbaa !5
  %6639 = call ptr @s2n_strerror_debug(i32 noundef %6638, ptr noundef nonnull @.str.65) #10
  %6640 = load i32, ptr %2293, align 4, !tbaa !5
  %6641 = call ptr @strerror(i32 noundef %6640) #10
  %6642 = load i32, ptr %2293, align 4, !tbaa !5
  %6643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6634, ptr noundef nonnull %.str.66.sink4288, i32 noundef %6635, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 716, ptr noundef %6637, ptr noundef %6639, ptr noundef %6641, i32 noundef %6642) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6644:                                             ; preds = %6617
  %6645 = add nsw i32 %6619, 2
  store i32 %6645, ptr @test_count, align 4, !tbaa !5
  %6646 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6618, ptr noundef %225) #10
  %6647 = icmp eq i32 %6646, -1
  br i1 %6647, label %6648, label %6670

6648:                                             ; preds = %6644
  %6649 = load i32, ptr %2293, align 4, !tbaa !5
  %6650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6651 = call i32 @s2n_print_stacktrace(ptr noundef %6650) #10
  %6652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6653 = trunc nuw i8 %6652 to i1
  br i1 %6653, label %6654, label %6658

6654:                                             ; preds = %6648
  %6655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6656 = call i32 @fileno(ptr noundef %6655) #10
  %6657 = call i32 @isatty(i32 noundef %6656) #10
  %.not1820 = icmp eq i32 %6657, 0
  br i1 %.not1820, label %6658, label %6659

6658:                                             ; preds = %6654, %6648
  br label %6659

6659:                                             ; preds = %6654, %6658
  %.str.66.sink4297 = phi ptr [ @.str.66, %6658 ], [ @.str.63, %6654 ]
  store i32 %6649, ptr %2293, align 4, !tbaa !5
  %6660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6661 = load i32, ptr @test_count, align 4, !tbaa !5
  %6662 = load i32, ptr %2239, align 4, !tbaa !5
  %6663 = call ptr @s2n_strerror(i32 noundef %6662, ptr noundef nonnull @.str.65) #10
  %6664 = load i32, ptr %2239, align 4, !tbaa !5
  %6665 = call ptr @s2n_strerror_debug(i32 noundef %6664, ptr noundef nonnull @.str.65) #10
  %6666 = load i32, ptr %2293, align 4, !tbaa !5
  %6667 = call ptr @strerror(i32 noundef %6666) #10
  %6668 = load i32, ptr %2293, align 4, !tbaa !5
  %6669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6660, ptr noundef nonnull %.str.66.sink4297, i32 noundef %6661, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 717, ptr noundef %6663, ptr noundef %6665, ptr noundef %6667, i32 noundef %6668) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6670:                                             ; preds = %6644
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #10
  store i64 0, ptr %29, align 8
  %6671 = load i32, ptr @test_count, align 4, !tbaa !5
  %6672 = add nsw i32 %6671, 1
  store i32 %6672, ptr @test_count, align 4, !tbaa !5
  %6673 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %29) #10
  %6674 = icmp eq i32 %6673, -1
  br i1 %6674, label %6675, label %6697

6675:                                             ; preds = %6670
  %6676 = load i32, ptr %2293, align 4, !tbaa !5
  %6677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6678 = call i32 @s2n_print_stacktrace(ptr noundef %6677) #10
  %6679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6680 = trunc nuw i8 %6679 to i1
  br i1 %6680, label %6681, label %6685

6681:                                             ; preds = %6675
  %6682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6683 = call i32 @fileno(ptr noundef %6682) #10
  %6684 = call i32 @isatty(i32 noundef %6683) #10
  %.not1819 = icmp eq i32 %6684, 0
  br i1 %.not1819, label %6685, label %6686

6685:                                             ; preds = %6681, %6675
  br label %6686

6686:                                             ; preds = %6681, %6685
  %.str.66.sink4306 = phi ptr [ @.str.66, %6685 ], [ @.str.63, %6681 ]
  store i32 %6676, ptr %2293, align 4, !tbaa !5
  %6687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6688 = load i32, ptr @test_count, align 4, !tbaa !5
  %6689 = load i32, ptr %2239, align 4, !tbaa !5
  %6690 = call ptr @s2n_strerror(i32 noundef %6689, ptr noundef nonnull @.str.65) #10
  %6691 = load i32, ptr %2239, align 4, !tbaa !5
  %6692 = call ptr @s2n_strerror_debug(i32 noundef %6691, ptr noundef nonnull @.str.65) #10
  %6693 = load i32, ptr %2293, align 4, !tbaa !5
  %6694 = call ptr @strerror(i32 noundef %6693) #10
  %6695 = load i32, ptr %2293, align 4, !tbaa !5
  %6696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6687, ptr noundef nonnull %.str.66.sink4306, i32 noundef %6688, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 721, ptr noundef %6690, ptr noundef %6692, ptr noundef %6694, i32 noundef %6695) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6697:                                             ; preds = %6670
  %6698 = load i32, ptr @test_count, align 4, !tbaa !5
  %6699 = add nsw i32 %6698, 1
  store i32 %6699, ptr @test_count, align 4, !tbaa !5
  %6700 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6591, ptr noundef nonnull %6618, ptr noundef nonnull %29) #10
  %6701 = icmp eq i32 %6700, -1
  br i1 %6701, label %6702, label %6724

6702:                                             ; preds = %6697
  %6703 = load i32, ptr %2293, align 4, !tbaa !5
  %6704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6705 = call i32 @s2n_print_stacktrace(ptr noundef %6704) #10
  %6706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6707 = trunc nuw i8 %6706 to i1
  br i1 %6707, label %6708, label %6712

6708:                                             ; preds = %6702
  %6709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6710 = call i32 @fileno(ptr noundef %6709) #10
  %6711 = call i32 @isatty(i32 noundef %6710) #10
  %.not1818 = icmp eq i32 %6711, 0
  br i1 %.not1818, label %6712, label %6713

6712:                                             ; preds = %6708, %6702
  br label %6713

6713:                                             ; preds = %6708, %6712
  %.str.66.sink4315 = phi ptr [ @.str.66, %6712 ], [ @.str.63, %6708 ]
  store i32 %6703, ptr %2293, align 4, !tbaa !5
  %6714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6715 = load i32, ptr @test_count, align 4, !tbaa !5
  %6716 = load i32, ptr %2239, align 4, !tbaa !5
  %6717 = call ptr @s2n_strerror(i32 noundef %6716, ptr noundef nonnull @.str.65) #10
  %6718 = load i32, ptr %2239, align 4, !tbaa !5
  %6719 = call ptr @s2n_strerror_debug(i32 noundef %6718, ptr noundef nonnull @.str.65) #10
  %6720 = load i32, ptr %2293, align 4, !tbaa !5
  %6721 = call ptr @strerror(i32 noundef %6720) #10
  %6722 = load i32, ptr %2293, align 4, !tbaa !5
  %6723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6714, ptr noundef nonnull %.str.66.sink4315, i32 noundef %6715, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 722, ptr noundef %6717, ptr noundef %6719, ptr noundef %6721, i32 noundef %6722) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6724:                                             ; preds = %6697
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %30) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %30, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %31) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %31, i8 0, i64 40, i1 false)
  %6725 = load i32, ptr @test_count, align 4, !tbaa !5
  %6726 = add nsw i32 %6725, 1
  store i32 %6726, ptr @test_count, align 4, !tbaa !5
  %6727 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %30, i32 noundef 0) #10
  %6728 = icmp eq i32 %6727, -1
  br i1 %6728, label %6729, label %6751

6729:                                             ; preds = %6724
  %6730 = load i32, ptr %2293, align 4, !tbaa !5
  %6731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6732 = call i32 @s2n_print_stacktrace(ptr noundef %6731) #10
  %6733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6734 = trunc nuw i8 %6733 to i1
  br i1 %6734, label %6735, label %6739

6735:                                             ; preds = %6729
  %6736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6737 = call i32 @fileno(ptr noundef %6736) #10
  %6738 = call i32 @isatty(i32 noundef %6737) #10
  %.not1817 = icmp eq i32 %6738, 0
  br i1 %.not1817, label %6739, label %6740

6739:                                             ; preds = %6735, %6729
  br label %6740

6740:                                             ; preds = %6735, %6739
  %.str.66.sink4324 = phi ptr [ @.str.66, %6739 ], [ @.str.63, %6735 ]
  store i32 %6730, ptr %2293, align 4, !tbaa !5
  %6741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6742 = load i32, ptr @test_count, align 4, !tbaa !5
  %6743 = load i32, ptr %2239, align 4, !tbaa !5
  %6744 = call ptr @s2n_strerror(i32 noundef %6743, ptr noundef nonnull @.str.65) #10
  %6745 = load i32, ptr %2239, align 4, !tbaa !5
  %6746 = call ptr @s2n_strerror_debug(i32 noundef %6745, ptr noundef nonnull @.str.65) #10
  %6747 = load i32, ptr %2293, align 4, !tbaa !5
  %6748 = call ptr @strerror(i32 noundef %6747) #10
  %6749 = load i32, ptr %2293, align 4, !tbaa !5
  %6750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6741, ptr noundef nonnull %.str.66.sink4324, i32 noundef %6742, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.62, i32 noundef 726, ptr noundef %6744, ptr noundef %6746, ptr noundef %6748, i32 noundef %6749) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6751:                                             ; preds = %6724
  %6752 = load i32, ptr @test_count, align 4, !tbaa !5
  %6753 = add nsw i32 %6752, 1
  store i32 %6753, ptr @test_count, align 4, !tbaa !5
  %6754 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %31, i32 noundef 0) #10
  %6755 = icmp eq i32 %6754, -1
  br i1 %6755, label %6756, label %6778

6756:                                             ; preds = %6751
  %6757 = load i32, ptr %2293, align 4, !tbaa !5
  %6758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6759 = call i32 @s2n_print_stacktrace(ptr noundef %6758) #10
  %6760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6761 = trunc nuw i8 %6760 to i1
  br i1 %6761, label %6762, label %6766

6762:                                             ; preds = %6756
  %6763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6764 = call i32 @fileno(ptr noundef %6763) #10
  %6765 = call i32 @isatty(i32 noundef %6764) #10
  %.not1816 = icmp eq i32 %6765, 0
  br i1 %.not1816, label %6766, label %6767

6766:                                             ; preds = %6762, %6756
  br label %6767

6767:                                             ; preds = %6762, %6766
  %.str.66.sink4333 = phi ptr [ @.str.66, %6766 ], [ @.str.63, %6762 ]
  store i32 %6757, ptr %2293, align 4, !tbaa !5
  %6768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6769 = load i32, ptr @test_count, align 4, !tbaa !5
  %6770 = load i32, ptr %2239, align 4, !tbaa !5
  %6771 = call ptr @s2n_strerror(i32 noundef %6770, ptr noundef nonnull @.str.65) #10
  %6772 = load i32, ptr %2239, align 4, !tbaa !5
  %6773 = call ptr @s2n_strerror_debug(i32 noundef %6772, ptr noundef nonnull @.str.65) #10
  %6774 = load i32, ptr %2293, align 4, !tbaa !5
  %6775 = call ptr @strerror(i32 noundef %6774) #10
  %6776 = load i32, ptr %2293, align 4, !tbaa !5
  %6777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6768, ptr noundef nonnull %.str.66.sink4333, i32 noundef %6769, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.62, i32 noundef 727, ptr noundef %6771, ptr noundef %6773, ptr noundef %6775, i32 noundef %6776) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6778:                                             ; preds = %6751
  %6779 = load i32, ptr @test_count, align 4, !tbaa !5
  %6780 = add nsw i32 %6779, 1
  store i32 %6780, ptr @test_count, align 4, !tbaa !5
  %6781 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6591, ptr noundef nonnull %631) #10
  %6782 = icmp eq i32 %6781, -1
  br i1 %6782, label %6783, label %6805

6783:                                             ; preds = %6778
  %6784 = load i32, ptr %2293, align 4, !tbaa !5
  %6785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6786 = call i32 @s2n_print_stacktrace(ptr noundef %6785) #10
  %6787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6788 = trunc nuw i8 %6787 to i1
  br i1 %6788, label %6789, label %6793

6789:                                             ; preds = %6783
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = call i32 @fileno(ptr noundef %6790) #10
  %6792 = call i32 @isatty(i32 noundef %6791) #10
  %.not1815 = icmp eq i32 %6792, 0
  br i1 %.not1815, label %6793, label %6794

6793:                                             ; preds = %6789, %6783
  br label %6794

6794:                                             ; preds = %6789, %6793
  %.str.66.sink4342 = phi ptr [ @.str.66, %6793 ], [ @.str.63, %6789 ]
  store i32 %6784, ptr %2293, align 4, !tbaa !5
  %6795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6796 = load i32, ptr @test_count, align 4, !tbaa !5
  %6797 = load i32, ptr %2239, align 4, !tbaa !5
  %6798 = call ptr @s2n_strerror(i32 noundef %6797, ptr noundef nonnull @.str.65) #10
  %6799 = load i32, ptr %2239, align 4, !tbaa !5
  %6800 = call ptr @s2n_strerror_debug(i32 noundef %6799, ptr noundef nonnull @.str.65) #10
  %6801 = load i32, ptr %2293, align 4, !tbaa !5
  %6802 = call ptr @strerror(i32 noundef %6801) #10
  %6803 = load i32, ptr %2293, align 4, !tbaa !5
  %6804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6795, ptr noundef nonnull %.str.66.sink4342, i32 noundef %6796, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 730, ptr noundef %6798, ptr noundef %6800, ptr noundef %6802, i32 noundef %6803) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6805:                                             ; preds = %6778
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = add nsw i32 %6806, 1
  store i32 %6807, ptr @test_count, align 4, !tbaa !5
  %6808 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %6618, ptr noundef nonnull %6591) #10
  %6809 = icmp eq i32 %6808, -1
  br i1 %6809, label %6810, label %6832

6810:                                             ; preds = %6805
  %6811 = load i32, ptr %2293, align 4, !tbaa !5
  %6812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6813 = call i32 @s2n_print_stacktrace(ptr noundef %6812) #10
  %6814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6815 = trunc nuw i8 %6814 to i1
  br i1 %6815, label %6816, label %6820

6816:                                             ; preds = %6810
  %6817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6818 = call i32 @fileno(ptr noundef %6817) #10
  %6819 = call i32 @isatty(i32 noundef %6818) #10
  %.not1814 = icmp eq i32 %6819, 0
  br i1 %.not1814, label %6820, label %6821

6820:                                             ; preds = %6816, %6810
  br label %6821

6821:                                             ; preds = %6816, %6820
  %.str.66.sink4351 = phi ptr [ @.str.66, %6820 ], [ @.str.63, %6816 ]
  store i32 %6811, ptr %2293, align 4, !tbaa !5
  %6822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6823 = load i32, ptr @test_count, align 4, !tbaa !5
  %6824 = load i32, ptr %2239, align 4, !tbaa !5
  %6825 = call ptr @s2n_strerror(i32 noundef %6824, ptr noundef nonnull @.str.65) #10
  %6826 = load i32, ptr %2239, align 4, !tbaa !5
  %6827 = call ptr @s2n_strerror_debug(i32 noundef %6826, ptr noundef nonnull @.str.65) #10
  %6828 = load i32, ptr %2293, align 4, !tbaa !5
  %6829 = call ptr @strerror(i32 noundef %6828) #10
  %6830 = load i32, ptr %2293, align 4, !tbaa !5
  %6831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6822, ptr noundef nonnull %.str.66.sink4351, i32 noundef %6823, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 731, ptr noundef %6825, ptr noundef %6827, ptr noundef %6829, i32 noundef %6830) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6832:                                             ; preds = %6805
  %6833 = load i32, ptr @test_count, align 4, !tbaa !5
  %6834 = add nsw i32 %6833, 1
  store i32 %6834, ptr @test_count, align 4, !tbaa !5
  %6835 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %6618, ptr noundef nonnull %6591, ptr noundef nonnull %4)
  %6836 = call zeroext i1 @s2n_result_is_ok(i32 %6835)
  br i1 %6836, label %6859, label %6837

6837:                                             ; preds = %6832
  %6838 = load i32, ptr %2293, align 4, !tbaa !5
  %6839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6840 = call i32 @s2n_print_stacktrace(ptr noundef %6839) #10
  %6841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6842 = trunc nuw i8 %6841 to i1
  br i1 %6842, label %6843, label %6847

6843:                                             ; preds = %6837
  %6844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6845 = call i32 @fileno(ptr noundef %6844) #10
  %6846 = call i32 @isatty(i32 noundef %6845) #10
  %.not1577 = icmp eq i32 %6846, 0
  br i1 %.not1577, label %6847, label %6848

6847:                                             ; preds = %6843, %6837
  br label %6848

6848:                                             ; preds = %6843, %6847
  %.str.66.sink4360 = phi ptr [ @.str.66, %6847 ], [ @.str.63, %6843 ]
  store i32 %6838, ptr %2293, align 4, !tbaa !5
  %6849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6850 = load i32, ptr @test_count, align 4, !tbaa !5
  %6851 = load i32, ptr %2239, align 4, !tbaa !5
  %6852 = call ptr @s2n_strerror(i32 noundef %6851, ptr noundef nonnull @.str.65) #10
  %6853 = load i32, ptr %2239, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror_debug(i32 noundef %6853, ptr noundef nonnull @.str.65) #10
  %6855 = load i32, ptr %2293, align 4, !tbaa !5
  %6856 = call ptr @strerror(i32 noundef %6855) #10
  %6857 = load i32, ptr %2293, align 4, !tbaa !5
  %6858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6849, ptr noundef nonnull %.str.66.sink4360, i32 noundef %6850, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.62, i32 noundef 732, ptr noundef %6852, ptr noundef %6854, ptr noundef %6856, i32 noundef %6857) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6859:                                             ; preds = %6832
  %6860 = load i32, ptr @test_count, align 4, !tbaa !5
  %6861 = add nsw i32 %6860, 1
  store i32 %6861, ptr @test_count, align 4, !tbaa !5
  %6862 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %6618, i16 noundef zeroext 2)
  %6863 = call zeroext i1 @s2n_result_is_ok(i32 %6862)
  br i1 %6863, label %6886, label %6864

6864:                                             ; preds = %6859
  %6865 = load i32, ptr %2293, align 4, !tbaa !5
  %6866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6867 = call i32 @s2n_print_stacktrace(ptr noundef %6866) #10
  %6868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6869 = trunc nuw i8 %6868 to i1
  br i1 %6869, label %6870, label %6874

6870:                                             ; preds = %6864
  %6871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6872 = call i32 @fileno(ptr noundef %6871) #10
  %6873 = call i32 @isatty(i32 noundef %6872) #10
  %.not1578 = icmp eq i32 %6873, 0
  br i1 %.not1578, label %6874, label %6875

6874:                                             ; preds = %6870, %6864
  br label %6875

6875:                                             ; preds = %6870, %6874
  %.str.66.sink4369 = phi ptr [ @.str.66, %6874 ], [ @.str.63, %6870 ]
  store i32 %6865, ptr %2293, align 4, !tbaa !5
  %6876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6877 = load i32, ptr @test_count, align 4, !tbaa !5
  %6878 = load i32, ptr %2239, align 4, !tbaa !5
  %6879 = call ptr @s2n_strerror(i32 noundef %6878, ptr noundef nonnull @.str.65) #10
  %6880 = load i32, ptr %2239, align 4, !tbaa !5
  %6881 = call ptr @s2n_strerror_debug(i32 noundef %6880, ptr noundef nonnull @.str.65) #10
  %6882 = load i32, ptr %2293, align 4, !tbaa !5
  %6883 = call ptr @strerror(i32 noundef %6882) #10
  %6884 = load i32, ptr %2293, align 4, !tbaa !5
  %6885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6876, ptr noundef nonnull %.str.66.sink4369, i32 noundef %6877, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.62, i32 noundef 733, ptr noundef %6879, ptr noundef %6881, ptr noundef %6883, i32 noundef %6884) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6886:                                             ; preds = %6859
  %6887 = load i32, ptr @test_count, align 4, !tbaa !5
  %6888 = add nsw i32 %6887, 1
  store i32 %6888, ptr @test_count, align 4, !tbaa !5
  %6889 = load i32, ptr %923, align 4, !tbaa !20
  %6890 = load i32, ptr %924, align 8, !tbaa !23
  %6891 = sub i32 %6889, %6890
  %6892 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %7, ptr noundef nonnull %31, i32 noundef %6891) #10
  %6893 = icmp eq i32 %6892, -1
  br i1 %6893, label %6894, label %6916

6894:                                             ; preds = %6886
  %6895 = load i32, ptr %2293, align 4, !tbaa !5
  %6896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6897 = call i32 @s2n_print_stacktrace(ptr noundef %6896) #10
  %6898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6899 = trunc nuw i8 %6898 to i1
  br i1 %6899, label %6900, label %6904

6900:                                             ; preds = %6894
  %6901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6902 = call i32 @fileno(ptr noundef %6901) #10
  %6903 = call i32 @isatty(i32 noundef %6902) #10
  %.not1813 = icmp eq i32 %6903, 0
  br i1 %.not1813, label %6904, label %6905

6904:                                             ; preds = %6900, %6894
  br label %6905

6905:                                             ; preds = %6900, %6904
  %.str.66.sink4378 = phi ptr [ @.str.66, %6904 ], [ @.str.63, %6900 ]
  store i32 %6895, ptr %2293, align 4, !tbaa !5
  %6906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6907 = load i32, ptr @test_count, align 4, !tbaa !5
  %6908 = load i32, ptr %2239, align 4, !tbaa !5
  %6909 = call ptr @s2n_strerror(i32 noundef %6908, ptr noundef nonnull @.str.65) #10
  %6910 = load i32, ptr %2239, align 4, !tbaa !5
  %6911 = call ptr @s2n_strerror_debug(i32 noundef %6910, ptr noundef nonnull @.str.65) #10
  %6912 = load i32, ptr %2293, align 4, !tbaa !5
  %6913 = call ptr @strerror(i32 noundef %6912) #10
  %6914 = load i32, ptr %2293, align 4, !tbaa !5
  %6915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6906, ptr noundef nonnull %.str.66.sink4378, i32 noundef %6907, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.62, i32 noundef 734, ptr noundef %6909, ptr noundef %6911, ptr noundef %6913, i32 noundef %6914) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6916:                                             ; preds = %6886
  %6917 = load i32, ptr @test_count, align 4, !tbaa !5
  %6918 = add nsw i32 %6917, 1
  store i32 %6918, ptr @test_count, align 4, !tbaa !5
  %6919 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6591) #10
  %6920 = icmp eq i32 %6919, -1
  br i1 %6920, label %6921, label %6943

6921:                                             ; preds = %6916
  %6922 = load i32, ptr %2293, align 4, !tbaa !5
  %6923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6924 = call i32 @s2n_print_stacktrace(ptr noundef %6923) #10
  %6925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6926 = trunc nuw i8 %6925 to i1
  br i1 %6926, label %6927, label %6931

6927:                                             ; preds = %6921
  %6928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6929 = call i32 @fileno(ptr noundef %6928) #10
  %6930 = call i32 @isatty(i32 noundef %6929) #10
  %.not1812 = icmp eq i32 %6930, 0
  br i1 %.not1812, label %6931, label %6932

6931:                                             ; preds = %6927, %6921
  br label %6932

6932:                                             ; preds = %6927, %6931
  %.str.66.sink4387 = phi ptr [ @.str.66, %6931 ], [ @.str.63, %6927 ]
  store i32 %6922, ptr %2293, align 4, !tbaa !5
  %6933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6934 = load i32, ptr @test_count, align 4, !tbaa !5
  %6935 = load i32, ptr %2239, align 4, !tbaa !5
  %6936 = call ptr @s2n_strerror(i32 noundef %6935, ptr noundef nonnull @.str.65) #10
  %6937 = load i32, ptr %2239, align 4, !tbaa !5
  %6938 = call ptr @s2n_strerror_debug(i32 noundef %6937, ptr noundef nonnull @.str.65) #10
  %6939 = load i32, ptr %2293, align 4, !tbaa !5
  %6940 = call ptr @strerror(i32 noundef %6939) #10
  %6941 = load i32, ptr %2293, align 4, !tbaa !5
  %6942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6933, ptr noundef nonnull %.str.66.sink4387, i32 noundef %6934, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 737, ptr noundef %6936, ptr noundef %6938, ptr noundef %6940, i32 noundef %6941) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6943:                                             ; preds = %6916
  %6944 = load i32, ptr @test_count, align 4, !tbaa !5
  %6945 = add nsw i32 %6944, 1
  store i32 %6945, ptr @test_count, align 4, !tbaa !5
  %6946 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6618) #10
  %6947 = icmp eq i32 %6946, -1
  br i1 %6947, label %6948, label %6970

6948:                                             ; preds = %6943
  %6949 = load i32, ptr %2293, align 4, !tbaa !5
  %6950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6951 = call i32 @s2n_print_stacktrace(ptr noundef %6950) #10
  %6952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6953 = trunc nuw i8 %6952 to i1
  br i1 %6953, label %6954, label %6958

6954:                                             ; preds = %6948
  %6955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6956 = call i32 @fileno(ptr noundef %6955) #10
  %6957 = call i32 @isatty(i32 noundef %6956) #10
  %.not1811 = icmp eq i32 %6957, 0
  br i1 %.not1811, label %6958, label %6959

6958:                                             ; preds = %6954, %6948
  br label %6959

6959:                                             ; preds = %6954, %6958
  %.str.66.sink4396 = phi ptr [ @.str.66, %6958 ], [ @.str.63, %6954 ]
  store i32 %6949, ptr %2293, align 4, !tbaa !5
  %6960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6961 = load i32, ptr @test_count, align 4, !tbaa !5
  %6962 = load i32, ptr %2239, align 4, !tbaa !5
  %6963 = call ptr @s2n_strerror(i32 noundef %6962, ptr noundef nonnull @.str.65) #10
  %6964 = load i32, ptr %2239, align 4, !tbaa !5
  %6965 = call ptr @s2n_strerror_debug(i32 noundef %6964, ptr noundef nonnull @.str.65) #10
  %6966 = load i32, ptr %2293, align 4, !tbaa !5
  %6967 = call ptr @strerror(i32 noundef %6966) #10
  %6968 = load i32, ptr %2293, align 4, !tbaa !5
  %6969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6960, ptr noundef nonnull %.str.66.sink4396, i32 noundef %6961, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 738, ptr noundef %6963, ptr noundef %6965, ptr noundef %6967, i32 noundef %6968) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6970:                                             ; preds = %6943
  %6971 = load i32, ptr @test_count, align 4, !tbaa !5
  %6972 = add nsw i32 %6971, 1
  store i32 %6972, ptr @test_count, align 4, !tbaa !5
  %6973 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6591, ptr noundef nonnull %6618, ptr noundef nonnull %29) #10
  %6974 = icmp eq i32 %6973, -1
  br i1 %6974, label %6975, label %6997

6975:                                             ; preds = %6970
  %6976 = load i32, ptr %2293, align 4, !tbaa !5
  %6977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6978 = call i32 @s2n_print_stacktrace(ptr noundef %6977) #10
  %6979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6980 = trunc nuw i8 %6979 to i1
  br i1 %6980, label %6981, label %6985

6981:                                             ; preds = %6975
  %6982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6983 = call i32 @fileno(ptr noundef %6982) #10
  %6984 = call i32 @isatty(i32 noundef %6983) #10
  %.not1810 = icmp eq i32 %6984, 0
  br i1 %.not1810, label %6985, label %6986

6985:                                             ; preds = %6981, %6975
  br label %6986

6986:                                             ; preds = %6981, %6985
  %.str.66.sink4405 = phi ptr [ @.str.66, %6985 ], [ @.str.63, %6981 ]
  store i32 %6976, ptr %2293, align 4, !tbaa !5
  %6987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6988 = load i32, ptr @test_count, align 4, !tbaa !5
  %6989 = load i32, ptr %2239, align 4, !tbaa !5
  %6990 = call ptr @s2n_strerror(i32 noundef %6989, ptr noundef nonnull @.str.65) #10
  %6991 = load i32, ptr %2239, align 4, !tbaa !5
  %6992 = call ptr @s2n_strerror_debug(i32 noundef %6991, ptr noundef nonnull @.str.65) #10
  %6993 = load i32, ptr %2293, align 4, !tbaa !5
  %6994 = call ptr @strerror(i32 noundef %6993) #10
  %6995 = load i32, ptr %2293, align 4, !tbaa !5
  %6996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6987, ptr noundef nonnull %.str.66.sink4405, i32 noundef %6988, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 739, ptr noundef %6990, ptr noundef %6992, ptr noundef %6994, i32 noundef %6995) #12
  call void @exit(i32 noundef 1) #13
  unreachable

6997:                                             ; preds = %6970
  %6998 = load i32, ptr @test_count, align 4, !tbaa !5
  %6999 = add nsw i32 %6998, 1
  store i32 %6999, ptr @test_count, align 4, !tbaa !5
  %7000 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6591, ptr noundef nonnull %804) #10
  %7001 = icmp eq i32 %7000, -1
  br i1 %7001, label %7002, label %7024

7002:                                             ; preds = %6997
  %7003 = load i32, ptr %2293, align 4, !tbaa !5
  %7004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7005 = call i32 @s2n_print_stacktrace(ptr noundef %7004) #10
  %7006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7007 = trunc nuw i8 %7006 to i1
  br i1 %7007, label %7008, label %7012

7008:                                             ; preds = %7002
  %7009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7010 = call i32 @fileno(ptr noundef %7009) #10
  %7011 = call i32 @isatty(i32 noundef %7010) #10
  %.not1809 = icmp eq i32 %7011, 0
  br i1 %.not1809, label %7012, label %7013

7012:                                             ; preds = %7008, %7002
  br label %7013

7013:                                             ; preds = %7008, %7012
  %.str.66.sink4414 = phi ptr [ @.str.66, %7012 ], [ @.str.63, %7008 ]
  store i32 %7003, ptr %2293, align 4, !tbaa !5
  %7014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7015 = load i32, ptr @test_count, align 4, !tbaa !5
  %7016 = load i32, ptr %2239, align 4, !tbaa !5
  %7017 = call ptr @s2n_strerror(i32 noundef %7016, ptr noundef nonnull @.str.65) #10
  %7018 = load i32, ptr %2239, align 4, !tbaa !5
  %7019 = call ptr @s2n_strerror_debug(i32 noundef %7018, ptr noundef nonnull @.str.65) #10
  %7020 = load i32, ptr %2293, align 4, !tbaa !5
  %7021 = call ptr @strerror(i32 noundef %7020) #10
  %7022 = load i32, ptr %2293, align 4, !tbaa !5
  %7023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7014, ptr noundef nonnull %.str.66.sink4414, i32 noundef %7015, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.62, i32 noundef 742, ptr noundef %7017, ptr noundef %7019, ptr noundef %7021, i32 noundef %7022) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7024:                                             ; preds = %6997
  %7025 = load i32, ptr @test_count, align 4, !tbaa !5
  %7026 = add nsw i32 %7025, 1
  store i32 %7026, ptr @test_count, align 4, !tbaa !5
  %7027 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %6618, ptr noundef nonnull %6591) #10
  %7028 = icmp eq i32 %7027, -1
  br i1 %7028, label %7029, label %7051

7029:                                             ; preds = %7024
  %7030 = load i32, ptr %2293, align 4, !tbaa !5
  %7031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7032 = call i32 @s2n_print_stacktrace(ptr noundef %7031) #10
  %7033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7034 = trunc nuw i8 %7033 to i1
  br i1 %7034, label %7035, label %7039

7035:                                             ; preds = %7029
  %7036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7037 = call i32 @fileno(ptr noundef %7036) #10
  %7038 = call i32 @isatty(i32 noundef %7037) #10
  %.not1808 = icmp eq i32 %7038, 0
  br i1 %.not1808, label %7039, label %7040

7039:                                             ; preds = %7035, %7029
  br label %7040

7040:                                             ; preds = %7035, %7039
  %.str.66.sink4423 = phi ptr [ @.str.66, %7039 ], [ @.str.63, %7035 ]
  store i32 %7030, ptr %2293, align 4, !tbaa !5
  %7041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7042 = load i32, ptr @test_count, align 4, !tbaa !5
  %7043 = load i32, ptr %2239, align 4, !tbaa !5
  %7044 = call ptr @s2n_strerror(i32 noundef %7043, ptr noundef nonnull @.str.65) #10
  %7045 = load i32, ptr %2239, align 4, !tbaa !5
  %7046 = call ptr @s2n_strerror_debug(i32 noundef %7045, ptr noundef nonnull @.str.65) #10
  %7047 = load i32, ptr %2293, align 4, !tbaa !5
  %7048 = call ptr @strerror(i32 noundef %7047) #10
  %7049 = load i32, ptr %2293, align 4, !tbaa !5
  %7050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7041, ptr noundef nonnull %.str.66.sink4423, i32 noundef %7042, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 743, ptr noundef %7044, ptr noundef %7046, ptr noundef %7048, i32 noundef %7049) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7051:                                             ; preds = %7024
  %7052 = load i32, ptr @test_count, align 4, !tbaa !5
  %7053 = add nsw i32 %7052, 1
  store i32 %7053, ptr @test_count, align 4, !tbaa !5
  %7054 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %6618, i16 noundef zeroext 1)
  %7055 = call zeroext i1 @s2n_result_is_ok(i32 %7054)
  br i1 %7055, label %7078, label %7056

7056:                                             ; preds = %7051
  %7057 = load i32, ptr %2293, align 4, !tbaa !5
  %7058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7059 = call i32 @s2n_print_stacktrace(ptr noundef %7058) #10
  %7060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7061 = trunc nuw i8 %7060 to i1
  br i1 %7061, label %7062, label %7066

7062:                                             ; preds = %7056
  %7063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7064 = call i32 @fileno(ptr noundef %7063) #10
  %7065 = call i32 @isatty(i32 noundef %7064) #10
  %.not1579 = icmp eq i32 %7065, 0
  br i1 %.not1579, label %7066, label %7067

7066:                                             ; preds = %7062, %7056
  br label %7067

7067:                                             ; preds = %7062, %7066
  %.str.66.sink4432 = phi ptr [ @.str.66, %7066 ], [ @.str.63, %7062 ]
  store i32 %7057, ptr %2293, align 4, !tbaa !5
  %7068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7069 = load i32, ptr @test_count, align 4, !tbaa !5
  %7070 = load i32, ptr %2239, align 4, !tbaa !5
  %7071 = call ptr @s2n_strerror(i32 noundef %7070, ptr noundef nonnull @.str.65) #10
  %7072 = load i32, ptr %2239, align 4, !tbaa !5
  %7073 = call ptr @s2n_strerror_debug(i32 noundef %7072, ptr noundef nonnull @.str.65) #10
  %7074 = load i32, ptr %2293, align 4, !tbaa !5
  %7075 = call ptr @strerror(i32 noundef %7074) #10
  %7076 = load i32, ptr %2293, align 4, !tbaa !5
  %7077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7068, ptr noundef nonnull %.str.66.sink4432, i32 noundef %7069, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.62, i32 noundef 744, ptr noundef %7071, ptr noundef %7073, ptr noundef %7075, i32 noundef %7076) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7078:                                             ; preds = %7051
  %7079 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  %7080 = load i32, ptr @test_count, align 4, !tbaa !5
  %7081 = add nsw i32 %7080, 1
  store i32 %7081, ptr @test_count, align 4, !tbaa !5
  %7082 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %30, i32 noundef %7079) #10
  %7083 = icmp eq i32 %7082, -1
  br i1 %7083, label %7084, label %7106

7084:                                             ; preds = %7078
  %7085 = load i32, ptr %2293, align 4, !tbaa !5
  %7086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7087 = call i32 @s2n_print_stacktrace(ptr noundef %7086) #10
  %7088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7089 = trunc nuw i8 %7088 to i1
  br i1 %7089, label %7090, label %7094

7090:                                             ; preds = %7084
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = call i32 @fileno(ptr noundef %7091) #10
  %7093 = call i32 @isatty(i32 noundef %7092) #10
  %.not1807 = icmp eq i32 %7093, 0
  br i1 %.not1807, label %7094, label %7095

7094:                                             ; preds = %7090, %7084
  br label %7095

7095:                                             ; preds = %7090, %7094
  %.str.66.sink4441 = phi ptr [ @.str.66, %7094 ], [ @.str.63, %7090 ]
  store i32 %7085, ptr %2293, align 4, !tbaa !5
  %7096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7097 = load i32, ptr @test_count, align 4, !tbaa !5
  %7098 = load i32, ptr %2239, align 4, !tbaa !5
  %7099 = call ptr @s2n_strerror(i32 noundef %7098, ptr noundef nonnull @.str.65) #10
  %7100 = load i32, ptr %2239, align 4, !tbaa !5
  %7101 = call ptr @s2n_strerror_debug(i32 noundef %7100, ptr noundef nonnull @.str.65) #10
  %7102 = load i32, ptr %2293, align 4, !tbaa !5
  %7103 = call ptr @strerror(i32 noundef %7102) #10
  %7104 = load i32, ptr %2293, align 4, !tbaa !5
  %7105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7096, ptr noundef nonnull %.str.66.sink4441, i32 noundef %7097, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.62, i32 noundef 746, ptr noundef %7099, ptr noundef %7101, ptr noundef %7103, i32 noundef %7104) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7106:                                             ; preds = %7078
  %7107 = load i32, ptr @test_count, align 4, !tbaa !5
  %7108 = add nsw i32 %7107, 1
  store i32 %7108, ptr @test_count, align 4, !tbaa !5
  %7109 = load ptr, ptr %30, align 8, !tbaa !24
  %7110 = sext i32 %7079 to i64
  %7111 = call i32 @s2n_connection_get_session(ptr noundef nonnull %6591, ptr noundef %7109, i64 noundef %7110)
  %7112 = icmp eq i32 %7111, -1
  br i1 %7112, label %7113, label %7135

7113:                                             ; preds = %7106
  %7114 = load i32, ptr %2293, align 4, !tbaa !5
  %7115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7116 = call i32 @s2n_print_stacktrace(ptr noundef %7115) #10
  %7117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7118 = trunc nuw i8 %7117 to i1
  br i1 %7118, label %7119, label %7123

7119:                                             ; preds = %7113
  %7120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7121 = call i32 @fileno(ptr noundef %7120) #10
  %7122 = call i32 @isatty(i32 noundef %7121) #10
  %.not1806 = icmp eq i32 %7122, 0
  br i1 %.not1806, label %7123, label %7124

7123:                                             ; preds = %7119, %7113
  br label %7124

7124:                                             ; preds = %7119, %7123
  %.str.66.sink4450 = phi ptr [ @.str.66, %7123 ], [ @.str.63, %7119 ]
  store i32 %7114, ptr %2293, align 4, !tbaa !5
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = load i32, ptr @test_count, align 4, !tbaa !5
  %7127 = load i32, ptr %2239, align 4, !tbaa !5
  %7128 = call ptr @s2n_strerror(i32 noundef %7127, ptr noundef nonnull @.str.65) #10
  %7129 = load i32, ptr %2239, align 4, !tbaa !5
  %7130 = call ptr @s2n_strerror_debug(i32 noundef %7129, ptr noundef nonnull @.str.65) #10
  %7131 = load i32, ptr %2293, align 4, !tbaa !5
  %7132 = call ptr @strerror(i32 noundef %7131) #10
  %7133 = load i32, ptr %2293, align 4, !tbaa !5
  %7134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7125, ptr noundef nonnull %.str.66.sink4450, i32 noundef %7126, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.62, i32 noundef 747, ptr noundef %7128, ptr noundef %7130, ptr noundef %7132, i32 noundef %7133) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7135:                                             ; preds = %7106
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %32, i8 0, i64 24, i1 false)
  %7136 = getelementptr inbounds i8, ptr %30, i64 28
  %7137 = getelementptr inbounds i8, ptr %30, i64 24
  %7138 = load i32, ptr @test_count, align 4, !tbaa !5
  %7139 = add nsw i32 %7138, 1
  store i32 %7139, ptr @test_count, align 4, !tbaa !5
  %7140 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6591) #10
  %7141 = icmp eq i32 %7140, -1
  br i1 %7141, label %7142, label %7164

7142:                                             ; preds = %7493, %7135
  %7143 = load i32, ptr %2293, align 4, !tbaa !5
  %7144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7145 = call i32 @s2n_print_stacktrace(ptr noundef %7144) #10
  %7146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7147 = trunc nuw i8 %7146 to i1
  br i1 %7147, label %7148, label %7152

7148:                                             ; preds = %7142
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = call i32 @fileno(ptr noundef %7149) #10
  %7151 = call i32 @isatty(i32 noundef %7150) #10
  %.not1805 = icmp eq i32 %7151, 0
  br i1 %.not1805, label %7152, label %7153

7152:                                             ; preds = %7148, %7142
  br label %7153

7153:                                             ; preds = %7148, %7152
  %.str.66.sink4459 = phi ptr [ @.str.66, %7152 ], [ @.str.63, %7148 ]
  store i32 %7143, ptr %2293, align 4, !tbaa !5
  %7154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7155 = load i32, ptr @test_count, align 4, !tbaa !5
  %7156 = load i32, ptr %2239, align 4, !tbaa !5
  %7157 = call ptr @s2n_strerror(i32 noundef %7156, ptr noundef nonnull @.str.65) #10
  %7158 = load i32, ptr %2239, align 4, !tbaa !5
  %7159 = call ptr @s2n_strerror_debug(i32 noundef %7158, ptr noundef nonnull @.str.65) #10
  %7160 = load i32, ptr %2293, align 4, !tbaa !5
  %7161 = call ptr @strerror(i32 noundef %7160) #10
  %7162 = load i32, ptr %2293, align 4, !tbaa !5
  %7163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7154, ptr noundef nonnull %.str.66.sink4459, i32 noundef %7155, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 758, ptr noundef %7157, ptr noundef %7159, ptr noundef %7161, i32 noundef %7162) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7164:                                             ; preds = %7135
  %7165 = load i32, ptr @test_count, align 4, !tbaa !5
  %7166 = add nsw i32 %7165, 1
  store i32 %7166, ptr @test_count, align 4, !tbaa !5
  %7167 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6618) #10
  %7168 = icmp eq i32 %7167, -1
  br i1 %7168, label %7169, label %7191

7169:                                             ; preds = %7498, %7164
  %7170 = load i32, ptr %2293, align 4, !tbaa !5
  %7171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7172 = call i32 @s2n_print_stacktrace(ptr noundef %7171) #10
  %7173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7174 = trunc nuw i8 %7173 to i1
  br i1 %7174, label %7175, label %7179

7175:                                             ; preds = %7169
  %7176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7177 = call i32 @fileno(ptr noundef %7176) #10
  %7178 = call i32 @isatty(i32 noundef %7177) #10
  %.not1804 = icmp eq i32 %7178, 0
  br i1 %.not1804, label %7179, label %7180

7179:                                             ; preds = %7175, %7169
  br label %7180

7180:                                             ; preds = %7175, %7179
  %.str.66.sink4468 = phi ptr [ @.str.66, %7179 ], [ @.str.63, %7175 ]
  store i32 %7170, ptr %2293, align 4, !tbaa !5
  %7181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7182 = load i32, ptr @test_count, align 4, !tbaa !5
  %7183 = load i32, ptr %2239, align 4, !tbaa !5
  %7184 = call ptr @s2n_strerror(i32 noundef %7183, ptr noundef nonnull @.str.65) #10
  %7185 = load i32, ptr %2239, align 4, !tbaa !5
  %7186 = call ptr @s2n_strerror_debug(i32 noundef %7185, ptr noundef nonnull @.str.65) #10
  %7187 = load i32, ptr %2293, align 4, !tbaa !5
  %7188 = call ptr @strerror(i32 noundef %7187) #10
  %7189 = load i32, ptr %2293, align 4, !tbaa !5
  %7190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7181, ptr noundef nonnull %.str.66.sink4468, i32 noundef %7182, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 759, ptr noundef %7184, ptr noundef %7186, ptr noundef %7188, i32 noundef %7189) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7191:                                             ; preds = %7164
  %7192 = load i32, ptr @test_count, align 4, !tbaa !5
  %7193 = add nsw i32 %7192, 1
  store i32 %7193, ptr @test_count, align 4, !tbaa !5
  %7194 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6591, ptr noundef nonnull %6618, ptr noundef nonnull %29) #10
  %7195 = icmp eq i32 %7194, -1
  br i1 %7195, label %7196, label %7218

7196:                                             ; preds = %7503, %7191
  %7197 = load i32, ptr %2293, align 4, !tbaa !5
  %7198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7199 = call i32 @s2n_print_stacktrace(ptr noundef %7198) #10
  %7200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7201 = trunc nuw i8 %7200 to i1
  br i1 %7201, label %7202, label %7206

7202:                                             ; preds = %7196
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = call i32 @fileno(ptr noundef %7203) #10
  %7205 = call i32 @isatty(i32 noundef %7204) #10
  %.not1803 = icmp eq i32 %7205, 0
  br i1 %.not1803, label %7206, label %7207

7206:                                             ; preds = %7202, %7196
  br label %7207

7207:                                             ; preds = %7202, %7206
  %.str.66.sink4477 = phi ptr [ @.str.66, %7206 ], [ @.str.63, %7202 ]
  store i32 %7197, ptr %2293, align 4, !tbaa !5
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = load i32, ptr @test_count, align 4, !tbaa !5
  %7210 = load i32, ptr %2239, align 4, !tbaa !5
  %7211 = call ptr @s2n_strerror(i32 noundef %7210, ptr noundef nonnull @.str.65) #10
  %7212 = load i32, ptr %2239, align 4, !tbaa !5
  %7213 = call ptr @s2n_strerror_debug(i32 noundef %7212, ptr noundef nonnull @.str.65) #10
  %7214 = load i32, ptr %2293, align 4, !tbaa !5
  %7215 = call ptr @strerror(i32 noundef %7214) #10
  %7216 = load i32, ptr %2293, align 4, !tbaa !5
  %7217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7208, ptr noundef nonnull %.str.66.sink4477, i32 noundef %7209, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 760, ptr noundef %7211, ptr noundef %7213, ptr noundef %7215, i32 noundef %7216) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7218:                                             ; preds = %7191
  %7219 = load i32, ptr @test_count, align 4, !tbaa !5
  %7220 = add nsw i32 %7219, 1
  store i32 %7220, ptr @test_count, align 4, !tbaa !5
  %7221 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6591, ptr noundef nonnull %804) #10
  %7222 = icmp eq i32 %7221, -1
  br i1 %7222, label %7223, label %7245

7223:                                             ; preds = %7508, %7218
  %7224 = load i32, ptr %2293, align 4, !tbaa !5
  %7225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7226 = call i32 @s2n_print_stacktrace(ptr noundef %7225) #10
  %7227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7228 = trunc nuw i8 %7227 to i1
  br i1 %7228, label %7229, label %7233

7229:                                             ; preds = %7223
  %7230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7231 = call i32 @fileno(ptr noundef %7230) #10
  %7232 = call i32 @isatty(i32 noundef %7231) #10
  %.not1802 = icmp eq i32 %7232, 0
  br i1 %.not1802, label %7233, label %7234

7233:                                             ; preds = %7229, %7223
  br label %7234

7234:                                             ; preds = %7229, %7233
  %.str.66.sink4486 = phi ptr [ @.str.66, %7233 ], [ @.str.63, %7229 ]
  store i32 %7224, ptr %2293, align 4, !tbaa !5
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = load i32, ptr @test_count, align 4, !tbaa !5
  %7237 = load i32, ptr %2239, align 4, !tbaa !5
  %7238 = call ptr @s2n_strerror(i32 noundef %7237, ptr noundef nonnull @.str.65) #10
  %7239 = load i32, ptr %2239, align 4, !tbaa !5
  %7240 = call ptr @s2n_strerror_debug(i32 noundef %7239, ptr noundef nonnull @.str.65) #10
  %7241 = load i32, ptr %2293, align 4, !tbaa !5
  %7242 = call ptr @strerror(i32 noundef %7241) #10
  %7243 = load i32, ptr %2293, align 4, !tbaa !5
  %7244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7235, ptr noundef nonnull %.str.66.sink4486, i32 noundef %7236, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.62, i32 noundef 762, ptr noundef %7238, ptr noundef %7240, ptr noundef %7242, i32 noundef %7243) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7245:                                             ; preds = %7218
  %7246 = load i32, ptr @test_count, align 4, !tbaa !5
  %7247 = add nsw i32 %7246, 1
  store i32 %7247, ptr @test_count, align 4, !tbaa !5
  %7248 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6618, ptr noundef nonnull %428) #10
  %7249 = icmp eq i32 %7248, -1
  br i1 %7249, label %7250, label %7272

7250:                                             ; preds = %7513, %7245
  %7251 = load i32, ptr %2293, align 4, !tbaa !5
  %7252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7253 = call i32 @s2n_print_stacktrace(ptr noundef %7252) #10
  %7254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7255 = trunc nuw i8 %7254 to i1
  br i1 %7255, label %7256, label %7260

7256:                                             ; preds = %7250
  %7257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7258 = call i32 @fileno(ptr noundef %7257) #10
  %7259 = call i32 @isatty(i32 noundef %7258) #10
  %.not1801 = icmp eq i32 %7259, 0
  br i1 %.not1801, label %7260, label %7261

7260:                                             ; preds = %7256, %7250
  br label %7261

7261:                                             ; preds = %7256, %7260
  %.str.66.sink4495 = phi ptr [ @.str.66, %7260 ], [ @.str.63, %7256 ]
  store i32 %7251, ptr %2293, align 4, !tbaa !5
  %7262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7263 = load i32, ptr @test_count, align 4, !tbaa !5
  %7264 = load i32, ptr %2239, align 4, !tbaa !5
  %7265 = call ptr @s2n_strerror(i32 noundef %7264, ptr noundef nonnull @.str.65) #10
  %7266 = load i32, ptr %2239, align 4, !tbaa !5
  %7267 = call ptr @s2n_strerror_debug(i32 noundef %7266, ptr noundef nonnull @.str.65) #10
  %7268 = load i32, ptr %2293, align 4, !tbaa !5
  %7269 = call ptr @strerror(i32 noundef %7268) #10
  %7270 = load i32, ptr %2293, align 4, !tbaa !5
  %7271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7262, ptr noundef nonnull %.str.66.sink4495, i32 noundef %7263, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.62, i32 noundef 763, ptr noundef %7265, ptr noundef %7267, ptr noundef %7269, i32 noundef %7270) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7272:                                             ; preds = %7245
  %7273 = load i32, ptr @test_count, align 4, !tbaa !5
  %7274 = add nsw i32 %7273, 1
  store i32 %7274, ptr @test_count, align 4, !tbaa !5
  %7275 = load ptr, ptr %30, align 8, !tbaa !24
  %7276 = load i32, ptr %7136, align 4, !tbaa !20
  %7277 = load i32, ptr %7137, align 8, !tbaa !23
  %7278 = sub i32 %7276, %7277
  %7279 = zext i32 %7278 to i64
  %7280 = call i32 @s2n_connection_set_session(ptr noundef nonnull %6591, ptr noundef %7275, i64 noundef %7279)
  %7281 = icmp eq i32 %7280, -1
  br i1 %7281, label %7282, label %7304

7282:                                             ; preds = %7518, %7272
  %7283 = load i32, ptr %2293, align 4, !tbaa !5
  %7284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7285 = call i32 @s2n_print_stacktrace(ptr noundef %7284) #10
  %7286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7287 = trunc nuw i8 %7286 to i1
  br i1 %7287, label %7288, label %7292

7288:                                             ; preds = %7282
  %7289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7290 = call i32 @fileno(ptr noundef %7289) #10
  %7291 = call i32 @isatty(i32 noundef %7290) #10
  %.not1800 = icmp eq i32 %7291, 0
  br i1 %.not1800, label %7292, label %7293

7292:                                             ; preds = %7288, %7282
  br label %7293

7293:                                             ; preds = %7288, %7292
  %.str.66.sink4504 = phi ptr [ @.str.66, %7292 ], [ @.str.63, %7288 ]
  store i32 %7283, ptr %2293, align 4, !tbaa !5
  %7294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7295 = load i32, ptr @test_count, align 4, !tbaa !5
  %7296 = load i32, ptr %2239, align 4, !tbaa !5
  %7297 = call ptr @s2n_strerror(i32 noundef %7296, ptr noundef nonnull @.str.65) #10
  %7298 = load i32, ptr %2239, align 4, !tbaa !5
  %7299 = call ptr @s2n_strerror_debug(i32 noundef %7298, ptr noundef nonnull @.str.65) #10
  %7300 = load i32, ptr %2293, align 4, !tbaa !5
  %7301 = call ptr @strerror(i32 noundef %7300) #10
  %7302 = load i32, ptr %2293, align 4, !tbaa !5
  %7303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7294, ptr noundef nonnull %.str.66.sink4504, i32 noundef %7295, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.62, i32 noundef 766, ptr noundef %7297, ptr noundef %7299, ptr noundef %7301, i32 noundef %7302) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7304:                                             ; preds = %7272
  %7305 = load i32, ptr @test_count, align 4, !tbaa !5
  %7306 = add nsw i32 %7305, 1
  store i32 %7306, ptr @test_count, align 4, !tbaa !5
  %7307 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %6618, i16 noundef zeroext 0)
  %7308 = call zeroext i1 @s2n_result_is_ok(i32 %7307)
  br i1 %7308, label %7331, label %7309

7309:                                             ; preds = %7528, %7304
  %7310 = load i32, ptr %2293, align 4, !tbaa !5
  %7311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7312 = call i32 @s2n_print_stacktrace(ptr noundef %7311) #10
  %7313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7314 = trunc nuw i8 %7313 to i1
  br i1 %7314, label %7315, label %7319

7315:                                             ; preds = %7309
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = call i32 @fileno(ptr noundef %7316) #10
  %7318 = call i32 @isatty(i32 noundef %7317) #10
  %.not1792 = icmp eq i32 %7318, 0
  br i1 %.not1792, label %7319, label %7320

7319:                                             ; preds = %7315, %7309
  br label %7320

7320:                                             ; preds = %7315, %7319
  %.str.66.sink4513 = phi ptr [ @.str.66, %7319 ], [ @.str.63, %7315 ]
  store i32 %7310, ptr %2293, align 4, !tbaa !5
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = load i32, ptr @test_count, align 4, !tbaa !5
  %7323 = load i32, ptr %2239, align 4, !tbaa !5
  %7324 = call ptr @s2n_strerror(i32 noundef %7323, ptr noundef nonnull @.str.65) #10
  %7325 = load i32, ptr %2239, align 4, !tbaa !5
  %7326 = call ptr @s2n_strerror_debug(i32 noundef %7325, ptr noundef nonnull @.str.65) #10
  %7327 = load i32, ptr %2293, align 4, !tbaa !5
  %7328 = call ptr @strerror(i32 noundef %7327) #10
  %7329 = load i32, ptr %2293, align 4, !tbaa !5
  %7330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7321, ptr noundef nonnull %.str.66.sink4513, i32 noundef %7322, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.62, i32 noundef 769, ptr noundef %7324, ptr noundef %7326, ptr noundef %7328, i32 noundef %7329) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7331:                                             ; preds = %7304
  %7332 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  %7333 = load i32, ptr @test_count, align 4, !tbaa !5
  %7334 = add nsw i32 %7333, 1
  store i32 %7334, ptr @test_count, align 4, !tbaa !5
  %.not1793 = icmp eq i32 %7332, 0
  br i1 %.not1793, label %7335, label %7357

7335:                                             ; preds = %7533, %7331
  %7336 = load i32, ptr %2293, align 4, !tbaa !5
  %7337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7338 = call i32 @s2n_print_stacktrace(ptr noundef %7337) #10
  %7339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7340 = trunc nuw i8 %7339 to i1
  br i1 %7340, label %7341, label %7345

7341:                                             ; preds = %7335
  %7342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7343 = call i32 @fileno(ptr noundef %7342) #10
  %7344 = call i32 @isatty(i32 noundef %7343) #10
  %.not1794 = icmp eq i32 %7344, 0
  br i1 %.not1794, label %7345, label %7346

7345:                                             ; preds = %7341, %7335
  br label %7346

7346:                                             ; preds = %7341, %7345
  %.str.66.sink4522 = phi ptr [ @.str.66, %7345 ], [ @.str.63, %7341 ]
  store i32 %7336, ptr %2293, align 4, !tbaa !5
  %7347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7348 = load i32, ptr @test_count, align 4, !tbaa !5
  %7349 = load i32, ptr %2239, align 4, !tbaa !5
  %7350 = call ptr @s2n_strerror(i32 noundef %7349, ptr noundef nonnull @.str.65) #10
  %7351 = load i32, ptr %2239, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror_debug(i32 noundef %7351, ptr noundef nonnull @.str.65) #10
  %7353 = load i32, ptr %2293, align 4, !tbaa !5
  %7354 = call ptr @strerror(i32 noundef %7353) #10
  %7355 = load i32, ptr %2293, align 4, !tbaa !5
  %7356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7347, ptr noundef nonnull %.str.66.sink4522, i32 noundef %7348, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.62, i32 noundef 773, ptr noundef %7350, ptr noundef %7352, ptr noundef %7354, i32 noundef %7355) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7357:                                             ; preds = %7331
  %7358 = add nsw i32 %7333, 2
  store i32 %7358, ptr @test_count, align 4, !tbaa !5
  %7359 = call i32 @s2n_realloc(ptr noundef nonnull %32, i32 noundef %7332) #10
  %7360 = icmp eq i32 %7359, -1
  br i1 %7360, label %7361, label %7383

7361:                                             ; preds = %7537, %7357
  %7362 = load i32, ptr %2293, align 4, !tbaa !5
  %7363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7364 = call i32 @s2n_print_stacktrace(ptr noundef %7363) #10
  %7365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7366 = trunc nuw i8 %7365 to i1
  br i1 %7366, label %7367, label %7371

7367:                                             ; preds = %7361
  %7368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7369 = call i32 @fileno(ptr noundef %7368) #10
  %7370 = call i32 @isatty(i32 noundef %7369) #10
  %.not1799 = icmp eq i32 %7370, 0
  br i1 %.not1799, label %7371, label %7372

7371:                                             ; preds = %7367, %7361
  br label %7372

7372:                                             ; preds = %7367, %7371
  %.str.66.sink4531 = phi ptr [ @.str.66, %7371 ], [ @.str.63, %7367 ]
  store i32 %7362, ptr %2293, align 4, !tbaa !5
  %7373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7374 = load i32, ptr @test_count, align 4, !tbaa !5
  %7375 = load i32, ptr %2239, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror(i32 noundef %7375, ptr noundef nonnull @.str.65) #10
  %7377 = load i32, ptr %2239, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror_debug(i32 noundef %7377, ptr noundef nonnull @.str.65) #10
  %7379 = load i32, ptr %2293, align 4, !tbaa !5
  %7380 = call ptr @strerror(i32 noundef %7379) #10
  %7381 = load i32, ptr %2293, align 4, !tbaa !5
  %7382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7373, ptr noundef nonnull %.str.66.sink4531, i32 noundef %7374, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.62, i32 noundef 775, ptr noundef %7376, ptr noundef %7378, ptr noundef %7380, i32 noundef %7381) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7383:                                             ; preds = %7357
  %7384 = load i32, ptr @test_count, align 4, !tbaa !5
  %7385 = add nsw i32 %7384, 1
  store i32 %7385, ptr @test_count, align 4, !tbaa !5
  %7386 = load ptr, ptr %32, align 8, !tbaa !26
  %7387 = zext i32 %7332 to i64
  %7388 = call i32 @s2n_connection_get_session(ptr noundef nonnull %6591, ptr noundef %7386, i64 noundef %7387)
  %7389 = icmp eq i32 %7388, -1
  br i1 %7389, label %7390, label %7412

7390:                                             ; preds = %7541, %7383
  %7391 = load i32, ptr %2293, align 4, !tbaa !5
  %7392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7393 = call i32 @s2n_print_stacktrace(ptr noundef %7392) #10
  %7394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7395 = trunc nuw i8 %7394 to i1
  br i1 %7395, label %7396, label %7400

7396:                                             ; preds = %7390
  %7397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7398 = call i32 @fileno(ptr noundef %7397) #10
  %7399 = call i32 @isatty(i32 noundef %7398) #10
  %.not1798 = icmp eq i32 %7399, 0
  br i1 %.not1798, label %7400, label %7401

7400:                                             ; preds = %7396, %7390
  br label %7401

7401:                                             ; preds = %7396, %7400
  %.str.66.sink4540 = phi ptr [ @.str.66, %7400 ], [ @.str.63, %7396 ]
  store i32 %7391, ptr %2293, align 4, !tbaa !5
  %7402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7403 = load i32, ptr @test_count, align 4, !tbaa !5
  %7404 = load i32, ptr %2239, align 4, !tbaa !5
  %7405 = call ptr @s2n_strerror(i32 noundef %7404, ptr noundef nonnull @.str.65) #10
  %7406 = load i32, ptr %2239, align 4, !tbaa !5
  %7407 = call ptr @s2n_strerror_debug(i32 noundef %7406, ptr noundef nonnull @.str.65) #10
  %7408 = load i32, ptr %2293, align 4, !tbaa !5
  %7409 = call ptr @strerror(i32 noundef %7408) #10
  %7410 = load i32, ptr %2293, align 4, !tbaa !5
  %7411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7402, ptr noundef nonnull %.str.66.sink4540, i32 noundef %7403, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.62, i32 noundef 778, ptr noundef %7405, ptr noundef %7407, ptr noundef %7409, i32 noundef %7410) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7412:                                             ; preds = %7383
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %33) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %33, i8 0, i64 40, i1 false)
  %7413 = load i32, ptr @test_count, align 4, !tbaa !5
  %7414 = add nsw i32 %7413, 1
  store i32 %7414, ptr @test_count, align 4, !tbaa !5
  %7415 = call i32 @s2n_stuffer_init(ptr noundef nonnull %33, ptr noundef nonnull %32) #10
  %7416 = icmp eq i32 %7415, -1
  br i1 %7416, label %7417, label %7439

7417:                                             ; preds = %7548, %7412
  %7418 = load i32, ptr %2293, align 4, !tbaa !5
  %7419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7420 = call i32 @s2n_print_stacktrace(ptr noundef %7419) #10
  %7421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7422 = trunc nuw i8 %7421 to i1
  br i1 %7422, label %7423, label %7427

7423:                                             ; preds = %7417
  %7424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7425 = call i32 @fileno(ptr noundef %7424) #10
  %7426 = call i32 @isatty(i32 noundef %7425) #10
  %.not1797 = icmp eq i32 %7426, 0
  br i1 %.not1797, label %7427, label %7428

7427:                                             ; preds = %7423, %7417
  br label %7428

7428:                                             ; preds = %7423, %7427
  %.str.66.sink4549 = phi ptr [ @.str.66, %7427 ], [ @.str.63, %7423 ]
  store i32 %7418, ptr %2293, align 4, !tbaa !5
  %7429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7430 = load i32, ptr @test_count, align 4, !tbaa !5
  %7431 = load i32, ptr %2239, align 4, !tbaa !5
  %7432 = call ptr @s2n_strerror(i32 noundef %7431, ptr noundef nonnull @.str.65) #10
  %7433 = load i32, ptr %2239, align 4, !tbaa !5
  %7434 = call ptr @s2n_strerror_debug(i32 noundef %7433, ptr noundef nonnull @.str.65) #10
  %7435 = load i32, ptr %2293, align 4, !tbaa !5
  %7436 = call ptr @strerror(i32 noundef %7435) #10
  %7437 = load i32, ptr %2293, align 4, !tbaa !5
  %7438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7429, ptr noundef nonnull %.str.66.sink4549, i32 noundef %7430, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.62, i32 noundef 782, ptr noundef %7432, ptr noundef %7434, ptr noundef %7436, i32 noundef %7437) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7439:                                             ; preds = %7412
  %7440 = load i32, ptr @test_count, align 4, !tbaa !5
  %7441 = add nsw i32 %7440, 1
  store i32 %7441, ptr @test_count, align 4, !tbaa !5
  %7442 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %33, i32 noundef %7332) #10
  %7443 = icmp eq i32 %7442, -1
  br i1 %7443, label %7444, label %7466

7444:                                             ; preds = %7553, %7439
  %7445 = load i32, ptr %2293, align 4, !tbaa !5
  %7446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7447 = call i32 @s2n_print_stacktrace(ptr noundef %7446) #10
  %7448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7449 = trunc nuw i8 %7448 to i1
  br i1 %7449, label %7450, label %7454

7450:                                             ; preds = %7444
  %7451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7452 = call i32 @fileno(ptr noundef %7451) #10
  %7453 = call i32 @isatty(i32 noundef %7452) #10
  %.not1796 = icmp eq i32 %7453, 0
  br i1 %.not1796, label %7454, label %7455

7454:                                             ; preds = %7450, %7444
  br label %7455

7455:                                             ; preds = %7450, %7454
  %.str.66.sink4558 = phi ptr [ @.str.66, %7454 ], [ @.str.63, %7450 ]
  store i32 %7445, ptr %2293, align 4, !tbaa !5
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = load i32, ptr @test_count, align 4, !tbaa !5
  %7458 = load i32, ptr %2239, align 4, !tbaa !5
  %7459 = call ptr @s2n_strerror(i32 noundef %7458, ptr noundef nonnull @.str.65) #10
  %7460 = load i32, ptr %2239, align 4, !tbaa !5
  %7461 = call ptr @s2n_strerror_debug(i32 noundef %7460, ptr noundef nonnull @.str.65) #10
  %7462 = load i32, ptr %2293, align 4, !tbaa !5
  %7463 = call ptr @strerror(i32 noundef %7462) #10
  %7464 = load i32, ptr %2293, align 4, !tbaa !5
  %7465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7456, ptr noundef nonnull %.str.66.sink4558, i32 noundef %7457, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.62, i32 noundef 783, ptr noundef %7459, ptr noundef %7461, ptr noundef %7463, i32 noundef %7464) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7466:                                             ; preds = %7439
  %7467 = load i32, ptr @test_count, align 4, !tbaa !5
  %7468 = add nsw i32 %7467, 1
  store i32 %7468, ptr @test_count, align 4, !tbaa !5
  %7469 = call i32 @s2n_client_deserialize_resumption_state(ptr noundef nonnull %6591, ptr noundef nonnull %33)
  %7470 = icmp eq i32 %7469, -1
  br i1 %7470, label %7471, label %7493

7471:                                             ; preds = %7558, %7466
  %7472 = load i32, ptr %2293, align 4, !tbaa !5
  %7473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7474 = call i32 @s2n_print_stacktrace(ptr noundef %7473) #10
  %7475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7476 = trunc nuw i8 %7475 to i1
  br i1 %7476, label %7477, label %7481

7477:                                             ; preds = %7471
  %7478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7479 = call i32 @fileno(ptr noundef %7478) #10
  %7480 = call i32 @isatty(i32 noundef %7479) #10
  %.not1795 = icmp eq i32 %7480, 0
  br i1 %.not1795, label %7481, label %7482

7481:                                             ; preds = %7477, %7471
  br label %7482

7482:                                             ; preds = %7477, %7481
  %.str.66.sink4567 = phi ptr [ @.str.66, %7481 ], [ @.str.63, %7477 ]
  store i32 %7472, ptr %2293, align 4, !tbaa !5
  %7483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7484 = load i32, ptr @test_count, align 4, !tbaa !5
  %7485 = load i32, ptr %2239, align 4, !tbaa !5
  %7486 = call ptr @s2n_strerror(i32 noundef %7485, ptr noundef nonnull @.str.65) #10
  %7487 = load i32, ptr %2239, align 4, !tbaa !5
  %7488 = call ptr @s2n_strerror_debug(i32 noundef %7487, ptr noundef nonnull @.str.65) #10
  %7489 = load i32, ptr %2293, align 4, !tbaa !5
  %7490 = call ptr @strerror(i32 noundef %7489) #10
  %7491 = load i32, ptr %2293, align 4, !tbaa !5
  %7492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7483, ptr noundef nonnull %.str.66.sink4567, i32 noundef %7484, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.62, i32 noundef 784, ptr noundef %7486, ptr noundef %7488, ptr noundef %7490, i32 noundef %7491) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7493:                                             ; preds = %7466
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %33) #10
  %7494 = load i32, ptr @test_count, align 4, !tbaa !5
  %7495 = add nsw i32 %7494, 1
  store i32 %7495, ptr @test_count, align 4, !tbaa !5
  %7496 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6591) #10
  %7497 = icmp eq i32 %7496, -1
  br i1 %7497, label %7142, label %7498

7498:                                             ; preds = %7493
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = add nsw i32 %7499, 1
  store i32 %7500, ptr @test_count, align 4, !tbaa !5
  %7501 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6618) #10
  %7502 = icmp eq i32 %7501, -1
  br i1 %7502, label %7169, label %7503

7503:                                             ; preds = %7498
  %7504 = load i32, ptr @test_count, align 4, !tbaa !5
  %7505 = add nsw i32 %7504, 1
  store i32 %7505, ptr @test_count, align 4, !tbaa !5
  %7506 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6591, ptr noundef nonnull %6618, ptr noundef nonnull %29) #10
  %7507 = icmp eq i32 %7506, -1
  br i1 %7507, label %7196, label %7508

7508:                                             ; preds = %7503
  %7509 = load i32, ptr @test_count, align 4, !tbaa !5
  %7510 = add nsw i32 %7509, 1
  store i32 %7510, ptr @test_count, align 4, !tbaa !5
  %7511 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6591, ptr noundef %631) #10
  %7512 = icmp eq i32 %7511, -1
  br i1 %7512, label %7223, label %7513

7513:                                             ; preds = %7508
  %7514 = load i32, ptr @test_count, align 4, !tbaa !5
  %7515 = add nsw i32 %7514, 1
  store i32 %7515, ptr @test_count, align 4, !tbaa !5
  %7516 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6618, ptr noundef nonnull %428) #10
  %7517 = icmp eq i32 %7516, -1
  br i1 %7517, label %7250, label %7518

7518:                                             ; preds = %7513
  %7519 = load i32, ptr @test_count, align 4, !tbaa !5
  %7520 = add nsw i32 %7519, 1
  store i32 %7520, ptr @test_count, align 4, !tbaa !5
  %7521 = load ptr, ptr %30, align 8, !tbaa !24
  %7522 = load i32, ptr %7136, align 4, !tbaa !20
  %7523 = load i32, ptr %7137, align 8, !tbaa !23
  %7524 = sub i32 %7522, %7523
  %7525 = zext i32 %7524 to i64
  %7526 = call i32 @s2n_connection_set_session(ptr noundef nonnull %6591, ptr noundef %7521, i64 noundef %7525)
  %7527 = icmp eq i32 %7526, -1
  br i1 %7527, label %7282, label %7528

7528:                                             ; preds = %7518
  %7529 = load i32, ptr @test_count, align 4, !tbaa !5
  %7530 = add nsw i32 %7529, 1
  store i32 %7530, ptr @test_count, align 4, !tbaa !5
  %7531 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %6618, i16 noundef zeroext 0)
  %7532 = call zeroext i1 @s2n_result_is_ok(i32 %7531)
  br i1 %7532, label %7533, label %7309

7533:                                             ; preds = %7528
  %7534 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  %7535 = load i32, ptr @test_count, align 4, !tbaa !5
  %7536 = add nsw i32 %7535, 1
  store i32 %7536, ptr @test_count, align 4, !tbaa !5
  %.not1793.1 = icmp eq i32 %7534, 0
  br i1 %.not1793.1, label %7335, label %7537

7537:                                             ; preds = %7533
  %7538 = add nsw i32 %7535, 2
  store i32 %7538, ptr @test_count, align 4, !tbaa !5
  %7539 = call i32 @s2n_realloc(ptr noundef nonnull %32, i32 noundef %7534) #10
  %7540 = icmp eq i32 %7539, -1
  br i1 %7540, label %7361, label %7541

7541:                                             ; preds = %7537
  %7542 = load i32, ptr @test_count, align 4, !tbaa !5
  %7543 = add nsw i32 %7542, 1
  store i32 %7543, ptr @test_count, align 4, !tbaa !5
  %7544 = load ptr, ptr %32, align 8, !tbaa !26
  %7545 = zext i32 %7534 to i64
  %7546 = call i32 @s2n_connection_get_session(ptr noundef nonnull %6591, ptr noundef %7544, i64 noundef %7545)
  %7547 = icmp eq i32 %7546, -1
  br i1 %7547, label %7390, label %7548

7548:                                             ; preds = %7541
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %33) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %33, i8 0, i64 40, i1 false)
  %7549 = load i32, ptr @test_count, align 4, !tbaa !5
  %7550 = add nsw i32 %7549, 1
  store i32 %7550, ptr @test_count, align 4, !tbaa !5
  %7551 = call i32 @s2n_stuffer_init(ptr noundef nonnull %33, ptr noundef nonnull %32) #10
  %7552 = icmp eq i32 %7551, -1
  br i1 %7552, label %7417, label %7553

7553:                                             ; preds = %7548
  %7554 = load i32, ptr @test_count, align 4, !tbaa !5
  %7555 = add nsw i32 %7554, 1
  store i32 %7555, ptr @test_count, align 4, !tbaa !5
  %7556 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %33, i32 noundef %7534) #10
  %7557 = icmp eq i32 %7556, -1
  br i1 %7557, label %7444, label %7558

7558:                                             ; preds = %7553
  %7559 = load i32, ptr @test_count, align 4, !tbaa !5
  %7560 = add nsw i32 %7559, 1
  store i32 %7560, ptr @test_count, align 4, !tbaa !5
  %7561 = call i32 @s2n_client_deserialize_resumption_state(ptr noundef nonnull %6591, ptr noundef nonnull %33)
  %7562 = icmp eq i32 %7561, -1
  br i1 %7562, label %7471, label %.preheader2033

.preheader2033:                                   ; preds = %7558
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %33) #10
  %7563 = getelementptr inbounds i8, ptr %31, i64 28
  %7564 = getelementptr inbounds i8, ptr %31, i64 24
  %7565 = getelementptr inbounds i8, ptr %6591, i64 220
  %7566 = load i32, ptr @test_count, align 4, !tbaa !5
  %7567 = add nsw i32 %7566, 1
  store i32 %7567, ptr @test_count, align 4, !tbaa !5
  %7568 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6591) #10
  %7569 = icmp eq i32 %7568, -1
  br i1 %7569, label %7570, label %7592

7570:                                             ; preds = %7894, %.preheader2033
  %7571 = load i32, ptr %2293, align 4, !tbaa !5
  %7572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7573 = call i32 @s2n_print_stacktrace(ptr noundef %7572) #10
  %7574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7575 = trunc nuw i8 %7574 to i1
  br i1 %7575, label %7576, label %7580

7576:                                             ; preds = %7570
  %7577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7578 = call i32 @fileno(ptr noundef %7577) #10
  %7579 = call i32 @isatty(i32 noundef %7578) #10
  %.not1791 = icmp eq i32 %7579, 0
  br i1 %.not1791, label %7580, label %7581

7580:                                             ; preds = %7576, %7570
  br label %7581

7581:                                             ; preds = %7576, %7580
  %.str.66.sink4576 = phi ptr [ @.str.66, %7580 ], [ @.str.63, %7576 ]
  store i32 %7571, ptr %2293, align 4, !tbaa !5
  %7582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7583 = load i32, ptr @test_count, align 4, !tbaa !5
  %7584 = load i32, ptr %2239, align 4, !tbaa !5
  %7585 = call ptr @s2n_strerror(i32 noundef %7584, ptr noundef nonnull @.str.65) #10
  %7586 = load i32, ptr %2239, align 4, !tbaa !5
  %7587 = call ptr @s2n_strerror_debug(i32 noundef %7586, ptr noundef nonnull @.str.65) #10
  %7588 = load i32, ptr %2293, align 4, !tbaa !5
  %7589 = call ptr @strerror(i32 noundef %7588) #10
  %7590 = load i32, ptr %2293, align 4, !tbaa !5
  %7591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7582, ptr noundef nonnull %.str.66.sink4576, i32 noundef %7583, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 792, ptr noundef %7585, ptr noundef %7587, ptr noundef %7589, i32 noundef %7590) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7592:                                             ; preds = %.preheader2033
  %7593 = load i32, ptr @test_count, align 4, !tbaa !5
  %7594 = add nsw i32 %7593, 1
  store i32 %7594, ptr @test_count, align 4, !tbaa !5
  %7595 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6618) #10
  %7596 = icmp eq i32 %7595, -1
  br i1 %7596, label %7597, label %7619

7597:                                             ; preds = %7899, %7592
  %7598 = load i32, ptr %2293, align 4, !tbaa !5
  %7599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7600 = call i32 @s2n_print_stacktrace(ptr noundef %7599) #10
  %7601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7602 = trunc nuw i8 %7601 to i1
  br i1 %7602, label %7603, label %7607

7603:                                             ; preds = %7597
  %7604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7605 = call i32 @fileno(ptr noundef %7604) #10
  %7606 = call i32 @isatty(i32 noundef %7605) #10
  %.not1790 = icmp eq i32 %7606, 0
  br i1 %.not1790, label %7607, label %7608

7607:                                             ; preds = %7603, %7597
  br label %7608

7608:                                             ; preds = %7603, %7607
  %.str.66.sink4585 = phi ptr [ @.str.66, %7607 ], [ @.str.63, %7603 ]
  store i32 %7598, ptr %2293, align 4, !tbaa !5
  %7609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7610 = load i32, ptr @test_count, align 4, !tbaa !5
  %7611 = load i32, ptr %2239, align 4, !tbaa !5
  %7612 = call ptr @s2n_strerror(i32 noundef %7611, ptr noundef nonnull @.str.65) #10
  %7613 = load i32, ptr %2239, align 4, !tbaa !5
  %7614 = call ptr @s2n_strerror_debug(i32 noundef %7613, ptr noundef nonnull @.str.65) #10
  %7615 = load i32, ptr %2293, align 4, !tbaa !5
  %7616 = call ptr @strerror(i32 noundef %7615) #10
  %7617 = load i32, ptr %2293, align 4, !tbaa !5
  %7618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7609, ptr noundef nonnull %.str.66.sink4585, i32 noundef %7610, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 793, ptr noundef %7612, ptr noundef %7614, ptr noundef %7616, i32 noundef %7617) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7619:                                             ; preds = %7592
  %7620 = load i32, ptr @test_count, align 4, !tbaa !5
  %7621 = add nsw i32 %7620, 1
  store i32 %7621, ptr @test_count, align 4, !tbaa !5
  %7622 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6591, ptr noundef nonnull %6618, ptr noundef nonnull %29) #10
  %7623 = icmp eq i32 %7622, -1
  br i1 %7623, label %7624, label %7646

7624:                                             ; preds = %7904, %7619
  %7625 = load i32, ptr %2293, align 4, !tbaa !5
  %7626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7627 = call i32 @s2n_print_stacktrace(ptr noundef %7626) #10
  %7628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7629 = trunc nuw i8 %7628 to i1
  br i1 %7629, label %7630, label %7634

7630:                                             ; preds = %7624
  %7631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7632 = call i32 @fileno(ptr noundef %7631) #10
  %7633 = call i32 @isatty(i32 noundef %7632) #10
  %.not1789 = icmp eq i32 %7633, 0
  br i1 %.not1789, label %7634, label %7635

7634:                                             ; preds = %7630, %7624
  br label %7635

7635:                                             ; preds = %7630, %7634
  %.str.66.sink4594 = phi ptr [ @.str.66, %7634 ], [ @.str.63, %7630 ]
  store i32 %7625, ptr %2293, align 4, !tbaa !5
  %7636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7637 = load i32, ptr @test_count, align 4, !tbaa !5
  %7638 = load i32, ptr %2239, align 4, !tbaa !5
  %7639 = call ptr @s2n_strerror(i32 noundef %7638, ptr noundef nonnull @.str.65) #10
  %7640 = load i32, ptr %2239, align 4, !tbaa !5
  %7641 = call ptr @s2n_strerror_debug(i32 noundef %7640, ptr noundef nonnull @.str.65) #10
  %7642 = load i32, ptr %2293, align 4, !tbaa !5
  %7643 = call ptr @strerror(i32 noundef %7642) #10
  %7644 = load i32, ptr %2293, align 4, !tbaa !5
  %7645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7636, ptr noundef nonnull %.str.66.sink4594, i32 noundef %7637, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 794, ptr noundef %7639, ptr noundef %7641, ptr noundef %7643, i32 noundef %7644) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7646:                                             ; preds = %7619
  %7647 = load i32, ptr @test_count, align 4, !tbaa !5
  %7648 = add nsw i32 %7647, 1
  store i32 %7648, ptr @test_count, align 4, !tbaa !5
  %7649 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6591, ptr noundef nonnull %804) #10
  %7650 = icmp eq i32 %7649, -1
  br i1 %7650, label %7651, label %7673

7651:                                             ; preds = %7909, %7646
  %7652 = load i32, ptr %2293, align 4, !tbaa !5
  %7653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7654 = call i32 @s2n_print_stacktrace(ptr noundef %7653) #10
  %7655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7656 = trunc nuw i8 %7655 to i1
  br i1 %7656, label %7657, label %7661

7657:                                             ; preds = %7651
  %7658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7659 = call i32 @fileno(ptr noundef %7658) #10
  %7660 = call i32 @isatty(i32 noundef %7659) #10
  %.not1788 = icmp eq i32 %7660, 0
  br i1 %.not1788, label %7661, label %7662

7661:                                             ; preds = %7657, %7651
  br label %7662

7662:                                             ; preds = %7657, %7661
  %.str.66.sink4603 = phi ptr [ @.str.66, %7661 ], [ @.str.63, %7657 ]
  store i32 %7652, ptr %2293, align 4, !tbaa !5
  %7663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7664 = load i32, ptr @test_count, align 4, !tbaa !5
  %7665 = load i32, ptr %2239, align 4, !tbaa !5
  %7666 = call ptr @s2n_strerror(i32 noundef %7665, ptr noundef nonnull @.str.65) #10
  %7667 = load i32, ptr %2239, align 4, !tbaa !5
  %7668 = call ptr @s2n_strerror_debug(i32 noundef %7667, ptr noundef nonnull @.str.65) #10
  %7669 = load i32, ptr %2293, align 4, !tbaa !5
  %7670 = call ptr @strerror(i32 noundef %7669) #10
  %7671 = load i32, ptr %2293, align 4, !tbaa !5
  %7672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7663, ptr noundef nonnull %.str.66.sink4603, i32 noundef %7664, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.62, i32 noundef 796, ptr noundef %7666, ptr noundef %7668, ptr noundef %7670, i32 noundef %7671) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7673:                                             ; preds = %7646
  %7674 = load i32, ptr @test_count, align 4, !tbaa !5
  %7675 = add nsw i32 %7674, 1
  store i32 %7675, ptr @test_count, align 4, !tbaa !5
  %7676 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6618, ptr noundef %225) #10
  %7677 = icmp eq i32 %7676, -1
  br i1 %7677, label %7678, label %7700

7678:                                             ; preds = %7914, %7673
  %7679 = load i32, ptr %2293, align 4, !tbaa !5
  %7680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7681 = call i32 @s2n_print_stacktrace(ptr noundef %7680) #10
  %7682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7683 = trunc nuw i8 %7682 to i1
  br i1 %7683, label %7684, label %7688

7684:                                             ; preds = %7678
  %7685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7686 = call i32 @fileno(ptr noundef %7685) #10
  %7687 = call i32 @isatty(i32 noundef %7686) #10
  %.not1787 = icmp eq i32 %7687, 0
  br i1 %.not1787, label %7688, label %7689

7688:                                             ; preds = %7684, %7678
  br label %7689

7689:                                             ; preds = %7684, %7688
  %.str.66.sink4612 = phi ptr [ @.str.66, %7688 ], [ @.str.63, %7684 ]
  store i32 %7679, ptr %2293, align 4, !tbaa !5
  %7690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7691 = load i32, ptr @test_count, align 4, !tbaa !5
  %7692 = load i32, ptr %2239, align 4, !tbaa !5
  %7693 = call ptr @s2n_strerror(i32 noundef %7692, ptr noundef nonnull @.str.65) #10
  %7694 = load i32, ptr %2239, align 4, !tbaa !5
  %7695 = call ptr @s2n_strerror_debug(i32 noundef %7694, ptr noundef nonnull @.str.65) #10
  %7696 = load i32, ptr %2293, align 4, !tbaa !5
  %7697 = call ptr @strerror(i32 noundef %7696) #10
  %7698 = load i32, ptr %2293, align 4, !tbaa !5
  %7699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7690, ptr noundef nonnull %.str.66.sink4612, i32 noundef %7691, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 797, ptr noundef %7693, ptr noundef %7695, ptr noundef %7697, i32 noundef %7698) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7700:                                             ; preds = %7673
  %7701 = load i32, ptr @test_count, align 4, !tbaa !5
  %7702 = add nsw i32 %7701, 1
  store i32 %7702, ptr @test_count, align 4, !tbaa !5
  %7703 = load ptr, ptr %31, align 8, !tbaa !24
  %7704 = load i32, ptr %7563, align 4, !tbaa !20
  %7705 = load i32, ptr %7564, align 8, !tbaa !23
  %7706 = sub i32 %7704, %7705
  %7707 = zext i32 %7706 to i64
  %7708 = call i32 @s2n_connection_set_session(ptr noundef nonnull %6591, ptr noundef %7703, i64 noundef %7707)
  %7709 = icmp eq i32 %7708, -1
  br i1 %7709, label %7710, label %7732

7710:                                             ; preds = %7919, %7700
  %7711 = load i32, ptr %2293, align 4, !tbaa !5
  %7712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7713 = call i32 @s2n_print_stacktrace(ptr noundef %7712) #10
  %7714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7715 = trunc nuw i8 %7714 to i1
  br i1 %7715, label %7716, label %7720

7716:                                             ; preds = %7710
  %7717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7718 = call i32 @fileno(ptr noundef %7717) #10
  %7719 = call i32 @isatty(i32 noundef %7718) #10
  %.not1786 = icmp eq i32 %7719, 0
  br i1 %.not1786, label %7720, label %7721

7720:                                             ; preds = %7716, %7710
  br label %7721

7721:                                             ; preds = %7716, %7720
  %.str.66.sink4621 = phi ptr [ @.str.66, %7720 ], [ @.str.63, %7716 ]
  store i32 %7711, ptr %2293, align 4, !tbaa !5
  %7722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7723 = load i32, ptr @test_count, align 4, !tbaa !5
  %7724 = load i32, ptr %2239, align 4, !tbaa !5
  %7725 = call ptr @s2n_strerror(i32 noundef %7724, ptr noundef nonnull @.str.65) #10
  %7726 = load i32, ptr %2239, align 4, !tbaa !5
  %7727 = call ptr @s2n_strerror_debug(i32 noundef %7726, ptr noundef nonnull @.str.65) #10
  %7728 = load i32, ptr %2293, align 4, !tbaa !5
  %7729 = call ptr @strerror(i32 noundef %7728) #10
  %7730 = load i32, ptr %2293, align 4, !tbaa !5
  %7731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7722, ptr noundef nonnull %.str.66.sink4621, i32 noundef %7723, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.62, i32 noundef 800, ptr noundef %7725, ptr noundef %7727, ptr noundef %7729, i32 noundef %7730) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7732:                                             ; preds = %7700
  %7733 = load i32, ptr @test_count, align 4, !tbaa !5
  %7734 = add nsw i32 %7733, 1
  store i32 %7734, ptr @test_count, align 4, !tbaa !5
  %7735 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  %7736 = icmp eq i32 %7735, 0
  br i1 %7736, label %7759, label %7737

7737:                                             ; preds = %7929, %7732
  %7738 = load i32, ptr %2293, align 4, !tbaa !5
  %7739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7740 = call i32 @s2n_print_stacktrace(ptr noundef %7739) #10
  %7741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7742 = trunc nuw i8 %7741 to i1
  br i1 %7742, label %7743, label %7747

7743:                                             ; preds = %7737
  %7744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7745 = call i32 @fileno(ptr noundef %7744) #10
  %7746 = call i32 @isatty(i32 noundef %7745) #10
  %.not1780 = icmp eq i32 %7746, 0
  br i1 %.not1780, label %7747, label %7748

7747:                                             ; preds = %7743, %7737
  br label %7748

7748:                                             ; preds = %7743, %7747
  %.str.66.sink4630 = phi ptr [ @.str.66, %7747 ], [ @.str.63, %7743 ]
  store i32 %7738, ptr %2293, align 4, !tbaa !5
  %7749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7750 = load i32, ptr @test_count, align 4, !tbaa !5
  %7751 = load i32, ptr %2239, align 4, !tbaa !5
  %7752 = call ptr @s2n_strerror(i32 noundef %7751, ptr noundef nonnull @.str.65) #10
  %7753 = load i32, ptr %2239, align 4, !tbaa !5
  %7754 = call ptr @s2n_strerror_debug(i32 noundef %7753, ptr noundef nonnull @.str.65) #10
  %7755 = load i32, ptr %2293, align 4, !tbaa !5
  %7756 = call ptr @strerror(i32 noundef %7755) #10
  %7757 = load i32, ptr %2293, align 4, !tbaa !5
  %7758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7749, ptr noundef nonnull %.str.66.sink4630, i32 noundef %7750, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.62, i32 noundef 804, ptr noundef %7752, ptr noundef %7754, ptr noundef %7756, i32 noundef %7757) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7759:                                             ; preds = %7732
  %7760 = load i32, ptr @test_count, align 4, !tbaa !5
  %7761 = add nsw i32 %7760, 1
  store i32 %7761, ptr @test_count, align 4, !tbaa !5
  %7762 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %6618, ptr noundef nonnull %6591) #10
  %7763 = icmp eq i32 %7762, -1
  br i1 %7763, label %7764, label %7786

7764:                                             ; preds = %7934, %7759
  %7765 = load i32, ptr %2293, align 4, !tbaa !5
  %7766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7767 = call i32 @s2n_print_stacktrace(ptr noundef %7766) #10
  %7768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7769 = trunc nuw i8 %7768 to i1
  br i1 %7769, label %7770, label %7774

7770:                                             ; preds = %7764
  %7771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7772 = call i32 @fileno(ptr noundef %7771) #10
  %7773 = call i32 @isatty(i32 noundef %7772) #10
  %.not1785 = icmp eq i32 %7773, 0
  br i1 %.not1785, label %7774, label %7775

7774:                                             ; preds = %7770, %7764
  br label %7775

7775:                                             ; preds = %7770, %7774
  %.str.66.sink4639 = phi ptr [ @.str.66, %7774 ], [ @.str.63, %7770 ]
  store i32 %7765, ptr %2293, align 4, !tbaa !5
  %7776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7777 = load i32, ptr @test_count, align 4, !tbaa !5
  %7778 = load i32, ptr %2239, align 4, !tbaa !5
  %7779 = call ptr @s2n_strerror(i32 noundef %7778, ptr noundef nonnull @.str.65) #10
  %7780 = load i32, ptr %2239, align 4, !tbaa !5
  %7781 = call ptr @s2n_strerror_debug(i32 noundef %7780, ptr noundef nonnull @.str.65) #10
  %7782 = load i32, ptr %2293, align 4, !tbaa !5
  %7783 = call ptr @strerror(i32 noundef %7782) #10
  %7784 = load i32, ptr %2293, align 4, !tbaa !5
  %7785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7776, ptr noundef nonnull %.str.66.sink4639, i32 noundef %7777, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 806, ptr noundef %7779, ptr noundef %7781, ptr noundef %7783, i32 noundef %7784) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7786:                                             ; preds = %7759
  %7787 = load i8, ptr %7565, align 4, !tbaa !59
  %7788 = icmp ult i8 %7787, 34
  %7789 = load i32, ptr @test_count, align 4, !tbaa !5
  %7790 = add nsw i32 %7789, 1
  store i32 %7790, ptr @test_count, align 4, !tbaa !5
  %7791 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  br i1 %7788, label %7792, label %7816

7792:                                             ; preds = %7786
  %7793 = icmp sgt i32 %7791, 0
  br i1 %7793, label %7894, label %7794

7794:                                             ; preds = %7957, %7792
  %7795 = load i32, ptr %2293, align 4, !tbaa !5
  %7796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7797 = call i32 @s2n_print_stacktrace(ptr noundef %7796) #10
  %7798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7799 = trunc nuw i8 %7798 to i1
  br i1 %7799, label %7800, label %7804

7800:                                             ; preds = %7794
  %7801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7802 = call i32 @fileno(ptr noundef %7801) #10
  %7803 = call i32 @isatty(i32 noundef %7802) #10
  %.not1784 = icmp eq i32 %7803, 0
  br i1 %.not1784, label %7804, label %7805

7804:                                             ; preds = %7800, %7794
  br label %7805

7805:                                             ; preds = %7800, %7804
  %.str.66.sink4648 = phi ptr [ @.str.66, %7804 ], [ @.str.63, %7800 ]
  store i32 %7795, ptr %2293, align 4, !tbaa !5
  %7806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7807 = load i32, ptr @test_count, align 4, !tbaa !5
  %7808 = load i32, ptr %2239, align 4, !tbaa !5
  %7809 = call ptr @s2n_strerror(i32 noundef %7808, ptr noundef nonnull @.str.65) #10
  %7810 = load i32, ptr %2239, align 4, !tbaa !5
  %7811 = call ptr @s2n_strerror_debug(i32 noundef %7810, ptr noundef nonnull @.str.65) #10
  %7812 = load i32, ptr %2293, align 4, !tbaa !5
  %7813 = call ptr @strerror(i32 noundef %7812) #10
  %7814 = load i32, ptr %2293, align 4, !tbaa !5
  %7815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7806, ptr noundef nonnull %.str.66.sink4648, i32 noundef %7807, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.62, i32 noundef 809, ptr noundef %7809, ptr noundef %7811, ptr noundef %7813, i32 noundef %7814) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7816:                                             ; preds = %7786
  %7817 = icmp eq i32 %7791, 0
  br i1 %7817, label %7840, label %7818

7818:                                             ; preds = %7945, %7816
  %7819 = load i32, ptr %2293, align 4, !tbaa !5
  %7820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7821 = call i32 @s2n_print_stacktrace(ptr noundef %7820) #10
  %7822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7823 = trunc nuw i8 %7822 to i1
  br i1 %7823, label %7824, label %7828

7824:                                             ; preds = %7818
  %7825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7826 = call i32 @fileno(ptr noundef %7825) #10
  %7827 = call i32 @isatty(i32 noundef %7826) #10
  %.not1781 = icmp eq i32 %7827, 0
  br i1 %.not1781, label %7828, label %7829

7828:                                             ; preds = %7824, %7818
  br label %7829

7829:                                             ; preds = %7824, %7828
  %.str.66.sink4657 = phi ptr [ @.str.66, %7828 ], [ @.str.63, %7824 ]
  store i32 %7819, ptr %2293, align 4, !tbaa !5
  %7830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7831 = load i32, ptr @test_count, align 4, !tbaa !5
  %7832 = load i32, ptr %2239, align 4, !tbaa !5
  %7833 = call ptr @s2n_strerror(i32 noundef %7832, ptr noundef nonnull @.str.65) #10
  %7834 = load i32, ptr %2239, align 4, !tbaa !5
  %7835 = call ptr @s2n_strerror_debug(i32 noundef %7834, ptr noundef nonnull @.str.65) #10
  %7836 = load i32, ptr %2293, align 4, !tbaa !5
  %7837 = call ptr @strerror(i32 noundef %7836) #10
  %7838 = load i32, ptr %2293, align 4, !tbaa !5
  %7839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7830, ptr noundef nonnull %.str.66.sink4657, i32 noundef %7831, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.62, i32 noundef 812, ptr noundef %7833, ptr noundef %7835, ptr noundef %7837, i32 noundef %7838) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7840:                                             ; preds = %7816
  %7841 = load i32, ptr @test_count, align 4, !tbaa !5
  %7842 = add nsw i32 %7841, 1
  store i32 %7842, ptr @test_count, align 4, !tbaa !5
  %7843 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %6618, ptr noundef nonnull %6591, ptr noundef nonnull %4)
  %7844 = call zeroext i1 @s2n_result_is_ok(i32 %7843)
  br i1 %7844, label %7867, label %7845

7845:                                             ; preds = %7947, %7840
  %7846 = load i32, ptr %2293, align 4, !tbaa !5
  %7847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7848 = call i32 @s2n_print_stacktrace(ptr noundef %7847) #10
  %7849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7850 = trunc nuw i8 %7849 to i1
  br i1 %7850, label %7851, label %7855

7851:                                             ; preds = %7845
  %7852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7853 = call i32 @fileno(ptr noundef %7852) #10
  %7854 = call i32 @isatty(i32 noundef %7853) #10
  %.not1782 = icmp eq i32 %7854, 0
  br i1 %.not1782, label %7855, label %7856

7855:                                             ; preds = %7851, %7845
  br label %7856

7856:                                             ; preds = %7851, %7855
  %.str.66.sink4666 = phi ptr [ @.str.66, %7855 ], [ @.str.63, %7851 ]
  store i32 %7846, ptr %2293, align 4, !tbaa !5
  %7857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7858 = load i32, ptr @test_count, align 4, !tbaa !5
  %7859 = load i32, ptr %2239, align 4, !tbaa !5
  %7860 = call ptr @s2n_strerror(i32 noundef %7859, ptr noundef nonnull @.str.65) #10
  %7861 = load i32, ptr %2239, align 4, !tbaa !5
  %7862 = call ptr @s2n_strerror_debug(i32 noundef %7861, ptr noundef nonnull @.str.65) #10
  %7863 = load i32, ptr %2293, align 4, !tbaa !5
  %7864 = call ptr @strerror(i32 noundef %7863) #10
  %7865 = load i32, ptr %2293, align 4, !tbaa !5
  %7866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7857, ptr noundef nonnull %.str.66.sink4666, i32 noundef %7858, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.62, i32 noundef 815, ptr noundef %7860, ptr noundef %7862, ptr noundef %7864, i32 noundef %7865) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7867:                                             ; preds = %7840
  %7868 = load i32, ptr @test_count, align 4, !tbaa !5
  %7869 = add nsw i32 %7868, 1
  store i32 %7869, ptr @test_count, align 4, !tbaa !5
  %7870 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  %7871 = icmp sgt i32 %7870, 0
  br i1 %7871, label %7894, label %7872

7872:                                             ; preds = %7952, %7867
  %7873 = load i32, ptr %2293, align 4, !tbaa !5
  %7874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7875 = call i32 @s2n_print_stacktrace(ptr noundef %7874) #10
  %7876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7877 = trunc nuw i8 %7876 to i1
  br i1 %7877, label %7878, label %7882

7878:                                             ; preds = %7872
  %7879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7880 = call i32 @fileno(ptr noundef %7879) #10
  %7881 = call i32 @isatty(i32 noundef %7880) #10
  %.not1783 = icmp eq i32 %7881, 0
  br i1 %.not1783, label %7882, label %7883

7882:                                             ; preds = %7878, %7872
  br label %7883

7883:                                             ; preds = %7878, %7882
  %.str.66.sink4675 = phi ptr [ @.str.66, %7882 ], [ @.str.63, %7878 ]
  store i32 %7873, ptr %2293, align 4, !tbaa !5
  %7884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7885 = load i32, ptr @test_count, align 4, !tbaa !5
  %7886 = load i32, ptr %2239, align 4, !tbaa !5
  %7887 = call ptr @s2n_strerror(i32 noundef %7886, ptr noundef nonnull @.str.65) #10
  %7888 = load i32, ptr %2239, align 4, !tbaa !5
  %7889 = call ptr @s2n_strerror_debug(i32 noundef %7888, ptr noundef nonnull @.str.65) #10
  %7890 = load i32, ptr %2293, align 4, !tbaa !5
  %7891 = call ptr @strerror(i32 noundef %7890) #10
  %7892 = load i32, ptr %2293, align 4, !tbaa !5
  %7893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7884, ptr noundef nonnull %.str.66.sink4675, i32 noundef %7885, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.62, i32 noundef 818, ptr noundef %7887, ptr noundef %7889, ptr noundef %7891, i32 noundef %7892) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7894:                                             ; preds = %7792, %7867
  %7895 = load i32, ptr @test_count, align 4, !tbaa !5
  %7896 = add nsw i32 %7895, 1
  store i32 %7896, ptr @test_count, align 4, !tbaa !5
  %7897 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6591) #10
  %7898 = icmp eq i32 %7897, -1
  br i1 %7898, label %7570, label %7899

7899:                                             ; preds = %7894
  %7900 = load i32, ptr @test_count, align 4, !tbaa !5
  %7901 = add nsw i32 %7900, 1
  store i32 %7901, ptr @test_count, align 4, !tbaa !5
  %7902 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6618) #10
  %7903 = icmp eq i32 %7902, -1
  br i1 %7903, label %7597, label %7904

7904:                                             ; preds = %7899
  %7905 = load i32, ptr @test_count, align 4, !tbaa !5
  %7906 = add nsw i32 %7905, 1
  store i32 %7906, ptr @test_count, align 4, !tbaa !5
  %7907 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6591, ptr noundef nonnull %6618, ptr noundef nonnull %29) #10
  %7908 = icmp eq i32 %7907, -1
  br i1 %7908, label %7624, label %7909

7909:                                             ; preds = %7904
  %7910 = load i32, ptr @test_count, align 4, !tbaa !5
  %7911 = add nsw i32 %7910, 1
  store i32 %7911, ptr @test_count, align 4, !tbaa !5
  %7912 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6591, ptr noundef %631) #10
  %7913 = icmp eq i32 %7912, -1
  br i1 %7913, label %7651, label %7914

7914:                                             ; preds = %7909
  %7915 = load i32, ptr @test_count, align 4, !tbaa !5
  %7916 = add nsw i32 %7915, 1
  store i32 %7916, ptr @test_count, align 4, !tbaa !5
  %7917 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6618, ptr noundef %225) #10
  %7918 = icmp eq i32 %7917, -1
  br i1 %7918, label %7678, label %7919

7919:                                             ; preds = %7914
  %7920 = load i32, ptr @test_count, align 4, !tbaa !5
  %7921 = add nsw i32 %7920, 1
  store i32 %7921, ptr @test_count, align 4, !tbaa !5
  %7922 = load ptr, ptr %31, align 8, !tbaa !24
  %7923 = load i32, ptr %7563, align 4, !tbaa !20
  %7924 = load i32, ptr %7564, align 8, !tbaa !23
  %7925 = sub i32 %7923, %7924
  %7926 = zext i32 %7925 to i64
  %7927 = call i32 @s2n_connection_set_session(ptr noundef nonnull %6591, ptr noundef %7922, i64 noundef %7926)
  %7928 = icmp eq i32 %7927, -1
  br i1 %7928, label %7710, label %7929

7929:                                             ; preds = %7919
  %7930 = load i32, ptr @test_count, align 4, !tbaa !5
  %7931 = add nsw i32 %7930, 1
  store i32 %7931, ptr @test_count, align 4, !tbaa !5
  %7932 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  %7933 = icmp eq i32 %7932, 0
  br i1 %7933, label %7934, label %7737

7934:                                             ; preds = %7929
  %7935 = load i32, ptr @test_count, align 4, !tbaa !5
  %7936 = add nsw i32 %7935, 1
  store i32 %7936, ptr @test_count, align 4, !tbaa !5
  %7937 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %6618, ptr noundef nonnull %6591) #10
  %7938 = icmp eq i32 %7937, -1
  br i1 %7938, label %7764, label %7939

7939:                                             ; preds = %7934
  %7940 = load i8, ptr %7565, align 4, !tbaa !59
  %7941 = icmp ult i8 %7940, 34
  %7942 = load i32, ptr @test_count, align 4, !tbaa !5
  %7943 = add nsw i32 %7942, 1
  store i32 %7943, ptr @test_count, align 4, !tbaa !5
  %7944 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  br i1 %7941, label %7957, label %7945

7945:                                             ; preds = %7939
  %7946 = icmp eq i32 %7944, 0
  br i1 %7946, label %7947, label %7818

7947:                                             ; preds = %7945
  %7948 = load i32, ptr @test_count, align 4, !tbaa !5
  %7949 = add nsw i32 %7948, 1
  store i32 %7949, ptr @test_count, align 4, !tbaa !5
  %7950 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %6618, ptr noundef nonnull %6591, ptr noundef nonnull %4)
  %7951 = call zeroext i1 @s2n_result_is_ok(i32 %7950)
  br i1 %7951, label %7952, label %7845

7952:                                             ; preds = %7947
  %7953 = load i32, ptr @test_count, align 4, !tbaa !5
  %7954 = add nsw i32 %7953, 1
  store i32 %7954, ptr @test_count, align 4, !tbaa !5
  %7955 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %6591)
  %7956 = icmp sgt i32 %7955, 0
  br i1 %7956, label %7959, label %7872

7957:                                             ; preds = %7939
  %7958 = icmp sgt i32 %7944, 0
  br i1 %7958, label %7959, label %7794

7959:                                             ; preds = %7957, %7952
  %7960 = load i32, ptr @test_count, align 4, !tbaa !5
  %7961 = add nsw i32 %7960, 1
  store i32 %7961, ptr @test_count, align 4, !tbaa !5
  %7962 = call i32 @s2n_io_pair_close(ptr noundef nonnull %29) #10
  %7963 = icmp eq i32 %7962, -1
  br i1 %7963, label %7964, label %7986

7964:                                             ; preds = %7959
  %7965 = load i32, ptr %2293, align 4, !tbaa !5
  %7966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7967 = call i32 @s2n_print_stacktrace(ptr noundef %7966) #10
  %7968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7969 = trunc nuw i8 %7968 to i1
  br i1 %7969, label %7970, label %7974

7970:                                             ; preds = %7964
  %7971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7972 = call i32 @fileno(ptr noundef %7971) #10
  %7973 = call i32 @isatty(i32 noundef %7972) #10
  %.not1779 = icmp eq i32 %7973, 0
  br i1 %.not1779, label %7974, label %7975

7974:                                             ; preds = %7970, %7964
  br label %7975

7975:                                             ; preds = %7970, %7974
  %.str.66.sink4684 = phi ptr [ @.str.66, %7974 ], [ @.str.63, %7970 ]
  store i32 %7965, ptr %2293, align 4, !tbaa !5
  %7976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7977 = load i32, ptr @test_count, align 4, !tbaa !5
  %7978 = load i32, ptr %2239, align 4, !tbaa !5
  %7979 = call ptr @s2n_strerror(i32 noundef %7978, ptr noundef nonnull @.str.65) #10
  %7980 = load i32, ptr %2239, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror_debug(i32 noundef %7980, ptr noundef nonnull @.str.65) #10
  %7982 = load i32, ptr %2293, align 4, !tbaa !5
  %7983 = call ptr @strerror(i32 noundef %7982) #10
  %7984 = load i32, ptr %2293, align 4, !tbaa !5
  %7985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7976, ptr noundef nonnull %.str.66.sink4684, i32 noundef %7977, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 821, ptr noundef %7979, ptr noundef %7981, ptr noundef %7983, i32 noundef %7984) #12
  call void @exit(i32 noundef 1) #13
  unreachable

7986:                                             ; preds = %7959
  %7987 = load i32, ptr @test_count, align 4, !tbaa !5
  %7988 = add nsw i32 %7987, 1
  store i32 %7988, ptr @test_count, align 4, !tbaa !5
  %7989 = call i32 @s2n_connection_free(ptr noundef nonnull %6618) #10
  %7990 = icmp eq i32 %7989, -1
  br i1 %7990, label %7991, label %8013

7991:                                             ; preds = %7986
  %7992 = load i32, ptr %2293, align 4, !tbaa !5
  %7993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7994 = call i32 @s2n_print_stacktrace(ptr noundef %7993) #10
  %7995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7996 = trunc nuw i8 %7995 to i1
  br i1 %7996, label %7997, label %8001

7997:                                             ; preds = %7991
  %7998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7999 = call i32 @fileno(ptr noundef %7998) #10
  %8000 = call i32 @isatty(i32 noundef %7999) #10
  %.not1778 = icmp eq i32 %8000, 0
  br i1 %.not1778, label %8001, label %8002

8001:                                             ; preds = %7997, %7991
  br label %8002

8002:                                             ; preds = %7997, %8001
  %.str.66.sink4693 = phi ptr [ @.str.66, %8001 ], [ @.str.63, %7997 ]
  store i32 %7992, ptr %2293, align 4, !tbaa !5
  %8003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8004 = load i32, ptr @test_count, align 4, !tbaa !5
  %8005 = load i32, ptr %2239, align 4, !tbaa !5
  %8006 = call ptr @s2n_strerror(i32 noundef %8005, ptr noundef nonnull @.str.65) #10
  %8007 = load i32, ptr %2239, align 4, !tbaa !5
  %8008 = call ptr @s2n_strerror_debug(i32 noundef %8007, ptr noundef nonnull @.str.65) #10
  %8009 = load i32, ptr %2293, align 4, !tbaa !5
  %8010 = call ptr @strerror(i32 noundef %8009) #10
  %8011 = load i32, ptr %2293, align 4, !tbaa !5
  %8012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8003, ptr noundef nonnull %.str.66.sink4693, i32 noundef %8004, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 822, ptr noundef %8006, ptr noundef %8008, ptr noundef %8010, i32 noundef %8011) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8013:                                             ; preds = %7986
  %8014 = load i32, ptr @test_count, align 4, !tbaa !5
  %8015 = add nsw i32 %8014, 1
  store i32 %8015, ptr @test_count, align 4, !tbaa !5
  %8016 = call i32 @s2n_connection_free(ptr noundef nonnull %6591) #10
  %8017 = icmp eq i32 %8016, -1
  br i1 %8017, label %8018, label %8040

8018:                                             ; preds = %8013
  %8019 = load i32, ptr %2293, align 4, !tbaa !5
  %8020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8021 = call i32 @s2n_print_stacktrace(ptr noundef %8020) #10
  %8022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8023 = trunc nuw i8 %8022 to i1
  br i1 %8023, label %8024, label %8028

8024:                                             ; preds = %8018
  %8025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8026 = call i32 @fileno(ptr noundef %8025) #10
  %8027 = call i32 @isatty(i32 noundef %8026) #10
  %.not1777 = icmp eq i32 %8027, 0
  br i1 %.not1777, label %8028, label %8029

8028:                                             ; preds = %8024, %8018
  br label %8029

8029:                                             ; preds = %8024, %8028
  %.str.66.sink4702 = phi ptr [ @.str.66, %8028 ], [ @.str.63, %8024 ]
  store i32 %8019, ptr %2293, align 4, !tbaa !5
  %8030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8031 = load i32, ptr @test_count, align 4, !tbaa !5
  %8032 = load i32, ptr %2239, align 4, !tbaa !5
  %8033 = call ptr @s2n_strerror(i32 noundef %8032, ptr noundef nonnull @.str.65) #10
  %8034 = load i32, ptr %2239, align 4, !tbaa !5
  %8035 = call ptr @s2n_strerror_debug(i32 noundef %8034, ptr noundef nonnull @.str.65) #10
  %8036 = load i32, ptr %2293, align 4, !tbaa !5
  %8037 = call ptr @strerror(i32 noundef %8036) #10
  %8038 = load i32, ptr %2293, align 4, !tbaa !5
  %8039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8030, ptr noundef nonnull %.str.66.sink4702, i32 noundef %8031, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 823, ptr noundef %8033, ptr noundef %8035, ptr noundef %8037, i32 noundef %8038) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8040:                                             ; preds = %8013
  %8041 = call i32 @s2n_free(ptr noundef nonnull %32) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #10
  %8042 = call i32 @s2n_stuffer_free(ptr noundef nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #10
  %8043 = call i32 @s2n_stuffer_free(ptr noundef nonnull %30) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #10
  %8044 = call ptr @s2n_config_new() #10
  %8045 = load i32, ptr @test_count, align 4, !tbaa !5
  %8046 = add nsw i32 %8045, 1
  store i32 %8046, ptr @test_count, align 4, !tbaa !5
  %8047 = icmp eq ptr %8044, null
  br i1 %8047, label %8048, label %8070

8048:                                             ; preds = %8040
  %8049 = load i32, ptr %2293, align 4, !tbaa !5
  %8050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8051 = call i32 @s2n_print_stacktrace(ptr noundef %8050) #10
  %8052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8053 = trunc nuw i8 %8052 to i1
  br i1 %8053, label %8054, label %8058

8054:                                             ; preds = %8048
  %8055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8056 = call i32 @fileno(ptr noundef %8055) #10
  %8057 = call i32 @isatty(i32 noundef %8056) #10
  %.not1776 = icmp eq i32 %8057, 0
  br i1 %.not1776, label %8058, label %8059

8058:                                             ; preds = %8054, %8048
  br label %8059

8059:                                             ; preds = %8054, %8058
  %.str.66.sink4711 = phi ptr [ @.str.66, %8058 ], [ @.str.63, %8054 ]
  store i32 %8049, ptr %2293, align 4, !tbaa !5
  %8060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8061 = load i32, ptr @test_count, align 4, !tbaa !5
  %8062 = load i32, ptr %2239, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror(i32 noundef %8062, ptr noundef nonnull @.str.65) #10
  %8064 = load i32, ptr %2239, align 4, !tbaa !5
  %8065 = call ptr @s2n_strerror_debug(i32 noundef %8064, ptr noundef nonnull @.str.65) #10
  %8066 = load i32, ptr %2293, align 4, !tbaa !5
  %8067 = call ptr @strerror(i32 noundef %8066) #10
  %8068 = load i32, ptr %2293, align 4, !tbaa !5
  %8069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8060, ptr noundef nonnull %.str.66.sink4711, i32 noundef %8061, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.62, i32 noundef 832, ptr noundef %8063, ptr noundef %8065, ptr noundef %8067, i32 noundef %8068) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8070:                                             ; preds = %8040
  %8071 = getelementptr inbounds i8, ptr %225, i64 96
  %8072 = load ptr, ptr %8071, align 8, !tbaa !65
  %8073 = getelementptr inbounds i8, ptr %8044, i64 96
  store ptr %8072, ptr %8073, align 8, !tbaa !65
  %8074 = add nsw i32 %8045, 2
  store i32 %8074, ptr @test_count, align 4, !tbaa !5
  %8075 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %8044) #10
  %8076 = icmp eq i32 %8075, -1
  br i1 %8076, label %8077, label %8099

8077:                                             ; preds = %8070
  %8078 = load i32, ptr %2293, align 4, !tbaa !5
  %8079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8080 = call i32 @s2n_print_stacktrace(ptr noundef %8079) #10
  %8081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8082 = trunc nuw i8 %8081 to i1
  br i1 %8082, label %8083, label %8087

8083:                                             ; preds = %8077
  %8084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8085 = call i32 @fileno(ptr noundef %8084) #10
  %8086 = call i32 @isatty(i32 noundef %8085) #10
  %.not1775 = icmp eq i32 %8086, 0
  br i1 %.not1775, label %8087, label %8088

8087:                                             ; preds = %8083, %8077
  br label %8088

8088:                                             ; preds = %8083, %8087
  %.str.66.sink4720 = phi ptr [ @.str.66, %8087 ], [ @.str.63, %8083 ]
  store i32 %8078, ptr %2293, align 4, !tbaa !5
  %8089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8090 = load i32, ptr @test_count, align 4, !tbaa !5
  %8091 = load i32, ptr %2239, align 4, !tbaa !5
  %8092 = call ptr @s2n_strerror(i32 noundef %8091, ptr noundef nonnull @.str.65) #10
  %8093 = load i32, ptr %2239, align 4, !tbaa !5
  %8094 = call ptr @s2n_strerror_debug(i32 noundef %8093, ptr noundef nonnull @.str.65) #10
  %8095 = load i32, ptr %2293, align 4, !tbaa !5
  %8096 = call ptr @strerror(i32 noundef %8095) #10
  %8097 = load i32, ptr %2293, align 4, !tbaa !5
  %8098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8089, ptr noundef nonnull %.str.66.sink4720, i32 noundef %8090, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.62, i32 noundef 834, ptr noundef %8092, ptr noundef %8094, ptr noundef %8096, i32 noundef %8097) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8099:                                             ; preds = %8070
  %8100 = load i32, ptr @test_count, align 4, !tbaa !5
  %8101 = add nsw i32 %8100, 1
  store i32 %8101, ptr @test_count, align 4, !tbaa !5
  %8102 = load ptr, ptr %5, align 8, !tbaa !9
  %8103 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %8044, ptr noundef %8102) #10
  %8104 = icmp eq i32 %8103, -1
  br i1 %8104, label %8105, label %8127

8105:                                             ; preds = %8099
  %8106 = load i32, ptr %2293, align 4, !tbaa !5
  %8107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8108 = call i32 @s2n_print_stacktrace(ptr noundef %8107) #10
  %8109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8110 = trunc nuw i8 %8109 to i1
  br i1 %8110, label %8111, label %8115

8111:                                             ; preds = %8105
  %8112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8113 = call i32 @fileno(ptr noundef %8112) #10
  %8114 = call i32 @isatty(i32 noundef %8113) #10
  %.not1774 = icmp eq i32 %8114, 0
  br i1 %.not1774, label %8115, label %8116

8115:                                             ; preds = %8111, %8105
  br label %8116

8116:                                             ; preds = %8111, %8115
  %.str.66.sink4729 = phi ptr [ @.str.66, %8115 ], [ @.str.63, %8111 ]
  store i32 %8106, ptr %2293, align 4, !tbaa !5
  %8117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8118 = load i32, ptr @test_count, align 4, !tbaa !5
  %8119 = load i32, ptr %2239, align 4, !tbaa !5
  %8120 = call ptr @s2n_strerror(i32 noundef %8119, ptr noundef nonnull @.str.65) #10
  %8121 = load i32, ptr %2239, align 4, !tbaa !5
  %8122 = call ptr @s2n_strerror_debug(i32 noundef %8121, ptr noundef nonnull @.str.65) #10
  %8123 = load i32, ptr %2293, align 4, !tbaa !5
  %8124 = call ptr @strerror(i32 noundef %8123) #10
  %8125 = load i32, ptr %2293, align 4, !tbaa !5
  %8126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8117, ptr noundef nonnull %.str.66.sink4729, i32 noundef %8118, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.62, i32 noundef 835, ptr noundef %8120, ptr noundef %8122, ptr noundef %8124, i32 noundef %8125) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8127:                                             ; preds = %8099
  %8128 = load i32, ptr @test_count, align 4, !tbaa !5
  %8129 = add nsw i32 %8128, 1
  store i32 %8129, ptr @test_count, align 4, !tbaa !5
  %8130 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %8044, i8 noundef zeroext 1) #10
  %8131 = icmp eq i32 %8130, -1
  br i1 %8131, label %8132, label %8154

8132:                                             ; preds = %8127
  %8133 = load i32, ptr %2293, align 4, !tbaa !5
  %8134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8135 = call i32 @s2n_print_stacktrace(ptr noundef %8134) #10
  %8136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8137 = trunc nuw i8 %8136 to i1
  br i1 %8137, label %8138, label %8142

8138:                                             ; preds = %8132
  %8139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8140 = call i32 @fileno(ptr noundef %8139) #10
  %8141 = call i32 @isatty(i32 noundef %8140) #10
  %.not1773 = icmp eq i32 %8141, 0
  br i1 %.not1773, label %8142, label %8143

8142:                                             ; preds = %8138, %8132
  br label %8143

8143:                                             ; preds = %8138, %8142
  %.str.66.sink4738 = phi ptr [ @.str.66, %8142 ], [ @.str.63, %8138 ]
  store i32 %8133, ptr %2293, align 4, !tbaa !5
  %8144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8145 = load i32, ptr @test_count, align 4, !tbaa !5
  %8146 = load i32, ptr %2239, align 4, !tbaa !5
  %8147 = call ptr @s2n_strerror(i32 noundef %8146, ptr noundef nonnull @.str.65) #10
  %8148 = load i32, ptr %2239, align 4, !tbaa !5
  %8149 = call ptr @s2n_strerror_debug(i32 noundef %8148, ptr noundef nonnull @.str.65) #10
  %8150 = load i32, ptr %2293, align 4, !tbaa !5
  %8151 = call ptr @strerror(i32 noundef %8150) #10
  %8152 = load i32, ptr %2293, align 4, !tbaa !5
  %8153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8144, ptr noundef nonnull %.str.66.sink4738, i32 noundef %8145, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.62, i32 noundef 836, ptr noundef %8147, ptr noundef %8149, ptr noundef %8151, i32 noundef %8152) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8154:                                             ; preds = %8127
  %8155 = call ptr @s2n_config_new() #10
  %8156 = load i32, ptr @test_count, align 4, !tbaa !5
  %8157 = add nsw i32 %8156, 1
  store i32 %8157, ptr @test_count, align 4, !tbaa !5
  %8158 = icmp eq ptr %8155, null
  br i1 %8158, label %8159, label %8181

8159:                                             ; preds = %8154
  %8160 = load i32, ptr %2293, align 4, !tbaa !5
  %8161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8162 = call i32 @s2n_print_stacktrace(ptr noundef %8161) #10
  %8163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8164 = trunc nuw i8 %8163 to i1
  br i1 %8164, label %8165, label %8169

8165:                                             ; preds = %8159
  %8166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8167 = call i32 @fileno(ptr noundef %8166) #10
  %8168 = call i32 @isatty(i32 noundef %8167) #10
  %.not1772 = icmp eq i32 %8168, 0
  br i1 %.not1772, label %8169, label %8170

8169:                                             ; preds = %8165, %8159
  br label %8170

8170:                                             ; preds = %8165, %8169
  %.str.66.sink4747 = phi ptr [ @.str.66, %8169 ], [ @.str.63, %8165 ]
  store i32 %8160, ptr %2293, align 4, !tbaa !5
  %8171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8172 = load i32, ptr @test_count, align 4, !tbaa !5
  %8173 = load i32, ptr %2239, align 4, !tbaa !5
  %8174 = call ptr @s2n_strerror(i32 noundef %8173, ptr noundef nonnull @.str.65) #10
  %8175 = load i32, ptr %2239, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror_debug(i32 noundef %8175, ptr noundef nonnull @.str.65) #10
  %8177 = load i32, ptr %2293, align 4, !tbaa !5
  %8178 = call ptr @strerror(i32 noundef %8177) #10
  %8179 = load i32, ptr %2293, align 4, !tbaa !5
  %8180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8171, ptr noundef nonnull %.str.66.sink4747, i32 noundef %8172, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.62, i32 noundef 839, ptr noundef %8174, ptr noundef %8176, ptr noundef %8178, i32 noundef %8179) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8181:                                             ; preds = %8154
  %8182 = load ptr, ptr %8071, align 8, !tbaa !65
  %8183 = getelementptr inbounds i8, ptr %8155, i64 96
  store ptr %8182, ptr %8183, align 8, !tbaa !65
  %8184 = add nsw i32 %8156, 2
  store i32 %8184, ptr @test_count, align 4, !tbaa !5
  %8185 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %8155) #10
  %8186 = icmp eq i32 %8185, -1
  br i1 %8186, label %8187, label %8209

8187:                                             ; preds = %8181
  %8188 = load i32, ptr %2293, align 4, !tbaa !5
  %8189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8190 = call i32 @s2n_print_stacktrace(ptr noundef %8189) #10
  %8191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8192 = trunc nuw i8 %8191 to i1
  br i1 %8192, label %8193, label %8197

8193:                                             ; preds = %8187
  %8194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8195 = call i32 @fileno(ptr noundef %8194) #10
  %8196 = call i32 @isatty(i32 noundef %8195) #10
  %.not1771 = icmp eq i32 %8196, 0
  br i1 %.not1771, label %8197, label %8198

8197:                                             ; preds = %8193, %8187
  br label %8198

8198:                                             ; preds = %8193, %8197
  %.str.66.sink4756 = phi ptr [ @.str.66, %8197 ], [ @.str.63, %8193 ]
  store i32 %8188, ptr %2293, align 4, !tbaa !5
  %8199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8200 = load i32, ptr @test_count, align 4, !tbaa !5
  %8201 = load i32, ptr %2239, align 4, !tbaa !5
  %8202 = call ptr @s2n_strerror(i32 noundef %8201, ptr noundef nonnull @.str.65) #10
  %8203 = load i32, ptr %2239, align 4, !tbaa !5
  %8204 = call ptr @s2n_strerror_debug(i32 noundef %8203, ptr noundef nonnull @.str.65) #10
  %8205 = load i32, ptr %2293, align 4, !tbaa !5
  %8206 = call ptr @strerror(i32 noundef %8205) #10
  %8207 = load i32, ptr %2293, align 4, !tbaa !5
  %8208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8199, ptr noundef nonnull %.str.66.sink4756, i32 noundef %8200, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.62, i32 noundef 841, ptr noundef %8202, ptr noundef %8204, ptr noundef %8206, i32 noundef %8207) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8209:                                             ; preds = %8181
  %8210 = load i32, ptr @test_count, align 4, !tbaa !5
  %8211 = add nsw i32 %8210, 1
  store i32 %8211, ptr @test_count, align 4, !tbaa !5
  %8212 = load ptr, ptr %5, align 8, !tbaa !9
  %8213 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %8155, ptr noundef %8212) #10
  %8214 = icmp eq i32 %8213, -1
  br i1 %8214, label %8215, label %8237

8215:                                             ; preds = %8209
  %8216 = load i32, ptr %2293, align 4, !tbaa !5
  %8217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8218 = call i32 @s2n_print_stacktrace(ptr noundef %8217) #10
  %8219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8220 = trunc nuw i8 %8219 to i1
  br i1 %8220, label %8221, label %8225

8221:                                             ; preds = %8215
  %8222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8223 = call i32 @fileno(ptr noundef %8222) #10
  %8224 = call i32 @isatty(i32 noundef %8223) #10
  %.not1770 = icmp eq i32 %8224, 0
  br i1 %.not1770, label %8225, label %8226

8225:                                             ; preds = %8221, %8215
  br label %8226

8226:                                             ; preds = %8221, %8225
  %.str.66.sink4765 = phi ptr [ @.str.66, %8225 ], [ @.str.63, %8221 ]
  store i32 %8216, ptr %2293, align 4, !tbaa !5
  %8227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8228 = load i32, ptr @test_count, align 4, !tbaa !5
  %8229 = load i32, ptr %2239, align 4, !tbaa !5
  %8230 = call ptr @s2n_strerror(i32 noundef %8229, ptr noundef nonnull @.str.65) #10
  %8231 = load i32, ptr %2239, align 4, !tbaa !5
  %8232 = call ptr @s2n_strerror_debug(i32 noundef %8231, ptr noundef nonnull @.str.65) #10
  %8233 = load i32, ptr %2293, align 4, !tbaa !5
  %8234 = call ptr @strerror(i32 noundef %8233) #10
  %8235 = load i32, ptr %2293, align 4, !tbaa !5
  %8236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8227, ptr noundef nonnull %.str.66.sink4765, i32 noundef %8228, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.62, i32 noundef 842, ptr noundef %8230, ptr noundef %8232, ptr noundef %8234, i32 noundef %8235) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8237:                                             ; preds = %8209
  %8238 = load i32, ptr @test_count, align 4, !tbaa !5
  %8239 = add nsw i32 %8238, 1
  store i32 %8239, ptr @test_count, align 4, !tbaa !5
  %8240 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %8155, i8 noundef zeroext 1) #10
  %8241 = icmp eq i32 %8240, -1
  br i1 %8241, label %8242, label %8264

8242:                                             ; preds = %8237
  %8243 = load i32, ptr %2293, align 4, !tbaa !5
  %8244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8245 = call i32 @s2n_print_stacktrace(ptr noundef %8244) #10
  %8246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8247 = trunc nuw i8 %8246 to i1
  br i1 %8247, label %8248, label %8252

8248:                                             ; preds = %8242
  %8249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8250 = call i32 @fileno(ptr noundef %8249) #10
  %8251 = call i32 @isatty(i32 noundef %8250) #10
  %.not1769 = icmp eq i32 %8251, 0
  br i1 %.not1769, label %8252, label %8253

8252:                                             ; preds = %8248, %8242
  br label %8253

8253:                                             ; preds = %8248, %8252
  %.str.66.sink4774 = phi ptr [ @.str.66, %8252 ], [ @.str.63, %8248 ]
  store i32 %8243, ptr %2293, align 4, !tbaa !5
  %8254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8255 = load i32, ptr @test_count, align 4, !tbaa !5
  %8256 = load i32, ptr %2239, align 4, !tbaa !5
  %8257 = call ptr @s2n_strerror(i32 noundef %8256, ptr noundef nonnull @.str.65) #10
  %8258 = load i32, ptr %2239, align 4, !tbaa !5
  %8259 = call ptr @s2n_strerror_debug(i32 noundef %8258, ptr noundef nonnull @.str.65) #10
  %8260 = load i32, ptr %2293, align 4, !tbaa !5
  %8261 = call ptr @strerror(i32 noundef %8260) #10
  %8262 = load i32, ptr %2293, align 4, !tbaa !5
  %8263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8254, ptr noundef nonnull %.str.66.sink4774, i32 noundef %8255, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.62, i32 noundef 843, ptr noundef %8257, ptr noundef %8259, ptr noundef %8261, i32 noundef %8262) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8264:                                             ; preds = %8237
  %8265 = load i32, ptr @test_count, align 4, !tbaa !5
  %8266 = add nsw i32 %8265, 1
  store i32 %8266, ptr @test_count, align 4, !tbaa !5
  %8267 = call i32 @s2n_config_set_cache_store_callback(ptr noundef nonnull %8155, ptr noundef nonnull @s2n_cache_store_cb, ptr noundef null) #10
  %8268 = icmp eq i32 %8267, -1
  br i1 %8268, label %8269, label %8291

8269:                                             ; preds = %8264
  %8270 = load i32, ptr %2293, align 4, !tbaa !5
  %8271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8272 = call i32 @s2n_print_stacktrace(ptr noundef %8271) #10
  %8273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8274 = trunc nuw i8 %8273 to i1
  br i1 %8274, label %8275, label %8279

8275:                                             ; preds = %8269
  %8276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8277 = call i32 @fileno(ptr noundef %8276) #10
  %8278 = call i32 @isatty(i32 noundef %8277) #10
  %.not1768 = icmp eq i32 %8278, 0
  br i1 %.not1768, label %8279, label %8280

8279:                                             ; preds = %8275, %8269
  br label %8280

8280:                                             ; preds = %8275, %8279
  %.str.66.sink4783 = phi ptr [ @.str.66, %8279 ], [ @.str.63, %8275 ]
  store i32 %8270, ptr %2293, align 4, !tbaa !5
  %8281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8282 = load i32, ptr @test_count, align 4, !tbaa !5
  %8283 = load i32, ptr %2239, align 4, !tbaa !5
  %8284 = call ptr @s2n_strerror(i32 noundef %8283, ptr noundef nonnull @.str.65) #10
  %8285 = load i32, ptr %2239, align 4, !tbaa !5
  %8286 = call ptr @s2n_strerror_debug(i32 noundef %8285, ptr noundef nonnull @.str.65) #10
  %8287 = load i32, ptr %2293, align 4, !tbaa !5
  %8288 = call ptr @strerror(i32 noundef %8287) #10
  %8289 = load i32, ptr %2293, align 4, !tbaa !5
  %8290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8281, ptr noundef nonnull %.str.66.sink4783, i32 noundef %8282, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.62, i32 noundef 844, ptr noundef %8284, ptr noundef %8286, ptr noundef %8288, i32 noundef %8289) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8291:                                             ; preds = %8264
  %8292 = load i32, ptr @test_count, align 4, !tbaa !5
  %8293 = add nsw i32 %8292, 1
  store i32 %8293, ptr @test_count, align 4, !tbaa !5
  %8294 = call i32 @s2n_config_set_cache_retrieve_callback(ptr noundef nonnull %8155, ptr noundef nonnull @s2n_cache_retrieve_cb, ptr noundef null) #10
  %8295 = icmp eq i32 %8294, -1
  br i1 %8295, label %8296, label %8318

8296:                                             ; preds = %8291
  %8297 = load i32, ptr %2293, align 4, !tbaa !5
  %8298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8299 = call i32 @s2n_print_stacktrace(ptr noundef %8298) #10
  %8300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8301 = trunc nuw i8 %8300 to i1
  br i1 %8301, label %8302, label %8306

8302:                                             ; preds = %8296
  %8303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8304 = call i32 @fileno(ptr noundef %8303) #10
  %8305 = call i32 @isatty(i32 noundef %8304) #10
  %.not1767 = icmp eq i32 %8305, 0
  br i1 %.not1767, label %8306, label %8307

8306:                                             ; preds = %8302, %8296
  br label %8307

8307:                                             ; preds = %8302, %8306
  %.str.66.sink4792 = phi ptr [ @.str.66, %8306 ], [ @.str.63, %8302 ]
  store i32 %8297, ptr %2293, align 4, !tbaa !5
  %8308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8309 = load i32, ptr @test_count, align 4, !tbaa !5
  %8310 = load i32, ptr %2239, align 4, !tbaa !5
  %8311 = call ptr @s2n_strerror(i32 noundef %8310, ptr noundef nonnull @.str.65) #10
  %8312 = load i32, ptr %2239, align 4, !tbaa !5
  %8313 = call ptr @s2n_strerror_debug(i32 noundef %8312, ptr noundef nonnull @.str.65) #10
  %8314 = load i32, ptr %2293, align 4, !tbaa !5
  %8315 = call ptr @strerror(i32 noundef %8314) #10
  %8316 = load i32, ptr %2293, align 4, !tbaa !5
  %8317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8308, ptr noundef nonnull %.str.66.sink4792, i32 noundef %8309, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.62, i32 noundef 845, ptr noundef %8311, ptr noundef %8313, ptr noundef %8315, i32 noundef %8316) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8318:                                             ; preds = %8291
  %8319 = load i32, ptr @test_count, align 4, !tbaa !5
  %8320 = add nsw i32 %8319, 1
  store i32 %8320, ptr @test_count, align 4, !tbaa !5
  %8321 = call i32 @s2n_config_set_cache_delete_callback(ptr noundef nonnull %8155, ptr noundef nonnull @s2n_cache_delete_cb, ptr noundef null) #10
  %8322 = icmp eq i32 %8321, -1
  br i1 %8322, label %8323, label %8345

8323:                                             ; preds = %8318
  %8324 = load i32, ptr %2293, align 4, !tbaa !5
  %8325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8326 = call i32 @s2n_print_stacktrace(ptr noundef %8325) #10
  %8327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8328 = trunc nuw i8 %8327 to i1
  br i1 %8328, label %8329, label %8333

8329:                                             ; preds = %8323
  %8330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8331 = call i32 @fileno(ptr noundef %8330) #10
  %8332 = call i32 @isatty(i32 noundef %8331) #10
  %.not1766 = icmp eq i32 %8332, 0
  br i1 %.not1766, label %8333, label %8334

8333:                                             ; preds = %8329, %8323
  br label %8334

8334:                                             ; preds = %8329, %8333
  %.str.66.sink4801 = phi ptr [ @.str.66, %8333 ], [ @.str.63, %8329 ]
  store i32 %8324, ptr %2293, align 4, !tbaa !5
  %8335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8336 = load i32, ptr @test_count, align 4, !tbaa !5
  %8337 = load i32, ptr %2239, align 4, !tbaa !5
  %8338 = call ptr @s2n_strerror(i32 noundef %8337, ptr noundef nonnull @.str.65) #10
  %8339 = load i32, ptr %2239, align 4, !tbaa !5
  %8340 = call ptr @s2n_strerror_debug(i32 noundef %8339, ptr noundef nonnull @.str.65) #10
  %8341 = load i32, ptr %2293, align 4, !tbaa !5
  %8342 = call ptr @strerror(i32 noundef %8341) #10
  %8343 = load i32, ptr %2293, align 4, !tbaa !5
  %8344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8335, ptr noundef nonnull %.str.66.sink4801, i32 noundef %8336, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.62, i32 noundef 846, ptr noundef %8338, ptr noundef %8340, ptr noundef %8342, i32 noundef %8343) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8345:                                             ; preds = %8318
  %8346 = load i32, ptr @test_count, align 4, !tbaa !5
  %8347 = add nsw i32 %8346, 1
  store i32 %8347, ptr @test_count, align 4, !tbaa !5
  %8348 = call i32 @s2n_config_set_session_cache_onoff(ptr noundef nonnull %8155, i8 noundef zeroext 1) #10
  %8349 = icmp eq i32 %8348, -1
  br i1 %8349, label %8350, label %8372

8350:                                             ; preds = %8345
  %8351 = load i32, ptr %2293, align 4, !tbaa !5
  %8352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8353 = call i32 @s2n_print_stacktrace(ptr noundef %8352) #10
  %8354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8355 = trunc nuw i8 %8354 to i1
  br i1 %8355, label %8356, label %8360

8356:                                             ; preds = %8350
  %8357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8358 = call i32 @fileno(ptr noundef %8357) #10
  %8359 = call i32 @isatty(i32 noundef %8358) #10
  %.not1765 = icmp eq i32 %8359, 0
  br i1 %.not1765, label %8360, label %8361

8360:                                             ; preds = %8356, %8350
  br label %8361

8361:                                             ; preds = %8356, %8360
  %.str.66.sink4810 = phi ptr [ @.str.66, %8360 ], [ @.str.63, %8356 ]
  store i32 %8351, ptr %2293, align 4, !tbaa !5
  %8362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8363 = load i32, ptr @test_count, align 4, !tbaa !5
  %8364 = load i32, ptr %2239, align 4, !tbaa !5
  %8365 = call ptr @s2n_strerror(i32 noundef %8364, ptr noundef nonnull @.str.65) #10
  %8366 = load i32, ptr %2239, align 4, !tbaa !5
  %8367 = call ptr @s2n_strerror_debug(i32 noundef %8366, ptr noundef nonnull @.str.65) #10
  %8368 = load i32, ptr %2293, align 4, !tbaa !5
  %8369 = call ptr @strerror(i32 noundef %8368) #10
  %8370 = load i32, ptr %2293, align 4, !tbaa !5
  %8371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8362, ptr noundef nonnull %.str.66.sink4810, i32 noundef %8363, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.62, i32 noundef 847, ptr noundef %8365, ptr noundef %8367, ptr noundef %8369, i32 noundef %8370) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8372:                                             ; preds = %8345
  %8373 = load i32, ptr @test_count, align 4, !tbaa !5
  %8374 = add nsw i32 %8373, 1
  store i32 %8374, ptr @test_count, align 4, !tbaa !5
  %8375 = load i32, ptr %8155, align 8
  %8376 = and i32 %8375, 8
  %.not1580 = icmp eq i32 %8376, 0
  br i1 %.not1580, label %8377, label %8399

8377:                                             ; preds = %8372
  %8378 = load i32, ptr %2293, align 4, !tbaa !5
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = call i32 @s2n_print_stacktrace(ptr noundef %8379) #10
  %8381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8382 = trunc nuw i8 %8381 to i1
  br i1 %8382, label %8383, label %8387

8383:                                             ; preds = %8377
  %8384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8385 = call i32 @fileno(ptr noundef %8384) #10
  %8386 = call i32 @isatty(i32 noundef %8385) #10
  %.not1581 = icmp eq i32 %8386, 0
  br i1 %.not1581, label %8387, label %8388

8387:                                             ; preds = %8383, %8377
  br label %8388

8388:                                             ; preds = %8383, %8387
  %.str.66.sink4819 = phi ptr [ @.str.66, %8387 ], [ @.str.63, %8383 ]
  store i32 %8378, ptr %2293, align 4, !tbaa !5
  %8389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8390 = load i32, ptr @test_count, align 4, !tbaa !5
  %8391 = load i32, ptr %2239, align 4, !tbaa !5
  %8392 = call ptr @s2n_strerror(i32 noundef %8391, ptr noundef nonnull @.str.65) #10
  %8393 = load i32, ptr %2239, align 4, !tbaa !5
  %8394 = call ptr @s2n_strerror_debug(i32 noundef %8393, ptr noundef nonnull @.str.65) #10
  %8395 = load i32, ptr %2293, align 4, !tbaa !5
  %8396 = call ptr @strerror(i32 noundef %8395) #10
  %8397 = load i32, ptr %2293, align 4, !tbaa !5
  %8398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8389, ptr noundef nonnull %.str.66.sink4819, i32 noundef %8390, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.62, i32 noundef 848, ptr noundef %8392, ptr noundef %8394, ptr noundef %8396, i32 noundef %8397) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8399:                                             ; preds = %8372
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %34) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %34, i8 0, i64 40, i1 false)
  %8400 = add nsw i32 %8373, 2
  store i32 %8400, ptr @test_count, align 4, !tbaa !5
  %8401 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %34, i32 noundef 0) #10
  %8402 = icmp eq i32 %8401, -1
  br i1 %8402, label %8403, label %8425

8403:                                             ; preds = %8399
  %8404 = load i32, ptr %2293, align 4, !tbaa !5
  %8405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8406 = call i32 @s2n_print_stacktrace(ptr noundef %8405) #10
  %8407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8408 = trunc nuw i8 %8407 to i1
  br i1 %8408, label %8409, label %8413

8409:                                             ; preds = %8403
  %8410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8411 = call i32 @fileno(ptr noundef %8410) #10
  %8412 = call i32 @isatty(i32 noundef %8411) #10
  %.not1764 = icmp eq i32 %8412, 0
  br i1 %.not1764, label %8413, label %8414

8413:                                             ; preds = %8409, %8403
  br label %8414

8414:                                             ; preds = %8409, %8413
  %.str.66.sink4828 = phi ptr [ @.str.66, %8413 ], [ @.str.63, %8409 ]
  store i32 %8404, ptr %2293, align 4, !tbaa !5
  %8415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8416 = load i32, ptr @test_count, align 4, !tbaa !5
  %8417 = load i32, ptr %2239, align 4, !tbaa !5
  %8418 = call ptr @s2n_strerror(i32 noundef %8417, ptr noundef nonnull @.str.65) #10
  %8419 = load i32, ptr %2239, align 4, !tbaa !5
  %8420 = call ptr @s2n_strerror_debug(i32 noundef %8419, ptr noundef nonnull @.str.65) #10
  %8421 = load i32, ptr %2293, align 4, !tbaa !5
  %8422 = call ptr @strerror(i32 noundef %8421) #10
  %8423 = load i32, ptr %2293, align 4, !tbaa !5
  %8424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8415, ptr noundef nonnull %.str.66.sink4828, i32 noundef %8416, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.62, i32 noundef 853, ptr noundef %8418, ptr noundef %8420, ptr noundef %8422, i32 noundef %8423) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8425:                                             ; preds = %8399
  %8426 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %8427 = load i32, ptr @test_count, align 4, !tbaa !5
  %8428 = add nsw i32 %8427, 1
  store i32 %8428, ptr @test_count, align 4, !tbaa !5
  %8429 = icmp eq ptr %8426, null
  br i1 %8429, label %8430, label %8452

8430:                                             ; preds = %8425
  %8431 = load i32, ptr %2293, align 4, !tbaa !5
  %8432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8433 = call i32 @s2n_print_stacktrace(ptr noundef %8432) #10
  %8434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8435 = trunc nuw i8 %8434 to i1
  br i1 %8435, label %8436, label %8440

8436:                                             ; preds = %8430
  %8437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8438 = call i32 @fileno(ptr noundef %8437) #10
  %8439 = call i32 @isatty(i32 noundef %8438) #10
  %.not1763 = icmp eq i32 %8439, 0
  br i1 %.not1763, label %8440, label %8441

8440:                                             ; preds = %8436, %8430
  br label %8441

8441:                                             ; preds = %8436, %8440
  %.str.66.sink4837 = phi ptr [ @.str.66, %8440 ], [ @.str.63, %8436 ]
  store i32 %8431, ptr %2293, align 4, !tbaa !5
  %8442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8443 = load i32, ptr @test_count, align 4, !tbaa !5
  %8444 = load i32, ptr %2239, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror(i32 noundef %8444, ptr noundef nonnull @.str.65) #10
  %8446 = load i32, ptr %2239, align 4, !tbaa !5
  %8447 = call ptr @s2n_strerror_debug(i32 noundef %8446, ptr noundef nonnull @.str.65) #10
  %8448 = load i32, ptr %2293, align 4, !tbaa !5
  %8449 = call ptr @strerror(i32 noundef %8448) #10
  %8450 = load i32, ptr %2293, align 4, !tbaa !5
  %8451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8442, ptr noundef nonnull %.str.66.sink4837, i32 noundef %8443, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 856, ptr noundef %8445, ptr noundef %8447, ptr noundef %8449, i32 noundef %8450) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8452:                                             ; preds = %8425
  %8453 = add nsw i32 %8427, 2
  store i32 %8453, ptr @test_count, align 4, !tbaa !5
  %8454 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8426, ptr noundef nonnull %804) #10
  %8455 = icmp eq i32 %8454, -1
  br i1 %8455, label %8456, label %8478

8456:                                             ; preds = %8452
  %8457 = load i32, ptr %2293, align 4, !tbaa !5
  %8458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8459 = call i32 @s2n_print_stacktrace(ptr noundef %8458) #10
  %8460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8461 = trunc nuw i8 %8460 to i1
  br i1 %8461, label %8462, label %8466

8462:                                             ; preds = %8456
  %8463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8464 = call i32 @fileno(ptr noundef %8463) #10
  %8465 = call i32 @isatty(i32 noundef %8464) #10
  %.not1762 = icmp eq i32 %8465, 0
  br i1 %.not1762, label %8466, label %8467

8466:                                             ; preds = %8462, %8456
  br label %8467

8467:                                             ; preds = %8462, %8466
  %.str.66.sink4846 = phi ptr [ @.str.66, %8466 ], [ @.str.63, %8462 ]
  store i32 %8457, ptr %2293, align 4, !tbaa !5
  %8468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8469 = load i32, ptr @test_count, align 4, !tbaa !5
  %8470 = load i32, ptr %2239, align 4, !tbaa !5
  %8471 = call ptr @s2n_strerror(i32 noundef %8470, ptr noundef nonnull @.str.65) #10
  %8472 = load i32, ptr %2239, align 4, !tbaa !5
  %8473 = call ptr @s2n_strerror_debug(i32 noundef %8472, ptr noundef nonnull @.str.65) #10
  %8474 = load i32, ptr %2293, align 4, !tbaa !5
  %8475 = call ptr @strerror(i32 noundef %8474) #10
  %8476 = load i32, ptr %2293, align 4, !tbaa !5
  %8477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8468, ptr noundef nonnull %.str.66.sink4846, i32 noundef %8469, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.62, i32 noundef 857, ptr noundef %8471, ptr noundef %8473, ptr noundef %8475, i32 noundef %8476) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8478:                                             ; preds = %8452
  %8479 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %8480 = load i32, ptr @test_count, align 4, !tbaa !5
  %8481 = add nsw i32 %8480, 1
  store i32 %8481, ptr @test_count, align 4, !tbaa !5
  %8482 = icmp eq ptr %8479, null
  br i1 %8482, label %8483, label %8505

8483:                                             ; preds = %8478
  %8484 = load i32, ptr %2293, align 4, !tbaa !5
  %8485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8486 = call i32 @s2n_print_stacktrace(ptr noundef %8485) #10
  %8487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8488 = trunc nuw i8 %8487 to i1
  br i1 %8488, label %8489, label %8493

8489:                                             ; preds = %8483
  %8490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8491 = call i32 @fileno(ptr noundef %8490) #10
  %8492 = call i32 @isatty(i32 noundef %8491) #10
  %.not1761 = icmp eq i32 %8492, 0
  br i1 %.not1761, label %8493, label %8494

8493:                                             ; preds = %8489, %8483
  br label %8494

8494:                                             ; preds = %8489, %8493
  %.str.66.sink4855 = phi ptr [ @.str.66, %8493 ], [ @.str.63, %8489 ]
  store i32 %8484, ptr %2293, align 4, !tbaa !5
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = load i32, ptr @test_count, align 4, !tbaa !5
  %8497 = load i32, ptr %2239, align 4, !tbaa !5
  %8498 = call ptr @s2n_strerror(i32 noundef %8497, ptr noundef nonnull @.str.65) #10
  %8499 = load i32, ptr %2239, align 4, !tbaa !5
  %8500 = call ptr @s2n_strerror_debug(i32 noundef %8499, ptr noundef nonnull @.str.65) #10
  %8501 = load i32, ptr %2293, align 4, !tbaa !5
  %8502 = call ptr @strerror(i32 noundef %8501) #10
  %8503 = load i32, ptr %2293, align 4, !tbaa !5
  %8504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8495, ptr noundef nonnull %.str.66.sink4855, i32 noundef %8496, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 860, ptr noundef %8498, ptr noundef %8500, ptr noundef %8502, i32 noundef %8503) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8505:                                             ; preds = %8478
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #10
  store i64 0, ptr %35, align 8
  %8506 = add nsw i32 %8480, 2
  store i32 %8506, ptr @test_count, align 4, !tbaa !5
  %8507 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %35) #10
  %8508 = icmp eq i32 %8507, -1
  br i1 %8508, label %8509, label %8531

8509:                                             ; preds = %8505
  %8510 = load i32, ptr %2293, align 4, !tbaa !5
  %8511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8512 = call i32 @s2n_print_stacktrace(ptr noundef %8511) #10
  %8513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8514 = trunc nuw i8 %8513 to i1
  br i1 %8514, label %8515, label %8519

8515:                                             ; preds = %8509
  %8516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8517 = call i32 @fileno(ptr noundef %8516) #10
  %8518 = call i32 @isatty(i32 noundef %8517) #10
  %.not1760 = icmp eq i32 %8518, 0
  br i1 %.not1760, label %8519, label %8520

8519:                                             ; preds = %8515, %8509
  br label %8520

8520:                                             ; preds = %8515, %8519
  %.str.66.sink4864 = phi ptr [ @.str.66, %8519 ], [ @.str.63, %8515 ]
  store i32 %8510, ptr %2293, align 4, !tbaa !5
  %8521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8522 = load i32, ptr @test_count, align 4, !tbaa !5
  %8523 = load i32, ptr %2239, align 4, !tbaa !5
  %8524 = call ptr @s2n_strerror(i32 noundef %8523, ptr noundef nonnull @.str.65) #10
  %8525 = load i32, ptr %2239, align 4, !tbaa !5
  %8526 = call ptr @s2n_strerror_debug(i32 noundef %8525, ptr noundef nonnull @.str.65) #10
  %8527 = load i32, ptr %2293, align 4, !tbaa !5
  %8528 = call ptr @strerror(i32 noundef %8527) #10
  %8529 = load i32, ptr %2293, align 4, !tbaa !5
  %8530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8521, ptr noundef nonnull %.str.66.sink4864, i32 noundef %8522, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 863, ptr noundef %8524, ptr noundef %8526, ptr noundef %8528, i32 noundef %8529) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8531:                                             ; preds = %8505
  %8532 = load i32, ptr @test_count, align 4, !tbaa !5
  %8533 = add nsw i32 %8532, 1
  store i32 %8533, ptr @test_count, align 4, !tbaa !5
  %8534 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %8426, ptr noundef nonnull %8479, ptr noundef nonnull %35) #10
  %8535 = icmp eq i32 %8534, -1
  br i1 %8535, label %8536, label %8558

8536:                                             ; preds = %8531
  %8537 = load i32, ptr %2293, align 4, !tbaa !5
  %8538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8539 = call i32 @s2n_print_stacktrace(ptr noundef %8538) #10
  %8540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8541 = trunc nuw i8 %8540 to i1
  br i1 %8541, label %8542, label %8546

8542:                                             ; preds = %8536
  %8543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8544 = call i32 @fileno(ptr noundef %8543) #10
  %8545 = call i32 @isatty(i32 noundef %8544) #10
  %.not1759 = icmp eq i32 %8545, 0
  br i1 %.not1759, label %8546, label %8547

8546:                                             ; preds = %8542, %8536
  br label %8547

8547:                                             ; preds = %8542, %8546
  %.str.66.sink4873 = phi ptr [ @.str.66, %8546 ], [ @.str.63, %8542 ]
  store i32 %8537, ptr %2293, align 4, !tbaa !5
  %8548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8549 = load i32, ptr @test_count, align 4, !tbaa !5
  %8550 = load i32, ptr %2239, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror(i32 noundef %8550, ptr noundef nonnull @.str.65) #10
  %8552 = load i32, ptr %2239, align 4, !tbaa !5
  %8553 = call ptr @s2n_strerror_debug(i32 noundef %8552, ptr noundef nonnull @.str.65) #10
  %8554 = load i32, ptr %2293, align 4, !tbaa !5
  %8555 = call ptr @strerror(i32 noundef %8554) #10
  %8556 = load i32, ptr %2293, align 4, !tbaa !5
  %8557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8548, ptr noundef nonnull %.str.66.sink4873, i32 noundef %8549, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 864, ptr noundef %8551, ptr noundef %8553, ptr noundef %8555, i32 noundef %8556) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8558:                                             ; preds = %8531
  %8559 = load i32, ptr @test_count, align 4, !tbaa !5
  %8560 = add nsw i32 %8559, 1
  store i32 %8560, ptr @test_count, align 4, !tbaa !5
  %8561 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8479, ptr noundef nonnull %225) #10
  %8562 = icmp eq i32 %8561, -1
  br i1 %8562, label %8563, label %8585

8563:                                             ; preds = %8558
  %8564 = load i32, ptr %2293, align 4, !tbaa !5
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = call i32 @s2n_print_stacktrace(ptr noundef %8565) #10
  %8567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8568 = trunc nuw i8 %8567 to i1
  br i1 %8568, label %8569, label %8573

8569:                                             ; preds = %8563
  %8570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8571 = call i32 @fileno(ptr noundef %8570) #10
  %8572 = call i32 @isatty(i32 noundef %8571) #10
  %.not1758 = icmp eq i32 %8572, 0
  br i1 %.not1758, label %8573, label %8574

8573:                                             ; preds = %8569, %8563
  br label %8574

8574:                                             ; preds = %8569, %8573
  %.str.66.sink4882 = phi ptr [ @.str.66, %8573 ], [ @.str.63, %8569 ]
  store i32 %8564, ptr %2293, align 4, !tbaa !5
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = load i32, ptr @test_count, align 4, !tbaa !5
  %8577 = load i32, ptr %2239, align 4, !tbaa !5
  %8578 = call ptr @s2n_strerror(i32 noundef %8577, ptr noundef nonnull @.str.65) #10
  %8579 = load i32, ptr %2239, align 4, !tbaa !5
  %8580 = call ptr @s2n_strerror_debug(i32 noundef %8579, ptr noundef nonnull @.str.65) #10
  %8581 = load i32, ptr %2293, align 4, !tbaa !5
  %8582 = call ptr @strerror(i32 noundef %8581) #10
  %8583 = load i32, ptr %2293, align 4, !tbaa !5
  %8584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8575, ptr noundef nonnull %.str.66.sink4882, i32 noundef %8576, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 868, ptr noundef %8578, ptr noundef %8580, ptr noundef %8582, i32 noundef %8583) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8585:                                             ; preds = %8558
  %8586 = load i32, ptr @test_count, align 4, !tbaa !5
  %8587 = add nsw i32 %8586, 1
  store i32 %8587, ptr @test_count, align 4, !tbaa !5
  %8588 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8479, ptr noundef nonnull %8426) #10
  %8589 = icmp eq i32 %8588, -1
  br i1 %8589, label %8590, label %8612

8590:                                             ; preds = %8585
  %8591 = load i32, ptr %2293, align 4, !tbaa !5
  %8592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8593 = call i32 @s2n_print_stacktrace(ptr noundef %8592) #10
  %8594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8595 = trunc nuw i8 %8594 to i1
  br i1 %8595, label %8596, label %8600

8596:                                             ; preds = %8590
  %8597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8598 = call i32 @fileno(ptr noundef %8597) #10
  %8599 = call i32 @isatty(i32 noundef %8598) #10
  %.not1757 = icmp eq i32 %8599, 0
  br i1 %.not1757, label %8600, label %8601

8600:                                             ; preds = %8596, %8590
  br label %8601

8601:                                             ; preds = %8596, %8600
  %.str.66.sink4891 = phi ptr [ @.str.66, %8600 ], [ @.str.63, %8596 ]
  store i32 %8591, ptr %2293, align 4, !tbaa !5
  %8602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8603 = load i32, ptr @test_count, align 4, !tbaa !5
  %8604 = load i32, ptr %2239, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror(i32 noundef %8604, ptr noundef nonnull @.str.65) #10
  %8606 = load i32, ptr %2239, align 4, !tbaa !5
  %8607 = call ptr @s2n_strerror_debug(i32 noundef %8606, ptr noundef nonnull @.str.65) #10
  %8608 = load i32, ptr %2293, align 4, !tbaa !5
  %8609 = call ptr @strerror(i32 noundef %8608) #10
  %8610 = load i32, ptr %2293, align 4, !tbaa !5
  %8611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8602, ptr noundef nonnull %.str.66.sink4891, i32 noundef %8603, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 870, ptr noundef %8605, ptr noundef %8607, ptr noundef %8609, i32 noundef %8610) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8612:                                             ; preds = %8585
  %8613 = load i32, ptr @test_count, align 4, !tbaa !5
  %8614 = add nsw i32 %8613, 1
  store i32 %8614, ptr @test_count, align 4, !tbaa !5
  %8615 = getelementptr inbounds i8, ptr %8479, i64 220
  %8616 = load i8, ptr %8615, align 4, !tbaa !59
  %8617 = icmp eq i8 %8616, 33
  br i1 %8617, label %8640, label %8618

8618:                                             ; preds = %8612
  %8619 = load i32, ptr %2293, align 4, !tbaa !5
  %8620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8621 = call i32 @s2n_print_stacktrace(ptr noundef %8620) #10
  %8622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8623 = trunc nuw i8 %8622 to i1
  br i1 %8623, label %8624, label %8628

8624:                                             ; preds = %8618
  %8625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8626 = call i32 @fileno(ptr noundef %8625) #10
  %8627 = call i32 @isatty(i32 noundef %8626) #10
  %.not1582 = icmp eq i32 %8627, 0
  br i1 %.not1582, label %8628, label %8629

8628:                                             ; preds = %8624, %8618
  br label %8629

8629:                                             ; preds = %8624, %8628
  %.str.66.sink4900 = phi ptr [ @.str.66, %8628 ], [ @.str.63, %8624 ]
  store i32 %8619, ptr %2293, align 4, !tbaa !5
  %8630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8631 = load i32, ptr @test_count, align 4, !tbaa !5
  %8632 = load i32, ptr %2239, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror(i32 noundef %8632, ptr noundef nonnull @.str.65) #10
  %8634 = load i32, ptr %2239, align 4, !tbaa !5
  %8635 = call ptr @s2n_strerror_debug(i32 noundef %8634, ptr noundef nonnull @.str.65) #10
  %8636 = load i32, ptr %2293, align 4, !tbaa !5
  %8637 = call ptr @strerror(i32 noundef %8636) #10
  %8638 = load i32, ptr %2293, align 4, !tbaa !5
  %8639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8630, ptr noundef nonnull %.str.66.sink4900, i32 noundef %8631, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 871, ptr noundef %8633, ptr noundef %8635, ptr noundef %8637, i32 noundef %8638) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8640:                                             ; preds = %8612
  %8641 = add nsw i32 %8613, 2
  store i32 %8641, ptr @test_count, align 4, !tbaa !5
  %8642 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %8479, i32 noundef 2) #10
  br i1 %8642, label %8665, label %8643

8643:                                             ; preds = %8640
  %8644 = load i32, ptr %2293, align 4, !tbaa !5
  %8645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8646 = call i32 @s2n_print_stacktrace(ptr noundef %8645) #10
  %8647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8648 = trunc nuw i8 %8647 to i1
  br i1 %8648, label %8649, label %8653

8649:                                             ; preds = %8643
  %8650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8651 = call i32 @fileno(ptr noundef %8650) #10
  %8652 = call i32 @isatty(i32 noundef %8651) #10
  %.not1583 = icmp eq i32 %8652, 0
  br i1 %.not1583, label %8653, label %8654

8653:                                             ; preds = %8649, %8643
  br label %8654

8654:                                             ; preds = %8649, %8653
  %.str.66.sink4909 = phi ptr [ @.str.66, %8653 ], [ @.str.63, %8649 ]
  store i32 %8644, ptr %2293, align 4, !tbaa !5
  %8655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8656 = load i32, ptr @test_count, align 4, !tbaa !5
  %8657 = load i32, ptr %2239, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror(i32 noundef %8657, ptr noundef nonnull @.str.65) #10
  %8659 = load i32, ptr %2239, align 4, !tbaa !5
  %8660 = call ptr @s2n_strerror_debug(i32 noundef %8659, ptr noundef nonnull @.str.65) #10
  %8661 = load i32, ptr %2293, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #10
  %8663 = load i32, ptr %2293, align 4, !tbaa !5
  %8664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8655, ptr noundef nonnull %.str.66.sink4909, i32 noundef %8656, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 872, ptr noundef %8658, ptr noundef %8660, ptr noundef %8662, i32 noundef %8663) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8665:                                             ; preds = %8640
  %8666 = load i32, ptr @test_count, align 4, !tbaa !5
  %8667 = add nsw i32 %8666, 1
  store i32 %8667, ptr @test_count, align 4, !tbaa !5
  %8668 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef nonnull %8479, i32 noundef 64) #10
  br i1 %8668, label %8691, label %8669

8669:                                             ; preds = %8665
  %8670 = load i32, ptr %2293, align 4, !tbaa !5
  %8671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8672 = call i32 @s2n_print_stacktrace(ptr noundef %8671) #10
  %8673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8674 = trunc nuw i8 %8673 to i1
  br i1 %8674, label %8675, label %8679

8675:                                             ; preds = %8669
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = call i32 @fileno(ptr noundef %8676) #10
  %8678 = call i32 @isatty(i32 noundef %8677) #10
  %.not1584 = icmp eq i32 %8678, 0
  br i1 %.not1584, label %8679, label %8680

8679:                                             ; preds = %8675, %8669
  br label %8680

8680:                                             ; preds = %8675, %8679
  %.str.66.sink4918 = phi ptr [ @.str.66, %8679 ], [ @.str.63, %8675 ]
  store i32 %8670, ptr %2293, align 4, !tbaa !5
  %8681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8682 = load i32, ptr @test_count, align 4, !tbaa !5
  %8683 = load i32, ptr %2239, align 4, !tbaa !5
  %8684 = call ptr @s2n_strerror(i32 noundef %8683, ptr noundef nonnull @.str.65) #10
  %8685 = load i32, ptr %2239, align 4, !tbaa !5
  %8686 = call ptr @s2n_strerror_debug(i32 noundef %8685, ptr noundef nonnull @.str.65) #10
  %8687 = load i32, ptr %2293, align 4, !tbaa !5
  %8688 = call ptr @strerror(i32 noundef %8687) #10
  %8689 = load i32, ptr %2293, align 4, !tbaa !5
  %8690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8681, ptr noundef nonnull %.str.66.sink4918, i32 noundef %8682, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.62, i32 noundef 873, ptr noundef %8684, ptr noundef %8686, ptr noundef %8688, i32 noundef %8689) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8691:                                             ; preds = %8665
  %8692 = load i32, ptr @test_count, align 4, !tbaa !5
  %8693 = add nsw i32 %8692, 1
  store i32 %8693, ptr @test_count, align 4, !tbaa !5
  %8694 = load i32, ptr %923, align 4, !tbaa !20
  %8695 = load i32, ptr %924, align 8, !tbaa !23
  %8696 = sub i32 %8694, %8695
  %8697 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %7, ptr noundef nonnull %34, i32 noundef %8696) #10
  %8698 = icmp eq i32 %8697, -1
  br i1 %8698, label %8699, label %8721

8699:                                             ; preds = %8691
  %8700 = load i32, ptr %2293, align 4, !tbaa !5
  %8701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8702 = call i32 @s2n_print_stacktrace(ptr noundef %8701) #10
  %8703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8704 = trunc nuw i8 %8703 to i1
  br i1 %8704, label %8705, label %8709

8705:                                             ; preds = %8699
  %8706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8707 = call i32 @fileno(ptr noundef %8706) #10
  %8708 = call i32 @isatty(i32 noundef %8707) #10
  %.not1756 = icmp eq i32 %8708, 0
  br i1 %.not1756, label %8709, label %8710

8709:                                             ; preds = %8705, %8699
  br label %8710

8710:                                             ; preds = %8705, %8709
  %.str.66.sink4927 = phi ptr [ @.str.66, %8709 ], [ @.str.63, %8705 ]
  store i32 %8700, ptr %2293, align 4, !tbaa !5
  %8711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8712 = load i32, ptr @test_count, align 4, !tbaa !5
  %8713 = load i32, ptr %2239, align 4, !tbaa !5
  %8714 = call ptr @s2n_strerror(i32 noundef %8713, ptr noundef nonnull @.str.65) #10
  %8715 = load i32, ptr %2239, align 4, !tbaa !5
  %8716 = call ptr @s2n_strerror_debug(i32 noundef %8715, ptr noundef nonnull @.str.65) #10
  %8717 = load i32, ptr %2293, align 4, !tbaa !5
  %8718 = call ptr @strerror(i32 noundef %8717) #10
  %8719 = load i32, ptr %2293, align 4, !tbaa !5
  %8720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8711, ptr noundef nonnull %.str.66.sink4927, i32 noundef %8712, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.62, i32 noundef 874, ptr noundef %8714, ptr noundef %8716, ptr noundef %8718, i32 noundef %8719) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8721:                                             ; preds = %8691
  %8722 = load i32, ptr @test_count, align 4, !tbaa !5
  %8723 = add nsw i32 %8722, 1
  store i32 %8723, ptr @test_count, align 4, !tbaa !5
  %8724 = getelementptr inbounds i8, ptr %34, i64 28
  %8725 = load i32, ptr %8724, align 4, !tbaa !20
  %8726 = getelementptr inbounds i8, ptr %34, i64 24
  %8727 = load i32, ptr %8726, align 8, !tbaa !23
  %.not1585 = icmp eq i32 %8725, %8727
  br i1 %.not1585, label %8728, label %8750

8728:                                             ; preds = %8721
  %8729 = load i32, ptr %2293, align 4, !tbaa !5
  %8730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8731 = call i32 @s2n_print_stacktrace(ptr noundef %8730) #10
  %8732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8733 = trunc nuw i8 %8732 to i1
  br i1 %8733, label %8734, label %8738

8734:                                             ; preds = %8728
  %8735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8736 = call i32 @fileno(ptr noundef %8735) #10
  %8737 = call i32 @isatty(i32 noundef %8736) #10
  %.not1586 = icmp eq i32 %8737, 0
  br i1 %.not1586, label %8738, label %8739

8738:                                             ; preds = %8734, %8728
  br label %8739

8739:                                             ; preds = %8734, %8738
  %.str.66.sink4936 = phi ptr [ @.str.66, %8738 ], [ @.str.63, %8734 ]
  store i32 %8729, ptr %2293, align 4, !tbaa !5
  %8740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8741 = load i32, ptr @test_count, align 4, !tbaa !5
  %8742 = load i32, ptr %2239, align 4, !tbaa !5
  %8743 = call ptr @s2n_strerror(i32 noundef %8742, ptr noundef nonnull @.str.65) #10
  %8744 = load i32, ptr %2239, align 4, !tbaa !5
  %8745 = call ptr @s2n_strerror_debug(i32 noundef %8744, ptr noundef nonnull @.str.65) #10
  %8746 = load i32, ptr %2293, align 4, !tbaa !5
  %8747 = call ptr @strerror(i32 noundef %8746) #10
  %8748 = load i32, ptr %2293, align 4, !tbaa !5
  %8749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8740, ptr noundef nonnull %.str.66.sink4936, i32 noundef %8741, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.62, i32 noundef 875, ptr noundef %8743, ptr noundef %8745, ptr noundef %8747, i32 noundef %8748) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8750:                                             ; preds = %8721
  %8751 = add nsw i32 %8722, 2
  store i32 %8751, ptr @test_count, align 4, !tbaa !5
  %8752 = call i32 @s2n_wipe_connections(ptr noundef nonnull %8426, ptr noundef nonnull %8479, ptr noundef nonnull %35)
  %8753 = call zeroext i1 @s2n_result_is_ok(i32 %8752)
  br i1 %8753, label %8776, label %8754

8754:                                             ; preds = %8750
  %8755 = load i32, ptr %2293, align 4, !tbaa !5
  %8756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8757 = call i32 @s2n_print_stacktrace(ptr noundef %8756) #10
  %8758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8759 = trunc nuw i8 %8758 to i1
  br i1 %8759, label %8760, label %8764

8760:                                             ; preds = %8754
  %8761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8762 = call i32 @fileno(ptr noundef %8761) #10
  %8763 = call i32 @isatty(i32 noundef %8762) #10
  %.not1587 = icmp eq i32 %8763, 0
  br i1 %.not1587, label %8764, label %8765

8764:                                             ; preds = %8760, %8754
  br label %8765

8765:                                             ; preds = %8760, %8764
  %.str.66.sink4945 = phi ptr [ @.str.66, %8764 ], [ @.str.63, %8760 ]
  store i32 %8755, ptr %2293, align 4, !tbaa !5
  %8766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8767 = load i32, ptr @test_count, align 4, !tbaa !5
  %8768 = load i32, ptr %2239, align 4, !tbaa !5
  %8769 = call ptr @s2n_strerror(i32 noundef %8768, ptr noundef nonnull @.str.65) #10
  %8770 = load i32, ptr %2239, align 4, !tbaa !5
  %8771 = call ptr @s2n_strerror_debug(i32 noundef %8770, ptr noundef nonnull @.str.65) #10
  %8772 = load i32, ptr %2293, align 4, !tbaa !5
  %8773 = call ptr @strerror(i32 noundef %8772) #10
  %8774 = load i32, ptr %2293, align 4, !tbaa !5
  %8775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8766, ptr noundef nonnull %.str.66.sink4945, i32 noundef %8767, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 877, ptr noundef %8769, ptr noundef %8771, ptr noundef %8773, i32 noundef %8774) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8776:                                             ; preds = %8750
  %8777 = load i32, ptr @test_count, align 4, !tbaa !5
  %8778 = add nsw i32 %8777, 1
  store i32 %8778, ptr @test_count, align 4, !tbaa !5
  %8779 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8479, ptr noundef nonnull %8044) #10
  %8780 = icmp eq i32 %8779, -1
  br i1 %8780, label %8781, label %8803

8781:                                             ; preds = %8776
  %8782 = load i32, ptr %2293, align 4, !tbaa !5
  %8783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8784 = call i32 @s2n_print_stacktrace(ptr noundef %8783) #10
  %8785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8786 = trunc nuw i8 %8785 to i1
  br i1 %8786, label %8787, label %8791

8787:                                             ; preds = %8781
  %8788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8789 = call i32 @fileno(ptr noundef %8788) #10
  %8790 = call i32 @isatty(i32 noundef %8789) #10
  %.not1755 = icmp eq i32 %8790, 0
  br i1 %.not1755, label %8791, label %8792

8791:                                             ; preds = %8787, %8781
  br label %8792

8792:                                             ; preds = %8787, %8791
  %.str.66.sink4954 = phi ptr [ @.str.66, %8791 ], [ @.str.63, %8787 ]
  store i32 %8782, ptr %2293, align 4, !tbaa !5
  %8793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8794 = load i32, ptr @test_count, align 4, !tbaa !5
  %8795 = load i32, ptr %2239, align 4, !tbaa !5
  %8796 = call ptr @s2n_strerror(i32 noundef %8795, ptr noundef nonnull @.str.65) #10
  %8797 = load i32, ptr %2239, align 4, !tbaa !5
  %8798 = call ptr @s2n_strerror_debug(i32 noundef %8797, ptr noundef nonnull @.str.65) #10
  %8799 = load i32, ptr %2293, align 4, !tbaa !5
  %8800 = call ptr @strerror(i32 noundef %8799) #10
  %8801 = load i32, ptr %2293, align 4, !tbaa !5
  %8802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8793, ptr noundef nonnull %.str.66.sink4954, i32 noundef %8794, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.62, i32 noundef 882, ptr noundef %8796, ptr noundef %8798, ptr noundef %8800, i32 noundef %8801) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8803:                                             ; preds = %8776
  %8804 = load i32, ptr @test_count, align 4, !tbaa !5
  %8805 = add nsw i32 %8804, 1
  store i32 %8805, ptr @test_count, align 4, !tbaa !5
  %8806 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8479, ptr noundef nonnull %8426) #10
  %8807 = icmp eq i32 %8806, -1
  br i1 %8807, label %8808, label %8830

8808:                                             ; preds = %8803
  %8809 = load i32, ptr %2293, align 4, !tbaa !5
  %8810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8811 = call i32 @s2n_print_stacktrace(ptr noundef %8810) #10
  %8812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8813 = trunc nuw i8 %8812 to i1
  br i1 %8813, label %8814, label %8818

8814:                                             ; preds = %8808
  %8815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8816 = call i32 @fileno(ptr noundef %8815) #10
  %8817 = call i32 @isatty(i32 noundef %8816) #10
  %.not1754 = icmp eq i32 %8817, 0
  br i1 %.not1754, label %8818, label %8819

8818:                                             ; preds = %8814, %8808
  br label %8819

8819:                                             ; preds = %8814, %8818
  %.str.66.sink4963 = phi ptr [ @.str.66, %8818 ], [ @.str.63, %8814 ]
  store i32 %8809, ptr %2293, align 4, !tbaa !5
  %8820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8821 = load i32, ptr @test_count, align 4, !tbaa !5
  %8822 = load i32, ptr %2239, align 4, !tbaa !5
  %8823 = call ptr @s2n_strerror(i32 noundef %8822, ptr noundef nonnull @.str.65) #10
  %8824 = load i32, ptr %2239, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror_debug(i32 noundef %8824, ptr noundef nonnull @.str.65) #10
  %8826 = load i32, ptr %2293, align 4, !tbaa !5
  %8827 = call ptr @strerror(i32 noundef %8826) #10
  %8828 = load i32, ptr %2293, align 4, !tbaa !5
  %8829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8820, ptr noundef nonnull %.str.66.sink4963, i32 noundef %8821, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 884, ptr noundef %8823, ptr noundef %8825, ptr noundef %8827, i32 noundef %8828) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8830:                                             ; preds = %8803
  %8831 = load i32, ptr @test_count, align 4, !tbaa !5
  %8832 = add nsw i32 %8831, 1
  store i32 %8832, ptr @test_count, align 4, !tbaa !5
  %8833 = load i8, ptr %8615, align 4, !tbaa !59
  %8834 = icmp eq i8 %8833, 33
  br i1 %8834, label %8857, label %8835

8835:                                             ; preds = %8830
  %8836 = load i32, ptr %2293, align 4, !tbaa !5
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @s2n_print_stacktrace(ptr noundef %8837) #10
  %8839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8840 = trunc nuw i8 %8839 to i1
  br i1 %8840, label %8841, label %8845

8841:                                             ; preds = %8835
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = call i32 @fileno(ptr noundef %8842) #10
  %8844 = call i32 @isatty(i32 noundef %8843) #10
  %.not1588 = icmp eq i32 %8844, 0
  br i1 %.not1588, label %8845, label %8846

8845:                                             ; preds = %8841, %8835
  br label %8846

8846:                                             ; preds = %8841, %8845
  %.str.66.sink4972 = phi ptr [ @.str.66, %8845 ], [ @.str.63, %8841 ]
  store i32 %8836, ptr %2293, align 4, !tbaa !5
  %8847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8848 = load i32, ptr @test_count, align 4, !tbaa !5
  %8849 = load i32, ptr %2239, align 4, !tbaa !5
  %8850 = call ptr @s2n_strerror(i32 noundef %8849, ptr noundef nonnull @.str.65) #10
  %8851 = load i32, ptr %2239, align 4, !tbaa !5
  %8852 = call ptr @s2n_strerror_debug(i32 noundef %8851, ptr noundef nonnull @.str.65) #10
  %8853 = load i32, ptr %2293, align 4, !tbaa !5
  %8854 = call ptr @strerror(i32 noundef %8853) #10
  %8855 = load i32, ptr %2293, align 4, !tbaa !5
  %8856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8847, ptr noundef nonnull %.str.66.sink4972, i32 noundef %8848, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 885, ptr noundef %8850, ptr noundef %8852, ptr noundef %8854, i32 noundef %8855) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8857:                                             ; preds = %8830
  %8858 = add nsw i32 %8831, 2
  store i32 %8858, ptr @test_count, align 4, !tbaa !5
  %8859 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %8479, i32 noundef 2) #10
  br i1 %8859, label %8882, label %8860

8860:                                             ; preds = %8857
  %8861 = load i32, ptr %2293, align 4, !tbaa !5
  %8862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8863 = call i32 @s2n_print_stacktrace(ptr noundef %8862) #10
  %8864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8865 = trunc nuw i8 %8864 to i1
  br i1 %8865, label %8866, label %8870

8866:                                             ; preds = %8860
  %8867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8868 = call i32 @fileno(ptr noundef %8867) #10
  %8869 = call i32 @isatty(i32 noundef %8868) #10
  %.not1589 = icmp eq i32 %8869, 0
  br i1 %.not1589, label %8870, label %8871

8870:                                             ; preds = %8866, %8860
  br label %8871

8871:                                             ; preds = %8866, %8870
  %.str.66.sink4981 = phi ptr [ @.str.66, %8870 ], [ @.str.63, %8866 ]
  store i32 %8861, ptr %2293, align 4, !tbaa !5
  %8872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8873 = load i32, ptr @test_count, align 4, !tbaa !5
  %8874 = load i32, ptr %2239, align 4, !tbaa !5
  %8875 = call ptr @s2n_strerror(i32 noundef %8874, ptr noundef nonnull @.str.65) #10
  %8876 = load i32, ptr %2239, align 4, !tbaa !5
  %8877 = call ptr @s2n_strerror_debug(i32 noundef %8876, ptr noundef nonnull @.str.65) #10
  %8878 = load i32, ptr %2293, align 4, !tbaa !5
  %8879 = call ptr @strerror(i32 noundef %8878) #10
  %8880 = load i32, ptr %2293, align 4, !tbaa !5
  %8881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8872, ptr noundef nonnull %.str.66.sink4981, i32 noundef %8873, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 886, ptr noundef %8875, ptr noundef %8877, ptr noundef %8879, i32 noundef %8880) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8882:                                             ; preds = %8857
  %8883 = load i32, ptr @test_count, align 4, !tbaa !5
  %8884 = add nsw i32 %8883, 1
  store i32 %8884, ptr @test_count, align 4, !tbaa !5
  %8885 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef nonnull %8479, i32 noundef 64) #10
  br i1 %8885, label %8886, label %8908

8886:                                             ; preds = %8882
  %8887 = load i32, ptr %2293, align 4, !tbaa !5
  %8888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8889 = call i32 @s2n_print_stacktrace(ptr noundef %8888) #10
  %8890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8891 = trunc nuw i8 %8890 to i1
  br i1 %8891, label %8892, label %8896

8892:                                             ; preds = %8886
  %8893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8894 = call i32 @fileno(ptr noundef %8893) #10
  %8895 = call i32 @isatty(i32 noundef %8894) #10
  %.not1753 = icmp eq i32 %8895, 0
  br i1 %.not1753, label %8896, label %8897

8896:                                             ; preds = %8892, %8886
  br label %8897

8897:                                             ; preds = %8892, %8896
  %.str.66.sink4990 = phi ptr [ @.str.66, %8896 ], [ @.str.63, %8892 ]
  store i32 %8887, ptr %2293, align 4, !tbaa !5
  %8898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8899 = load i32, ptr @test_count, align 4, !tbaa !5
  %8900 = load i32, ptr %2239, align 4, !tbaa !5
  %8901 = call ptr @s2n_strerror(i32 noundef %8900, ptr noundef nonnull @.str.65) #10
  %8902 = load i32, ptr %2239, align 4, !tbaa !5
  %8903 = call ptr @s2n_strerror_debug(i32 noundef %8902, ptr noundef nonnull @.str.65) #10
  %8904 = load i32, ptr %2293, align 4, !tbaa !5
  %8905 = call ptr @strerror(i32 noundef %8904) #10
  %8906 = load i32, ptr %2293, align 4, !tbaa !5
  %8907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8898, ptr noundef nonnull %.str.66.sink4990, i32 noundef %8899, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.62, i32 noundef 887, ptr noundef %8901, ptr noundef %8903, ptr noundef %8905, i32 noundef %8906) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8908:                                             ; preds = %8882
  %8909 = load i32, ptr @test_count, align 4, !tbaa !5
  %8910 = add nsw i32 %8909, 1
  store i32 %8910, ptr @test_count, align 4, !tbaa !5
  %8911 = call i32 @s2n_wipe_connections(ptr noundef nonnull %8426, ptr noundef nonnull %8479, ptr noundef nonnull %35)
  %8912 = call zeroext i1 @s2n_result_is_ok(i32 %8911)
  br i1 %8912, label %8935, label %8913

8913:                                             ; preds = %8908
  %8914 = load i32, ptr %2293, align 4, !tbaa !5
  %8915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8916 = call i32 @s2n_print_stacktrace(ptr noundef %8915) #10
  %8917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8918 = trunc nuw i8 %8917 to i1
  br i1 %8918, label %8919, label %8923

8919:                                             ; preds = %8913
  %8920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8921 = call i32 @fileno(ptr noundef %8920) #10
  %8922 = call i32 @isatty(i32 noundef %8921) #10
  %.not1590 = icmp eq i32 %8922, 0
  br i1 %.not1590, label %8923, label %8924

8923:                                             ; preds = %8919, %8913
  br label %8924

8924:                                             ; preds = %8919, %8923
  %.str.66.sink4999 = phi ptr [ @.str.66, %8923 ], [ @.str.63, %8919 ]
  store i32 %8914, ptr %2293, align 4, !tbaa !5
  %8925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8926 = load i32, ptr @test_count, align 4, !tbaa !5
  %8927 = load i32, ptr %2239, align 4, !tbaa !5
  %8928 = call ptr @s2n_strerror(i32 noundef %8927, ptr noundef nonnull @.str.65) #10
  %8929 = load i32, ptr %2239, align 4, !tbaa !5
  %8930 = call ptr @s2n_strerror_debug(i32 noundef %8929, ptr noundef nonnull @.str.65) #10
  %8931 = load i32, ptr %2293, align 4, !tbaa !5
  %8932 = call ptr @strerror(i32 noundef %8931) #10
  %8933 = load i32, ptr %2293, align 4, !tbaa !5
  %8934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8925, ptr noundef nonnull %.str.66.sink4999, i32 noundef %8926, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 889, ptr noundef %8928, ptr noundef %8930, ptr noundef %8932, i32 noundef %8933) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8935:                                             ; preds = %8908
  %8936 = load i32, ptr @test_count, align 4, !tbaa !5
  %8937 = add nsw i32 %8936, 1
  store i32 %8937, ptr @test_count, align 4, !tbaa !5
  %8938 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8479, ptr noundef nonnull %8155) #10
  %8939 = icmp eq i32 %8938, -1
  br i1 %8939, label %8940, label %8962

8940:                                             ; preds = %8935
  %8941 = load i32, ptr %2293, align 4, !tbaa !5
  %8942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8943 = call i32 @s2n_print_stacktrace(ptr noundef %8942) #10
  %8944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8945 = trunc nuw i8 %8944 to i1
  br i1 %8945, label %8946, label %8950

8946:                                             ; preds = %8940
  %8947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8948 = call i32 @fileno(ptr noundef %8947) #10
  %8949 = call i32 @isatty(i32 noundef %8948) #10
  %.not1752 = icmp eq i32 %8949, 0
  br i1 %.not1752, label %8950, label %8951

8950:                                             ; preds = %8946, %8940
  br label %8951

8951:                                             ; preds = %8946, %8950
  %.str.66.sink5008 = phi ptr [ @.str.66, %8950 ], [ @.str.63, %8946 ]
  store i32 %8941, ptr %2293, align 4, !tbaa !5
  %8952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8953 = load i32, ptr @test_count, align 4, !tbaa !5
  %8954 = load i32, ptr %2239, align 4, !tbaa !5
  %8955 = call ptr @s2n_strerror(i32 noundef %8954, ptr noundef nonnull @.str.65) #10
  %8956 = load i32, ptr %2239, align 4, !tbaa !5
  %8957 = call ptr @s2n_strerror_debug(i32 noundef %8956, ptr noundef nonnull @.str.65) #10
  %8958 = load i32, ptr %2293, align 4, !tbaa !5
  %8959 = call ptr @strerror(i32 noundef %8958) #10
  %8960 = load i32, ptr %2293, align 4, !tbaa !5
  %8961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8952, ptr noundef nonnull %.str.66.sink5008, i32 noundef %8953, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.62, i32 noundef 894, ptr noundef %8955, ptr noundef %8957, ptr noundef %8959, i32 noundef %8960) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8962:                                             ; preds = %8935
  %8963 = load i32, ptr @test_count, align 4, !tbaa !5
  %8964 = add nsw i32 %8963, 1
  store i32 %8964, ptr @test_count, align 4, !tbaa !5
  %8965 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8479, ptr noundef nonnull %8426) #10
  %8966 = icmp eq i32 %8965, -1
  br i1 %8966, label %8967, label %8989

8967:                                             ; preds = %8962
  %8968 = load i32, ptr %2293, align 4, !tbaa !5
  %8969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8970 = call i32 @s2n_print_stacktrace(ptr noundef %8969) #10
  %8971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8972 = trunc nuw i8 %8971 to i1
  br i1 %8972, label %8973, label %8977

8973:                                             ; preds = %8967
  %8974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8975 = call i32 @fileno(ptr noundef %8974) #10
  %8976 = call i32 @isatty(i32 noundef %8975) #10
  %.not1751 = icmp eq i32 %8976, 0
  br i1 %.not1751, label %8977, label %8978

8977:                                             ; preds = %8973, %8967
  br label %8978

8978:                                             ; preds = %8973, %8977
  %.str.66.sink5017 = phi ptr [ @.str.66, %8977 ], [ @.str.63, %8973 ]
  store i32 %8968, ptr %2293, align 4, !tbaa !5
  %8979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8980 = load i32, ptr @test_count, align 4, !tbaa !5
  %8981 = load i32, ptr %2239, align 4, !tbaa !5
  %8982 = call ptr @s2n_strerror(i32 noundef %8981, ptr noundef nonnull @.str.65) #10
  %8983 = load i32, ptr %2239, align 4, !tbaa !5
  %8984 = call ptr @s2n_strerror_debug(i32 noundef %8983, ptr noundef nonnull @.str.65) #10
  %8985 = load i32, ptr %2293, align 4, !tbaa !5
  %8986 = call ptr @strerror(i32 noundef %8985) #10
  %8987 = load i32, ptr %2293, align 4, !tbaa !5
  %8988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8979, ptr noundef nonnull %.str.66.sink5017, i32 noundef %8980, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 896, ptr noundef %8982, ptr noundef %8984, ptr noundef %8986, i32 noundef %8987) #12
  call void @exit(i32 noundef 1) #13
  unreachable

8989:                                             ; preds = %8962
  %8990 = load i32, ptr @test_count, align 4, !tbaa !5
  %8991 = add nsw i32 %8990, 1
  store i32 %8991, ptr @test_count, align 4, !tbaa !5
  %8992 = load i8, ptr %8615, align 4, !tbaa !59
  %8993 = icmp eq i8 %8992, 33
  br i1 %8993, label %9016, label %8994

8994:                                             ; preds = %8989
  %8995 = load i32, ptr %2293, align 4, !tbaa !5
  %8996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8997 = call i32 @s2n_print_stacktrace(ptr noundef %8996) #10
  %8998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8999 = trunc nuw i8 %8998 to i1
  br i1 %8999, label %9000, label %9004

9000:                                             ; preds = %8994
  %9001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9002 = call i32 @fileno(ptr noundef %9001) #10
  %9003 = call i32 @isatty(i32 noundef %9002) #10
  %.not1591 = icmp eq i32 %9003, 0
  br i1 %.not1591, label %9004, label %9005

9004:                                             ; preds = %9000, %8994
  br label %9005

9005:                                             ; preds = %9000, %9004
  %.str.66.sink5026 = phi ptr [ @.str.66, %9004 ], [ @.str.63, %9000 ]
  store i32 %8995, ptr %2293, align 4, !tbaa !5
  %9006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9007 = load i32, ptr @test_count, align 4, !tbaa !5
  %9008 = load i32, ptr %2239, align 4, !tbaa !5
  %9009 = call ptr @s2n_strerror(i32 noundef %9008, ptr noundef nonnull @.str.65) #10
  %9010 = load i32, ptr %2239, align 4, !tbaa !5
  %9011 = call ptr @s2n_strerror_debug(i32 noundef %9010, ptr noundef nonnull @.str.65) #10
  %9012 = load i32, ptr %2293, align 4, !tbaa !5
  %9013 = call ptr @strerror(i32 noundef %9012) #10
  %9014 = load i32, ptr %2293, align 4, !tbaa !5
  %9015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9006, ptr noundef nonnull %.str.66.sink5026, i32 noundef %9007, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 897, ptr noundef %9009, ptr noundef %9011, ptr noundef %9013, i32 noundef %9014) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9016:                                             ; preds = %8989
  %9017 = add nsw i32 %8990, 2
  store i32 %9017, ptr @test_count, align 4, !tbaa !5
  %9018 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %8479, i32 noundef 2) #10
  br i1 %9018, label %9041, label %9019

9019:                                             ; preds = %9016
  %9020 = load i32, ptr %2293, align 4, !tbaa !5
  %9021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9022 = call i32 @s2n_print_stacktrace(ptr noundef %9021) #10
  %9023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9024 = trunc nuw i8 %9023 to i1
  br i1 %9024, label %9025, label %9029

9025:                                             ; preds = %9019
  %9026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9027 = call i32 @fileno(ptr noundef %9026) #10
  %9028 = call i32 @isatty(i32 noundef %9027) #10
  %.not1592 = icmp eq i32 %9028, 0
  br i1 %.not1592, label %9029, label %9030

9029:                                             ; preds = %9025, %9019
  br label %9030

9030:                                             ; preds = %9025, %9029
  %.str.66.sink5035 = phi ptr [ @.str.66, %9029 ], [ @.str.63, %9025 ]
  store i32 %9020, ptr %2293, align 4, !tbaa !5
  %9031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9032 = load i32, ptr @test_count, align 4, !tbaa !5
  %9033 = load i32, ptr %2239, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror(i32 noundef %9033, ptr noundef nonnull @.str.65) #10
  %9035 = load i32, ptr %2239, align 4, !tbaa !5
  %9036 = call ptr @s2n_strerror_debug(i32 noundef %9035, ptr noundef nonnull @.str.65) #10
  %9037 = load i32, ptr %2293, align 4, !tbaa !5
  %9038 = call ptr @strerror(i32 noundef %9037) #10
  %9039 = load i32, ptr %2293, align 4, !tbaa !5
  %9040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9031, ptr noundef nonnull %.str.66.sink5035, i32 noundef %9032, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 898, ptr noundef %9034, ptr noundef %9036, ptr noundef %9038, i32 noundef %9039) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9041:                                             ; preds = %9016
  %9042 = load i32, ptr @test_count, align 4, !tbaa !5
  %9043 = add nsw i32 %9042, 1
  store i32 %9043, ptr @test_count, align 4, !tbaa !5
  %9044 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef nonnull %8479, i32 noundef 64) #10
  br i1 %9044, label %9045, label %9067

9045:                                             ; preds = %9041
  %9046 = load i32, ptr %2293, align 4, !tbaa !5
  %9047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9048 = call i32 @s2n_print_stacktrace(ptr noundef %9047) #10
  %9049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9050 = trunc nuw i8 %9049 to i1
  br i1 %9050, label %9051, label %9055

9051:                                             ; preds = %9045
  %9052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9053 = call i32 @fileno(ptr noundef %9052) #10
  %9054 = call i32 @isatty(i32 noundef %9053) #10
  %.not1750 = icmp eq i32 %9054, 0
  br i1 %.not1750, label %9055, label %9056

9055:                                             ; preds = %9051, %9045
  br label %9056

9056:                                             ; preds = %9051, %9055
  %.str.66.sink5044 = phi ptr [ @.str.66, %9055 ], [ @.str.63, %9051 ]
  store i32 %9046, ptr %2293, align 4, !tbaa !5
  %9057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9058 = load i32, ptr @test_count, align 4, !tbaa !5
  %9059 = load i32, ptr %2239, align 4, !tbaa !5
  %9060 = call ptr @s2n_strerror(i32 noundef %9059, ptr noundef nonnull @.str.65) #10
  %9061 = load i32, ptr %2239, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror_debug(i32 noundef %9061, ptr noundef nonnull @.str.65) #10
  %9063 = load i32, ptr %2293, align 4, !tbaa !5
  %9064 = call ptr @strerror(i32 noundef %9063) #10
  %9065 = load i32, ptr %2293, align 4, !tbaa !5
  %9066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9057, ptr noundef nonnull %.str.66.sink5044, i32 noundef %9058, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.62, i32 noundef 899, ptr noundef %9060, ptr noundef %9062, ptr noundef %9064, i32 noundef %9065) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9067:                                             ; preds = %9041
  %9068 = load i32, ptr @test_count, align 4, !tbaa !5
  %9069 = add nsw i32 %9068, 1
  store i32 %9069, ptr @test_count, align 4, !tbaa !5
  %9070 = call i32 @s2n_wipe_connections(ptr noundef nonnull %8426, ptr noundef nonnull %8479, ptr noundef nonnull %35)
  %9071 = call zeroext i1 @s2n_result_is_ok(i32 %9070)
  br i1 %9071, label %9094, label %9072

9072:                                             ; preds = %9067
  %9073 = load i32, ptr %2293, align 4, !tbaa !5
  %9074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9075 = call i32 @s2n_print_stacktrace(ptr noundef %9074) #10
  %9076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9077 = trunc nuw i8 %9076 to i1
  br i1 %9077, label %9078, label %9082

9078:                                             ; preds = %9072
  %9079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9080 = call i32 @fileno(ptr noundef %9079) #10
  %9081 = call i32 @isatty(i32 noundef %9080) #10
  %.not1593 = icmp eq i32 %9081, 0
  br i1 %.not1593, label %9082, label %9083

9082:                                             ; preds = %9078, %9072
  br label %9083

9083:                                             ; preds = %9078, %9082
  %.str.66.sink5053 = phi ptr [ @.str.66, %9082 ], [ @.str.63, %9078 ]
  store i32 %9073, ptr %2293, align 4, !tbaa !5
  %9084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9085 = load i32, ptr @test_count, align 4, !tbaa !5
  %9086 = load i32, ptr %2239, align 4, !tbaa !5
  %9087 = call ptr @s2n_strerror(i32 noundef %9086, ptr noundef nonnull @.str.65) #10
  %9088 = load i32, ptr %2239, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror_debug(i32 noundef %9088, ptr noundef nonnull @.str.65) #10
  %9090 = load i32, ptr %2293, align 4, !tbaa !5
  %9091 = call ptr @strerror(i32 noundef %9090) #10
  %9092 = load i32, ptr %2293, align 4, !tbaa !5
  %9093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9084, ptr noundef nonnull %.str.66.sink5053, i32 noundef %9085, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 901, ptr noundef %9087, ptr noundef %9089, ptr noundef %9091, i32 noundef %9092) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9094:                                             ; preds = %9067
  %9095 = load i32, ptr @test_count, align 4, !tbaa !5
  %9096 = add nsw i32 %9095, 1
  store i32 %9096, ptr @test_count, align 4, !tbaa !5
  %9097 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8479, ptr noundef nonnull %225) #10
  %9098 = icmp eq i32 %9097, -1
  br i1 %9098, label %9099, label %9121

9099:                                             ; preds = %9094
  %9100 = load i32, ptr %2293, align 4, !tbaa !5
  %9101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9102 = call i32 @s2n_print_stacktrace(ptr noundef %9101) #10
  %9103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9104 = trunc nuw i8 %9103 to i1
  br i1 %9104, label %9105, label %9109

9105:                                             ; preds = %9099
  %9106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9107 = call i32 @fileno(ptr noundef %9106) #10
  %9108 = call i32 @isatty(i32 noundef %9107) #10
  %.not1749 = icmp eq i32 %9108, 0
  br i1 %.not1749, label %9109, label %9110

9109:                                             ; preds = %9105, %9099
  br label %9110

9110:                                             ; preds = %9105, %9109
  %.str.66.sink5062 = phi ptr [ @.str.66, %9109 ], [ @.str.63, %9105 ]
  store i32 %9100, ptr %2293, align 4, !tbaa !5
  %9111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9112 = load i32, ptr @test_count, align 4, !tbaa !5
  %9113 = load i32, ptr %2239, align 4, !tbaa !5
  %9114 = call ptr @s2n_strerror(i32 noundef %9113, ptr noundef nonnull @.str.65) #10
  %9115 = load i32, ptr %2239, align 4, !tbaa !5
  %9116 = call ptr @s2n_strerror_debug(i32 noundef %9115, ptr noundef nonnull @.str.65) #10
  %9117 = load i32, ptr %2293, align 4, !tbaa !5
  %9118 = call ptr @strerror(i32 noundef %9117) #10
  %9119 = load i32, ptr %2293, align 4, !tbaa !5
  %9120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9111, ptr noundef nonnull %.str.66.sink5062, i32 noundef %9112, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 906, ptr noundef %9114, ptr noundef %9116, ptr noundef %9118, i32 noundef %9119) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9121:                                             ; preds = %9094
  %9122 = load i32, ptr @test_count, align 4, !tbaa !5
  %9123 = add nsw i32 %9122, 1
  store i32 %9123, ptr @test_count, align 4, !tbaa !5
  %9124 = load ptr, ptr %34, align 8, !tbaa !24
  %9125 = load i32, ptr %8724, align 4, !tbaa !20
  %9126 = load i32, ptr %8726, align 8, !tbaa !23
  %9127 = sub i32 %9125, %9126
  %9128 = zext i32 %9127 to i64
  %9129 = call i32 @s2n_connection_set_session(ptr noundef nonnull %8426, ptr noundef %9124, i64 noundef %9128)
  %9130 = icmp eq i32 %9129, -1
  br i1 %9130, label %9131, label %9153

9131:                                             ; preds = %9121
  %9132 = load i32, ptr %2293, align 4, !tbaa !5
  %9133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9134 = call i32 @s2n_print_stacktrace(ptr noundef %9133) #10
  %9135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9136 = trunc nuw i8 %9135 to i1
  br i1 %9136, label %9137, label %9141

9137:                                             ; preds = %9131
  %9138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9139 = call i32 @fileno(ptr noundef %9138) #10
  %9140 = call i32 @isatty(i32 noundef %9139) #10
  %.not1748 = icmp eq i32 %9140, 0
  br i1 %.not1748, label %9141, label %9142

9141:                                             ; preds = %9137, %9131
  br label %9142

9142:                                             ; preds = %9137, %9141
  %.str.66.sink5071 = phi ptr [ @.str.66, %9141 ], [ @.str.63, %9137 ]
  store i32 %9132, ptr %2293, align 4, !tbaa !5
  %9143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9144 = load i32, ptr @test_count, align 4, !tbaa !5
  %9145 = load i32, ptr %2239, align 4, !tbaa !5
  %9146 = call ptr @s2n_strerror(i32 noundef %9145, ptr noundef nonnull @.str.65) #10
  %9147 = load i32, ptr %2239, align 4, !tbaa !5
  %9148 = call ptr @s2n_strerror_debug(i32 noundef %9147, ptr noundef nonnull @.str.65) #10
  %9149 = load i32, ptr %2293, align 4, !tbaa !5
  %9150 = call ptr @strerror(i32 noundef %9149) #10
  %9151 = load i32, ptr %2293, align 4, !tbaa !5
  %9152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9143, ptr noundef nonnull %.str.66.sink5071, i32 noundef %9144, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.62, i32 noundef 908, ptr noundef %9146, ptr noundef %9148, ptr noundef %9150, i32 noundef %9151) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9153:                                             ; preds = %9121
  %9154 = load i32, ptr @test_count, align 4, !tbaa !5
  %9155 = add nsw i32 %9154, 1
  store i32 %9155, ptr @test_count, align 4, !tbaa !5
  %9156 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8479, ptr noundef nonnull %8426) #10
  %9157 = icmp eq i32 %9156, -1
  br i1 %9157, label %9158, label %9180

9158:                                             ; preds = %9153
  %9159 = load i32, ptr %2293, align 4, !tbaa !5
  %9160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9161 = call i32 @s2n_print_stacktrace(ptr noundef %9160) #10
  %9162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9163 = trunc nuw i8 %9162 to i1
  br i1 %9163, label %9164, label %9168

9164:                                             ; preds = %9158
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = call i32 @fileno(ptr noundef %9165) #10
  %9167 = call i32 @isatty(i32 noundef %9166) #10
  %.not1747 = icmp eq i32 %9167, 0
  br i1 %.not1747, label %9168, label %9169

9168:                                             ; preds = %9164, %9158
  br label %9169

9169:                                             ; preds = %9164, %9168
  %.str.66.sink5080 = phi ptr [ @.str.66, %9168 ], [ @.str.63, %9164 ]
  store i32 %9159, ptr %2293, align 4, !tbaa !5
  %9170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9171 = load i32, ptr @test_count, align 4, !tbaa !5
  %9172 = load i32, ptr %2239, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror(i32 noundef %9172, ptr noundef nonnull @.str.65) #10
  %9174 = load i32, ptr %2239, align 4, !tbaa !5
  %9175 = call ptr @s2n_strerror_debug(i32 noundef %9174, ptr noundef nonnull @.str.65) #10
  %9176 = load i32, ptr %2293, align 4, !tbaa !5
  %9177 = call ptr @strerror(i32 noundef %9176) #10
  %9178 = load i32, ptr %2293, align 4, !tbaa !5
  %9179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9170, ptr noundef nonnull %.str.66.sink5080, i32 noundef %9171, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 910, ptr noundef %9173, ptr noundef %9175, ptr noundef %9177, i32 noundef %9178) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9180:                                             ; preds = %9153
  %9181 = load i32, ptr @test_count, align 4, !tbaa !5
  %9182 = add nsw i32 %9181, 1
  store i32 %9182, ptr @test_count, align 4, !tbaa !5
  %9183 = load i8, ptr %8615, align 4, !tbaa !59
  %9184 = icmp eq i8 %9183, 33
  br i1 %9184, label %9207, label %9185

9185:                                             ; preds = %9180
  %9186 = load i32, ptr %2293, align 4, !tbaa !5
  %9187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9188 = call i32 @s2n_print_stacktrace(ptr noundef %9187) #10
  %9189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9190 = trunc nuw i8 %9189 to i1
  br i1 %9190, label %9191, label %9195

9191:                                             ; preds = %9185
  %9192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9193 = call i32 @fileno(ptr noundef %9192) #10
  %9194 = call i32 @isatty(i32 noundef %9193) #10
  %.not1594 = icmp eq i32 %9194, 0
  br i1 %.not1594, label %9195, label %9196

9195:                                             ; preds = %9191, %9185
  br label %9196

9196:                                             ; preds = %9191, %9195
  %.str.66.sink5089 = phi ptr [ @.str.66, %9195 ], [ @.str.63, %9191 ]
  store i32 %9186, ptr %2293, align 4, !tbaa !5
  %9197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9198 = load i32, ptr @test_count, align 4, !tbaa !5
  %9199 = load i32, ptr %2239, align 4, !tbaa !5
  %9200 = call ptr @s2n_strerror(i32 noundef %9199, ptr noundef nonnull @.str.65) #10
  %9201 = load i32, ptr %2239, align 4, !tbaa !5
  %9202 = call ptr @s2n_strerror_debug(i32 noundef %9201, ptr noundef nonnull @.str.65) #10
  %9203 = load i32, ptr %2293, align 4, !tbaa !5
  %9204 = call ptr @strerror(i32 noundef %9203) #10
  %9205 = load i32, ptr %2293, align 4, !tbaa !5
  %9206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9197, ptr noundef nonnull %.str.66.sink5089, i32 noundef %9198, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 911, ptr noundef %9200, ptr noundef %9202, ptr noundef %9204, i32 noundef %9205) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9207:                                             ; preds = %9180
  %9208 = add nsw i32 %9181, 2
  store i32 %9208, ptr @test_count, align 4, !tbaa !5
  %9209 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %8479, i32 noundef 2) #10
  br i1 %9209, label %9210, label %9232

9210:                                             ; preds = %9207
  %9211 = load i32, ptr %2293, align 4, !tbaa !5
  %9212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9213 = call i32 @s2n_print_stacktrace(ptr noundef %9212) #10
  %9214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9215 = trunc nuw i8 %9214 to i1
  br i1 %9215, label %9216, label %9220

9216:                                             ; preds = %9210
  %9217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9218 = call i32 @fileno(ptr noundef %9217) #10
  %9219 = call i32 @isatty(i32 noundef %9218) #10
  %.not1746 = icmp eq i32 %9219, 0
  br i1 %.not1746, label %9220, label %9221

9220:                                             ; preds = %9216, %9210
  br label %9221

9221:                                             ; preds = %9216, %9220
  %.str.66.sink5098 = phi ptr [ @.str.66, %9220 ], [ @.str.63, %9216 ]
  store i32 %9211, ptr %2293, align 4, !tbaa !5
  %9222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9223 = load i32, ptr @test_count, align 4, !tbaa !5
  %9224 = load i32, ptr %2239, align 4, !tbaa !5
  %9225 = call ptr @s2n_strerror(i32 noundef %9224, ptr noundef nonnull @.str.65) #10
  %9226 = load i32, ptr %2239, align 4, !tbaa !5
  %9227 = call ptr @s2n_strerror_debug(i32 noundef %9226, ptr noundef nonnull @.str.65) #10
  %9228 = load i32, ptr %2293, align 4, !tbaa !5
  %9229 = call ptr @strerror(i32 noundef %9228) #10
  %9230 = load i32, ptr %2293, align 4, !tbaa !5
  %9231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9222, ptr noundef nonnull %.str.66.sink5098, i32 noundef %9223, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.62, i32 noundef 912, ptr noundef %9225, ptr noundef %9227, ptr noundef %9229, i32 noundef %9230) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9232:                                             ; preds = %9207
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = add nsw i32 %9233, 1
  store i32 %9234, ptr @test_count, align 4, !tbaa !5
  %9235 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef nonnull %8479, i32 noundef 64) #10
  br i1 %9235, label %9236, label %9258

9236:                                             ; preds = %9232
  %9237 = load i32, ptr %2293, align 4, !tbaa !5
  %9238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9239 = call i32 @s2n_print_stacktrace(ptr noundef %9238) #10
  %9240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9241 = trunc nuw i8 %9240 to i1
  br i1 %9241, label %9242, label %9246

9242:                                             ; preds = %9236
  %9243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9244 = call i32 @fileno(ptr noundef %9243) #10
  %9245 = call i32 @isatty(i32 noundef %9244) #10
  %.not1745 = icmp eq i32 %9245, 0
  br i1 %.not1745, label %9246, label %9247

9246:                                             ; preds = %9242, %9236
  br label %9247

9247:                                             ; preds = %9242, %9246
  %.str.66.sink5107 = phi ptr [ @.str.66, %9246 ], [ @.str.63, %9242 ]
  store i32 %9237, ptr %2293, align 4, !tbaa !5
  %9248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9249 = load i32, ptr @test_count, align 4, !tbaa !5
  %9250 = load i32, ptr %2239, align 4, !tbaa !5
  %9251 = call ptr @s2n_strerror(i32 noundef %9250, ptr noundef nonnull @.str.65) #10
  %9252 = load i32, ptr %2239, align 4, !tbaa !5
  %9253 = call ptr @s2n_strerror_debug(i32 noundef %9252, ptr noundef nonnull @.str.65) #10
  %9254 = load i32, ptr %2293, align 4, !tbaa !5
  %9255 = call ptr @strerror(i32 noundef %9254) #10
  %9256 = load i32, ptr %2293, align 4, !tbaa !5
  %9257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9248, ptr noundef nonnull %.str.66.sink5107, i32 noundef %9249, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.62, i32 noundef 913, ptr noundef %9251, ptr noundef %9253, ptr noundef %9255, i32 noundef %9256) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9258:                                             ; preds = %9232
  %9259 = load i32, ptr @test_count, align 4, !tbaa !5
  %9260 = add nsw i32 %9259, 1
  store i32 %9260, ptr @test_count, align 4, !tbaa !5
  %9261 = call i32 @s2n_wipe_connections(ptr noundef nonnull %8426, ptr noundef nonnull %8479, ptr noundef nonnull %35)
  %9262 = call zeroext i1 @s2n_result_is_ok(i32 %9261)
  br i1 %9262, label %9285, label %9263

9263:                                             ; preds = %9258
  %9264 = load i32, ptr %2293, align 4, !tbaa !5
  %9265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9266 = call i32 @s2n_print_stacktrace(ptr noundef %9265) #10
  %9267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9268 = trunc nuw i8 %9267 to i1
  br i1 %9268, label %9269, label %9273

9269:                                             ; preds = %9263
  %9270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9271 = call i32 @fileno(ptr noundef %9270) #10
  %9272 = call i32 @isatty(i32 noundef %9271) #10
  %.not1595 = icmp eq i32 %9272, 0
  br i1 %.not1595, label %9273, label %9274

9273:                                             ; preds = %9269, %9263
  br label %9274

9274:                                             ; preds = %9269, %9273
  %.str.66.sink5116 = phi ptr [ @.str.66, %9273 ], [ @.str.63, %9269 ]
  store i32 %9264, ptr %2293, align 4, !tbaa !5
  %9275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9276 = load i32, ptr @test_count, align 4, !tbaa !5
  %9277 = load i32, ptr %2239, align 4, !tbaa !5
  %9278 = call ptr @s2n_strerror(i32 noundef %9277, ptr noundef nonnull @.str.65) #10
  %9279 = load i32, ptr %2239, align 4, !tbaa !5
  %9280 = call ptr @s2n_strerror_debug(i32 noundef %9279, ptr noundef nonnull @.str.65) #10
  %9281 = load i32, ptr %2293, align 4, !tbaa !5
  %9282 = call ptr @strerror(i32 noundef %9281) #10
  %9283 = load i32, ptr %2293, align 4, !tbaa !5
  %9284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9275, ptr noundef nonnull %.str.66.sink5116, i32 noundef %9276, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 915, ptr noundef %9278, ptr noundef %9280, ptr noundef %9282, i32 noundef %9283) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9285:                                             ; preds = %9258
  %9286 = load i32, ptr @test_count, align 4, !tbaa !5
  %9287 = add nsw i32 %9286, 1
  store i32 %9287, ptr @test_count, align 4, !tbaa !5
  %9288 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8479, ptr noundef nonnull %8044) #10
  %9289 = icmp eq i32 %9288, -1
  br i1 %9289, label %9290, label %9312

9290:                                             ; preds = %9285
  %9291 = load i32, ptr %2293, align 4, !tbaa !5
  %9292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9293 = call i32 @s2n_print_stacktrace(ptr noundef %9292) #10
  %9294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9295 = trunc nuw i8 %9294 to i1
  br i1 %9295, label %9296, label %9300

9296:                                             ; preds = %9290
  %9297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9298 = call i32 @fileno(ptr noundef %9297) #10
  %9299 = call i32 @isatty(i32 noundef %9298) #10
  %.not1744 = icmp eq i32 %9299, 0
  br i1 %.not1744, label %9300, label %9301

9300:                                             ; preds = %9296, %9290
  br label %9301

9301:                                             ; preds = %9296, %9300
  %.str.66.sink5125 = phi ptr [ @.str.66, %9300 ], [ @.str.63, %9296 ]
  store i32 %9291, ptr %2293, align 4, !tbaa !5
  %9302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9303 = load i32, ptr @test_count, align 4, !tbaa !5
  %9304 = load i32, ptr %2239, align 4, !tbaa !5
  %9305 = call ptr @s2n_strerror(i32 noundef %9304, ptr noundef nonnull @.str.65) #10
  %9306 = load i32, ptr %2239, align 4, !tbaa !5
  %9307 = call ptr @s2n_strerror_debug(i32 noundef %9306, ptr noundef nonnull @.str.65) #10
  %9308 = load i32, ptr %2293, align 4, !tbaa !5
  %9309 = call ptr @strerror(i32 noundef %9308) #10
  %9310 = load i32, ptr %2293, align 4, !tbaa !5
  %9311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9302, ptr noundef nonnull %.str.66.sink5125, i32 noundef %9303, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.62, i32 noundef 920, ptr noundef %9305, ptr noundef %9307, ptr noundef %9309, i32 noundef %9310) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9312:                                             ; preds = %9285
  %9313 = load i32, ptr @test_count, align 4, !tbaa !5
  %9314 = add nsw i32 %9313, 1
  store i32 %9314, ptr @test_count, align 4, !tbaa !5
  %9315 = load ptr, ptr %34, align 8, !tbaa !24
  %9316 = load i32, ptr %8724, align 4, !tbaa !20
  %9317 = load i32, ptr %8726, align 8, !tbaa !23
  %9318 = sub i32 %9316, %9317
  %9319 = zext i32 %9318 to i64
  %9320 = call i32 @s2n_connection_set_session(ptr noundef nonnull %8426, ptr noundef %9315, i64 noundef %9319)
  %9321 = icmp eq i32 %9320, -1
  br i1 %9321, label %9322, label %9344

9322:                                             ; preds = %9312
  %9323 = load i32, ptr %2293, align 4, !tbaa !5
  %9324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9325 = call i32 @s2n_print_stacktrace(ptr noundef %9324) #10
  %9326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9327 = trunc nuw i8 %9326 to i1
  br i1 %9327, label %9328, label %9332

9328:                                             ; preds = %9322
  %9329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9330 = call i32 @fileno(ptr noundef %9329) #10
  %9331 = call i32 @isatty(i32 noundef %9330) #10
  %.not1743 = icmp eq i32 %9331, 0
  br i1 %.not1743, label %9332, label %9333

9332:                                             ; preds = %9328, %9322
  br label %9333

9333:                                             ; preds = %9328, %9332
  %.str.66.sink5134 = phi ptr [ @.str.66, %9332 ], [ @.str.63, %9328 ]
  store i32 %9323, ptr %2293, align 4, !tbaa !5
  %9334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9335 = load i32, ptr @test_count, align 4, !tbaa !5
  %9336 = load i32, ptr %2239, align 4, !tbaa !5
  %9337 = call ptr @s2n_strerror(i32 noundef %9336, ptr noundef nonnull @.str.65) #10
  %9338 = load i32, ptr %2239, align 4, !tbaa !5
  %9339 = call ptr @s2n_strerror_debug(i32 noundef %9338, ptr noundef nonnull @.str.65) #10
  %9340 = load i32, ptr %2293, align 4, !tbaa !5
  %9341 = call ptr @strerror(i32 noundef %9340) #10
  %9342 = load i32, ptr %2293, align 4, !tbaa !5
  %9343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9334, ptr noundef nonnull %.str.66.sink5134, i32 noundef %9335, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.62, i32 noundef 922, ptr noundef %9337, ptr noundef %9339, ptr noundef %9341, i32 noundef %9342) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9344:                                             ; preds = %9312
  %9345 = load i32, ptr @test_count, align 4, !tbaa !5
  %9346 = add nsw i32 %9345, 1
  store i32 %9346, ptr @test_count, align 4, !tbaa !5
  %9347 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8479, ptr noundef nonnull %8426) #10
  %9348 = icmp eq i32 %9347, -1
  br i1 %9348, label %9349, label %9371

9349:                                             ; preds = %9344
  %9350 = load i32, ptr %2293, align 4, !tbaa !5
  %9351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9352 = call i32 @s2n_print_stacktrace(ptr noundef %9351) #10
  %9353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9354 = trunc nuw i8 %9353 to i1
  br i1 %9354, label %9355, label %9359

9355:                                             ; preds = %9349
  %9356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9357 = call i32 @fileno(ptr noundef %9356) #10
  %9358 = call i32 @isatty(i32 noundef %9357) #10
  %.not1742 = icmp eq i32 %9358, 0
  br i1 %.not1742, label %9359, label %9360

9359:                                             ; preds = %9355, %9349
  br label %9360

9360:                                             ; preds = %9355, %9359
  %.str.66.sink5143 = phi ptr [ @.str.66, %9359 ], [ @.str.63, %9355 ]
  store i32 %9350, ptr %2293, align 4, !tbaa !5
  %9361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9362 = load i32, ptr @test_count, align 4, !tbaa !5
  %9363 = load i32, ptr %2239, align 4, !tbaa !5
  %9364 = call ptr @s2n_strerror(i32 noundef %9363, ptr noundef nonnull @.str.65) #10
  %9365 = load i32, ptr %2239, align 4, !tbaa !5
  %9366 = call ptr @s2n_strerror_debug(i32 noundef %9365, ptr noundef nonnull @.str.65) #10
  %9367 = load i32, ptr %2293, align 4, !tbaa !5
  %9368 = call ptr @strerror(i32 noundef %9367) #10
  %9369 = load i32, ptr %2293, align 4, !tbaa !5
  %9370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9361, ptr noundef nonnull %.str.66.sink5143, i32 noundef %9362, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 924, ptr noundef %9364, ptr noundef %9366, ptr noundef %9368, i32 noundef %9369) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9371:                                             ; preds = %9344
  %9372 = load i32, ptr @test_count, align 4, !tbaa !5
  %9373 = add nsw i32 %9372, 1
  store i32 %9373, ptr @test_count, align 4, !tbaa !5
  %9374 = load i8, ptr %8615, align 4, !tbaa !59
  %9375 = icmp eq i8 %9374, 33
  br i1 %9375, label %9398, label %9376

9376:                                             ; preds = %9371
  %9377 = load i32, ptr %2293, align 4, !tbaa !5
  %9378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9379 = call i32 @s2n_print_stacktrace(ptr noundef %9378) #10
  %9380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9381 = trunc nuw i8 %9380 to i1
  br i1 %9381, label %9382, label %9386

9382:                                             ; preds = %9376
  %9383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9384 = call i32 @fileno(ptr noundef %9383) #10
  %9385 = call i32 @isatty(i32 noundef %9384) #10
  %.not1596 = icmp eq i32 %9385, 0
  br i1 %.not1596, label %9386, label %9387

9386:                                             ; preds = %9382, %9376
  br label %9387

9387:                                             ; preds = %9382, %9386
  %.str.66.sink5152 = phi ptr [ @.str.66, %9386 ], [ @.str.63, %9382 ]
  store i32 %9377, ptr %2293, align 4, !tbaa !5
  %9388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9389 = load i32, ptr @test_count, align 4, !tbaa !5
  %9390 = load i32, ptr %2239, align 4, !tbaa !5
  %9391 = call ptr @s2n_strerror(i32 noundef %9390, ptr noundef nonnull @.str.65) #10
  %9392 = load i32, ptr %2239, align 4, !tbaa !5
  %9393 = call ptr @s2n_strerror_debug(i32 noundef %9392, ptr noundef nonnull @.str.65) #10
  %9394 = load i32, ptr %2293, align 4, !tbaa !5
  %9395 = call ptr @strerror(i32 noundef %9394) #10
  %9396 = load i32, ptr %2293, align 4, !tbaa !5
  %9397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9388, ptr noundef nonnull %.str.66.sink5152, i32 noundef %9389, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 925, ptr noundef %9391, ptr noundef %9393, ptr noundef %9395, i32 noundef %9396) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9398:                                             ; preds = %9371
  %9399 = add nsw i32 %9372, 2
  store i32 %9399, ptr @test_count, align 4, !tbaa !5
  %9400 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %8479, i32 noundef 2) #10
  br i1 %9400, label %9423, label %9401

9401:                                             ; preds = %9398
  %9402 = load i32, ptr %2293, align 4, !tbaa !5
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = call i32 @s2n_print_stacktrace(ptr noundef %9403) #10
  %9405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9406 = trunc nuw i8 %9405 to i1
  br i1 %9406, label %9407, label %9411

9407:                                             ; preds = %9401
  %9408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9409 = call i32 @fileno(ptr noundef %9408) #10
  %9410 = call i32 @isatty(i32 noundef %9409) #10
  %.not1597 = icmp eq i32 %9410, 0
  br i1 %.not1597, label %9411, label %9412

9411:                                             ; preds = %9407, %9401
  br label %9412

9412:                                             ; preds = %9407, %9411
  %.str.66.sink5161 = phi ptr [ @.str.66, %9411 ], [ @.str.63, %9407 ]
  store i32 %9402, ptr %2293, align 4, !tbaa !5
  %9413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9414 = load i32, ptr @test_count, align 4, !tbaa !5
  %9415 = load i32, ptr %2239, align 4, !tbaa !5
  %9416 = call ptr @s2n_strerror(i32 noundef %9415, ptr noundef nonnull @.str.65) #10
  %9417 = load i32, ptr %2239, align 4, !tbaa !5
  %9418 = call ptr @s2n_strerror_debug(i32 noundef %9417, ptr noundef nonnull @.str.65) #10
  %9419 = load i32, ptr %2293, align 4, !tbaa !5
  %9420 = call ptr @strerror(i32 noundef %9419) #10
  %9421 = load i32, ptr %2293, align 4, !tbaa !5
  %9422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9413, ptr noundef nonnull %.str.66.sink5161, i32 noundef %9414, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 926, ptr noundef %9416, ptr noundef %9418, ptr noundef %9420, i32 noundef %9421) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9423:                                             ; preds = %9398
  %9424 = load i32, ptr @test_count, align 4, !tbaa !5
  %9425 = add nsw i32 %9424, 1
  store i32 %9425, ptr @test_count, align 4, !tbaa !5
  %9426 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef nonnull %8479, i32 noundef 64) #10
  br i1 %9426, label %9427, label %9449

9427:                                             ; preds = %9423
  %9428 = load i32, ptr %2293, align 4, !tbaa !5
  %9429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9430 = call i32 @s2n_print_stacktrace(ptr noundef %9429) #10
  %9431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9432 = trunc nuw i8 %9431 to i1
  br i1 %9432, label %9433, label %9437

9433:                                             ; preds = %9427
  %9434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9435 = call i32 @fileno(ptr noundef %9434) #10
  %9436 = call i32 @isatty(i32 noundef %9435) #10
  %.not1741 = icmp eq i32 %9436, 0
  br i1 %.not1741, label %9437, label %9438

9437:                                             ; preds = %9433, %9427
  br label %9438

9438:                                             ; preds = %9433, %9437
  %.str.66.sink5170 = phi ptr [ @.str.66, %9437 ], [ @.str.63, %9433 ]
  store i32 %9428, ptr %2293, align 4, !tbaa !5
  %9439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9440 = load i32, ptr @test_count, align 4, !tbaa !5
  %9441 = load i32, ptr %2239, align 4, !tbaa !5
  %9442 = call ptr @s2n_strerror(i32 noundef %9441, ptr noundef nonnull @.str.65) #10
  %9443 = load i32, ptr %2239, align 4, !tbaa !5
  %9444 = call ptr @s2n_strerror_debug(i32 noundef %9443, ptr noundef nonnull @.str.65) #10
  %9445 = load i32, ptr %2293, align 4, !tbaa !5
  %9446 = call ptr @strerror(i32 noundef %9445) #10
  %9447 = load i32, ptr %2293, align 4, !tbaa !5
  %9448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9439, ptr noundef nonnull %.str.66.sink5170, i32 noundef %9440, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.62, i32 noundef 927, ptr noundef %9442, ptr noundef %9444, ptr noundef %9446, i32 noundef %9447) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9449:                                             ; preds = %9423
  %9450 = load i32, ptr @test_count, align 4, !tbaa !5
  %9451 = add nsw i32 %9450, 1
  store i32 %9451, ptr @test_count, align 4, !tbaa !5
  %9452 = call i32 @s2n_wipe_connections(ptr noundef nonnull %8426, ptr noundef nonnull %8479, ptr noundef nonnull %35)
  %9453 = call zeroext i1 @s2n_result_is_ok(i32 %9452)
  br i1 %9453, label %9476, label %9454

9454:                                             ; preds = %9449
  %9455 = load i32, ptr %2293, align 4, !tbaa !5
  %9456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9457 = call i32 @s2n_print_stacktrace(ptr noundef %9456) #10
  %9458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9459 = trunc nuw i8 %9458 to i1
  br i1 %9459, label %9460, label %9464

9460:                                             ; preds = %9454
  %9461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9462 = call i32 @fileno(ptr noundef %9461) #10
  %9463 = call i32 @isatty(i32 noundef %9462) #10
  %.not1598 = icmp eq i32 %9463, 0
  br i1 %.not1598, label %9464, label %9465

9464:                                             ; preds = %9460, %9454
  br label %9465

9465:                                             ; preds = %9460, %9464
  %.str.66.sink5179 = phi ptr [ @.str.66, %9464 ], [ @.str.63, %9460 ]
  store i32 %9455, ptr %2293, align 4, !tbaa !5
  %9466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9467 = load i32, ptr @test_count, align 4, !tbaa !5
  %9468 = load i32, ptr %2239, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror(i32 noundef %9468, ptr noundef nonnull @.str.65) #10
  %9470 = load i32, ptr %2239, align 4, !tbaa !5
  %9471 = call ptr @s2n_strerror_debug(i32 noundef %9470, ptr noundef nonnull @.str.65) #10
  %9472 = load i32, ptr %2293, align 4, !tbaa !5
  %9473 = call ptr @strerror(i32 noundef %9472) #10
  %9474 = load i32, ptr %2293, align 4, !tbaa !5
  %9475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9466, ptr noundef nonnull %.str.66.sink5179, i32 noundef %9467, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 929, ptr noundef %9469, ptr noundef %9471, ptr noundef %9473, i32 noundef %9474) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9476:                                             ; preds = %9449
  %9477 = load i32, ptr @test_count, align 4, !tbaa !5
  %9478 = add nsw i32 %9477, 1
  store i32 %9478, ptr @test_count, align 4, !tbaa !5
  %9479 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8479, ptr noundef nonnull %8155) #10
  %9480 = icmp eq i32 %9479, -1
  br i1 %9480, label %9481, label %9503

9481:                                             ; preds = %9476
  %9482 = load i32, ptr %2293, align 4, !tbaa !5
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = call i32 @s2n_print_stacktrace(ptr noundef %9483) #10
  %9485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9486 = trunc nuw i8 %9485 to i1
  br i1 %9486, label %9487, label %9491

9487:                                             ; preds = %9481
  %9488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9489 = call i32 @fileno(ptr noundef %9488) #10
  %9490 = call i32 @isatty(i32 noundef %9489) #10
  %.not1740 = icmp eq i32 %9490, 0
  br i1 %.not1740, label %9491, label %9492

9491:                                             ; preds = %9487, %9481
  br label %9492

9492:                                             ; preds = %9487, %9491
  %.str.66.sink5188 = phi ptr [ @.str.66, %9491 ], [ @.str.63, %9487 ]
  store i32 %9482, ptr %2293, align 4, !tbaa !5
  %9493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9494 = load i32, ptr @test_count, align 4, !tbaa !5
  %9495 = load i32, ptr %2239, align 4, !tbaa !5
  %9496 = call ptr @s2n_strerror(i32 noundef %9495, ptr noundef nonnull @.str.65) #10
  %9497 = load i32, ptr %2239, align 4, !tbaa !5
  %9498 = call ptr @s2n_strerror_debug(i32 noundef %9497, ptr noundef nonnull @.str.65) #10
  %9499 = load i32, ptr %2293, align 4, !tbaa !5
  %9500 = call ptr @strerror(i32 noundef %9499) #10
  %9501 = load i32, ptr %2293, align 4, !tbaa !5
  %9502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9493, ptr noundef nonnull %.str.66.sink5188, i32 noundef %9494, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.62, i32 noundef 934, ptr noundef %9496, ptr noundef %9498, ptr noundef %9500, i32 noundef %9501) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9503:                                             ; preds = %9476
  %9504 = load i32, ptr @test_count, align 4, !tbaa !5
  %9505 = add nsw i32 %9504, 1
  store i32 %9505, ptr @test_count, align 4, !tbaa !5
  %9506 = load ptr, ptr %34, align 8, !tbaa !24
  %9507 = load i32, ptr %8724, align 4, !tbaa !20
  %9508 = load i32, ptr %8726, align 8, !tbaa !23
  %9509 = sub i32 %9507, %9508
  %9510 = zext i32 %9509 to i64
  %9511 = call i32 @s2n_connection_set_session(ptr noundef nonnull %8426, ptr noundef %9506, i64 noundef %9510)
  %9512 = icmp eq i32 %9511, -1
  br i1 %9512, label %9513, label %9535

9513:                                             ; preds = %9503
  %9514 = load i32, ptr %2293, align 4, !tbaa !5
  %9515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9516 = call i32 @s2n_print_stacktrace(ptr noundef %9515) #10
  %9517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9518 = trunc nuw i8 %9517 to i1
  br i1 %9518, label %9519, label %9523

9519:                                             ; preds = %9513
  %9520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9521 = call i32 @fileno(ptr noundef %9520) #10
  %9522 = call i32 @isatty(i32 noundef %9521) #10
  %.not1739 = icmp eq i32 %9522, 0
  br i1 %.not1739, label %9523, label %9524

9523:                                             ; preds = %9519, %9513
  br label %9524

9524:                                             ; preds = %9519, %9523
  %.str.66.sink5197 = phi ptr [ @.str.66, %9523 ], [ @.str.63, %9519 ]
  store i32 %9514, ptr %2293, align 4, !tbaa !5
  %9525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9526 = load i32, ptr @test_count, align 4, !tbaa !5
  %9527 = load i32, ptr %2239, align 4, !tbaa !5
  %9528 = call ptr @s2n_strerror(i32 noundef %9527, ptr noundef nonnull @.str.65) #10
  %9529 = load i32, ptr %2239, align 4, !tbaa !5
  %9530 = call ptr @s2n_strerror_debug(i32 noundef %9529, ptr noundef nonnull @.str.65) #10
  %9531 = load i32, ptr %2293, align 4, !tbaa !5
  %9532 = call ptr @strerror(i32 noundef %9531) #10
  %9533 = load i32, ptr %2293, align 4, !tbaa !5
  %9534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9525, ptr noundef nonnull %.str.66.sink5197, i32 noundef %9526, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.62, i32 noundef 936, ptr noundef %9528, ptr noundef %9530, ptr noundef %9532, i32 noundef %9533) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9535:                                             ; preds = %9503
  %9536 = load i32, ptr @test_count, align 4, !tbaa !5
  %9537 = add nsw i32 %9536, 1
  store i32 %9537, ptr @test_count, align 4, !tbaa !5
  %9538 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8479, ptr noundef nonnull %8426) #10
  %9539 = icmp eq i32 %9538, -1
  br i1 %9539, label %9540, label %9562

9540:                                             ; preds = %9535
  %9541 = load i32, ptr %2293, align 4, !tbaa !5
  %9542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9543 = call i32 @s2n_print_stacktrace(ptr noundef %9542) #10
  %9544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9545 = trunc nuw i8 %9544 to i1
  br i1 %9545, label %9546, label %9550

9546:                                             ; preds = %9540
  %9547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9548 = call i32 @fileno(ptr noundef %9547) #10
  %9549 = call i32 @isatty(i32 noundef %9548) #10
  %.not1738 = icmp eq i32 %9549, 0
  br i1 %.not1738, label %9550, label %9551

9550:                                             ; preds = %9546, %9540
  br label %9551

9551:                                             ; preds = %9546, %9550
  %.str.66.sink5206 = phi ptr [ @.str.66, %9550 ], [ @.str.63, %9546 ]
  store i32 %9541, ptr %2293, align 4, !tbaa !5
  %9552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9553 = load i32, ptr @test_count, align 4, !tbaa !5
  %9554 = load i32, ptr %2239, align 4, !tbaa !5
  %9555 = call ptr @s2n_strerror(i32 noundef %9554, ptr noundef nonnull @.str.65) #10
  %9556 = load i32, ptr %2239, align 4, !tbaa !5
  %9557 = call ptr @s2n_strerror_debug(i32 noundef %9556, ptr noundef nonnull @.str.65) #10
  %9558 = load i32, ptr %2293, align 4, !tbaa !5
  %9559 = call ptr @strerror(i32 noundef %9558) #10
  %9560 = load i32, ptr %2293, align 4, !tbaa !5
  %9561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9552, ptr noundef nonnull %.str.66.sink5206, i32 noundef %9553, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 938, ptr noundef %9555, ptr noundef %9557, ptr noundef %9559, i32 noundef %9560) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9562:                                             ; preds = %9535
  %9563 = load i32, ptr @test_count, align 4, !tbaa !5
  %9564 = add nsw i32 %9563, 1
  store i32 %9564, ptr @test_count, align 4, !tbaa !5
  %9565 = load i8, ptr %8615, align 4, !tbaa !59
  %9566 = icmp eq i8 %9565, 33
  br i1 %9566, label %9589, label %9567

9567:                                             ; preds = %9562
  %9568 = load i32, ptr %2293, align 4, !tbaa !5
  %9569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9570 = call i32 @s2n_print_stacktrace(ptr noundef %9569) #10
  %9571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9572 = trunc nuw i8 %9571 to i1
  br i1 %9572, label %9573, label %9577

9573:                                             ; preds = %9567
  %9574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9575 = call i32 @fileno(ptr noundef %9574) #10
  %9576 = call i32 @isatty(i32 noundef %9575) #10
  %.not1599 = icmp eq i32 %9576, 0
  br i1 %.not1599, label %9577, label %9578

9577:                                             ; preds = %9573, %9567
  br label %9578

9578:                                             ; preds = %9573, %9577
  %.str.66.sink5215 = phi ptr [ @.str.66, %9577 ], [ @.str.63, %9573 ]
  store i32 %9568, ptr %2293, align 4, !tbaa !5
  %9579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9580 = load i32, ptr @test_count, align 4, !tbaa !5
  %9581 = load i32, ptr %2239, align 4, !tbaa !5
  %9582 = call ptr @s2n_strerror(i32 noundef %9581, ptr noundef nonnull @.str.65) #10
  %9583 = load i32, ptr %2239, align 4, !tbaa !5
  %9584 = call ptr @s2n_strerror_debug(i32 noundef %9583, ptr noundef nonnull @.str.65) #10
  %9585 = load i32, ptr %2293, align 4, !tbaa !5
  %9586 = call ptr @strerror(i32 noundef %9585) #10
  %9587 = load i32, ptr %2293, align 4, !tbaa !5
  %9588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9579, ptr noundef nonnull %.str.66.sink5215, i32 noundef %9580, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 939, ptr noundef %9582, ptr noundef %9584, ptr noundef %9586, i32 noundef %9587) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9589:                                             ; preds = %9562
  %9590 = add nsw i32 %9563, 2
  store i32 %9590, ptr @test_count, align 4, !tbaa !5
  %9591 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %8479, i32 noundef 2) #10
  br i1 %9591, label %9614, label %9592

9592:                                             ; preds = %9589
  %9593 = load i32, ptr %2293, align 4, !tbaa !5
  %9594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9595 = call i32 @s2n_print_stacktrace(ptr noundef %9594) #10
  %9596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9597 = trunc nuw i8 %9596 to i1
  br i1 %9597, label %9598, label %9602

9598:                                             ; preds = %9592
  %9599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9600 = call i32 @fileno(ptr noundef %9599) #10
  %9601 = call i32 @isatty(i32 noundef %9600) #10
  %.not1600 = icmp eq i32 %9601, 0
  br i1 %.not1600, label %9602, label %9603

9602:                                             ; preds = %9598, %9592
  br label %9603

9603:                                             ; preds = %9598, %9602
  %.str.66.sink5224 = phi ptr [ @.str.66, %9602 ], [ @.str.63, %9598 ]
  store i32 %9593, ptr %2293, align 4, !tbaa !5
  %9604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9605 = load i32, ptr @test_count, align 4, !tbaa !5
  %9606 = load i32, ptr %2239, align 4, !tbaa !5
  %9607 = call ptr @s2n_strerror(i32 noundef %9606, ptr noundef nonnull @.str.65) #10
  %9608 = load i32, ptr %2239, align 4, !tbaa !5
  %9609 = call ptr @s2n_strerror_debug(i32 noundef %9608, ptr noundef nonnull @.str.65) #10
  %9610 = load i32, ptr %2293, align 4, !tbaa !5
  %9611 = call ptr @strerror(i32 noundef %9610) #10
  %9612 = load i32, ptr %2293, align 4, !tbaa !5
  %9613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9604, ptr noundef nonnull %.str.66.sink5224, i32 noundef %9605, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 940, ptr noundef %9607, ptr noundef %9609, ptr noundef %9611, i32 noundef %9612) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9614:                                             ; preds = %9589
  %9615 = load i32, ptr @test_count, align 4, !tbaa !5
  %9616 = add nsw i32 %9615, 1
  store i32 %9616, ptr @test_count, align 4, !tbaa !5
  %9617 = call zeroext i1 @s2n_handshake_type_check_tls12_flag(ptr noundef nonnull %8479, i32 noundef 64) #10
  br i1 %9617, label %9618, label %9640

9618:                                             ; preds = %9614
  %9619 = load i32, ptr %2293, align 4, !tbaa !5
  %9620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9621 = call i32 @s2n_print_stacktrace(ptr noundef %9620) #10
  %9622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9623 = trunc nuw i8 %9622 to i1
  br i1 %9623, label %9624, label %9628

9624:                                             ; preds = %9618
  %9625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9626 = call i32 @fileno(ptr noundef %9625) #10
  %9627 = call i32 @isatty(i32 noundef %9626) #10
  %.not1737 = icmp eq i32 %9627, 0
  br i1 %.not1737, label %9628, label %9629

9628:                                             ; preds = %9624, %9618
  br label %9629

9629:                                             ; preds = %9624, %9628
  %.str.66.sink5233 = phi ptr [ @.str.66, %9628 ], [ @.str.63, %9624 ]
  store i32 %9619, ptr %2293, align 4, !tbaa !5
  %9630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9631 = load i32, ptr @test_count, align 4, !tbaa !5
  %9632 = load i32, ptr %2239, align 4, !tbaa !5
  %9633 = call ptr @s2n_strerror(i32 noundef %9632, ptr noundef nonnull @.str.65) #10
  %9634 = load i32, ptr %2239, align 4, !tbaa !5
  %9635 = call ptr @s2n_strerror_debug(i32 noundef %9634, ptr noundef nonnull @.str.65) #10
  %9636 = load i32, ptr %2293, align 4, !tbaa !5
  %9637 = call ptr @strerror(i32 noundef %9636) #10
  %9638 = load i32, ptr %2293, align 4, !tbaa !5
  %9639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9630, ptr noundef nonnull %.str.66.sink5233, i32 noundef %9631, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.62, i32 noundef 941, ptr noundef %9633, ptr noundef %9635, ptr noundef %9637, i32 noundef %9638) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9640:                                             ; preds = %9614
  %9641 = load i32, ptr @test_count, align 4, !tbaa !5
  %9642 = add nsw i32 %9641, 1
  store i32 %9642, ptr @test_count, align 4, !tbaa !5
  %9643 = call i32 @s2n_wipe_connections(ptr noundef nonnull %8426, ptr noundef nonnull %8479, ptr noundef nonnull %35)
  %9644 = call zeroext i1 @s2n_result_is_ok(i32 %9643)
  br i1 %9644, label %9667, label %9645

9645:                                             ; preds = %9640
  %9646 = load i32, ptr %2293, align 4, !tbaa !5
  %9647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9648 = call i32 @s2n_print_stacktrace(ptr noundef %9647) #10
  %9649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9650 = trunc nuw i8 %9649 to i1
  br i1 %9650, label %9651, label %9655

9651:                                             ; preds = %9645
  %9652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9653 = call i32 @fileno(ptr noundef %9652) #10
  %9654 = call i32 @isatty(i32 noundef %9653) #10
  %.not1601 = icmp eq i32 %9654, 0
  br i1 %.not1601, label %9655, label %9656

9655:                                             ; preds = %9651, %9645
  br label %9656

9656:                                             ; preds = %9651, %9655
  %.str.66.sink5242 = phi ptr [ @.str.66, %9655 ], [ @.str.63, %9651 ]
  store i32 %9646, ptr %2293, align 4, !tbaa !5
  %9657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9658 = load i32, ptr @test_count, align 4, !tbaa !5
  %9659 = load i32, ptr %2239, align 4, !tbaa !5
  %9660 = call ptr @s2n_strerror(i32 noundef %9659, ptr noundef nonnull @.str.65) #10
  %9661 = load i32, ptr %2239, align 4, !tbaa !5
  %9662 = call ptr @s2n_strerror_debug(i32 noundef %9661, ptr noundef nonnull @.str.65) #10
  %9663 = load i32, ptr %2293, align 4, !tbaa !5
  %9664 = call ptr @strerror(i32 noundef %9663) #10
  %9665 = load i32, ptr %2293, align 4, !tbaa !5
  %9666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9657, ptr noundef nonnull %.str.66.sink5242, i32 noundef %9658, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 943, ptr noundef %9660, ptr noundef %9662, ptr noundef %9664, i32 noundef %9665) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9667:                                             ; preds = %9640
  %9668 = load i32, ptr @test_count, align 4, !tbaa !5
  %9669 = add nsw i32 %9668, 1
  store i32 %9669, ptr @test_count, align 4, !tbaa !5
  %9670 = call i32 @s2n_io_pair_close(ptr noundef nonnull %35) #10
  %9671 = icmp eq i32 %9670, -1
  br i1 %9671, label %9672, label %9694

9672:                                             ; preds = %9667
  %9673 = load i32, ptr %2293, align 4, !tbaa !5
  %9674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9675 = call i32 @s2n_print_stacktrace(ptr noundef %9674) #10
  %9676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9677 = trunc nuw i8 %9676 to i1
  br i1 %9677, label %9678, label %9682

9678:                                             ; preds = %9672
  %9679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9680 = call i32 @fileno(ptr noundef %9679) #10
  %9681 = call i32 @isatty(i32 noundef %9680) #10
  %.not1736 = icmp eq i32 %9681, 0
  br i1 %.not1736, label %9682, label %9683

9682:                                             ; preds = %9678, %9672
  br label %9683

9683:                                             ; preds = %9678, %9682
  %.str.66.sink5251 = phi ptr [ @.str.66, %9682 ], [ @.str.63, %9678 ]
  store i32 %9673, ptr %2293, align 4, !tbaa !5
  %9684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9685 = load i32, ptr @test_count, align 4, !tbaa !5
  %9686 = load i32, ptr %2239, align 4, !tbaa !5
  %9687 = call ptr @s2n_strerror(i32 noundef %9686, ptr noundef nonnull @.str.65) #10
  %9688 = load i32, ptr %2239, align 4, !tbaa !5
  %9689 = call ptr @s2n_strerror_debug(i32 noundef %9688, ptr noundef nonnull @.str.65) #10
  %9690 = load i32, ptr %2293, align 4, !tbaa !5
  %9691 = call ptr @strerror(i32 noundef %9690) #10
  %9692 = load i32, ptr %2293, align 4, !tbaa !5
  %9693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9684, ptr noundef nonnull %.str.66.sink5251, i32 noundef %9685, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 946, ptr noundef %9687, ptr noundef %9689, ptr noundef %9691, i32 noundef %9692) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9694:                                             ; preds = %9667
  %9695 = load i32, ptr @test_count, align 4, !tbaa !5
  %9696 = add nsw i32 %9695, 1
  store i32 %9696, ptr @test_count, align 4, !tbaa !5
  %9697 = call i32 @s2n_connection_free(ptr noundef nonnull %8479) #10
  %9698 = icmp eq i32 %9697, -1
  br i1 %9698, label %9699, label %9721

9699:                                             ; preds = %9694
  %9700 = load i32, ptr %2293, align 4, !tbaa !5
  %9701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9702 = call i32 @s2n_print_stacktrace(ptr noundef %9701) #10
  %9703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9704 = trunc nuw i8 %9703 to i1
  br i1 %9704, label %9705, label %9709

9705:                                             ; preds = %9699
  %9706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9707 = call i32 @fileno(ptr noundef %9706) #10
  %9708 = call i32 @isatty(i32 noundef %9707) #10
  %.not1735 = icmp eq i32 %9708, 0
  br i1 %.not1735, label %9709, label %9710

9709:                                             ; preds = %9705, %9699
  br label %9710

9710:                                             ; preds = %9705, %9709
  %.str.66.sink5260 = phi ptr [ @.str.66, %9709 ], [ @.str.63, %9705 ]
  store i32 %9700, ptr %2293, align 4, !tbaa !5
  %9711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9712 = load i32, ptr @test_count, align 4, !tbaa !5
  %9713 = load i32, ptr %2239, align 4, !tbaa !5
  %9714 = call ptr @s2n_strerror(i32 noundef %9713, ptr noundef nonnull @.str.65) #10
  %9715 = load i32, ptr %2239, align 4, !tbaa !5
  %9716 = call ptr @s2n_strerror_debug(i32 noundef %9715, ptr noundef nonnull @.str.65) #10
  %9717 = load i32, ptr %2293, align 4, !tbaa !5
  %9718 = call ptr @strerror(i32 noundef %9717) #10
  %9719 = load i32, ptr %2293, align 4, !tbaa !5
  %9720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9711, ptr noundef nonnull %.str.66.sink5260, i32 noundef %9712, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 947, ptr noundef %9714, ptr noundef %9716, ptr noundef %9718, i32 noundef %9719) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9721:                                             ; preds = %9694
  %9722 = load i32, ptr @test_count, align 4, !tbaa !5
  %9723 = add nsw i32 %9722, 1
  store i32 %9723, ptr @test_count, align 4, !tbaa !5
  %9724 = call i32 @s2n_connection_free(ptr noundef nonnull %8426) #10
  %9725 = icmp eq i32 %9724, -1
  br i1 %9725, label %9726, label %9748

9726:                                             ; preds = %9721
  %9727 = load i32, ptr %2293, align 4, !tbaa !5
  %9728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9729 = call i32 @s2n_print_stacktrace(ptr noundef %9728) #10
  %9730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9731 = trunc nuw i8 %9730 to i1
  br i1 %9731, label %9732, label %9736

9732:                                             ; preds = %9726
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = call i32 @fileno(ptr noundef %9733) #10
  %9735 = call i32 @isatty(i32 noundef %9734) #10
  %.not1734 = icmp eq i32 %9735, 0
  br i1 %.not1734, label %9736, label %9737

9736:                                             ; preds = %9732, %9726
  br label %9737

9737:                                             ; preds = %9732, %9736
  %.str.66.sink5269 = phi ptr [ @.str.66, %9736 ], [ @.str.63, %9732 ]
  store i32 %9727, ptr %2293, align 4, !tbaa !5
  %9738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9739 = load i32, ptr @test_count, align 4, !tbaa !5
  %9740 = load i32, ptr %2239, align 4, !tbaa !5
  %9741 = call ptr @s2n_strerror(i32 noundef %9740, ptr noundef nonnull @.str.65) #10
  %9742 = load i32, ptr %2239, align 4, !tbaa !5
  %9743 = call ptr @s2n_strerror_debug(i32 noundef %9742, ptr noundef nonnull @.str.65) #10
  %9744 = load i32, ptr %2293, align 4, !tbaa !5
  %9745 = call ptr @strerror(i32 noundef %9744) #10
  %9746 = load i32, ptr %2293, align 4, !tbaa !5
  %9747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9738, ptr noundef nonnull %.str.66.sink5269, i32 noundef %9739, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 948, ptr noundef %9741, ptr noundef %9743, ptr noundef %9745, i32 noundef %9746) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9748:                                             ; preds = %9721
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #10
  %9749 = call i32 @s2n_stuffer_free(ptr noundef nonnull %34) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %34) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %36) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %36, i8 0, i64 40, i1 false)
  %9750 = load i32, ptr @test_count, align 4, !tbaa !5
  %9751 = add nsw i32 %9750, 1
  store i32 %9751, ptr @test_count, align 4, !tbaa !5
  %9752 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %36, i32 noundef 0) #10
  %9753 = icmp eq i32 %9752, -1
  br i1 %9753, label %9754, label %9776

9754:                                             ; preds = %9748
  %9755 = load i32, ptr %2293, align 4, !tbaa !5
  %9756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9757 = call i32 @s2n_print_stacktrace(ptr noundef %9756) #10
  %9758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9759 = trunc nuw i8 %9758 to i1
  br i1 %9759, label %9760, label %9764

9760:                                             ; preds = %9754
  %9761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9762 = call i32 @fileno(ptr noundef %9761) #10
  %9763 = call i32 @isatty(i32 noundef %9762) #10
  %.not1733 = icmp eq i32 %9763, 0
  br i1 %.not1733, label %9764, label %9765

9764:                                             ; preds = %9760, %9754
  br label %9765

9765:                                             ; preds = %9760, %9764
  %.str.66.sink5278 = phi ptr [ @.str.66, %9764 ], [ @.str.63, %9760 ]
  store i32 %9755, ptr %2293, align 4, !tbaa !5
  %9766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9767 = load i32, ptr @test_count, align 4, !tbaa !5
  %9768 = load i32, ptr %2239, align 4, !tbaa !5
  %9769 = call ptr @s2n_strerror(i32 noundef %9768, ptr noundef nonnull @.str.65) #10
  %9770 = load i32, ptr %2239, align 4, !tbaa !5
  %9771 = call ptr @s2n_strerror_debug(i32 noundef %9770, ptr noundef nonnull @.str.65) #10
  %9772 = load i32, ptr %2293, align 4, !tbaa !5
  %9773 = call ptr @strerror(i32 noundef %9772) #10
  %9774 = load i32, ptr %2293, align 4, !tbaa !5
  %9775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9766, ptr noundef nonnull %.str.66.sink5278, i32 noundef %9767, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.62, i32 noundef 954, ptr noundef %9769, ptr noundef %9771, ptr noundef %9773, i32 noundef %9774) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9776:                                             ; preds = %9748
  %9777 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %9778 = load i32, ptr @test_count, align 4, !tbaa !5
  %9779 = add nsw i32 %9778, 1
  store i32 %9779, ptr @test_count, align 4, !tbaa !5
  %9780 = icmp eq ptr %9777, null
  br i1 %9780, label %9781, label %9803

9781:                                             ; preds = %9776
  %9782 = load i32, ptr %2293, align 4, !tbaa !5
  %9783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9784 = call i32 @s2n_print_stacktrace(ptr noundef %9783) #10
  %9785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9786 = trunc nuw i8 %9785 to i1
  br i1 %9786, label %9787, label %9791

9787:                                             ; preds = %9781
  %9788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9789 = call i32 @fileno(ptr noundef %9788) #10
  %9790 = call i32 @isatty(i32 noundef %9789) #10
  %.not1732 = icmp eq i32 %9790, 0
  br i1 %.not1732, label %9791, label %9792

9791:                                             ; preds = %9787, %9781
  br label %9792

9792:                                             ; preds = %9787, %9791
  %.str.66.sink5287 = phi ptr [ @.str.66, %9791 ], [ @.str.63, %9787 ]
  store i32 %9782, ptr %2293, align 4, !tbaa !5
  %9793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9794 = load i32, ptr @test_count, align 4, !tbaa !5
  %9795 = load i32, ptr %2239, align 4, !tbaa !5
  %9796 = call ptr @s2n_strerror(i32 noundef %9795, ptr noundef nonnull @.str.65) #10
  %9797 = load i32, ptr %2239, align 4, !tbaa !5
  %9798 = call ptr @s2n_strerror_debug(i32 noundef %9797, ptr noundef nonnull @.str.65) #10
  %9799 = load i32, ptr %2293, align 4, !tbaa !5
  %9800 = call ptr @strerror(i32 noundef %9799) #10
  %9801 = load i32, ptr %2293, align 4, !tbaa !5
  %9802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9793, ptr noundef nonnull %.str.66.sink5287, i32 noundef %9794, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 957, ptr noundef %9796, ptr noundef %9798, ptr noundef %9800, i32 noundef %9801) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9803:                                             ; preds = %9776
  %9804 = add nsw i32 %9778, 2
  store i32 %9804, ptr @test_count, align 4, !tbaa !5
  %9805 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9777, ptr noundef nonnull %631) #10
  %9806 = icmp eq i32 %9805, -1
  br i1 %9806, label %9807, label %9829

9807:                                             ; preds = %9803
  %9808 = load i32, ptr %2293, align 4, !tbaa !5
  %9809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9810 = call i32 @s2n_print_stacktrace(ptr noundef %9809) #10
  %9811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9812 = trunc nuw i8 %9811 to i1
  br i1 %9812, label %9813, label %9817

9813:                                             ; preds = %9807
  %9814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9815 = call i32 @fileno(ptr noundef %9814) #10
  %9816 = call i32 @isatty(i32 noundef %9815) #10
  %.not1731 = icmp eq i32 %9816, 0
  br i1 %.not1731, label %9817, label %9818

9817:                                             ; preds = %9813, %9807
  br label %9818

9818:                                             ; preds = %9813, %9817
  %.str.66.sink5296 = phi ptr [ @.str.66, %9817 ], [ @.str.63, %9813 ]
  store i32 %9808, ptr %2293, align 4, !tbaa !5
  %9819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9820 = load i32, ptr @test_count, align 4, !tbaa !5
  %9821 = load i32, ptr %2239, align 4, !tbaa !5
  %9822 = call ptr @s2n_strerror(i32 noundef %9821, ptr noundef nonnull @.str.65) #10
  %9823 = load i32, ptr %2239, align 4, !tbaa !5
  %9824 = call ptr @s2n_strerror_debug(i32 noundef %9823, ptr noundef nonnull @.str.65) #10
  %9825 = load i32, ptr %2293, align 4, !tbaa !5
  %9826 = call ptr @strerror(i32 noundef %9825) #10
  %9827 = load i32, ptr %2293, align 4, !tbaa !5
  %9828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9819, ptr noundef nonnull %.str.66.sink5296, i32 noundef %9820, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 958, ptr noundef %9822, ptr noundef %9824, ptr noundef %9826, i32 noundef %9827) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9829:                                             ; preds = %9803
  %9830 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %9831 = load i32, ptr @test_count, align 4, !tbaa !5
  %9832 = add nsw i32 %9831, 1
  store i32 %9832, ptr @test_count, align 4, !tbaa !5
  %9833 = icmp eq ptr %9830, null
  br i1 %9833, label %9834, label %9856

9834:                                             ; preds = %9829
  %9835 = load i32, ptr %2293, align 4, !tbaa !5
  %9836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9837 = call i32 @s2n_print_stacktrace(ptr noundef %9836) #10
  %9838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9839 = trunc nuw i8 %9838 to i1
  br i1 %9839, label %9840, label %9844

9840:                                             ; preds = %9834
  %9841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9842 = call i32 @fileno(ptr noundef %9841) #10
  %9843 = call i32 @isatty(i32 noundef %9842) #10
  %.not1730 = icmp eq i32 %9843, 0
  br i1 %.not1730, label %9844, label %9845

9844:                                             ; preds = %9840, %9834
  br label %9845

9845:                                             ; preds = %9840, %9844
  %.str.66.sink5305 = phi ptr [ @.str.66, %9844 ], [ @.str.63, %9840 ]
  store i32 %9835, ptr %2293, align 4, !tbaa !5
  %9846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9847 = load i32, ptr @test_count, align 4, !tbaa !5
  %9848 = load i32, ptr %2239, align 4, !tbaa !5
  %9849 = call ptr @s2n_strerror(i32 noundef %9848, ptr noundef nonnull @.str.65) #10
  %9850 = load i32, ptr %2239, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror_debug(i32 noundef %9850, ptr noundef nonnull @.str.65) #10
  %9852 = load i32, ptr %2293, align 4, !tbaa !5
  %9853 = call ptr @strerror(i32 noundef %9852) #10
  %9854 = load i32, ptr %2293, align 4, !tbaa !5
  %9855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9846, ptr noundef nonnull %.str.66.sink5305, i32 noundef %9847, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 961, ptr noundef %9849, ptr noundef %9851, ptr noundef %9853, i32 noundef %9854) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9856:                                             ; preds = %9829
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #10
  store i64 0, ptr %37, align 8
  %9857 = add nsw i32 %9831, 2
  store i32 %9857, ptr @test_count, align 4, !tbaa !5
  %9858 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %37) #10
  %9859 = icmp eq i32 %9858, -1
  br i1 %9859, label %9860, label %9882

9860:                                             ; preds = %9856
  %9861 = load i32, ptr %2293, align 4, !tbaa !5
  %9862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9863 = call i32 @s2n_print_stacktrace(ptr noundef %9862) #10
  %9864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9865 = trunc nuw i8 %9864 to i1
  br i1 %9865, label %9866, label %9870

9866:                                             ; preds = %9860
  %9867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9868 = call i32 @fileno(ptr noundef %9867) #10
  %9869 = call i32 @isatty(i32 noundef %9868) #10
  %.not1729 = icmp eq i32 %9869, 0
  br i1 %.not1729, label %9870, label %9871

9870:                                             ; preds = %9866, %9860
  br label %9871

9871:                                             ; preds = %9866, %9870
  %.str.66.sink5314 = phi ptr [ @.str.66, %9870 ], [ @.str.63, %9866 ]
  store i32 %9861, ptr %2293, align 4, !tbaa !5
  %9872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9873 = load i32, ptr @test_count, align 4, !tbaa !5
  %9874 = load i32, ptr %2239, align 4, !tbaa !5
  %9875 = call ptr @s2n_strerror(i32 noundef %9874, ptr noundef nonnull @.str.65) #10
  %9876 = load i32, ptr %2239, align 4, !tbaa !5
  %9877 = call ptr @s2n_strerror_debug(i32 noundef %9876, ptr noundef nonnull @.str.65) #10
  %9878 = load i32, ptr %2293, align 4, !tbaa !5
  %9879 = call ptr @strerror(i32 noundef %9878) #10
  %9880 = load i32, ptr %2293, align 4, !tbaa !5
  %9881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9872, ptr noundef nonnull %.str.66.sink5314, i32 noundef %9873, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 964, ptr noundef %9875, ptr noundef %9877, ptr noundef %9879, i32 noundef %9880) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9882:                                             ; preds = %9856
  %9883 = load i32, ptr @test_count, align 4, !tbaa !5
  %9884 = add nsw i32 %9883, 1
  store i32 %9884, ptr @test_count, align 4, !tbaa !5
  %9885 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %9777, ptr noundef nonnull %9830, ptr noundef nonnull %37) #10
  %9886 = icmp eq i32 %9885, -1
  br i1 %9886, label %9887, label %9909

9887:                                             ; preds = %9882
  %9888 = load i32, ptr %2293, align 4, !tbaa !5
  %9889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9890 = call i32 @s2n_print_stacktrace(ptr noundef %9889) #10
  %9891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9892 = trunc nuw i8 %9891 to i1
  br i1 %9892, label %9893, label %9897

9893:                                             ; preds = %9887
  %9894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9895 = call i32 @fileno(ptr noundef %9894) #10
  %9896 = call i32 @isatty(i32 noundef %9895) #10
  %.not1728 = icmp eq i32 %9896, 0
  br i1 %.not1728, label %9897, label %9898

9897:                                             ; preds = %9893, %9887
  br label %9898

9898:                                             ; preds = %9893, %9897
  %.str.66.sink5323 = phi ptr [ @.str.66, %9897 ], [ @.str.63, %9893 ]
  store i32 %9888, ptr %2293, align 4, !tbaa !5
  %9899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9900 = load i32, ptr @test_count, align 4, !tbaa !5
  %9901 = load i32, ptr %2239, align 4, !tbaa !5
  %9902 = call ptr @s2n_strerror(i32 noundef %9901, ptr noundef nonnull @.str.65) #10
  %9903 = load i32, ptr %2239, align 4, !tbaa !5
  %9904 = call ptr @s2n_strerror_debug(i32 noundef %9903, ptr noundef nonnull @.str.65) #10
  %9905 = load i32, ptr %2293, align 4, !tbaa !5
  %9906 = call ptr @strerror(i32 noundef %9905) #10
  %9907 = load i32, ptr %2293, align 4, !tbaa !5
  %9908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9899, ptr noundef nonnull %.str.66.sink5323, i32 noundef %9900, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 965, ptr noundef %9902, ptr noundef %9904, ptr noundef %9906, i32 noundef %9907) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9909:                                             ; preds = %9882
  %9910 = load i32, ptr @test_count, align 4, !tbaa !5
  %9911 = add nsw i32 %9910, 1
  store i32 %9911, ptr @test_count, align 4, !tbaa !5
  %9912 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9830, ptr noundef nonnull %225) #10
  %9913 = icmp eq i32 %9912, -1
  br i1 %9913, label %9914, label %9936

9914:                                             ; preds = %9909
  %9915 = load i32, ptr %2293, align 4, !tbaa !5
  %9916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9917 = call i32 @s2n_print_stacktrace(ptr noundef %9916) #10
  %9918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9919 = trunc nuw i8 %9918 to i1
  br i1 %9919, label %9920, label %9924

9920:                                             ; preds = %9914
  %9921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9922 = call i32 @fileno(ptr noundef %9921) #10
  %9923 = call i32 @isatty(i32 noundef %9922) #10
  %.not1727 = icmp eq i32 %9923, 0
  br i1 %.not1727, label %9924, label %9925

9924:                                             ; preds = %9920, %9914
  br label %9925

9925:                                             ; preds = %9920, %9924
  %.str.66.sink5332 = phi ptr [ @.str.66, %9924 ], [ @.str.63, %9920 ]
  store i32 %9915, ptr %2293, align 4, !tbaa !5
  %9926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9927 = load i32, ptr @test_count, align 4, !tbaa !5
  %9928 = load i32, ptr %2239, align 4, !tbaa !5
  %9929 = call ptr @s2n_strerror(i32 noundef %9928, ptr noundef nonnull @.str.65) #10
  %9930 = load i32, ptr %2239, align 4, !tbaa !5
  %9931 = call ptr @s2n_strerror_debug(i32 noundef %9930, ptr noundef nonnull @.str.65) #10
  %9932 = load i32, ptr %2293, align 4, !tbaa !5
  %9933 = call ptr @strerror(i32 noundef %9932) #10
  %9934 = load i32, ptr %2293, align 4, !tbaa !5
  %9935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9926, ptr noundef nonnull %.str.66.sink5332, i32 noundef %9927, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 969, ptr noundef %9929, ptr noundef %9931, ptr noundef %9933, i32 noundef %9934) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9936:                                             ; preds = %9909
  %9937 = load i32, ptr @test_count, align 4, !tbaa !5
  %9938 = add nsw i32 %9937, 1
  store i32 %9938, ptr @test_count, align 4, !tbaa !5
  %9939 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %9830, ptr noundef nonnull %9777) #10
  %9940 = icmp eq i32 %9939, -1
  br i1 %9940, label %9941, label %9963

9941:                                             ; preds = %9936
  %9942 = load i32, ptr %2293, align 4, !tbaa !5
  %9943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9944 = call i32 @s2n_print_stacktrace(ptr noundef %9943) #10
  %9945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9946 = trunc nuw i8 %9945 to i1
  br i1 %9946, label %9947, label %9951

9947:                                             ; preds = %9941
  %9948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9949 = call i32 @fileno(ptr noundef %9948) #10
  %9950 = call i32 @isatty(i32 noundef %9949) #10
  %.not1726 = icmp eq i32 %9950, 0
  br i1 %.not1726, label %9951, label %9952

9951:                                             ; preds = %9947, %9941
  br label %9952

9952:                                             ; preds = %9947, %9951
  %.str.66.sink5341 = phi ptr [ @.str.66, %9951 ], [ @.str.63, %9947 ]
  store i32 %9942, ptr %2293, align 4, !tbaa !5
  %9953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9954 = load i32, ptr @test_count, align 4, !tbaa !5
  %9955 = load i32, ptr %2239, align 4, !tbaa !5
  %9956 = call ptr @s2n_strerror(i32 noundef %9955, ptr noundef nonnull @.str.65) #10
  %9957 = load i32, ptr %2239, align 4, !tbaa !5
  %9958 = call ptr @s2n_strerror_debug(i32 noundef %9957, ptr noundef nonnull @.str.65) #10
  %9959 = load i32, ptr %2293, align 4, !tbaa !5
  %9960 = call ptr @strerror(i32 noundef %9959) #10
  %9961 = load i32, ptr %2293, align 4, !tbaa !5
  %9962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9953, ptr noundef nonnull %.str.66.sink5341, i32 noundef %9954, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 971, ptr noundef %9956, ptr noundef %9958, ptr noundef %9960, i32 noundef %9961) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9963:                                             ; preds = %9936
  %9964 = load i32, ptr @test_count, align 4, !tbaa !5
  %9965 = add nsw i32 %9964, 1
  store i32 %9965, ptr @test_count, align 4, !tbaa !5
  %9966 = call i32 @s2n_test_issue_new_session_ticket(ptr noundef nonnull %9830, ptr noundef nonnull %9777, ptr noundef nonnull %4)
  %9967 = call zeroext i1 @s2n_result_is_ok(i32 %9966)
  br i1 %9967, label %9990, label %9968

9968:                                             ; preds = %9963
  %9969 = load i32, ptr %2293, align 4, !tbaa !5
  %9970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9971 = call i32 @s2n_print_stacktrace(ptr noundef %9970) #10
  %9972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9973 = trunc nuw i8 %9972 to i1
  br i1 %9973, label %9974, label %9978

9974:                                             ; preds = %9968
  %9975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9976 = call i32 @fileno(ptr noundef %9975) #10
  %9977 = call i32 @isatty(i32 noundef %9976) #10
  %.not1602 = icmp eq i32 %9977, 0
  br i1 %.not1602, label %9978, label %9979

9978:                                             ; preds = %9974, %9968
  br label %9979

9979:                                             ; preds = %9974, %9978
  %.str.66.sink5350 = phi ptr [ @.str.66, %9978 ], [ @.str.63, %9974 ]
  store i32 %9969, ptr %2293, align 4, !tbaa !5
  %9980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9981 = load i32, ptr @test_count, align 4, !tbaa !5
  %9982 = load i32, ptr %2239, align 4, !tbaa !5
  %9983 = call ptr @s2n_strerror(i32 noundef %9982, ptr noundef nonnull @.str.65) #10
  %9984 = load i32, ptr %2239, align 4, !tbaa !5
  %9985 = call ptr @s2n_strerror_debug(i32 noundef %9984, ptr noundef nonnull @.str.65) #10
  %9986 = load i32, ptr %2293, align 4, !tbaa !5
  %9987 = call ptr @strerror(i32 noundef %9986) #10
  %9988 = load i32, ptr %2293, align 4, !tbaa !5
  %9989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9980, ptr noundef nonnull %.str.66.sink5350, i32 noundef %9981, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.62, i32 noundef 972, ptr noundef %9983, ptr noundef %9985, ptr noundef %9987, i32 noundef %9988) #12
  call void @exit(i32 noundef 1) #13
  unreachable

9990:                                             ; preds = %9963
  %9991 = load i32, ptr @test_count, align 4, !tbaa !5
  %9992 = add nsw i32 %9991, 1
  store i32 %9992, ptr @test_count, align 4, !tbaa !5
  %9993 = getelementptr inbounds i8, ptr %9830, i64 220
  %9994 = load i8, ptr %9993, align 4, !tbaa !59
  %9995 = icmp eq i8 %9994, 34
  br i1 %9995, label %10018, label %9996

9996:                                             ; preds = %9990
  %9997 = load i32, ptr %2293, align 4, !tbaa !5
  %9998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9999 = call i32 @s2n_print_stacktrace(ptr noundef %9998) #10
  %10000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10001 = trunc nuw i8 %10000 to i1
  br i1 %10001, label %10002, label %10006

10002:                                            ; preds = %9996
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = call i32 @fileno(ptr noundef %10003) #10
  %10005 = call i32 @isatty(i32 noundef %10004) #10
  %.not1603 = icmp eq i32 %10005, 0
  br i1 %.not1603, label %10006, label %10007

10006:                                            ; preds = %10002, %9996
  br label %10007

10007:                                            ; preds = %10002, %10006
  %.str.66.sink5359 = phi ptr [ @.str.66, %10006 ], [ @.str.63, %10002 ]
  store i32 %9997, ptr %2293, align 4, !tbaa !5
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = load i32, ptr @test_count, align 4, !tbaa !5
  %10010 = load i32, ptr %2239, align 4, !tbaa !5
  %10011 = call ptr @s2n_strerror(i32 noundef %10010, ptr noundef nonnull @.str.65) #10
  %10012 = load i32, ptr %2239, align 4, !tbaa !5
  %10013 = call ptr @s2n_strerror_debug(i32 noundef %10012, ptr noundef nonnull @.str.65) #10
  %10014 = load i32, ptr %2293, align 4, !tbaa !5
  %10015 = call ptr @strerror(i32 noundef %10014) #10
  %10016 = load i32, ptr %2293, align 4, !tbaa !5
  %10017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10008, ptr noundef nonnull %.str.66.sink5359, i32 noundef %10009, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.62, i32 noundef 973, ptr noundef %10011, ptr noundef %10013, ptr noundef %10015, i32 noundef %10016) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10018:                                            ; preds = %9990
  %10019 = add nsw i32 %9991, 2
  store i32 %10019, ptr @test_count, align 4, !tbaa !5
  %10020 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %9830, i32 noundef 2) #10
  br i1 %10020, label %10043, label %10021

10021:                                            ; preds = %10018
  %10022 = load i32, ptr %2293, align 4, !tbaa !5
  %10023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10024 = call i32 @s2n_print_stacktrace(ptr noundef %10023) #10
  %10025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10026 = trunc nuw i8 %10025 to i1
  br i1 %10026, label %10027, label %10031

10027:                                            ; preds = %10021
  %10028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10029 = call i32 @fileno(ptr noundef %10028) #10
  %10030 = call i32 @isatty(i32 noundef %10029) #10
  %.not1604 = icmp eq i32 %10030, 0
  br i1 %.not1604, label %10031, label %10032

10031:                                            ; preds = %10027, %10021
  br label %10032

10032:                                            ; preds = %10027, %10031
  %.str.66.sink5368 = phi ptr [ @.str.66, %10031 ], [ @.str.63, %10027 ]
  store i32 %10022, ptr %2293, align 4, !tbaa !5
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = load i32, ptr @test_count, align 4, !tbaa !5
  %10035 = load i32, ptr %2239, align 4, !tbaa !5
  %10036 = call ptr @s2n_strerror(i32 noundef %10035, ptr noundef nonnull @.str.65) #10
  %10037 = load i32, ptr %2239, align 4, !tbaa !5
  %10038 = call ptr @s2n_strerror_debug(i32 noundef %10037, ptr noundef nonnull @.str.65) #10
  %10039 = load i32, ptr %2293, align 4, !tbaa !5
  %10040 = call ptr @strerror(i32 noundef %10039) #10
  %10041 = load i32, ptr %2293, align 4, !tbaa !5
  %10042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10033, ptr noundef nonnull %.str.66.sink5368, i32 noundef %10034, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 974, ptr noundef %10036, ptr noundef %10038, ptr noundef %10040, i32 noundef %10041) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10043:                                            ; preds = %10018
  %10044 = load i32, ptr @test_count, align 4, !tbaa !5
  %10045 = add nsw i32 %10044, 1
  store i32 %10045, ptr @test_count, align 4, !tbaa !5
  %10046 = getelementptr inbounds i8, ptr %9830, i64 4086
  %10047 = load i16, ptr %10046, align 2, !tbaa !69
  %10048 = icmp ugt i16 %10047, 1
  br i1 %10048, label %10071, label %10049

10049:                                            ; preds = %10043
  %10050 = load i32, ptr %2293, align 4, !tbaa !5
  %10051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10052 = call i32 @s2n_print_stacktrace(ptr noundef %10051) #10
  %10053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10054 = trunc nuw i8 %10053 to i1
  br i1 %10054, label %10055, label %10059

10055:                                            ; preds = %10049
  %10056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10057 = call i32 @fileno(ptr noundef %10056) #10
  %10058 = call i32 @isatty(i32 noundef %10057) #10
  %.not1605 = icmp eq i32 %10058, 0
  br i1 %.not1605, label %10059, label %10060

10059:                                            ; preds = %10055, %10049
  br label %10060

10060:                                            ; preds = %10055, %10059
  %.str.66.sink5377 = phi ptr [ @.str.66, %10059 ], [ @.str.63, %10055 ]
  store i32 %10050, ptr %2293, align 4, !tbaa !5
  %10061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10062 = load i32, ptr @test_count, align 4, !tbaa !5
  %10063 = load i32, ptr %2239, align 4, !tbaa !5
  %10064 = call ptr @s2n_strerror(i32 noundef %10063, ptr noundef nonnull @.str.65) #10
  %10065 = load i32, ptr %2239, align 4, !tbaa !5
  %10066 = call ptr @s2n_strerror_debug(i32 noundef %10065, ptr noundef nonnull @.str.65) #10
  %10067 = load i32, ptr %2293, align 4, !tbaa !5
  %10068 = call ptr @strerror(i32 noundef %10067) #10
  %10069 = load i32, ptr %2293, align 4, !tbaa !5
  %10070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10061, ptr noundef nonnull %.str.66.sink5377, i32 noundef %10062, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.62, i32 noundef 975, ptr noundef %10064, ptr noundef %10066, ptr noundef %10068, i32 noundef %10069) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10071:                                            ; preds = %10043
  %10072 = add nsw i32 %10044, 2
  store i32 %10072, ptr @test_count, align 4, !tbaa !5
  %10073 = load i32, ptr %923, align 4, !tbaa !20
  %10074 = load i32, ptr %924, align 8, !tbaa !23
  %10075 = sub i32 %10073, %10074
  %10076 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %7, ptr noundef nonnull %36, i32 noundef %10075) #10
  %10077 = icmp eq i32 %10076, -1
  br i1 %10077, label %10078, label %10100

10078:                                            ; preds = %10071
  %10079 = load i32, ptr %2293, align 4, !tbaa !5
  %10080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10081 = call i32 @s2n_print_stacktrace(ptr noundef %10080) #10
  %10082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10083 = trunc nuw i8 %10082 to i1
  br i1 %10083, label %10084, label %10088

10084:                                            ; preds = %10078
  %10085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10086 = call i32 @fileno(ptr noundef %10085) #10
  %10087 = call i32 @isatty(i32 noundef %10086) #10
  %.not1725 = icmp eq i32 %10087, 0
  br i1 %.not1725, label %10088, label %10089

10088:                                            ; preds = %10084, %10078
  br label %10089

10089:                                            ; preds = %10084, %10088
  %.str.66.sink5386 = phi ptr [ @.str.66, %10088 ], [ @.str.63, %10084 ]
  store i32 %10079, ptr %2293, align 4, !tbaa !5
  %10090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10091 = load i32, ptr @test_count, align 4, !tbaa !5
  %10092 = load i32, ptr %2239, align 4, !tbaa !5
  %10093 = call ptr @s2n_strerror(i32 noundef %10092, ptr noundef nonnull @.str.65) #10
  %10094 = load i32, ptr %2239, align 4, !tbaa !5
  %10095 = call ptr @s2n_strerror_debug(i32 noundef %10094, ptr noundef nonnull @.str.65) #10
  %10096 = load i32, ptr %2293, align 4, !tbaa !5
  %10097 = call ptr @strerror(i32 noundef %10096) #10
  %10098 = load i32, ptr %2293, align 4, !tbaa !5
  %10099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10090, ptr noundef nonnull %.str.66.sink5386, i32 noundef %10091, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.62, i32 noundef 976, ptr noundef %10093, ptr noundef %10095, ptr noundef %10097, i32 noundef %10098) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10100:                                            ; preds = %10071
  %10101 = load i32, ptr @test_count, align 4, !tbaa !5
  %10102 = add nsw i32 %10101, 1
  store i32 %10102, ptr @test_count, align 4, !tbaa !5
  %10103 = getelementptr inbounds i8, ptr %36, i64 28
  %10104 = load i32, ptr %10103, align 4, !tbaa !20
  %10105 = getelementptr inbounds i8, ptr %36, i64 24
  %10106 = load i32, ptr %10105, align 8, !tbaa !23
  %.not1606 = icmp eq i32 %10104, %10106
  br i1 %.not1606, label %10107, label %10129

10107:                                            ; preds = %10100
  %10108 = load i32, ptr %2293, align 4, !tbaa !5
  %10109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10110 = call i32 @s2n_print_stacktrace(ptr noundef %10109) #10
  %10111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10112 = trunc nuw i8 %10111 to i1
  br i1 %10112, label %10113, label %10117

10113:                                            ; preds = %10107
  %10114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10115 = call i32 @fileno(ptr noundef %10114) #10
  %10116 = call i32 @isatty(i32 noundef %10115) #10
  %.not1607 = icmp eq i32 %10116, 0
  br i1 %.not1607, label %10117, label %10118

10117:                                            ; preds = %10113, %10107
  br label %10118

10118:                                            ; preds = %10113, %10117
  %.str.66.sink5395 = phi ptr [ @.str.66, %10117 ], [ @.str.63, %10113 ]
  store i32 %10108, ptr %2293, align 4, !tbaa !5
  %10119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10120 = load i32, ptr @test_count, align 4, !tbaa !5
  %10121 = load i32, ptr %2239, align 4, !tbaa !5
  %10122 = call ptr @s2n_strerror(i32 noundef %10121, ptr noundef nonnull @.str.65) #10
  %10123 = load i32, ptr %2239, align 4, !tbaa !5
  %10124 = call ptr @s2n_strerror_debug(i32 noundef %10123, ptr noundef nonnull @.str.65) #10
  %10125 = load i32, ptr %2293, align 4, !tbaa !5
  %10126 = call ptr @strerror(i32 noundef %10125) #10
  %10127 = load i32, ptr %2293, align 4, !tbaa !5
  %10128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10119, ptr noundef nonnull %.str.66.sink5395, i32 noundef %10120, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.62, i32 noundef 977, ptr noundef %10122, ptr noundef %10124, ptr noundef %10126, i32 noundef %10127) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10129:                                            ; preds = %10100
  %10130 = add nsw i32 %10101, 2
  store i32 %10130, ptr @test_count, align 4, !tbaa !5
  %10131 = call i32 @s2n_wipe_connections(ptr noundef nonnull %9777, ptr noundef nonnull %9830, ptr noundef nonnull %37)
  %10132 = call zeroext i1 @s2n_result_is_ok(i32 %10131)
  br i1 %10132, label %10155, label %10133

10133:                                            ; preds = %10129
  %10134 = load i32, ptr %2293, align 4, !tbaa !5
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = call i32 @s2n_print_stacktrace(ptr noundef %10135) #10
  %10137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10138 = trunc nuw i8 %10137 to i1
  br i1 %10138, label %10139, label %10143

10139:                                            ; preds = %10133
  %10140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10141 = call i32 @fileno(ptr noundef %10140) #10
  %10142 = call i32 @isatty(i32 noundef %10141) #10
  %.not1608 = icmp eq i32 %10142, 0
  br i1 %.not1608, label %10143, label %10144

10143:                                            ; preds = %10139, %10133
  br label %10144

10144:                                            ; preds = %10139, %10143
  %.str.66.sink5404 = phi ptr [ @.str.66, %10143 ], [ @.str.63, %10139 ]
  store i32 %10134, ptr %2293, align 4, !tbaa !5
  %10145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10146 = load i32, ptr @test_count, align 4, !tbaa !5
  %10147 = load i32, ptr %2239, align 4, !tbaa !5
  %10148 = call ptr @s2n_strerror(i32 noundef %10147, ptr noundef nonnull @.str.65) #10
  %10149 = load i32, ptr %2239, align 4, !tbaa !5
  %10150 = call ptr @s2n_strerror_debug(i32 noundef %10149, ptr noundef nonnull @.str.65) #10
  %10151 = load i32, ptr %2293, align 4, !tbaa !5
  %10152 = call ptr @strerror(i32 noundef %10151) #10
  %10153 = load i32, ptr %2293, align 4, !tbaa !5
  %10154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10145, ptr noundef nonnull %.str.66.sink5404, i32 noundef %10146, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 979, ptr noundef %10148, ptr noundef %10150, ptr noundef %10152, i32 noundef %10153) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10155:                                            ; preds = %10129
  %10156 = load i32, ptr @test_count, align 4, !tbaa !5
  %10157 = add nsw i32 %10156, 1
  store i32 %10157, ptr @test_count, align 4, !tbaa !5
  %10158 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9830, ptr noundef nonnull %8044) #10
  %10159 = icmp eq i32 %10158, -1
  br i1 %10159, label %10160, label %10182

10160:                                            ; preds = %10155
  %10161 = load i32, ptr %2293, align 4, !tbaa !5
  %10162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10163 = call i32 @s2n_print_stacktrace(ptr noundef %10162) #10
  %10164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10165 = trunc nuw i8 %10164 to i1
  br i1 %10165, label %10166, label %10170

10166:                                            ; preds = %10160
  %10167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10168 = call i32 @fileno(ptr noundef %10167) #10
  %10169 = call i32 @isatty(i32 noundef %10168) #10
  %.not1724 = icmp eq i32 %10169, 0
  br i1 %.not1724, label %10170, label %10171

10170:                                            ; preds = %10166, %10160
  br label %10171

10171:                                            ; preds = %10166, %10170
  %.str.66.sink5413 = phi ptr [ @.str.66, %10170 ], [ @.str.63, %10166 ]
  store i32 %10161, ptr %2293, align 4, !tbaa !5
  %10172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10173 = load i32, ptr @test_count, align 4, !tbaa !5
  %10174 = load i32, ptr %2239, align 4, !tbaa !5
  %10175 = call ptr @s2n_strerror(i32 noundef %10174, ptr noundef nonnull @.str.65) #10
  %10176 = load i32, ptr %2239, align 4, !tbaa !5
  %10177 = call ptr @s2n_strerror_debug(i32 noundef %10176, ptr noundef nonnull @.str.65) #10
  %10178 = load i32, ptr %2293, align 4, !tbaa !5
  %10179 = call ptr @strerror(i32 noundef %10178) #10
  %10180 = load i32, ptr %2293, align 4, !tbaa !5
  %10181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10172, ptr noundef nonnull %.str.66.sink5413, i32 noundef %10173, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.62, i32 noundef 984, ptr noundef %10175, ptr noundef %10177, ptr noundef %10179, i32 noundef %10180) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10182:                                            ; preds = %10155
  %10183 = load i32, ptr @test_count, align 4, !tbaa !5
  %10184 = add nsw i32 %10183, 1
  store i32 %10184, ptr @test_count, align 4, !tbaa !5
  %10185 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %9830, ptr noundef nonnull %9777) #10
  %10186 = icmp eq i32 %10185, -1
  br i1 %10186, label %10187, label %10209

10187:                                            ; preds = %10182
  %10188 = load i32, ptr %2293, align 4, !tbaa !5
  %10189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10190 = call i32 @s2n_print_stacktrace(ptr noundef %10189) #10
  %10191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10192 = trunc nuw i8 %10191 to i1
  br i1 %10192, label %10193, label %10197

10193:                                            ; preds = %10187
  %10194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10195 = call i32 @fileno(ptr noundef %10194) #10
  %10196 = call i32 @isatty(i32 noundef %10195) #10
  %.not1723 = icmp eq i32 %10196, 0
  br i1 %.not1723, label %10197, label %10198

10197:                                            ; preds = %10193, %10187
  br label %10198

10198:                                            ; preds = %10193, %10197
  %.str.66.sink5422 = phi ptr [ @.str.66, %10197 ], [ @.str.63, %10193 ]
  store i32 %10188, ptr %2293, align 4, !tbaa !5
  %10199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10200 = load i32, ptr @test_count, align 4, !tbaa !5
  %10201 = load i32, ptr %2239, align 4, !tbaa !5
  %10202 = call ptr @s2n_strerror(i32 noundef %10201, ptr noundef nonnull @.str.65) #10
  %10203 = load i32, ptr %2239, align 4, !tbaa !5
  %10204 = call ptr @s2n_strerror_debug(i32 noundef %10203, ptr noundef nonnull @.str.65) #10
  %10205 = load i32, ptr %2293, align 4, !tbaa !5
  %10206 = call ptr @strerror(i32 noundef %10205) #10
  %10207 = load i32, ptr %2293, align 4, !tbaa !5
  %10208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10199, ptr noundef nonnull %.str.66.sink5422, i32 noundef %10200, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 986, ptr noundef %10202, ptr noundef %10204, ptr noundef %10206, i32 noundef %10207) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10209:                                            ; preds = %10182
  %10210 = load i32, ptr @test_count, align 4, !tbaa !5
  %10211 = add nsw i32 %10210, 1
  store i32 %10211, ptr @test_count, align 4, !tbaa !5
  %10212 = load i8, ptr %9993, align 4, !tbaa !59
  %10213 = icmp eq i8 %10212, 34
  br i1 %10213, label %10236, label %10214

10214:                                            ; preds = %10209
  %10215 = load i32, ptr %2293, align 4, !tbaa !5
  %10216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10217 = call i32 @s2n_print_stacktrace(ptr noundef %10216) #10
  %10218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10219 = trunc nuw i8 %10218 to i1
  br i1 %10219, label %10220, label %10224

10220:                                            ; preds = %10214
  %10221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10222 = call i32 @fileno(ptr noundef %10221) #10
  %10223 = call i32 @isatty(i32 noundef %10222) #10
  %.not1609 = icmp eq i32 %10223, 0
  br i1 %.not1609, label %10224, label %10225

10224:                                            ; preds = %10220, %10214
  br label %10225

10225:                                            ; preds = %10220, %10224
  %.str.66.sink5431 = phi ptr [ @.str.66, %10224 ], [ @.str.63, %10220 ]
  store i32 %10215, ptr %2293, align 4, !tbaa !5
  %10226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10227 = load i32, ptr @test_count, align 4, !tbaa !5
  %10228 = load i32, ptr %2239, align 4, !tbaa !5
  %10229 = call ptr @s2n_strerror(i32 noundef %10228, ptr noundef nonnull @.str.65) #10
  %10230 = load i32, ptr %2239, align 4, !tbaa !5
  %10231 = call ptr @s2n_strerror_debug(i32 noundef %10230, ptr noundef nonnull @.str.65) #10
  %10232 = load i32, ptr %2293, align 4, !tbaa !5
  %10233 = call ptr @strerror(i32 noundef %10232) #10
  %10234 = load i32, ptr %2293, align 4, !tbaa !5
  %10235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10226, ptr noundef nonnull %.str.66.sink5431, i32 noundef %10227, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.62, i32 noundef 987, ptr noundef %10229, ptr noundef %10231, ptr noundef %10233, i32 noundef %10234) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10236:                                            ; preds = %10209
  %10237 = add nsw i32 %10210, 2
  store i32 %10237, ptr @test_count, align 4, !tbaa !5
  %10238 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %9830, i32 noundef 2) #10
  br i1 %10238, label %10261, label %10239

10239:                                            ; preds = %10236
  %10240 = load i32, ptr %2293, align 4, !tbaa !5
  %10241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10242 = call i32 @s2n_print_stacktrace(ptr noundef %10241) #10
  %10243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10244 = trunc nuw i8 %10243 to i1
  br i1 %10244, label %10245, label %10249

10245:                                            ; preds = %10239
  %10246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10247 = call i32 @fileno(ptr noundef %10246) #10
  %10248 = call i32 @isatty(i32 noundef %10247) #10
  %.not1610 = icmp eq i32 %10248, 0
  br i1 %.not1610, label %10249, label %10250

10249:                                            ; preds = %10245, %10239
  br label %10250

10250:                                            ; preds = %10245, %10249
  %.str.66.sink5440 = phi ptr [ @.str.66, %10249 ], [ @.str.63, %10245 ]
  store i32 %10240, ptr %2293, align 4, !tbaa !5
  %10251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10252 = load i32, ptr @test_count, align 4, !tbaa !5
  %10253 = load i32, ptr %2239, align 4, !tbaa !5
  %10254 = call ptr @s2n_strerror(i32 noundef %10253, ptr noundef nonnull @.str.65) #10
  %10255 = load i32, ptr %2239, align 4, !tbaa !5
  %10256 = call ptr @s2n_strerror_debug(i32 noundef %10255, ptr noundef nonnull @.str.65) #10
  %10257 = load i32, ptr %2293, align 4, !tbaa !5
  %10258 = call ptr @strerror(i32 noundef %10257) #10
  %10259 = load i32, ptr %2293, align 4, !tbaa !5
  %10260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10251, ptr noundef nonnull %.str.66.sink5440, i32 noundef %10252, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 988, ptr noundef %10254, ptr noundef %10256, ptr noundef %10258, i32 noundef %10259) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10261:                                            ; preds = %10236
  %10262 = load i32, ptr @test_count, align 4, !tbaa !5
  %10263 = add nsw i32 %10262, 1
  store i32 %10263, ptr @test_count, align 4, !tbaa !5
  %10264 = load i16, ptr %10046, align 2, !tbaa !69
  %10265 = icmp eq i16 %10264, 0
  br i1 %10265, label %10288, label %10266

10266:                                            ; preds = %10261
  %10267 = load i32, ptr %2293, align 4, !tbaa !5
  %10268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10269 = call i32 @s2n_print_stacktrace(ptr noundef %10268) #10
  %10270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10271 = trunc nuw i8 %10270 to i1
  br i1 %10271, label %10272, label %10276

10272:                                            ; preds = %10266
  %10273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10274 = call i32 @fileno(ptr noundef %10273) #10
  %10275 = call i32 @isatty(i32 noundef %10274) #10
  %.not1611 = icmp eq i32 %10275, 0
  br i1 %.not1611, label %10276, label %10277

10276:                                            ; preds = %10272, %10266
  br label %10277

10277:                                            ; preds = %10272, %10276
  %.str.66.sink5449 = phi ptr [ @.str.66, %10276 ], [ @.str.63, %10272 ]
  store i32 %10267, ptr %2293, align 4, !tbaa !5
  %10278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10279 = load i32, ptr @test_count, align 4, !tbaa !5
  %10280 = load i32, ptr %2239, align 4, !tbaa !5
  %10281 = call ptr @s2n_strerror(i32 noundef %10280, ptr noundef nonnull @.str.65) #10
  %10282 = load i32, ptr %2239, align 4, !tbaa !5
  %10283 = call ptr @s2n_strerror_debug(i32 noundef %10282, ptr noundef nonnull @.str.65) #10
  %10284 = load i32, ptr %2293, align 4, !tbaa !5
  %10285 = call ptr @strerror(i32 noundef %10284) #10
  %10286 = load i32, ptr %2293, align 4, !tbaa !5
  %10287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10278, ptr noundef nonnull %.str.66.sink5449, i32 noundef %10279, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.62, i32 noundef 989, ptr noundef %10281, ptr noundef %10283, ptr noundef %10285, i32 noundef %10286) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10288:                                            ; preds = %10261
  %10289 = add nsw i32 %10262, 2
  store i32 %10289, ptr @test_count, align 4, !tbaa !5
  %10290 = call i32 @s2n_wipe_connections(ptr noundef nonnull %9777, ptr noundef nonnull %9830, ptr noundef nonnull %37)
  %10291 = call zeroext i1 @s2n_result_is_ok(i32 %10290)
  br i1 %10291, label %10314, label %10292

10292:                                            ; preds = %10288
  %10293 = load i32, ptr %2293, align 4, !tbaa !5
  %10294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10295 = call i32 @s2n_print_stacktrace(ptr noundef %10294) #10
  %10296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10297 = trunc nuw i8 %10296 to i1
  br i1 %10297, label %10298, label %10302

10298:                                            ; preds = %10292
  %10299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10300 = call i32 @fileno(ptr noundef %10299) #10
  %10301 = call i32 @isatty(i32 noundef %10300) #10
  %.not1612 = icmp eq i32 %10301, 0
  br i1 %.not1612, label %10302, label %10303

10302:                                            ; preds = %10298, %10292
  br label %10303

10303:                                            ; preds = %10298, %10302
  %.str.66.sink5458 = phi ptr [ @.str.66, %10302 ], [ @.str.63, %10298 ]
  store i32 %10293, ptr %2293, align 4, !tbaa !5
  %10304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10305 = load i32, ptr @test_count, align 4, !tbaa !5
  %10306 = load i32, ptr %2239, align 4, !tbaa !5
  %10307 = call ptr @s2n_strerror(i32 noundef %10306, ptr noundef nonnull @.str.65) #10
  %10308 = load i32, ptr %2239, align 4, !tbaa !5
  %10309 = call ptr @s2n_strerror_debug(i32 noundef %10308, ptr noundef nonnull @.str.65) #10
  %10310 = load i32, ptr %2293, align 4, !tbaa !5
  %10311 = call ptr @strerror(i32 noundef %10310) #10
  %10312 = load i32, ptr %2293, align 4, !tbaa !5
  %10313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10304, ptr noundef nonnull %.str.66.sink5458, i32 noundef %10305, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 991, ptr noundef %10307, ptr noundef %10309, ptr noundef %10311, i32 noundef %10312) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10314:                                            ; preds = %10288
  %10315 = load i32, ptr @test_count, align 4, !tbaa !5
  %10316 = add nsw i32 %10315, 1
  store i32 %10316, ptr @test_count, align 4, !tbaa !5
  %10317 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9830, ptr noundef nonnull %8155) #10
  %10318 = icmp eq i32 %10317, -1
  br i1 %10318, label %10319, label %10341

10319:                                            ; preds = %10314
  %10320 = load i32, ptr %2293, align 4, !tbaa !5
  %10321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10322 = call i32 @s2n_print_stacktrace(ptr noundef %10321) #10
  %10323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10324 = trunc nuw i8 %10323 to i1
  br i1 %10324, label %10325, label %10329

10325:                                            ; preds = %10319
  %10326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10327 = call i32 @fileno(ptr noundef %10326) #10
  %10328 = call i32 @isatty(i32 noundef %10327) #10
  %.not1722 = icmp eq i32 %10328, 0
  br i1 %.not1722, label %10329, label %10330

10329:                                            ; preds = %10325, %10319
  br label %10330

10330:                                            ; preds = %10325, %10329
  %.str.66.sink5467 = phi ptr [ @.str.66, %10329 ], [ @.str.63, %10325 ]
  store i32 %10320, ptr %2293, align 4, !tbaa !5
  %10331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10332 = load i32, ptr @test_count, align 4, !tbaa !5
  %10333 = load i32, ptr %2239, align 4, !tbaa !5
  %10334 = call ptr @s2n_strerror(i32 noundef %10333, ptr noundef nonnull @.str.65) #10
  %10335 = load i32, ptr %2239, align 4, !tbaa !5
  %10336 = call ptr @s2n_strerror_debug(i32 noundef %10335, ptr noundef nonnull @.str.65) #10
  %10337 = load i32, ptr %2293, align 4, !tbaa !5
  %10338 = call ptr @strerror(i32 noundef %10337) #10
  %10339 = load i32, ptr %2293, align 4, !tbaa !5
  %10340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10331, ptr noundef nonnull %.str.66.sink5467, i32 noundef %10332, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.62, i32 noundef 996, ptr noundef %10334, ptr noundef %10336, ptr noundef %10338, i32 noundef %10339) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10341:                                            ; preds = %10314
  %10342 = load i32, ptr @test_count, align 4, !tbaa !5
  %10343 = add nsw i32 %10342, 1
  store i32 %10343, ptr @test_count, align 4, !tbaa !5
  %10344 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %9830, ptr noundef nonnull %9777) #10
  %10345 = icmp eq i32 %10344, -1
  br i1 %10345, label %10346, label %10368

10346:                                            ; preds = %10341
  %10347 = load i32, ptr %2293, align 4, !tbaa !5
  %10348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10349 = call i32 @s2n_print_stacktrace(ptr noundef %10348) #10
  %10350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10351 = trunc nuw i8 %10350 to i1
  br i1 %10351, label %10352, label %10356

10352:                                            ; preds = %10346
  %10353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10354 = call i32 @fileno(ptr noundef %10353) #10
  %10355 = call i32 @isatty(i32 noundef %10354) #10
  %.not1721 = icmp eq i32 %10355, 0
  br i1 %.not1721, label %10356, label %10357

10356:                                            ; preds = %10352, %10346
  br label %10357

10357:                                            ; preds = %10352, %10356
  %.str.66.sink5476 = phi ptr [ @.str.66, %10356 ], [ @.str.63, %10352 ]
  store i32 %10347, ptr %2293, align 4, !tbaa !5
  %10358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10359 = load i32, ptr @test_count, align 4, !tbaa !5
  %10360 = load i32, ptr %2239, align 4, !tbaa !5
  %10361 = call ptr @s2n_strerror(i32 noundef %10360, ptr noundef nonnull @.str.65) #10
  %10362 = load i32, ptr %2239, align 4, !tbaa !5
  %10363 = call ptr @s2n_strerror_debug(i32 noundef %10362, ptr noundef nonnull @.str.65) #10
  %10364 = load i32, ptr %2293, align 4, !tbaa !5
  %10365 = call ptr @strerror(i32 noundef %10364) #10
  %10366 = load i32, ptr %2293, align 4, !tbaa !5
  %10367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10358, ptr noundef nonnull %.str.66.sink5476, i32 noundef %10359, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 998, ptr noundef %10361, ptr noundef %10363, ptr noundef %10365, i32 noundef %10366) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10368:                                            ; preds = %10341
  %10369 = load i32, ptr @test_count, align 4, !tbaa !5
  %10370 = add nsw i32 %10369, 1
  store i32 %10370, ptr @test_count, align 4, !tbaa !5
  %10371 = load i8, ptr %9993, align 4, !tbaa !59
  %10372 = icmp eq i8 %10371, 34
  br i1 %10372, label %10395, label %10373

10373:                                            ; preds = %10368
  %10374 = load i32, ptr %2293, align 4, !tbaa !5
  %10375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10376 = call i32 @s2n_print_stacktrace(ptr noundef %10375) #10
  %10377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10378 = trunc nuw i8 %10377 to i1
  br i1 %10378, label %10379, label %10383

10379:                                            ; preds = %10373
  %10380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10381 = call i32 @fileno(ptr noundef %10380) #10
  %10382 = call i32 @isatty(i32 noundef %10381) #10
  %.not1613 = icmp eq i32 %10382, 0
  br i1 %.not1613, label %10383, label %10384

10383:                                            ; preds = %10379, %10373
  br label %10384

10384:                                            ; preds = %10379, %10383
  %.str.66.sink5485 = phi ptr [ @.str.66, %10383 ], [ @.str.63, %10379 ]
  store i32 %10374, ptr %2293, align 4, !tbaa !5
  %10385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10386 = load i32, ptr @test_count, align 4, !tbaa !5
  %10387 = load i32, ptr %2239, align 4, !tbaa !5
  %10388 = call ptr @s2n_strerror(i32 noundef %10387, ptr noundef nonnull @.str.65) #10
  %10389 = load i32, ptr %2239, align 4, !tbaa !5
  %10390 = call ptr @s2n_strerror_debug(i32 noundef %10389, ptr noundef nonnull @.str.65) #10
  %10391 = load i32, ptr %2293, align 4, !tbaa !5
  %10392 = call ptr @strerror(i32 noundef %10391) #10
  %10393 = load i32, ptr %2293, align 4, !tbaa !5
  %10394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10385, ptr noundef nonnull %.str.66.sink5485, i32 noundef %10386, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.62, i32 noundef 999, ptr noundef %10388, ptr noundef %10390, ptr noundef %10392, i32 noundef %10393) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10395:                                            ; preds = %10368
  %10396 = add nsw i32 %10369, 2
  store i32 %10396, ptr @test_count, align 4, !tbaa !5
  %10397 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %9830, i32 noundef 2) #10
  br i1 %10397, label %10420, label %10398

10398:                                            ; preds = %10395
  %10399 = load i32, ptr %2293, align 4, !tbaa !5
  %10400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10401 = call i32 @s2n_print_stacktrace(ptr noundef %10400) #10
  %10402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10403 = trunc nuw i8 %10402 to i1
  br i1 %10403, label %10404, label %10408

10404:                                            ; preds = %10398
  %10405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10406 = call i32 @fileno(ptr noundef %10405) #10
  %10407 = call i32 @isatty(i32 noundef %10406) #10
  %.not1614 = icmp eq i32 %10407, 0
  br i1 %.not1614, label %10408, label %10409

10408:                                            ; preds = %10404, %10398
  br label %10409

10409:                                            ; preds = %10404, %10408
  %.str.66.sink5494 = phi ptr [ @.str.66, %10408 ], [ @.str.63, %10404 ]
  store i32 %10399, ptr %2293, align 4, !tbaa !5
  %10410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10411 = load i32, ptr @test_count, align 4, !tbaa !5
  %10412 = load i32, ptr %2239, align 4, !tbaa !5
  %10413 = call ptr @s2n_strerror(i32 noundef %10412, ptr noundef nonnull @.str.65) #10
  %10414 = load i32, ptr %2239, align 4, !tbaa !5
  %10415 = call ptr @s2n_strerror_debug(i32 noundef %10414, ptr noundef nonnull @.str.65) #10
  %10416 = load i32, ptr %2293, align 4, !tbaa !5
  %10417 = call ptr @strerror(i32 noundef %10416) #10
  %10418 = load i32, ptr %2293, align 4, !tbaa !5
  %10419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10410, ptr noundef nonnull %.str.66.sink5494, i32 noundef %10411, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 1000, ptr noundef %10413, ptr noundef %10415, ptr noundef %10417, i32 noundef %10418) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10420:                                            ; preds = %10395
  %10421 = load i32, ptr @test_count, align 4, !tbaa !5
  %10422 = add nsw i32 %10421, 1
  store i32 %10422, ptr @test_count, align 4, !tbaa !5
  %10423 = load i16, ptr %10046, align 2, !tbaa !69
  %10424 = icmp eq i16 %10423, 0
  br i1 %10424, label %10447, label %10425

10425:                                            ; preds = %10420
  %10426 = load i32, ptr %2293, align 4, !tbaa !5
  %10427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10428 = call i32 @s2n_print_stacktrace(ptr noundef %10427) #10
  %10429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10430 = trunc nuw i8 %10429 to i1
  br i1 %10430, label %10431, label %10435

10431:                                            ; preds = %10425
  %10432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10433 = call i32 @fileno(ptr noundef %10432) #10
  %10434 = call i32 @isatty(i32 noundef %10433) #10
  %.not1615 = icmp eq i32 %10434, 0
  br i1 %.not1615, label %10435, label %10436

10435:                                            ; preds = %10431, %10425
  br label %10436

10436:                                            ; preds = %10431, %10435
  %.str.66.sink5503 = phi ptr [ @.str.66, %10435 ], [ @.str.63, %10431 ]
  store i32 %10426, ptr %2293, align 4, !tbaa !5
  %10437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10438 = load i32, ptr @test_count, align 4, !tbaa !5
  %10439 = load i32, ptr %2239, align 4, !tbaa !5
  %10440 = call ptr @s2n_strerror(i32 noundef %10439, ptr noundef nonnull @.str.65) #10
  %10441 = load i32, ptr %2239, align 4, !tbaa !5
  %10442 = call ptr @s2n_strerror_debug(i32 noundef %10441, ptr noundef nonnull @.str.65) #10
  %10443 = load i32, ptr %2293, align 4, !tbaa !5
  %10444 = call ptr @strerror(i32 noundef %10443) #10
  %10445 = load i32, ptr %2293, align 4, !tbaa !5
  %10446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10437, ptr noundef nonnull %.str.66.sink5503, i32 noundef %10438, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.62, i32 noundef 1001, ptr noundef %10440, ptr noundef %10442, ptr noundef %10444, i32 noundef %10445) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10447:                                            ; preds = %10420
  %10448 = add nsw i32 %10421, 2
  store i32 %10448, ptr @test_count, align 4, !tbaa !5
  %10449 = call i32 @s2n_wipe_connections(ptr noundef nonnull %9777, ptr noundef nonnull %9830, ptr noundef nonnull %37)
  %10450 = call zeroext i1 @s2n_result_is_ok(i32 %10449)
  br i1 %10450, label %10473, label %10451

10451:                                            ; preds = %10447
  %10452 = load i32, ptr %2293, align 4, !tbaa !5
  %10453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10454 = call i32 @s2n_print_stacktrace(ptr noundef %10453) #10
  %10455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10456 = trunc nuw i8 %10455 to i1
  br i1 %10456, label %10457, label %10461

10457:                                            ; preds = %10451
  %10458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10459 = call i32 @fileno(ptr noundef %10458) #10
  %10460 = call i32 @isatty(i32 noundef %10459) #10
  %.not1616 = icmp eq i32 %10460, 0
  br i1 %.not1616, label %10461, label %10462

10461:                                            ; preds = %10457, %10451
  br label %10462

10462:                                            ; preds = %10457, %10461
  %.str.66.sink5512 = phi ptr [ @.str.66, %10461 ], [ @.str.63, %10457 ]
  store i32 %10452, ptr %2293, align 4, !tbaa !5
  %10463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10464 = load i32, ptr @test_count, align 4, !tbaa !5
  %10465 = load i32, ptr %2239, align 4, !tbaa !5
  %10466 = call ptr @s2n_strerror(i32 noundef %10465, ptr noundef nonnull @.str.65) #10
  %10467 = load i32, ptr %2239, align 4, !tbaa !5
  %10468 = call ptr @s2n_strerror_debug(i32 noundef %10467, ptr noundef nonnull @.str.65) #10
  %10469 = load i32, ptr %2293, align 4, !tbaa !5
  %10470 = call ptr @strerror(i32 noundef %10469) #10
  %10471 = load i32, ptr %2293, align 4, !tbaa !5
  %10472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10463, ptr noundef nonnull %.str.66.sink5512, i32 noundef %10464, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 1003, ptr noundef %10466, ptr noundef %10468, ptr noundef %10470, i32 noundef %10471) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10473:                                            ; preds = %10447
  %10474 = load i32, ptr @test_count, align 4, !tbaa !5
  %10475 = add nsw i32 %10474, 1
  store i32 %10475, ptr @test_count, align 4, !tbaa !5
  %10476 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9830, ptr noundef nonnull %225) #10
  %10477 = icmp eq i32 %10476, -1
  br i1 %10477, label %10478, label %10500

10478:                                            ; preds = %10473
  %10479 = load i32, ptr %2293, align 4, !tbaa !5
  %10480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10481 = call i32 @s2n_print_stacktrace(ptr noundef %10480) #10
  %10482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10483 = trunc nuw i8 %10482 to i1
  br i1 %10483, label %10484, label %10488

10484:                                            ; preds = %10478
  %10485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10486 = call i32 @fileno(ptr noundef %10485) #10
  %10487 = call i32 @isatty(i32 noundef %10486) #10
  %.not1720 = icmp eq i32 %10487, 0
  br i1 %.not1720, label %10488, label %10489

10488:                                            ; preds = %10484, %10478
  br label %10489

10489:                                            ; preds = %10484, %10488
  %.str.66.sink5521 = phi ptr [ @.str.66, %10488 ], [ @.str.63, %10484 ]
  store i32 %10479, ptr %2293, align 4, !tbaa !5
  %10490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10491 = load i32, ptr @test_count, align 4, !tbaa !5
  %10492 = load i32, ptr %2239, align 4, !tbaa !5
  %10493 = call ptr @s2n_strerror(i32 noundef %10492, ptr noundef nonnull @.str.65) #10
  %10494 = load i32, ptr %2239, align 4, !tbaa !5
  %10495 = call ptr @s2n_strerror_debug(i32 noundef %10494, ptr noundef nonnull @.str.65) #10
  %10496 = load i32, ptr %2293, align 4, !tbaa !5
  %10497 = call ptr @strerror(i32 noundef %10496) #10
  %10498 = load i32, ptr %2293, align 4, !tbaa !5
  %10499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10490, ptr noundef nonnull %.str.66.sink5521, i32 noundef %10491, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 1008, ptr noundef %10493, ptr noundef %10495, ptr noundef %10497, i32 noundef %10498) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10500:                                            ; preds = %10473
  %10501 = load i32, ptr @test_count, align 4, !tbaa !5
  %10502 = add nsw i32 %10501, 1
  store i32 %10502, ptr @test_count, align 4, !tbaa !5
  %10503 = load ptr, ptr %36, align 8, !tbaa !24
  %10504 = load i32, ptr %10103, align 4, !tbaa !20
  %10505 = load i32, ptr %10105, align 8, !tbaa !23
  %10506 = sub i32 %10504, %10505
  %10507 = zext i32 %10506 to i64
  %10508 = call i32 @s2n_connection_set_session(ptr noundef nonnull %9777, ptr noundef %10503, i64 noundef %10507)
  %10509 = icmp eq i32 %10508, -1
  br i1 %10509, label %10510, label %10532

10510:                                            ; preds = %10500
  %10511 = load i32, ptr %2293, align 4, !tbaa !5
  %10512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10513 = call i32 @s2n_print_stacktrace(ptr noundef %10512) #10
  %10514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10515 = trunc nuw i8 %10514 to i1
  br i1 %10515, label %10516, label %10520

10516:                                            ; preds = %10510
  %10517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10518 = call i32 @fileno(ptr noundef %10517) #10
  %10519 = call i32 @isatty(i32 noundef %10518) #10
  %.not1719 = icmp eq i32 %10519, 0
  br i1 %.not1719, label %10520, label %10521

10520:                                            ; preds = %10516, %10510
  br label %10521

10521:                                            ; preds = %10516, %10520
  %.str.66.sink5530 = phi ptr [ @.str.66, %10520 ], [ @.str.63, %10516 ]
  store i32 %10511, ptr %2293, align 4, !tbaa !5
  %10522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10523 = load i32, ptr @test_count, align 4, !tbaa !5
  %10524 = load i32, ptr %2239, align 4, !tbaa !5
  %10525 = call ptr @s2n_strerror(i32 noundef %10524, ptr noundef nonnull @.str.65) #10
  %10526 = load i32, ptr %2239, align 4, !tbaa !5
  %10527 = call ptr @s2n_strerror_debug(i32 noundef %10526, ptr noundef nonnull @.str.65) #10
  %10528 = load i32, ptr %2293, align 4, !tbaa !5
  %10529 = call ptr @strerror(i32 noundef %10528) #10
  %10530 = load i32, ptr %2293, align 4, !tbaa !5
  %10531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10522, ptr noundef nonnull %.str.66.sink5530, i32 noundef %10523, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.62, i32 noundef 1010, ptr noundef %10525, ptr noundef %10527, ptr noundef %10529, i32 noundef %10530) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10532:                                            ; preds = %10500
  %10533 = load i32, ptr @test_count, align 4, !tbaa !5
  %10534 = add nsw i32 %10533, 1
  store i32 %10534, ptr @test_count, align 4, !tbaa !5
  %10535 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %9830, ptr noundef nonnull %9777) #10
  %10536 = icmp eq i32 %10535, -1
  br i1 %10536, label %10537, label %10559

10537:                                            ; preds = %10532
  %10538 = load i32, ptr %2293, align 4, !tbaa !5
  %10539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10540 = call i32 @s2n_print_stacktrace(ptr noundef %10539) #10
  %10541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10542 = trunc nuw i8 %10541 to i1
  br i1 %10542, label %10543, label %10547

10543:                                            ; preds = %10537
  %10544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10545 = call i32 @fileno(ptr noundef %10544) #10
  %10546 = call i32 @isatty(i32 noundef %10545) #10
  %.not1718 = icmp eq i32 %10546, 0
  br i1 %.not1718, label %10547, label %10548

10547:                                            ; preds = %10543, %10537
  br label %10548

10548:                                            ; preds = %10543, %10547
  %.str.66.sink5539 = phi ptr [ @.str.66, %10547 ], [ @.str.63, %10543 ]
  store i32 %10538, ptr %2293, align 4, !tbaa !5
  %10549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10550 = load i32, ptr @test_count, align 4, !tbaa !5
  %10551 = load i32, ptr %2239, align 4, !tbaa !5
  %10552 = call ptr @s2n_strerror(i32 noundef %10551, ptr noundef nonnull @.str.65) #10
  %10553 = load i32, ptr %2239, align 4, !tbaa !5
  %10554 = call ptr @s2n_strerror_debug(i32 noundef %10553, ptr noundef nonnull @.str.65) #10
  %10555 = load i32, ptr %2293, align 4, !tbaa !5
  %10556 = call ptr @strerror(i32 noundef %10555) #10
  %10557 = load i32, ptr %2293, align 4, !tbaa !5
  %10558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10549, ptr noundef nonnull %.str.66.sink5539, i32 noundef %10550, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 1012, ptr noundef %10552, ptr noundef %10554, ptr noundef %10556, i32 noundef %10557) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10559:                                            ; preds = %10532
  %10560 = load i32, ptr @test_count, align 4, !tbaa !5
  %10561 = add nsw i32 %10560, 1
  store i32 %10561, ptr @test_count, align 4, !tbaa !5
  %10562 = load i8, ptr %9993, align 4, !tbaa !59
  %10563 = icmp eq i8 %10562, 34
  br i1 %10563, label %10586, label %10564

10564:                                            ; preds = %10559
  %10565 = load i32, ptr %2293, align 4, !tbaa !5
  %10566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10567 = call i32 @s2n_print_stacktrace(ptr noundef %10566) #10
  %10568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10569 = trunc nuw i8 %10568 to i1
  br i1 %10569, label %10570, label %10574

10570:                                            ; preds = %10564
  %10571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10572 = call i32 @fileno(ptr noundef %10571) #10
  %10573 = call i32 @isatty(i32 noundef %10572) #10
  %.not1617 = icmp eq i32 %10573, 0
  br i1 %.not1617, label %10574, label %10575

10574:                                            ; preds = %10570, %10564
  br label %10575

10575:                                            ; preds = %10570, %10574
  %.str.66.sink5548 = phi ptr [ @.str.66, %10574 ], [ @.str.63, %10570 ]
  store i32 %10565, ptr %2293, align 4, !tbaa !5
  %10576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10577 = load i32, ptr @test_count, align 4, !tbaa !5
  %10578 = load i32, ptr %2239, align 4, !tbaa !5
  %10579 = call ptr @s2n_strerror(i32 noundef %10578, ptr noundef nonnull @.str.65) #10
  %10580 = load i32, ptr %2239, align 4, !tbaa !5
  %10581 = call ptr @s2n_strerror_debug(i32 noundef %10580, ptr noundef nonnull @.str.65) #10
  %10582 = load i32, ptr %2293, align 4, !tbaa !5
  %10583 = call ptr @strerror(i32 noundef %10582) #10
  %10584 = load i32, ptr %2293, align 4, !tbaa !5
  %10585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10576, ptr noundef nonnull %.str.66.sink5548, i32 noundef %10577, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.62, i32 noundef 1013, ptr noundef %10579, ptr noundef %10581, ptr noundef %10583, i32 noundef %10584) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10586:                                            ; preds = %10559
  %10587 = add nsw i32 %10560, 2
  store i32 %10587, ptr @test_count, align 4, !tbaa !5
  %10588 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %9830, i32 noundef 2) #10
  br i1 %10588, label %10589, label %10611

10589:                                            ; preds = %10586
  %10590 = load i32, ptr %2293, align 4, !tbaa !5
  %10591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10592 = call i32 @s2n_print_stacktrace(ptr noundef %10591) #10
  %10593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10594 = trunc nuw i8 %10593 to i1
  br i1 %10594, label %10595, label %10599

10595:                                            ; preds = %10589
  %10596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10597 = call i32 @fileno(ptr noundef %10596) #10
  %10598 = call i32 @isatty(i32 noundef %10597) #10
  %.not1717 = icmp eq i32 %10598, 0
  br i1 %.not1717, label %10599, label %10600

10599:                                            ; preds = %10595, %10589
  br label %10600

10600:                                            ; preds = %10595, %10599
  %.str.66.sink5557 = phi ptr [ @.str.66, %10599 ], [ @.str.63, %10595 ]
  store i32 %10590, ptr %2293, align 4, !tbaa !5
  %10601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10602 = load i32, ptr @test_count, align 4, !tbaa !5
  %10603 = load i32, ptr %2239, align 4, !tbaa !5
  %10604 = call ptr @s2n_strerror(i32 noundef %10603, ptr noundef nonnull @.str.65) #10
  %10605 = load i32, ptr %2239, align 4, !tbaa !5
  %10606 = call ptr @s2n_strerror_debug(i32 noundef %10605, ptr noundef nonnull @.str.65) #10
  %10607 = load i32, ptr %2293, align 4, !tbaa !5
  %10608 = call ptr @strerror(i32 noundef %10607) #10
  %10609 = load i32, ptr %2293, align 4, !tbaa !5
  %10610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10601, ptr noundef nonnull %.str.66.sink5557, i32 noundef %10602, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.62, i32 noundef 1014, ptr noundef %10604, ptr noundef %10606, ptr noundef %10608, i32 noundef %10609) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10611:                                            ; preds = %10586
  %10612 = load i32, ptr @test_count, align 4, !tbaa !5
  %10613 = add nsw i32 %10612, 1
  store i32 %10613, ptr @test_count, align 4, !tbaa !5
  %10614 = load i16, ptr %10046, align 2, !tbaa !69
  %10615 = icmp eq i16 %10614, 1
  br i1 %10615, label %10638, label %10616

10616:                                            ; preds = %10611
  %10617 = load i32, ptr %2293, align 4, !tbaa !5
  %10618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10619 = call i32 @s2n_print_stacktrace(ptr noundef %10618) #10
  %10620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10621 = trunc nuw i8 %10620 to i1
  br i1 %10621, label %10622, label %10626

10622:                                            ; preds = %10616
  %10623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10624 = call i32 @fileno(ptr noundef %10623) #10
  %10625 = call i32 @isatty(i32 noundef %10624) #10
  %.not1618 = icmp eq i32 %10625, 0
  br i1 %.not1618, label %10626, label %10627

10626:                                            ; preds = %10622, %10616
  br label %10627

10627:                                            ; preds = %10622, %10626
  %.str.66.sink5566 = phi ptr [ @.str.66, %10626 ], [ @.str.63, %10622 ]
  store i32 %10617, ptr %2293, align 4, !tbaa !5
  %10628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10629 = load i32, ptr @test_count, align 4, !tbaa !5
  %10630 = load i32, ptr %2239, align 4, !tbaa !5
  %10631 = call ptr @s2n_strerror(i32 noundef %10630, ptr noundef nonnull @.str.65) #10
  %10632 = load i32, ptr %2239, align 4, !tbaa !5
  %10633 = call ptr @s2n_strerror_debug(i32 noundef %10632, ptr noundef nonnull @.str.65) #10
  %10634 = load i32, ptr %2293, align 4, !tbaa !5
  %10635 = call ptr @strerror(i32 noundef %10634) #10
  %10636 = load i32, ptr %2293, align 4, !tbaa !5
  %10637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10628, ptr noundef nonnull %.str.66.sink5566, i32 noundef %10629, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.62, i32 noundef 1015, ptr noundef %10631, ptr noundef %10633, ptr noundef %10635, i32 noundef %10636) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10638:                                            ; preds = %10611
  %10639 = add nsw i32 %10612, 2
  store i32 %10639, ptr @test_count, align 4, !tbaa !5
  %10640 = call i32 @s2n_wipe_connections(ptr noundef nonnull %9777, ptr noundef nonnull %9830, ptr noundef nonnull %37)
  %10641 = call zeroext i1 @s2n_result_is_ok(i32 %10640)
  br i1 %10641, label %10664, label %10642

10642:                                            ; preds = %10638
  %10643 = load i32, ptr %2293, align 4, !tbaa !5
  %10644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10645 = call i32 @s2n_print_stacktrace(ptr noundef %10644) #10
  %10646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10647 = trunc nuw i8 %10646 to i1
  br i1 %10647, label %10648, label %10652

10648:                                            ; preds = %10642
  %10649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10650 = call i32 @fileno(ptr noundef %10649) #10
  %10651 = call i32 @isatty(i32 noundef %10650) #10
  %.not1619 = icmp eq i32 %10651, 0
  br i1 %.not1619, label %10652, label %10653

10652:                                            ; preds = %10648, %10642
  br label %10653

10653:                                            ; preds = %10648, %10652
  %.str.66.sink5575 = phi ptr [ @.str.66, %10652 ], [ @.str.63, %10648 ]
  store i32 %10643, ptr %2293, align 4, !tbaa !5
  %10654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10655 = load i32, ptr @test_count, align 4, !tbaa !5
  %10656 = load i32, ptr %2239, align 4, !tbaa !5
  %10657 = call ptr @s2n_strerror(i32 noundef %10656, ptr noundef nonnull @.str.65) #10
  %10658 = load i32, ptr %2239, align 4, !tbaa !5
  %10659 = call ptr @s2n_strerror_debug(i32 noundef %10658, ptr noundef nonnull @.str.65) #10
  %10660 = load i32, ptr %2293, align 4, !tbaa !5
  %10661 = call ptr @strerror(i32 noundef %10660) #10
  %10662 = load i32, ptr %2293, align 4, !tbaa !5
  %10663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10654, ptr noundef nonnull %.str.66.sink5575, i32 noundef %10655, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 1017, ptr noundef %10657, ptr noundef %10659, ptr noundef %10661, i32 noundef %10662) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10664:                                            ; preds = %10638
  %10665 = load i32, ptr @test_count, align 4, !tbaa !5
  %10666 = add nsw i32 %10665, 1
  store i32 %10666, ptr @test_count, align 4, !tbaa !5
  %10667 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9830, ptr noundef nonnull %8044) #10
  %10668 = icmp eq i32 %10667, -1
  br i1 %10668, label %10669, label %10691

10669:                                            ; preds = %10664
  %10670 = load i32, ptr %2293, align 4, !tbaa !5
  %10671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10672 = call i32 @s2n_print_stacktrace(ptr noundef %10671) #10
  %10673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10674 = trunc nuw i8 %10673 to i1
  br i1 %10674, label %10675, label %10679

10675:                                            ; preds = %10669
  %10676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10677 = call i32 @fileno(ptr noundef %10676) #10
  %10678 = call i32 @isatty(i32 noundef %10677) #10
  %.not1716 = icmp eq i32 %10678, 0
  br i1 %.not1716, label %10679, label %10680

10679:                                            ; preds = %10675, %10669
  br label %10680

10680:                                            ; preds = %10675, %10679
  %.str.66.sink5584 = phi ptr [ @.str.66, %10679 ], [ @.str.63, %10675 ]
  store i32 %10670, ptr %2293, align 4, !tbaa !5
  %10681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10682 = load i32, ptr @test_count, align 4, !tbaa !5
  %10683 = load i32, ptr %2239, align 4, !tbaa !5
  %10684 = call ptr @s2n_strerror(i32 noundef %10683, ptr noundef nonnull @.str.65) #10
  %10685 = load i32, ptr %2239, align 4, !tbaa !5
  %10686 = call ptr @s2n_strerror_debug(i32 noundef %10685, ptr noundef nonnull @.str.65) #10
  %10687 = load i32, ptr %2293, align 4, !tbaa !5
  %10688 = call ptr @strerror(i32 noundef %10687) #10
  %10689 = load i32, ptr %2293, align 4, !tbaa !5
  %10690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10681, ptr noundef nonnull %.str.66.sink5584, i32 noundef %10682, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.62, i32 noundef 1022, ptr noundef %10684, ptr noundef %10686, ptr noundef %10688, i32 noundef %10689) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10691:                                            ; preds = %10664
  %10692 = load i32, ptr @test_count, align 4, !tbaa !5
  %10693 = add nsw i32 %10692, 1
  store i32 %10693, ptr @test_count, align 4, !tbaa !5
  %10694 = load ptr, ptr %36, align 8, !tbaa !24
  %10695 = load i32, ptr %10103, align 4, !tbaa !20
  %10696 = load i32, ptr %10105, align 8, !tbaa !23
  %10697 = sub i32 %10695, %10696
  %10698 = zext i32 %10697 to i64
  %10699 = call i32 @s2n_connection_set_session(ptr noundef nonnull %9777, ptr noundef %10694, i64 noundef %10698)
  %10700 = icmp eq i32 %10699, -1
  br i1 %10700, label %10701, label %10723

10701:                                            ; preds = %10691
  %10702 = load i32, ptr %2293, align 4, !tbaa !5
  %10703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10704 = call i32 @s2n_print_stacktrace(ptr noundef %10703) #10
  %10705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10706 = trunc nuw i8 %10705 to i1
  br i1 %10706, label %10707, label %10711

10707:                                            ; preds = %10701
  %10708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10709 = call i32 @fileno(ptr noundef %10708) #10
  %10710 = call i32 @isatty(i32 noundef %10709) #10
  %.not1715 = icmp eq i32 %10710, 0
  br i1 %.not1715, label %10711, label %10712

10711:                                            ; preds = %10707, %10701
  br label %10712

10712:                                            ; preds = %10707, %10711
  %.str.66.sink5593 = phi ptr [ @.str.66, %10711 ], [ @.str.63, %10707 ]
  store i32 %10702, ptr %2293, align 4, !tbaa !5
  %10713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10714 = load i32, ptr @test_count, align 4, !tbaa !5
  %10715 = load i32, ptr %2239, align 4, !tbaa !5
  %10716 = call ptr @s2n_strerror(i32 noundef %10715, ptr noundef nonnull @.str.65) #10
  %10717 = load i32, ptr %2239, align 4, !tbaa !5
  %10718 = call ptr @s2n_strerror_debug(i32 noundef %10717, ptr noundef nonnull @.str.65) #10
  %10719 = load i32, ptr %2293, align 4, !tbaa !5
  %10720 = call ptr @strerror(i32 noundef %10719) #10
  %10721 = load i32, ptr %2293, align 4, !tbaa !5
  %10722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10713, ptr noundef nonnull %.str.66.sink5593, i32 noundef %10714, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.62, i32 noundef 1024, ptr noundef %10716, ptr noundef %10718, ptr noundef %10720, i32 noundef %10721) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10723:                                            ; preds = %10691
  %10724 = load i32, ptr @test_count, align 4, !tbaa !5
  %10725 = add nsw i32 %10724, 1
  store i32 %10725, ptr @test_count, align 4, !tbaa !5
  %10726 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %9830, ptr noundef nonnull %9777) #10
  %10727 = icmp eq i32 %10726, -1
  br i1 %10727, label %10728, label %10750

10728:                                            ; preds = %10723
  %10729 = load i32, ptr %2293, align 4, !tbaa !5
  %10730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10731 = call i32 @s2n_print_stacktrace(ptr noundef %10730) #10
  %10732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10733 = trunc nuw i8 %10732 to i1
  br i1 %10733, label %10734, label %10738

10734:                                            ; preds = %10728
  %10735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10736 = call i32 @fileno(ptr noundef %10735) #10
  %10737 = call i32 @isatty(i32 noundef %10736) #10
  %.not1714 = icmp eq i32 %10737, 0
  br i1 %.not1714, label %10738, label %10739

10738:                                            ; preds = %10734, %10728
  br label %10739

10739:                                            ; preds = %10734, %10738
  %.str.66.sink5602 = phi ptr [ @.str.66, %10738 ], [ @.str.63, %10734 ]
  store i32 %10729, ptr %2293, align 4, !tbaa !5
  %10740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10741 = load i32, ptr @test_count, align 4, !tbaa !5
  %10742 = load i32, ptr %2239, align 4, !tbaa !5
  %10743 = call ptr @s2n_strerror(i32 noundef %10742, ptr noundef nonnull @.str.65) #10
  %10744 = load i32, ptr %2239, align 4, !tbaa !5
  %10745 = call ptr @s2n_strerror_debug(i32 noundef %10744, ptr noundef nonnull @.str.65) #10
  %10746 = load i32, ptr %2293, align 4, !tbaa !5
  %10747 = call ptr @strerror(i32 noundef %10746) #10
  %10748 = load i32, ptr %2293, align 4, !tbaa !5
  %10749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10740, ptr noundef nonnull %.str.66.sink5602, i32 noundef %10741, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 1026, ptr noundef %10743, ptr noundef %10745, ptr noundef %10747, i32 noundef %10748) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10750:                                            ; preds = %10723
  %10751 = load i32, ptr @test_count, align 4, !tbaa !5
  %10752 = add nsw i32 %10751, 1
  store i32 %10752, ptr @test_count, align 4, !tbaa !5
  %10753 = load i8, ptr %9993, align 4, !tbaa !59
  %10754 = icmp eq i8 %10753, 34
  br i1 %10754, label %10777, label %10755

10755:                                            ; preds = %10750
  %10756 = load i32, ptr %2293, align 4, !tbaa !5
  %10757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10758 = call i32 @s2n_print_stacktrace(ptr noundef %10757) #10
  %10759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10760 = trunc nuw i8 %10759 to i1
  br i1 %10760, label %10761, label %10765

10761:                                            ; preds = %10755
  %10762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10763 = call i32 @fileno(ptr noundef %10762) #10
  %10764 = call i32 @isatty(i32 noundef %10763) #10
  %.not1620 = icmp eq i32 %10764, 0
  br i1 %.not1620, label %10765, label %10766

10765:                                            ; preds = %10761, %10755
  br label %10766

10766:                                            ; preds = %10761, %10765
  %.str.66.sink5611 = phi ptr [ @.str.66, %10765 ], [ @.str.63, %10761 ]
  store i32 %10756, ptr %2293, align 4, !tbaa !5
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = load i32, ptr %2239, align 4, !tbaa !5
  %10770 = call ptr @s2n_strerror(i32 noundef %10769, ptr noundef nonnull @.str.65) #10
  %10771 = load i32, ptr %2239, align 4, !tbaa !5
  %10772 = call ptr @s2n_strerror_debug(i32 noundef %10771, ptr noundef nonnull @.str.65) #10
  %10773 = load i32, ptr %2293, align 4, !tbaa !5
  %10774 = call ptr @strerror(i32 noundef %10773) #10
  %10775 = load i32, ptr %2293, align 4, !tbaa !5
  %10776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10767, ptr noundef nonnull %.str.66.sink5611, i32 noundef %10768, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.62, i32 noundef 1027, ptr noundef %10770, ptr noundef %10772, ptr noundef %10774, i32 noundef %10775) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10777:                                            ; preds = %10750
  %10778 = add nsw i32 %10751, 2
  store i32 %10778, ptr @test_count, align 4, !tbaa !5
  %10779 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %9830, i32 noundef 2) #10
  br i1 %10779, label %10802, label %10780

10780:                                            ; preds = %10777
  %10781 = load i32, ptr %2293, align 4, !tbaa !5
  %10782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10783 = call i32 @s2n_print_stacktrace(ptr noundef %10782) #10
  %10784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10785 = trunc nuw i8 %10784 to i1
  br i1 %10785, label %10786, label %10790

10786:                                            ; preds = %10780
  %10787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10788 = call i32 @fileno(ptr noundef %10787) #10
  %10789 = call i32 @isatty(i32 noundef %10788) #10
  %.not1621 = icmp eq i32 %10789, 0
  br i1 %.not1621, label %10790, label %10791

10790:                                            ; preds = %10786, %10780
  br label %10791

10791:                                            ; preds = %10786, %10790
  %.str.66.sink5620 = phi ptr [ @.str.66, %10790 ], [ @.str.63, %10786 ]
  store i32 %10781, ptr %2293, align 4, !tbaa !5
  %10792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10793 = load i32, ptr @test_count, align 4, !tbaa !5
  %10794 = load i32, ptr %2239, align 4, !tbaa !5
  %10795 = call ptr @s2n_strerror(i32 noundef %10794, ptr noundef nonnull @.str.65) #10
  %10796 = load i32, ptr %2239, align 4, !tbaa !5
  %10797 = call ptr @s2n_strerror_debug(i32 noundef %10796, ptr noundef nonnull @.str.65) #10
  %10798 = load i32, ptr %2293, align 4, !tbaa !5
  %10799 = call ptr @strerror(i32 noundef %10798) #10
  %10800 = load i32, ptr %2293, align 4, !tbaa !5
  %10801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10792, ptr noundef nonnull %.str.66.sink5620, i32 noundef %10793, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 1028, ptr noundef %10795, ptr noundef %10797, ptr noundef %10799, i32 noundef %10800) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10802:                                            ; preds = %10777
  %10803 = load i32, ptr @test_count, align 4, !tbaa !5
  %10804 = add nsw i32 %10803, 1
  store i32 %10804, ptr @test_count, align 4, !tbaa !5
  %10805 = load i16, ptr %10046, align 2, !tbaa !69
  %10806 = icmp eq i16 %10805, 0
  br i1 %10806, label %10829, label %10807

10807:                                            ; preds = %10802
  %10808 = load i32, ptr %2293, align 4, !tbaa !5
  %10809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10810 = call i32 @s2n_print_stacktrace(ptr noundef %10809) #10
  %10811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10812 = trunc nuw i8 %10811 to i1
  br i1 %10812, label %10813, label %10817

10813:                                            ; preds = %10807
  %10814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10815 = call i32 @fileno(ptr noundef %10814) #10
  %10816 = call i32 @isatty(i32 noundef %10815) #10
  %.not1622 = icmp eq i32 %10816, 0
  br i1 %.not1622, label %10817, label %10818

10817:                                            ; preds = %10813, %10807
  br label %10818

10818:                                            ; preds = %10813, %10817
  %.str.66.sink5629 = phi ptr [ @.str.66, %10817 ], [ @.str.63, %10813 ]
  store i32 %10808, ptr %2293, align 4, !tbaa !5
  %10819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10820 = load i32, ptr @test_count, align 4, !tbaa !5
  %10821 = load i32, ptr %2239, align 4, !tbaa !5
  %10822 = call ptr @s2n_strerror(i32 noundef %10821, ptr noundef nonnull @.str.65) #10
  %10823 = load i32, ptr %2239, align 4, !tbaa !5
  %10824 = call ptr @s2n_strerror_debug(i32 noundef %10823, ptr noundef nonnull @.str.65) #10
  %10825 = load i32, ptr %2293, align 4, !tbaa !5
  %10826 = call ptr @strerror(i32 noundef %10825) #10
  %10827 = load i32, ptr %2293, align 4, !tbaa !5
  %10828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10819, ptr noundef nonnull %.str.66.sink5629, i32 noundef %10820, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.62, i32 noundef 1029, ptr noundef %10822, ptr noundef %10824, ptr noundef %10826, i32 noundef %10827) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10829:                                            ; preds = %10802
  %10830 = add nsw i32 %10803, 2
  store i32 %10830, ptr @test_count, align 4, !tbaa !5
  %10831 = call i32 @s2n_wipe_connections(ptr noundef nonnull %9777, ptr noundef nonnull %9830, ptr noundef nonnull %37)
  %10832 = call zeroext i1 @s2n_result_is_ok(i32 %10831)
  br i1 %10832, label %10855, label %10833

10833:                                            ; preds = %10829
  %10834 = load i32, ptr %2293, align 4, !tbaa !5
  %10835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10836 = call i32 @s2n_print_stacktrace(ptr noundef %10835) #10
  %10837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10838 = trunc nuw i8 %10837 to i1
  br i1 %10838, label %10839, label %10843

10839:                                            ; preds = %10833
  %10840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10841 = call i32 @fileno(ptr noundef %10840) #10
  %10842 = call i32 @isatty(i32 noundef %10841) #10
  %.not1623 = icmp eq i32 %10842, 0
  br i1 %.not1623, label %10843, label %10844

10843:                                            ; preds = %10839, %10833
  br label %10844

10844:                                            ; preds = %10839, %10843
  %.str.66.sink5638 = phi ptr [ @.str.66, %10843 ], [ @.str.63, %10839 ]
  store i32 %10834, ptr %2293, align 4, !tbaa !5
  %10845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10846 = load i32, ptr @test_count, align 4, !tbaa !5
  %10847 = load i32, ptr %2239, align 4, !tbaa !5
  %10848 = call ptr @s2n_strerror(i32 noundef %10847, ptr noundef nonnull @.str.65) #10
  %10849 = load i32, ptr %2239, align 4, !tbaa !5
  %10850 = call ptr @s2n_strerror_debug(i32 noundef %10849, ptr noundef nonnull @.str.65) #10
  %10851 = load i32, ptr %2293, align 4, !tbaa !5
  %10852 = call ptr @strerror(i32 noundef %10851) #10
  %10853 = load i32, ptr %2293, align 4, !tbaa !5
  %10854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10845, ptr noundef nonnull %.str.66.sink5638, i32 noundef %10846, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 1031, ptr noundef %10848, ptr noundef %10850, ptr noundef %10852, i32 noundef %10853) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10855:                                            ; preds = %10829
  %10856 = load i32, ptr @test_count, align 4, !tbaa !5
  %10857 = add nsw i32 %10856, 1
  store i32 %10857, ptr @test_count, align 4, !tbaa !5
  %10858 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9830, ptr noundef nonnull %8155) #10
  %10859 = icmp eq i32 %10858, -1
  br i1 %10859, label %10860, label %10882

10860:                                            ; preds = %10855
  %10861 = load i32, ptr %2293, align 4, !tbaa !5
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = call i32 @s2n_print_stacktrace(ptr noundef %10862) #10
  %10864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10865 = trunc nuw i8 %10864 to i1
  br i1 %10865, label %10866, label %10870

10866:                                            ; preds = %10860
  %10867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10868 = call i32 @fileno(ptr noundef %10867) #10
  %10869 = call i32 @isatty(i32 noundef %10868) #10
  %.not1713 = icmp eq i32 %10869, 0
  br i1 %.not1713, label %10870, label %10871

10870:                                            ; preds = %10866, %10860
  br label %10871

10871:                                            ; preds = %10866, %10870
  %.str.66.sink5647 = phi ptr [ @.str.66, %10870 ], [ @.str.63, %10866 ]
  store i32 %10861, ptr %2293, align 4, !tbaa !5
  %10872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10873 = load i32, ptr @test_count, align 4, !tbaa !5
  %10874 = load i32, ptr %2239, align 4, !tbaa !5
  %10875 = call ptr @s2n_strerror(i32 noundef %10874, ptr noundef nonnull @.str.65) #10
  %10876 = load i32, ptr %2239, align 4, !tbaa !5
  %10877 = call ptr @s2n_strerror_debug(i32 noundef %10876, ptr noundef nonnull @.str.65) #10
  %10878 = load i32, ptr %2293, align 4, !tbaa !5
  %10879 = call ptr @strerror(i32 noundef %10878) #10
  %10880 = load i32, ptr %2293, align 4, !tbaa !5
  %10881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10872, ptr noundef nonnull %.str.66.sink5647, i32 noundef %10873, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.62, i32 noundef 1036, ptr noundef %10875, ptr noundef %10877, ptr noundef %10879, i32 noundef %10880) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10882:                                            ; preds = %10855
  %10883 = load i32, ptr @test_count, align 4, !tbaa !5
  %10884 = add nsw i32 %10883, 1
  store i32 %10884, ptr @test_count, align 4, !tbaa !5
  %10885 = load ptr, ptr %36, align 8, !tbaa !24
  %10886 = load i32, ptr %10103, align 4, !tbaa !20
  %10887 = load i32, ptr %10105, align 8, !tbaa !23
  %10888 = sub i32 %10886, %10887
  %10889 = zext i32 %10888 to i64
  %10890 = call i32 @s2n_connection_set_session(ptr noundef nonnull %9777, ptr noundef %10885, i64 noundef %10889)
  %10891 = icmp eq i32 %10890, -1
  br i1 %10891, label %10892, label %10914

10892:                                            ; preds = %10882
  %10893 = load i32, ptr %2293, align 4, !tbaa !5
  %10894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10895 = call i32 @s2n_print_stacktrace(ptr noundef %10894) #10
  %10896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10897 = trunc nuw i8 %10896 to i1
  br i1 %10897, label %10898, label %10902

10898:                                            ; preds = %10892
  %10899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10900 = call i32 @fileno(ptr noundef %10899) #10
  %10901 = call i32 @isatty(i32 noundef %10900) #10
  %.not1712 = icmp eq i32 %10901, 0
  br i1 %.not1712, label %10902, label %10903

10902:                                            ; preds = %10898, %10892
  br label %10903

10903:                                            ; preds = %10898, %10902
  %.str.66.sink5656 = phi ptr [ @.str.66, %10902 ], [ @.str.63, %10898 ]
  store i32 %10893, ptr %2293, align 4, !tbaa !5
  %10904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10905 = load i32, ptr @test_count, align 4, !tbaa !5
  %10906 = load i32, ptr %2239, align 4, !tbaa !5
  %10907 = call ptr @s2n_strerror(i32 noundef %10906, ptr noundef nonnull @.str.65) #10
  %10908 = load i32, ptr %2239, align 4, !tbaa !5
  %10909 = call ptr @s2n_strerror_debug(i32 noundef %10908, ptr noundef nonnull @.str.65) #10
  %10910 = load i32, ptr %2293, align 4, !tbaa !5
  %10911 = call ptr @strerror(i32 noundef %10910) #10
  %10912 = load i32, ptr %2293, align 4, !tbaa !5
  %10913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10904, ptr noundef nonnull %.str.66.sink5656, i32 noundef %10905, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.62, i32 noundef 1038, ptr noundef %10907, ptr noundef %10909, ptr noundef %10911, i32 noundef %10912) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10914:                                            ; preds = %10882
  %10915 = load i32, ptr @test_count, align 4, !tbaa !5
  %10916 = add nsw i32 %10915, 1
  store i32 %10916, ptr @test_count, align 4, !tbaa !5
  %10917 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %9830, ptr noundef nonnull %9777) #10
  %10918 = icmp eq i32 %10917, -1
  br i1 %10918, label %10919, label %10941

10919:                                            ; preds = %10914
  %10920 = load i32, ptr %2293, align 4, !tbaa !5
  %10921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10922 = call i32 @s2n_print_stacktrace(ptr noundef %10921) #10
  %10923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10924 = trunc nuw i8 %10923 to i1
  br i1 %10924, label %10925, label %10929

10925:                                            ; preds = %10919
  %10926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10927 = call i32 @fileno(ptr noundef %10926) #10
  %10928 = call i32 @isatty(i32 noundef %10927) #10
  %.not1711 = icmp eq i32 %10928, 0
  br i1 %.not1711, label %10929, label %10930

10929:                                            ; preds = %10925, %10919
  br label %10930

10930:                                            ; preds = %10925, %10929
  %.str.66.sink5665 = phi ptr [ @.str.66, %10929 ], [ @.str.63, %10925 ]
  store i32 %10920, ptr %2293, align 4, !tbaa !5
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = load i32, ptr @test_count, align 4, !tbaa !5
  %10933 = load i32, ptr %2239, align 4, !tbaa !5
  %10934 = call ptr @s2n_strerror(i32 noundef %10933, ptr noundef nonnull @.str.65) #10
  %10935 = load i32, ptr %2239, align 4, !tbaa !5
  %10936 = call ptr @s2n_strerror_debug(i32 noundef %10935, ptr noundef nonnull @.str.65) #10
  %10937 = load i32, ptr %2293, align 4, !tbaa !5
  %10938 = call ptr @strerror(i32 noundef %10937) #10
  %10939 = load i32, ptr %2293, align 4, !tbaa !5
  %10940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10931, ptr noundef nonnull %.str.66.sink5665, i32 noundef %10932, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 1040, ptr noundef %10934, ptr noundef %10936, ptr noundef %10938, i32 noundef %10939) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10941:                                            ; preds = %10914
  %10942 = load i32, ptr @test_count, align 4, !tbaa !5
  %10943 = add nsw i32 %10942, 1
  store i32 %10943, ptr @test_count, align 4, !tbaa !5
  %10944 = load i8, ptr %9993, align 4, !tbaa !59
  %10945 = icmp eq i8 %10944, 34
  br i1 %10945, label %10968, label %10946

10946:                                            ; preds = %10941
  %10947 = load i32, ptr %2293, align 4, !tbaa !5
  %10948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10949 = call i32 @s2n_print_stacktrace(ptr noundef %10948) #10
  %10950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10951 = trunc nuw i8 %10950 to i1
  br i1 %10951, label %10952, label %10956

10952:                                            ; preds = %10946
  %10953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10954 = call i32 @fileno(ptr noundef %10953) #10
  %10955 = call i32 @isatty(i32 noundef %10954) #10
  %.not1624 = icmp eq i32 %10955, 0
  br i1 %.not1624, label %10956, label %10957

10956:                                            ; preds = %10952, %10946
  br label %10957

10957:                                            ; preds = %10952, %10956
  %.str.66.sink5674 = phi ptr [ @.str.66, %10956 ], [ @.str.63, %10952 ]
  store i32 %10947, ptr %2293, align 4, !tbaa !5
  %10958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10959 = load i32, ptr @test_count, align 4, !tbaa !5
  %10960 = load i32, ptr %2239, align 4, !tbaa !5
  %10961 = call ptr @s2n_strerror(i32 noundef %10960, ptr noundef nonnull @.str.65) #10
  %10962 = load i32, ptr %2239, align 4, !tbaa !5
  %10963 = call ptr @s2n_strerror_debug(i32 noundef %10962, ptr noundef nonnull @.str.65) #10
  %10964 = load i32, ptr %2293, align 4, !tbaa !5
  %10965 = call ptr @strerror(i32 noundef %10964) #10
  %10966 = load i32, ptr %2293, align 4, !tbaa !5
  %10967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10958, ptr noundef nonnull %.str.66.sink5674, i32 noundef %10959, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.62, i32 noundef 1041, ptr noundef %10961, ptr noundef %10963, ptr noundef %10965, i32 noundef %10966) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10968:                                            ; preds = %10941
  %10969 = add nsw i32 %10942, 2
  store i32 %10969, ptr @test_count, align 4, !tbaa !5
  %10970 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %9830, i32 noundef 2) #10
  br i1 %10970, label %10993, label %10971

10971:                                            ; preds = %10968
  %10972 = load i32, ptr %2293, align 4, !tbaa !5
  %10973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10974 = call i32 @s2n_print_stacktrace(ptr noundef %10973) #10
  %10975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10976 = trunc nuw i8 %10975 to i1
  br i1 %10976, label %10977, label %10981

10977:                                            ; preds = %10971
  %10978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10979 = call i32 @fileno(ptr noundef %10978) #10
  %10980 = call i32 @isatty(i32 noundef %10979) #10
  %.not1625 = icmp eq i32 %10980, 0
  br i1 %.not1625, label %10981, label %10982

10981:                                            ; preds = %10977, %10971
  br label %10982

10982:                                            ; preds = %10977, %10981
  %.str.66.sink5683 = phi ptr [ @.str.66, %10981 ], [ @.str.63, %10977 ]
  store i32 %10972, ptr %2293, align 4, !tbaa !5
  %10983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10984 = load i32, ptr @test_count, align 4, !tbaa !5
  %10985 = load i32, ptr %2239, align 4, !tbaa !5
  %10986 = call ptr @s2n_strerror(i32 noundef %10985, ptr noundef nonnull @.str.65) #10
  %10987 = load i32, ptr %2239, align 4, !tbaa !5
  %10988 = call ptr @s2n_strerror_debug(i32 noundef %10987, ptr noundef nonnull @.str.65) #10
  %10989 = load i32, ptr %2293, align 4, !tbaa !5
  %10990 = call ptr @strerror(i32 noundef %10989) #10
  %10991 = load i32, ptr %2293, align 4, !tbaa !5
  %10992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10983, ptr noundef nonnull %.str.66.sink5683, i32 noundef %10984, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.62, i32 noundef 1042, ptr noundef %10986, ptr noundef %10988, ptr noundef %10990, i32 noundef %10991) #12
  call void @exit(i32 noundef 1) #13
  unreachable

10993:                                            ; preds = %10968
  %10994 = load i32, ptr @test_count, align 4, !tbaa !5
  %10995 = add nsw i32 %10994, 1
  store i32 %10995, ptr @test_count, align 4, !tbaa !5
  %10996 = load i16, ptr %10046, align 2, !tbaa !69
  %10997 = icmp eq i16 %10996, 0
  br i1 %10997, label %11020, label %10998

10998:                                            ; preds = %10993
  %10999 = load i32, ptr %2293, align 4, !tbaa !5
  %11000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11001 = call i32 @s2n_print_stacktrace(ptr noundef %11000) #10
  %11002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11003 = trunc nuw i8 %11002 to i1
  br i1 %11003, label %11004, label %11008

11004:                                            ; preds = %10998
  %11005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11006 = call i32 @fileno(ptr noundef %11005) #10
  %11007 = call i32 @isatty(i32 noundef %11006) #10
  %.not1626 = icmp eq i32 %11007, 0
  br i1 %.not1626, label %11008, label %11009

11008:                                            ; preds = %11004, %10998
  br label %11009

11009:                                            ; preds = %11004, %11008
  %.str.66.sink5692 = phi ptr [ @.str.66, %11008 ], [ @.str.63, %11004 ]
  store i32 %10999, ptr %2293, align 4, !tbaa !5
  %11010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11011 = load i32, ptr @test_count, align 4, !tbaa !5
  %11012 = load i32, ptr %2239, align 4, !tbaa !5
  %11013 = call ptr @s2n_strerror(i32 noundef %11012, ptr noundef nonnull @.str.65) #10
  %11014 = load i32, ptr %2239, align 4, !tbaa !5
  %11015 = call ptr @s2n_strerror_debug(i32 noundef %11014, ptr noundef nonnull @.str.65) #10
  %11016 = load i32, ptr %2293, align 4, !tbaa !5
  %11017 = call ptr @strerror(i32 noundef %11016) #10
  %11018 = load i32, ptr %2293, align 4, !tbaa !5
  %11019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11010, ptr noundef nonnull %.str.66.sink5692, i32 noundef %11011, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.62, i32 noundef 1043, ptr noundef %11013, ptr noundef %11015, ptr noundef %11017, i32 noundef %11018) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11020:                                            ; preds = %10993
  %11021 = add nsw i32 %10994, 2
  store i32 %11021, ptr @test_count, align 4, !tbaa !5
  %11022 = call i32 @s2n_wipe_connections(ptr noundef nonnull %9777, ptr noundef nonnull %9830, ptr noundef nonnull %37)
  %11023 = call zeroext i1 @s2n_result_is_ok(i32 %11022)
  br i1 %11023, label %11046, label %11024

11024:                                            ; preds = %11020
  %11025 = load i32, ptr %2293, align 4, !tbaa !5
  %11026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11027 = call i32 @s2n_print_stacktrace(ptr noundef %11026) #10
  %11028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11029 = trunc nuw i8 %11028 to i1
  br i1 %11029, label %11030, label %11034

11030:                                            ; preds = %11024
  %11031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11032 = call i32 @fileno(ptr noundef %11031) #10
  %11033 = call i32 @isatty(i32 noundef %11032) #10
  %.not1627 = icmp eq i32 %11033, 0
  br i1 %.not1627, label %11034, label %11035

11034:                                            ; preds = %11030, %11024
  br label %11035

11035:                                            ; preds = %11030, %11034
  %.str.66.sink5701 = phi ptr [ @.str.66, %11034 ], [ @.str.63, %11030 ]
  store i32 %11025, ptr %2293, align 4, !tbaa !5
  %11036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11037 = load i32, ptr @test_count, align 4, !tbaa !5
  %11038 = load i32, ptr %2239, align 4, !tbaa !5
  %11039 = call ptr @s2n_strerror(i32 noundef %11038, ptr noundef nonnull @.str.65) #10
  %11040 = load i32, ptr %2239, align 4, !tbaa !5
  %11041 = call ptr @s2n_strerror_debug(i32 noundef %11040, ptr noundef nonnull @.str.65) #10
  %11042 = load i32, ptr %2293, align 4, !tbaa !5
  %11043 = call ptr @strerror(i32 noundef %11042) #10
  %11044 = load i32, ptr %2293, align 4, !tbaa !5
  %11045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11036, ptr noundef nonnull %.str.66.sink5701, i32 noundef %11037, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.62, i32 noundef 1045, ptr noundef %11039, ptr noundef %11041, ptr noundef %11043, i32 noundef %11044) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11046:                                            ; preds = %11020
  %11047 = load i32, ptr @test_count, align 4, !tbaa !5
  %11048 = add nsw i32 %11047, 1
  store i32 %11048, ptr @test_count, align 4, !tbaa !5
  %11049 = call i32 @s2n_io_pair_close(ptr noundef nonnull %37) #10
  %11050 = icmp eq i32 %11049, -1
  br i1 %11050, label %11051, label %11073

11051:                                            ; preds = %11046
  %11052 = load i32, ptr %2293, align 4, !tbaa !5
  %11053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11054 = call i32 @s2n_print_stacktrace(ptr noundef %11053) #10
  %11055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11056 = trunc nuw i8 %11055 to i1
  br i1 %11056, label %11057, label %11061

11057:                                            ; preds = %11051
  %11058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11059 = call i32 @fileno(ptr noundef %11058) #10
  %11060 = call i32 @isatty(i32 noundef %11059) #10
  %.not1710 = icmp eq i32 %11060, 0
  br i1 %.not1710, label %11061, label %11062

11061:                                            ; preds = %11057, %11051
  br label %11062

11062:                                            ; preds = %11057, %11061
  %.str.66.sink5710 = phi ptr [ @.str.66, %11061 ], [ @.str.63, %11057 ]
  store i32 %11052, ptr %2293, align 4, !tbaa !5
  %11063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11064 = load i32, ptr @test_count, align 4, !tbaa !5
  %11065 = load i32, ptr %2239, align 4, !tbaa !5
  %11066 = call ptr @s2n_strerror(i32 noundef %11065, ptr noundef nonnull @.str.65) #10
  %11067 = load i32, ptr %2239, align 4, !tbaa !5
  %11068 = call ptr @s2n_strerror_debug(i32 noundef %11067, ptr noundef nonnull @.str.65) #10
  %11069 = load i32, ptr %2293, align 4, !tbaa !5
  %11070 = call ptr @strerror(i32 noundef %11069) #10
  %11071 = load i32, ptr %2293, align 4, !tbaa !5
  %11072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11063, ptr noundef nonnull %.str.66.sink5710, i32 noundef %11064, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 1048, ptr noundef %11066, ptr noundef %11068, ptr noundef %11070, i32 noundef %11071) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11073:                                            ; preds = %11046
  %11074 = load i32, ptr @test_count, align 4, !tbaa !5
  %11075 = add nsw i32 %11074, 1
  store i32 %11075, ptr @test_count, align 4, !tbaa !5
  %11076 = call i32 @s2n_connection_free(ptr noundef nonnull %9830) #10
  %11077 = icmp eq i32 %11076, -1
  br i1 %11077, label %11078, label %11100

11078:                                            ; preds = %11073
  %11079 = load i32, ptr %2293, align 4, !tbaa !5
  %11080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11081 = call i32 @s2n_print_stacktrace(ptr noundef %11080) #10
  %11082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11083 = trunc nuw i8 %11082 to i1
  br i1 %11083, label %11084, label %11088

11084:                                            ; preds = %11078
  %11085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11086 = call i32 @fileno(ptr noundef %11085) #10
  %11087 = call i32 @isatty(i32 noundef %11086) #10
  %.not1709 = icmp eq i32 %11087, 0
  br i1 %.not1709, label %11088, label %11089

11088:                                            ; preds = %11084, %11078
  br label %11089

11089:                                            ; preds = %11084, %11088
  %.str.66.sink5719 = phi ptr [ @.str.66, %11088 ], [ @.str.63, %11084 ]
  store i32 %11079, ptr %2293, align 4, !tbaa !5
  %11090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11091 = load i32, ptr @test_count, align 4, !tbaa !5
  %11092 = load i32, ptr %2239, align 4, !tbaa !5
  %11093 = call ptr @s2n_strerror(i32 noundef %11092, ptr noundef nonnull @.str.65) #10
  %11094 = load i32, ptr %2239, align 4, !tbaa !5
  %11095 = call ptr @s2n_strerror_debug(i32 noundef %11094, ptr noundef nonnull @.str.65) #10
  %11096 = load i32, ptr %2293, align 4, !tbaa !5
  %11097 = call ptr @strerror(i32 noundef %11096) #10
  %11098 = load i32, ptr %2293, align 4, !tbaa !5
  %11099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11090, ptr noundef nonnull %.str.66.sink5719, i32 noundef %11091, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 1049, ptr noundef %11093, ptr noundef %11095, ptr noundef %11097, i32 noundef %11098) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11100:                                            ; preds = %11073
  %11101 = load i32, ptr @test_count, align 4, !tbaa !5
  %11102 = add nsw i32 %11101, 1
  store i32 %11102, ptr @test_count, align 4, !tbaa !5
  %11103 = call i32 @s2n_connection_free(ptr noundef nonnull %9777) #10
  %11104 = icmp eq i32 %11103, -1
  br i1 %11104, label %11105, label %11127

11105:                                            ; preds = %11100
  %11106 = load i32, ptr %2293, align 4, !tbaa !5
  %11107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11108 = call i32 @s2n_print_stacktrace(ptr noundef %11107) #10
  %11109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11110 = trunc nuw i8 %11109 to i1
  br i1 %11110, label %11111, label %11115

11111:                                            ; preds = %11105
  %11112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11113 = call i32 @fileno(ptr noundef %11112) #10
  %11114 = call i32 @isatty(i32 noundef %11113) #10
  %.not1708 = icmp eq i32 %11114, 0
  br i1 %.not1708, label %11115, label %11116

11115:                                            ; preds = %11111, %11105
  br label %11116

11116:                                            ; preds = %11111, %11115
  %.str.66.sink5728 = phi ptr [ @.str.66, %11115 ], [ @.str.63, %11111 ]
  store i32 %11106, ptr %2293, align 4, !tbaa !5
  %11117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11118 = load i32, ptr @test_count, align 4, !tbaa !5
  %11119 = load i32, ptr %2239, align 4, !tbaa !5
  %11120 = call ptr @s2n_strerror(i32 noundef %11119, ptr noundef nonnull @.str.65) #10
  %11121 = load i32, ptr %2239, align 4, !tbaa !5
  %11122 = call ptr @s2n_strerror_debug(i32 noundef %11121, ptr noundef nonnull @.str.65) #10
  %11123 = load i32, ptr %2293, align 4, !tbaa !5
  %11124 = call ptr @strerror(i32 noundef %11123) #10
  %11125 = load i32, ptr %2293, align 4, !tbaa !5
  %11126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11117, ptr noundef nonnull %.str.66.sink5728, i32 noundef %11118, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 1050, ptr noundef %11120, ptr noundef %11122, ptr noundef %11124, i32 noundef %11125) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11127:                                            ; preds = %11100
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #10
  %11128 = call i32 @s2n_stuffer_free(ptr noundef nonnull %36) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %36) #10
  %11129 = load i32, ptr @test_count, align 4, !tbaa !5
  %11130 = add nsw i32 %11129, 1
  store i32 %11130, ptr @test_count, align 4, !tbaa !5
  %11131 = call i32 @s2n_config_free(ptr noundef nonnull %8044) #10
  %11132 = icmp eq i32 %11131, -1
  br i1 %11132, label %11133, label %11155

11133:                                            ; preds = %11127
  %11134 = load i32, ptr %2293, align 4, !tbaa !5
  %11135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11136 = call i32 @s2n_print_stacktrace(ptr noundef %11135) #10
  %11137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11138 = trunc nuw i8 %11137 to i1
  br i1 %11138, label %11139, label %11143

11139:                                            ; preds = %11133
  %11140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11141 = call i32 @fileno(ptr noundef %11140) #10
  %11142 = call i32 @isatty(i32 noundef %11141) #10
  %.not1707 = icmp eq i32 %11142, 0
  br i1 %.not1707, label %11143, label %11144

11143:                                            ; preds = %11139, %11133
  br label %11144

11144:                                            ; preds = %11139, %11143
  %.str.66.sink5737 = phi ptr [ @.str.66, %11143 ], [ @.str.63, %11139 ]
  store i32 %11134, ptr %2293, align 4, !tbaa !5
  %11145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11146 = load i32, ptr @test_count, align 4, !tbaa !5
  %11147 = load i32, ptr %2239, align 4, !tbaa !5
  %11148 = call ptr @s2n_strerror(i32 noundef %11147, ptr noundef nonnull @.str.65) #10
  %11149 = load i32, ptr %2239, align 4, !tbaa !5
  %11150 = call ptr @s2n_strerror_debug(i32 noundef %11149, ptr noundef nonnull @.str.65) #10
  %11151 = load i32, ptr %2293, align 4, !tbaa !5
  %11152 = call ptr @strerror(i32 noundef %11151) #10
  %11153 = load i32, ptr %2293, align 4, !tbaa !5
  %11154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11145, ptr noundef nonnull %.str.66.sink5737, i32 noundef %11146, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.62, i32 noundef 1053, ptr noundef %11148, ptr noundef %11150, ptr noundef %11152, i32 noundef %11153) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11155:                                            ; preds = %11127
  %11156 = load i32, ptr @test_count, align 4, !tbaa !5
  %11157 = add nsw i32 %11156, 1
  store i32 %11157, ptr @test_count, align 4, !tbaa !5
  %11158 = call i32 @s2n_config_free(ptr noundef nonnull %8155) #10
  %11159 = icmp eq i32 %11158, -1
  br i1 %11159, label %11160, label %11182

11160:                                            ; preds = %11155
  %11161 = load i32, ptr %2293, align 4, !tbaa !5
  %11162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11163 = call i32 @s2n_print_stacktrace(ptr noundef %11162) #10
  %11164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11165 = trunc nuw i8 %11164 to i1
  br i1 %11165, label %11166, label %11170

11166:                                            ; preds = %11160
  %11167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11168 = call i32 @fileno(ptr noundef %11167) #10
  %11169 = call i32 @isatty(i32 noundef %11168) #10
  %.not1706 = icmp eq i32 %11169, 0
  br i1 %.not1706, label %11170, label %11171

11170:                                            ; preds = %11166, %11160
  br label %11171

11171:                                            ; preds = %11166, %11170
  %.str.66.sink5746 = phi ptr [ @.str.66, %11170 ], [ @.str.63, %11166 ]
  store i32 %11161, ptr %2293, align 4, !tbaa !5
  %11172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11173 = load i32, ptr @test_count, align 4, !tbaa !5
  %11174 = load i32, ptr %2239, align 4, !tbaa !5
  %11175 = call ptr @s2n_strerror(i32 noundef %11174, ptr noundef nonnull @.str.65) #10
  %11176 = load i32, ptr %2239, align 4, !tbaa !5
  %11177 = call ptr @s2n_strerror_debug(i32 noundef %11176, ptr noundef nonnull @.str.65) #10
  %11178 = load i32, ptr %2293, align 4, !tbaa !5
  %11179 = call ptr @strerror(i32 noundef %11178) #10
  %11180 = load i32, ptr %2293, align 4, !tbaa !5
  %11181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11172, ptr noundef nonnull %.str.66.sink5746, i32 noundef %11173, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.62, i32 noundef 1054, ptr noundef %11175, ptr noundef %11177, ptr noundef %11179, i32 noundef %11180) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11182:                                            ; preds = %11155
  %11183 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %11184 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %11185 = load i32, ptr @test_count, align 4, !tbaa !5
  %11186 = add nsw i32 %11185, 1
  store i32 %11186, ptr @test_count, align 4, !tbaa !5
  %11187 = icmp eq ptr %11183, null
  br i1 %11187, label %11188, label %11210

11188:                                            ; preds = %11182
  %11189 = load i32, ptr %2293, align 4, !tbaa !5
  %11190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11191 = call i32 @s2n_print_stacktrace(ptr noundef %11190) #10
  %11192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11193 = trunc nuw i8 %11192 to i1
  br i1 %11193, label %11194, label %11198

11194:                                            ; preds = %11188
  %11195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11196 = call i32 @fileno(ptr noundef %11195) #10
  %11197 = call i32 @isatty(i32 noundef %11196) #10
  %.not1705 = icmp eq i32 %11197, 0
  br i1 %.not1705, label %11198, label %11199

11198:                                            ; preds = %11194, %11188
  br label %11199

11199:                                            ; preds = %11194, %11198
  %.str.66.sink5755 = phi ptr [ @.str.66, %11198 ], [ @.str.63, %11194 ]
  store i32 %11189, ptr %2293, align 4, !tbaa !5
  %11200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11201 = load i32, ptr @test_count, align 4, !tbaa !5
  %11202 = load i32, ptr %2239, align 4, !tbaa !5
  %11203 = call ptr @s2n_strerror(i32 noundef %11202, ptr noundef nonnull @.str.65) #10
  %11204 = load i32, ptr %2239, align 4, !tbaa !5
  %11205 = call ptr @s2n_strerror_debug(i32 noundef %11204, ptr noundef nonnull @.str.65) #10
  %11206 = load i32, ptr %2293, align 4, !tbaa !5
  %11207 = call ptr @strerror(i32 noundef %11206) #10
  %11208 = load i32, ptr %2293, align 4, !tbaa !5
  %11209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11200, ptr noundef nonnull %.str.66.sink5755, i32 noundef %11201, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 1061, ptr noundef %11203, ptr noundef %11205, ptr noundef %11207, i32 noundef %11208) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11210:                                            ; preds = %11182
  %11211 = add nsw i32 %11185, 2
  store i32 %11211, ptr @test_count, align 4, !tbaa !5
  %11212 = icmp eq ptr %11184, null
  br i1 %11212, label %11213, label %11235

11213:                                            ; preds = %11210
  %11214 = load i32, ptr %2293, align 4, !tbaa !5
  %11215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11216 = call i32 @s2n_print_stacktrace(ptr noundef %11215) #10
  %11217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11218 = trunc nuw i8 %11217 to i1
  br i1 %11218, label %11219, label %11223

11219:                                            ; preds = %11213
  %11220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11221 = call i32 @fileno(ptr noundef %11220) #10
  %11222 = call i32 @isatty(i32 noundef %11221) #10
  %.not1704 = icmp eq i32 %11222, 0
  br i1 %.not1704, label %11223, label %11224

11223:                                            ; preds = %11219, %11213
  br label %11224

11224:                                            ; preds = %11219, %11223
  %.str.66.sink5764 = phi ptr [ @.str.66, %11223 ], [ @.str.63, %11219 ]
  store i32 %11214, ptr %2293, align 4, !tbaa !5
  %11225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11226 = load i32, ptr @test_count, align 4, !tbaa !5
  %11227 = load i32, ptr %2239, align 4, !tbaa !5
  %11228 = call ptr @s2n_strerror(i32 noundef %11227, ptr noundef nonnull @.str.65) #10
  %11229 = load i32, ptr %2239, align 4, !tbaa !5
  %11230 = call ptr @s2n_strerror_debug(i32 noundef %11229, ptr noundef nonnull @.str.65) #10
  %11231 = load i32, ptr %2293, align 4, !tbaa !5
  %11232 = call ptr @strerror(i32 noundef %11231) #10
  %11233 = load i32, ptr %2293, align 4, !tbaa !5
  %11234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11225, ptr noundef nonnull %.str.66.sink5764, i32 noundef %11226, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 1062, ptr noundef %11228, ptr noundef %11230, ptr noundef %11232, i32 noundef %11233) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11235:                                            ; preds = %11210
  %11236 = add nsw i32 %11185, 3
  store i32 %11236, ptr @test_count, align 4, !tbaa !5
  %11237 = call i32 @s2n_connection_set_config(ptr noundef nonnull %11183, ptr noundef nonnull %631) #10
  %11238 = icmp eq i32 %11237, -1
  br i1 %11238, label %11239, label %11261

11239:                                            ; preds = %11235
  %11240 = load i32, ptr %2293, align 4, !tbaa !5
  %11241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11242 = call i32 @s2n_print_stacktrace(ptr noundef %11241) #10
  %11243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11244 = trunc nuw i8 %11243 to i1
  br i1 %11244, label %11245, label %11249

11245:                                            ; preds = %11239
  %11246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11247 = call i32 @fileno(ptr noundef %11246) #10
  %11248 = call i32 @isatty(i32 noundef %11247) #10
  %.not1703 = icmp eq i32 %11248, 0
  br i1 %.not1703, label %11249, label %11250

11249:                                            ; preds = %11245, %11239
  br label %11250

11250:                                            ; preds = %11245, %11249
  %.str.66.sink5773 = phi ptr [ @.str.66, %11249 ], [ @.str.63, %11245 ]
  store i32 %11240, ptr %2293, align 4, !tbaa !5
  %11251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11252 = load i32, ptr @test_count, align 4, !tbaa !5
  %11253 = load i32, ptr %2239, align 4, !tbaa !5
  %11254 = call ptr @s2n_strerror(i32 noundef %11253, ptr noundef nonnull @.str.65) #10
  %11255 = load i32, ptr %2239, align 4, !tbaa !5
  %11256 = call ptr @s2n_strerror_debug(i32 noundef %11255, ptr noundef nonnull @.str.65) #10
  %11257 = load i32, ptr %2293, align 4, !tbaa !5
  %11258 = call ptr @strerror(i32 noundef %11257) #10
  %11259 = load i32, ptr %2293, align 4, !tbaa !5
  %11260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11251, ptr noundef nonnull %.str.66.sink5773, i32 noundef %11252, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 1064, ptr noundef %11254, ptr noundef %11256, ptr noundef %11258, i32 noundef %11259) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11261:                                            ; preds = %11235
  %11262 = load i32, ptr @test_count, align 4, !tbaa !5
  %11263 = add nsw i32 %11262, 1
  store i32 %11263, ptr @test_count, align 4, !tbaa !5
  %11264 = call i32 @s2n_connection_set_config(ptr noundef nonnull %11184, ptr noundef nonnull %428) #10
  %11265 = icmp eq i32 %11264, -1
  br i1 %11265, label %11266, label %11288

11266:                                            ; preds = %11261
  %11267 = load i32, ptr %2293, align 4, !tbaa !5
  %11268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11269 = call i32 @s2n_print_stacktrace(ptr noundef %11268) #10
  %11270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11271 = trunc nuw i8 %11270 to i1
  br i1 %11271, label %11272, label %11276

11272:                                            ; preds = %11266
  %11273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11274 = call i32 @fileno(ptr noundef %11273) #10
  %11275 = call i32 @isatty(i32 noundef %11274) #10
  %.not1702 = icmp eq i32 %11275, 0
  br i1 %.not1702, label %11276, label %11277

11276:                                            ; preds = %11272, %11266
  br label %11277

11277:                                            ; preds = %11272, %11276
  %.str.66.sink5782 = phi ptr [ @.str.66, %11276 ], [ @.str.63, %11272 ]
  store i32 %11267, ptr %2293, align 4, !tbaa !5
  %11278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11279 = load i32, ptr @test_count, align 4, !tbaa !5
  %11280 = load i32, ptr %2239, align 4, !tbaa !5
  %11281 = call ptr @s2n_strerror(i32 noundef %11280, ptr noundef nonnull @.str.65) #10
  %11282 = load i32, ptr %2239, align 4, !tbaa !5
  %11283 = call ptr @s2n_strerror_debug(i32 noundef %11282, ptr noundef nonnull @.str.65) #10
  %11284 = load i32, ptr %2293, align 4, !tbaa !5
  %11285 = call ptr @strerror(i32 noundef %11284) #10
  %11286 = load i32, ptr %2293, align 4, !tbaa !5
  %11287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11278, ptr noundef nonnull %.str.66.sink5782, i32 noundef %11279, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.62, i32 noundef 1065, ptr noundef %11281, ptr noundef %11283, ptr noundef %11285, i32 noundef %11286) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11288:                                            ; preds = %11261
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #10
  store i64 0, ptr %38, align 8
  %11289 = load i32, ptr @test_count, align 4, !tbaa !5
  %11290 = add nsw i32 %11289, 1
  store i32 %11290, ptr @test_count, align 4, !tbaa !5
  %11291 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %38) #10
  %11292 = icmp eq i32 %11291, -1
  br i1 %11292, label %11293, label %11315

11293:                                            ; preds = %11288
  %11294 = load i32, ptr %2293, align 4, !tbaa !5
  %11295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11296 = call i32 @s2n_print_stacktrace(ptr noundef %11295) #10
  %11297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11298 = trunc nuw i8 %11297 to i1
  br i1 %11298, label %11299, label %11303

11299:                                            ; preds = %11293
  %11300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11301 = call i32 @fileno(ptr noundef %11300) #10
  %11302 = call i32 @isatty(i32 noundef %11301) #10
  %.not1701 = icmp eq i32 %11302, 0
  br i1 %.not1701, label %11303, label %11304

11303:                                            ; preds = %11299, %11293
  br label %11304

11304:                                            ; preds = %11299, %11303
  %.str.66.sink5791 = phi ptr [ @.str.66, %11303 ], [ @.str.63, %11299 ]
  store i32 %11294, ptr %2293, align 4, !tbaa !5
  %11305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11306 = load i32, ptr @test_count, align 4, !tbaa !5
  %11307 = load i32, ptr %2239, align 4, !tbaa !5
  %11308 = call ptr @s2n_strerror(i32 noundef %11307, ptr noundef nonnull @.str.65) #10
  %11309 = load i32, ptr %2239, align 4, !tbaa !5
  %11310 = call ptr @s2n_strerror_debug(i32 noundef %11309, ptr noundef nonnull @.str.65) #10
  %11311 = load i32, ptr %2293, align 4, !tbaa !5
  %11312 = call ptr @strerror(i32 noundef %11311) #10
  %11313 = load i32, ptr %2293, align 4, !tbaa !5
  %11314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11305, ptr noundef nonnull %.str.66.sink5791, i32 noundef %11306, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.62, i32 noundef 1069, ptr noundef %11308, ptr noundef %11310, ptr noundef %11312, i32 noundef %11313) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11315:                                            ; preds = %11288
  %11316 = load i32, ptr @test_count, align 4, !tbaa !5
  %11317 = add nsw i32 %11316, 1
  store i32 %11317, ptr @test_count, align 4, !tbaa !5
  %11318 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %11183, ptr noundef nonnull %11184, ptr noundef nonnull %38) #10
  %11319 = icmp eq i32 %11318, -1
  br i1 %11319, label %11320, label %11342

11320:                                            ; preds = %11315
  %11321 = load i32, ptr %2293, align 4, !tbaa !5
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = call i32 @s2n_print_stacktrace(ptr noundef %11322) #10
  %11324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11325 = trunc nuw i8 %11324 to i1
  br i1 %11325, label %11326, label %11330

11326:                                            ; preds = %11320
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = call i32 @fileno(ptr noundef %11327) #10
  %11329 = call i32 @isatty(i32 noundef %11328) #10
  %.not1700 = icmp eq i32 %11329, 0
  br i1 %.not1700, label %11330, label %11331

11330:                                            ; preds = %11326, %11320
  br label %11331

11331:                                            ; preds = %11326, %11330
  %.str.66.sink5800 = phi ptr [ @.str.66, %11330 ], [ @.str.63, %11326 ]
  store i32 %11321, ptr %2293, align 4, !tbaa !5
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = load i32, ptr @test_count, align 4, !tbaa !5
  %11334 = load i32, ptr %2239, align 4, !tbaa !5
  %11335 = call ptr @s2n_strerror(i32 noundef %11334, ptr noundef nonnull @.str.65) #10
  %11336 = load i32, ptr %2239, align 4, !tbaa !5
  %11337 = call ptr @s2n_strerror_debug(i32 noundef %11336, ptr noundef nonnull @.str.65) #10
  %11338 = load i32, ptr %2293, align 4, !tbaa !5
  %11339 = call ptr @strerror(i32 noundef %11338) #10
  %11340 = load i32, ptr %2293, align 4, !tbaa !5
  %11341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11332, ptr noundef nonnull %.str.66.sink5800, i32 noundef %11333, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 1070, ptr noundef %11335, ptr noundef %11337, ptr noundef %11339, i32 noundef %11340) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11342:                                            ; preds = %11315
  %11343 = load i32, ptr @test_count, align 4, !tbaa !5
  %11344 = add nsw i32 %11343, 1
  store i32 %11344, ptr @test_count, align 4, !tbaa !5
  %11345 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %11184, ptr noundef nonnull %11183) #10
  %11346 = icmp eq i32 %11345, -1
  br i1 %11346, label %11347, label %11369

11347:                                            ; preds = %11342
  %11348 = load i32, ptr %2293, align 4, !tbaa !5
  %11349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11350 = call i32 @s2n_print_stacktrace(ptr noundef %11349) #10
  %11351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11352 = trunc nuw i8 %11351 to i1
  br i1 %11352, label %11353, label %11357

11353:                                            ; preds = %11347
  %11354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11355 = call i32 @fileno(ptr noundef %11354) #10
  %11356 = call i32 @isatty(i32 noundef %11355) #10
  %.not1699 = icmp eq i32 %11356, 0
  br i1 %.not1699, label %11357, label %11358

11357:                                            ; preds = %11353, %11347
  br label %11358

11358:                                            ; preds = %11353, %11357
  %.str.66.sink5809 = phi ptr [ @.str.66, %11357 ], [ @.str.63, %11353 ]
  store i32 %11348, ptr %2293, align 4, !tbaa !5
  %11359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11360 = load i32, ptr @test_count, align 4, !tbaa !5
  %11361 = load i32, ptr %2239, align 4, !tbaa !5
  %11362 = call ptr @s2n_strerror(i32 noundef %11361, ptr noundef nonnull @.str.65) #10
  %11363 = load i32, ptr %2239, align 4, !tbaa !5
  %11364 = call ptr @s2n_strerror_debug(i32 noundef %11363, ptr noundef nonnull @.str.65) #10
  %11365 = load i32, ptr %2293, align 4, !tbaa !5
  %11366 = call ptr @strerror(i32 noundef %11365) #10
  %11367 = load i32, ptr %2293, align 4, !tbaa !5
  %11368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11359, ptr noundef nonnull %.str.66.sink5809, i32 noundef %11360, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 1073, ptr noundef %11362, ptr noundef %11364, ptr noundef %11366, i32 noundef %11367) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11369:                                            ; preds = %11342
  %11370 = load i32, ptr @test_count, align 4, !tbaa !5
  %11371 = add nsw i32 %11370, 1
  store i32 %11371, ptr @test_count, align 4, !tbaa !5
  %11372 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %11183, i32 noundef 2) #10
  br i1 %11372, label %11373, label %11375

11373:                                            ; preds = %11369
  %11374 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %11184, i32 noundef 2) #10
  br i1 %11374, label %11397, label %11375

11375:                                            ; preds = %11373, %11369
  %11376 = load i32, ptr %2293, align 4, !tbaa !5
  %11377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11378 = call i32 @s2n_print_stacktrace(ptr noundef %11377) #10
  %11379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11380 = trunc nuw i8 %11379 to i1
  br i1 %11380, label %11381, label %11385

11381:                                            ; preds = %11375
  %11382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11383 = call i32 @fileno(ptr noundef %11382) #10
  %11384 = call i32 @isatty(i32 noundef %11383) #10
  %.not1628 = icmp eq i32 %11384, 0
  br i1 %.not1628, label %11385, label %11386

11385:                                            ; preds = %11381, %11375
  br label %11386

11386:                                            ; preds = %11381, %11385
  %.str.66.sink5818 = phi ptr [ @.str.66, %11385 ], [ @.str.63, %11381 ]
  store i32 %11376, ptr %2293, align 4, !tbaa !5
  %11387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11388 = load i32, ptr @test_count, align 4, !tbaa !5
  %11389 = load i32, ptr %2239, align 4, !tbaa !5
  %11390 = call ptr @s2n_strerror(i32 noundef %11389, ptr noundef nonnull @.str.65) #10
  %11391 = load i32, ptr %2239, align 4, !tbaa !5
  %11392 = call ptr @s2n_strerror_debug(i32 noundef %11391, ptr noundef nonnull @.str.65) #10
  %11393 = load i32, ptr %2293, align 4, !tbaa !5
  %11394 = call ptr @strerror(i32 noundef %11393) #10
  %11395 = load i32, ptr %2293, align 4, !tbaa !5
  %11396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11387, ptr noundef nonnull %.str.66.sink5818, i32 noundef %11388, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.62, i32 noundef 1074, ptr noundef %11390, ptr noundef %11392, ptr noundef %11394, i32 noundef %11395) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11397:                                            ; preds = %11373
  %11398 = load i32, ptr @test_count, align 4, !tbaa !5
  %11399 = add nsw i32 %11398, 1
  store i32 %11399, ptr @test_count, align 4, !tbaa !5
  %11400 = getelementptr inbounds i8, ptr %11183, i64 220
  %11401 = load i8, ptr %11400, align 4, !tbaa !59
  %11402 = icmp eq i8 %11401, 33
  br i1 %11402, label %11425, label %11403

11403:                                            ; preds = %11397
  %11404 = load i32, ptr %2293, align 4, !tbaa !5
  %11405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11406 = call i32 @s2n_print_stacktrace(ptr noundef %11405) #10
  %11407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11408 = trunc nuw i8 %11407 to i1
  br i1 %11408, label %11409, label %11413

11409:                                            ; preds = %11403
  %11410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11411 = call i32 @fileno(ptr noundef %11410) #10
  %11412 = call i32 @isatty(i32 noundef %11411) #10
  %.not1629 = icmp eq i32 %11412, 0
  br i1 %.not1629, label %11413, label %11414

11413:                                            ; preds = %11409, %11403
  br label %11414

11414:                                            ; preds = %11409, %11413
  %.str.66.sink5827 = phi ptr [ @.str.66, %11413 ], [ @.str.63, %11409 ]
  store i32 %11404, ptr %2293, align 4, !tbaa !5
  %11415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11416 = load i32, ptr @test_count, align 4, !tbaa !5
  %11417 = load i32, ptr %2239, align 4, !tbaa !5
  %11418 = call ptr @s2n_strerror(i32 noundef %11417, ptr noundef nonnull @.str.65) #10
  %11419 = load i32, ptr %2239, align 4, !tbaa !5
  %11420 = call ptr @s2n_strerror_debug(i32 noundef %11419, ptr noundef nonnull @.str.65) #10
  %11421 = load i32, ptr %2293, align 4, !tbaa !5
  %11422 = call ptr @strerror(i32 noundef %11421) #10
  %11423 = load i32, ptr %2293, align 4, !tbaa !5
  %11424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11415, ptr noundef nonnull %.str.66.sink5827, i32 noundef %11416, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.62, i32 noundef 1077, ptr noundef %11418, ptr noundef %11420, ptr noundef %11422, i32 noundef %11423) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11425:                                            ; preds = %11397
  %11426 = add nsw i32 %11398, 2
  store i32 %11426, ptr @test_count, align 4, !tbaa !5
  %11427 = getelementptr inbounds i8, ptr %11184, i64 220
  %11428 = load i8, ptr %11427, align 4, !tbaa !59
  %11429 = icmp eq i8 %11428, 33
  br i1 %11429, label %11452, label %11430

11430:                                            ; preds = %11425
  %11431 = load i32, ptr %2293, align 4, !tbaa !5
  %11432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11433 = call i32 @s2n_print_stacktrace(ptr noundef %11432) #10
  %11434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11435 = trunc nuw i8 %11434 to i1
  br i1 %11435, label %11436, label %11440

11436:                                            ; preds = %11430
  %11437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11438 = call i32 @fileno(ptr noundef %11437) #10
  %11439 = call i32 @isatty(i32 noundef %11438) #10
  %.not1630 = icmp eq i32 %11439, 0
  br i1 %.not1630, label %11440, label %11441

11440:                                            ; preds = %11436, %11430
  br label %11441

11441:                                            ; preds = %11436, %11440
  %.str.66.sink5836 = phi ptr [ @.str.66, %11440 ], [ @.str.63, %11436 ]
  store i32 %11431, ptr %2293, align 4, !tbaa !5
  %11442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11443 = load i32, ptr @test_count, align 4, !tbaa !5
  %11444 = load i32, ptr %2239, align 4, !tbaa !5
  %11445 = call ptr @s2n_strerror(i32 noundef %11444, ptr noundef nonnull @.str.65) #10
  %11446 = load i32, ptr %2239, align 4, !tbaa !5
  %11447 = call ptr @s2n_strerror_debug(i32 noundef %11446, ptr noundef nonnull @.str.65) #10
  %11448 = load i32, ptr %2293, align 4, !tbaa !5
  %11449 = call ptr @strerror(i32 noundef %11448) #10
  %11450 = load i32, ptr %2293, align 4, !tbaa !5
  %11451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11442, ptr noundef nonnull %.str.66.sink5836, i32 noundef %11443, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.62, i32 noundef 1078, ptr noundef %11445, ptr noundef %11447, ptr noundef %11449, i32 noundef %11450) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11452:                                            ; preds = %11425
  %11453 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %11183)
  %11454 = sext i32 %11453 to i64
  call void @llvm.lifetime.start.p0(i64 202, ptr nonnull %39) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(202) %39, i8 0, i64 202, i1 false)
  %11455 = load i32, ptr @test_count, align 4, !tbaa !5
  %11456 = add nsw i32 %11455, 1
  store i32 %11456, ptr @test_count, align 4, !tbaa !5
  %11457 = call i32 @s2n_connection_get_session(ptr noundef nonnull %11183, ptr noundef nonnull %39, i64 noundef %11454)
  %11458 = icmp eq i32 %11457, -1
  br i1 %11458, label %11459, label %.preheader

11459:                                            ; preds = %11452
  %11460 = load i32, ptr %2293, align 4, !tbaa !5
  %11461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11462 = call i32 @s2n_print_stacktrace(ptr noundef %11461) #10
  %11463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11464 = trunc nuw i8 %11463 to i1
  br i1 %11464, label %11465, label %11469

11465:                                            ; preds = %11459
  %11466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11467 = call i32 @fileno(ptr noundef %11466) #10
  %11468 = call i32 @isatty(i32 noundef %11467) #10
  %.not1698 = icmp eq i32 %11468, 0
  br i1 %.not1698, label %11469, label %11470

11469:                                            ; preds = %11465, %11459
  br label %11470

11470:                                            ; preds = %11465, %11469
  %.str.66.sink5845 = phi ptr [ @.str.66, %11469 ], [ @.str.63, %11465 ]
  store i32 %11460, ptr %2293, align 4, !tbaa !5
  %11471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11472 = load i32, ptr @test_count, align 4, !tbaa !5
  %11473 = load i32, ptr %2239, align 4, !tbaa !5
  %11474 = call ptr @s2n_strerror(i32 noundef %11473, ptr noundef nonnull @.str.65) #10
  %11475 = load i32, ptr %2239, align 4, !tbaa !5
  %11476 = call ptr @s2n_strerror_debug(i32 noundef %11475, ptr noundef nonnull @.str.65) #10
  %11477 = load i32, ptr %2293, align 4, !tbaa !5
  %11478 = call ptr @strerror(i32 noundef %11477) #10
  %11479 = load i32, ptr %2293, align 4, !tbaa !5
  %11480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11471, ptr noundef nonnull %.str.66.sink5845, i32 noundef %11472, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.62, i32 noundef 1083, ptr noundef %11474, ptr noundef %11476, ptr noundef %11478, i32 noundef %11479) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11481:                                            ; preds = %11704
  %11482 = add nuw nsw i64 %.015182061, 1
  %exitcond2069.not = icmp eq i64 %11482, 10
  br i1 %exitcond2069.not, label %11483, label %.preheader, !llvm.loop !70

11483:                                            ; preds = %11481
  %11484 = load i32, ptr @test_count, align 4, !tbaa !5
  %11485 = add nsw i32 %11484, 1
  store i32 %11485, ptr @test_count, align 4, !tbaa !5
  %11486 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %11184, ptr noundef nonnull %11183) #10
  %11487 = icmp eq i32 %11486, -1
  br i1 %11487, label %11731, label %11753

.preheader:                                       ; preds = %11452, %11481
  %.015182061 = phi i64 [ %11482, %11481 ], [ 0, %11452 ]
  %11488 = load i32, ptr @test_count, align 4, !tbaa !5
  %11489 = add nsw i32 %11488, 1
  store i32 %11489, ptr @test_count, align 4, !tbaa !5
  %11490 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %11184, ptr noundef nonnull %11183) #10
  %11491 = icmp eq i32 %11490, -1
  br i1 %11491, label %11492, label %11514

11492:                                            ; preds = %.preheader
  %11493 = load i32, ptr %2293, align 4, !tbaa !5
  %11494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11495 = call i32 @s2n_print_stacktrace(ptr noundef %11494) #10
  %11496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11497 = trunc nuw i8 %11496 to i1
  br i1 %11497, label %11498, label %11502

11498:                                            ; preds = %11492
  %11499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11500 = call i32 @fileno(ptr noundef %11499) #10
  %11501 = call i32 @isatty(i32 noundef %11500) #10
  %.not1697 = icmp eq i32 %11501, 0
  br i1 %.not1697, label %11502, label %11503

11502:                                            ; preds = %11498, %11492
  br label %11503

11503:                                            ; preds = %11498, %11502
  %.str.66.sink5854 = phi ptr [ @.str.66, %11502 ], [ @.str.63, %11498 ]
  store i32 %11493, ptr %2293, align 4, !tbaa !5
  %11504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11505 = load i32, ptr @test_count, align 4, !tbaa !5
  %11506 = load i32, ptr %2239, align 4, !tbaa !5
  %11507 = call ptr @s2n_strerror(i32 noundef %11506, ptr noundef nonnull @.str.65) #10
  %11508 = load i32, ptr %2239, align 4, !tbaa !5
  %11509 = call ptr @s2n_strerror_debug(i32 noundef %11508, ptr noundef nonnull @.str.65) #10
  %11510 = load i32, ptr %2293, align 4, !tbaa !5
  %11511 = call ptr @strerror(i32 noundef %11510) #10
  %11512 = load i32, ptr %2293, align 4, !tbaa !5
  %11513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11504, ptr noundef nonnull %.str.66.sink5854, i32 noundef %11505, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 1087, ptr noundef %11507, ptr noundef %11509, ptr noundef %11511, i32 noundef %11512) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11514:                                            ; preds = %.preheader
  %11515 = load i32, ptr @test_count, align 4, !tbaa !5
  %11516 = add nsw i32 %11515, 1
  store i32 %11516, ptr @test_count, align 4, !tbaa !5
  %11517 = call i32 @s2n_connection_wipe(ptr noundef nonnull %11183) #10
  %11518 = icmp eq i32 %11517, -1
  br i1 %11518, label %11519, label %11541

11519:                                            ; preds = %11514
  %11520 = load i32, ptr %2293, align 4, !tbaa !5
  %11521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11522 = call i32 @s2n_print_stacktrace(ptr noundef %11521) #10
  %11523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11524 = trunc nuw i8 %11523 to i1
  br i1 %11524, label %11525, label %11529

11525:                                            ; preds = %11519
  %11526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11527 = call i32 @fileno(ptr noundef %11526) #10
  %11528 = call i32 @isatty(i32 noundef %11527) #10
  %.not1696 = icmp eq i32 %11528, 0
  br i1 %.not1696, label %11529, label %11530

11529:                                            ; preds = %11525, %11519
  br label %11530

11530:                                            ; preds = %11525, %11529
  %.str.66.sink5863 = phi ptr [ @.str.66, %11529 ], [ @.str.63, %11525 ]
  store i32 %11520, ptr %2293, align 4, !tbaa !5
  %11531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11532 = load i32, ptr @test_count, align 4, !tbaa !5
  %11533 = load i32, ptr %2239, align 4, !tbaa !5
  %11534 = call ptr @s2n_strerror(i32 noundef %11533, ptr noundef nonnull @.str.65) #10
  %11535 = load i32, ptr %2239, align 4, !tbaa !5
  %11536 = call ptr @s2n_strerror_debug(i32 noundef %11535, ptr noundef nonnull @.str.65) #10
  %11537 = load i32, ptr %2293, align 4, !tbaa !5
  %11538 = call ptr @strerror(i32 noundef %11537) #10
  %11539 = load i32, ptr %2293, align 4, !tbaa !5
  %11540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11531, ptr noundef nonnull %.str.66.sink5863, i32 noundef %11532, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.62, i32 noundef 1088, ptr noundef %11534, ptr noundef %11536, ptr noundef %11538, i32 noundef %11539) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11541:                                            ; preds = %11514
  %11542 = load i32, ptr @test_count, align 4, !tbaa !5
  %11543 = add nsw i32 %11542, 1
  store i32 %11543, ptr @test_count, align 4, !tbaa !5
  %11544 = call i32 @s2n_connection_wipe(ptr noundef nonnull %11184) #10
  %11545 = icmp eq i32 %11544, -1
  br i1 %11545, label %11546, label %11568

11546:                                            ; preds = %11541
  %11547 = load i32, ptr %2293, align 4, !tbaa !5
  %11548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11549 = call i32 @s2n_print_stacktrace(ptr noundef %11548) #10
  %11550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11551 = trunc nuw i8 %11550 to i1
  br i1 %11551, label %11552, label %11556

11552:                                            ; preds = %11546
  %11553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11554 = call i32 @fileno(ptr noundef %11553) #10
  %11555 = call i32 @isatty(i32 noundef %11554) #10
  %.not1695 = icmp eq i32 %11555, 0
  br i1 %.not1695, label %11556, label %11557

11556:                                            ; preds = %11552, %11546
  br label %11557

11557:                                            ; preds = %11552, %11556
  %.str.66.sink5872 = phi ptr [ @.str.66, %11556 ], [ @.str.63, %11552 ]
  store i32 %11547, ptr %2293, align 4, !tbaa !5
  %11558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11559 = load i32, ptr @test_count, align 4, !tbaa !5
  %11560 = load i32, ptr %2239, align 4, !tbaa !5
  %11561 = call ptr @s2n_strerror(i32 noundef %11560, ptr noundef nonnull @.str.65) #10
  %11562 = load i32, ptr %2239, align 4, !tbaa !5
  %11563 = call ptr @s2n_strerror_debug(i32 noundef %11562, ptr noundef nonnull @.str.65) #10
  %11564 = load i32, ptr %2293, align 4, !tbaa !5
  %11565 = call ptr @strerror(i32 noundef %11564) #10
  %11566 = load i32, ptr %2293, align 4, !tbaa !5
  %11567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11558, ptr noundef nonnull %.str.66.sink5872, i32 noundef %11559, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.62, i32 noundef 1089, ptr noundef %11561, ptr noundef %11563, ptr noundef %11565, i32 noundef %11566) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11568:                                            ; preds = %11541
  %11569 = load i32, ptr @test_count, align 4, !tbaa !5
  %11570 = add nsw i32 %11569, 1
  store i32 %11570, ptr @test_count, align 4, !tbaa !5
  %11571 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %11183, ptr noundef nonnull %11184, ptr noundef nonnull %38) #10
  %11572 = icmp eq i32 %11571, -1
  br i1 %11572, label %11573, label %11595

11573:                                            ; preds = %11568
  %11574 = load i32, ptr %2293, align 4, !tbaa !5
  %11575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11576 = call i32 @s2n_print_stacktrace(ptr noundef %11575) #10
  %11577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11578 = trunc nuw i8 %11577 to i1
  br i1 %11578, label %11579, label %11583

11579:                                            ; preds = %11573
  %11580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11581 = call i32 @fileno(ptr noundef %11580) #10
  %11582 = call i32 @isatty(i32 noundef %11581) #10
  %.not1694 = icmp eq i32 %11582, 0
  br i1 %.not1694, label %11583, label %11584

11583:                                            ; preds = %11579, %11573
  br label %11584

11584:                                            ; preds = %11579, %11583
  %.str.66.sink5881 = phi ptr [ @.str.66, %11583 ], [ @.str.63, %11579 ]
  store i32 %11574, ptr %2293, align 4, !tbaa !5
  %11585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11586 = load i32, ptr @test_count, align 4, !tbaa !5
  %11587 = load i32, ptr %2239, align 4, !tbaa !5
  %11588 = call ptr @s2n_strerror(i32 noundef %11587, ptr noundef nonnull @.str.65) #10
  %11589 = load i32, ptr %2239, align 4, !tbaa !5
  %11590 = call ptr @s2n_strerror_debug(i32 noundef %11589, ptr noundef nonnull @.str.65) #10
  %11591 = load i32, ptr %2293, align 4, !tbaa !5
  %11592 = call ptr @strerror(i32 noundef %11591) #10
  %11593 = load i32, ptr %2293, align 4, !tbaa !5
  %11594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11585, ptr noundef nonnull %.str.66.sink5881, i32 noundef %11586, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.62, i32 noundef 1090, ptr noundef %11588, ptr noundef %11590, ptr noundef %11592, i32 noundef %11593) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11595:                                            ; preds = %11568
  %11596 = load i32, ptr @test_count, align 4, !tbaa !5
  %11597 = add nsw i32 %11596, 1
  store i32 %11597, ptr @test_count, align 4, !tbaa !5
  %11598 = call i32 @s2n_connection_set_session(ptr noundef nonnull %11183, ptr noundef nonnull %39, i64 noundef %11454)
  %11599 = icmp eq i32 %11598, -1
  br i1 %11599, label %11600, label %11622

11600:                                            ; preds = %11595
  %11601 = load i32, ptr %2293, align 4, !tbaa !5
  %11602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11603 = call i32 @s2n_print_stacktrace(ptr noundef %11602) #10
  %11604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11605 = trunc nuw i8 %11604 to i1
  br i1 %11605, label %11606, label %11610

11606:                                            ; preds = %11600
  %11607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11608 = call i32 @fileno(ptr noundef %11607) #10
  %11609 = call i32 @isatty(i32 noundef %11608) #10
  %.not1693 = icmp eq i32 %11609, 0
  br i1 %.not1693, label %11610, label %11611

11610:                                            ; preds = %11606, %11600
  br label %11611

11611:                                            ; preds = %11606, %11610
  %.str.66.sink5890 = phi ptr [ @.str.66, %11610 ], [ @.str.63, %11606 ]
  store i32 %11601, ptr %2293, align 4, !tbaa !5
  %11612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11613 = load i32, ptr @test_count, align 4, !tbaa !5
  %11614 = load i32, ptr %2239, align 4, !tbaa !5
  %11615 = call ptr @s2n_strerror(i32 noundef %11614, ptr noundef nonnull @.str.65) #10
  %11616 = load i32, ptr %2239, align 4, !tbaa !5
  %11617 = call ptr @s2n_strerror_debug(i32 noundef %11616, ptr noundef nonnull @.str.65) #10
  %11618 = load i32, ptr %2293, align 4, !tbaa !5
  %11619 = call ptr @strerror(i32 noundef %11618) #10
  %11620 = load i32, ptr %2293, align 4, !tbaa !5
  %11621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11612, ptr noundef nonnull %.str.66.sink5890, i32 noundef %11613, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.62, i32 noundef 1093, ptr noundef %11615, ptr noundef %11617, ptr noundef %11619, i32 noundef %11620) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11622:                                            ; preds = %11595
  %11623 = load i32, ptr @test_count, align 4, !tbaa !5
  %11624 = add nsw i32 %11623, 1
  store i32 %11624, ptr @test_count, align 4, !tbaa !5
  %11625 = call i32 @s2n_test_negotiate(ptr noundef nonnull %11184, ptr noundef nonnull %11183, ptr noundef nonnull %4)
  %11626 = call zeroext i1 @s2n_result_is_ok(i32 %11625)
  br i1 %11626, label %11649, label %11627

11627:                                            ; preds = %11622
  %11628 = load i32, ptr %2293, align 4, !tbaa !5
  %11629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11630 = call i32 @s2n_print_stacktrace(ptr noundef %11629) #10
  %11631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11632 = trunc nuw i8 %11631 to i1
  br i1 %11632, label %11633, label %11637

11633:                                            ; preds = %11627
  %11634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11635 = call i32 @fileno(ptr noundef %11634) #10
  %11636 = call i32 @isatty(i32 noundef %11635) #10
  %.not1689 = icmp eq i32 %11636, 0
  br i1 %.not1689, label %11637, label %11638

11637:                                            ; preds = %11633, %11627
  br label %11638

11638:                                            ; preds = %11633, %11637
  %.str.66.sink5899 = phi ptr [ @.str.66, %11637 ], [ @.str.63, %11633 ]
  store i32 %11628, ptr %2293, align 4, !tbaa !5
  %11639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11640 = load i32, ptr @test_count, align 4, !tbaa !5
  %11641 = load i32, ptr %2239, align 4, !tbaa !5
  %11642 = call ptr @s2n_strerror(i32 noundef %11641, ptr noundef nonnull @.str.65) #10
  %11643 = load i32, ptr %2239, align 4, !tbaa !5
  %11644 = call ptr @s2n_strerror_debug(i32 noundef %11643, ptr noundef nonnull @.str.65) #10
  %11645 = load i32, ptr %2293, align 4, !tbaa !5
  %11646 = call ptr @strerror(i32 noundef %11645) #10
  %11647 = load i32, ptr %2293, align 4, !tbaa !5
  %11648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11639, ptr noundef nonnull %.str.66.sink5899, i32 noundef %11640, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.62, i32 noundef 1096, ptr noundef %11642, ptr noundef %11644, ptr noundef %11646, i32 noundef %11647) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11649:                                            ; preds = %11622
  %11650 = load i32, ptr @test_count, align 4, !tbaa !5
  %11651 = add nsw i32 %11650, 1
  store i32 %11651, ptr @test_count, align 4, !tbaa !5
  %11652 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %11183, i32 noundef 2) #10
  br i1 %11652, label %11653, label %11677

11653:                                            ; preds = %11649
  %11654 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %11184, i32 noundef 2) #10
  br i1 %11654, label %11655, label %11677

11655:                                            ; preds = %11653
  %11656 = load i32, ptr %2293, align 4, !tbaa !5
  %11657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11658 = call i32 @s2n_print_stacktrace(ptr noundef %11657) #10
  %11659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11660 = trunc nuw i8 %11659 to i1
  br i1 %11660, label %11661, label %11665

11661:                                            ; preds = %11655
  %11662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11663 = call i32 @fileno(ptr noundef %11662) #10
  %11664 = call i32 @isatty(i32 noundef %11663) #10
  %.not1692 = icmp eq i32 %11664, 0
  br i1 %.not1692, label %11665, label %11666

11665:                                            ; preds = %11661, %11655
  br label %11666

11666:                                            ; preds = %11661, %11665
  %.str.66.sink5908 = phi ptr [ @.str.66, %11665 ], [ @.str.63, %11661 ]
  store i32 %11656, ptr %2293, align 4, !tbaa !5
  %11667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11668 = load i32, ptr @test_count, align 4, !tbaa !5
  %11669 = load i32, ptr %2239, align 4, !tbaa !5
  %11670 = call ptr @s2n_strerror(i32 noundef %11669, ptr noundef nonnull @.str.65) #10
  %11671 = load i32, ptr %2239, align 4, !tbaa !5
  %11672 = call ptr @s2n_strerror_debug(i32 noundef %11671, ptr noundef nonnull @.str.65) #10
  %11673 = load i32, ptr %2293, align 4, !tbaa !5
  %11674 = call ptr @strerror(i32 noundef %11673) #10
  %11675 = load i32, ptr %2293, align 4, !tbaa !5
  %11676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11667, ptr noundef nonnull %.str.66.sink5908, i32 noundef %11668, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.62, i32 noundef 1097, ptr noundef %11670, ptr noundef %11672, ptr noundef %11674, i32 noundef %11675) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11677:                                            ; preds = %11649, %11653
  %11678 = load i32, ptr @test_count, align 4, !tbaa !5
  %11679 = add nsw i32 %11678, 1
  store i32 %11679, ptr @test_count, align 4, !tbaa !5
  %11680 = call i32 @s2n_connection_free_handshake(ptr noundef nonnull %11183) #10
  %11681 = icmp eq i32 %11680, -1
  br i1 %11681, label %11682, label %11704

11682:                                            ; preds = %11677
  %11683 = load i32, ptr %2293, align 4, !tbaa !5
  %11684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11685 = call i32 @s2n_print_stacktrace(ptr noundef %11684) #10
  %11686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11687 = trunc nuw i8 %11686 to i1
  br i1 %11687, label %11688, label %11692

11688:                                            ; preds = %11682
  %11689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11690 = call i32 @fileno(ptr noundef %11689) #10
  %11691 = call i32 @isatty(i32 noundef %11690) #10
  %.not1691 = icmp eq i32 %11691, 0
  br i1 %.not1691, label %11692, label %11693

11692:                                            ; preds = %11688, %11682
  br label %11693

11693:                                            ; preds = %11688, %11692
  %.str.66.sink5917 = phi ptr [ @.str.66, %11692 ], [ @.str.63, %11688 ]
  store i32 %11683, ptr %2293, align 4, !tbaa !5
  %11694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11695 = load i32, ptr @test_count, align 4, !tbaa !5
  %11696 = load i32, ptr %2239, align 4, !tbaa !5
  %11697 = call ptr @s2n_strerror(i32 noundef %11696, ptr noundef nonnull @.str.65) #10
  %11698 = load i32, ptr %2239, align 4, !tbaa !5
  %11699 = call ptr @s2n_strerror_debug(i32 noundef %11698, ptr noundef nonnull @.str.65) #10
  %11700 = load i32, ptr %2293, align 4, !tbaa !5
  %11701 = call ptr @strerror(i32 noundef %11700) #10
  %11702 = load i32, ptr %2293, align 4, !tbaa !5
  %11703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11694, ptr noundef nonnull %.str.66.sink5917, i32 noundef %11695, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.62, i32 noundef 1100, ptr noundef %11697, ptr noundef %11699, ptr noundef %11701, i32 noundef %11702) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11704:                                            ; preds = %11677
  %11705 = load i32, ptr @test_count, align 4, !tbaa !5
  %11706 = add nsw i32 %11705, 1
  store i32 %11706, ptr @test_count, align 4, !tbaa !5
  %11707 = call i32 @s2n_connection_free_handshake(ptr noundef nonnull %11184) #10
  %11708 = icmp eq i32 %11707, -1
  br i1 %11708, label %11709, label %11481

11709:                                            ; preds = %11704
  %11710 = load i32, ptr %2293, align 4, !tbaa !5
  %11711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11712 = call i32 @s2n_print_stacktrace(ptr noundef %11711) #10
  %11713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11714 = trunc nuw i8 %11713 to i1
  br i1 %11714, label %11715, label %11719

11715:                                            ; preds = %11709
  %11716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11717 = call i32 @fileno(ptr noundef %11716) #10
  %11718 = call i32 @isatty(i32 noundef %11717) #10
  %.not1690 = icmp eq i32 %11718, 0
  br i1 %.not1690, label %11719, label %11720

11719:                                            ; preds = %11715, %11709
  br label %11720

11720:                                            ; preds = %11715, %11719
  %.str.66.sink5926 = phi ptr [ @.str.66, %11719 ], [ @.str.63, %11715 ]
  store i32 %11710, ptr %2293, align 4, !tbaa !5
  %11721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11722 = load i32, ptr @test_count, align 4, !tbaa !5
  %11723 = load i32, ptr %2239, align 4, !tbaa !5
  %11724 = call ptr @s2n_strerror(i32 noundef %11723, ptr noundef nonnull @.str.65) #10
  %11725 = load i32, ptr %2239, align 4, !tbaa !5
  %11726 = call ptr @s2n_strerror_debug(i32 noundef %11725, ptr noundef nonnull @.str.65) #10
  %11727 = load i32, ptr %2293, align 4, !tbaa !5
  %11728 = call ptr @strerror(i32 noundef %11727) #10
  %11729 = load i32, ptr %2293, align 4, !tbaa !5
  %11730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11721, ptr noundef nonnull %.str.66.sink5926, i32 noundef %11722, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.62, i32 noundef 1101, ptr noundef %11724, ptr noundef %11726, ptr noundef %11728, i32 noundef %11729) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11731:                                            ; preds = %11483
  %11732 = load i32, ptr %2293, align 4, !tbaa !5
  %11733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11734 = call i32 @s2n_print_stacktrace(ptr noundef %11733) #10
  %11735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11736 = trunc nuw i8 %11735 to i1
  br i1 %11736, label %11737, label %11741

11737:                                            ; preds = %11731
  %11738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11739 = call i32 @fileno(ptr noundef %11738) #10
  %11740 = call i32 @isatty(i32 noundef %11739) #10
  %.not1688 = icmp eq i32 %11740, 0
  br i1 %.not1688, label %11741, label %11742

11741:                                            ; preds = %11737, %11731
  br label %11742

11742:                                            ; preds = %11737, %11741
  %.str.66.sink5935 = phi ptr [ @.str.66, %11741 ], [ @.str.63, %11737 ]
  store i32 %11732, ptr %2293, align 4, !tbaa !5
  %11743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11744 = load i32, ptr @test_count, align 4, !tbaa !5
  %11745 = load i32, ptr %2239, align 4, !tbaa !5
  %11746 = call ptr @s2n_strerror(i32 noundef %11745, ptr noundef nonnull @.str.65) #10
  %11747 = load i32, ptr %2239, align 4, !tbaa !5
  %11748 = call ptr @s2n_strerror_debug(i32 noundef %11747, ptr noundef nonnull @.str.65) #10
  %11749 = load i32, ptr %2293, align 4, !tbaa !5
  %11750 = call ptr @strerror(i32 noundef %11749) #10
  %11751 = load i32, ptr %2293, align 4, !tbaa !5
  %11752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11743, ptr noundef nonnull %.str.66.sink5935, i32 noundef %11744, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.62, i32 noundef 1104, ptr noundef %11746, ptr noundef %11748, ptr noundef %11750, i32 noundef %11751) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11753:                                            ; preds = %11483
  %11754 = load i32, ptr @test_count, align 4, !tbaa !5
  %11755 = add nsw i32 %11754, 1
  store i32 %11755, ptr @test_count, align 4, !tbaa !5
  %11756 = call i32 @s2n_connection_free(ptr noundef nonnull %11184) #10
  %11757 = icmp eq i32 %11756, -1
  br i1 %11757, label %11758, label %11780

11758:                                            ; preds = %11753
  %11759 = load i32, ptr %2293, align 4, !tbaa !5
  %11760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11761 = call i32 @s2n_print_stacktrace(ptr noundef %11760) #10
  %11762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11763 = trunc nuw i8 %11762 to i1
  br i1 %11763, label %11764, label %11768

11764:                                            ; preds = %11758
  %11765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11766 = call i32 @fileno(ptr noundef %11765) #10
  %11767 = call i32 @isatty(i32 noundef %11766) #10
  %.not1687 = icmp eq i32 %11767, 0
  br i1 %.not1687, label %11768, label %11769

11768:                                            ; preds = %11764, %11758
  br label %11769

11769:                                            ; preds = %11764, %11768
  %.str.66.sink5944 = phi ptr [ @.str.66, %11768 ], [ @.str.63, %11764 ]
  store i32 %11759, ptr %2293, align 4, !tbaa !5
  %11770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11771 = load i32, ptr @test_count, align 4, !tbaa !5
  %11772 = load i32, ptr %2239, align 4, !tbaa !5
  %11773 = call ptr @s2n_strerror(i32 noundef %11772, ptr noundef nonnull @.str.65) #10
  %11774 = load i32, ptr %2239, align 4, !tbaa !5
  %11775 = call ptr @s2n_strerror_debug(i32 noundef %11774, ptr noundef nonnull @.str.65) #10
  %11776 = load i32, ptr %2293, align 4, !tbaa !5
  %11777 = call ptr @strerror(i32 noundef %11776) #10
  %11778 = load i32, ptr %2293, align 4, !tbaa !5
  %11779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11770, ptr noundef nonnull %.str.66.sink5944, i32 noundef %11771, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.62, i32 noundef 1105, ptr noundef %11773, ptr noundef %11775, ptr noundef %11777, i32 noundef %11778) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11780:                                            ; preds = %11753
  %11781 = load i32, ptr @test_count, align 4, !tbaa !5
  %11782 = add nsw i32 %11781, 1
  store i32 %11782, ptr @test_count, align 4, !tbaa !5
  %11783 = call i32 @s2n_connection_free(ptr noundef nonnull %11183) #10
  %11784 = icmp eq i32 %11783, -1
  br i1 %11784, label %11785, label %11807

11785:                                            ; preds = %11780
  %11786 = load i32, ptr %2293, align 4, !tbaa !5
  %11787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11788 = call i32 @s2n_print_stacktrace(ptr noundef %11787) #10
  %11789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11790 = trunc nuw i8 %11789 to i1
  br i1 %11790, label %11791, label %11795

11791:                                            ; preds = %11785
  %11792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11793 = call i32 @fileno(ptr noundef %11792) #10
  %11794 = call i32 @isatty(i32 noundef %11793) #10
  %.not1686 = icmp eq i32 %11794, 0
  br i1 %.not1686, label %11795, label %11796

11795:                                            ; preds = %11791, %11785
  br label %11796

11796:                                            ; preds = %11791, %11795
  %.str.66.sink5953 = phi ptr [ @.str.66, %11795 ], [ @.str.63, %11791 ]
  store i32 %11786, ptr %2293, align 4, !tbaa !5
  %11797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11798 = load i32, ptr @test_count, align 4, !tbaa !5
  %11799 = load i32, ptr %2239, align 4, !tbaa !5
  %11800 = call ptr @s2n_strerror(i32 noundef %11799, ptr noundef nonnull @.str.65) #10
  %11801 = load i32, ptr %2239, align 4, !tbaa !5
  %11802 = call ptr @s2n_strerror_debug(i32 noundef %11801, ptr noundef nonnull @.str.65) #10
  %11803 = load i32, ptr %2293, align 4, !tbaa !5
  %11804 = call ptr @strerror(i32 noundef %11803) #10
  %11805 = load i32, ptr %2293, align 4, !tbaa !5
  %11806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11797, ptr noundef nonnull %.str.66.sink5953, i32 noundef %11798, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.62, i32 noundef 1106, ptr noundef %11800, ptr noundef %11802, ptr noundef %11804, i32 noundef %11805) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11807:                                            ; preds = %11780
  %11808 = load i32, ptr @test_count, align 4, !tbaa !5
  %11809 = add nsw i32 %11808, 1
  store i32 %11809, ptr @test_count, align 4, !tbaa !5
  %11810 = call i32 @s2n_io_pair_close(ptr noundef nonnull %38) #10
  %11811 = icmp eq i32 %11810, -1
  br i1 %11811, label %11812, label %11834

11812:                                            ; preds = %11807
  %11813 = load i32, ptr %2293, align 4, !tbaa !5
  %11814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11815 = call i32 @s2n_print_stacktrace(ptr noundef %11814) #10
  %11816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11817 = trunc nuw i8 %11816 to i1
  br i1 %11817, label %11818, label %11822

11818:                                            ; preds = %11812
  %11819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11820 = call i32 @fileno(ptr noundef %11819) #10
  %11821 = call i32 @isatty(i32 noundef %11820) #10
  %.not1685 = icmp eq i32 %11821, 0
  br i1 %.not1685, label %11822, label %11823

11822:                                            ; preds = %11818, %11812
  br label %11823

11823:                                            ; preds = %11818, %11822
  %.str.66.sink5962 = phi ptr [ @.str.66, %11822 ], [ @.str.63, %11818 ]
  store i32 %11813, ptr %2293, align 4, !tbaa !5
  %11824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11825 = load i32, ptr @test_count, align 4, !tbaa !5
  %11826 = load i32, ptr %2239, align 4, !tbaa !5
  %11827 = call ptr @s2n_strerror(i32 noundef %11826, ptr noundef nonnull @.str.65) #10
  %11828 = load i32, ptr %2239, align 4, !tbaa !5
  %11829 = call ptr @s2n_strerror_debug(i32 noundef %11828, ptr noundef nonnull @.str.65) #10
  %11830 = load i32, ptr %2293, align 4, !tbaa !5
  %11831 = call ptr @strerror(i32 noundef %11830) #10
  %11832 = load i32, ptr %2293, align 4, !tbaa !5
  %11833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11824, ptr noundef nonnull %.str.66.sink5962, i32 noundef %11825, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.62, i32 noundef 1107, ptr noundef %11827, ptr noundef %11829, ptr noundef %11831, i32 noundef %11832) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11834:                                            ; preds = %11807
  %11835 = load i32, ptr @test_count, align 4, !tbaa !5
  %11836 = add nsw i32 %11835, 1
  store i32 %11836, ptr @test_count, align 4, !tbaa !5
  %11837 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %7) #10
  %11838 = icmp eq i32 %11837, -1
  br i1 %11838, label %11839, label %11861

11839:                                            ; preds = %11834
  %11840 = load i32, ptr %2293, align 4, !tbaa !5
  %11841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11842 = call i32 @s2n_print_stacktrace(ptr noundef %11841) #10
  %11843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11844 = trunc nuw i8 %11843 to i1
  br i1 %11844, label %11845, label %11849

11845:                                            ; preds = %11839
  %11846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11847 = call i32 @fileno(ptr noundef %11846) #10
  %11848 = call i32 @isatty(i32 noundef %11847) #10
  %.not1684 = icmp eq i32 %11848, 0
  br i1 %.not1684, label %11849, label %11850

11849:                                            ; preds = %11845, %11839
  br label %11850

11850:                                            ; preds = %11845, %11849
  %.str.66.sink5971 = phi ptr [ @.str.66, %11849 ], [ @.str.63, %11845 ]
  store i32 %11840, ptr %2293, align 4, !tbaa !5
  %11851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11852 = load i32, ptr @test_count, align 4, !tbaa !5
  %11853 = load i32, ptr %2239, align 4, !tbaa !5
  %11854 = call ptr @s2n_strerror(i32 noundef %11853, ptr noundef nonnull @.str.65) #10
  %11855 = load i32, ptr %2239, align 4, !tbaa !5
  %11856 = call ptr @s2n_strerror_debug(i32 noundef %11855, ptr noundef nonnull @.str.65) #10
  %11857 = load i32, ptr %2293, align 4, !tbaa !5
  %11858 = call ptr @strerror(i32 noundef %11857) #10
  %11859 = load i32, ptr %2293, align 4, !tbaa !5
  %11860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11851, ptr noundef nonnull %.str.66.sink5971, i32 noundef %11852, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.62, i32 noundef 1108, ptr noundef %11854, ptr noundef %11856, ptr noundef %11858, i32 noundef %11859) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11861:                                            ; preds = %11834
  call void @llvm.lifetime.end.p0(i64 202, ptr nonnull %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #10
  %11862 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %11862, ptr %40, align 8, !tbaa !9
  %11863 = load i32, ptr @test_count, align 4, !tbaa !5
  %11864 = add nsw i32 %11863, 1
  store i32 %11864, ptr @test_count, align 4, !tbaa !5
  %11865 = icmp eq ptr %11862, null
  br i1 %11865, label %11866, label %11888

11866:                                            ; preds = %11861
  %11867 = load i32, ptr %2293, align 4, !tbaa !5
  %11868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11869 = call i32 @s2n_print_stacktrace(ptr noundef %11868) #10
  %11870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11871 = trunc nuw i8 %11870 to i1
  br i1 %11871, label %11872, label %11876

11872:                                            ; preds = %11866
  %11873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11874 = call i32 @fileno(ptr noundef %11873) #10
  %11875 = call i32 @isatty(i32 noundef %11874) #10
  %.not1683 = icmp eq i32 %11875, 0
  br i1 %.not1683, label %11876, label %11877

11876:                                            ; preds = %11872, %11866
  br label %11877

11877:                                            ; preds = %11872, %11876
  %.str.66.sink5980 = phi ptr [ @.str.66, %11876 ], [ @.str.63, %11872 ]
  store i32 %11867, ptr %2293, align 4, !tbaa !5
  %11878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11879 = load i32, ptr @test_count, align 4, !tbaa !5
  %11880 = load i32, ptr %2239, align 4, !tbaa !5
  %11881 = call ptr @s2n_strerror(i32 noundef %11880, ptr noundef nonnull @.str.65) #10
  %11882 = load i32, ptr %2239, align 4, !tbaa !5
  %11883 = call ptr @s2n_strerror_debug(i32 noundef %11882, ptr noundef nonnull @.str.65) #10
  %11884 = load i32, ptr %2293, align 4, !tbaa !5
  %11885 = call ptr @strerror(i32 noundef %11884) #10
  %11886 = load i32, ptr %2293, align 4, !tbaa !5
  %11887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11878, ptr noundef nonnull %.str.66.sink5980, i32 noundef %11879, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 1114, ptr noundef %11881, ptr noundef %11883, ptr noundef %11885, i32 noundef %11886) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11888:                                            ; preds = %11861
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #10
  %11889 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %11889, ptr %41, align 8, !tbaa !9
  %11890 = load i32, ptr @test_count, align 4, !tbaa !5
  %11891 = add nsw i32 %11890, 1
  store i32 %11891, ptr @test_count, align 4, !tbaa !5
  %11892 = icmp eq ptr %11889, null
  br i1 %11892, label %11893, label %11915

11893:                                            ; preds = %11888
  %11894 = load i32, ptr %2293, align 4, !tbaa !5
  %11895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11896 = call i32 @s2n_print_stacktrace(ptr noundef %11895) #10
  %11897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11898 = trunc nuw i8 %11897 to i1
  br i1 %11898, label %11899, label %11903

11899:                                            ; preds = %11893
  %11900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11901 = call i32 @fileno(ptr noundef %11900) #10
  %11902 = call i32 @isatty(i32 noundef %11901) #10
  %.not1682 = icmp eq i32 %11902, 0
  br i1 %.not1682, label %11903, label %11904

11903:                                            ; preds = %11899, %11893
  br label %11904

11904:                                            ; preds = %11899, %11903
  %.str.66.sink5989 = phi ptr [ @.str.66, %11903 ], [ @.str.63, %11899 ]
  store i32 %11894, ptr %2293, align 4, !tbaa !5
  %11905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11906 = load i32, ptr @test_count, align 4, !tbaa !5
  %11907 = load i32, ptr %2239, align 4, !tbaa !5
  %11908 = call ptr @s2n_strerror(i32 noundef %11907, ptr noundef nonnull @.str.65) #10
  %11909 = load i32, ptr %2239, align 4, !tbaa !5
  %11910 = call ptr @s2n_strerror_debug(i32 noundef %11909, ptr noundef nonnull @.str.65) #10
  %11911 = load i32, ptr %2293, align 4, !tbaa !5
  %11912 = call ptr @strerror(i32 noundef %11911) #10
  %11913 = load i32, ptr %2293, align 4, !tbaa !5
  %11914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11905, ptr noundef nonnull %.str.66.sink5989, i32 noundef %11906, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 1117, ptr noundef %11908, ptr noundef %11910, ptr noundef %11912, i32 noundef %11913) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11915:                                            ; preds = %11888
  %11916 = add nsw i32 %11890, 2
  store i32 %11916, ptr @test_count, align 4, !tbaa !5
  %11917 = load ptr, ptr %40, align 8, !tbaa !9
  %11918 = call i32 @s2n_connection_set_config(ptr noundef %11917, ptr noundef nonnull %631) #10
  %11919 = icmp eq i32 %11918, -1
  br i1 %11919, label %11920, label %11942

11920:                                            ; preds = %11915
  %11921 = load i32, ptr %2293, align 4, !tbaa !5
  %11922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11923 = call i32 @s2n_print_stacktrace(ptr noundef %11922) #10
  %11924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11925 = trunc nuw i8 %11924 to i1
  br i1 %11925, label %11926, label %11930

11926:                                            ; preds = %11920
  %11927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11928 = call i32 @fileno(ptr noundef %11927) #10
  %11929 = call i32 @isatty(i32 noundef %11928) #10
  %.not1681 = icmp eq i32 %11929, 0
  br i1 %.not1681, label %11930, label %11931

11930:                                            ; preds = %11926, %11920
  br label %11931

11931:                                            ; preds = %11926, %11930
  %.str.66.sink5998 = phi ptr [ @.str.66, %11930 ], [ @.str.63, %11926 ]
  store i32 %11921, ptr %2293, align 4, !tbaa !5
  %11932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11933 = load i32, ptr @test_count, align 4, !tbaa !5
  %11934 = load i32, ptr %2239, align 4, !tbaa !5
  %11935 = call ptr @s2n_strerror(i32 noundef %11934, ptr noundef nonnull @.str.65) #10
  %11936 = load i32, ptr %2239, align 4, !tbaa !5
  %11937 = call ptr @s2n_strerror_debug(i32 noundef %11936, ptr noundef nonnull @.str.65) #10
  %11938 = load i32, ptr %2293, align 4, !tbaa !5
  %11939 = call ptr @strerror(i32 noundef %11938) #10
  %11940 = load i32, ptr %2293, align 4, !tbaa !5
  %11941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11932, ptr noundef nonnull %.str.66.sink5998, i32 noundef %11933, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 1119, ptr noundef %11935, ptr noundef %11937, ptr noundef %11939, i32 noundef %11940) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11942:                                            ; preds = %11915
  %11943 = load i32, ptr @test_count, align 4, !tbaa !5
  %11944 = add nsw i32 %11943, 1
  store i32 %11944, ptr @test_count, align 4, !tbaa !5
  %11945 = load ptr, ptr %41, align 8, !tbaa !9
  %11946 = call i32 @s2n_connection_set_config(ptr noundef %11945, ptr noundef %225) #10
  %11947 = icmp eq i32 %11946, -1
  br i1 %11947, label %11948, label %11970

11948:                                            ; preds = %11942
  %11949 = load i32, ptr %2293, align 4, !tbaa !5
  %11950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11951 = call i32 @s2n_print_stacktrace(ptr noundef %11950) #10
  %11952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11953 = trunc nuw i8 %11952 to i1
  br i1 %11953, label %11954, label %11958

11954:                                            ; preds = %11948
  %11955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11956 = call i32 @fileno(ptr noundef %11955) #10
  %11957 = call i32 @isatty(i32 noundef %11956) #10
  %.not1680 = icmp eq i32 %11957, 0
  br i1 %.not1680, label %11958, label %11959

11958:                                            ; preds = %11954, %11948
  br label %11959

11959:                                            ; preds = %11954, %11958
  %.str.66.sink6007 = phi ptr [ @.str.66, %11958 ], [ @.str.63, %11954 ]
  store i32 %11949, ptr %2293, align 4, !tbaa !5
  %11960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11961 = load i32, ptr @test_count, align 4, !tbaa !5
  %11962 = load i32, ptr %2239, align 4, !tbaa !5
  %11963 = call ptr @s2n_strerror(i32 noundef %11962, ptr noundef nonnull @.str.65) #10
  %11964 = load i32, ptr %2239, align 4, !tbaa !5
  %11965 = call ptr @s2n_strerror_debug(i32 noundef %11964, ptr noundef nonnull @.str.65) #10
  %11966 = load i32, ptr %2293, align 4, !tbaa !5
  %11967 = call ptr @strerror(i32 noundef %11966) #10
  %11968 = load i32, ptr %2293, align 4, !tbaa !5
  %11969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11960, ptr noundef nonnull %.str.66.sink6007, i32 noundef %11961, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 1120, ptr noundef %11963, ptr noundef %11965, ptr noundef %11967, i32 noundef %11968) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11970:                                            ; preds = %11942
  %11971 = load i32, ptr @test_count, align 4, !tbaa !5
  %11972 = add nsw i32 %11971, 1
  store i32 %11972, ptr @test_count, align 4, !tbaa !5
  %11973 = load ptr, ptr %40, align 8, !tbaa !9
  %11974 = call i32 @s2n_connection_enable_quic(ptr noundef %11973) #10
  %11975 = icmp eq i32 %11974, -1
  br i1 %11975, label %11976, label %11998

11976:                                            ; preds = %11970
  %11977 = load i32, ptr %2293, align 4, !tbaa !5
  %11978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11979 = call i32 @s2n_print_stacktrace(ptr noundef %11978) #10
  %11980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11981 = trunc nuw i8 %11980 to i1
  br i1 %11981, label %11982, label %11986

11982:                                            ; preds = %11976
  %11983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11984 = call i32 @fileno(ptr noundef %11983) #10
  %11985 = call i32 @isatty(i32 noundef %11984) #10
  %.not1679 = icmp eq i32 %11985, 0
  br i1 %.not1679, label %11986, label %11987

11986:                                            ; preds = %11982, %11976
  br label %11987

11987:                                            ; preds = %11982, %11986
  %.str.66.sink6016 = phi ptr [ @.str.66, %11986 ], [ @.str.63, %11982 ]
  store i32 %11977, ptr %2293, align 4, !tbaa !5
  %11988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11989 = load i32, ptr @test_count, align 4, !tbaa !5
  %11990 = load i32, ptr %2239, align 4, !tbaa !5
  %11991 = call ptr @s2n_strerror(i32 noundef %11990, ptr noundef nonnull @.str.65) #10
  %11992 = load i32, ptr %2239, align 4, !tbaa !5
  %11993 = call ptr @s2n_strerror_debug(i32 noundef %11992, ptr noundef nonnull @.str.65) #10
  %11994 = load i32, ptr %2293, align 4, !tbaa !5
  %11995 = call ptr @strerror(i32 noundef %11994) #10
  %11996 = load i32, ptr %2293, align 4, !tbaa !5
  %11997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11988, ptr noundef nonnull %.str.66.sink6016, i32 noundef %11989, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.62, i32 noundef 1123, ptr noundef %11991, ptr noundef %11993, ptr noundef %11995, i32 noundef %11996) #12
  call void @exit(i32 noundef 1) #13
  unreachable

11998:                                            ; preds = %11970
  %11999 = load i32, ptr @test_count, align 4, !tbaa !5
  %12000 = add nsw i32 %11999, 1
  store i32 %12000, ptr @test_count, align 4, !tbaa !5
  %12001 = load ptr, ptr %41, align 8, !tbaa !9
  %12002 = call i32 @s2n_connection_enable_quic(ptr noundef %12001) #10
  %12003 = icmp eq i32 %12002, -1
  br i1 %12003, label %12004, label %12026

12004:                                            ; preds = %11998
  %12005 = load i32, ptr %2293, align 4, !tbaa !5
  %12006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12007 = call i32 @s2n_print_stacktrace(ptr noundef %12006) #10
  %12008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12009 = trunc nuw i8 %12008 to i1
  br i1 %12009, label %12010, label %12014

12010:                                            ; preds = %12004
  %12011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12012 = call i32 @fileno(ptr noundef %12011) #10
  %12013 = call i32 @isatty(i32 noundef %12012) #10
  %.not1678 = icmp eq i32 %12013, 0
  br i1 %.not1678, label %12014, label %12015

12014:                                            ; preds = %12010, %12004
  br label %12015

12015:                                            ; preds = %12010, %12014
  %.str.66.sink6025 = phi ptr [ @.str.66, %12014 ], [ @.str.63, %12010 ]
  store i32 %12005, ptr %2293, align 4, !tbaa !5
  %12016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12017 = load i32, ptr @test_count, align 4, !tbaa !5
  %12018 = load i32, ptr %2239, align 4, !tbaa !5
  %12019 = call ptr @s2n_strerror(i32 noundef %12018, ptr noundef nonnull @.str.65) #10
  %12020 = load i32, ptr %2239, align 4, !tbaa !5
  %12021 = call ptr @s2n_strerror_debug(i32 noundef %12020, ptr noundef nonnull @.str.65) #10
  %12022 = load i32, ptr %2293, align 4, !tbaa !5
  %12023 = call ptr @strerror(i32 noundef %12022) #10
  %12024 = load i32, ptr %2293, align 4, !tbaa !5
  %12025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12016, ptr noundef nonnull %.str.66.sink6025, i32 noundef %12017, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.62, i32 noundef 1124, ptr noundef %12019, ptr noundef %12021, ptr noundef %12023, i32 noundef %12024) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12026:                                            ; preds = %11998
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %42) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %42, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %43) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %43, i8 0, i64 40, i1 false)
  %12027 = load i32, ptr @test_count, align 4, !tbaa !5
  %12028 = add nsw i32 %12027, 1
  store i32 %12028, ptr @test_count, align 4, !tbaa !5
  %12029 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %42, i32 noundef 0) #10
  %12030 = icmp eq i32 %12029, -1
  br i1 %12030, label %12031, label %12053

12031:                                            ; preds = %12026
  %12032 = load i32, ptr %2293, align 4, !tbaa !5
  %12033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12034 = call i32 @s2n_print_stacktrace(ptr noundef %12033) #10
  %12035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12036 = trunc nuw i8 %12035 to i1
  br i1 %12036, label %12037, label %12041

12037:                                            ; preds = %12031
  %12038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12039 = call i32 @fileno(ptr noundef %12038) #10
  %12040 = call i32 @isatty(i32 noundef %12039) #10
  %.not1677 = icmp eq i32 %12040, 0
  br i1 %.not1677, label %12041, label %12042

12041:                                            ; preds = %12037, %12031
  br label %12042

12042:                                            ; preds = %12037, %12041
  %.str.66.sink6034 = phi ptr [ @.str.66, %12041 ], [ @.str.63, %12037 ]
  store i32 %12032, ptr %2293, align 4, !tbaa !5
  %12043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12044 = load i32, ptr @test_count, align 4, !tbaa !5
  %12045 = load i32, ptr %2239, align 4, !tbaa !5
  %12046 = call ptr @s2n_strerror(i32 noundef %12045, ptr noundef nonnull @.str.65) #10
  %12047 = load i32, ptr %2239, align 4, !tbaa !5
  %12048 = call ptr @s2n_strerror_debug(i32 noundef %12047, ptr noundef nonnull @.str.65) #10
  %12049 = load i32, ptr %2293, align 4, !tbaa !5
  %12050 = call ptr @strerror(i32 noundef %12049) #10
  %12051 = load i32, ptr %2293, align 4, !tbaa !5
  %12052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12043, ptr noundef nonnull %.str.66.sink6034, i32 noundef %12044, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.62, i32 noundef 1129, ptr noundef %12046, ptr noundef %12048, ptr noundef %12050, i32 noundef %12051) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12053:                                            ; preds = %12026
  %12054 = load i32, ptr @test_count, align 4, !tbaa !5
  %12055 = add nsw i32 %12054, 1
  store i32 %12055, ptr @test_count, align 4, !tbaa !5
  %12056 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %43, i32 noundef 0) #10
  %12057 = icmp eq i32 %12056, -1
  br i1 %12057, label %12058, label %12080

12058:                                            ; preds = %12053
  %12059 = load i32, ptr %2293, align 4, !tbaa !5
  %12060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12061 = call i32 @s2n_print_stacktrace(ptr noundef %12060) #10
  %12062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12063 = trunc nuw i8 %12062 to i1
  br i1 %12063, label %12064, label %12068

12064:                                            ; preds = %12058
  %12065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12066 = call i32 @fileno(ptr noundef %12065) #10
  %12067 = call i32 @isatty(i32 noundef %12066) #10
  %.not1676 = icmp eq i32 %12067, 0
  br i1 %.not1676, label %12068, label %12069

12068:                                            ; preds = %12064, %12058
  br label %12069

12069:                                            ; preds = %12064, %12068
  %.str.66.sink6043 = phi ptr [ @.str.66, %12068 ], [ @.str.63, %12064 ]
  store i32 %12059, ptr %2293, align 4, !tbaa !5
  %12070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12071 = load i32, ptr @test_count, align 4, !tbaa !5
  %12072 = load i32, ptr %2239, align 4, !tbaa !5
  %12073 = call ptr @s2n_strerror(i32 noundef %12072, ptr noundef nonnull @.str.65) #10
  %12074 = load i32, ptr %2239, align 4, !tbaa !5
  %12075 = call ptr @s2n_strerror_debug(i32 noundef %12074, ptr noundef nonnull @.str.65) #10
  %12076 = load i32, ptr %2293, align 4, !tbaa !5
  %12077 = call ptr @strerror(i32 noundef %12076) #10
  %12078 = load i32, ptr %2293, align 4, !tbaa !5
  %12079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12070, ptr noundef nonnull %.str.66.sink6043, i32 noundef %12071, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.62, i32 noundef 1130, ptr noundef %12073, ptr noundef %12075, ptr noundef %12077, i32 noundef %12078) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12080:                                            ; preds = %12053
  %12081 = load i32, ptr @test_count, align 4, !tbaa !5
  %12082 = add nsw i32 %12081, 1
  store i32 %12082, ptr @test_count, align 4, !tbaa !5
  %12083 = load ptr, ptr %41, align 8, !tbaa !9
  %12084 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %42, ptr noundef nonnull %43, ptr noundef %12083) #10
  %12085 = icmp eq i32 %12084, -1
  br i1 %12085, label %12086, label %12108

12086:                                            ; preds = %12080
  %12087 = load i32, ptr %2293, align 4, !tbaa !5
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = call i32 @s2n_print_stacktrace(ptr noundef %12088) #10
  %12090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12091 = trunc nuw i8 %12090 to i1
  br i1 %12091, label %12092, label %12096

12092:                                            ; preds = %12086
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = call i32 @fileno(ptr noundef %12093) #10
  %12095 = call i32 @isatty(i32 noundef %12094) #10
  %.not1675 = icmp eq i32 %12095, 0
  br i1 %.not1675, label %12096, label %12097

12096:                                            ; preds = %12092, %12086
  br label %12097

12097:                                            ; preds = %12092, %12096
  %.str.66.sink6052 = phi ptr [ @.str.66, %12096 ], [ @.str.63, %12092 ]
  store i32 %12087, ptr %2293, align 4, !tbaa !5
  %12098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12099 = load i32, ptr @test_count, align 4, !tbaa !5
  %12100 = load i32, ptr %2239, align 4, !tbaa !5
  %12101 = call ptr @s2n_strerror(i32 noundef %12100, ptr noundef nonnull @.str.65) #10
  %12102 = load i32, ptr %2239, align 4, !tbaa !5
  %12103 = call ptr @s2n_strerror_debug(i32 noundef %12102, ptr noundef nonnull @.str.65) #10
  %12104 = load i32, ptr %2293, align 4, !tbaa !5
  %12105 = call ptr @strerror(i32 noundef %12104) #10
  %12106 = load i32, ptr %2293, align 4, !tbaa !5
  %12107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12098, ptr noundef nonnull %.str.66.sink6052, i32 noundef %12099, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.62, i32 noundef 1131, ptr noundef %12101, ptr noundef %12103, ptr noundef %12105, i32 noundef %12106) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12108:                                            ; preds = %12080
  %12109 = load i32, ptr @test_count, align 4, !tbaa !5
  %12110 = add nsw i32 %12109, 1
  store i32 %12110, ptr @test_count, align 4, !tbaa !5
  %12111 = load ptr, ptr %40, align 8, !tbaa !9
  %12112 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %43, ptr noundef nonnull %42, ptr noundef %12111) #10
  %12113 = icmp eq i32 %12112, -1
  br i1 %12113, label %12114, label %12136

12114:                                            ; preds = %12108
  %12115 = load i32, ptr %2293, align 4, !tbaa !5
  %12116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12117 = call i32 @s2n_print_stacktrace(ptr noundef %12116) #10
  %12118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12119 = trunc nuw i8 %12118 to i1
  br i1 %12119, label %12120, label %12124

12120:                                            ; preds = %12114
  %12121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12122 = call i32 @fileno(ptr noundef %12121) #10
  %12123 = call i32 @isatty(i32 noundef %12122) #10
  %.not1674 = icmp eq i32 %12123, 0
  br i1 %.not1674, label %12124, label %12125

12124:                                            ; preds = %12120, %12114
  br label %12125

12125:                                            ; preds = %12120, %12124
  %.str.66.sink6061 = phi ptr [ @.str.66, %12124 ], [ @.str.63, %12120 ]
  store i32 %12115, ptr %2293, align 4, !tbaa !5
  %12126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12127 = load i32, ptr @test_count, align 4, !tbaa !5
  %12128 = load i32, ptr %2239, align 4, !tbaa !5
  %12129 = call ptr @s2n_strerror(i32 noundef %12128, ptr noundef nonnull @.str.65) #10
  %12130 = load i32, ptr %2239, align 4, !tbaa !5
  %12131 = call ptr @s2n_strerror_debug(i32 noundef %12130, ptr noundef nonnull @.str.65) #10
  %12132 = load i32, ptr %2293, align 4, !tbaa !5
  %12133 = call ptr @strerror(i32 noundef %12132) #10
  %12134 = load i32, ptr %2293, align 4, !tbaa !5
  %12135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12126, ptr noundef nonnull %.str.66.sink6061, i32 noundef %12127, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.62, i32 noundef 1132, ptr noundef %12129, ptr noundef %12131, ptr noundef %12133, i32 noundef %12134) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12136:                                            ; preds = %12108
  %12137 = load i32, ptr @test_count, align 4, !tbaa !5
  %12138 = add nsw i32 %12137, 1
  store i32 %12138, ptr @test_count, align 4, !tbaa !5
  %12139 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %225, ptr noundef nonnull @s2n_wipe_psk_ke_ext, ptr noundef null) #10
  %12140 = icmp eq i32 %12139, -1
  br i1 %12140, label %12141, label %12163

12141:                                            ; preds = %12136
  %12142 = load i32, ptr %2293, align 4, !tbaa !5
  %12143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12144 = call i32 @s2n_print_stacktrace(ptr noundef %12143) #10
  %12145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12146 = trunc nuw i8 %12145 to i1
  br i1 %12146, label %12147, label %12151

12147:                                            ; preds = %12141
  %12148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12149 = call i32 @fileno(ptr noundef %12148) #10
  %12150 = call i32 @isatty(i32 noundef %12149) #10
  %.not1673 = icmp eq i32 %12150, 0
  br i1 %.not1673, label %12151, label %12152

12151:                                            ; preds = %12147, %12141
  br label %12152

12152:                                            ; preds = %12147, %12151
  %.str.66.sink6070 = phi ptr [ @.str.66, %12151 ], [ @.str.63, %12147 ]
  store i32 %12142, ptr %2293, align 4, !tbaa !5
  %12153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12154 = load i32, ptr @test_count, align 4, !tbaa !5
  %12155 = load i32, ptr %2239, align 4, !tbaa !5
  %12156 = call ptr @s2n_strerror(i32 noundef %12155, ptr noundef nonnull @.str.65) #10
  %12157 = load i32, ptr %2239, align 4, !tbaa !5
  %12158 = call ptr @s2n_strerror_debug(i32 noundef %12157, ptr noundef nonnull @.str.65) #10
  %12159 = load i32, ptr %2293, align 4, !tbaa !5
  %12160 = call ptr @strerror(i32 noundef %12159) #10
  %12161 = load i32, ptr %2293, align 4, !tbaa !5
  %12162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12153, ptr noundef nonnull %.str.66.sink6070, i32 noundef %12154, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.62, i32 noundef 1135, ptr noundef %12156, ptr noundef %12158, ptr noundef %12160, i32 noundef %12161) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12163:                                            ; preds = %12136
  %12164 = load i32, ptr @test_count, align 4, !tbaa !5
  %12165 = add nsw i32 %12164, 1
  store i32 %12165, ptr @test_count, align 4, !tbaa !5
  %12166 = load ptr, ptr %41, align 8, !tbaa !9
  %12167 = load ptr, ptr %40, align 8, !tbaa !9
  %12168 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12166, ptr noundef %12167) #10
  %12169 = icmp eq i32 %12168, -1
  br i1 %12169, label %12170, label %12192

12170:                                            ; preds = %12163
  %12171 = load i32, ptr %2293, align 4, !tbaa !5
  %12172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12173 = call i32 @s2n_print_stacktrace(ptr noundef %12172) #10
  %12174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12175 = trunc nuw i8 %12174 to i1
  br i1 %12175, label %12176, label %12180

12176:                                            ; preds = %12170
  %12177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12178 = call i32 @fileno(ptr noundef %12177) #10
  %12179 = call i32 @isatty(i32 noundef %12178) #10
  %.not1672 = icmp eq i32 %12179, 0
  br i1 %.not1672, label %12180, label %12181

12180:                                            ; preds = %12176, %12170
  br label %12181

12181:                                            ; preds = %12176, %12180
  %.str.66.sink6079 = phi ptr [ @.str.66, %12180 ], [ @.str.63, %12176 ]
  store i32 %12171, ptr %2293, align 4, !tbaa !5
  %12182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12183 = load i32, ptr @test_count, align 4, !tbaa !5
  %12184 = load i32, ptr %2239, align 4, !tbaa !5
  %12185 = call ptr @s2n_strerror(i32 noundef %12184, ptr noundef nonnull @.str.65) #10
  %12186 = load i32, ptr %2239, align 4, !tbaa !5
  %12187 = call ptr @s2n_strerror_debug(i32 noundef %12186, ptr noundef nonnull @.str.65) #10
  %12188 = load i32, ptr %2293, align 4, !tbaa !5
  %12189 = call ptr @strerror(i32 noundef %12188) #10
  %12190 = load i32, ptr %2293, align 4, !tbaa !5
  %12191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12182, ptr noundef nonnull %.str.66.sink6079, i32 noundef %12183, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 1138, ptr noundef %12185, ptr noundef %12187, ptr noundef %12189, i32 noundef %12190) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12192:                                            ; preds = %12163
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %44) #10
  store i16 0, ptr %44, align 2, !tbaa !71
  %12193 = load i32, ptr @test_count, align 4, !tbaa !5
  %12194 = add nsw i32 %12193, 1
  store i32 %12194, ptr @test_count, align 4, !tbaa !5
  %12195 = load ptr, ptr %41, align 8, !tbaa !9
  %12196 = call i32 @s2n_connection_get_tickets_sent(ptr noundef %12195, ptr noundef nonnull %44)
  %12197 = icmp eq i32 %12196, -1
  br i1 %12197, label %12198, label %12220

12198:                                            ; preds = %12192
  %12199 = load i32, ptr %2293, align 4, !tbaa !5
  %12200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12201 = call i32 @s2n_print_stacktrace(ptr noundef %12200) #10
  %12202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12203 = trunc nuw i8 %12202 to i1
  br i1 %12203, label %12204, label %12208

12204:                                            ; preds = %12198
  %12205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12206 = call i32 @fileno(ptr noundef %12205) #10
  %12207 = call i32 @isatty(i32 noundef %12206) #10
  %.not1671 = icmp eq i32 %12207, 0
  br i1 %.not1671, label %12208, label %12209

12208:                                            ; preds = %12204, %12198
  br label %12209

12209:                                            ; preds = %12204, %12208
  %.str.66.sink6088 = phi ptr [ @.str.66, %12208 ], [ @.str.63, %12204 ]
  store i32 %12199, ptr %2293, align 4, !tbaa !5
  %12210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12211 = load i32, ptr @test_count, align 4, !tbaa !5
  %12212 = load i32, ptr %2239, align 4, !tbaa !5
  %12213 = call ptr @s2n_strerror(i32 noundef %12212, ptr noundef nonnull @.str.65) #10
  %12214 = load i32, ptr %2239, align 4, !tbaa !5
  %12215 = call ptr @s2n_strerror_debug(i32 noundef %12214, ptr noundef nonnull @.str.65) #10
  %12216 = load i32, ptr %2293, align 4, !tbaa !5
  %12217 = call ptr @strerror(i32 noundef %12216) #10
  %12218 = load i32, ptr %2293, align 4, !tbaa !5
  %12219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12210, ptr noundef nonnull %.str.66.sink6088, i32 noundef %12211, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.62, i32 noundef 1142, ptr noundef %12213, ptr noundef %12215, ptr noundef %12217, i32 noundef %12218) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12220:                                            ; preds = %12192
  %12221 = load i32, ptr @test_count, align 4, !tbaa !5
  %12222 = add nsw i32 %12221, 1
  store i32 %12222, ptr @test_count, align 4, !tbaa !5
  %12223 = load i16, ptr %44, align 2, !tbaa !71
  %12224 = icmp eq i16 %12223, 0
  br i1 %12224, label %12247, label %12225

12225:                                            ; preds = %12220
  %12226 = load i32, ptr %2293, align 4, !tbaa !5
  %12227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12228 = call i32 @s2n_print_stacktrace(ptr noundef %12227) #10
  %12229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12230 = trunc nuw i8 %12229 to i1
  br i1 %12230, label %12231, label %12235

12231:                                            ; preds = %12225
  %12232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12233 = call i32 @fileno(ptr noundef %12232) #10
  %12234 = call i32 @isatty(i32 noundef %12233) #10
  %.not1631 = icmp eq i32 %12234, 0
  br i1 %.not1631, label %12235, label %12236

12235:                                            ; preds = %12231, %12225
  br label %12236

12236:                                            ; preds = %12231, %12235
  %.str.66.sink6097 = phi ptr [ @.str.66, %12235 ], [ @.str.63, %12231 ]
  store i32 %12226, ptr %2293, align 4, !tbaa !5
  %12237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12238 = load i32, ptr @test_count, align 4, !tbaa !5
  %12239 = load i32, ptr %2239, align 4, !tbaa !5
  %12240 = call ptr @s2n_strerror(i32 noundef %12239, ptr noundef nonnull @.str.65) #10
  %12241 = load i32, ptr %2239, align 4, !tbaa !5
  %12242 = call ptr @s2n_strerror_debug(i32 noundef %12241, ptr noundef nonnull @.str.65) #10
  %12243 = load i32, ptr %2293, align 4, !tbaa !5
  %12244 = call ptr @strerror(i32 noundef %12243) #10
  %12245 = load i32, ptr %2293, align 4, !tbaa !5
  %12246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12237, ptr noundef nonnull %.str.66.sink6097, i32 noundef %12238, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.62, i32 noundef 1143, ptr noundef %12240, ptr noundef %12242, ptr noundef %12244, i32 noundef %12245) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12247:                                            ; preds = %12220
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %44) #10
  %12248 = call i32 @s2n_stuffer_free(ptr noundef nonnull %43) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %43) #10
  %12249 = call i32 @s2n_stuffer_free(ptr noundef nonnull %42) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %42) #10
  %12250 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #10
  %12251 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %40) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #10
  %12252 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %12252, ptr %45, align 8, !tbaa !9
  %12253 = load i32, ptr @test_count, align 4, !tbaa !5
  %12254 = add nsw i32 %12253, 1
  store i32 %12254, ptr @test_count, align 4, !tbaa !5
  %12255 = icmp eq ptr %12252, null
  br i1 %12255, label %12256, label %12278

12256:                                            ; preds = %12247
  %12257 = load i32, ptr %2293, align 4, !tbaa !5
  %12258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12259 = call i32 @s2n_print_stacktrace(ptr noundef %12258) #10
  %12260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12261 = trunc nuw i8 %12260 to i1
  br i1 %12261, label %12262, label %12266

12262:                                            ; preds = %12256
  %12263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12264 = call i32 @fileno(ptr noundef %12263) #10
  %12265 = call i32 @isatty(i32 noundef %12264) #10
  %.not1670 = icmp eq i32 %12265, 0
  br i1 %.not1670, label %12266, label %12267

12266:                                            ; preds = %12262, %12256
  br label %12267

12267:                                            ; preds = %12262, %12266
  %.str.66.sink6106 = phi ptr [ @.str.66, %12266 ], [ @.str.63, %12262 ]
  store i32 %12257, ptr %2293, align 4, !tbaa !5
  %12268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12269 = load i32, ptr @test_count, align 4, !tbaa !5
  %12270 = load i32, ptr %2239, align 4, !tbaa !5
  %12271 = call ptr @s2n_strerror(i32 noundef %12270, ptr noundef nonnull @.str.65) #10
  %12272 = load i32, ptr %2239, align 4, !tbaa !5
  %12273 = call ptr @s2n_strerror_debug(i32 noundef %12272, ptr noundef nonnull @.str.65) #10
  %12274 = load i32, ptr %2293, align 4, !tbaa !5
  %12275 = call ptr @strerror(i32 noundef %12274) #10
  %12276 = load i32, ptr %2293, align 4, !tbaa !5
  %12277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12268, ptr noundef nonnull %.str.66.sink6106, i32 noundef %12269, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 1149, ptr noundef %12271, ptr noundef %12273, ptr noundef %12275, i32 noundef %12276) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12278:                                            ; preds = %12247
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #10
  %12279 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %12279, ptr %46, align 8, !tbaa !9
  %12280 = load i32, ptr @test_count, align 4, !tbaa !5
  %12281 = add nsw i32 %12280, 1
  store i32 %12281, ptr @test_count, align 4, !tbaa !5
  %12282 = icmp eq ptr %12279, null
  br i1 %12282, label %12283, label %12305

12283:                                            ; preds = %12278
  %12284 = load i32, ptr %2293, align 4, !tbaa !5
  %12285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12286 = call i32 @s2n_print_stacktrace(ptr noundef %12285) #10
  %12287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12288 = trunc nuw i8 %12287 to i1
  br i1 %12288, label %12289, label %12293

12289:                                            ; preds = %12283
  %12290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12291 = call i32 @fileno(ptr noundef %12290) #10
  %12292 = call i32 @isatty(i32 noundef %12291) #10
  %.not1669 = icmp eq i32 %12292, 0
  br i1 %.not1669, label %12293, label %12294

12293:                                            ; preds = %12289, %12283
  br label %12294

12294:                                            ; preds = %12289, %12293
  %.str.66.sink6115 = phi ptr [ @.str.66, %12293 ], [ @.str.63, %12289 ]
  store i32 %12284, ptr %2293, align 4, !tbaa !5
  %12295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12296 = load i32, ptr @test_count, align 4, !tbaa !5
  %12297 = load i32, ptr %2239, align 4, !tbaa !5
  %12298 = call ptr @s2n_strerror(i32 noundef %12297, ptr noundef nonnull @.str.65) #10
  %12299 = load i32, ptr %2239, align 4, !tbaa !5
  %12300 = call ptr @s2n_strerror_debug(i32 noundef %12299, ptr noundef nonnull @.str.65) #10
  %12301 = load i32, ptr %2293, align 4, !tbaa !5
  %12302 = call ptr @strerror(i32 noundef %12301) #10
  %12303 = load i32, ptr %2293, align 4, !tbaa !5
  %12304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12295, ptr noundef nonnull %.str.66.sink6115, i32 noundef %12296, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 1152, ptr noundef %12298, ptr noundef %12300, ptr noundef %12302, i32 noundef %12303) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12305:                                            ; preds = %12278
  %12306 = add nsw i32 %12280, 2
  store i32 %12306, ptr @test_count, align 4, !tbaa !5
  %12307 = load ptr, ptr %45, align 8, !tbaa !9
  %12308 = call i32 @s2n_connection_set_config(ptr noundef %12307, ptr noundef nonnull %631) #10
  %12309 = icmp eq i32 %12308, -1
  br i1 %12309, label %12310, label %12332

12310:                                            ; preds = %12305
  %12311 = load i32, ptr %2293, align 4, !tbaa !5
  %12312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12313 = call i32 @s2n_print_stacktrace(ptr noundef %12312) #10
  %12314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12315 = trunc nuw i8 %12314 to i1
  br i1 %12315, label %12316, label %12320

12316:                                            ; preds = %12310
  %12317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12318 = call i32 @fileno(ptr noundef %12317) #10
  %12319 = call i32 @isatty(i32 noundef %12318) #10
  %.not1668 = icmp eq i32 %12319, 0
  br i1 %.not1668, label %12320, label %12321

12320:                                            ; preds = %12316, %12310
  br label %12321

12321:                                            ; preds = %12316, %12320
  %.str.66.sink6124 = phi ptr [ @.str.66, %12320 ], [ @.str.63, %12316 ]
  store i32 %12311, ptr %2293, align 4, !tbaa !5
  %12322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12323 = load i32, ptr @test_count, align 4, !tbaa !5
  %12324 = load i32, ptr %2239, align 4, !tbaa !5
  %12325 = call ptr @s2n_strerror(i32 noundef %12324, ptr noundef nonnull @.str.65) #10
  %12326 = load i32, ptr %2239, align 4, !tbaa !5
  %12327 = call ptr @s2n_strerror_debug(i32 noundef %12326, ptr noundef nonnull @.str.65) #10
  %12328 = load i32, ptr %2293, align 4, !tbaa !5
  %12329 = call ptr @strerror(i32 noundef %12328) #10
  %12330 = load i32, ptr %2293, align 4, !tbaa !5
  %12331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12322, ptr noundef nonnull %.str.66.sink6124, i32 noundef %12323, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 1154, ptr noundef %12325, ptr noundef %12327, ptr noundef %12329, i32 noundef %12330) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12332:                                            ; preds = %12305
  %12333 = load i32, ptr @test_count, align 4, !tbaa !5
  %12334 = add nsw i32 %12333, 1
  store i32 %12334, ptr @test_count, align 4, !tbaa !5
  %12335 = load ptr, ptr %46, align 8, !tbaa !9
  %12336 = call i32 @s2n_connection_set_config(ptr noundef %12335, ptr noundef %225) #10
  %12337 = icmp eq i32 %12336, -1
  br i1 %12337, label %12338, label %12360

12338:                                            ; preds = %12332
  %12339 = load i32, ptr %2293, align 4, !tbaa !5
  %12340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12341 = call i32 @s2n_print_stacktrace(ptr noundef %12340) #10
  %12342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12343 = trunc nuw i8 %12342 to i1
  br i1 %12343, label %12344, label %12348

12344:                                            ; preds = %12338
  %12345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12346 = call i32 @fileno(ptr noundef %12345) #10
  %12347 = call i32 @isatty(i32 noundef %12346) #10
  %.not1667 = icmp eq i32 %12347, 0
  br i1 %.not1667, label %12348, label %12349

12348:                                            ; preds = %12344, %12338
  br label %12349

12349:                                            ; preds = %12344, %12348
  %.str.66.sink6133 = phi ptr [ @.str.66, %12348 ], [ @.str.63, %12344 ]
  store i32 %12339, ptr %2293, align 4, !tbaa !5
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = load i32, ptr @test_count, align 4, !tbaa !5
  %12352 = load i32, ptr %2239, align 4, !tbaa !5
  %12353 = call ptr @s2n_strerror(i32 noundef %12352, ptr noundef nonnull @.str.65) #10
  %12354 = load i32, ptr %2239, align 4, !tbaa !5
  %12355 = call ptr @s2n_strerror_debug(i32 noundef %12354, ptr noundef nonnull @.str.65) #10
  %12356 = load i32, ptr %2293, align 4, !tbaa !5
  %12357 = call ptr @strerror(i32 noundef %12356) #10
  %12358 = load i32, ptr %2293, align 4, !tbaa !5
  %12359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12350, ptr noundef nonnull %.str.66.sink6133, i32 noundef %12351, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 1155, ptr noundef %12353, ptr noundef %12355, ptr noundef %12357, i32 noundef %12358) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12360:                                            ; preds = %12332
  %12361 = load i32, ptr @test_count, align 4, !tbaa !5
  %12362 = add nsw i32 %12361, 1
  store i32 %12362, ptr @test_count, align 4, !tbaa !5
  %12363 = load ptr, ptr %45, align 8, !tbaa !9
  %12364 = call i32 @s2n_connection_enable_quic(ptr noundef %12363) #10
  %12365 = icmp eq i32 %12364, -1
  br i1 %12365, label %12366, label %12388

12366:                                            ; preds = %12360
  %12367 = load i32, ptr %2293, align 4, !tbaa !5
  %12368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12369 = call i32 @s2n_print_stacktrace(ptr noundef %12368) #10
  %12370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12371 = trunc nuw i8 %12370 to i1
  br i1 %12371, label %12372, label %12376

12372:                                            ; preds = %12366
  %12373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12374 = call i32 @fileno(ptr noundef %12373) #10
  %12375 = call i32 @isatty(i32 noundef %12374) #10
  %.not1666 = icmp eq i32 %12375, 0
  br i1 %.not1666, label %12376, label %12377

12376:                                            ; preds = %12372, %12366
  br label %12377

12377:                                            ; preds = %12372, %12376
  %.str.66.sink6142 = phi ptr [ @.str.66, %12376 ], [ @.str.63, %12372 ]
  store i32 %12367, ptr %2293, align 4, !tbaa !5
  %12378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12379 = load i32, ptr @test_count, align 4, !tbaa !5
  %12380 = load i32, ptr %2239, align 4, !tbaa !5
  %12381 = call ptr @s2n_strerror(i32 noundef %12380, ptr noundef nonnull @.str.65) #10
  %12382 = load i32, ptr %2239, align 4, !tbaa !5
  %12383 = call ptr @s2n_strerror_debug(i32 noundef %12382, ptr noundef nonnull @.str.65) #10
  %12384 = load i32, ptr %2293, align 4, !tbaa !5
  %12385 = call ptr @strerror(i32 noundef %12384) #10
  %12386 = load i32, ptr %2293, align 4, !tbaa !5
  %12387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12378, ptr noundef nonnull %.str.66.sink6142, i32 noundef %12379, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.62, i32 noundef 1158, ptr noundef %12381, ptr noundef %12383, ptr noundef %12385, i32 noundef %12386) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12388:                                            ; preds = %12360
  %12389 = load i32, ptr @test_count, align 4, !tbaa !5
  %12390 = add nsw i32 %12389, 1
  store i32 %12390, ptr @test_count, align 4, !tbaa !5
  %12391 = load ptr, ptr %46, align 8, !tbaa !9
  %12392 = call i32 @s2n_connection_enable_quic(ptr noundef %12391) #10
  %12393 = icmp eq i32 %12392, -1
  br i1 %12393, label %12394, label %12416

12394:                                            ; preds = %12388
  %12395 = load i32, ptr %2293, align 4, !tbaa !5
  %12396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12397 = call i32 @s2n_print_stacktrace(ptr noundef %12396) #10
  %12398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12399 = trunc nuw i8 %12398 to i1
  br i1 %12399, label %12400, label %12404

12400:                                            ; preds = %12394
  %12401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12402 = call i32 @fileno(ptr noundef %12401) #10
  %12403 = call i32 @isatty(i32 noundef %12402) #10
  %.not1665 = icmp eq i32 %12403, 0
  br i1 %.not1665, label %12404, label %12405

12404:                                            ; preds = %12400, %12394
  br label %12405

12405:                                            ; preds = %12400, %12404
  %.str.66.sink6151 = phi ptr [ @.str.66, %12404 ], [ @.str.63, %12400 ]
  store i32 %12395, ptr %2293, align 4, !tbaa !5
  %12406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12407 = load i32, ptr @test_count, align 4, !tbaa !5
  %12408 = load i32, ptr %2239, align 4, !tbaa !5
  %12409 = call ptr @s2n_strerror(i32 noundef %12408, ptr noundef nonnull @.str.65) #10
  %12410 = load i32, ptr %2239, align 4, !tbaa !5
  %12411 = call ptr @s2n_strerror_debug(i32 noundef %12410, ptr noundef nonnull @.str.65) #10
  %12412 = load i32, ptr %2293, align 4, !tbaa !5
  %12413 = call ptr @strerror(i32 noundef %12412) #10
  %12414 = load i32, ptr %2293, align 4, !tbaa !5
  %12415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12406, ptr noundef nonnull %.str.66.sink6151, i32 noundef %12407, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.62, i32 noundef 1159, ptr noundef %12409, ptr noundef %12411, ptr noundef %12413, i32 noundef %12414) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12416:                                            ; preds = %12388
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %47) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %47, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %48) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %48, i8 0, i64 40, i1 false)
  %12417 = load i32, ptr @test_count, align 4, !tbaa !5
  %12418 = add nsw i32 %12417, 1
  store i32 %12418, ptr @test_count, align 4, !tbaa !5
  %12419 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %47, i32 noundef 0) #10
  %12420 = icmp eq i32 %12419, -1
  br i1 %12420, label %12421, label %12443

12421:                                            ; preds = %12416
  %12422 = load i32, ptr %2293, align 4, !tbaa !5
  %12423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12424 = call i32 @s2n_print_stacktrace(ptr noundef %12423) #10
  %12425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12426 = trunc nuw i8 %12425 to i1
  br i1 %12426, label %12427, label %12431

12427:                                            ; preds = %12421
  %12428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12429 = call i32 @fileno(ptr noundef %12428) #10
  %12430 = call i32 @isatty(i32 noundef %12429) #10
  %.not1664 = icmp eq i32 %12430, 0
  br i1 %.not1664, label %12431, label %12432

12431:                                            ; preds = %12427, %12421
  br label %12432

12432:                                            ; preds = %12427, %12431
  %.str.66.sink6160 = phi ptr [ @.str.66, %12431 ], [ @.str.63, %12427 ]
  store i32 %12422, ptr %2293, align 4, !tbaa !5
  %12433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12434 = load i32, ptr @test_count, align 4, !tbaa !5
  %12435 = load i32, ptr %2239, align 4, !tbaa !5
  %12436 = call ptr @s2n_strerror(i32 noundef %12435, ptr noundef nonnull @.str.65) #10
  %12437 = load i32, ptr %2239, align 4, !tbaa !5
  %12438 = call ptr @s2n_strerror_debug(i32 noundef %12437, ptr noundef nonnull @.str.65) #10
  %12439 = load i32, ptr %2293, align 4, !tbaa !5
  %12440 = call ptr @strerror(i32 noundef %12439) #10
  %12441 = load i32, ptr %2293, align 4, !tbaa !5
  %12442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12433, ptr noundef nonnull %.str.66.sink6160, i32 noundef %12434, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.62, i32 noundef 1164, ptr noundef %12436, ptr noundef %12438, ptr noundef %12440, i32 noundef %12441) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12443:                                            ; preds = %12416
  %12444 = load i32, ptr @test_count, align 4, !tbaa !5
  %12445 = add nsw i32 %12444, 1
  store i32 %12445, ptr @test_count, align 4, !tbaa !5
  %12446 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %48, i32 noundef 0) #10
  %12447 = icmp eq i32 %12446, -1
  br i1 %12447, label %12448, label %12470

12448:                                            ; preds = %12443
  %12449 = load i32, ptr %2293, align 4, !tbaa !5
  %12450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12451 = call i32 @s2n_print_stacktrace(ptr noundef %12450) #10
  %12452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12453 = trunc nuw i8 %12452 to i1
  br i1 %12453, label %12454, label %12458

12454:                                            ; preds = %12448
  %12455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12456 = call i32 @fileno(ptr noundef %12455) #10
  %12457 = call i32 @isatty(i32 noundef %12456) #10
  %.not1663 = icmp eq i32 %12457, 0
  br i1 %.not1663, label %12458, label %12459

12458:                                            ; preds = %12454, %12448
  br label %12459

12459:                                            ; preds = %12454, %12458
  %.str.66.sink6169 = phi ptr [ @.str.66, %12458 ], [ @.str.63, %12454 ]
  store i32 %12449, ptr %2293, align 4, !tbaa !5
  %12460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12461 = load i32, ptr @test_count, align 4, !tbaa !5
  %12462 = load i32, ptr %2239, align 4, !tbaa !5
  %12463 = call ptr @s2n_strerror(i32 noundef %12462, ptr noundef nonnull @.str.65) #10
  %12464 = load i32, ptr %2239, align 4, !tbaa !5
  %12465 = call ptr @s2n_strerror_debug(i32 noundef %12464, ptr noundef nonnull @.str.65) #10
  %12466 = load i32, ptr %2293, align 4, !tbaa !5
  %12467 = call ptr @strerror(i32 noundef %12466) #10
  %12468 = load i32, ptr %2293, align 4, !tbaa !5
  %12469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12460, ptr noundef nonnull %.str.66.sink6169, i32 noundef %12461, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.62, i32 noundef 1165, ptr noundef %12463, ptr noundef %12465, ptr noundef %12467, i32 noundef %12468) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12470:                                            ; preds = %12443
  %12471 = load i32, ptr @test_count, align 4, !tbaa !5
  %12472 = add nsw i32 %12471, 1
  store i32 %12472, ptr @test_count, align 4, !tbaa !5
  %12473 = load ptr, ptr %46, align 8, !tbaa !9
  %12474 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %47, ptr noundef nonnull %48, ptr noundef %12473) #10
  %12475 = icmp eq i32 %12474, -1
  br i1 %12475, label %12476, label %12498

12476:                                            ; preds = %12470
  %12477 = load i32, ptr %2293, align 4, !tbaa !5
  %12478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12479 = call i32 @s2n_print_stacktrace(ptr noundef %12478) #10
  %12480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12481 = trunc nuw i8 %12480 to i1
  br i1 %12481, label %12482, label %12486

12482:                                            ; preds = %12476
  %12483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12484 = call i32 @fileno(ptr noundef %12483) #10
  %12485 = call i32 @isatty(i32 noundef %12484) #10
  %.not1662 = icmp eq i32 %12485, 0
  br i1 %.not1662, label %12486, label %12487

12486:                                            ; preds = %12482, %12476
  br label %12487

12487:                                            ; preds = %12482, %12486
  %.str.66.sink6178 = phi ptr [ @.str.66, %12486 ], [ @.str.63, %12482 ]
  store i32 %12477, ptr %2293, align 4, !tbaa !5
  %12488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12489 = load i32, ptr @test_count, align 4, !tbaa !5
  %12490 = load i32, ptr %2239, align 4, !tbaa !5
  %12491 = call ptr @s2n_strerror(i32 noundef %12490, ptr noundef nonnull @.str.65) #10
  %12492 = load i32, ptr %2239, align 4, !tbaa !5
  %12493 = call ptr @s2n_strerror_debug(i32 noundef %12492, ptr noundef nonnull @.str.65) #10
  %12494 = load i32, ptr %2293, align 4, !tbaa !5
  %12495 = call ptr @strerror(i32 noundef %12494) #10
  %12496 = load i32, ptr %2293, align 4, !tbaa !5
  %12497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12488, ptr noundef nonnull %.str.66.sink6178, i32 noundef %12489, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.62, i32 noundef 1166, ptr noundef %12491, ptr noundef %12493, ptr noundef %12495, i32 noundef %12496) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12498:                                            ; preds = %12470
  %12499 = load i32, ptr @test_count, align 4, !tbaa !5
  %12500 = add nsw i32 %12499, 1
  store i32 %12500, ptr @test_count, align 4, !tbaa !5
  %12501 = load ptr, ptr %45, align 8, !tbaa !9
  %12502 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %48, ptr noundef nonnull %47, ptr noundef %12501) #10
  %12503 = icmp eq i32 %12502, -1
  br i1 %12503, label %12504, label %12526

12504:                                            ; preds = %12498
  %12505 = load i32, ptr %2293, align 4, !tbaa !5
  %12506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12507 = call i32 @s2n_print_stacktrace(ptr noundef %12506) #10
  %12508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12509 = trunc nuw i8 %12508 to i1
  br i1 %12509, label %12510, label %12514

12510:                                            ; preds = %12504
  %12511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12512 = call i32 @fileno(ptr noundef %12511) #10
  %12513 = call i32 @isatty(i32 noundef %12512) #10
  %.not1661 = icmp eq i32 %12513, 0
  br i1 %.not1661, label %12514, label %12515

12514:                                            ; preds = %12510, %12504
  br label %12515

12515:                                            ; preds = %12510, %12514
  %.str.66.sink6187 = phi ptr [ @.str.66, %12514 ], [ @.str.63, %12510 ]
  store i32 %12505, ptr %2293, align 4, !tbaa !5
  %12516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12517 = load i32, ptr @test_count, align 4, !tbaa !5
  %12518 = load i32, ptr %2239, align 4, !tbaa !5
  %12519 = call ptr @s2n_strerror(i32 noundef %12518, ptr noundef nonnull @.str.65) #10
  %12520 = load i32, ptr %2239, align 4, !tbaa !5
  %12521 = call ptr @s2n_strerror_debug(i32 noundef %12520, ptr noundef nonnull @.str.65) #10
  %12522 = load i32, ptr %2293, align 4, !tbaa !5
  %12523 = call ptr @strerror(i32 noundef %12522) #10
  %12524 = load i32, ptr %2293, align 4, !tbaa !5
  %12525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12516, ptr noundef nonnull %.str.66.sink6187, i32 noundef %12517, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.62, i32 noundef 1167, ptr noundef %12519, ptr noundef %12521, ptr noundef %12523, i32 noundef %12524) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12526:                                            ; preds = %12498
  %12527 = load i32, ptr @test_count, align 4, !tbaa !5
  %12528 = add nsw i32 %12527, 1
  store i32 %12528, ptr @test_count, align 4, !tbaa !5
  %12529 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %225, ptr noundef nonnull @s2n_alter_psk_ke_ext, ptr noundef null) #10
  %12530 = icmp eq i32 %12529, -1
  br i1 %12530, label %12531, label %12553

12531:                                            ; preds = %12526
  %12532 = load i32, ptr %2293, align 4, !tbaa !5
  %12533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12534 = call i32 @s2n_print_stacktrace(ptr noundef %12533) #10
  %12535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12536 = trunc nuw i8 %12535 to i1
  br i1 %12536, label %12537, label %12541

12537:                                            ; preds = %12531
  %12538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12539 = call i32 @fileno(ptr noundef %12538) #10
  %12540 = call i32 @isatty(i32 noundef %12539) #10
  %.not1660 = icmp eq i32 %12540, 0
  br i1 %.not1660, label %12541, label %12542

12541:                                            ; preds = %12537, %12531
  br label %12542

12542:                                            ; preds = %12537, %12541
  %.str.66.sink6196 = phi ptr [ @.str.66, %12541 ], [ @.str.63, %12537 ]
  store i32 %12532, ptr %2293, align 4, !tbaa !5
  %12543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12544 = load i32, ptr @test_count, align 4, !tbaa !5
  %12545 = load i32, ptr %2239, align 4, !tbaa !5
  %12546 = call ptr @s2n_strerror(i32 noundef %12545, ptr noundef nonnull @.str.65) #10
  %12547 = load i32, ptr %2239, align 4, !tbaa !5
  %12548 = call ptr @s2n_strerror_debug(i32 noundef %12547, ptr noundef nonnull @.str.65) #10
  %12549 = load i32, ptr %2293, align 4, !tbaa !5
  %12550 = call ptr @strerror(i32 noundef %12549) #10
  %12551 = load i32, ptr %2293, align 4, !tbaa !5
  %12552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12543, ptr noundef nonnull %.str.66.sink6196, i32 noundef %12544, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.62, i32 noundef 1170, ptr noundef %12546, ptr noundef %12548, ptr noundef %12550, i32 noundef %12551) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12553:                                            ; preds = %12526
  %12554 = load i32, ptr @test_count, align 4, !tbaa !5
  %12555 = add nsw i32 %12554, 1
  store i32 %12555, ptr @test_count, align 4, !tbaa !5
  %12556 = load ptr, ptr %46, align 8, !tbaa !9
  %12557 = load ptr, ptr %45, align 8, !tbaa !9
  %12558 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12556, ptr noundef %12557) #10
  %12559 = icmp eq i32 %12558, -1
  br i1 %12559, label %12560, label %12582

12560:                                            ; preds = %12553
  %12561 = load i32, ptr %2293, align 4, !tbaa !5
  %12562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12563 = call i32 @s2n_print_stacktrace(ptr noundef %12562) #10
  %12564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12565 = trunc nuw i8 %12564 to i1
  br i1 %12565, label %12566, label %12570

12566:                                            ; preds = %12560
  %12567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12568 = call i32 @fileno(ptr noundef %12567) #10
  %12569 = call i32 @isatty(i32 noundef %12568) #10
  %.not1659 = icmp eq i32 %12569, 0
  br i1 %.not1659, label %12570, label %12571

12570:                                            ; preds = %12566, %12560
  br label %12571

12571:                                            ; preds = %12566, %12570
  %.str.66.sink6205 = phi ptr [ @.str.66, %12570 ], [ @.str.63, %12566 ]
  store i32 %12561, ptr %2293, align 4, !tbaa !5
  %12572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12573 = load i32, ptr @test_count, align 4, !tbaa !5
  %12574 = load i32, ptr %2239, align 4, !tbaa !5
  %12575 = call ptr @s2n_strerror(i32 noundef %12574, ptr noundef nonnull @.str.65) #10
  %12576 = load i32, ptr %2239, align 4, !tbaa !5
  %12577 = call ptr @s2n_strerror_debug(i32 noundef %12576, ptr noundef nonnull @.str.65) #10
  %12578 = load i32, ptr %2293, align 4, !tbaa !5
  %12579 = call ptr @strerror(i32 noundef %12578) #10
  %12580 = load i32, ptr %2293, align 4, !tbaa !5
  %12581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12572, ptr noundef nonnull %.str.66.sink6205, i32 noundef %12573, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 1173, ptr noundef %12575, ptr noundef %12577, ptr noundef %12579, i32 noundef %12580) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12582:                                            ; preds = %12553
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %49) #10
  store i16 0, ptr %49, align 2, !tbaa !71
  %12583 = load i32, ptr @test_count, align 4, !tbaa !5
  %12584 = add nsw i32 %12583, 1
  store i32 %12584, ptr @test_count, align 4, !tbaa !5
  %12585 = load ptr, ptr %46, align 8, !tbaa !9
  %12586 = call i32 @s2n_connection_get_tickets_sent(ptr noundef %12585, ptr noundef nonnull %49)
  %12587 = icmp eq i32 %12586, -1
  br i1 %12587, label %12588, label %12610

12588:                                            ; preds = %12582
  %12589 = load i32, ptr %2293, align 4, !tbaa !5
  %12590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12591 = call i32 @s2n_print_stacktrace(ptr noundef %12590) #10
  %12592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12593 = trunc nuw i8 %12592 to i1
  br i1 %12593, label %12594, label %12598

12594:                                            ; preds = %12588
  %12595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12596 = call i32 @fileno(ptr noundef %12595) #10
  %12597 = call i32 @isatty(i32 noundef %12596) #10
  %.not1658 = icmp eq i32 %12597, 0
  br i1 %.not1658, label %12598, label %12599

12598:                                            ; preds = %12594, %12588
  br label %12599

12599:                                            ; preds = %12594, %12598
  %.str.66.sink6214 = phi ptr [ @.str.66, %12598 ], [ @.str.63, %12594 ]
  store i32 %12589, ptr %2293, align 4, !tbaa !5
  %12600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12601 = load i32, ptr @test_count, align 4, !tbaa !5
  %12602 = load i32, ptr %2239, align 4, !tbaa !5
  %12603 = call ptr @s2n_strerror(i32 noundef %12602, ptr noundef nonnull @.str.65) #10
  %12604 = load i32, ptr %2239, align 4, !tbaa !5
  %12605 = call ptr @s2n_strerror_debug(i32 noundef %12604, ptr noundef nonnull @.str.65) #10
  %12606 = load i32, ptr %2293, align 4, !tbaa !5
  %12607 = call ptr @strerror(i32 noundef %12606) #10
  %12608 = load i32, ptr %2293, align 4, !tbaa !5
  %12609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12600, ptr noundef nonnull %.str.66.sink6214, i32 noundef %12601, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.62, i32 noundef 1177, ptr noundef %12603, ptr noundef %12605, ptr noundef %12607, i32 noundef %12608) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12610:                                            ; preds = %12582
  %12611 = load i32, ptr @test_count, align 4, !tbaa !5
  %12612 = add nsw i32 %12611, 1
  store i32 %12612, ptr @test_count, align 4, !tbaa !5
  %12613 = load i16, ptr %49, align 2, !tbaa !71
  %12614 = icmp eq i16 %12613, 0
  br i1 %12614, label %12637, label %12615

12615:                                            ; preds = %12610
  %12616 = load i32, ptr %2293, align 4, !tbaa !5
  %12617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12618 = call i32 @s2n_print_stacktrace(ptr noundef %12617) #10
  %12619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12620 = trunc nuw i8 %12619 to i1
  br i1 %12620, label %12621, label %12625

12621:                                            ; preds = %12615
  %12622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12623 = call i32 @fileno(ptr noundef %12622) #10
  %12624 = call i32 @isatty(i32 noundef %12623) #10
  %.not1632 = icmp eq i32 %12624, 0
  br i1 %.not1632, label %12625, label %12626

12625:                                            ; preds = %12621, %12615
  br label %12626

12626:                                            ; preds = %12621, %12625
  %.str.66.sink6223 = phi ptr [ @.str.66, %12625 ], [ @.str.63, %12621 ]
  store i32 %12616, ptr %2293, align 4, !tbaa !5
  %12627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12628 = load i32, ptr @test_count, align 4, !tbaa !5
  %12629 = load i32, ptr %2239, align 4, !tbaa !5
  %12630 = call ptr @s2n_strerror(i32 noundef %12629, ptr noundef nonnull @.str.65) #10
  %12631 = load i32, ptr %2239, align 4, !tbaa !5
  %12632 = call ptr @s2n_strerror_debug(i32 noundef %12631, ptr noundef nonnull @.str.65) #10
  %12633 = load i32, ptr %2293, align 4, !tbaa !5
  %12634 = call ptr @strerror(i32 noundef %12633) #10
  %12635 = load i32, ptr %2293, align 4, !tbaa !5
  %12636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12627, ptr noundef nonnull %.str.66.sink6223, i32 noundef %12628, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.62, i32 noundef 1178, ptr noundef %12630, ptr noundef %12632, ptr noundef %12634, i32 noundef %12635) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12637:                                            ; preds = %12610
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %49) #10
  %12638 = call i32 @s2n_stuffer_free(ptr noundef nonnull %48) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %48) #10
  %12639 = call i32 @s2n_stuffer_free(ptr noundef nonnull %47) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %47) #10
  %12640 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %46) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #10
  %12641 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %45) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #10
  %12642 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %12642, ptr %50, align 8, !tbaa !9
  %12643 = load i32, ptr @test_count, align 4, !tbaa !5
  %12644 = add nsw i32 %12643, 1
  store i32 %12644, ptr @test_count, align 4, !tbaa !5
  %12645 = icmp eq ptr %12642, null
  br i1 %12645, label %12646, label %12668

12646:                                            ; preds = %12637
  %12647 = load i32, ptr %2293, align 4, !tbaa !5
  %12648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12649 = call i32 @s2n_print_stacktrace(ptr noundef %12648) #10
  %12650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12651 = trunc nuw i8 %12650 to i1
  br i1 %12651, label %12652, label %12656

12652:                                            ; preds = %12646
  %12653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12654 = call i32 @fileno(ptr noundef %12653) #10
  %12655 = call i32 @isatty(i32 noundef %12654) #10
  %.not1657 = icmp eq i32 %12655, 0
  br i1 %.not1657, label %12656, label %12657

12656:                                            ; preds = %12652, %12646
  br label %12657

12657:                                            ; preds = %12652, %12656
  %.str.66.sink6232 = phi ptr [ @.str.66, %12656 ], [ @.str.63, %12652 ]
  store i32 %12647, ptr %2293, align 4, !tbaa !5
  %12658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12659 = load i32, ptr @test_count, align 4, !tbaa !5
  %12660 = load i32, ptr %2239, align 4, !tbaa !5
  %12661 = call ptr @s2n_strerror(i32 noundef %12660, ptr noundef nonnull @.str.65) #10
  %12662 = load i32, ptr %2239, align 4, !tbaa !5
  %12663 = call ptr @s2n_strerror_debug(i32 noundef %12662, ptr noundef nonnull @.str.65) #10
  %12664 = load i32, ptr %2293, align 4, !tbaa !5
  %12665 = call ptr @strerror(i32 noundef %12664) #10
  %12666 = load i32, ptr %2293, align 4, !tbaa !5
  %12667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12658, ptr noundef nonnull %.str.66.sink6232, i32 noundef %12659, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.62, i32 noundef 1184, ptr noundef %12661, ptr noundef %12663, ptr noundef %12665, i32 noundef %12666) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12668:                                            ; preds = %12637
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #10
  %12669 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %12669, ptr %51, align 8, !tbaa !9
  %12670 = load i32, ptr @test_count, align 4, !tbaa !5
  %12671 = add nsw i32 %12670, 1
  store i32 %12671, ptr @test_count, align 4, !tbaa !5
  %12672 = icmp eq ptr %12669, null
  br i1 %12672, label %12673, label %12695

12673:                                            ; preds = %12668
  %12674 = load i32, ptr %2293, align 4, !tbaa !5
  %12675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12676 = call i32 @s2n_print_stacktrace(ptr noundef %12675) #10
  %12677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12678 = trunc nuw i8 %12677 to i1
  br i1 %12678, label %12679, label %12683

12679:                                            ; preds = %12673
  %12680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12681 = call i32 @fileno(ptr noundef %12680) #10
  %12682 = call i32 @isatty(i32 noundef %12681) #10
  %.not1656 = icmp eq i32 %12682, 0
  br i1 %.not1656, label %12683, label %12684

12683:                                            ; preds = %12679, %12673
  br label %12684

12684:                                            ; preds = %12679, %12683
  %.str.66.sink6241 = phi ptr [ @.str.66, %12683 ], [ @.str.63, %12679 ]
  store i32 %12674, ptr %2293, align 4, !tbaa !5
  %12685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12686 = load i32, ptr @test_count, align 4, !tbaa !5
  %12687 = load i32, ptr %2239, align 4, !tbaa !5
  %12688 = call ptr @s2n_strerror(i32 noundef %12687, ptr noundef nonnull @.str.65) #10
  %12689 = load i32, ptr %2239, align 4, !tbaa !5
  %12690 = call ptr @s2n_strerror_debug(i32 noundef %12689, ptr noundef nonnull @.str.65) #10
  %12691 = load i32, ptr %2293, align 4, !tbaa !5
  %12692 = call ptr @strerror(i32 noundef %12691) #10
  %12693 = load i32, ptr %2293, align 4, !tbaa !5
  %12694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12685, ptr noundef nonnull %.str.66.sink6241, i32 noundef %12686, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.62, i32 noundef 1187, ptr noundef %12688, ptr noundef %12690, ptr noundef %12692, i32 noundef %12693) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12695:                                            ; preds = %12668
  %12696 = add nsw i32 %12670, 2
  store i32 %12696, ptr @test_count, align 4, !tbaa !5
  %12697 = load ptr, ptr %50, align 8, !tbaa !9
  %12698 = call i32 @s2n_connection_set_config(ptr noundef %12697, ptr noundef nonnull %631) #10
  %12699 = icmp eq i32 %12698, -1
  br i1 %12699, label %12700, label %12722

12700:                                            ; preds = %12695
  %12701 = load i32, ptr %2293, align 4, !tbaa !5
  %12702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12703 = call i32 @s2n_print_stacktrace(ptr noundef %12702) #10
  %12704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12705 = trunc nuw i8 %12704 to i1
  br i1 %12705, label %12706, label %12710

12706:                                            ; preds = %12700
  %12707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12708 = call i32 @fileno(ptr noundef %12707) #10
  %12709 = call i32 @isatty(i32 noundef %12708) #10
  %.not1655 = icmp eq i32 %12709, 0
  br i1 %.not1655, label %12710, label %12711

12710:                                            ; preds = %12706, %12700
  br label %12711

12711:                                            ; preds = %12706, %12710
  %.str.66.sink6250 = phi ptr [ @.str.66, %12710 ], [ @.str.63, %12706 ]
  store i32 %12701, ptr %2293, align 4, !tbaa !5
  %12712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12713 = load i32, ptr @test_count, align 4, !tbaa !5
  %12714 = load i32, ptr %2239, align 4, !tbaa !5
  %12715 = call ptr @s2n_strerror(i32 noundef %12714, ptr noundef nonnull @.str.65) #10
  %12716 = load i32, ptr %2239, align 4, !tbaa !5
  %12717 = call ptr @s2n_strerror_debug(i32 noundef %12716, ptr noundef nonnull @.str.65) #10
  %12718 = load i32, ptr %2293, align 4, !tbaa !5
  %12719 = call ptr @strerror(i32 noundef %12718) #10
  %12720 = load i32, ptr %2293, align 4, !tbaa !5
  %12721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12712, ptr noundef nonnull %.str.66.sink6250, i32 noundef %12713, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.62, i32 noundef 1189, ptr noundef %12715, ptr noundef %12717, ptr noundef %12719, i32 noundef %12720) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12722:                                            ; preds = %12695
  %12723 = load i32, ptr @test_count, align 4, !tbaa !5
  %12724 = add nsw i32 %12723, 1
  store i32 %12724, ptr @test_count, align 4, !tbaa !5
  %12725 = load ptr, ptr %51, align 8, !tbaa !9
  %12726 = call i32 @s2n_connection_set_config(ptr noundef %12725, ptr noundef %225) #10
  %12727 = icmp eq i32 %12726, -1
  br i1 %12727, label %12728, label %12750

12728:                                            ; preds = %12722
  %12729 = load i32, ptr %2293, align 4, !tbaa !5
  %12730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12731 = call i32 @s2n_print_stacktrace(ptr noundef %12730) #10
  %12732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12733 = trunc nuw i8 %12732 to i1
  br i1 %12733, label %12734, label %12738

12734:                                            ; preds = %12728
  %12735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12736 = call i32 @fileno(ptr noundef %12735) #10
  %12737 = call i32 @isatty(i32 noundef %12736) #10
  %.not1654 = icmp eq i32 %12737, 0
  br i1 %.not1654, label %12738, label %12739

12738:                                            ; preds = %12734, %12728
  br label %12739

12739:                                            ; preds = %12734, %12738
  %.str.66.sink6259 = phi ptr [ @.str.66, %12738 ], [ @.str.63, %12734 ]
  store i32 %12729, ptr %2293, align 4, !tbaa !5
  %12740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12741 = load i32, ptr @test_count, align 4, !tbaa !5
  %12742 = load i32, ptr %2239, align 4, !tbaa !5
  %12743 = call ptr @s2n_strerror(i32 noundef %12742, ptr noundef nonnull @.str.65) #10
  %12744 = load i32, ptr %2239, align 4, !tbaa !5
  %12745 = call ptr @s2n_strerror_debug(i32 noundef %12744, ptr noundef nonnull @.str.65) #10
  %12746 = load i32, ptr %2293, align 4, !tbaa !5
  %12747 = call ptr @strerror(i32 noundef %12746) #10
  %12748 = load i32, ptr %2293, align 4, !tbaa !5
  %12749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12740, ptr noundef nonnull %.str.66.sink6259, i32 noundef %12741, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.62, i32 noundef 1190, ptr noundef %12743, ptr noundef %12745, ptr noundef %12747, i32 noundef %12748) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12750:                                            ; preds = %12722
  %12751 = load i32, ptr @test_count, align 4, !tbaa !5
  %12752 = add nsw i32 %12751, 1
  store i32 %12752, ptr @test_count, align 4, !tbaa !5
  %12753 = load ptr, ptr %50, align 8, !tbaa !9
  %12754 = call i32 @s2n_connection_enable_quic(ptr noundef %12753) #10
  %12755 = icmp eq i32 %12754, -1
  br i1 %12755, label %12756, label %12778

12756:                                            ; preds = %12750
  %12757 = load i32, ptr %2293, align 4, !tbaa !5
  %12758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12759 = call i32 @s2n_print_stacktrace(ptr noundef %12758) #10
  %12760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12761 = trunc nuw i8 %12760 to i1
  br i1 %12761, label %12762, label %12766

12762:                                            ; preds = %12756
  %12763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12764 = call i32 @fileno(ptr noundef %12763) #10
  %12765 = call i32 @isatty(i32 noundef %12764) #10
  %.not1653 = icmp eq i32 %12765, 0
  br i1 %.not1653, label %12766, label %12767

12766:                                            ; preds = %12762, %12756
  br label %12767

12767:                                            ; preds = %12762, %12766
  %.str.66.sink6268 = phi ptr [ @.str.66, %12766 ], [ @.str.63, %12762 ]
  store i32 %12757, ptr %2293, align 4, !tbaa !5
  %12768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12769 = load i32, ptr @test_count, align 4, !tbaa !5
  %12770 = load i32, ptr %2239, align 4, !tbaa !5
  %12771 = call ptr @s2n_strerror(i32 noundef %12770, ptr noundef nonnull @.str.65) #10
  %12772 = load i32, ptr %2239, align 4, !tbaa !5
  %12773 = call ptr @s2n_strerror_debug(i32 noundef %12772, ptr noundef nonnull @.str.65) #10
  %12774 = load i32, ptr %2293, align 4, !tbaa !5
  %12775 = call ptr @strerror(i32 noundef %12774) #10
  %12776 = load i32, ptr %2293, align 4, !tbaa !5
  %12777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12768, ptr noundef nonnull %.str.66.sink6268, i32 noundef %12769, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.62, i32 noundef 1193, ptr noundef %12771, ptr noundef %12773, ptr noundef %12775, i32 noundef %12776) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12778:                                            ; preds = %12750
  %12779 = load i32, ptr @test_count, align 4, !tbaa !5
  %12780 = add nsw i32 %12779, 1
  store i32 %12780, ptr @test_count, align 4, !tbaa !5
  %12781 = load ptr, ptr %51, align 8, !tbaa !9
  %12782 = call i32 @s2n_connection_enable_quic(ptr noundef %12781) #10
  %12783 = icmp eq i32 %12782, -1
  br i1 %12783, label %12784, label %12806

12784:                                            ; preds = %12778
  %12785 = load i32, ptr %2293, align 4, !tbaa !5
  %12786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12787 = call i32 @s2n_print_stacktrace(ptr noundef %12786) #10
  %12788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12789 = trunc nuw i8 %12788 to i1
  br i1 %12789, label %12790, label %12794

12790:                                            ; preds = %12784
  %12791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12792 = call i32 @fileno(ptr noundef %12791) #10
  %12793 = call i32 @isatty(i32 noundef %12792) #10
  %.not1652 = icmp eq i32 %12793, 0
  br i1 %.not1652, label %12794, label %12795

12794:                                            ; preds = %12790, %12784
  br label %12795

12795:                                            ; preds = %12790, %12794
  %.str.66.sink6277 = phi ptr [ @.str.66, %12794 ], [ @.str.63, %12790 ]
  store i32 %12785, ptr %2293, align 4, !tbaa !5
  %12796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12797 = load i32, ptr @test_count, align 4, !tbaa !5
  %12798 = load i32, ptr %2239, align 4, !tbaa !5
  %12799 = call ptr @s2n_strerror(i32 noundef %12798, ptr noundef nonnull @.str.65) #10
  %12800 = load i32, ptr %2239, align 4, !tbaa !5
  %12801 = call ptr @s2n_strerror_debug(i32 noundef %12800, ptr noundef nonnull @.str.65) #10
  %12802 = load i32, ptr %2293, align 4, !tbaa !5
  %12803 = call ptr @strerror(i32 noundef %12802) #10
  %12804 = load i32, ptr %2293, align 4, !tbaa !5
  %12805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12796, ptr noundef nonnull %.str.66.sink6277, i32 noundef %12797, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.62, i32 noundef 1194, ptr noundef %12799, ptr noundef %12801, ptr noundef %12803, i32 noundef %12804) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12806:                                            ; preds = %12778
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %52) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %52, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %53) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %53, i8 0, i64 40, i1 false)
  %12807 = load i32, ptr @test_count, align 4, !tbaa !5
  %12808 = add nsw i32 %12807, 1
  store i32 %12808, ptr @test_count, align 4, !tbaa !5
  %12809 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %52, i32 noundef 0) #10
  %12810 = icmp eq i32 %12809, -1
  br i1 %12810, label %12811, label %12833

12811:                                            ; preds = %12806
  %12812 = load i32, ptr %2293, align 4, !tbaa !5
  %12813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12814 = call i32 @s2n_print_stacktrace(ptr noundef %12813) #10
  %12815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12816 = trunc nuw i8 %12815 to i1
  br i1 %12816, label %12817, label %12821

12817:                                            ; preds = %12811
  %12818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12819 = call i32 @fileno(ptr noundef %12818) #10
  %12820 = call i32 @isatty(i32 noundef %12819) #10
  %.not1651 = icmp eq i32 %12820, 0
  br i1 %.not1651, label %12821, label %12822

12821:                                            ; preds = %12817, %12811
  br label %12822

12822:                                            ; preds = %12817, %12821
  %.str.66.sink6286 = phi ptr [ @.str.66, %12821 ], [ @.str.63, %12817 ]
  store i32 %12812, ptr %2293, align 4, !tbaa !5
  %12823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12824 = load i32, ptr @test_count, align 4, !tbaa !5
  %12825 = load i32, ptr %2239, align 4, !tbaa !5
  %12826 = call ptr @s2n_strerror(i32 noundef %12825, ptr noundef nonnull @.str.65) #10
  %12827 = load i32, ptr %2239, align 4, !tbaa !5
  %12828 = call ptr @s2n_strerror_debug(i32 noundef %12827, ptr noundef nonnull @.str.65) #10
  %12829 = load i32, ptr %2293, align 4, !tbaa !5
  %12830 = call ptr @strerror(i32 noundef %12829) #10
  %12831 = load i32, ptr %2293, align 4, !tbaa !5
  %12832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12823, ptr noundef nonnull %.str.66.sink6286, i32 noundef %12824, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.62, i32 noundef 1199, ptr noundef %12826, ptr noundef %12828, ptr noundef %12830, i32 noundef %12831) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12833:                                            ; preds = %12806
  %12834 = load i32, ptr @test_count, align 4, !tbaa !5
  %12835 = add nsw i32 %12834, 1
  store i32 %12835, ptr @test_count, align 4, !tbaa !5
  %12836 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %53, i32 noundef 0) #10
  %12837 = icmp eq i32 %12836, -1
  br i1 %12837, label %12838, label %12860

12838:                                            ; preds = %12833
  %12839 = load i32, ptr %2293, align 4, !tbaa !5
  %12840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12841 = call i32 @s2n_print_stacktrace(ptr noundef %12840) #10
  %12842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12843 = trunc nuw i8 %12842 to i1
  br i1 %12843, label %12844, label %12848

12844:                                            ; preds = %12838
  %12845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12846 = call i32 @fileno(ptr noundef %12845) #10
  %12847 = call i32 @isatty(i32 noundef %12846) #10
  %.not1650 = icmp eq i32 %12847, 0
  br i1 %.not1650, label %12848, label %12849

12848:                                            ; preds = %12844, %12838
  br label %12849

12849:                                            ; preds = %12844, %12848
  %.str.66.sink6295 = phi ptr [ @.str.66, %12848 ], [ @.str.63, %12844 ]
  store i32 %12839, ptr %2293, align 4, !tbaa !5
  %12850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12851 = load i32, ptr @test_count, align 4, !tbaa !5
  %12852 = load i32, ptr %2239, align 4, !tbaa !5
  %12853 = call ptr @s2n_strerror(i32 noundef %12852, ptr noundef nonnull @.str.65) #10
  %12854 = load i32, ptr %2239, align 4, !tbaa !5
  %12855 = call ptr @s2n_strerror_debug(i32 noundef %12854, ptr noundef nonnull @.str.65) #10
  %12856 = load i32, ptr %2293, align 4, !tbaa !5
  %12857 = call ptr @strerror(i32 noundef %12856) #10
  %12858 = load i32, ptr %2293, align 4, !tbaa !5
  %12859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12850, ptr noundef nonnull %.str.66.sink6295, i32 noundef %12851, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.62, i32 noundef 1200, ptr noundef %12853, ptr noundef %12855, ptr noundef %12857, i32 noundef %12858) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12860:                                            ; preds = %12833
  %12861 = load i32, ptr @test_count, align 4, !tbaa !5
  %12862 = add nsw i32 %12861, 1
  store i32 %12862, ptr @test_count, align 4, !tbaa !5
  %12863 = load ptr, ptr %51, align 8, !tbaa !9
  %12864 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %52, ptr noundef nonnull %53, ptr noundef %12863) #10
  %12865 = icmp eq i32 %12864, -1
  br i1 %12865, label %12866, label %12888

12866:                                            ; preds = %12860
  %12867 = load i32, ptr %2293, align 4, !tbaa !5
  %12868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12869 = call i32 @s2n_print_stacktrace(ptr noundef %12868) #10
  %12870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12871 = trunc nuw i8 %12870 to i1
  br i1 %12871, label %12872, label %12876

12872:                                            ; preds = %12866
  %12873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12874 = call i32 @fileno(ptr noundef %12873) #10
  %12875 = call i32 @isatty(i32 noundef %12874) #10
  %.not1649 = icmp eq i32 %12875, 0
  br i1 %.not1649, label %12876, label %12877

12876:                                            ; preds = %12872, %12866
  br label %12877

12877:                                            ; preds = %12872, %12876
  %.str.66.sink6304 = phi ptr [ @.str.66, %12876 ], [ @.str.63, %12872 ]
  store i32 %12867, ptr %2293, align 4, !tbaa !5
  %12878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12879 = load i32, ptr @test_count, align 4, !tbaa !5
  %12880 = load i32, ptr %2239, align 4, !tbaa !5
  %12881 = call ptr @s2n_strerror(i32 noundef %12880, ptr noundef nonnull @.str.65) #10
  %12882 = load i32, ptr %2239, align 4, !tbaa !5
  %12883 = call ptr @s2n_strerror_debug(i32 noundef %12882, ptr noundef nonnull @.str.65) #10
  %12884 = load i32, ptr %2293, align 4, !tbaa !5
  %12885 = call ptr @strerror(i32 noundef %12884) #10
  %12886 = load i32, ptr %2293, align 4, !tbaa !5
  %12887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12878, ptr noundef nonnull %.str.66.sink6304, i32 noundef %12879, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.62, i32 noundef 1201, ptr noundef %12881, ptr noundef %12883, ptr noundef %12885, i32 noundef %12886) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12888:                                            ; preds = %12860
  %12889 = load i32, ptr @test_count, align 4, !tbaa !5
  %12890 = add nsw i32 %12889, 1
  store i32 %12890, ptr @test_count, align 4, !tbaa !5
  %12891 = load ptr, ptr %50, align 8, !tbaa !9
  %12892 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %53, ptr noundef nonnull %52, ptr noundef %12891) #10
  %12893 = icmp eq i32 %12892, -1
  br i1 %12893, label %12894, label %12916

12894:                                            ; preds = %12888
  %12895 = load i32, ptr %2293, align 4, !tbaa !5
  %12896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12897 = call i32 @s2n_print_stacktrace(ptr noundef %12896) #10
  %12898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12899 = trunc nuw i8 %12898 to i1
  br i1 %12899, label %12900, label %12904

12900:                                            ; preds = %12894
  %12901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12902 = call i32 @fileno(ptr noundef %12901) #10
  %12903 = call i32 @isatty(i32 noundef %12902) #10
  %.not1648 = icmp eq i32 %12903, 0
  br i1 %.not1648, label %12904, label %12905

12904:                                            ; preds = %12900, %12894
  br label %12905

12905:                                            ; preds = %12900, %12904
  %.str.66.sink6313 = phi ptr [ @.str.66, %12904 ], [ @.str.63, %12900 ]
  store i32 %12895, ptr %2293, align 4, !tbaa !5
  %12906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12907 = load i32, ptr @test_count, align 4, !tbaa !5
  %12908 = load i32, ptr %2239, align 4, !tbaa !5
  %12909 = call ptr @s2n_strerror(i32 noundef %12908, ptr noundef nonnull @.str.65) #10
  %12910 = load i32, ptr %2239, align 4, !tbaa !5
  %12911 = call ptr @s2n_strerror_debug(i32 noundef %12910, ptr noundef nonnull @.str.65) #10
  %12912 = load i32, ptr %2293, align 4, !tbaa !5
  %12913 = call ptr @strerror(i32 noundef %12912) #10
  %12914 = load i32, ptr %2293, align 4, !tbaa !5
  %12915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12906, ptr noundef nonnull %.str.66.sink6313, i32 noundef %12907, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.62, i32 noundef 1202, ptr noundef %12909, ptr noundef %12911, ptr noundef %12913, i32 noundef %12914) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12916:                                            ; preds = %12888
  %12917 = load i32, ptr @test_count, align 4, !tbaa !5
  %12918 = add nsw i32 %12917, 1
  store i32 %12918, ptr @test_count, align 4, !tbaa !5
  %12919 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %225, ptr noundef null, ptr noundef null) #10
  %12920 = icmp eq i32 %12919, -1
  br i1 %12920, label %12921, label %12943

12921:                                            ; preds = %12916
  %12922 = load i32, ptr %2293, align 4, !tbaa !5
  %12923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12924 = call i32 @s2n_print_stacktrace(ptr noundef %12923) #10
  %12925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12926 = trunc nuw i8 %12925 to i1
  br i1 %12926, label %12927, label %12931

12927:                                            ; preds = %12921
  %12928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12929 = call i32 @fileno(ptr noundef %12928) #10
  %12930 = call i32 @isatty(i32 noundef %12929) #10
  %.not1647 = icmp eq i32 %12930, 0
  br i1 %.not1647, label %12931, label %12932

12931:                                            ; preds = %12927, %12921
  br label %12932

12932:                                            ; preds = %12927, %12931
  %.str.66.sink6322 = phi ptr [ @.str.66, %12931 ], [ @.str.63, %12927 ]
  store i32 %12922, ptr %2293, align 4, !tbaa !5
  %12933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12934 = load i32, ptr @test_count, align 4, !tbaa !5
  %12935 = load i32, ptr %2239, align 4, !tbaa !5
  %12936 = call ptr @s2n_strerror(i32 noundef %12935, ptr noundef nonnull @.str.65) #10
  %12937 = load i32, ptr %2239, align 4, !tbaa !5
  %12938 = call ptr @s2n_strerror_debug(i32 noundef %12937, ptr noundef nonnull @.str.65) #10
  %12939 = load i32, ptr %2293, align 4, !tbaa !5
  %12940 = call ptr @strerror(i32 noundef %12939) #10
  %12941 = load i32, ptr %2293, align 4, !tbaa !5
  %12942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12933, ptr noundef nonnull %.str.66.sink6322, i32 noundef %12934, ptr noundef nonnull @.str.218, ptr noundef nonnull @.str.62, i32 noundef 1205, ptr noundef %12936, ptr noundef %12938, ptr noundef %12940, i32 noundef %12941) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12943:                                            ; preds = %12916
  %12944 = load i32, ptr @test_count, align 4, !tbaa !5
  %12945 = add nsw i32 %12944, 1
  store i32 %12945, ptr @test_count, align 4, !tbaa !5
  %12946 = load ptr, ptr %51, align 8, !tbaa !9
  %12947 = load ptr, ptr %50, align 8, !tbaa !9
  %12948 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12946, ptr noundef %12947) #10
  %12949 = icmp eq i32 %12948, -1
  br i1 %12949, label %12950, label %12972

12950:                                            ; preds = %12943
  %12951 = load i32, ptr %2293, align 4, !tbaa !5
  %12952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12953 = call i32 @s2n_print_stacktrace(ptr noundef %12952) #10
  %12954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12955 = trunc nuw i8 %12954 to i1
  br i1 %12955, label %12956, label %12960

12956:                                            ; preds = %12950
  %12957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12958 = call i32 @fileno(ptr noundef %12957) #10
  %12959 = call i32 @isatty(i32 noundef %12958) #10
  %.not1646 = icmp eq i32 %12959, 0
  br i1 %.not1646, label %12960, label %12961

12960:                                            ; preds = %12956, %12950
  br label %12961

12961:                                            ; preds = %12956, %12960
  %.str.66.sink6331 = phi ptr [ @.str.66, %12960 ], [ @.str.63, %12956 ]
  store i32 %12951, ptr %2293, align 4, !tbaa !5
  %12962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12963 = load i32, ptr @test_count, align 4, !tbaa !5
  %12964 = load i32, ptr %2239, align 4, !tbaa !5
  %12965 = call ptr @s2n_strerror(i32 noundef %12964, ptr noundef nonnull @.str.65) #10
  %12966 = load i32, ptr %2239, align 4, !tbaa !5
  %12967 = call ptr @s2n_strerror_debug(i32 noundef %12966, ptr noundef nonnull @.str.65) #10
  %12968 = load i32, ptr %2293, align 4, !tbaa !5
  %12969 = call ptr @strerror(i32 noundef %12968) #10
  %12970 = load i32, ptr %2293, align 4, !tbaa !5
  %12971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12962, ptr noundef nonnull %.str.66.sink6331, i32 noundef %12963, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.62, i32 noundef 1208, ptr noundef %12965, ptr noundef %12967, ptr noundef %12969, i32 noundef %12970) #12
  call void @exit(i32 noundef 1) #13
  unreachable

12972:                                            ; preds = %12943
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %54) #10
  store i16 0, ptr %54, align 2, !tbaa !71
  %12973 = load i32, ptr @test_count, align 4, !tbaa !5
  %12974 = add nsw i32 %12973, 1
  store i32 %12974, ptr @test_count, align 4, !tbaa !5
  %12975 = load ptr, ptr %51, align 8, !tbaa !9
  %12976 = call i32 @s2n_connection_get_tickets_sent(ptr noundef %12975, ptr noundef nonnull %54)
  %12977 = icmp eq i32 %12976, -1
  br i1 %12977, label %12978, label %13000

12978:                                            ; preds = %12972
  %12979 = load i32, ptr %2293, align 4, !tbaa !5
  %12980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12981 = call i32 @s2n_print_stacktrace(ptr noundef %12980) #10
  %12982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12983 = trunc nuw i8 %12982 to i1
  br i1 %12983, label %12984, label %12988

12984:                                            ; preds = %12978
  %12985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12986 = call i32 @fileno(ptr noundef %12985) #10
  %12987 = call i32 @isatty(i32 noundef %12986) #10
  %.not1645 = icmp eq i32 %12987, 0
  br i1 %.not1645, label %12988, label %12989

12988:                                            ; preds = %12984, %12978
  br label %12989

12989:                                            ; preds = %12984, %12988
  %.str.66.sink6340 = phi ptr [ @.str.66, %12988 ], [ @.str.63, %12984 ]
  store i32 %12979, ptr %2293, align 4, !tbaa !5
  %12990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12991 = load i32, ptr @test_count, align 4, !tbaa !5
  %12992 = load i32, ptr %2239, align 4, !tbaa !5
  %12993 = call ptr @s2n_strerror(i32 noundef %12992, ptr noundef nonnull @.str.65) #10
  %12994 = load i32, ptr %2239, align 4, !tbaa !5
  %12995 = call ptr @s2n_strerror_debug(i32 noundef %12994, ptr noundef nonnull @.str.65) #10
  %12996 = load i32, ptr %2293, align 4, !tbaa !5
  %12997 = call ptr @strerror(i32 noundef %12996) #10
  %12998 = load i32, ptr %2293, align 4, !tbaa !5
  %12999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12990, ptr noundef nonnull %.str.66.sink6340, i32 noundef %12991, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.62, i32 noundef 1212, ptr noundef %12993, ptr noundef %12995, ptr noundef %12997, i32 noundef %12998) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13000:                                            ; preds = %12972
  %13001 = load i32, ptr @test_count, align 4, !tbaa !5
  %13002 = add nsw i32 %13001, 1
  store i32 %13002, ptr @test_count, align 4, !tbaa !5
  %13003 = load i16, ptr %54, align 2, !tbaa !71
  %13004 = icmp eq i16 %13003, 1
  br i1 %13004, label %13027, label %13005

13005:                                            ; preds = %13000
  %13006 = load i32, ptr %2293, align 4, !tbaa !5
  %13007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13008 = call i32 @s2n_print_stacktrace(ptr noundef %13007) #10
  %13009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13010 = trunc nuw i8 %13009 to i1
  br i1 %13010, label %13011, label %13015

13011:                                            ; preds = %13005
  %13012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13013 = call i32 @fileno(ptr noundef %13012) #10
  %13014 = call i32 @isatty(i32 noundef %13013) #10
  %.not1633 = icmp eq i32 %13014, 0
  br i1 %.not1633, label %13015, label %13016

13015:                                            ; preds = %13011, %13005
  br label %13016

13016:                                            ; preds = %13011, %13015
  %.str.66.sink6349 = phi ptr [ @.str.66, %13015 ], [ @.str.63, %13011 ]
  store i32 %13006, ptr %2293, align 4, !tbaa !5
  %13017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13018 = load i32, ptr @test_count, align 4, !tbaa !5
  %13019 = load i32, ptr %2239, align 4, !tbaa !5
  %13020 = call ptr @s2n_strerror(i32 noundef %13019, ptr noundef nonnull @.str.65) #10
  %13021 = load i32, ptr %2239, align 4, !tbaa !5
  %13022 = call ptr @s2n_strerror_debug(i32 noundef %13021, ptr noundef nonnull @.str.65) #10
  %13023 = load i32, ptr %2293, align 4, !tbaa !5
  %13024 = call ptr @strerror(i32 noundef %13023) #10
  %13025 = load i32, ptr %2293, align 4, !tbaa !5
  %13026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13017, ptr noundef nonnull %.str.66.sink6349, i32 noundef %13018, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.62, i32 noundef 1213, ptr noundef %13020, ptr noundef %13022, ptr noundef %13024, i32 noundef %13025) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13027:                                            ; preds = %13000
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %54) #10
  %13028 = call i32 @s2n_stuffer_free(ptr noundef nonnull %53) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %53) #10
  %13029 = call i32 @s2n_stuffer_free(ptr noundef nonnull %52) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #10
  %13030 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %51) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #10
  %13031 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #10
  %13032 = load i32, ptr @test_count, align 4, !tbaa !5
  %13033 = add nsw i32 %13032, 1
  store i32 %13033, ptr @test_count, align 4, !tbaa !5
  %13034 = call i32 @s2n_config_free(ptr noundef %225) #10
  %13035 = icmp eq i32 %13034, -1
  br i1 %13035, label %13036, label %13058

13036:                                            ; preds = %13027
  %13037 = load i32, ptr %2293, align 4, !tbaa !5
  %13038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13039 = call i32 @s2n_print_stacktrace(ptr noundef %13038) #10
  %13040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13041 = trunc nuw i8 %13040 to i1
  br i1 %13041, label %13042, label %13046

13042:                                            ; preds = %13036
  %13043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13044 = call i32 @fileno(ptr noundef %13043) #10
  %13045 = call i32 @isatty(i32 noundef %13044) #10
  %.not1644 = icmp eq i32 %13045, 0
  br i1 %.not1644, label %13046, label %13047

13046:                                            ; preds = %13042, %13036
  br label %13047

13047:                                            ; preds = %13042, %13046
  %.str.66.sink6358 = phi ptr [ @.str.66, %13046 ], [ @.str.63, %13042 ]
  store i32 %13037, ptr %2293, align 4, !tbaa !5
  %13048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13049 = load i32, ptr @test_count, align 4, !tbaa !5
  %13050 = load i32, ptr %2239, align 4, !tbaa !5
  %13051 = call ptr @s2n_strerror(i32 noundef %13050, ptr noundef nonnull @.str.65) #10
  %13052 = load i32, ptr %2239, align 4, !tbaa !5
  %13053 = call ptr @s2n_strerror_debug(i32 noundef %13052, ptr noundef nonnull @.str.65) #10
  %13054 = load i32, ptr %2293, align 4, !tbaa !5
  %13055 = call ptr @strerror(i32 noundef %13054) #10
  %13056 = load i32, ptr %2293, align 4, !tbaa !5
  %13057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13048, ptr noundef nonnull %.str.66.sink6358, i32 noundef %13049, ptr noundef nonnull @.str.220, ptr noundef nonnull @.str.62, i32 noundef 1217, ptr noundef %13051, ptr noundef %13053, ptr noundef %13055, i32 noundef %13056) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13058:                                            ; preds = %13027
  %13059 = load i32, ptr @test_count, align 4, !tbaa !5
  %13060 = add nsw i32 %13059, 1
  store i32 %13060, ptr @test_count, align 4, !tbaa !5
  %13061 = call i32 @s2n_config_free(ptr noundef nonnull %428) #10
  %13062 = icmp eq i32 %13061, -1
  br i1 %13062, label %13063, label %13085

13063:                                            ; preds = %13058
  %13064 = load i32, ptr %2293, align 4, !tbaa !5
  %13065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13066 = call i32 @s2n_print_stacktrace(ptr noundef %13065) #10
  %13067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13068 = trunc nuw i8 %13067 to i1
  br i1 %13068, label %13069, label %13073

13069:                                            ; preds = %13063
  %13070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13071 = call i32 @fileno(ptr noundef %13070) #10
  %13072 = call i32 @isatty(i32 noundef %13071) #10
  %.not1643 = icmp eq i32 %13072, 0
  br i1 %.not1643, label %13073, label %13074

13073:                                            ; preds = %13069, %13063
  br label %13074

13074:                                            ; preds = %13069, %13073
  %.str.66.sink6367 = phi ptr [ @.str.66, %13073 ], [ @.str.63, %13069 ]
  store i32 %13064, ptr %2293, align 4, !tbaa !5
  %13075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13076 = load i32, ptr @test_count, align 4, !tbaa !5
  %13077 = load i32, ptr %2239, align 4, !tbaa !5
  %13078 = call ptr @s2n_strerror(i32 noundef %13077, ptr noundef nonnull @.str.65) #10
  %13079 = load i32, ptr %2239, align 4, !tbaa !5
  %13080 = call ptr @s2n_strerror_debug(i32 noundef %13079, ptr noundef nonnull @.str.65) #10
  %13081 = load i32, ptr %2293, align 4, !tbaa !5
  %13082 = call ptr @strerror(i32 noundef %13081) #10
  %13083 = load i32, ptr %2293, align 4, !tbaa !5
  %13084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13075, ptr noundef nonnull %.str.66.sink6367, i32 noundef %13076, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.62, i32 noundef 1218, ptr noundef %13078, ptr noundef %13080, ptr noundef %13082, i32 noundef %13083) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13085:                                            ; preds = %13058
  %13086 = load i32, ptr @test_count, align 4, !tbaa !5
  %13087 = add nsw i32 %13086, 1
  store i32 %13087, ptr @test_count, align 4, !tbaa !5
  %13088 = call i32 @s2n_config_free(ptr noundef nonnull %631) #10
  %13089 = icmp eq i32 %13088, -1
  br i1 %13089, label %13090, label %13112

13090:                                            ; preds = %13085
  %13091 = load i32, ptr %2293, align 4, !tbaa !5
  %13092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13093 = call i32 @s2n_print_stacktrace(ptr noundef %13092) #10
  %13094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13095 = trunc nuw i8 %13094 to i1
  br i1 %13095, label %13096, label %13100

13096:                                            ; preds = %13090
  %13097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13098 = call i32 @fileno(ptr noundef %13097) #10
  %13099 = call i32 @isatty(i32 noundef %13098) #10
  %.not1642 = icmp eq i32 %13099, 0
  br i1 %.not1642, label %13100, label %13101

13100:                                            ; preds = %13096, %13090
  br label %13101

13101:                                            ; preds = %13096, %13100
  %.str.66.sink6376 = phi ptr [ @.str.66, %13100 ], [ @.str.63, %13096 ]
  store i32 %13091, ptr %2293, align 4, !tbaa !5
  %13102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13103 = load i32, ptr @test_count, align 4, !tbaa !5
  %13104 = load i32, ptr %2239, align 4, !tbaa !5
  %13105 = call ptr @s2n_strerror(i32 noundef %13104, ptr noundef nonnull @.str.65) #10
  %13106 = load i32, ptr %2239, align 4, !tbaa !5
  %13107 = call ptr @s2n_strerror_debug(i32 noundef %13106, ptr noundef nonnull @.str.65) #10
  %13108 = load i32, ptr %2293, align 4, !tbaa !5
  %13109 = call ptr @strerror(i32 noundef %13108) #10
  %13110 = load i32, ptr %2293, align 4, !tbaa !5
  %13111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13102, ptr noundef nonnull %.str.66.sink6376, i32 noundef %13103, ptr noundef nonnull @.str.222, ptr noundef nonnull @.str.62, i32 noundef 1219, ptr noundef %13105, ptr noundef %13107, ptr noundef %13109, i32 noundef %13110) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13112:                                            ; preds = %13085
  %13113 = load i32, ptr @test_count, align 4, !tbaa !5
  %13114 = add nsw i32 %13113, 1
  store i32 %13114, ptr @test_count, align 4, !tbaa !5
  %13115 = call i32 @s2n_config_free(ptr noundef nonnull %804) #10
  %13116 = icmp eq i32 %13115, -1
  br i1 %13116, label %13117, label %13139

13117:                                            ; preds = %13112
  %13118 = load i32, ptr %2293, align 4, !tbaa !5
  %13119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13120 = call i32 @s2n_print_stacktrace(ptr noundef %13119) #10
  %13121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13122 = trunc nuw i8 %13121 to i1
  br i1 %13122, label %13123, label %13127

13123:                                            ; preds = %13117
  %13124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13125 = call i32 @fileno(ptr noundef %13124) #10
  %13126 = call i32 @isatty(i32 noundef %13125) #10
  %.not1641 = icmp eq i32 %13126, 0
  br i1 %.not1641, label %13127, label %13128

13127:                                            ; preds = %13123, %13117
  br label %13128

13128:                                            ; preds = %13123, %13127
  %.str.66.sink6385 = phi ptr [ @.str.66, %13127 ], [ @.str.63, %13123 ]
  store i32 %13118, ptr %2293, align 4, !tbaa !5
  %13129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13130 = load i32, ptr @test_count, align 4, !tbaa !5
  %13131 = load i32, ptr %2239, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror(i32 noundef %13131, ptr noundef nonnull @.str.65) #10
  %13133 = load i32, ptr %2239, align 4, !tbaa !5
  %13134 = call ptr @s2n_strerror_debug(i32 noundef %13133, ptr noundef nonnull @.str.65) #10
  %13135 = load i32, ptr %2293, align 4, !tbaa !5
  %13136 = call ptr @strerror(i32 noundef %13135) #10
  %13137 = load i32, ptr %2293, align 4, !tbaa !5
  %13138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13129, ptr noundef nonnull %.str.66.sink6385, i32 noundef %13130, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.62, i32 noundef 1220, ptr noundef %13132, ptr noundef %13134, ptr noundef %13136, i32 noundef %13137) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13139:                                            ; preds = %13112
  %13140 = load i32, ptr @test_count, align 4, !tbaa !5
  %13141 = add nsw i32 %13140, 1
  store i32 %13141, ptr @test_count, align 4, !tbaa !5
  %13142 = load ptr, ptr %6, align 8, !tbaa !9
  %13143 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %13142) #10
  %13144 = icmp eq i32 %13143, -1
  br i1 %13144, label %13145, label %13167

13145:                                            ; preds = %13139
  %13146 = load i32, ptr %2293, align 4, !tbaa !5
  %13147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13148 = call i32 @s2n_print_stacktrace(ptr noundef %13147) #10
  %13149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13150 = trunc nuw i8 %13149 to i1
  br i1 %13150, label %13151, label %13155

13151:                                            ; preds = %13145
  %13152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13153 = call i32 @fileno(ptr noundef %13152) #10
  %13154 = call i32 @isatty(i32 noundef %13153) #10
  %.not1640 = icmp eq i32 %13154, 0
  br i1 %.not1640, label %13155, label %13156

13155:                                            ; preds = %13151, %13145
  br label %13156

13156:                                            ; preds = %13151, %13155
  %.str.66.sink6394 = phi ptr [ @.str.66, %13155 ], [ @.str.63, %13151 ]
  store i32 %13146, ptr %2293, align 4, !tbaa !5
  %13157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13158 = load i32, ptr @test_count, align 4, !tbaa !5
  %13159 = load i32, ptr %2239, align 4, !tbaa !5
  %13160 = call ptr @s2n_strerror(i32 noundef %13159, ptr noundef nonnull @.str.65) #10
  %13161 = load i32, ptr %2239, align 4, !tbaa !5
  %13162 = call ptr @s2n_strerror_debug(i32 noundef %13161, ptr noundef nonnull @.str.65) #10
  %13163 = load i32, ptr %2293, align 4, !tbaa !5
  %13164 = call ptr @strerror(i32 noundef %13163) #10
  %13165 = load i32, ptr %2293, align 4, !tbaa !5
  %13166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13157, ptr noundef nonnull %.str.66.sink6394, i32 noundef %13158, ptr noundef nonnull @.str.224, ptr noundef nonnull @.str.62, i32 noundef 1221, ptr noundef %13160, ptr noundef %13162, ptr noundef %13164, i32 noundef %13165) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13167:                                            ; preds = %13139
  %13168 = load i32, ptr @test_count, align 4, !tbaa !5
  %13169 = add nsw i32 %13168, 1
  store i32 %13169, ptr @test_count, align 4, !tbaa !5
  %13170 = load ptr, ptr %5, align 8, !tbaa !9
  %13171 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %13170) #10
  %13172 = icmp eq i32 %13171, -1
  br i1 %13172, label %13173, label %13195

13173:                                            ; preds = %13167
  %13174 = load i32, ptr %2293, align 4, !tbaa !5
  %13175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13176 = call i32 @s2n_print_stacktrace(ptr noundef %13175) #10
  %13177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13178 = trunc nuw i8 %13177 to i1
  br i1 %13178, label %13179, label %13183

13179:                                            ; preds = %13173
  %13180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13181 = call i32 @fileno(ptr noundef %13180) #10
  %13182 = call i32 @isatty(i32 noundef %13181) #10
  %.not1639 = icmp eq i32 %13182, 0
  br i1 %.not1639, label %13183, label %13184

13183:                                            ; preds = %13179, %13173
  br label %13184

13184:                                            ; preds = %13179, %13183
  %.str.66.sink6403 = phi ptr [ @.str.66, %13183 ], [ @.str.63, %13179 ]
  store i32 %13174, ptr %2293, align 4, !tbaa !5
  %13185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13186 = load i32, ptr @test_count, align 4, !tbaa !5
  %13187 = load i32, ptr %2239, align 4, !tbaa !5
  %13188 = call ptr @s2n_strerror(i32 noundef %13187, ptr noundef nonnull @.str.65) #10
  %13189 = load i32, ptr %2239, align 4, !tbaa !5
  %13190 = call ptr @s2n_strerror_debug(i32 noundef %13189, ptr noundef nonnull @.str.65) #10
  %13191 = load i32, ptr %2293, align 4, !tbaa !5
  %13192 = call ptr @strerror(i32 noundef %13191) #10
  %13193 = load i32, ptr %2293, align 4, !tbaa !5
  %13194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13185, ptr noundef nonnull %.str.66.sink6403, i32 noundef %13186, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.62, i32 noundef 1222, ptr noundef %13188, ptr noundef %13190, ptr noundef %13192, i32 noundef %13193) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13195:                                            ; preds = %13167
  %13196 = call i32 @s2n_cleanup() #10
  %13197 = icmp eq i32 %13196, -1
  br i1 %13197, label %13198, label %13220

13198:                                            ; preds = %13195
  %13199 = load i32, ptr %2293, align 4, !tbaa !5
  %13200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13201 = call i32 @s2n_print_stacktrace(ptr noundef %13200) #10
  %13202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13203 = trunc nuw i8 %13202 to i1
  br i1 %13203, label %13204, label %13208

13204:                                            ; preds = %13198
  %13205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13206 = call i32 @fileno(ptr noundef %13205) #10
  %13207 = call i32 @isatty(i32 noundef %13206) #10
  %.not1638 = icmp eq i32 %13207, 0
  br i1 %.not1638, label %13208, label %13209

13208:                                            ; preds = %13204, %13198
  br label %13209

13209:                                            ; preds = %13204, %13208
  %.str.66.sink6412 = phi ptr [ @.str.66, %13208 ], [ @.str.63, %13204 ]
  store i32 %13199, ptr %2293, align 4, !tbaa !5
  %13210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13211 = load i32, ptr @test_count, align 4, !tbaa !5
  %13212 = load i32, ptr %2239, align 4, !tbaa !5
  %13213 = call ptr @s2n_strerror(i32 noundef %13212, ptr noundef nonnull @.str.65) #10
  %13214 = load i32, ptr %2239, align 4, !tbaa !5
  %13215 = call ptr @s2n_strerror_debug(i32 noundef %13214, ptr noundef nonnull @.str.65) #10
  %13216 = load i32, ptr %2293, align 4, !tbaa !5
  %13217 = call ptr @strerror(i32 noundef %13216) #10
  %13218 = load i32, ptr %2293, align 4, !tbaa !5
  %13219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13210, ptr noundef nonnull %.str.66.sink6412, i32 noundef %13211, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.62, i32 noundef 1224, ptr noundef %13213, ptr noundef %13215, ptr noundef %13217, i32 noundef %13218) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13220:                                            ; preds = %13195
  %13221 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %13222 = icmp eq i32 %13221, -1
  br i1 %13222, label %13223, label %13245

13223:                                            ; preds = %13220
  %13224 = load i32, ptr %2293, align 4, !tbaa !5
  %13225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13226 = call i32 @s2n_print_stacktrace(ptr noundef %13225) #10
  %13227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13228 = trunc nuw i8 %13227 to i1
  br i1 %13228, label %13229, label %13233

13229:                                            ; preds = %13223
  %13230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13231 = call i32 @fileno(ptr noundef %13230) #10
  %13232 = call i32 @isatty(i32 noundef %13231) #10
  %.not1637 = icmp eq i32 %13232, 0
  br i1 %.not1637, label %13233, label %13234

13233:                                            ; preds = %13229, %13223
  br label %13234

13234:                                            ; preds = %13229, %13233
  %.str.66.sink6421 = phi ptr [ @.str.66, %13233 ], [ @.str.63, %13229 ]
  store i32 %13224, ptr %2293, align 4, !tbaa !5
  %13235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13236 = load i32, ptr @test_count, align 4, !tbaa !5
  %13237 = load i32, ptr %2239, align 4, !tbaa !5
  %13238 = call ptr @s2n_strerror(i32 noundef %13237, ptr noundef nonnull @.str.65) #10
  %13239 = load i32, ptr %2239, align 4, !tbaa !5
  %13240 = call ptr @s2n_strerror_debug(i32 noundef %13239, ptr noundef nonnull @.str.65) #10
  %13241 = load i32, ptr %2293, align 4, !tbaa !5
  %13242 = call ptr @strerror(i32 noundef %13241) #10
  %13243 = load i32, ptr %2293, align 4, !tbaa !5
  %13244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13235, ptr noundef nonnull %.str.66.sink6421, i32 noundef %13236, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.62, i32 noundef 1224, ptr noundef %13238, ptr noundef %13240, ptr noundef %13242, i32 noundef %13243) #12
  call void @exit(i32 noundef 1) #13
  unreachable

13245:                                            ; preds = %13220
  %13246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13247 = trunc nuw i8 %13246 to i1
  br i1 %13247, label %13248, label %13259

13248:                                            ; preds = %13245
  %13249 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13250 = call i32 @fileno(ptr noundef %13249) #10
  %13251 = call i32 @isatty(i32 noundef %13250) #10
  %.not1634 = icmp eq i32 %13251, 0
  br i1 %.not1634, label %13259, label %13252

13252:                                            ; preds = %13248
  %13253 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1636 = icmp eq i32 %13253, 0
  %13254 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1636, label %13257, label %13255

13255:                                            ; preds = %13252
  %13256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13254, ptr noundef nonnull @.str.71, i32 noundef %13253) #10
  br label %13266

13257:                                            ; preds = %13252
  %13258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13254, ptr noundef nonnull @.str.72) #10
  br label %13266

13259:                                            ; preds = %13248, %13245
  %13260 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1635 = icmp eq i32 %13260, 0
  %13261 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1635, label %13264, label %13262

13262:                                            ; preds = %13259
  %13263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13261, ptr noundef nonnull @.str.73, i32 noundef %13260) #10
  br label %13266

13264:                                            ; preds = %13259
  %13265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13261, ptr noundef nonnull @.str.74) #10
  br label %13266

13266:                                            ; preds = %13262, %13264, %13255, %13257
  %13267 = call i32 @s2n_stuffer_free(ptr noundef nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #10
  br label %13268

13268:                                            ; preds = %209, %207, %216, %214, %13266
  ret i32 0
}

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

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

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #4

declare i32 @s2n_cleanup() local_unnamed_addr #4

declare ptr @s2n_config_new() local_unnamed_addr #4

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

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #4

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

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #4

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) #5

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #4

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

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #4

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_issue_new_session_ticket(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

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

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_rewrite(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_negotiate(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_connection_free_handshake(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #4

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

declare void @s2n_debug_info_reset() local_unnamed_addr #4

declare i32 @s2n_config_set_session_state_lifetime(ptr noundef, i64 noundef) local_unnamed_addr #4

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

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

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_assert_tickets_sent(ptr noundef, i16 noundef zeroext) local_unnamed_addr #5

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_cache_store_cb(ptr noundef, ptr noundef, i64 noundef, ptr noundef, i64 noundef, ptr noundef, i64 noundef) #5

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_cache_retrieve_cb(ptr noundef, ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #5

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_cache_delete_cb(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #5

declare i32 @s2n_config_set_session_cache_onoff(ptr noundef, i8 noundef zeroext) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_wipe_connections(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_enable_quic(ptr noundef) local_unnamed_addr #4

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_wipe_psk_ke_ext(ptr noundef, ptr noundef) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_alter_psk_ke_ext(ptr noundef, ptr noundef) #5

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #4

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { 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 #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 #6 = { 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 #7 = { 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 #8 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { 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, !12, i64 2}
!16 = !{!"s2n_early_data_test_case", !12, i64 0, !12, i64 1, !12, i64 2, !12, i64 3}
!17 = !{!16, !12, i64 3}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = !{!21, !6, i64 28}
!21 = !{!"s2n_stuffer", !22, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!22 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!23 = !{!21, !6, i64 24}
!24 = !{!21, !10, i64 0}
!25 = distinct !{!25, !19}
!26 = !{!22, !10, i64 0}
!27 = !{!22, !6, i64 8}
!28 = !{!29, !7, i64 221}
!29 = !{!"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, !30, i64 160, !31, i64 168, !31, 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, !32, i64 240, !10, i64 632, !10, i64 640, !33, i64 648, !38, i64 1144, !41, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !21, i64 1776, !21, i64 1816, !21, i64 1856, !21, i64 1896, !6, i64 1936, !31, i64 1944, !7, i64 1952, !21, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !44, i64 2004, !44, i64 2008, !45, i64 2016, !43, i64 2208, !6, i64 2212, !43, i64 2216, !31, i64 2224, !7, i64 2232, !31, i64 2240, !31, i64 2248, !31, i64 2256, !44, i64 2264, !44, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !22, i64 2792, !6, i64 2816, !22, i64 2824, !22, i64 2848, !22, i64 2872, !47, i64 2896, !49, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !22, i64 3784, !6, i64 3808, !51, i64 3816, !7, i64 3848, !21, i64 3992, !22, i64 4032, !22, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !43, i64 4084, !43, i64 4086, !6, i64 4088, !6, i64 4092, !22, i64 4096, !6, i64 4120, !52, i64 4128, !44, i64 4176, !7, i64 4180, !7, i64 4181}
!30 = !{!"s2n_timer", !31, i64 0}
!31 = !{!"long", !7, i64 0}
!32 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!33 = !{!"s2n_kex_parameters", !34, i64 0, !35, i64 8, !7, i64 24, !35, i64 56, !36, i64 72, !36, i64 184, !7, i64 296, !37, i64 360, !22, i64 448, !22, i64 472}
!34 = !{!"s2n_dh_params", !10, i64 0}
!35 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!36 = !{!"s2n_kem_group_params", !10, i64 0, !37, i64 8, !35, i64 96}
!37 = !{!"s2n_kem_params", !10, i64 0, !22, i64 8, !22, i64 32, !22, i64 56, !12, i64 80}
!38 = !{!"s2n_handshake_parameters", !39, i64 0, !39, i64 48, !22, i64 96, !6, i64 120, !40, 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}
!39 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!40 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!41 = !{!"s2n_psk_parameters", !6, i64 0, !42, i64 8, !43, i64 40, !43, i64 42, !10, i64 48, !6, i64 56}
!42 = !{!"s2n_array", !22, i64 0, !6, i64 24, !6, i64 28}
!43 = !{!"short", !7, i64 0}
!44 = !{!"", !6, i64 0}
!45 = !{!"s2n_handshake", !21, 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, !46, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!46 = !{!"s2n_offered_early_data", !10, i64 0}
!47 = !{!"s2n_client_hello", !22, i64 0, !48, i64 24, !22, i64 728, !22, i64 752, !22, 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}
!48 = !{!"", !7, i64 0, !22, i64 672, !43, i64 696}
!49 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !43, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !50, i64 48, !12, i64 52}
!50 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!51 = !{!"s2n_ticket_fields", !22, i64 0, !6, i64 24}
!52 = !{!"s2n_post_handshake", !21, i64 0, !7, i64 40}
!53 = !{!29, !10, i64 232}
!54 = !{!55, !10, i64 0}
!55 = !{!"s2n_crypto_parameters", !10, i64 0, !56, i64 8, !56, i64 16, !57, i64 24, !57, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!56 = !{!"s2n_session_key", !10, i64 0}
!57 = !{!"s2n_hmac_state", !6, i64 0, !43, i64 4, !6, i64 8, !43, i64 12, !7, i64 14, !58, i64 16, !58, i64 72, !58, i64 128, !58, i64 184, !7, i64 240, !7, i64 368}
!58 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !31, i64 16, !7, i64 24}
!59 = !{!29, !7, i64 220}
!60 = distinct !{!60, !19}
!61 = !{!29, !10, i64 16}
!62 = !{!29, !6, i64 2172}
!63 = distinct !{!63, !19}
!64 = distinct !{!64, !19}
!65 = !{!66, !10, i64 96}
!66 = !{!"s2n_config", !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, !10, i64 8, !10, i64 16, !67, i64 24, !22, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !31, i64 144, !10, i64 152, !31, i64 160, !31, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !68, i64 304, !43, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !22, i64 448}
!67 = !{!"certs_by_type", !7, i64 0}
!68 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!69 = !{!29, !43, i64 4086}
!70 = distinct !{!70, !19}
!71 = !{!43, !43, i64 0}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass