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

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

%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_result = type { i32 }
%struct.s2n_early_state_sequence = type { ptr, i64 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%struct.s2n_offered_early_data = type { ptr }
%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_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_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%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
@async_early_data = external dso_local global ptr, align 8
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [78 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.test_value = external hidden unnamed_addr constant [11 x i8], align 1
@__const.main.test_value_2 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [70 x i8], align 1
@__const.main.early_data_not_requested_seq = external hidden unnamed_addr constant [2 x i32], align 4
@__const.main.early_data_rejected_seq = external hidden unnamed_addr constant [3 x i32], align 4
@__const.main.early_data_success_seq = external hidden unnamed_addr constant [4 x i32], align 16
@.str.11 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [183 x i8], align 1
@__const.main.invalid_seq = external hidden unnamed_addr constant [3 x i32], align 4
@.str.21 = external hidden unnamed_addr constant [183 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [96 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.33 = external hidden unnamed_addr constant [168 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [78 x i8], align 1
@s2n_tls13_aes_256_gcm_sha384 = external global %struct.s2n_cipher_suite, align 8
@.str.37 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [110 x i8], align 1
@__const.main.test_bad_value = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.test_apln = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.test_context = external hidden unnamed_addr constant [8 x i8], align 1
@s2n_tls13_chacha20_poly1305_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.63 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [71 x i8], align 1
@__const.main.required_protocol = external hidden unnamed_addr constant [18 x i8], align 16
@__const.main.wrong_protocol = external hidden unnamed_addr constant [15 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [34 x i8], align 1
@__const.main.data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [53 x i8], align 1
@__const.main.context = external hidden unnamed_addr constant [12 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca [11 x i8], align 1
  %10 = alloca [15 x i8], align 1
  %11 = alloca i32, align 4
  %12 = alloca %struct.s2n_result, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca [2 x i32], align 4
  %17 = alloca [3 x i32], align 4
  %18 = alloca [4 x i32], align 16
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca %struct.s2n_result, align 4
  %22 = alloca i32, align 4
  %23 = alloca %struct.s2n_result, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca %struct.s2n_result, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca %struct.s2n_result, align 4
  %32 = alloca i32, align 4
  %33 = alloca %struct.s2n_result, align 4
  %34 = alloca i32, align 4
  %35 = alloca %struct.s2n_result, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca [3 x %struct.s2n_early_state_sequence], align 16
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca %struct.s2n_result, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca [3 x i32], align 4
  %47 = alloca [4 x %struct.s2n_early_state_sequence], align 16
  %48 = alloca ptr, align 8
  %49 = alloca i32, align 4
  %50 = alloca %struct.s2n_result, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca [2 x %struct.s2n_early_state_sequence], align 16
  %56 = alloca ptr, align 8
  %57 = alloca i32, align 4
  %58 = alloca %struct.s2n_result, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca %struct.s2n_result, align 4
  %64 = alloca i32, align 4
  %65 = alloca %struct.s2n_early_data_config, align 8
  %66 = alloca %struct.s2n_result, align 4
  %67 = alloca i32, align 4
  %68 = alloca %struct.s2n_result, align 4
  %69 = alloca i32, align 4
  %70 = alloca %struct.s2n_result, align 4
  %71 = alloca i32, align 4
  %72 = alloca %struct.s2n_psk, align 8
  %73 = alloca %struct.s2n_result, align 4
  %74 = alloca i32, align 4
  %75 = alloca %struct.s2n_result, align 4
  %76 = alloca i32, align 4
  %77 = alloca %struct.s2n_result, align 4
  %78 = alloca i32, align 4
  %79 = alloca ptr, align 8
  %80 = alloca %struct.s2n_result, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca ptr, align 8
  %88 = alloca ptr, align 8
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca ptr, align 8
  %94 = alloca ptr, align 8
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca %struct.s2n_psk, align 8
  %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 ptr, align 8
  %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 i32, 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 %struct.s2n_psk, align 8
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca ptr, align 8
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca [6 x i8], align 1
  %151 = alloca [9 x i8], align 1
  %152 = alloca [8 x i8], align 1
  %153 = alloca i8, align 1
  %154 = alloca i32, align 4
  %155 = alloca ptr, align 8
  %156 = alloca i64, align 8
  %157 = alloca ptr, align 8
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca ptr, align 8
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca %struct.s2n_result, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca %struct.s2n_result, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca ptr, align 8
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca %struct.s2n_result, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca %struct.s2n_result, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca ptr, align 8
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca %struct.s2n_result, align 4
  %198 = alloca i32, align 4
  %199 = alloca %struct.s2n_result, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca %struct.s2n_result, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca ptr, align 8
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca %struct.s2n_result, align 4
  %210 = alloca i32, align 4
  %211 = alloca %struct.s2n_result, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca ptr, align 8
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca %struct.s2n_result, align 4
  %220 = alloca i32, align 4
  %221 = alloca %struct.s2n_result, align 4
  %222 = alloca i32, align 4
  %223 = alloca [1 x i8], align 1
  %224 = alloca [18 x i8], align 16
  %225 = alloca [15 x i8], align 1
  %226 = alloca i32, align 4
  %227 = alloca i64, align 8
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i64, align 8
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i64, align 8
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i64, align 8
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca %struct.s2n_result, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca ptr, align 8
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca %struct.s2n_result, align 4
  %249 = alloca i32, align 4
  %250 = alloca %struct.s2n_result, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca %struct.s2n_result, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca %struct.s2n_result, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca %struct.s2n_result, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca ptr, align 8
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca %struct.s2n_result, align 4
  %268 = alloca i32, align 4
  %269 = alloca %struct.s2n_result, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca %struct.s2n_result, align 4
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca %struct.s2n_result, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca %struct.s2n_result, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca ptr, align 8
  %284 = alloca i32, align 4
  %285 = alloca ptr, align 8
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca %struct.s2n_result, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca %struct.s2n_result, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i8, align 1
  %296 = alloca i32, align 4
  %297 = alloca %struct.s2n_offered_early_data, align 8
  %298 = alloca i32, align 4
  %299 = alloca %struct.s2n_result, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca %struct.s2n_offered_early_data, align 8
  %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 ptr, align 8
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca ptr, align 8
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca %struct.s2n_result, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca %struct.s2n_result, align 4
  %320 = alloca i32, align 4
  %321 = alloca %struct.s2n_result, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca %struct.s2n_result, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca %struct.s2n_result, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca %struct.s2n_connection, align 8
  %340 = alloca i32, align 4
  %341 = alloca i32, align 4
  %342 = alloca i32, align 4
  %343 = alloca i32, align 4
  %344 = alloca i32, align 4
  %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 ptr, align 8
  %351 = alloca i32, align 4
  %352 = alloca %struct.s2n_result, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %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 ptr, align 8
  %369 = alloca i32, align 4
  %370 = alloca %struct.s2n_result, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca i32, align 4
  %377 = alloca %struct.s2n_connection, align 8
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca i32, align 4
  %382 = alloca i32, align 4
  %383 = alloca i32, align 4
  %384 = alloca i32, align 4
  %385 = alloca ptr, align 8
  %386 = alloca i32, align 4
  %387 = alloca %struct.s2n_result, 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 i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, align 4
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca i32, align 4
  %399 = alloca i32, align 4
  %400 = alloca i32, align 4
  %401 = alloca i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca ptr, align 8
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca i32, align 4
  %410 = alloca i32, align 4
  %411 = alloca i32, align 4
  %412 = alloca ptr, align 8
  %413 = alloca i32, align 4
  %414 = alloca %struct.s2n_result, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca i32, 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_connection, align 8
  %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 i32, align 4
  %433 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %440 = alloca i32, align 4
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca %struct.s2n_result, align 4
  %444 = alloca i32, align 4
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca %struct.s2n_result, align 4
  %448 = alloca i32, align 4
  %449 = alloca %struct.s2n_result, align 4
  %450 = alloca i32, align 4
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca i32, align 4
  %454 = alloca ptr, align 8
  %455 = alloca i32, align 4
  %456 = alloca i32, align 4
  %457 = alloca %struct.s2n_result, align 4
  %458 = alloca i32, align 4
  %459 = alloca i32, align 4
  %460 = alloca i32, align 4
  %461 = alloca i32, align 4
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca i32, align 4
  %465 = alloca i32, 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 i32, align 4
  %473 = alloca i32, align 4
  %474 = alloca ptr, align 8
  %475 = alloca i32, align 4
  %476 = alloca ptr, align 8
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca i32, 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 i32, align 4
  %487 = alloca i32, align 4
  %488 = alloca i32, align 4
  %489 = alloca i32, align 4
  %490 = alloca i32, align 4
  %491 = alloca ptr, align 8
  %492 = alloca i32, align 4
  %493 = alloca i32, align 4
  %494 = alloca i32, 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 ptr, align 8
  %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 i32, 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 ptr, align 8
  %517 = alloca i32, align 4
  %518 = alloca i32, align 4
  %519 = alloca ptr, align 8
  %520 = alloca i32, align 4
  %521 = alloca i32, align 4
  %522 = alloca %struct.s2n_result, align 4
  %523 = alloca i32, align 4
  %524 = alloca i32, align 4
  %525 = alloca i32, align 4
  %526 = alloca %struct.s2n_result, align 4
  %527 = alloca i32, align 4
  %528 = alloca i32, align 4
  %529 = alloca i32, align 4
  %530 = alloca %struct.s2n_result, align 4
  %531 = alloca i32, align 4
  %532 = alloca i32, align 4
  %533 = alloca i32, align 4
  %534 = alloca i32, align 4
  %535 = alloca i32, align 4
  %536 = alloca %struct.s2n_result, align 4
  %537 = alloca i32, align 4
  %538 = alloca i32, align 4
  %539 = alloca i32, align 4
  %540 = alloca %struct.s2n_result, align 4
  %541 = alloca i32, align 4
  %542 = alloca i32, align 4
  %543 = alloca %struct.s2n_result, align 4
  %544 = alloca i32, align 4
  %545 = alloca i32, align 4
  %546 = alloca i32, align 4
  %547 = alloca %struct.s2n_result, align 4
  %548 = alloca i32, align 4
  %549 = alloca i32, align 4
  %550 = alloca i32, align 4
  %551 = alloca i32, align 4
  %552 = alloca ptr, align 8
  %553 = alloca [12 x i8], align 1
  %554 = alloca i32, align 4
  %555 = alloca i32, align 4
  %556 = alloca i32, align 4
  %557 = alloca i32, align 4
  %558 = alloca i32, align 4
  %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 i32, align 4
  %566 = alloca i32, align 4
  %567 = alloca i32, align 4
  %568 = alloca i32, align 4
  %569 = alloca i32, align 4
  %570 = alloca i32, align 4
  %571 = alloca %struct.s2n_result, align 4
  %572 = alloca i32, align 4
  %573 = alloca i32, align 4
  %574 = alloca i32, align 4
  %575 = alloca i32, align 4
  %576 = alloca ptr, align 8
  %577 = alloca i32, align 4
  %578 = alloca %struct.s2n_result, align 4
  %579 = alloca i32, align 4
  %580 = alloca %struct.s2n_result, align 4
  %581 = alloca i32, align 4
  %582 = alloca i32, align 4
  %583 = alloca i32, align 4
  %584 = alloca %struct.s2n_result, align 4
  %585 = alloca i32, align 4
  %586 = alloca i32, align 4
  %587 = alloca %struct.s2n_result, align 4
  %588 = alloca i32, align 4
  %589 = alloca i32, align 4
  %590 = alloca %struct.s2n_result, align 4
  %591 = alloca i32, align 4
  %592 = alloca i32, align 4
  %593 = alloca %struct.s2n_result, align 4
  %594 = alloca i32, align 4
  %595 = alloca i32, align 4
  %596 = alloca i32, align 4
  %597 = alloca i32, align 4
  %598 = alloca %struct.s2n_result, align 4
  %599 = alloca i32, align 4
  %600 = alloca i32, align 4
  %601 = alloca i32, align 4
  %602 = alloca i32, align 4
  %603 = alloca %struct.s2n_result, align 4
  %604 = alloca i32, align 4
  %605 = alloca i32, align 4
  %606 = alloca i32, align 4
  %607 = alloca i32, align 4
  %608 = alloca %struct.s2n_result, align 4
  %609 = alloca i32, align 4
  %610 = alloca i32, align 4
  %611 = alloca i32, align 4
  %612 = alloca i32, align 4
  %613 = alloca %struct.s2n_result, align 4
  %614 = alloca i32, align 4
  %615 = alloca i32, align 4
  %616 = alloca %struct.s2n_result, align 4
  %617 = alloca i32, align 4
  %618 = alloca i32, align 4
  %619 = alloca %struct.s2n_result, align 4
  %620 = alloca i32, align 4
  %621 = alloca i32, align 4
  %622 = alloca i32, align 4
  %623 = alloca i32, align 4
  %624 = alloca %struct.s2n_result, align 4
  %625 = alloca i32, align 4
  %626 = alloca i32, align 4
  %627 = alloca %struct.s2n_result, align 4
  %628 = alloca i32, align 4
  %629 = alloca i32, align 4
  %630 = alloca %struct.s2n_result, align 4
  %631 = alloca i32, align 4
  %632 = alloca i32, align 4
  %633 = alloca %struct.s2n_result, align 4
  %634 = alloca i32, align 4
  %635 = alloca i32, align 4
  %636 = alloca i32, align 4
  %637 = alloca %struct.s2n_result, align 4
  %638 = alloca i32, align 4
  %639 = alloca i32, align 4
  %640 = alloca i32, align 4
  %641 = alloca i32, align 4
  %642 = alloca ptr, align 8
  %643 = alloca i32, align 4
  %644 = alloca %struct.s2n_result, align 4
  %645 = alloca i32, align 4
  %646 = alloca i32, align 4
  %647 = alloca %struct.s2n_connection, align 8
  %648 = alloca %struct.s2n_result, align 4
  %649 = alloca i32, align 4
  %650 = alloca i32, align 4
  %651 = alloca i32, align 4
  %652 = alloca %struct.s2n_result, align 4
  %653 = alloca i32, align 4
  %654 = alloca i32, align 4
  %655 = alloca i32, align 4
  %656 = alloca %struct.s2n_result, align 4
  %657 = alloca i32, align 4
  %658 = alloca %struct.s2n_result, align 4
  %659 = alloca i32, align 4
  %660 = alloca %struct.s2n_result, align 4
  %661 = alloca i32, align 4
  %662 = alloca i32, align 4
  %663 = alloca i32, align 4
  %664 = alloca %struct.s2n_result, align 4
  %665 = alloca i32, align 4
  %666 = alloca i32, align 4
  %667 = alloca %struct.s2n_result, align 4
  %668 = alloca i32, align 4
  %669 = alloca i32, align 4
  %670 = alloca i32, align 4
  %671 = alloca i32, align 4
  %672 = alloca ptr, align 8
  %673 = alloca i32, align 4
  %674 = alloca %struct.s2n_result, align 4
  %675 = alloca i32, align 4
  %676 = alloca i32, align 4
  %677 = alloca %struct.s2n_result, align 4
  %678 = alloca i32, align 4
  %679 = alloca %struct.s2n_connection, align 8
  %680 = alloca %struct.s2n_result, align 4
  %681 = alloca i32, align 4
  %682 = alloca %struct.s2n_result, align 4
  %683 = alloca i32, align 4
  %684 = alloca i32, align 4
  %685 = alloca i32, align 4
  %686 = alloca %struct.s2n_result, align 4
  %687 = alloca i32, align 4
  %688 = alloca i32, align 4
  %689 = alloca i32, align 4
  %690 = alloca %struct.s2n_result, align 4
  %691 = alloca i32, align 4
  %692 = alloca i32, align 4
  %693 = alloca i32, align 4
  %694 = alloca %struct.s2n_result, align 4
  %695 = alloca i32, align 4
  %696 = alloca i32, align 4
  %697 = alloca i32, align 4
  %698 = alloca %struct.s2n_result, align 4
  %699 = alloca i32, align 4
  %700 = alloca %struct.s2n_result, align 4
  %701 = alloca i32, align 4
  %702 = alloca i32, align 4
  %703 = alloca ptr, align 8
  %704 = alloca i32, align 4
  %705 = alloca i32, align 4
  %706 = alloca i32, align 4
  %707 = alloca i32, align 4
  %708 = alloca i32, align 4
  %709 = alloca i32, align 4
  %710 = alloca i32, align 4
  %711 = alloca i32, align 4
  %712 = alloca i32, align 4
  %713 = alloca %struct.s2n_offered_early_data, align 8
  %714 = alloca [12 x i8], align 1
  %715 = alloca [12 x i8], align 1
  %716 = alloca [12 x i8], align 1
  %717 = alloca i16, align 2
  %718 = alloca i32, align 4
  %719 = alloca i32, align 4
  %720 = alloca i32, align 4
  %721 = alloca i32, align 4
  %722 = alloca i32, align 4
  %723 = alloca i32, align 4
  %724 = alloca i32, align 4
  %725 = alloca i32, align 4
  %726 = alloca i32, align 4
  %727 = alloca i32, align 4
  %728 = alloca i32, align 4
  %729 = alloca i32, align 4
  %730 = alloca i32, align 4
  %731 = alloca i32, align 4
  %732 = alloca i32, align 4
  %733 = alloca i32, align 4
  %734 = alloca i32, align 4
  %735 = alloca i32, align 4
  %736 = alloca i32, align 4
  %737 = alloca i32, align 4
  %738 = alloca i32, align 4
  %739 = alloca i32, align 4
  %740 = alloca i32, align 4
  %741 = alloca i32, align 4
  %742 = alloca i32, align 4
  %743 = alloca ptr, align 8
  %744 = alloca i32, align 4
  %745 = alloca i32, align 4
  %746 = alloca i32, align 4
  %747 = alloca i32, align 4
  %748 = alloca i32, align 4
  %749 = alloca i32, align 4
  %750 = alloca i32, align 4
  %751 = alloca ptr, align 8
  %752 = alloca i32, align 4
  %753 = alloca i32, align 4
  %754 = alloca i32, align 4
  %755 = alloca i32, align 4
  %756 = alloca i32, align 4
  %757 = alloca i32, align 4
  %758 = alloca i32, align 4
  %759 = alloca i32, align 4
  %760 = alloca i32, align 4
  %761 = alloca %struct.s2n_offered_early_data, align 8
  %762 = alloca i32, align 4
  %763 = alloca i32, align 4
  %764 = alloca i32, align 4
  %765 = alloca i32, align 4
  %766 = alloca i32, align 4
  %767 = alloca i32, align 4
  %768 = alloca i32, align 4
  %769 = alloca i32, align 4
  %770 = alloca i32, align 4
  %771 = alloca %struct.s2n_offered_early_data, align 8
  %772 = alloca i32, align 4
  %773 = alloca i32, align 4
  %774 = alloca i32, align 4
  %775 = alloca i32, align 4
  %776 = alloca i32, align 4
  %777 = alloca i32, align 4
  %778 = alloca i32, align 4
  %779 = alloca i32, align 4
  %780 = alloca i32, align 4
  %781 = alloca i32, align 4
  %782 = alloca i32, align 4
  %783 = 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 %784

784:                                              ; preds = %2
  br label %785

785:                                              ; preds = %784
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %786 = load ptr, ptr @stdout, align 8, !tbaa !9
  %787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %786, ptr noundef @.str, ptr noundef @.str.1) #11
  %788 = load ptr, ptr @stdout, align 8, !tbaa !9
  %789 = call i32 @fflush(ptr noundef %788)
  br label %790

790:                                              ; preds = %785
  %791 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %792 = icmp eq i32 %791, -1
  br i1 %792, label %793, label %844

793:                                              ; preds = %790
  br label %794

794:                                              ; preds = %793
  br label %795

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

802:                                              ; preds = %795
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = call i32 @fileno(ptr noundef %803) #11
  %805 = call i32 @isatty(i32 noundef %804) #11
  %806 = icmp ne i32 %805, 0
  br i1 %806, label %807, label %824

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

824:                                              ; preds = %802, %795
  %825 = load i32, ptr %6, align 4, !tbaa !5
  %826 = call ptr @__errno_location() #12
  store i32 %825, ptr %826, align 4, !tbaa !5
  %827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %828 = load i32, ptr @test_count, align 4, !tbaa !5
  %829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %830 = load i32, ptr %829, align 4, !tbaa !5
  %831 = call ptr @s2n_strerror(i32 noundef %830, ptr noundef @.str.4)
  %832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %833 = load i32, ptr %832, align 4, !tbaa !5
  %834 = call ptr @s2n_strerror_debug(i32 noundef %833, ptr noundef @.str.4)
  %835 = call ptr @__errno_location() #12
  %836 = load i32, ptr %835, align 4, !tbaa !5
  %837 = call ptr @strerror(i32 noundef %836) #11
  %838 = call ptr @__errno_location() #12
  %839 = load i32, ptr %838, align 4, !tbaa !5
  %840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %827, ptr noundef @.str.5, i32 noundef %828, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 116, ptr noundef %831, ptr noundef %834, ptr noundef %837, i32 noundef %839) #11
  br label %841

841:                                              ; preds = %824, %807
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %842

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

843:                                              ; No predecessors!
  br label %844

844:                                              ; preds = %843, %790
  br label %845

845:                                              ; preds = %844
  br label %846

846:                                              ; preds = %845
  %847 = load i32, ptr @test_count, align 4, !tbaa !5
  %848 = add nsw i32 %847, 1
  store i32 %848, ptr @test_count, align 4, !tbaa !5
  %849 = call i32 @s2n_enable_atexit()
  %850 = icmp eq i32 %849, -1
  br i1 %850, label %851, label %902

851:                                              ; preds = %846
  br label %852

852:                                              ; preds = %851
  br label %853

853:                                              ; preds = %852
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %854 = call ptr @__errno_location() #12
  %855 = load i32, ptr %854, align 4, !tbaa !5
  store i32 %855, ptr %7, align 4, !tbaa !5
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @s2n_print_stacktrace(ptr noundef %856)
  %858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %859 = trunc i8 %858 to i1
  br i1 %859, label %860, label %882

860:                                              ; preds = %853
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = call i32 @fileno(ptr noundef %861) #11
  %863 = call i32 @isatty(i32 noundef %862) #11
  %864 = icmp ne i32 %863, 0
  br i1 %864, label %865, label %882

865:                                              ; preds = %860
  %866 = load i32, ptr %7, align 4, !tbaa !5
  %867 = call ptr @__errno_location() #12
  store i32 %866, ptr %867, align 4, !tbaa !5
  %868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %869 = load i32, ptr @test_count, align 4, !tbaa !5
  %870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %871 = load i32, ptr %870, align 4, !tbaa !5
  %872 = call ptr @s2n_strerror(i32 noundef %871, ptr noundef @.str.4)
  %873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %874 = load i32, ptr %873, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror_debug(i32 noundef %874, ptr noundef @.str.4)
  %876 = call ptr @__errno_location() #12
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = call ptr @strerror(i32 noundef %877) #11
  %879 = call ptr @__errno_location() #12
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %868, ptr noundef @.str.2, i32 noundef %869, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 116, ptr noundef %872, ptr noundef %875, ptr noundef %878, i32 noundef %880) #11
  br label %899

882:                                              ; preds = %860, %853
  %883 = load i32, ptr %7, align 4, !tbaa !5
  %884 = call ptr @__errno_location() #12
  store i32 %883, ptr %884, align 4, !tbaa !5
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = load i32, ptr @test_count, align 4, !tbaa !5
  %887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = call ptr @s2n_strerror(i32 noundef %888, ptr noundef @.str.4)
  %890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %891 = load i32, ptr %890, align 4, !tbaa !5
  %892 = call ptr @s2n_strerror_debug(i32 noundef %891, ptr noundef @.str.4)
  %893 = call ptr @__errno_location() #12
  %894 = load i32, ptr %893, align 4, !tbaa !5
  %895 = call ptr @strerror(i32 noundef %894) #11
  %896 = call ptr @__errno_location() #12
  %897 = load i32, ptr %896, align 4, !tbaa !5
  %898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %885, ptr noundef @.str.5, i32 noundef %886, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 116, ptr noundef %889, ptr noundef %892, ptr noundef %895, i32 noundef %897) #11
  br label %899

899:                                              ; preds = %882, %865
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %900

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

901:                                              ; No predecessors!
  br label %902

902:                                              ; preds = %901, %846
  br label %903

903:                                              ; preds = %902
  br label %904

904:                                              ; preds = %903
  br label %905

905:                                              ; preds = %904
  %906 = call i32 @s2n_init()
  %907 = icmp eq i32 %906, -1
  br i1 %907, label %908, label %959

908:                                              ; preds = %905
  br label %909

909:                                              ; preds = %908
  br label %910

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

917:                                              ; preds = %910
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = call i32 @fileno(ptr noundef %918) #11
  %920 = call i32 @isatty(i32 noundef %919) #11
  %921 = icmp ne i32 %920, 0
  br i1 %921, label %922, label %939

922:                                              ; preds = %917
  %923 = load i32, ptr %8, align 4, !tbaa !5
  %924 = call ptr @__errno_location() #12
  store i32 %923, ptr %924, align 4, !tbaa !5
  %925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %926 = load i32, ptr @test_count, align 4, !tbaa !5
  %927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %928 = load i32, ptr %927, align 4, !tbaa !5
  %929 = call ptr @s2n_strerror(i32 noundef %928, ptr noundef @.str.4)
  %930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %931 = load i32, ptr %930, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror_debug(i32 noundef %931, ptr noundef @.str.4)
  %933 = call ptr @__errno_location() #12
  %934 = load i32, ptr %933, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #11
  %936 = call ptr @__errno_location() #12
  %937 = load i32, ptr %936, align 4, !tbaa !5
  %938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %925, ptr noundef @.str.2, i32 noundef %926, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 116, ptr noundef %929, ptr noundef %932, ptr noundef %935, i32 noundef %937) #11
  br label %956

939:                                              ; preds = %917, %910
  %940 = load i32, ptr %8, align 4, !tbaa !5
  %941 = call ptr @__errno_location() #12
  store i32 %940, ptr %941, align 4, !tbaa !5
  %942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %943 = load i32, ptr @test_count, align 4, !tbaa !5
  %944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %945 = load i32, ptr %944, align 4, !tbaa !5
  %946 = call ptr @s2n_strerror(i32 noundef %945, ptr noundef @.str.4)
  %947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %948 = load i32, ptr %947, align 4, !tbaa !5
  %949 = call ptr @s2n_strerror_debug(i32 noundef %948, ptr noundef @.str.4)
  %950 = call ptr @__errno_location() #12
  %951 = load i32, ptr %950, align 4, !tbaa !5
  %952 = call ptr @strerror(i32 noundef %951) #11
  %953 = call ptr @__errno_location() #12
  %954 = load i32, ptr %953, align 4, !tbaa !5
  %955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %942, ptr noundef @.str.5, i32 noundef %943, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 116, ptr noundef %946, ptr noundef %949, ptr noundef %952, i32 noundef %954) #11
  br label %956

956:                                              ; preds = %939, %922
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %957

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

958:                                              ; No predecessors!
  br label %959

959:                                              ; preds = %958, %905
  br label %960

960:                                              ; preds = %959
  br label %961

961:                                              ; preds = %960
  call void @llvm.lifetime.start.p0(i64 11, ptr %9) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.test_value, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 15, ptr %10) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %10, ptr align 1 @__const.main.test_value_2, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #11
  store i32 10, ptr %11, align 4, !tbaa !5
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962
  br label %964

964:                                              ; preds = %963
  %965 = load i32, ptr @test_count, align 4, !tbaa !5
  %966 = add nsw i32 %965, 1
  store i32 %966, ptr @test_count, align 4, !tbaa !5
  %967 = call i32 @s2n_connection_set_early_data_state(ptr noundef null, i32 noundef 0)
  %968 = getelementptr inbounds %struct.s2n_result, ptr %12, i32 0, i32 0
  store i32 %967, ptr %968, align 4
  %969 = getelementptr inbounds %struct.s2n_result, ptr %12, i32 0, i32 0
  %970 = load i32, ptr %969, align 4
  %971 = call zeroext i1 @s2n_result_is_error(i32 %970)
  br i1 %971, label %1025, label %972

972:                                              ; preds = %964
  br label %973

973:                                              ; preds = %972
  br label %974

974:                                              ; preds = %973
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %975 = call ptr @__errno_location() #12
  %976 = load i32, ptr %975, align 4, !tbaa !5
  store i32 %976, ptr %13, align 4, !tbaa !5
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = call i32 @s2n_print_stacktrace(ptr noundef %977)
  %979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %980 = trunc i8 %979 to i1
  br i1 %980, label %981, label %1003

981:                                              ; preds = %974
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = call i32 @fileno(ptr noundef %982) #11
  %984 = call i32 @isatty(i32 noundef %983) #11
  %985 = icmp ne i32 %984, 0
  br i1 %985, label %986, label %1003

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

1003:                                             ; preds = %981, %974
  %1004 = load i32, ptr %13, align 4, !tbaa !5
  %1005 = call ptr @__errno_location() #12
  store i32 %1004, ptr %1005, align 4, !tbaa !5
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = load i32, ptr @test_count, align 4, !tbaa !5
  %1008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror(i32 noundef %1009, ptr noundef @.str.4)
  %1011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1012 = load i32, ptr %1011, align 4, !tbaa !5
  %1013 = call ptr @s2n_strerror_debug(i32 noundef %1012, ptr noundef @.str.4)
  %1014 = call ptr @__errno_location() #12
  %1015 = load i32, ptr %1014, align 4, !tbaa !5
  %1016 = call ptr @strerror(i32 noundef %1015) #11
  %1017 = call ptr @__errno_location() #12
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1006, ptr noundef @.str.5, i32 noundef %1007, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 125, ptr noundef %1010, ptr noundef %1013, ptr noundef %1016, i32 noundef %1018) #11
  br label %1020

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

1021:                                             ; preds = %1020
  br label %1022

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

1023:                                             ; No predecessors!
  br label %1024

1024:                                             ; preds = %1023
  br label %1025

1025:                                             ; preds = %1024, %964
  br label %1026

1026:                                             ; preds = %1025
  br label %1027

1027:                                             ; preds = %1026
  br label %1028

1028:                                             ; preds = %1027
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = add nsw i32 %1029, 1
  store i32 %1030, ptr @test_count, align 4, !tbaa !5
  %1031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  %1033 = icmp eq i32 %1032, 402653193
  br i1 %1033, label %1087, label %1034

1034:                                             ; preds = %1028
  br label %1035

1035:                                             ; preds = %1034
  br label %1036

1036:                                             ; preds = %1035
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %1037 = call ptr @__errno_location() #12
  %1038 = load i32, ptr %1037, align 4, !tbaa !5
  store i32 %1038, ptr %14, align 4, !tbaa !5
  %1039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1040 = call i32 @s2n_print_stacktrace(ptr noundef %1039)
  %1041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1042 = trunc i8 %1041 to i1
  br i1 %1042, label %1043, label %1065

1043:                                             ; preds = %1036
  %1044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1045 = call i32 @fileno(ptr noundef %1044) #11
  %1046 = call i32 @isatty(i32 noundef %1045) #11
  %1047 = icmp ne i32 %1046, 0
  br i1 %1047, label %1048, label %1065

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

1065:                                             ; preds = %1043, %1036
  %1066 = load i32, ptr %14, align 4, !tbaa !5
  %1067 = call ptr @__errno_location() #12
  store i32 %1066, ptr %1067, align 4, !tbaa !5
  %1068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1069 = load i32, ptr @test_count, align 4, !tbaa !5
  %1070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  %1072 = call ptr @s2n_strerror(i32 noundef %1071, ptr noundef @.str.4)
  %1073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1074 = load i32, ptr %1073, align 4, !tbaa !5
  %1075 = call ptr @s2n_strerror_debug(i32 noundef %1074, ptr noundef @.str.4)
  %1076 = call ptr @__errno_location() #12
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = call ptr @strerror(i32 noundef %1077) #11
  %1079 = call ptr @__errno_location() #12
  %1080 = load i32, ptr %1079, align 4, !tbaa !5
  %1081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1068, ptr noundef @.str.5, i32 noundef %1069, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 125, ptr noundef %1072, ptr noundef %1075, ptr noundef %1078, i32 noundef %1080) #11
  br label %1082

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

1083:                                             ; preds = %1082
  br label %1084

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

1085:                                             ; No predecessors!
  br label %1086

1086:                                             ; preds = %1085
  br label %1087

1087:                                             ; preds = %1086, %1028
  br label %1088

1088:                                             ; preds = %1087
  br label %1089

1089:                                             ; preds = %1088
  br label %1090

1090:                                             ; preds = %1089
  %1091 = load i32, ptr @test_count, align 4, !tbaa !5
  %1092 = add nsw i32 %1091, 1
  store i32 %1092, 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_debug(i32 noundef %1094, ptr noundef @.str.4)
  %1096 = icmp eq ptr %1095, null
  br i1 %1096, label %1097, label %1150

1097:                                             ; preds = %1090
  br label %1098

1098:                                             ; preds = %1097
  br label %1099

1099:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %1100 = call ptr @__errno_location() #12
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  store i32 %1101, ptr %15, align 4, !tbaa !5
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = call i32 @s2n_print_stacktrace(ptr noundef %1102)
  %1104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1105 = trunc i8 %1104 to i1
  br i1 %1105, label %1106, label %1128

1106:                                             ; preds = %1099
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = call i32 @fileno(ptr noundef %1107) #11
  %1109 = call i32 @isatty(i32 noundef %1108) #11
  %1110 = icmp ne i32 %1109, 0
  br i1 %1110, label %1111, label %1128

1111:                                             ; preds = %1106
  %1112 = load i32, ptr %15, align 4, !tbaa !5
  %1113 = call ptr @__errno_location() #12
  store i32 %1112, ptr %1113, align 4, !tbaa !5
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = load i32, ptr @test_count, align 4, !tbaa !5
  %1116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1117 = load i32, ptr %1116, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror(i32 noundef %1117, ptr noundef @.str.4)
  %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_debug(i32 noundef %1120, ptr noundef @.str.4)
  %1122 = call ptr @__errno_location() #12
  %1123 = load i32, ptr %1122, align 4, !tbaa !5
  %1124 = call ptr @strerror(i32 noundef %1123) #11
  %1125 = call ptr @__errno_location() #12
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1114, ptr noundef @.str.2, i32 noundef %1115, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 125, ptr noundef %1118, ptr noundef %1121, ptr noundef %1124, i32 noundef %1126) #11
  br label %1145

1128:                                             ; preds = %1106, %1099
  %1129 = load i32, ptr %15, align 4, !tbaa !5
  %1130 = call ptr @__errno_location() #12
  store i32 %1129, ptr %1130, align 4, !tbaa !5
  %1131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1132 = load i32, ptr @test_count, align 4, !tbaa !5
  %1133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1134 = load i32, ptr %1133, align 4, !tbaa !5
  %1135 = call ptr @s2n_strerror(i32 noundef %1134, ptr noundef @.str.4)
  %1136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1137 = load i32, ptr %1136, align 4, !tbaa !5
  %1138 = call ptr @s2n_strerror_debug(i32 noundef %1137, ptr noundef @.str.4)
  %1139 = call ptr @__errno_location() #12
  %1140 = load i32, ptr %1139, align 4, !tbaa !5
  %1141 = call ptr @strerror(i32 noundef %1140) #11
  %1142 = call ptr @__errno_location() #12
  %1143 = load i32, ptr %1142, align 4, !tbaa !5
  %1144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1131, ptr noundef @.str.5, i32 noundef %1132, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 125, ptr noundef %1135, ptr noundef %1138, ptr noundef %1141, i32 noundef %1143) #11
  br label %1145

1145:                                             ; preds = %1128, %1111
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %1146

1146:                                             ; preds = %1145
  br label %1147

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

1148:                                             ; No predecessors!
  br label %1149

1149:                                             ; preds = %1148
  br label %1150

1150:                                             ; preds = %1149, %1090
  br label %1151

1151:                                             ; preds = %1150
  br label %1152

1152:                                             ; preds = %1151
  br label %1153

1153:                                             ; preds = %1152
  br label %1154

1154:                                             ; preds = %1153
  br label %1155

1155:                                             ; preds = %1154
  %1156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1156, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1157 = call ptr @__errno_location() #12
  store i32 0, ptr %1157, align 4, !tbaa !5
  br label %1158

1158:                                             ; preds = %1155
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159
  br label %1161

1161:                                             ; preds = %1160
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %16, ptr align 4 @__const.main.early_data_not_requested_seq, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr %17) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %17, ptr align 4 @__const.main.early_data_rejected_seq, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %18, ptr align 16 @__const.main.early_data_success_seq, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #11
  %1162 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1162, ptr %19, align 8, !tbaa !9
  br label %1163

1163:                                             ; preds = %1161
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = add nsw i32 %1164, 1
  store i32 %1165, ptr @test_count, align 4, !tbaa !5
  %1166 = load ptr, ptr %19, align 8, !tbaa !9
  %1167 = icmp eq ptr %1166, null
  br i1 %1167, label %1168, label %1221

1168:                                             ; preds = %1163
  br label %1169

1169:                                             ; preds = %1168
  br label %1170

1170:                                             ; preds = %1169
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %1171 = call ptr @__errno_location() #12
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  store i32 %1172, ptr %20, align 4, !tbaa !5
  %1173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1174 = call i32 @s2n_print_stacktrace(ptr noundef %1173)
  %1175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1176 = trunc i8 %1175 to i1
  br i1 %1176, label %1177, label %1199

1177:                                             ; preds = %1170
  %1178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1179 = call i32 @fileno(ptr noundef %1178) #11
  %1180 = call i32 @isatty(i32 noundef %1179) #11
  %1181 = icmp ne i32 %1180, 0
  br i1 %1181, label %1182, label %1199

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

1199:                                             ; preds = %1177, %1170
  %1200 = load i32, ptr %20, align 4, !tbaa !5
  %1201 = call ptr @__errno_location() #12
  store i32 %1200, ptr %1201, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1205 = load i32, ptr %1204, align 4, !tbaa !5
  %1206 = call ptr @s2n_strerror(i32 noundef %1205, ptr noundef @.str.4)
  %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_debug(i32 noundef %1208, ptr noundef @.str.4)
  %1210 = call ptr @__errno_location() #12
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = call ptr @strerror(i32 noundef %1211) #11
  %1213 = call ptr @__errno_location() #12
  %1214 = load i32, ptr %1213, align 4, !tbaa !5
  %1215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1202, ptr noundef @.str.5, i32 noundef %1203, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 140, ptr noundef %1206, ptr noundef %1209, ptr noundef %1212, i32 noundef %1214) #11
  br label %1216

1216:                                             ; preds = %1199, %1182
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1217

1217:                                             ; preds = %1216
  br label %1218

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

1219:                                             ; No predecessors!
  br label %1220

1220:                                             ; preds = %1219
  br label %1221

1221:                                             ; preds = %1220, %1163
  br label %1222

1222:                                             ; preds = %1221
  br label %1223

1223:                                             ; preds = %1222
  %1224 = load ptr, ptr %19, align 8, !tbaa !9
  %1225 = getelementptr inbounds %struct.s2n_connection, ptr %1224, i32 0, i32 89
  store i32 0, ptr %1225, align 8, !tbaa !15
  br label %1226

1226:                                             ; preds = %1223
  %1227 = load i32, ptr @test_count, align 4, !tbaa !5
  %1228 = add nsw i32 %1227, 1
  store i32 %1228, ptr @test_count, align 4, !tbaa !5
  %1229 = load ptr, ptr %19, align 8, !tbaa !9
  %1230 = call i32 @s2n_connection_set_early_data_state(ptr noundef %1229, i32 noundef 0)
  %1231 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  store i32 %1230, ptr %1231, align 4
  %1232 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  %1233 = load i32, ptr %1232, align 4
  %1234 = call zeroext i1 @s2n_result_is_ok(i32 %1233)
  br i1 %1234, label %1288, label %1235

1235:                                             ; preds = %1226
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

1237:                                             ; preds = %1236
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %1238 = call ptr @__errno_location() #12
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  store i32 %1239, ptr %22, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = call i32 @s2n_print_stacktrace(ptr noundef %1240)
  %1242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1243 = trunc i8 %1242 to i1
  br i1 %1243, label %1244, label %1266

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

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

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

1283:                                             ; preds = %1266, %1249
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

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

1286:                                             ; No predecessors!
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

1288:                                             ; preds = %1287, %1226
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  %1291 = load ptr, ptr %19, align 8, !tbaa !9
  %1292 = getelementptr inbounds %struct.s2n_connection, ptr %1291, i32 0, i32 89
  store i32 0, ptr %1292, align 8, !tbaa !15
  br label %1293

1293:                                             ; preds = %1290
  br label %1294

1294:                                             ; preds = %1293
  br label %1295

1295:                                             ; preds = %1294
  %1296 = load i32, ptr @test_count, align 4, !tbaa !5
  %1297 = add nsw i32 %1296, 1
  store i32 %1297, ptr @test_count, align 4, !tbaa !5
  %1298 = load ptr, ptr %19, align 8, !tbaa !9
  %1299 = call i32 @s2n_connection_set_early_data_state(ptr noundef %1298, i32 noundef 6)
  %1300 = getelementptr inbounds %struct.s2n_result, ptr %23, i32 0, i32 0
  store i32 %1299, ptr %1300, align 4
  %1301 = getelementptr inbounds %struct.s2n_result, ptr %23, i32 0, i32 0
  %1302 = load i32, ptr %1301, align 4
  %1303 = call zeroext i1 @s2n_result_is_error(i32 %1302)
  br i1 %1303, label %1357, label %1304

1304:                                             ; preds = %1295
  br label %1305

1305:                                             ; preds = %1304
  br label %1306

1306:                                             ; preds = %1305
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %1307 = call ptr @__errno_location() #12
  %1308 = load i32, ptr %1307, align 4, !tbaa !5
  store i32 %1308, ptr %24, align 4, !tbaa !5
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = call i32 @s2n_print_stacktrace(ptr noundef %1309)
  %1311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1312 = trunc i8 %1311 to i1
  br i1 %1312, label %1313, label %1335

1313:                                             ; preds = %1306
  %1314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1315 = call i32 @fileno(ptr noundef %1314) #11
  %1316 = call i32 @isatty(i32 noundef %1315) #11
  %1317 = icmp ne i32 %1316, 0
  br i1 %1317, label %1318, label %1335

1318:                                             ; preds = %1313
  %1319 = load i32, ptr %24, align 4, !tbaa !5
  %1320 = call ptr @__errno_location() #12
  store i32 %1319, ptr %1320, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = call ptr @s2n_strerror(i32 noundef %1324, ptr noundef @.str.4)
  %1326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1327 = load i32, ptr %1326, align 4, !tbaa !5
  %1328 = call ptr @s2n_strerror_debug(i32 noundef %1327, ptr noundef @.str.4)
  %1329 = call ptr @__errno_location() #12
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = call ptr @strerror(i32 noundef %1330) #11
  %1332 = call ptr @__errno_location() #12
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  %1334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1321, ptr noundef @.str.2, i32 noundef %1322, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1325, ptr noundef %1328, ptr noundef %1331, i32 noundef %1333) #11
  br label %1352

1335:                                             ; preds = %1313, %1306
  %1336 = load i32, ptr %24, align 4, !tbaa !5
  %1337 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %1346 = call ptr @__errno_location() #12
  %1347 = load i32, ptr %1346, align 4, !tbaa !5
  %1348 = call ptr @strerror(i32 noundef %1347) #11
  %1349 = call ptr @__errno_location() #12
  %1350 = load i32, ptr %1349, align 4, !tbaa !5
  %1351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1338, ptr noundef @.str.5, i32 noundef %1339, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1342, ptr noundef %1345, ptr noundef %1348, i32 noundef %1350) #11
  br label %1352

1352:                                             ; preds = %1335, %1318
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1353

1353:                                             ; preds = %1352
  br label %1354

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

1355:                                             ; No predecessors!
  br label %1356

1356:                                             ; preds = %1355
  br label %1357

1357:                                             ; preds = %1356, %1295
  br label %1358

1358:                                             ; preds = %1357
  br label %1359

1359:                                             ; preds = %1358
  br label %1360

1360:                                             ; preds = %1359
  %1361 = load i32, ptr @test_count, align 4, !tbaa !5
  %1362 = add nsw i32 %1361, 1
  store i32 %1362, 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 = icmp eq i32 %1364, 402653262
  br i1 %1365, label %1419, label %1366

1366:                                             ; preds = %1360
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

1368:                                             ; preds = %1367
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %1369 = call ptr @__errno_location() #12
  %1370 = load i32, ptr %1369, align 4, !tbaa !5
  store i32 %1370, ptr %25, align 4, !tbaa !5
  %1371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1372 = call i32 @s2n_print_stacktrace(ptr noundef %1371)
  %1373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1374 = trunc i8 %1373 to i1
  br i1 %1374, label %1375, label %1397

1375:                                             ; preds = %1368
  %1376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1377 = call i32 @fileno(ptr noundef %1376) #11
  %1378 = call i32 @isatty(i32 noundef %1377) #11
  %1379 = icmp ne i32 %1378, 0
  br i1 %1379, label %1380, label %1397

1380:                                             ; preds = %1375
  %1381 = load i32, ptr %25, align 4, !tbaa !5
  %1382 = call ptr @__errno_location() #12
  store i32 %1381, ptr %1382, align 4, !tbaa !5
  %1383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1384 = load i32, ptr @test_count, align 4, !tbaa !5
  %1385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  %1387 = call ptr @s2n_strerror(i32 noundef %1386, ptr noundef @.str.4)
  %1388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = call ptr @s2n_strerror_debug(i32 noundef %1389, ptr noundef @.str.4)
  %1391 = call ptr @__errno_location() #12
  %1392 = load i32, ptr %1391, align 4, !tbaa !5
  %1393 = call ptr @strerror(i32 noundef %1392) #11
  %1394 = call ptr @__errno_location() #12
  %1395 = load i32, ptr %1394, align 4, !tbaa !5
  %1396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1383, ptr noundef @.str.2, i32 noundef %1384, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1387, ptr noundef %1390, ptr noundef %1393, i32 noundef %1395) #11
  br label %1414

1397:                                             ; preds = %1375, %1368
  %1398 = load i32, ptr %25, align 4, !tbaa !5
  %1399 = call ptr @__errno_location() #12
  store i32 %1398, ptr %1399, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror(i32 noundef %1403, ptr noundef @.str.4)
  %1405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror_debug(i32 noundef %1406, ptr noundef @.str.4)
  %1408 = call ptr @__errno_location() #12
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  %1410 = call ptr @strerror(i32 noundef %1409) #11
  %1411 = call ptr @__errno_location() #12
  %1412 = load i32, ptr %1411, align 4, !tbaa !5
  %1413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1400, ptr noundef @.str.5, i32 noundef %1401, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1404, ptr noundef %1407, ptr noundef %1410, i32 noundef %1412) #11
  br label %1414

1414:                                             ; preds = %1397, %1380
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %1415

1415:                                             ; preds = %1414
  br label %1416

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

1417:                                             ; No predecessors!
  br label %1418

1418:                                             ; preds = %1417
  br label %1419

1419:                                             ; preds = %1418, %1360
  br label %1420

1420:                                             ; preds = %1419
  br label %1421

1421:                                             ; preds = %1420
  br label %1422

1422:                                             ; preds = %1421
  %1423 = load i32, ptr @test_count, align 4, !tbaa !5
  %1424 = add nsw i32 %1423, 1
  store i32 %1424, ptr @test_count, align 4, !tbaa !5
  %1425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1426 = load i32, ptr %1425, align 4, !tbaa !5
  %1427 = call ptr @s2n_strerror_debug(i32 noundef %1426, ptr noundef @.str.4)
  %1428 = icmp eq ptr %1427, null
  br i1 %1428, label %1429, label %1482

1429:                                             ; preds = %1422
  br label %1430

1430:                                             ; preds = %1429
  br label %1431

1431:                                             ; preds = %1430
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  %1432 = call ptr @__errno_location() #12
  %1433 = load i32, ptr %1432, align 4, !tbaa !5
  store i32 %1433, ptr %26, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = call i32 @s2n_print_stacktrace(ptr noundef %1434)
  %1436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1437 = trunc i8 %1436 to i1
  br i1 %1437, label %1438, label %1460

1438:                                             ; preds = %1431
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = call i32 @fileno(ptr noundef %1439) #11
  %1441 = call i32 @isatty(i32 noundef %1440) #11
  %1442 = icmp ne i32 %1441, 0
  br i1 %1442, label %1443, label %1460

1443:                                             ; preds = %1438
  %1444 = load i32, ptr %26, align 4, !tbaa !5
  %1445 = call ptr @__errno_location() #12
  store i32 %1444, ptr %1445, align 4, !tbaa !5
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = load i32, ptr @test_count, align 4, !tbaa !5
  %1448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1449 = load i32, ptr %1448, align 4, !tbaa !5
  %1450 = call ptr @s2n_strerror(i32 noundef %1449, ptr noundef @.str.4)
  %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_debug(i32 noundef %1452, ptr noundef @.str.4)
  %1454 = call ptr @__errno_location() #12
  %1455 = load i32, ptr %1454, align 4, !tbaa !5
  %1456 = call ptr @strerror(i32 noundef %1455) #11
  %1457 = call ptr @__errno_location() #12
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1446, ptr noundef @.str.2, i32 noundef %1447, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1450, ptr noundef %1453, ptr noundef %1456, i32 noundef %1458) #11
  br label %1477

1460:                                             ; preds = %1438, %1431
  %1461 = load i32, ptr %26, align 4, !tbaa !5
  %1462 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %1471 = call ptr @__errno_location() #12
  %1472 = load i32, ptr %1471, align 4, !tbaa !5
  %1473 = call ptr @strerror(i32 noundef %1472) #11
  %1474 = call ptr @__errno_location() #12
  %1475 = load i32, ptr %1474, align 4, !tbaa !5
  %1476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1463, ptr noundef @.str.5, i32 noundef %1464, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1467, ptr noundef %1470, ptr noundef %1473, i32 noundef %1475) #11
  br label %1477

1477:                                             ; preds = %1460, %1443
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

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

1480:                                             ; No predecessors!
  br label %1481

1481:                                             ; preds = %1480
  br label %1482

1482:                                             ; preds = %1481, %1422
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

1484:                                             ; preds = %1483
  br label %1485

1485:                                             ; preds = %1484
  br label %1486

1486:                                             ; preds = %1485
  br label %1487

1487:                                             ; preds = %1486
  %1488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1488, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1489 = call ptr @__errno_location() #12
  store i32 0, ptr %1489, align 4, !tbaa !5
  br label %1490

1490:                                             ; preds = %1487
  br label %1491

1491:                                             ; preds = %1490
  br label %1492

1492:                                             ; preds = %1491
  br label %1493

1493:                                             ; preds = %1492
  %1494 = load ptr, ptr %19, align 8, !tbaa !9
  %1495 = getelementptr inbounds %struct.s2n_connection, ptr %1494, i32 0, i32 89
  store i32 0, ptr %1495, align 8, !tbaa !15
  br label %1496

1496:                                             ; preds = %1493
  br label %1497

1497:                                             ; preds = %1496
  br label %1498

1498:                                             ; preds = %1497
  %1499 = load i32, ptr @test_count, align 4, !tbaa !5
  %1500 = add nsw i32 %1499, 1
  store i32 %1500, ptr @test_count, align 4, !tbaa !5
  %1501 = load ptr, ptr %19, align 8, !tbaa !9
  %1502 = call i32 @s2n_connection_set_early_data_state(ptr noundef %1501, i32 noundef 7)
  %1503 = getelementptr inbounds %struct.s2n_result, ptr %27, i32 0, i32 0
  store i32 %1502, ptr %1503, align 4
  %1504 = getelementptr inbounds %struct.s2n_result, ptr %27, i32 0, i32 0
  %1505 = load i32, ptr %1504, align 4
  %1506 = call zeroext i1 @s2n_result_is_error(i32 %1505)
  br i1 %1506, label %1560, label %1507

1507:                                             ; preds = %1498
  br label %1508

1508:                                             ; preds = %1507
  br label %1509

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

1516:                                             ; preds = %1509
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = call i32 @fileno(ptr noundef %1517) #11
  %1519 = call i32 @isatty(i32 noundef %1518) #11
  %1520 = icmp ne i32 %1519, 0
  br i1 %1520, label %1521, label %1538

1521:                                             ; preds = %1516
  %1522 = load i32, ptr %28, align 4, !tbaa !5
  %1523 = call ptr @__errno_location() #12
  store i32 %1522, ptr %1523, align 4, !tbaa !5
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = load i32, ptr @test_count, align 4, !tbaa !5
  %1526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror(i32 noundef %1527, ptr noundef @.str.4)
  %1529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call ptr @s2n_strerror_debug(i32 noundef %1530, ptr noundef @.str.4)
  %1532 = call ptr @__errno_location() #12
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call ptr @strerror(i32 noundef %1533) #11
  %1535 = call ptr @__errno_location() #12
  %1536 = load i32, ptr %1535, align 4, !tbaa !5
  %1537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1524, ptr noundef @.str.2, i32 noundef %1525, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1528, ptr noundef %1531, ptr noundef %1534, i32 noundef %1536) #11
  br label %1555

1538:                                             ; preds = %1516, %1509
  %1539 = load i32, ptr %28, align 4, !tbaa !5
  %1540 = call ptr @__errno_location() #12
  store i32 %1539, ptr %1540, align 4, !tbaa !5
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = load i32, ptr @test_count, align 4, !tbaa !5
  %1543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror(i32 noundef %1544, ptr noundef @.str.4)
  %1546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @s2n_strerror_debug(i32 noundef %1547, ptr noundef @.str.4)
  %1549 = call ptr @__errno_location() #12
  %1550 = load i32, ptr %1549, align 4, !tbaa !5
  %1551 = call ptr @strerror(i32 noundef %1550) #11
  %1552 = call ptr @__errno_location() #12
  %1553 = load i32, ptr %1552, align 4, !tbaa !5
  %1554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1541, ptr noundef @.str.5, i32 noundef %1542, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1545, ptr noundef %1548, ptr noundef %1551, i32 noundef %1553) #11
  br label %1555

1555:                                             ; preds = %1538, %1521
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

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

1558:                                             ; No predecessors!
  br label %1559

1559:                                             ; preds = %1558
  br label %1560

1560:                                             ; preds = %1559, %1498
  br label %1561

1561:                                             ; preds = %1560
  br label %1562

1562:                                             ; preds = %1561
  br label %1563

1563:                                             ; preds = %1562
  %1564 = load i32, ptr @test_count, align 4, !tbaa !5
  %1565 = add nsw i32 %1564, 1
  store i32 %1565, ptr @test_count, align 4, !tbaa !5
  %1566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1567 = load i32, ptr %1566, align 4, !tbaa !5
  %1568 = icmp eq i32 %1567, 402653262
  br i1 %1568, label %1622, label %1569

1569:                                             ; preds = %1563
  br label %1570

1570:                                             ; preds = %1569
  br label %1571

1571:                                             ; preds = %1570
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1572 = call ptr @__errno_location() #12
  %1573 = load i32, ptr %1572, align 4, !tbaa !5
  store i32 %1573, ptr %29, align 4, !tbaa !5
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = call i32 @s2n_print_stacktrace(ptr noundef %1574)
  %1576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1577 = trunc i8 %1576 to i1
  br i1 %1577, label %1578, label %1600

1578:                                             ; preds = %1571
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = call i32 @fileno(ptr noundef %1579) #11
  %1581 = call i32 @isatty(i32 noundef %1580) #11
  %1582 = icmp ne i32 %1581, 0
  br i1 %1582, label %1583, label %1600

1583:                                             ; preds = %1578
  %1584 = load i32, ptr %29, align 4, !tbaa !5
  %1585 = call ptr @__errno_location() #12
  store i32 %1584, ptr %1585, align 4, !tbaa !5
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = load i32, ptr @test_count, align 4, !tbaa !5
  %1588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  %1590 = call ptr @s2n_strerror(i32 noundef %1589, ptr noundef @.str.4)
  %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_debug(i32 noundef %1592, ptr noundef @.str.4)
  %1594 = call ptr @__errno_location() #12
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call ptr @strerror(i32 noundef %1595) #11
  %1597 = call ptr @__errno_location() #12
  %1598 = load i32, ptr %1597, align 4, !tbaa !5
  %1599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1586, ptr noundef @.str.2, i32 noundef %1587, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1590, ptr noundef %1593, ptr noundef %1596, i32 noundef %1598) #11
  br label %1617

1600:                                             ; preds = %1578, %1571
  %1601 = load i32, ptr %29, align 4, !tbaa !5
  %1602 = call ptr @__errno_location() #12
  store i32 %1601, ptr %1602, align 4, !tbaa !5
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = load i32, ptr @test_count, align 4, !tbaa !5
  %1605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1606 = load i32, ptr %1605, align 4, !tbaa !5
  %1607 = call ptr @s2n_strerror(i32 noundef %1606, ptr noundef @.str.4)
  %1608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1609 = load i32, ptr %1608, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror_debug(i32 noundef %1609, ptr noundef @.str.4)
  %1611 = call ptr @__errno_location() #12
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  %1613 = call ptr @strerror(i32 noundef %1612) #11
  %1614 = call ptr @__errno_location() #12
  %1615 = load i32, ptr %1614, align 4, !tbaa !5
  %1616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1603, ptr noundef @.str.5, i32 noundef %1604, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1607, ptr noundef %1610, ptr noundef %1613, i32 noundef %1615) #11
  br label %1617

1617:                                             ; preds = %1600, %1583
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

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

1620:                                             ; No predecessors!
  br label %1621

1621:                                             ; preds = %1620
  br label %1622

1622:                                             ; preds = %1621, %1563
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

1624:                                             ; preds = %1623
  br label %1625

1625:                                             ; preds = %1624
  %1626 = load i32, ptr @test_count, align 4, !tbaa !5
  %1627 = add nsw i32 %1626, 1
  store i32 %1627, ptr @test_count, align 4, !tbaa !5
  %1628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = call ptr @s2n_strerror_debug(i32 noundef %1629, ptr noundef @.str.4)
  %1631 = icmp eq ptr %1630, null
  br i1 %1631, label %1632, label %1685

1632:                                             ; preds = %1625
  br label %1633

1633:                                             ; preds = %1632
  br label %1634

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

1641:                                             ; preds = %1634
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = call i32 @fileno(ptr noundef %1642) #11
  %1644 = call i32 @isatty(i32 noundef %1643) #11
  %1645 = icmp ne i32 %1644, 0
  br i1 %1645, label %1646, label %1663

1646:                                             ; preds = %1641
  %1647 = load i32, ptr %30, align 4, !tbaa !5
  %1648 = call ptr @__errno_location() #12
  store i32 %1647, ptr %1648, align 4, !tbaa !5
  %1649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1650 = load i32, ptr @test_count, align 4, !tbaa !5
  %1651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror(i32 noundef %1652, ptr noundef @.str.4)
  %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_debug(i32 noundef %1655, ptr noundef @.str.4)
  %1657 = call ptr @__errno_location() #12
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @strerror(i32 noundef %1658) #11
  %1660 = call ptr @__errno_location() #12
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1649, ptr noundef @.str.2, i32 noundef %1650, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1653, ptr noundef %1656, ptr noundef %1659, i32 noundef %1661) #11
  br label %1680

1663:                                             ; preds = %1641, %1634
  %1664 = load i32, ptr %30, align 4, !tbaa !5
  %1665 = call ptr @__errno_location() #12
  store i32 %1664, ptr %1665, align 4, !tbaa !5
  %1666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1667 = load i32, ptr @test_count, align 4, !tbaa !5
  %1668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1669 = load i32, ptr %1668, align 4, !tbaa !5
  %1670 = call ptr @s2n_strerror(i32 noundef %1669, ptr noundef @.str.4)
  %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_debug(i32 noundef %1672, ptr noundef @.str.4)
  %1674 = call ptr @__errno_location() #12
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call ptr @strerror(i32 noundef %1675) #11
  %1677 = call ptr @__errno_location() #12
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1666, ptr noundef @.str.5, i32 noundef %1667, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1670, ptr noundef %1673, ptr noundef %1676, i32 noundef %1678) #11
  br label %1680

1680:                                             ; preds = %1663, %1646
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1681

1681:                                             ; preds = %1680
  br label %1682

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

1683:                                             ; No predecessors!
  br label %1684

1684:                                             ; preds = %1683
  br label %1685

1685:                                             ; preds = %1684, %1625
  br label %1686

1686:                                             ; preds = %1685
  br label %1687

1687:                                             ; preds = %1686
  br label %1688

1688:                                             ; preds = %1687
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  %1691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1691, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1692 = call ptr @__errno_location() #12
  store i32 0, ptr %1692, align 4, !tbaa !5
  br label %1693

1693:                                             ; preds = %1690
  br label %1694

1694:                                             ; preds = %1693
  br label %1695

1695:                                             ; preds = %1694
  br label %1696

1696:                                             ; preds = %1695
  %1697 = load ptr, ptr %19, align 8, !tbaa !9
  %1698 = getelementptr inbounds %struct.s2n_connection, ptr %1697, i32 0, i32 89
  store i32 0, ptr %1698, align 8, !tbaa !15
  br label %1699

1699:                                             ; preds = %1696
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = add nsw i32 %1700, 1
  store i32 %1701, ptr @test_count, align 4, !tbaa !5
  %1702 = load ptr, ptr %19, align 8, !tbaa !9
  %1703 = call i32 @s2n_connection_set_early_data_state(ptr noundef %1702, i32 noundef 1)
  %1704 = getelementptr inbounds %struct.s2n_result, ptr %31, i32 0, i32 0
  store i32 %1703, ptr %1704, align 4
  %1705 = getelementptr inbounds %struct.s2n_result, ptr %31, i32 0, i32 0
  %1706 = load i32, ptr %1705, align 4
  %1707 = call zeroext i1 @s2n_result_is_ok(i32 %1706)
  br i1 %1707, label %1761, label %1708

1708:                                             ; preds = %1699
  br label %1709

1709:                                             ; preds = %1708
  br label %1710

1710:                                             ; preds = %1709
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1711 = call ptr @__errno_location() #12
  %1712 = load i32, ptr %1711, align 4, !tbaa !5
  store i32 %1712, ptr %32, align 4, !tbaa !5
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = call i32 @s2n_print_stacktrace(ptr noundef %1713)
  %1715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1716 = trunc i8 %1715 to i1
  br i1 %1716, label %1717, label %1739

1717:                                             ; preds = %1710
  %1718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1719 = call i32 @fileno(ptr noundef %1718) #11
  %1720 = call i32 @isatty(i32 noundef %1719) #11
  %1721 = icmp ne i32 %1720, 0
  br i1 %1721, label %1722, label %1739

1722:                                             ; preds = %1717
  %1723 = load i32, ptr %32, align 4, !tbaa !5
  %1724 = call ptr @__errno_location() #12
  store i32 %1723, ptr %1724, align 4, !tbaa !5
  %1725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1726 = load i32, ptr @test_count, align 4, !tbaa !5
  %1727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror(i32 noundef %1728, ptr noundef @.str.4)
  %1730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call ptr @s2n_strerror_debug(i32 noundef %1731, ptr noundef @.str.4)
  %1733 = call ptr @__errno_location() #12
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call ptr @strerror(i32 noundef %1734) #11
  %1736 = call ptr @__errno_location() #12
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1725, ptr noundef @.str.2, i32 noundef %1726, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 154, ptr noundef %1729, ptr noundef %1732, ptr noundef %1735, i32 noundef %1737) #11
  br label %1756

1739:                                             ; preds = %1717, %1710
  %1740 = load i32, ptr %32, align 4, !tbaa !5
  %1741 = call ptr @__errno_location() #12
  store i32 %1740, ptr %1741, align 4, !tbaa !5
  %1742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1743 = load i32, ptr @test_count, align 4, !tbaa !5
  %1744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1745 = load i32, ptr %1744, align 4, !tbaa !5
  %1746 = call ptr @s2n_strerror(i32 noundef %1745, ptr noundef @.str.4)
  %1747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1748 = load i32, ptr %1747, align 4, !tbaa !5
  %1749 = call ptr @s2n_strerror_debug(i32 noundef %1748, ptr noundef @.str.4)
  %1750 = call ptr @__errno_location() #12
  %1751 = load i32, ptr %1750, align 4, !tbaa !5
  %1752 = call ptr @strerror(i32 noundef %1751) #11
  %1753 = call ptr @__errno_location() #12
  %1754 = load i32, ptr %1753, align 4, !tbaa !5
  %1755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1742, ptr noundef @.str.5, i32 noundef %1743, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 154, ptr noundef %1746, ptr noundef %1749, ptr noundef %1752, i32 noundef %1754) #11
  br label %1756

1756:                                             ; preds = %1739, %1722
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1757

1757:                                             ; preds = %1756
  br label %1758

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

1759:                                             ; No predecessors!
  br label %1760

1760:                                             ; preds = %1759
  br label %1761

1761:                                             ; preds = %1760, %1699
  br label %1762

1762:                                             ; preds = %1761
  br label %1763

1763:                                             ; preds = %1762
  %1764 = load ptr, ptr %19, align 8, !tbaa !9
  %1765 = getelementptr inbounds %struct.s2n_connection, ptr %1764, i32 0, i32 89
  store i32 1, ptr %1765, align 8, !tbaa !15
  br label %1766

1766:                                             ; preds = %1763
  %1767 = load i32, ptr @test_count, align 4, !tbaa !5
  %1768 = add nsw i32 %1767, 1
  store i32 %1768, ptr @test_count, align 4, !tbaa !5
  %1769 = load ptr, ptr %19, align 8, !tbaa !9
  %1770 = call i32 @s2n_connection_set_early_data_state(ptr noundef %1769, i32 noundef 4)
  %1771 = getelementptr inbounds %struct.s2n_result, ptr %33, i32 0, i32 0
  store i32 %1770, ptr %1771, align 4
  %1772 = getelementptr inbounds %struct.s2n_result, ptr %33, i32 0, i32 0
  %1773 = load i32, ptr %1772, align 4
  %1774 = call zeroext i1 @s2n_result_is_ok(i32 %1773)
  br i1 %1774, label %1828, label %1775

1775:                                             ; preds = %1766
  br label %1776

1776:                                             ; preds = %1775
  br label %1777

1777:                                             ; preds = %1776
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1778 = call ptr @__errno_location() #12
  %1779 = load i32, ptr %1778, align 4, !tbaa !5
  store i32 %1779, ptr %34, align 4, !tbaa !5
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @s2n_print_stacktrace(ptr noundef %1780)
  %1782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1783 = trunc i8 %1782 to i1
  br i1 %1783, label %1784, label %1806

1784:                                             ; preds = %1777
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = call i32 @fileno(ptr noundef %1785) #11
  %1787 = call i32 @isatty(i32 noundef %1786) #11
  %1788 = icmp ne i32 %1787, 0
  br i1 %1788, label %1789, label %1806

1789:                                             ; preds = %1784
  %1790 = load i32, ptr %34, align 4, !tbaa !5
  %1791 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %1800 = call ptr @__errno_location() #12
  %1801 = load i32, ptr %1800, align 4, !tbaa !5
  %1802 = call ptr @strerror(i32 noundef %1801) #11
  %1803 = call ptr @__errno_location() #12
  %1804 = load i32, ptr %1803, align 4, !tbaa !5
  %1805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1792, ptr noundef @.str.2, i32 noundef %1793, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 157, ptr noundef %1796, ptr noundef %1799, ptr noundef %1802, i32 noundef %1804) #11
  br label %1823

1806:                                             ; preds = %1784, %1777
  %1807 = load i32, ptr %34, align 4, !tbaa !5
  %1808 = call ptr @__errno_location() #12
  store i32 %1807, ptr %1808, align 4, !tbaa !5
  %1809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1810 = load i32, ptr @test_count, align 4, !tbaa !5
  %1811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1812 = load i32, ptr %1811, align 4, !tbaa !5
  %1813 = call ptr @s2n_strerror(i32 noundef %1812, ptr noundef @.str.4)
  %1814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1815 = load i32, ptr %1814, align 4, !tbaa !5
  %1816 = call ptr @s2n_strerror_debug(i32 noundef %1815, ptr noundef @.str.4)
  %1817 = call ptr @__errno_location() #12
  %1818 = load i32, ptr %1817, align 4, !tbaa !5
  %1819 = call ptr @strerror(i32 noundef %1818) #11
  %1820 = call ptr @__errno_location() #12
  %1821 = load i32, ptr %1820, align 4, !tbaa !5
  %1822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1809, ptr noundef @.str.5, i32 noundef %1810, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 157, ptr noundef %1813, ptr noundef %1816, ptr noundef %1819, i32 noundef %1821) #11
  br label %1823

1823:                                             ; preds = %1806, %1789
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1824

1824:                                             ; preds = %1823
  br label %1825

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

1826:                                             ; No predecessors!
  br label %1827

1827:                                             ; preds = %1826
  br label %1828

1828:                                             ; preds = %1827, %1766
  br label %1829

1829:                                             ; preds = %1828
  br label %1830

1830:                                             ; preds = %1829
  %1831 = load ptr, ptr %19, align 8, !tbaa !9
  %1832 = getelementptr inbounds %struct.s2n_connection, ptr %1831, i32 0, i32 89
  store i32 1, ptr %1832, align 8, !tbaa !15
  br label %1833

1833:                                             ; preds = %1830
  br label %1834

1834:                                             ; preds = %1833
  br label %1835

1835:                                             ; preds = %1834
  %1836 = load i32, ptr @test_count, align 4, !tbaa !5
  %1837 = add nsw i32 %1836, 1
  store i32 %1837, ptr @test_count, align 4, !tbaa !5
  %1838 = load ptr, ptr %19, align 8, !tbaa !9
  %1839 = call i32 @s2n_connection_set_early_data_state(ptr noundef %1838, i32 noundef 5)
  %1840 = getelementptr inbounds %struct.s2n_result, ptr %35, i32 0, i32 0
  store i32 %1839, ptr %1840, align 4
  %1841 = getelementptr inbounds %struct.s2n_result, ptr %35, i32 0, i32 0
  %1842 = load i32, ptr %1841, align 4
  %1843 = call zeroext i1 @s2n_result_is_error(i32 %1842)
  br i1 %1843, label %1897, label %1844

1844:                                             ; preds = %1835
  br label %1845

1845:                                             ; preds = %1844
  br label %1846

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

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

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

1875:                                             ; preds = %1853, %1846
  %1876 = load i32, ptr %36, align 4, !tbaa !5
  %1877 = call ptr @__errno_location() #12
  store i32 %1876, ptr %1877, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = load i32, ptr @test_count, align 4, !tbaa !5
  %1880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1881 = load i32, ptr %1880, align 4, !tbaa !5
  %1882 = call ptr @s2n_strerror(i32 noundef %1881, ptr noundef @.str.4)
  %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_debug(i32 noundef %1884, ptr noundef @.str.4)
  %1886 = call ptr @__errno_location() #12
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call ptr @strerror(i32 noundef %1887) #11
  %1889 = call ptr @__errno_location() #12
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1878, ptr noundef @.str.5, i32 noundef %1879, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 161, ptr noundef %1882, ptr noundef %1885, ptr noundef %1888, i32 noundef %1890) #11
  br label %1892

1892:                                             ; preds = %1875, %1858
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1893

1893:                                             ; preds = %1892
  br label %1894

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

1895:                                             ; No predecessors!
  br label %1896

1896:                                             ; preds = %1895
  br label %1897

1897:                                             ; preds = %1896, %1835
  br label %1898

1898:                                             ; preds = %1897
  br label %1899

1899:                                             ; preds = %1898
  br label %1900

1900:                                             ; preds = %1899
  %1901 = load i32, ptr @test_count, align 4, !tbaa !5
  %1902 = add nsw i32 %1901, 1
  store i32 %1902, ptr @test_count, align 4, !tbaa !5
  %1903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = icmp eq i32 %1904, 402653262
  br i1 %1905, label %1959, label %1906

1906:                                             ; preds = %1900
  br label %1907

1907:                                             ; preds = %1906
  br label %1908

1908:                                             ; preds = %1907
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1909 = call ptr @__errno_location() #12
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  store i32 %1910, ptr %37, align 4, !tbaa !5
  %1911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1912 = call i32 @s2n_print_stacktrace(ptr noundef %1911)
  %1913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1914 = trunc i8 %1913 to i1
  br i1 %1914, label %1915, label %1937

1915:                                             ; preds = %1908
  %1916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1917 = call i32 @fileno(ptr noundef %1916) #11
  %1918 = call i32 @isatty(i32 noundef %1917) #11
  %1919 = icmp ne i32 %1918, 0
  br i1 %1919, label %1920, label %1937

1920:                                             ; preds = %1915
  %1921 = load i32, ptr %37, align 4, !tbaa !5
  %1922 = call ptr @__errno_location() #12
  store i32 %1921, ptr %1922, align 4, !tbaa !5
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = load i32, ptr @test_count, align 4, !tbaa !5
  %1925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1926 = load i32, ptr %1925, align 4, !tbaa !5
  %1927 = call ptr @s2n_strerror(i32 noundef %1926, ptr noundef @.str.4)
  %1928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  %1930 = call ptr @s2n_strerror_debug(i32 noundef %1929, ptr noundef @.str.4)
  %1931 = call ptr @__errno_location() #12
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call ptr @strerror(i32 noundef %1932) #11
  %1934 = call ptr @__errno_location() #12
  %1935 = load i32, ptr %1934, align 4, !tbaa !5
  %1936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1923, ptr noundef @.str.2, i32 noundef %1924, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 161, ptr noundef %1927, ptr noundef %1930, ptr noundef %1933, i32 noundef %1935) #11
  br label %1954

1937:                                             ; preds = %1915, %1908
  %1938 = load i32, ptr %37, align 4, !tbaa !5
  %1939 = call ptr @__errno_location() #12
  store i32 %1938, ptr %1939, align 4, !tbaa !5
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = load i32, ptr @test_count, align 4, !tbaa !5
  %1942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = call ptr @s2n_strerror(i32 noundef %1943, ptr noundef @.str.4)
  %1945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1946 = load i32, ptr %1945, align 4, !tbaa !5
  %1947 = call ptr @s2n_strerror_debug(i32 noundef %1946, ptr noundef @.str.4)
  %1948 = call ptr @__errno_location() #12
  %1949 = load i32, ptr %1948, align 4, !tbaa !5
  %1950 = call ptr @strerror(i32 noundef %1949) #11
  %1951 = call ptr @__errno_location() #12
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  %1953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1940, ptr noundef @.str.5, i32 noundef %1941, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 161, ptr noundef %1944, ptr noundef %1947, ptr noundef %1950, i32 noundef %1952) #11
  br label %1954

1954:                                             ; preds = %1937, %1920
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1955

1955:                                             ; preds = %1954
  br label %1956

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

1957:                                             ; No predecessors!
  br label %1958

1958:                                             ; preds = %1957
  br label %1959

1959:                                             ; preds = %1958, %1900
  br label %1960

1960:                                             ; preds = %1959
  br label %1961

1961:                                             ; preds = %1960
  br label %1962

1962:                                             ; preds = %1961
  %1963 = load i32, ptr @test_count, align 4, !tbaa !5
  %1964 = add nsw i32 %1963, 1
  store i32 %1964, ptr @test_count, align 4, !tbaa !5
  %1965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1966 = load i32, ptr %1965, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror_debug(i32 noundef %1966, ptr noundef @.str.4)
  %1968 = icmp eq ptr %1967, null
  br i1 %1968, label %1969, label %2022

1969:                                             ; preds = %1962
  br label %1970

1970:                                             ; preds = %1969
  br label %1971

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

1978:                                             ; preds = %1971
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = call i32 @fileno(ptr noundef %1979) #11
  %1981 = call i32 @isatty(i32 noundef %1980) #11
  %1982 = icmp ne i32 %1981, 0
  br i1 %1982, label %1983, label %2000

1983:                                             ; preds = %1978
  %1984 = load i32, ptr %38, align 4, !tbaa !5
  %1985 = call ptr @__errno_location() #12
  store i32 %1984, ptr %1985, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = load i32, ptr @test_count, align 4, !tbaa !5
  %1988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call ptr @s2n_strerror(i32 noundef %1989, ptr noundef @.str.4)
  %1991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1992 = load i32, ptr %1991, align 4, !tbaa !5
  %1993 = call ptr @s2n_strerror_debug(i32 noundef %1992, ptr noundef @.str.4)
  %1994 = call ptr @__errno_location() #12
  %1995 = load i32, ptr %1994, align 4, !tbaa !5
  %1996 = call ptr @strerror(i32 noundef %1995) #11
  %1997 = call ptr @__errno_location() #12
  %1998 = load i32, ptr %1997, align 4, !tbaa !5
  %1999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1986, ptr noundef @.str.2, i32 noundef %1987, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 161, ptr noundef %1990, ptr noundef %1993, ptr noundef %1996, i32 noundef %1998) #11
  br label %2017

2000:                                             ; preds = %1978, %1971
  %2001 = load i32, ptr %38, align 4, !tbaa !5
  %2002 = call ptr @__errno_location() #12
  store i32 %2001, ptr %2002, align 4, !tbaa !5
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = load i32, ptr @test_count, align 4, !tbaa !5
  %2005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror(i32 noundef %2006, ptr noundef @.str.4)
  %2008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2009 = load i32, ptr %2008, align 4, !tbaa !5
  %2010 = call ptr @s2n_strerror_debug(i32 noundef %2009, ptr noundef @.str.4)
  %2011 = call ptr @__errno_location() #12
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call ptr @strerror(i32 noundef %2012) #11
  %2014 = call ptr @__errno_location() #12
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef @.str.5, i32 noundef %2004, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 161, ptr noundef %2007, ptr noundef %2010, ptr noundef %2013, i32 noundef %2015) #11
  br label %2017

2017:                                             ; preds = %2000, %1983
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %2018

2018:                                             ; preds = %2017
  br label %2019

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

2020:                                             ; No predecessors!
  br label %2021

2021:                                             ; preds = %2020
  br label %2022

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

2023:                                             ; preds = %2022
  br label %2024

2024:                                             ; preds = %2023
  br label %2025

2025:                                             ; preds = %2024
  br label %2026

2026:                                             ; preds = %2025
  br label %2027

2027:                                             ; preds = %2026
  %2028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2028, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2029 = call ptr @__errno_location() #12
  store i32 0, ptr %2029, align 4, !tbaa !5
  br label %2030

2030:                                             ; preds = %2027
  br label %2031

2031:                                             ; preds = %2030
  br label %2032

2032:                                             ; preds = %2031
  br label %2033

2033:                                             ; preds = %2032
  br label %2034

2034:                                             ; preds = %2033
  %2035 = load i32, ptr @test_count, align 4, !tbaa !5
  %2036 = add nsw i32 %2035, 1
  store i32 %2036, ptr @test_count, align 4, !tbaa !5
  %2037 = load ptr, ptr %19, align 8, !tbaa !9
  %2038 = call i32 @s2n_connection_free(ptr noundef %2037)
  %2039 = icmp eq i32 %2038, -1
  br i1 %2039, label %2040, label %2093

2040:                                             ; preds = %2034
  br label %2041

2041:                                             ; preds = %2040
  br label %2042

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

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

2054:                                             ; preds = %2049
  %2055 = load i32, ptr %39, align 4, !tbaa !5
  %2056 = call ptr @__errno_location() #12
  store i32 %2055, ptr %2056, align 4, !tbaa !5
  %2057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2058 = load i32, ptr @test_count, align 4, !tbaa !5
  %2059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2060 = load i32, ptr %2059, align 4, !tbaa !5
  %2061 = call ptr @s2n_strerror(i32 noundef %2060, ptr noundef @.str.4)
  %2062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2063 = load i32, ptr %2062, align 4, !tbaa !5
  %2064 = call ptr @s2n_strerror_debug(i32 noundef %2063, ptr noundef @.str.4)
  %2065 = call ptr @__errno_location() #12
  %2066 = load i32, ptr %2065, align 4, !tbaa !5
  %2067 = call ptr @strerror(i32 noundef %2066) #11
  %2068 = call ptr @__errno_location() #12
  %2069 = load i32, ptr %2068, align 4, !tbaa !5
  %2070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2057, ptr noundef @.str.2, i32 noundef %2058, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 163, ptr noundef %2061, ptr noundef %2064, ptr noundef %2067, i32 noundef %2069) #11
  br label %2088

2071:                                             ; preds = %2049, %2042
  %2072 = load i32, ptr %39, align 4, !tbaa !5
  %2073 = call ptr @__errno_location() #12
  store i32 %2072, ptr %2073, align 4, !tbaa !5
  %2074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2075 = load i32, ptr @test_count, align 4, !tbaa !5
  %2076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call ptr @s2n_strerror(i32 noundef %2077, ptr noundef @.str.4)
  %2079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = call ptr @s2n_strerror_debug(i32 noundef %2080, ptr noundef @.str.4)
  %2082 = call ptr @__errno_location() #12
  %2083 = load i32, ptr %2082, align 4, !tbaa !5
  %2084 = call ptr @strerror(i32 noundef %2083) #11
  %2085 = call ptr @__errno_location() #12
  %2086 = load i32, ptr %2085, align 4, !tbaa !5
  %2087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2074, ptr noundef @.str.5, i32 noundef %2075, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 163, ptr noundef %2078, ptr noundef %2081, ptr noundef %2084, i32 noundef %2086) #11
  br label %2088

2088:                                             ; preds = %2071, %2054
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2089

2089:                                             ; preds = %2088
  br label %2090

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

2091:                                             ; No predecessors!
  br label %2092

2092:                                             ; preds = %2091
  br label %2093

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

2094:                                             ; preds = %2093
  br label %2095

2095:                                             ; preds = %2094
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  call void @llvm.lifetime.start.p0(i64 48, ptr %40) #11
  %2096 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %40, i32 0, i32 0
  %2097 = getelementptr inbounds [2 x i32], ptr %16, i64 0, i64 0
  store ptr %2097, ptr %2096, align 16, !tbaa !42
  %2098 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %40, i32 0, i32 1
  store i64 2, ptr %2098, align 8, !tbaa !44
  %2099 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %40, i64 1
  %2100 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2099, i32 0, i32 0
  %2101 = getelementptr inbounds [3 x i32], ptr %17, i64 0, i64 0
  store ptr %2101, ptr %2100, align 16, !tbaa !42
  %2102 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2099, i32 0, i32 1
  store i64 3, ptr %2102, align 8, !tbaa !44
  %2103 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %40, i64 2
  %2104 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2103, i32 0, i32 0
  %2105 = getelementptr inbounds [4 x i32], ptr %18, i64 0, i64 0
  store ptr %2105, ptr %2104, align 16, !tbaa !42
  %2106 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2103, i32 0, i32 1
  store i64 4, ptr %2106, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  %2107 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2107, ptr %41, align 8, !tbaa !9
  br label %2108

2108:                                             ; preds = %2095
  %2109 = load i32, ptr @test_count, align 4, !tbaa !5
  %2110 = add nsw i32 %2109, 1
  store i32 %2110, ptr @test_count, align 4, !tbaa !5
  %2111 = load ptr, ptr %41, align 8, !tbaa !9
  %2112 = icmp eq ptr %2111, null
  br i1 %2112, label %2113, label %2166

2113:                                             ; preds = %2108
  br label %2114

2114:                                             ; preds = %2113
  br label %2115

2115:                                             ; preds = %2114
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %2116 = call ptr @__errno_location() #12
  %2117 = load i32, ptr %2116, align 4, !tbaa !5
  store i32 %2117, ptr %42, align 4, !tbaa !5
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = call i32 @s2n_print_stacktrace(ptr noundef %2118)
  %2120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2121 = trunc i8 %2120 to i1
  br i1 %2121, label %2122, label %2144

2122:                                             ; preds = %2115
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = call i32 @fileno(ptr noundef %2123) #11
  %2125 = call i32 @isatty(i32 noundef %2124) #11
  %2126 = icmp ne i32 %2125, 0
  br i1 %2126, label %2127, label %2144

2127:                                             ; preds = %2122
  %2128 = load i32, ptr %42, align 4, !tbaa !5
  %2129 = call ptr @__errno_location() #12
  store i32 %2128, ptr %2129, 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 @.str.4)
  %2135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call ptr @s2n_strerror_debug(i32 noundef %2136, ptr noundef @.str.4)
  %2138 = call ptr @__errno_location() #12
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = call ptr @strerror(i32 noundef %2139) #11
  %2141 = call ptr @__errno_location() #12
  %2142 = load i32, ptr %2141, align 4, !tbaa !5
  %2143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2130, ptr noundef @.str.2, i32 noundef %2131, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 179, ptr noundef %2134, ptr noundef %2137, ptr noundef %2140, i32 noundef %2142) #11
  br label %2161

2144:                                             ; preds = %2122, %2115
  %2145 = load i32, ptr %42, align 4, !tbaa !5
  %2146 = call ptr @__errno_location() #12
  store i32 %2145, ptr %2146, align 4, !tbaa !5
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = load i32, ptr @test_count, align 4, !tbaa !5
  %2149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = call ptr @s2n_strerror(i32 noundef %2150, ptr noundef @.str.4)
  %2152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror_debug(i32 noundef %2153, ptr noundef @.str.4)
  %2155 = call ptr @__errno_location() #12
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call ptr @strerror(i32 noundef %2156) #11
  %2158 = call ptr @__errno_location() #12
  %2159 = load i32, ptr %2158, align 4, !tbaa !5
  %2160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2147, ptr noundef @.str.5, i32 noundef %2148, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 179, ptr noundef %2151, ptr noundef %2154, ptr noundef %2157, i32 noundef %2159) #11
  br label %2161

2161:                                             ; preds = %2144, %2127
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

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

2164:                                             ; No predecessors!
  br label %2165

2165:                                             ; preds = %2164
  br label %2166

2166:                                             ; preds = %2165, %2108
  br label %2167

2167:                                             ; preds = %2166
  br label %2168

2168:                                             ; preds = %2167
  br label %2169

2169:                                             ; preds = %2168
  %2170 = load i32, ptr @test_count, align 4, !tbaa !5
  %2171 = add nsw i32 %2170, 1
  store i32 %2171, ptr @test_count, align 4, !tbaa !5
  %2172 = load ptr, ptr %41, align 8, !tbaa !9
  %2173 = getelementptr inbounds [3 x %struct.s2n_early_state_sequence], ptr %40, i64 0, i64 0
  %2174 = call i32 @s2n_test_all_early_data_sequences(ptr noundef %2172, i64 noundef 0, ptr noundef %2173, i64 noundef 3)
  %2175 = getelementptr inbounds %struct.s2n_result, ptr %43, i32 0, i32 0
  store i32 %2174, ptr %2175, align 4
  %2176 = getelementptr inbounds %struct.s2n_result, ptr %43, i32 0, i32 0
  %2177 = load i32, ptr %2176, align 4
  %2178 = call zeroext i1 @s2n_result_is_ok(i32 %2177)
  br i1 %2178, label %2232, label %2179

2179:                                             ; preds = %2169
  br label %2180

2180:                                             ; preds = %2179
  br label %2181

2181:                                             ; preds = %2180
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #11
  %2182 = call ptr @__errno_location() #12
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  store i32 %2183, ptr %44, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = call i32 @s2n_print_stacktrace(ptr noundef %2184)
  %2186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2187 = trunc i8 %2186 to i1
  br i1 %2187, label %2188, label %2210

2188:                                             ; preds = %2181
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = call i32 @fileno(ptr noundef %2189) #11
  %2191 = call i32 @isatty(i32 noundef %2190) #11
  %2192 = icmp ne i32 %2191, 0
  br i1 %2192, label %2193, label %2210

2193:                                             ; preds = %2188
  %2194 = load i32, ptr %44, align 4, !tbaa !5
  %2195 = call ptr @__errno_location() #12
  store i32 %2194, ptr %2195, align 4, !tbaa !5
  %2196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2197 = load i32, ptr @test_count, align 4, !tbaa !5
  %2198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror(i32 noundef %2199, ptr noundef @.str.4)
  %2201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = call ptr @s2n_strerror_debug(i32 noundef %2202, ptr noundef @.str.4)
  %2204 = call ptr @__errno_location() #12
  %2205 = load i32, ptr %2204, align 4, !tbaa !5
  %2206 = call ptr @strerror(i32 noundef %2205) #11
  %2207 = call ptr @__errno_location() #12
  %2208 = load i32, ptr %2207, align 4, !tbaa !5
  %2209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2196, ptr noundef @.str.2, i32 noundef %2197, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 181, ptr noundef %2200, ptr noundef %2203, ptr noundef %2206, i32 noundef %2208) #11
  br label %2227

2210:                                             ; preds = %2188, %2181
  %2211 = load i32, ptr %44, align 4, !tbaa !5
  %2212 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %2221 = call ptr @__errno_location() #12
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = call ptr @strerror(i32 noundef %2222) #11
  %2224 = call ptr @__errno_location() #12
  %2225 = load i32, ptr %2224, align 4, !tbaa !5
  %2226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2213, ptr noundef @.str.5, i32 noundef %2214, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 181, ptr noundef %2217, ptr noundef %2220, ptr noundef %2223, i32 noundef %2225) #11
  br label %2227

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

2228:                                             ; preds = %2227
  br label %2229

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

2230:                                             ; No predecessors!
  br label %2231

2231:                                             ; preds = %2230
  br label %2232

2232:                                             ; preds = %2231, %2169
  br label %2233

2233:                                             ; preds = %2232
  br label %2234

2234:                                             ; preds = %2233
  br label %2235

2235:                                             ; preds = %2234
  %2236 = load i32, ptr @test_count, align 4, !tbaa !5
  %2237 = add nsw i32 %2236, 1
  store i32 %2237, ptr @test_count, align 4, !tbaa !5
  %2238 = load ptr, ptr %41, align 8, !tbaa !9
  %2239 = call i32 @s2n_connection_free(ptr noundef %2238)
  %2240 = icmp eq i32 %2239, -1
  br i1 %2240, label %2241, label %2294

2241:                                             ; preds = %2235
  br label %2242

2242:                                             ; preds = %2241
  br label %2243

2243:                                             ; preds = %2242
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %2244 = call ptr @__errno_location() #12
  %2245 = load i32, ptr %2244, align 4, !tbaa !5
  store i32 %2245, ptr %45, align 4, !tbaa !5
  %2246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2247 = call i32 @s2n_print_stacktrace(ptr noundef %2246)
  %2248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2249 = trunc i8 %2248 to i1
  br i1 %2249, label %2250, label %2272

2250:                                             ; preds = %2243
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = call i32 @fileno(ptr noundef %2251) #11
  %2253 = call i32 @isatty(i32 noundef %2252) #11
  %2254 = icmp ne i32 %2253, 0
  br i1 %2254, label %2255, label %2272

2255:                                             ; preds = %2250
  %2256 = load i32, ptr %45, align 4, !tbaa !5
  %2257 = call ptr @__errno_location() #12
  store i32 %2256, ptr %2257, align 4, !tbaa !5
  %2258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2259 = load i32, ptr @test_count, align 4, !tbaa !5
  %2260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2261 = load i32, ptr %2260, align 4, !tbaa !5
  %2262 = call ptr @s2n_strerror(i32 noundef %2261, ptr noundef @.str.4)
  %2263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2264 = load i32, ptr %2263, align 4, !tbaa !5
  %2265 = call ptr @s2n_strerror_debug(i32 noundef %2264, ptr noundef @.str.4)
  %2266 = call ptr @__errno_location() #12
  %2267 = load i32, ptr %2266, align 4, !tbaa !5
  %2268 = call ptr @strerror(i32 noundef %2267) #11
  %2269 = call ptr @__errno_location() #12
  %2270 = load i32, ptr %2269, align 4, !tbaa !5
  %2271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2258, ptr noundef @.str.2, i32 noundef %2259, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 182, ptr noundef %2262, ptr noundef %2265, ptr noundef %2268, i32 noundef %2270) #11
  br label %2289

2272:                                             ; preds = %2250, %2243
  %2273 = load i32, ptr %45, align 4, !tbaa !5
  %2274 = call ptr @__errno_location() #12
  store i32 %2273, ptr %2274, align 4, !tbaa !5
  %2275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2276 = load i32, ptr @test_count, align 4, !tbaa !5
  %2277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2278 = load i32, ptr %2277, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror(i32 noundef %2278, ptr noundef @.str.4)
  %2280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2281 = load i32, ptr %2280, align 4, !tbaa !5
  %2282 = call ptr @s2n_strerror_debug(i32 noundef %2281, ptr noundef @.str.4)
  %2283 = call ptr @__errno_location() #12
  %2284 = load i32, ptr %2283, align 4, !tbaa !5
  %2285 = call ptr @strerror(i32 noundef %2284) #11
  %2286 = call ptr @__errno_location() #12
  %2287 = load i32, ptr %2286, align 4, !tbaa !5
  %2288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2275, ptr noundef @.str.5, i32 noundef %2276, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 182, ptr noundef %2279, ptr noundef %2282, ptr noundef %2285, i32 noundef %2287) #11
  br label %2289

2289:                                             ; preds = %2272, %2255
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %2290

2290:                                             ; preds = %2289
  br label %2291

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

2292:                                             ; No predecessors!
  br label %2293

2293:                                             ; preds = %2292
  br label %2294

2294:                                             ; preds = %2293, %2235
  br label %2295

2295:                                             ; preds = %2294
  br label %2296

2296:                                             ; preds = %2295
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #11
  call void @llvm.lifetime.start.p0(i64 12, ptr %46) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %46, ptr align 4 @__const.main.invalid_seq, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr %47) #11
  %2297 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %47, i32 0, i32 0
  %2298 = getelementptr inbounds [2 x i32], ptr %16, i64 0, i64 0
  store ptr %2298, ptr %2297, align 16, !tbaa !42
  %2299 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %47, i32 0, i32 1
  store i64 2, ptr %2299, align 8, !tbaa !44
  %2300 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %47, i64 1
  %2301 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2300, i32 0, i32 0
  %2302 = getelementptr inbounds [3 x i32], ptr %17, i64 0, i64 0
  store ptr %2302, ptr %2301, align 16, !tbaa !42
  %2303 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2300, i32 0, i32 1
  store i64 3, ptr %2303, align 8, !tbaa !44
  %2304 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %47, i64 2
  %2305 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2304, i32 0, i32 0
  %2306 = getelementptr inbounds [4 x i32], ptr %18, i64 0, i64 0
  store ptr %2306, ptr %2305, align 16, !tbaa !42
  %2307 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2304, i32 0, i32 1
  store i64 4, ptr %2307, align 8, !tbaa !44
  %2308 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %47, i64 3
  %2309 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2308, i32 0, i32 0
  %2310 = getelementptr inbounds [3 x i32], ptr %46, i64 0, i64 0
  store ptr %2310, ptr %2309, align 16, !tbaa !42
  %2311 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2308, i32 0, i32 1
  store i64 3, ptr %2311, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #11
  %2312 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2312, ptr %48, align 8, !tbaa !9
  br label %2313

2313:                                             ; preds = %2296
  %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 %48, align 8, !tbaa !9
  %2317 = icmp eq ptr %2316, null
  br i1 %2317, label %2318, label %2371

2318:                                             ; preds = %2313
  br label %2319

2319:                                             ; preds = %2318
  br label %2320

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

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

2332:                                             ; preds = %2327
  %2333 = load i32, ptr %49, align 4, !tbaa !5
  %2334 = call ptr @__errno_location() #12
  store i32 %2333, ptr %2334, align 4, !tbaa !5
  %2335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2336 = load i32, ptr @test_count, align 4, !tbaa !5
  %2337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2338 = load i32, ptr %2337, align 4, !tbaa !5
  %2339 = call ptr @s2n_strerror(i32 noundef %2338, ptr noundef @.str.4)
  %2340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2341 = load i32, ptr %2340, align 4, !tbaa !5
  %2342 = call ptr @s2n_strerror_debug(i32 noundef %2341, ptr noundef @.str.4)
  %2343 = call ptr @__errno_location() #12
  %2344 = load i32, ptr %2343, align 4, !tbaa !5
  %2345 = call ptr @strerror(i32 noundef %2344) #11
  %2346 = call ptr @__errno_location() #12
  %2347 = load i32, ptr %2346, align 4, !tbaa !5
  %2348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2335, ptr noundef @.str.2, i32 noundef %2336, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 198, ptr noundef %2339, ptr noundef %2342, ptr noundef %2345, i32 noundef %2347) #11
  br label %2366

2349:                                             ; preds = %2327, %2320
  %2350 = load i32, ptr %49, align 4, !tbaa !5
  %2351 = call ptr @__errno_location() #12
  store i32 %2350, ptr %2351, align 4, !tbaa !5
  %2352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2353 = load i32, ptr @test_count, align 4, !tbaa !5
  %2354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2355 = load i32, ptr %2354, align 4, !tbaa !5
  %2356 = call ptr @s2n_strerror(i32 noundef %2355, ptr noundef @.str.4)
  %2357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2358 = load i32, ptr %2357, align 4, !tbaa !5
  %2359 = call ptr @s2n_strerror_debug(i32 noundef %2358, ptr noundef @.str.4)
  %2360 = call ptr @__errno_location() #12
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call ptr @strerror(i32 noundef %2361) #11
  %2363 = call ptr @__errno_location() #12
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2352, ptr noundef @.str.5, i32 noundef %2353, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 198, ptr noundef %2356, ptr noundef %2359, ptr noundef %2362, i32 noundef %2364) #11
  br label %2366

2366:                                             ; preds = %2349, %2332
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2367

2367:                                             ; preds = %2366
  br label %2368

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

2369:                                             ; No predecessors!
  br label %2370

2370:                                             ; preds = %2369
  br label %2371

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

2372:                                             ; preds = %2371
  br label %2373

2373:                                             ; preds = %2372
  br label %2374

2374:                                             ; preds = %2373
  br label %2375

2375:                                             ; preds = %2374
  %2376 = load i32, ptr @test_count, align 4, !tbaa !5
  %2377 = add nsw i32 %2376, 1
  store i32 %2377, ptr @test_count, align 4, !tbaa !5
  %2378 = load ptr, ptr %48, align 8, !tbaa !9
  %2379 = getelementptr inbounds [4 x %struct.s2n_early_state_sequence], ptr %47, i64 0, i64 0
  %2380 = call i32 @s2n_test_all_early_data_sequences(ptr noundef %2378, i64 noundef 0, ptr noundef %2379, i64 noundef 4)
  %2381 = getelementptr inbounds %struct.s2n_result, ptr %50, i32 0, i32 0
  store i32 %2380, ptr %2381, align 4
  %2382 = getelementptr inbounds %struct.s2n_result, ptr %50, i32 0, i32 0
  %2383 = load i32, ptr %2382, align 4
  %2384 = call zeroext i1 @s2n_result_is_error(i32 %2383)
  br i1 %2384, label %2438, label %2385

2385:                                             ; preds = %2375
  br label %2386

2386:                                             ; preds = %2385
  br label %2387

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

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

2399:                                             ; preds = %2394
  %2400 = load i32, ptr %51, align 4, !tbaa !5
  %2401 = call ptr @__errno_location() #12
  store i32 %2400, ptr %2401, align 4, !tbaa !5
  %2402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2403 = load i32, ptr @test_count, align 4, !tbaa !5
  %2404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2405 = load i32, ptr %2404, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror(i32 noundef %2405, ptr noundef @.str.4)
  %2407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef @.str.4)
  %2410 = call ptr @__errno_location() #12
  %2411 = load i32, ptr %2410, align 4, !tbaa !5
  %2412 = call ptr @strerror(i32 noundef %2411) #11
  %2413 = call ptr @__errno_location() #12
  %2414 = load i32, ptr %2413, align 4, !tbaa !5
  %2415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2402, ptr noundef @.str.2, i32 noundef %2403, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 200, ptr noundef %2406, ptr noundef %2409, ptr noundef %2412, i32 noundef %2414) #11
  br label %2433

2416:                                             ; preds = %2394, %2387
  %2417 = load i32, ptr %51, align 4, !tbaa !5
  %2418 = call ptr @__errno_location() #12
  store i32 %2417, ptr %2418, align 4, !tbaa !5
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2420 = load i32, ptr @test_count, align 4, !tbaa !5
  %2421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2422 = load i32, ptr %2421, align 4, !tbaa !5
  %2423 = call ptr @s2n_strerror(i32 noundef %2422, ptr noundef @.str.4)
  %2424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2425 = load i32, ptr %2424, align 4, !tbaa !5
  %2426 = call ptr @s2n_strerror_debug(i32 noundef %2425, ptr noundef @.str.4)
  %2427 = call ptr @__errno_location() #12
  %2428 = load i32, ptr %2427, align 4, !tbaa !5
  %2429 = call ptr @strerror(i32 noundef %2428) #11
  %2430 = call ptr @__errno_location() #12
  %2431 = load i32, ptr %2430, align 4, !tbaa !5
  %2432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2419, ptr noundef @.str.5, i32 noundef %2420, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 200, ptr noundef %2423, ptr noundef %2426, ptr noundef %2429, i32 noundef %2431) #11
  br label %2433

2433:                                             ; preds = %2416, %2399
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2434

2434:                                             ; preds = %2433
  br label %2435

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

2436:                                             ; No predecessors!
  br label %2437

2437:                                             ; preds = %2436
  br label %2438

2438:                                             ; preds = %2437, %2375
  br label %2439

2439:                                             ; preds = %2438
  br label %2440

2440:                                             ; preds = %2439
  br label %2441

2441:                                             ; preds = %2440
  %2442 = load i32, ptr @test_count, align 4, !tbaa !5
  %2443 = add nsw i32 %2442, 1
  store i32 %2443, ptr @test_count, align 4, !tbaa !5
  %2444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = icmp eq i32 %2445, 0
  br i1 %2446, label %2447, label %2500

2447:                                             ; preds = %2441
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

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

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

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

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

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

2496:                                             ; preds = %2495
  br label %2497

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

2498:                                             ; No predecessors!
  br label %2499

2499:                                             ; preds = %2498
  br label %2500

2500:                                             ; preds = %2499, %2441
  br label %2501

2501:                                             ; preds = %2500
  br label %2502

2502:                                             ; preds = %2501
  br label %2503

2503:                                             ; preds = %2502
  %2504 = load i32, ptr @test_count, align 4, !tbaa !5
  %2505 = add nsw i32 %2504, 1
  store i32 %2505, ptr @test_count, align 4, !tbaa !5
  %2506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2507 = load i32, ptr %2506, align 4, !tbaa !5
  %2508 = call ptr @s2n_strerror_debug(i32 noundef %2507, ptr noundef @.str.4)
  %2509 = icmp eq ptr %2508, null
  br i1 %2509, label %2510, label %2563

2510:                                             ; preds = %2503
  br label %2511

2511:                                             ; preds = %2510
  br label %2512

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

2519:                                             ; preds = %2512
  %2520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2521 = call i32 @fileno(ptr noundef %2520) #11
  %2522 = call i32 @isatty(i32 noundef %2521) #11
  %2523 = icmp ne i32 %2522, 0
  br i1 %2523, label %2524, label %2541

2524:                                             ; preds = %2519
  %2525 = load i32, ptr %53, align 4, !tbaa !5
  %2526 = call ptr @__errno_location() #12
  store i32 %2525, ptr %2526, align 4, !tbaa !5
  %2527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2528 = load i32, ptr @test_count, align 4, !tbaa !5
  %2529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2530 = load i32, ptr %2529, align 4, !tbaa !5
  %2531 = call ptr @s2n_strerror(i32 noundef %2530, ptr noundef @.str.4)
  %2532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2533 = load i32, ptr %2532, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror_debug(i32 noundef %2533, ptr noundef @.str.4)
  %2535 = call ptr @__errno_location() #12
  %2536 = load i32, ptr %2535, align 4, !tbaa !5
  %2537 = call ptr @strerror(i32 noundef %2536) #11
  %2538 = call ptr @__errno_location() #12
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2527, ptr noundef @.str.2, i32 noundef %2528, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 200, ptr noundef %2531, ptr noundef %2534, ptr noundef %2537, i32 noundef %2539) #11
  br label %2558

2541:                                             ; preds = %2519, %2512
  %2542 = load i32, ptr %53, align 4, !tbaa !5
  %2543 = call ptr @__errno_location() #12
  store i32 %2542, ptr %2543, align 4, !tbaa !5
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = load i32, ptr @test_count, align 4, !tbaa !5
  %2546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  %2548 = call ptr @s2n_strerror(i32 noundef %2547, ptr noundef @.str.4)
  %2549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2550 = load i32, ptr %2549, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror_debug(i32 noundef %2550, ptr noundef @.str.4)
  %2552 = call ptr @__errno_location() #12
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call ptr @strerror(i32 noundef %2553) #11
  %2555 = call ptr @__errno_location() #12
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2544, ptr noundef @.str.5, i32 noundef %2545, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 200, ptr noundef %2548, ptr noundef %2551, ptr noundef %2554, i32 noundef %2556) #11
  br label %2558

2558:                                             ; preds = %2541, %2524
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2559

2559:                                             ; preds = %2558
  br label %2560

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

2561:                                             ; No predecessors!
  br label %2562

2562:                                             ; preds = %2561
  br label %2563

2563:                                             ; preds = %2562, %2503
  br label %2564

2564:                                             ; preds = %2563
  br label %2565

2565:                                             ; preds = %2564
  br label %2566

2566:                                             ; preds = %2565
  %2567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2567, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2568 = call ptr @__errno_location() #12
  store i32 0, ptr %2568, align 4, !tbaa !5
  br label %2569

2569:                                             ; preds = %2566
  br label %2570

2570:                                             ; preds = %2569
  br label %2571

2571:                                             ; preds = %2570
  br label %2572

2572:                                             ; preds = %2571
  br label %2573

2573:                                             ; preds = %2572
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %2575 = add nsw i32 %2574, 1
  store i32 %2575, ptr @test_count, align 4, !tbaa !5
  %2576 = load ptr, ptr %48, align 8, !tbaa !9
  %2577 = call i32 @s2n_connection_free(ptr noundef %2576)
  %2578 = icmp eq i32 %2577, -1
  br i1 %2578, label %2579, label %2632

2579:                                             ; preds = %2573
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

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

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

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

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

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

2628:                                             ; preds = %2627
  br label %2629

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

2630:                                             ; No predecessors!
  br label %2631

2631:                                             ; preds = %2630
  br label %2632

2632:                                             ; preds = %2631, %2573
  br label %2633

2633:                                             ; preds = %2632
  br label %2634

2634:                                             ; preds = %2633
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %47) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %46) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #11
  %2635 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %55, i32 0, i32 0
  %2636 = getelementptr inbounds [2 x i32], ptr %16, i64 0, i64 0
  store ptr %2636, ptr %2635, align 16, !tbaa !42
  %2637 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %55, i32 0, i32 1
  store i64 2, ptr %2637, align 8, !tbaa !44
  %2638 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %55, i64 1
  %2639 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2638, i32 0, i32 0
  %2640 = getelementptr inbounds [4 x i32], ptr %18, i64 0, i64 0
  store ptr %2640, ptr %2639, align 16, !tbaa !42
  %2641 = getelementptr inbounds %struct.s2n_early_state_sequence, ptr %2638, i32 0, i32 1
  store i64 4, ptr %2641, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #11
  %2642 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2642, ptr %56, align 8, !tbaa !9
  br label %2643

2643:                                             ; preds = %2634
  %2644 = load i32, ptr @test_count, align 4, !tbaa !5
  %2645 = add nsw i32 %2644, 1
  store i32 %2645, ptr @test_count, align 4, !tbaa !5
  %2646 = load ptr, ptr %56, align 8, !tbaa !9
  %2647 = icmp eq ptr %2646, null
  br i1 %2647, label %2648, label %2701

2648:                                             ; preds = %2643
  br label %2649

2649:                                             ; preds = %2648
  br label %2650

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

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

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

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

2696:                                             ; preds = %2679, %2662
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2697

2697:                                             ; preds = %2696
  br label %2698

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

2699:                                             ; No predecessors!
  br label %2700

2700:                                             ; preds = %2699
  br label %2701

2701:                                             ; preds = %2700, %2643
  br label %2702

2702:                                             ; preds = %2701
  br label %2703

2703:                                             ; preds = %2702
  br label %2704

2704:                                             ; preds = %2703
  br label %2705

2705:                                             ; preds = %2704
  %2706 = load i32, ptr @test_count, align 4, !tbaa !5
  %2707 = add nsw i32 %2706, 1
  store i32 %2707, ptr @test_count, align 4, !tbaa !5
  %2708 = load ptr, ptr %56, align 8, !tbaa !9
  %2709 = getelementptr inbounds [2 x %struct.s2n_early_state_sequence], ptr %55, i64 0, i64 0
  %2710 = call i32 @s2n_test_all_early_data_sequences(ptr noundef %2708, i64 noundef 0, ptr noundef %2709, i64 noundef 2)
  %2711 = getelementptr inbounds %struct.s2n_result, ptr %58, i32 0, i32 0
  store i32 %2710, ptr %2711, align 4
  %2712 = getelementptr inbounds %struct.s2n_result, ptr %58, i32 0, i32 0
  %2713 = load i32, ptr %2712, align 4
  %2714 = call zeroext i1 @s2n_result_is_error(i32 %2713)
  br i1 %2714, label %2768, label %2715

2715:                                             ; preds = %2705
  br label %2716

2716:                                             ; preds = %2715
  br label %2717

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

2724:                                             ; preds = %2717
  %2725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2726 = call i32 @fileno(ptr noundef %2725) #11
  %2727 = call i32 @isatty(i32 noundef %2726) #11
  %2728 = icmp ne i32 %2727, 0
  br i1 %2728, label %2729, label %2746

2729:                                             ; preds = %2724
  %2730 = load i32, ptr %59, align 4, !tbaa !5
  %2731 = call ptr @__errno_location() #12
  store i32 %2730, ptr %2731, align 4, !tbaa !5
  %2732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2733 = load i32, ptr @test_count, align 4, !tbaa !5
  %2734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2735 = load i32, ptr %2734, align 4, !tbaa !5
  %2736 = call ptr @s2n_strerror(i32 noundef %2735, ptr noundef @.str.4)
  %2737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2738 = load i32, ptr %2737, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror_debug(i32 noundef %2738, ptr noundef @.str.4)
  %2740 = call ptr @__errno_location() #12
  %2741 = load i32, ptr %2740, align 4, !tbaa !5
  %2742 = call ptr @strerror(i32 noundef %2741) #11
  %2743 = call ptr @__errno_location() #12
  %2744 = load i32, ptr %2743, align 4, !tbaa !5
  %2745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2732, ptr noundef @.str.2, i32 noundef %2733, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 214, ptr noundef %2736, ptr noundef %2739, ptr noundef %2742, i32 noundef %2744) #11
  br label %2763

2746:                                             ; preds = %2724, %2717
  %2747 = load i32, ptr %59, align 4, !tbaa !5
  %2748 = call ptr @__errno_location() #12
  store i32 %2747, ptr %2748, align 4, !tbaa !5
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = load i32, ptr @test_count, align 4, !tbaa !5
  %2751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2752 = load i32, ptr %2751, align 4, !tbaa !5
  %2753 = call ptr @s2n_strerror(i32 noundef %2752, ptr noundef @.str.4)
  %2754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2755 = load i32, ptr %2754, align 4, !tbaa !5
  %2756 = call ptr @s2n_strerror_debug(i32 noundef %2755, ptr noundef @.str.4)
  %2757 = call ptr @__errno_location() #12
  %2758 = load i32, ptr %2757, align 4, !tbaa !5
  %2759 = call ptr @strerror(i32 noundef %2758) #11
  %2760 = call ptr @__errno_location() #12
  %2761 = load i32, ptr %2760, align 4, !tbaa !5
  %2762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2749, ptr noundef @.str.5, i32 noundef %2750, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 214, ptr noundef %2753, ptr noundef %2756, ptr noundef %2759, i32 noundef %2761) #11
  br label %2763

2763:                                             ; preds = %2746, %2729
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %2764

2764:                                             ; preds = %2763
  br label %2765

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

2766:                                             ; No predecessors!
  br label %2767

2767:                                             ; preds = %2766
  br label %2768

2768:                                             ; preds = %2767, %2705
  br label %2769

2769:                                             ; preds = %2768
  br label %2770

2770:                                             ; preds = %2769
  br label %2771

2771:                                             ; preds = %2770
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = add nsw i32 %2772, 1
  store i32 %2773, ptr @test_count, align 4, !tbaa !5
  %2774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2775 = load i32, ptr %2774, align 4, !tbaa !5
  %2776 = icmp eq i32 %2775, 0
  br i1 %2776, label %2777, label %2830

2777:                                             ; preds = %2771
  br label %2778

2778:                                             ; preds = %2777
  br label %2779

2779:                                             ; preds = %2778
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %2780 = call ptr @__errno_location() #12
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  store i32 %2781, ptr %60, align 4, !tbaa !5
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @s2n_print_stacktrace(ptr noundef %2782)
  %2784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2785 = trunc i8 %2784 to i1
  br i1 %2785, label %2786, label %2808

2786:                                             ; preds = %2779
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = call i32 @fileno(ptr noundef %2787) #11
  %2789 = call i32 @isatty(i32 noundef %2788) #11
  %2790 = icmp ne i32 %2789, 0
  br i1 %2790, label %2791, label %2808

2791:                                             ; preds = %2786
  %2792 = load i32, ptr %60, align 4, !tbaa !5
  %2793 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %2802 = call ptr @__errno_location() #12
  %2803 = load i32, ptr %2802, align 4, !tbaa !5
  %2804 = call ptr @strerror(i32 noundef %2803) #11
  %2805 = call ptr @__errno_location() #12
  %2806 = load i32, ptr %2805, align 4, !tbaa !5
  %2807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2794, ptr noundef @.str.2, i32 noundef %2795, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 214, ptr noundef %2798, ptr noundef %2801, ptr noundef %2804, i32 noundef %2806) #11
  br label %2825

2808:                                             ; preds = %2786, %2779
  %2809 = load i32, ptr %60, align 4, !tbaa !5
  %2810 = call ptr @__errno_location() #12
  store i32 %2809, ptr %2810, align 4, !tbaa !5
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2814 = load i32, ptr %2813, align 4, !tbaa !5
  %2815 = call ptr @s2n_strerror(i32 noundef %2814, ptr noundef @.str.4)
  %2816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2817 = load i32, ptr %2816, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror_debug(i32 noundef %2817, ptr noundef @.str.4)
  %2819 = call ptr @__errno_location() #12
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = call ptr @strerror(i32 noundef %2820) #11
  %2822 = call ptr @__errno_location() #12
  %2823 = load i32, ptr %2822, align 4, !tbaa !5
  %2824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2811, ptr noundef @.str.5, i32 noundef %2812, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 214, ptr noundef %2815, ptr noundef %2818, ptr noundef %2821, i32 noundef %2823) #11
  br label %2825

2825:                                             ; preds = %2808, %2791
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2826

2826:                                             ; preds = %2825
  br label %2827

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

2828:                                             ; No predecessors!
  br label %2829

2829:                                             ; preds = %2828
  br label %2830

2830:                                             ; preds = %2829, %2771
  br label %2831

2831:                                             ; preds = %2830
  br label %2832

2832:                                             ; preds = %2831
  br label %2833

2833:                                             ; preds = %2832
  %2834 = load i32, ptr @test_count, align 4, !tbaa !5
  %2835 = add nsw i32 %2834, 1
  store i32 %2835, ptr @test_count, align 4, !tbaa !5
  %2836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @s2n_strerror_debug(i32 noundef %2837, ptr noundef @.str.4)
  %2839 = icmp eq ptr %2838, null
  br i1 %2839, label %2840, label %2893

2840:                                             ; preds = %2833
  br label %2841

2841:                                             ; preds = %2840
  br label %2842

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

2849:                                             ; preds = %2842
  %2850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2851 = call i32 @fileno(ptr noundef %2850) #11
  %2852 = call i32 @isatty(i32 noundef %2851) #11
  %2853 = icmp ne i32 %2852, 0
  br i1 %2853, label %2854, label %2871

2854:                                             ; preds = %2849
  %2855 = load i32, ptr %61, align 4, !tbaa !5
  %2856 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %2865 = call ptr @__errno_location() #12
  %2866 = load i32, ptr %2865, align 4, !tbaa !5
  %2867 = call ptr @strerror(i32 noundef %2866) #11
  %2868 = call ptr @__errno_location() #12
  %2869 = load i32, ptr %2868, align 4, !tbaa !5
  %2870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2857, ptr noundef @.str.2, i32 noundef %2858, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 214, ptr noundef %2861, ptr noundef %2864, ptr noundef %2867, i32 noundef %2869) #11
  br label %2888

2871:                                             ; preds = %2849, %2842
  %2872 = load i32, ptr %61, align 4, !tbaa !5
  %2873 = call ptr @__errno_location() #12
  store i32 %2872, ptr %2873, align 4, !tbaa !5
  %2874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2875 = load i32, ptr @test_count, align 4, !tbaa !5
  %2876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2877 = load i32, ptr %2876, align 4, !tbaa !5
  %2878 = call ptr @s2n_strerror(i32 noundef %2877, ptr noundef @.str.4)
  %2879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2880 = load i32, ptr %2879, align 4, !tbaa !5
  %2881 = call ptr @s2n_strerror_debug(i32 noundef %2880, ptr noundef @.str.4)
  %2882 = call ptr @__errno_location() #12
  %2883 = load i32, ptr %2882, align 4, !tbaa !5
  %2884 = call ptr @strerror(i32 noundef %2883) #11
  %2885 = call ptr @__errno_location() #12
  %2886 = load i32, ptr %2885, align 4, !tbaa !5
  %2887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2874, ptr noundef @.str.5, i32 noundef %2875, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 214, ptr noundef %2878, ptr noundef %2881, ptr noundef %2884, i32 noundef %2886) #11
  br label %2888

2888:                                             ; preds = %2871, %2854
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2889

2889:                                             ; preds = %2888
  br label %2890

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

2891:                                             ; No predecessors!
  br label %2892

2892:                                             ; preds = %2891
  br label %2893

2893:                                             ; preds = %2892, %2833
  br label %2894

2894:                                             ; preds = %2893
  br label %2895

2895:                                             ; preds = %2894
  br label %2896

2896:                                             ; preds = %2895
  %2897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2897, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2898 = call ptr @__errno_location() #12
  store i32 0, ptr %2898, align 4, !tbaa !5
  br label %2899

2899:                                             ; preds = %2896
  br label %2900

2900:                                             ; preds = %2899
  br label %2901

2901:                                             ; preds = %2900
  br label %2902

2902:                                             ; preds = %2901
  br label %2903

2903:                                             ; preds = %2902
  %2904 = load i32, ptr @test_count, align 4, !tbaa !5
  %2905 = add nsw i32 %2904, 1
  store i32 %2905, ptr @test_count, align 4, !tbaa !5
  %2906 = load ptr, ptr %56, align 8, !tbaa !9
  %2907 = call i32 @s2n_connection_free(ptr noundef %2906)
  %2908 = icmp eq i32 %2907, -1
  br i1 %2908, label %2909, label %2962

2909:                                             ; preds = %2903
  br label %2910

2910:                                             ; preds = %2909
  br label %2911

2911:                                             ; preds = %2910
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %2912 = call ptr @__errno_location() #12
  %2913 = load i32, ptr %2912, align 4, !tbaa !5
  store i32 %2913, ptr %62, align 4, !tbaa !5
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = call i32 @s2n_print_stacktrace(ptr noundef %2914)
  %2916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2917 = trunc i8 %2916 to i1
  br i1 %2917, label %2918, label %2940

2918:                                             ; preds = %2911
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = call i32 @fileno(ptr noundef %2919) #11
  %2921 = call i32 @isatty(i32 noundef %2920) #11
  %2922 = icmp ne i32 %2921, 0
  br i1 %2922, label %2923, label %2940

2923:                                             ; preds = %2918
  %2924 = load i32, ptr %62, align 4, !tbaa !5
  %2925 = call ptr @__errno_location() #12
  store i32 %2924, ptr %2925, align 4, !tbaa !5
  %2926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2927 = load i32, ptr @test_count, align 4, !tbaa !5
  %2928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2929 = load i32, ptr %2928, align 4, !tbaa !5
  %2930 = call ptr @s2n_strerror(i32 noundef %2929, ptr noundef @.str.4)
  %2931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2932 = load i32, ptr %2931, align 4, !tbaa !5
  %2933 = call ptr @s2n_strerror_debug(i32 noundef %2932, ptr noundef @.str.4)
  %2934 = call ptr @__errno_location() #12
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call ptr @strerror(i32 noundef %2935) #11
  %2937 = call ptr @__errno_location() #12
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2926, ptr noundef @.str.2, i32 noundef %2927, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 215, ptr noundef %2930, ptr noundef %2933, ptr noundef %2936, i32 noundef %2938) #11
  br label %2957

2940:                                             ; preds = %2918, %2911
  %2941 = load i32, ptr %62, align 4, !tbaa !5
  %2942 = call ptr @__errno_location() #12
  store i32 %2941, ptr %2942, align 4, !tbaa !5
  %2943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2944 = load i32, ptr @test_count, align 4, !tbaa !5
  %2945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror(i32 noundef %2946, ptr noundef @.str.4)
  %2948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  %2950 = call ptr @s2n_strerror_debug(i32 noundef %2949, ptr noundef @.str.4)
  %2951 = call ptr @__errno_location() #12
  %2952 = load i32, ptr %2951, align 4, !tbaa !5
  %2953 = call ptr @strerror(i32 noundef %2952) #11
  %2954 = call ptr @__errno_location() #12
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  %2956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2943, ptr noundef @.str.5, i32 noundef %2944, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 215, ptr noundef %2947, ptr noundef %2950, ptr noundef %2953, i32 noundef %2955) #11
  br label %2957

2957:                                             ; preds = %2940, %2923
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2958

2958:                                             ; preds = %2957
  br label %2959

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

2960:                                             ; No predecessors!
  br label %2961

2961:                                             ; preds = %2960
  br label %2962

2962:                                             ; preds = %2961, %2903
  br label %2963

2963:                                             ; preds = %2962
  br label %2964

2964:                                             ; preds = %2963
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #11
  br label %2965

2965:                                             ; preds = %2964
  %2966 = load i32, ptr @test_count, align 4, !tbaa !5
  %2967 = add nsw i32 %2966, 1
  store i32 %2967, ptr @test_count, align 4, !tbaa !5
  %2968 = call i32 @s2n_early_data_config_free(ptr noundef null)
  %2969 = getelementptr inbounds %struct.s2n_result, ptr %63, i32 0, i32 0
  store i32 %2968, ptr %2969, align 4
  %2970 = getelementptr inbounds %struct.s2n_result, ptr %63, i32 0, i32 0
  %2971 = load i32, ptr %2970, align 4
  %2972 = call zeroext i1 @s2n_result_is_ok(i32 %2971)
  br i1 %2972, label %3026, label %2973

2973:                                             ; preds = %2965
  br label %2974

2974:                                             ; preds = %2973
  br label %2975

2975:                                             ; preds = %2974
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %2976 = call ptr @__errno_location() #12
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  store i32 %2977, ptr %64, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = call i32 @s2n_print_stacktrace(ptr noundef %2978)
  %2980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2981 = trunc i8 %2980 to i1
  br i1 %2981, label %2982, label %3004

2982:                                             ; preds = %2975
  %2983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2984 = call i32 @fileno(ptr noundef %2983) #11
  %2985 = call i32 @isatty(i32 noundef %2984) #11
  %2986 = icmp ne i32 %2985, 0
  br i1 %2986, label %2987, label %3004

2987:                                             ; preds = %2982
  %2988 = load i32, ptr %64, align 4, !tbaa !5
  %2989 = call ptr @__errno_location() #12
  store i32 %2988, ptr %2989, align 4, !tbaa !5
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = load i32, ptr @test_count, align 4, !tbaa !5
  %2992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2993 = load i32, ptr %2992, align 4, !tbaa !5
  %2994 = call ptr @s2n_strerror(i32 noundef %2993, ptr noundef @.str.4)
  %2995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call ptr @s2n_strerror_debug(i32 noundef %2996, ptr noundef @.str.4)
  %2998 = call ptr @__errno_location() #12
  %2999 = load i32, ptr %2998, align 4, !tbaa !5
  %3000 = call ptr @strerror(i32 noundef %2999) #11
  %3001 = call ptr @__errno_location() #12
  %3002 = load i32, ptr %3001, align 4, !tbaa !5
  %3003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2990, ptr noundef @.str.2, i32 noundef %2991, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 223, ptr noundef %2994, ptr noundef %2997, ptr noundef %3000, i32 noundef %3002) #11
  br label %3021

3004:                                             ; preds = %2982, %2975
  %3005 = load i32, ptr %64, align 4, !tbaa !5
  %3006 = call ptr @__errno_location() #12
  store i32 %3005, ptr %3006, align 4, !tbaa !5
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = load i32, ptr @test_count, align 4, !tbaa !5
  %3009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3010 = load i32, ptr %3009, align 4, !tbaa !5
  %3011 = call ptr @s2n_strerror(i32 noundef %3010, ptr noundef @.str.4)
  %3012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror_debug(i32 noundef %3013, ptr noundef @.str.4)
  %3015 = call ptr @__errno_location() #12
  %3016 = load i32, ptr %3015, align 4, !tbaa !5
  %3017 = call ptr @strerror(i32 noundef %3016) #11
  %3018 = call ptr @__errno_location() #12
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3007, ptr noundef @.str.5, i32 noundef %3008, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 223, ptr noundef %3011, ptr noundef %3014, ptr noundef %3017, i32 noundef %3019) #11
  br label %3021

3021:                                             ; preds = %3004, %2987
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3022

3022:                                             ; preds = %3021
  br label %3023

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

3024:                                             ; No predecessors!
  br label %3025

3025:                                             ; preds = %3024
  br label %3026

3026:                                             ; preds = %3025, %2965
  br label %3027

3027:                                             ; preds = %3026
  br label %3028

3028:                                             ; preds = %3027
  call void @llvm.lifetime.start.p0(i64 64, ptr %65) #11
  call void @llvm.memset.p0.i64(ptr align 8 %65, i8 0, i64 64, i1 false)
  br label %3029

3029:                                             ; preds = %3028
  %3030 = load i32, ptr @test_count, align 4, !tbaa !5
  %3031 = add nsw i32 %3030, 1
  store i32 %3031, ptr @test_count, align 4, !tbaa !5
  %3032 = call i32 @s2n_alloc_test_config_buffers(ptr noundef %65)
  %3033 = getelementptr inbounds %struct.s2n_result, ptr %66, i32 0, i32 0
  store i32 %3032, ptr %3033, align 4
  %3034 = getelementptr inbounds %struct.s2n_result, ptr %66, i32 0, i32 0
  %3035 = load i32, ptr %3034, align 4
  %3036 = call zeroext i1 @s2n_result_is_ok(i32 %3035)
  br i1 %3036, label %3090, label %3037

3037:                                             ; preds = %3029
  br label %3038

3038:                                             ; preds = %3037
  br label %3039

3039:                                             ; preds = %3038
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3040 = call ptr @__errno_location() #12
  %3041 = load i32, ptr %3040, align 4, !tbaa !5
  store i32 %3041, ptr %67, align 4, !tbaa !5
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = call i32 @s2n_print_stacktrace(ptr noundef %3042)
  %3044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3045 = trunc i8 %3044 to i1
  br i1 %3045, label %3046, label %3068

3046:                                             ; preds = %3039
  %3047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3048 = call i32 @fileno(ptr noundef %3047) #11
  %3049 = call i32 @isatty(i32 noundef %3048) #11
  %3050 = icmp ne i32 %3049, 0
  br i1 %3050, label %3051, label %3068

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

3068:                                             ; preds = %3046, %3039
  %3069 = load i32, ptr %67, align 4, !tbaa !5
  %3070 = call ptr @__errno_location() #12
  store i32 %3069, ptr %3070, align 4, !tbaa !5
  %3071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3072 = load i32, ptr @test_count, align 4, !tbaa !5
  %3073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3074 = load i32, ptr %3073, align 4, !tbaa !5
  %3075 = call ptr @s2n_strerror(i32 noundef %3074, ptr noundef @.str.4)
  %3076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3077 = load i32, ptr %3076, align 4, !tbaa !5
  %3078 = call ptr @s2n_strerror_debug(i32 noundef %3077, ptr noundef @.str.4)
  %3079 = call ptr @__errno_location() #12
  %3080 = load i32, ptr %3079, align 4, !tbaa !5
  %3081 = call ptr @strerror(i32 noundef %3080) #11
  %3082 = call ptr @__errno_location() #12
  %3083 = load i32, ptr %3082, align 4, !tbaa !5
  %3084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3071, ptr noundef @.str.5, i32 noundef %3072, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 228, ptr noundef %3075, ptr noundef %3078, ptr noundef %3081, i32 noundef %3083) #11
  br label %3085

3085:                                             ; preds = %3068, %3051
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3086

3086:                                             ; preds = %3085
  br label %3087

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

3088:                                             ; No predecessors!
  br label %3089

3089:                                             ; preds = %3088
  br label %3090

3090:                                             ; preds = %3089, %3029
  br label %3091

3091:                                             ; preds = %3090
  br label %3092

3092:                                             ; preds = %3091
  br label %3093

3093:                                             ; preds = %3092
  %3094 = load i32, ptr @test_count, align 4, !tbaa !5
  %3095 = add nsw i32 %3094, 1
  store i32 %3095, ptr @test_count, align 4, !tbaa !5
  %3096 = call i32 @s2n_early_data_config_free(ptr noundef %65)
  %3097 = getelementptr inbounds %struct.s2n_result, ptr %68, i32 0, i32 0
  store i32 %3096, ptr %3097, align 4
  %3098 = getelementptr inbounds %struct.s2n_result, ptr %68, i32 0, i32 0
  %3099 = load i32, ptr %3098, align 4
  %3100 = call zeroext i1 @s2n_result_is_ok(i32 %3099)
  br i1 %3100, label %3154, label %3101

3101:                                             ; preds = %3093
  br label %3102

3102:                                             ; preds = %3101
  br label %3103

3103:                                             ; preds = %3102
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3104 = call ptr @__errno_location() #12
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  store i32 %3105, ptr %69, align 4, !tbaa !5
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = call i32 @s2n_print_stacktrace(ptr noundef %3106)
  %3108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3109 = trunc i8 %3108 to i1
  br i1 %3109, label %3110, label %3132

3110:                                             ; preds = %3103
  %3111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3112 = call i32 @fileno(ptr noundef %3111) #11
  %3113 = call i32 @isatty(i32 noundef %3112) #11
  %3114 = icmp ne i32 %3113, 0
  br i1 %3114, label %3115, label %3132

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

3132:                                             ; preds = %3110, %3103
  %3133 = load i32, ptr %69, align 4, !tbaa !5
  %3134 = call ptr @__errno_location() #12
  store i32 %3133, ptr %3134, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3138 = load i32, ptr %3137, align 4, !tbaa !5
  %3139 = call ptr @s2n_strerror(i32 noundef %3138, ptr noundef @.str.4)
  %3140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3141 = load i32, ptr %3140, align 4, !tbaa !5
  %3142 = call ptr @s2n_strerror_debug(i32 noundef %3141, ptr noundef @.str.4)
  %3143 = call ptr @__errno_location() #12
  %3144 = load i32, ptr %3143, align 4, !tbaa !5
  %3145 = call ptr @strerror(i32 noundef %3144) #11
  %3146 = call ptr @__errno_location() #12
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3135, ptr noundef @.str.5, i32 noundef %3136, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 230, ptr noundef %3139, ptr noundef %3142, ptr noundef %3145, i32 noundef %3147) #11
  br label %3149

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

3150:                                             ; preds = %3149
  br label %3151

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

3152:                                             ; No predecessors!
  br label %3153

3153:                                             ; preds = %3152
  br label %3154

3154:                                             ; preds = %3153, %3093
  br label %3155

3155:                                             ; preds = %3154
  br label %3156

3156:                                             ; preds = %3155
  br label %3157

3157:                                             ; preds = %3156
  %3158 = load i32, ptr @test_count, align 4, !tbaa !5
  %3159 = add nsw i32 %3158, 1
  store i32 %3159, ptr @test_count, align 4, !tbaa !5
  %3160 = call i32 @s2n_test_config_buffers_freed(ptr noundef %65)
  %3161 = getelementptr inbounds %struct.s2n_result, ptr %70, i32 0, i32 0
  store i32 %3160, ptr %3161, align 4
  %3162 = getelementptr inbounds %struct.s2n_result, ptr %70, i32 0, i32 0
  %3163 = load i32, ptr %3162, align 4
  %3164 = call zeroext i1 @s2n_result_is_ok(i32 %3163)
  br i1 %3164, label %3218, label %3165

3165:                                             ; preds = %3157
  br label %3166

3166:                                             ; preds = %3165
  br label %3167

3167:                                             ; preds = %3166
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3168 = call ptr @__errno_location() #12
  %3169 = load i32, ptr %3168, align 4, !tbaa !5
  store i32 %3169, ptr %71, align 4, !tbaa !5
  %3170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3171 = call i32 @s2n_print_stacktrace(ptr noundef %3170)
  %3172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3173 = trunc i8 %3172 to i1
  br i1 %3173, label %3174, label %3196

3174:                                             ; preds = %3167
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = call i32 @fileno(ptr noundef %3175) #11
  %3177 = call i32 @isatty(i32 noundef %3176) #11
  %3178 = icmp ne i32 %3177, 0
  br i1 %3178, label %3179, label %3196

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

3196:                                             ; preds = %3174, %3167
  %3197 = load i32, ptr %71, align 4, !tbaa !5
  %3198 = call ptr @__errno_location() #12
  store i32 %3197, ptr %3198, align 4, !tbaa !5
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = load i32, ptr @test_count, align 4, !tbaa !5
  %3201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3202 = load i32, ptr %3201, align 4, !tbaa !5
  %3203 = call ptr @s2n_strerror(i32 noundef %3202, ptr noundef @.str.4)
  %3204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3205 = load i32, ptr %3204, align 4, !tbaa !5
  %3206 = call ptr @s2n_strerror_debug(i32 noundef %3205, ptr noundef @.str.4)
  %3207 = call ptr @__errno_location() #12
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  %3209 = call ptr @strerror(i32 noundef %3208) #11
  %3210 = call ptr @__errno_location() #12
  %3211 = load i32, ptr %3210, align 4, !tbaa !5
  %3212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3199, ptr noundef @.str.5, i32 noundef %3200, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 231, ptr noundef %3203, ptr noundef %3206, ptr noundef %3209, i32 noundef %3211) #11
  br label %3213

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

3214:                                             ; preds = %3213
  br label %3215

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

3216:                                             ; No predecessors!
  br label %3217

3217:                                             ; preds = %3216
  br label %3218

3218:                                             ; preds = %3217, %3157
  br label %3219

3219:                                             ; preds = %3218
  br label %3220

3220:                                             ; preds = %3219
  call void @llvm.lifetime.end.p0(i64 64, ptr %65) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %72) #11
  call void @llvm.memset.p0.i64(ptr align 8 %72, i8 0, i64 168, i1 false)
  br label %3221

3221:                                             ; preds = %3220
  %3222 = load i32, ptr @test_count, align 4, !tbaa !5
  %3223 = add nsw i32 %3222, 1
  store i32 %3223, ptr @test_count, align 4, !tbaa !5
  %3224 = getelementptr inbounds %struct.s2n_psk, ptr %72, i32 0, i32 7
  %3225 = call i32 @s2n_alloc_test_config_buffers(ptr noundef %3224)
  %3226 = getelementptr inbounds %struct.s2n_result, ptr %73, i32 0, i32 0
  store i32 %3225, ptr %3226, align 4
  %3227 = getelementptr inbounds %struct.s2n_result, ptr %73, i32 0, i32 0
  %3228 = load i32, ptr %3227, align 4
  %3229 = call zeroext i1 @s2n_result_is_ok(i32 %3228)
  br i1 %3229, label %3283, label %3230

3230:                                             ; preds = %3221
  br label %3231

3231:                                             ; preds = %3230
  br label %3232

3232:                                             ; preds = %3231
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3233 = call ptr @__errno_location() #12
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  store i32 %3234, ptr %74, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = call i32 @s2n_print_stacktrace(ptr noundef %3235)
  %3237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3238 = trunc i8 %3237 to i1
  br i1 %3238, label %3239, label %3261

3239:                                             ; preds = %3232
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = call i32 @fileno(ptr noundef %3240) #11
  %3242 = call i32 @isatty(i32 noundef %3241) #11
  %3243 = icmp ne i32 %3242, 0
  br i1 %3243, label %3244, label %3261

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

3261:                                             ; preds = %3239, %3232
  %3262 = load i32, ptr %74, align 4, !tbaa !5
  %3263 = call ptr @__errno_location() #12
  store i32 %3262, ptr %3263, align 4, !tbaa !5
  %3264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %3266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3267 = load i32, ptr %3266, align 4, !tbaa !5
  %3268 = call ptr @s2n_strerror(i32 noundef %3267, ptr noundef @.str.4)
  %3269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3270 = load i32, ptr %3269, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror_debug(i32 noundef %3270, ptr noundef @.str.4)
  %3272 = call ptr @__errno_location() #12
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  %3274 = call ptr @strerror(i32 noundef %3273) #11
  %3275 = call ptr @__errno_location() #12
  %3276 = load i32, ptr %3275, align 4, !tbaa !5
  %3277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3264, ptr noundef @.str.5, i32 noundef %3265, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 237, ptr noundef %3268, ptr noundef %3271, ptr noundef %3274, i32 noundef %3276) #11
  br label %3278

3278:                                             ; preds = %3261, %3244
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3279

3279:                                             ; preds = %3278
  br label %3280

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

3281:                                             ; No predecessors!
  br label %3282

3282:                                             ; preds = %3281
  br label %3283

3283:                                             ; preds = %3282, %3221
  br label %3284

3284:                                             ; preds = %3283
  br label %3285

3285:                                             ; preds = %3284
  br label %3286

3286:                                             ; preds = %3285
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = add nsw i32 %3287, 1
  store i32 %3288, ptr @test_count, align 4, !tbaa !5
  %3289 = call i32 @s2n_psk_wipe(ptr noundef %72)
  %3290 = getelementptr inbounds %struct.s2n_result, ptr %75, i32 0, i32 0
  store i32 %3289, ptr %3290, align 4
  %3291 = getelementptr inbounds %struct.s2n_result, ptr %75, i32 0, i32 0
  %3292 = load i32, ptr %3291, align 4
  %3293 = call zeroext i1 @s2n_result_is_ok(i32 %3292)
  br i1 %3293, label %3347, label %3294

3294:                                             ; preds = %3286
  br label %3295

3295:                                             ; preds = %3294
  br label %3296

3296:                                             ; preds = %3295
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3297 = call ptr @__errno_location() #12
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  store i32 %3298, ptr %76, align 4, !tbaa !5
  %3299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3300 = call i32 @s2n_print_stacktrace(ptr noundef %3299)
  %3301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3302 = trunc i8 %3301 to i1
  br i1 %3302, label %3303, label %3325

3303:                                             ; preds = %3296
  %3304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3305 = call i32 @fileno(ptr noundef %3304) #11
  %3306 = call i32 @isatty(i32 noundef %3305) #11
  %3307 = icmp ne i32 %3306, 0
  br i1 %3307, label %3308, label %3325

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

3325:                                             ; preds = %3303, %3296
  %3326 = load i32, ptr %76, align 4, !tbaa !5
  %3327 = call ptr @__errno_location() #12
  store i32 %3326, ptr %3327, align 4, !tbaa !5
  %3328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3329 = load i32, ptr @test_count, align 4, !tbaa !5
  %3330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3331 = load i32, ptr %3330, align 4, !tbaa !5
  %3332 = call ptr @s2n_strerror(i32 noundef %3331, ptr noundef @.str.4)
  %3333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3334 = load i32, ptr %3333, align 4, !tbaa !5
  %3335 = call ptr @s2n_strerror_debug(i32 noundef %3334, ptr noundef @.str.4)
  %3336 = call ptr @__errno_location() #12
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call ptr @strerror(i32 noundef %3337) #11
  %3339 = call ptr @__errno_location() #12
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3328, ptr noundef @.str.5, i32 noundef %3329, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 239, ptr noundef %3332, ptr noundef %3335, ptr noundef %3338, i32 noundef %3340) #11
  br label %3342

3342:                                             ; preds = %3325, %3308
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3343

3343:                                             ; preds = %3342
  br label %3344

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

3345:                                             ; No predecessors!
  br label %3346

3346:                                             ; preds = %3345
  br label %3347

3347:                                             ; preds = %3346, %3286
  br label %3348

3348:                                             ; preds = %3347
  br label %3349

3349:                                             ; preds = %3348
  br label %3350

3350:                                             ; preds = %3349
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = add nsw i32 %3351, 1
  store i32 %3352, ptr @test_count, align 4, !tbaa !5
  %3353 = getelementptr inbounds %struct.s2n_psk, ptr %72, i32 0, i32 7
  %3354 = call i32 @s2n_test_config_buffers_freed(ptr noundef %3353)
  %3355 = getelementptr inbounds %struct.s2n_result, ptr %77, i32 0, i32 0
  store i32 %3354, ptr %3355, align 4
  %3356 = getelementptr inbounds %struct.s2n_result, ptr %77, i32 0, i32 0
  %3357 = load i32, ptr %3356, align 4
  %3358 = call zeroext i1 @s2n_result_is_ok(i32 %3357)
  br i1 %3358, label %3412, label %3359

3359:                                             ; preds = %3350
  br label %3360

3360:                                             ; preds = %3359
  br label %3361

3361:                                             ; preds = %3360
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3362 = call ptr @__errno_location() #12
  %3363 = load i32, ptr %3362, align 4, !tbaa !5
  store i32 %3363, ptr %78, align 4, !tbaa !5
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = call i32 @s2n_print_stacktrace(ptr noundef %3364)
  %3366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3367 = trunc i8 %3366 to i1
  br i1 %3367, label %3368, label %3390

3368:                                             ; preds = %3361
  %3369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3370 = call i32 @fileno(ptr noundef %3369) #11
  %3371 = call i32 @isatty(i32 noundef %3370) #11
  %3372 = icmp ne i32 %3371, 0
  br i1 %3372, label %3373, label %3390

3373:                                             ; preds = %3368
  %3374 = load i32, ptr %78, align 4, !tbaa !5
  %3375 = call ptr @__errno_location() #12
  store i32 %3374, ptr %3375, align 4, !tbaa !5
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = load i32, ptr @test_count, align 4, !tbaa !5
  %3378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3379 = load i32, ptr %3378, align 4, !tbaa !5
  %3380 = call ptr @s2n_strerror(i32 noundef %3379, ptr noundef @.str.4)
  %3381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3382 = load i32, ptr %3381, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror_debug(i32 noundef %3382, ptr noundef @.str.4)
  %3384 = call ptr @__errno_location() #12
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  %3386 = call ptr @strerror(i32 noundef %3385) #11
  %3387 = call ptr @__errno_location() #12
  %3388 = load i32, ptr %3387, align 4, !tbaa !5
  %3389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3376, ptr noundef @.str.2, i32 noundef %3377, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 240, ptr noundef %3380, ptr noundef %3383, ptr noundef %3386, i32 noundef %3388) #11
  br label %3407

3390:                                             ; preds = %3368, %3361
  %3391 = load i32, ptr %78, align 4, !tbaa !5
  %3392 = call ptr @__errno_location() #12
  store i32 %3391, ptr %3392, align 4, !tbaa !5
  %3393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3394 = load i32, ptr @test_count, align 4, !tbaa !5
  %3395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3396 = load i32, ptr %3395, align 4, !tbaa !5
  %3397 = call ptr @s2n_strerror(i32 noundef %3396, ptr noundef @.str.4)
  %3398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror_debug(i32 noundef %3399, ptr noundef @.str.4)
  %3401 = call ptr @__errno_location() #12
  %3402 = load i32, ptr %3401, align 4, !tbaa !5
  %3403 = call ptr @strerror(i32 noundef %3402) #11
  %3404 = call ptr @__errno_location() #12
  %3405 = load i32, ptr %3404, align 4, !tbaa !5
  %3406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3393, ptr noundef @.str.5, i32 noundef %3394, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 240, ptr noundef %3397, ptr noundef %3400, ptr noundef %3403, i32 noundef %3405) #11
  br label %3407

3407:                                             ; preds = %3390, %3373
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3408

3408:                                             ; preds = %3407
  br label %3409

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

3410:                                             ; No predecessors!
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

3412:                                             ; preds = %3411, %3350
  br label %3413

3413:                                             ; preds = %3412
  br label %3414

3414:                                             ; preds = %3413
  call void @llvm.lifetime.end.p0(i64 168, ptr %72) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #11
  %3415 = call ptr @s2n_external_psk_new()
  store ptr %3415, ptr %79, align 8, !tbaa !9
  br label %3416

3416:                                             ; preds = %3414
  %3417 = load i32, ptr @test_count, align 4, !tbaa !5
  %3418 = add nsw i32 %3417, 1
  store i32 %3418, ptr @test_count, align 4, !tbaa !5
  %3419 = load ptr, ptr %79, align 8, !tbaa !9
  %3420 = getelementptr inbounds %struct.s2n_psk, ptr %3419, i32 0, i32 7
  %3421 = call i32 @s2n_alloc_test_config_buffers(ptr noundef %3420)
  %3422 = getelementptr inbounds %struct.s2n_result, ptr %80, i32 0, i32 0
  store i32 %3421, ptr %3422, align 4
  %3423 = getelementptr inbounds %struct.s2n_result, ptr %80, i32 0, i32 0
  %3424 = load i32, ptr %3423, align 4
  %3425 = call zeroext i1 @s2n_result_is_ok(i32 %3424)
  br i1 %3425, label %3479, label %3426

3426:                                             ; preds = %3416
  br label %3427

3427:                                             ; preds = %3426
  br label %3428

3428:                                             ; preds = %3427
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %3429 = call ptr @__errno_location() #12
  %3430 = load i32, ptr %3429, align 4, !tbaa !5
  store i32 %3430, ptr %81, align 4, !tbaa !5
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = call i32 @s2n_print_stacktrace(ptr noundef %3431)
  %3433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3434 = trunc i8 %3433 to i1
  br i1 %3434, label %3435, label %3457

3435:                                             ; preds = %3428
  %3436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3437 = call i32 @fileno(ptr noundef %3436) #11
  %3438 = call i32 @isatty(i32 noundef %3437) #11
  %3439 = icmp ne i32 %3438, 0
  br i1 %3439, label %3440, label %3457

3440:                                             ; preds = %3435
  %3441 = load i32, ptr %81, align 4, !tbaa !5
  %3442 = call ptr @__errno_location() #12
  store i32 %3441, ptr %3442, align 4, !tbaa !5
  %3443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3444 = load i32, ptr @test_count, align 4, !tbaa !5
  %3445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3446 = load i32, ptr %3445, align 4, !tbaa !5
  %3447 = call ptr @s2n_strerror(i32 noundef %3446, ptr noundef @.str.4)
  %3448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3449 = load i32, ptr %3448, align 4, !tbaa !5
  %3450 = call ptr @s2n_strerror_debug(i32 noundef %3449, ptr noundef @.str.4)
  %3451 = call ptr @__errno_location() #12
  %3452 = load i32, ptr %3451, align 4, !tbaa !5
  %3453 = call ptr @strerror(i32 noundef %3452) #11
  %3454 = call ptr @__errno_location() #12
  %3455 = load i32, ptr %3454, align 4, !tbaa !5
  %3456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3443, ptr noundef @.str.2, i32 noundef %3444, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 246, ptr noundef %3447, ptr noundef %3450, ptr noundef %3453, i32 noundef %3455) #11
  br label %3474

3457:                                             ; preds = %3435, %3428
  %3458 = load i32, ptr %81, align 4, !tbaa !5
  %3459 = call ptr @__errno_location() #12
  store i32 %3458, ptr %3459, align 4, !tbaa !5
  %3460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3463 = load i32, ptr %3462, align 4, !tbaa !5
  %3464 = call ptr @s2n_strerror(i32 noundef %3463, ptr noundef @.str.4)
  %3465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3466 = load i32, ptr %3465, align 4, !tbaa !5
  %3467 = call ptr @s2n_strerror_debug(i32 noundef %3466, ptr noundef @.str.4)
  %3468 = call ptr @__errno_location() #12
  %3469 = load i32, ptr %3468, align 4, !tbaa !5
  %3470 = call ptr @strerror(i32 noundef %3469) #11
  %3471 = call ptr @__errno_location() #12
  %3472 = load i32, ptr %3471, align 4, !tbaa !5
  %3473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3460, ptr noundef @.str.5, i32 noundef %3461, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 246, ptr noundef %3464, ptr noundef %3467, ptr noundef %3470, i32 noundef %3472) #11
  br label %3474

3474:                                             ; preds = %3457, %3440
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %3475

3475:                                             ; preds = %3474
  br label %3476

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

3477:                                             ; No predecessors!
  br label %3478

3478:                                             ; preds = %3477
  br label %3479

3479:                                             ; preds = %3478, %3416
  br label %3480

3480:                                             ; preds = %3479
  br label %3481

3481:                                             ; preds = %3480
  br label %3482

3482:                                             ; preds = %3481
  %3483 = load i32, ptr @test_count, align 4, !tbaa !5
  %3484 = add nsw i32 %3483, 1
  store i32 %3484, ptr @test_count, align 4, !tbaa !5
  %3485 = call i32 @s2n_psk_free(ptr noundef %79)
  %3486 = icmp eq i32 %3485, -1
  br i1 %3486, label %3487, label %3540

3487:                                             ; preds = %3482
  br label %3488

3488:                                             ; preds = %3487
  br label %3489

3489:                                             ; preds = %3488
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %3490 = call ptr @__errno_location() #12
  %3491 = load i32, ptr %3490, align 4, !tbaa !5
  store i32 %3491, ptr %82, align 4, !tbaa !5
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = call i32 @s2n_print_stacktrace(ptr noundef %3492)
  %3494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3495 = trunc i8 %3494 to i1
  br i1 %3495, label %3496, label %3518

3496:                                             ; preds = %3489
  %3497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3498 = call i32 @fileno(ptr noundef %3497) #11
  %3499 = call i32 @isatty(i32 noundef %3498) #11
  %3500 = icmp ne i32 %3499, 0
  br i1 %3500, label %3501, label %3518

3501:                                             ; preds = %3496
  %3502 = load i32, ptr %82, align 4, !tbaa !5
  %3503 = call ptr @__errno_location() #12
  store i32 %3502, ptr %3503, align 4, !tbaa !5
  %3504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3505 = load i32, ptr @test_count, align 4, !tbaa !5
  %3506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3507 = load i32, ptr %3506, align 4, !tbaa !5
  %3508 = call ptr @s2n_strerror(i32 noundef %3507, ptr noundef @.str.4)
  %3509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3510 = load i32, ptr %3509, align 4, !tbaa !5
  %3511 = call ptr @s2n_strerror_debug(i32 noundef %3510, ptr noundef @.str.4)
  %3512 = call ptr @__errno_location() #12
  %3513 = load i32, ptr %3512, align 4, !tbaa !5
  %3514 = call ptr @strerror(i32 noundef %3513) #11
  %3515 = call ptr @__errno_location() #12
  %3516 = load i32, ptr %3515, align 4, !tbaa !5
  %3517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3504, ptr noundef @.str.2, i32 noundef %3505, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 248, ptr noundef %3508, ptr noundef %3511, ptr noundef %3514, i32 noundef %3516) #11
  br label %3535

3518:                                             ; preds = %3496, %3489
  %3519 = load i32, ptr %82, align 4, !tbaa !5
  %3520 = call ptr @__errno_location() #12
  store i32 %3519, ptr %3520, align 4, !tbaa !5
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = load i32, ptr @test_count, align 4, !tbaa !5
  %3523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3524 = load i32, ptr %3523, align 4, !tbaa !5
  %3525 = call ptr @s2n_strerror(i32 noundef %3524, ptr noundef @.str.4)
  %3526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3527 = load i32, ptr %3526, align 4, !tbaa !5
  %3528 = call ptr @s2n_strerror_debug(i32 noundef %3527, ptr noundef @.str.4)
  %3529 = call ptr @__errno_location() #12
  %3530 = load i32, ptr %3529, align 4, !tbaa !5
  %3531 = call ptr @strerror(i32 noundef %3530) #11
  %3532 = call ptr @__errno_location() #12
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3521, ptr noundef @.str.5, i32 noundef %3522, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 248, ptr noundef %3525, ptr noundef %3528, ptr noundef %3531, i32 noundef %3533) #11
  br label %3535

3535:                                             ; preds = %3518, %3501
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3536

3536:                                             ; preds = %3535
  br label %3537

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

3538:                                             ; No predecessors!
  br label %3539

3539:                                             ; preds = %3538
  br label %3540

3540:                                             ; preds = %3539, %3482
  br label %3541

3541:                                             ; preds = %3540
  br label %3542

3542:                                             ; preds = %3541
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #11
  br label %3543

3543:                                             ; preds = %3542
  br label %3544

3544:                                             ; preds = %3543
  br label %3545

3545:                                             ; preds = %3544
  %3546 = load i32, ptr @test_count, align 4, !tbaa !5
  %3547 = add nsw i32 %3546, 1
  store i32 %3547, ptr @test_count, align 4, !tbaa !5
  %3548 = call i32 @s2n_psk_configure_early_data(ptr noundef null, i32 noundef 10, i8 noundef zeroext 1, i8 noundef zeroext 1)
  %3549 = icmp eq i32 %3548, -1
  br i1 %3549, label %3603, label %3550

3550:                                             ; preds = %3545
  br label %3551

3551:                                             ; preds = %3550
  br label %3552

3552:                                             ; preds = %3551
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %3553 = call ptr @__errno_location() #12
  %3554 = load i32, ptr %3553, align 4, !tbaa !5
  store i32 %3554, ptr %83, align 4, !tbaa !5
  %3555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3556 = call i32 @s2n_print_stacktrace(ptr noundef %3555)
  %3557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3558 = trunc i8 %3557 to i1
  br i1 %3558, label %3559, label %3581

3559:                                             ; preds = %3552
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = call i32 @fileno(ptr noundef %3560) #11
  %3562 = call i32 @isatty(i32 noundef %3561) #11
  %3563 = icmp ne i32 %3562, 0
  br i1 %3563, label %3564, label %3581

3564:                                             ; preds = %3559
  %3565 = load i32, ptr %83, align 4, !tbaa !5
  %3566 = call ptr @__errno_location() #12
  store i32 %3565, ptr %3566, align 4, !tbaa !5
  %3567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3568 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3570, ptr noundef @.str.4)
  %3572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3573 = load i32, ptr %3572, align 4, !tbaa !5
  %3574 = call ptr @s2n_strerror_debug(i32 noundef %3573, ptr noundef @.str.4)
  %3575 = call ptr @__errno_location() #12
  %3576 = load i32, ptr %3575, align 4, !tbaa !5
  %3577 = call ptr @strerror(i32 noundef %3576) #11
  %3578 = call ptr @__errno_location() #12
  %3579 = load i32, ptr %3578, align 4, !tbaa !5
  %3580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3567, ptr noundef @.str.2, i32 noundef %3568, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 256, ptr noundef %3571, ptr noundef %3574, ptr noundef %3577, i32 noundef %3579) #11
  br label %3598

3581:                                             ; preds = %3559, %3552
  %3582 = load i32, ptr %83, align 4, !tbaa !5
  %3583 = call ptr @__errno_location() #12
  store i32 %3582, ptr %3583, align 4, !tbaa !5
  %3584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3585 = load i32, ptr @test_count, align 4, !tbaa !5
  %3586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror(i32 noundef %3587, ptr noundef @.str.4)
  %3589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3590 = load i32, ptr %3589, align 4, !tbaa !5
  %3591 = call ptr @s2n_strerror_debug(i32 noundef %3590, ptr noundef @.str.4)
  %3592 = call ptr @__errno_location() #12
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call ptr @strerror(i32 noundef %3593) #11
  %3595 = call ptr @__errno_location() #12
  %3596 = load i32, ptr %3595, align 4, !tbaa !5
  %3597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3584, ptr noundef @.str.5, i32 noundef %3585, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 256, ptr noundef %3588, ptr noundef %3591, ptr noundef %3594, i32 noundef %3596) #11
  br label %3598

3598:                                             ; preds = %3581, %3564
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %3599

3599:                                             ; preds = %3598
  br label %3600

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

3601:                                             ; No predecessors!
  br label %3602

3602:                                             ; preds = %3601
  br label %3603

3603:                                             ; preds = %3602, %3545
  br label %3604

3604:                                             ; preds = %3603
  br label %3605

3605:                                             ; preds = %3604
  br label %3606

3606:                                             ; preds = %3605
  %3607 = load i32, ptr @test_count, align 4, !tbaa !5
  %3608 = add nsw i32 %3607, 1
  store i32 %3608, ptr @test_count, align 4, !tbaa !5
  %3609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  %3611 = icmp eq i32 %3610, 402653193
  br i1 %3611, label %3665, label %3612

3612:                                             ; preds = %3606
  br label %3613

3613:                                             ; preds = %3612
  br label %3614

3614:                                             ; preds = %3613
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %3615 = call ptr @__errno_location() #12
  %3616 = load i32, ptr %3615, align 4, !tbaa !5
  store i32 %3616, ptr %84, align 4, !tbaa !5
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = call i32 @s2n_print_stacktrace(ptr noundef %3617)
  %3619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3620 = trunc i8 %3619 to i1
  br i1 %3620, label %3621, label %3643

3621:                                             ; preds = %3614
  %3622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3623 = call i32 @fileno(ptr noundef %3622) #11
  %3624 = call i32 @isatty(i32 noundef %3623) #11
  %3625 = icmp ne i32 %3624, 0
  br i1 %3625, label %3626, label %3643

3626:                                             ; preds = %3621
  %3627 = load i32, ptr %84, align 4, !tbaa !5
  %3628 = call ptr @__errno_location() #12
  store i32 %3627, ptr %3628, align 4, !tbaa !5
  %3629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3630 = load i32, ptr @test_count, align 4, !tbaa !5
  %3631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @s2n_strerror(i32 noundef %3632, ptr noundef @.str.4)
  %3634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call ptr @s2n_strerror_debug(i32 noundef %3635, ptr noundef @.str.4)
  %3637 = call ptr @__errno_location() #12
  %3638 = load i32, ptr %3637, align 4, !tbaa !5
  %3639 = call ptr @strerror(i32 noundef %3638) #11
  %3640 = call ptr @__errno_location() #12
  %3641 = load i32, ptr %3640, align 4, !tbaa !5
  %3642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3629, ptr noundef @.str.2, i32 noundef %3630, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 256, ptr noundef %3633, ptr noundef %3636, ptr noundef %3639, i32 noundef %3641) #11
  br label %3660

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

3660:                                             ; preds = %3643, %3626
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %3661

3661:                                             ; preds = %3660
  br label %3662

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

3663:                                             ; No predecessors!
  br label %3664

3664:                                             ; preds = %3663
  br label %3665

3665:                                             ; preds = %3664, %3606
  br label %3666

3666:                                             ; preds = %3665
  br label %3667

3667:                                             ; preds = %3666
  br label %3668

3668:                                             ; preds = %3667
  %3669 = load i32, ptr @test_count, align 4, !tbaa !5
  %3670 = add nsw i32 %3669, 1
  store i32 %3670, ptr @test_count, align 4, !tbaa !5
  %3671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3672 = load i32, ptr %3671, align 4, !tbaa !5
  %3673 = call ptr @s2n_strerror_debug(i32 noundef %3672, ptr noundef @.str.4)
  %3674 = icmp eq ptr %3673, null
  br i1 %3674, label %3675, label %3728

3675:                                             ; preds = %3668
  br label %3676

3676:                                             ; preds = %3675
  br label %3677

3677:                                             ; preds = %3676
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %3678 = call ptr @__errno_location() #12
  %3679 = load i32, ptr %3678, align 4, !tbaa !5
  store i32 %3679, ptr %85, align 4, !tbaa !5
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = call i32 @s2n_print_stacktrace(ptr noundef %3680)
  %3682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3683 = trunc i8 %3682 to i1
  br i1 %3683, label %3684, label %3706

3684:                                             ; preds = %3677
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3686 = call i32 @fileno(ptr noundef %3685) #11
  %3687 = call i32 @isatty(i32 noundef %3686) #11
  %3688 = icmp ne i32 %3687, 0
  br i1 %3688, label %3689, label %3706

3689:                                             ; preds = %3684
  %3690 = load i32, ptr %85, align 4, !tbaa !5
  %3691 = call ptr @__errno_location() #12
  store i32 %3690, ptr %3691, align 4, !tbaa !5
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = load i32, ptr @test_count, align 4, !tbaa !5
  %3694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3695 = load i32, ptr %3694, align 4, !tbaa !5
  %3696 = call ptr @s2n_strerror(i32 noundef %3695, ptr noundef @.str.4)
  %3697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3698 = load i32, ptr %3697, align 4, !tbaa !5
  %3699 = call ptr @s2n_strerror_debug(i32 noundef %3698, ptr noundef @.str.4)
  %3700 = call ptr @__errno_location() #12
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  %3702 = call ptr @strerror(i32 noundef %3701) #11
  %3703 = call ptr @__errno_location() #12
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  %3705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3692, ptr noundef @.str.2, i32 noundef %3693, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 256, ptr noundef %3696, ptr noundef %3699, ptr noundef %3702, i32 noundef %3704) #11
  br label %3723

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

3723:                                             ; preds = %3706, %3689
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

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

3726:                                             ; No predecessors!
  br label %3727

3727:                                             ; preds = %3726
  br label %3728

3728:                                             ; preds = %3727, %3668
  br label %3729

3729:                                             ; preds = %3728
  br label %3730

3730:                                             ; preds = %3729
  br label %3731

3731:                                             ; preds = %3730
  br label %3732

3732:                                             ; preds = %3731
  br label %3733

3733:                                             ; preds = %3732
  %3734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3734, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3735 = call ptr @__errno_location() #12
  store i32 0, ptr %3735, align 4, !tbaa !5
  br label %3736

3736:                                             ; preds = %3733
  br label %3737

3737:                                             ; preds = %3736
  br label %3738

3738:                                             ; preds = %3737
  br label %3739

3739:                                             ; preds = %3738
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  store i32 1000, ptr %86, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #11
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %87, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #11
  %3740 = call ptr @s2n_external_psk_new()
  store ptr %3740, ptr %88, align 8, !tbaa !9
  br label %3741

3741:                                             ; preds = %3739
  %3742 = load i32, ptr @test_count, align 4, !tbaa !5
  %3743 = add nsw i32 %3742, 1
  store i32 %3743, ptr @test_count, align 4, !tbaa !5
  %3744 = load ptr, ptr %88, align 8, !tbaa !9
  %3745 = load i32, ptr %86, align 4, !tbaa !5
  %3746 = load ptr, ptr %87, align 8, !tbaa !9
  %3747 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %3746, i32 0, i32 3
  %3748 = getelementptr inbounds [2 x i8], ptr %3747, i64 0, i64 0
  %3749 = load i8, ptr %3748, align 8, !tbaa !45
  %3750 = load ptr, ptr %87, align 8, !tbaa !9
  %3751 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %3750, i32 0, i32 3
  %3752 = getelementptr inbounds [2 x i8], ptr %3751, i64 0, i64 1
  %3753 = load i8, ptr %3752, align 1, !tbaa !45
  %3754 = call i32 @s2n_psk_configure_early_data(ptr noundef %3744, i32 noundef %3745, i8 noundef zeroext %3749, i8 noundef zeroext %3753)
  %3755 = icmp eq i32 %3754, -1
  br i1 %3755, label %3756, label %3809

3756:                                             ; preds = %3741
  br label %3757

3757:                                             ; preds = %3756
  br label %3758

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

3765:                                             ; preds = %3758
  %3766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3767 = call i32 @fileno(ptr noundef %3766) #11
  %3768 = call i32 @isatty(i32 noundef %3767) #11
  %3769 = icmp ne i32 %3768, 0
  br i1 %3769, label %3770, label %3787

3770:                                             ; preds = %3765
  %3771 = load i32, ptr %89, align 4, !tbaa !5
  %3772 = call ptr @__errno_location() #12
  store i32 %3771, ptr %3772, align 4, !tbaa !5
  %3773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3774 = load i32, ptr @test_count, align 4, !tbaa !5
  %3775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3776 = load i32, ptr %3775, align 4, !tbaa !5
  %3777 = call ptr @s2n_strerror(i32 noundef %3776, ptr noundef @.str.4)
  %3778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3779 = load i32, ptr %3778, align 4, !tbaa !5
  %3780 = call ptr @s2n_strerror_debug(i32 noundef %3779, ptr noundef @.str.4)
  %3781 = call ptr @__errno_location() #12
  %3782 = load i32, ptr %3781, align 4, !tbaa !5
  %3783 = call ptr @strerror(i32 noundef %3782) #11
  %3784 = call ptr @__errno_location() #12
  %3785 = load i32, ptr %3784, align 4, !tbaa !5
  %3786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3773, ptr noundef @.str.2, i32 noundef %3774, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 265, ptr noundef %3777, ptr noundef %3780, ptr noundef %3783, i32 noundef %3785) #11
  br label %3804

3787:                                             ; preds = %3765, %3758
  %3788 = load i32, ptr %89, align 4, !tbaa !5
  %3789 = call ptr @__errno_location() #12
  store i32 %3788, ptr %3789, align 4, !tbaa !5
  %3790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3791 = load i32, ptr @test_count, align 4, !tbaa !5
  %3792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3793 = load i32, ptr %3792, align 4, !tbaa !5
  %3794 = call ptr @s2n_strerror(i32 noundef %3793, ptr noundef @.str.4)
  %3795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3796 = load i32, ptr %3795, align 4, !tbaa !5
  %3797 = call ptr @s2n_strerror_debug(i32 noundef %3796, ptr noundef @.str.4)
  %3798 = call ptr @__errno_location() #12
  %3799 = load i32, ptr %3798, align 4, !tbaa !5
  %3800 = call ptr @strerror(i32 noundef %3799) #11
  %3801 = call ptr @__errno_location() #12
  %3802 = load i32, ptr %3801, align 4, !tbaa !5
  %3803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3790, ptr noundef @.str.5, i32 noundef %3791, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 265, ptr noundef %3794, ptr noundef %3797, ptr noundef %3800, i32 noundef %3802) #11
  br label %3804

3804:                                             ; preds = %3787, %3770
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %3805

3805:                                             ; preds = %3804
  br label %3806

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

3807:                                             ; No predecessors!
  br label %3808

3808:                                             ; preds = %3807
  br label %3809

3809:                                             ; preds = %3808, %3741
  br label %3810

3810:                                             ; preds = %3809
  br label %3811

3811:                                             ; preds = %3810
  br label %3812

3812:                                             ; preds = %3811
  %3813 = load i32, ptr @test_count, align 4, !tbaa !5
  %3814 = add nsw i32 %3813, 1
  store i32 %3814, ptr @test_count, align 4, !tbaa !5
  %3815 = load ptr, ptr %88, align 8, !tbaa !9
  %3816 = getelementptr inbounds %struct.s2n_psk, ptr %3815, i32 0, i32 7
  %3817 = getelementptr inbounds %struct.s2n_early_data_config, ptr %3816, i32 0, i32 0
  %3818 = load i32, ptr %3817, align 8, !tbaa !46
  %3819 = load i32, ptr %86, align 4, !tbaa !5
  %3820 = icmp eq i32 %3818, %3819
  br i1 %3820, label %3874, label %3821

3821:                                             ; preds = %3812
  br label %3822

3822:                                             ; preds = %3821
  br label %3823

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

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

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

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

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

3870:                                             ; preds = %3869
  br label %3871

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

3872:                                             ; No predecessors!
  br label %3873

3873:                                             ; preds = %3872
  br label %3874

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

3875:                                             ; preds = %3874
  br label %3876

3876:                                             ; preds = %3875
  br label %3877

3877:                                             ; preds = %3876
  %3878 = load i32, ptr @test_count, align 4, !tbaa !5
  %3879 = add nsw i32 %3878, 1
  store i32 %3879, ptr @test_count, align 4, !tbaa !5
  %3880 = load ptr, ptr %88, align 8, !tbaa !9
  %3881 = getelementptr inbounds %struct.s2n_psk, ptr %3880, i32 0, i32 7
  %3882 = getelementptr inbounds %struct.s2n_early_data_config, ptr %3881, i32 0, i32 1
  %3883 = load i8, ptr %3882, align 4, !tbaa !49
  %3884 = zext i8 %3883 to i32
  %3885 = icmp eq i32 %3884, 34
  br i1 %3885, label %3939, label %3886

3886:                                             ; preds = %3877
  br label %3887

3887:                                             ; preds = %3886
  br label %3888

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

3895:                                             ; preds = %3888
  %3896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3897 = call i32 @fileno(ptr noundef %3896) #11
  %3898 = call i32 @isatty(i32 noundef %3897) #11
  %3899 = icmp ne i32 %3898, 0
  br i1 %3899, label %3900, label %3917

3900:                                             ; preds = %3895
  %3901 = load i32, ptr %91, align 4, !tbaa !5
  %3902 = call ptr @__errno_location() #12
  store i32 %3901, ptr %3902, align 4, !tbaa !5
  %3903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3904 = load i32, ptr @test_count, align 4, !tbaa !5
  %3905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3906 = load i32, ptr %3905, align 4, !tbaa !5
  %3907 = call ptr @s2n_strerror(i32 noundef %3906, ptr noundef @.str.4)
  %3908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3909 = load i32, ptr %3908, align 4, !tbaa !5
  %3910 = call ptr @s2n_strerror_debug(i32 noundef %3909, ptr noundef @.str.4)
  %3911 = call ptr @__errno_location() #12
  %3912 = load i32, ptr %3911, align 4, !tbaa !5
  %3913 = call ptr @strerror(i32 noundef %3912) #11
  %3914 = call ptr @__errno_location() #12
  %3915 = load i32, ptr %3914, align 4, !tbaa !5
  %3916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3903, ptr noundef @.str.2, i32 noundef %3904, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 268, ptr noundef %3907, ptr noundef %3910, ptr noundef %3913, i32 noundef %3915) #11
  br label %3934

3917:                                             ; preds = %3895, %3888
  %3918 = load i32, ptr %91, align 4, !tbaa !5
  %3919 = call ptr @__errno_location() #12
  store i32 %3918, ptr %3919, align 4, !tbaa !5
  %3920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3921 = load i32, ptr @test_count, align 4, !tbaa !5
  %3922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3923 = load i32, ptr %3922, align 4, !tbaa !5
  %3924 = call ptr @s2n_strerror(i32 noundef %3923, ptr noundef @.str.4)
  %3925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3926 = load i32, ptr %3925, align 4, !tbaa !5
  %3927 = call ptr @s2n_strerror_debug(i32 noundef %3926, ptr noundef @.str.4)
  %3928 = call ptr @__errno_location() #12
  %3929 = load i32, ptr %3928, align 4, !tbaa !5
  %3930 = call ptr @strerror(i32 noundef %3929) #11
  %3931 = call ptr @__errno_location() #12
  %3932 = load i32, ptr %3931, align 4, !tbaa !5
  %3933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3920, ptr noundef @.str.5, i32 noundef %3921, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 268, ptr noundef %3924, ptr noundef %3927, ptr noundef %3930, i32 noundef %3932) #11
  br label %3934

3934:                                             ; preds = %3917, %3900
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %3935

3935:                                             ; preds = %3934
  br label %3936

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

3937:                                             ; No predecessors!
  br label %3938

3938:                                             ; preds = %3937
  br label %3939

3939:                                             ; preds = %3938, %3877
  br label %3940

3940:                                             ; preds = %3939
  br label %3941

3941:                                             ; preds = %3940
  br label %3942

3942:                                             ; preds = %3941
  %3943 = load i32, ptr @test_count, align 4, !tbaa !5
  %3944 = add nsw i32 %3943, 1
  store i32 %3944, ptr @test_count, align 4, !tbaa !5
  %3945 = load ptr, ptr %88, align 8, !tbaa !9
  %3946 = getelementptr inbounds %struct.s2n_psk, ptr %3945, i32 0, i32 7
  %3947 = getelementptr inbounds %struct.s2n_early_data_config, ptr %3946, i32 0, i32 2
  %3948 = load ptr, ptr %3947, align 8, !tbaa !50
  %3949 = load ptr, ptr %87, align 8, !tbaa !9
  %3950 = icmp eq ptr %3948, %3949
  br i1 %3950, label %4004, label %3951

3951:                                             ; preds = %3942
  br label %3952

3952:                                             ; preds = %3951
  br label %3953

3953:                                             ; preds = %3952
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %3954 = call ptr @__errno_location() #12
  %3955 = load i32, ptr %3954, align 4, !tbaa !5
  store i32 %3955, ptr %92, align 4, !tbaa !5
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = call i32 @s2n_print_stacktrace(ptr noundef %3956)
  %3958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3959 = trunc i8 %3958 to i1
  br i1 %3959, label %3960, label %3982

3960:                                             ; preds = %3953
  %3961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3962 = call i32 @fileno(ptr noundef %3961) #11
  %3963 = call i32 @isatty(i32 noundef %3962) #11
  %3964 = icmp ne i32 %3963, 0
  br i1 %3964, label %3965, label %3982

3965:                                             ; preds = %3960
  %3966 = load i32, ptr %92, align 4, !tbaa !5
  %3967 = call ptr @__errno_location() #12
  store i32 %3966, ptr %3967, align 4, !tbaa !5
  %3968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3969 = load i32, ptr @test_count, align 4, !tbaa !5
  %3970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3971 = load i32, ptr %3970, align 4, !tbaa !5
  %3972 = call ptr @s2n_strerror(i32 noundef %3971, ptr noundef @.str.4)
  %3973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3974 = load i32, ptr %3973, align 4, !tbaa !5
  %3975 = call ptr @s2n_strerror_debug(i32 noundef %3974, ptr noundef @.str.4)
  %3976 = call ptr @__errno_location() #12
  %3977 = load i32, ptr %3976, align 4, !tbaa !5
  %3978 = call ptr @strerror(i32 noundef %3977) #11
  %3979 = call ptr @__errno_location() #12
  %3980 = load i32, ptr %3979, align 4, !tbaa !5
  %3981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3968, ptr noundef @.str.2, i32 noundef %3969, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 269, ptr noundef %3972, ptr noundef %3975, ptr noundef %3978, i32 noundef %3980) #11
  br label %3999

3982:                                             ; preds = %3960, %3953
  %3983 = load i32, ptr %92, align 4, !tbaa !5
  %3984 = call ptr @__errno_location() #12
  store i32 %3983, ptr %3984, align 4, !tbaa !5
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = load i32, ptr @test_count, align 4, !tbaa !5
  %3987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  %3989 = call ptr @s2n_strerror(i32 noundef %3988, ptr noundef @.str.4)
  %3990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3991 = load i32, ptr %3990, align 4, !tbaa !5
  %3992 = call ptr @s2n_strerror_debug(i32 noundef %3991, ptr noundef @.str.4)
  %3993 = call ptr @__errno_location() #12
  %3994 = load i32, ptr %3993, align 4, !tbaa !5
  %3995 = call ptr @strerror(i32 noundef %3994) #11
  %3996 = call ptr @__errno_location() #12
  %3997 = load i32, ptr %3996, align 4, !tbaa !5
  %3998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3985, ptr noundef @.str.5, i32 noundef %3986, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 269, ptr noundef %3989, ptr noundef %3992, ptr noundef %3995, i32 noundef %3997) #11
  br label %3999

3999:                                             ; preds = %3982, %3965
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4000

4000:                                             ; preds = %3999
  br label %4001

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

4002:                                             ; No predecessors!
  br label %4003

4003:                                             ; preds = %4002
  br label %4004

4004:                                             ; preds = %4003, %3942
  br label %4005

4005:                                             ; preds = %4004
  br label %4006

4006:                                             ; preds = %4005
  %4007 = call i32 @s2n_psk_free(ptr noundef %88)
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #11
  %4008 = call ptr @s2n_external_psk_new()
  store ptr %4008, ptr %93, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #11
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %94, align 8, !tbaa !9
  %4009 = load ptr, ptr %94, align 8, !tbaa !9
  %4010 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %4009, i32 0, i32 11
  %4011 = load i32, ptr %4010, align 8, !tbaa !51
  %4012 = add i32 %4011, 1
  %4013 = load ptr, ptr %93, align 8, !tbaa !9
  %4014 = getelementptr inbounds %struct.s2n_psk, ptr %4013, i32 0, i32 3
  store i32 %4012, ptr %4014, align 8, !tbaa !53
  br label %4015

4015:                                             ; preds = %4006
  br label %4016

4016:                                             ; preds = %4015
  br label %4017

4017:                                             ; preds = %4016
  %4018 = load i32, ptr @test_count, align 4, !tbaa !5
  %4019 = add nsw i32 %4018, 1
  store i32 %4019, ptr @test_count, align 4, !tbaa !5
  %4020 = load ptr, ptr %93, align 8, !tbaa !9
  %4021 = load ptr, ptr %94, align 8, !tbaa !9
  %4022 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %4021, i32 0, i32 3
  %4023 = getelementptr inbounds [2 x i8], ptr %4022, i64 0, i64 0
  %4024 = load i8, ptr %4023, align 8, !tbaa !45
  %4025 = load ptr, ptr %94, align 8, !tbaa !9
  %4026 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %4025, i32 0, i32 3
  %4027 = getelementptr inbounds [2 x i8], ptr %4026, i64 0, i64 1
  %4028 = load i8, ptr %4027, align 1, !tbaa !45
  %4029 = call i32 @s2n_psk_configure_early_data(ptr noundef %4020, i32 noundef 10, i8 noundef zeroext %4024, i8 noundef zeroext %4028)
  %4030 = icmp eq i32 %4029, -1
  br i1 %4030, label %4084, label %4031

4031:                                             ; preds = %4017
  br label %4032

4032:                                             ; preds = %4031
  br label %4033

4033:                                             ; preds = %4032
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4034 = call ptr @__errno_location() #12
  %4035 = load i32, ptr %4034, align 4, !tbaa !5
  store i32 %4035, ptr %95, align 4, !tbaa !5
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = call i32 @s2n_print_stacktrace(ptr noundef %4036)
  %4038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4039 = trunc i8 %4038 to i1
  br i1 %4039, label %4040, label %4062

4040:                                             ; preds = %4033
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = call i32 @fileno(ptr noundef %4041) #11
  %4043 = call i32 @isatty(i32 noundef %4042) #11
  %4044 = icmp ne i32 %4043, 0
  br i1 %4044, label %4045, label %4062

4045:                                             ; preds = %4040
  %4046 = load i32, ptr %95, align 4, !tbaa !5
  %4047 = call ptr @__errno_location() #12
  store i32 %4046, ptr %4047, align 4, !tbaa !5
  %4048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4051 = load i32, ptr %4050, align 4, !tbaa !5
  %4052 = call ptr @s2n_strerror(i32 noundef %4051, ptr noundef @.str.4)
  %4053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4054 = load i32, ptr %4053, align 4, !tbaa !5
  %4055 = call ptr @s2n_strerror_debug(i32 noundef %4054, ptr noundef @.str.4)
  %4056 = call ptr @__errno_location() #12
  %4057 = load i32, ptr %4056, align 4, !tbaa !5
  %4058 = call ptr @strerror(i32 noundef %4057) #11
  %4059 = call ptr @__errno_location() #12
  %4060 = load i32, ptr %4059, align 4, !tbaa !5
  %4061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4048, ptr noundef @.str.2, i32 noundef %4049, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 280, ptr noundef %4052, ptr noundef %4055, ptr noundef %4058, i32 noundef %4060) #11
  br label %4079

4062:                                             ; preds = %4040, %4033
  %4063 = load i32, ptr %95, align 4, !tbaa !5
  %4064 = call ptr @__errno_location() #12
  store i32 %4063, ptr %4064, align 4, !tbaa !5
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %4067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4068 = load i32, ptr %4067, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror(i32 noundef %4068, ptr noundef @.str.4)
  %4070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4071 = load i32, ptr %4070, align 4, !tbaa !5
  %4072 = call ptr @s2n_strerror_debug(i32 noundef %4071, ptr noundef @.str.4)
  %4073 = call ptr @__errno_location() #12
  %4074 = load i32, ptr %4073, align 4, !tbaa !5
  %4075 = call ptr @strerror(i32 noundef %4074) #11
  %4076 = call ptr @__errno_location() #12
  %4077 = load i32, ptr %4076, align 4, !tbaa !5
  %4078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4065, ptr noundef @.str.5, i32 noundef %4066, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 280, ptr noundef %4069, ptr noundef %4072, ptr noundef %4075, i32 noundef %4077) #11
  br label %4079

4079:                                             ; preds = %4062, %4045
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4080

4080:                                             ; preds = %4079
  br label %4081

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

4082:                                             ; No predecessors!
  br label %4083

4083:                                             ; preds = %4082
  br label %4084

4084:                                             ; preds = %4083, %4017
  br label %4085

4085:                                             ; preds = %4084
  br label %4086

4086:                                             ; preds = %4085
  br label %4087

4087:                                             ; preds = %4086
  %4088 = load i32, ptr @test_count, align 4, !tbaa !5
  %4089 = add nsw i32 %4088, 1
  store i32 %4089, ptr @test_count, align 4, !tbaa !5
  %4090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4091 = load i32, ptr %4090, align 4, !tbaa !5
  %4092 = icmp eq i32 %4091, 469762089
  br i1 %4092, label %4146, label %4093

4093:                                             ; preds = %4087
  br label %4094

4094:                                             ; preds = %4093
  br label %4095

4095:                                             ; preds = %4094
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %4096 = call ptr @__errno_location() #12
  %4097 = load i32, ptr %4096, align 4, !tbaa !5
  store i32 %4097, ptr %96, align 4, !tbaa !5
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = call i32 @s2n_print_stacktrace(ptr noundef %4098)
  %4100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4101 = trunc i8 %4100 to i1
  br i1 %4101, label %4102, label %4124

4102:                                             ; preds = %4095
  %4103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4104 = call i32 @fileno(ptr noundef %4103) #11
  %4105 = call i32 @isatty(i32 noundef %4104) #11
  %4106 = icmp ne i32 %4105, 0
  br i1 %4106, label %4107, label %4124

4107:                                             ; preds = %4102
  %4108 = load i32, ptr %96, align 4, !tbaa !5
  %4109 = call ptr @__errno_location() #12
  store i32 %4108, ptr %4109, align 4, !tbaa !5
  %4110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4111 = load i32, ptr @test_count, align 4, !tbaa !5
  %4112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4113 = load i32, ptr %4112, align 4, !tbaa !5
  %4114 = call ptr @s2n_strerror(i32 noundef %4113, ptr noundef @.str.4)
  %4115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4116 = load i32, ptr %4115, align 4, !tbaa !5
  %4117 = call ptr @s2n_strerror_debug(i32 noundef %4116, ptr noundef @.str.4)
  %4118 = call ptr @__errno_location() #12
  %4119 = load i32, ptr %4118, align 4, !tbaa !5
  %4120 = call ptr @strerror(i32 noundef %4119) #11
  %4121 = call ptr @__errno_location() #12
  %4122 = load i32, ptr %4121, align 4, !tbaa !5
  %4123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4110, ptr noundef @.str.2, i32 noundef %4111, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 280, ptr noundef %4114, ptr noundef %4117, ptr noundef %4120, i32 noundef %4122) #11
  br label %4141

4124:                                             ; preds = %4102, %4095
  %4125 = load i32, ptr %96, align 4, !tbaa !5
  %4126 = call ptr @__errno_location() #12
  store i32 %4125, ptr %4126, align 4, !tbaa !5
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = load i32, ptr @test_count, align 4, !tbaa !5
  %4129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4130 = load i32, ptr %4129, align 4, !tbaa !5
  %4131 = call ptr @s2n_strerror(i32 noundef %4130, ptr noundef @.str.4)
  %4132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call ptr @s2n_strerror_debug(i32 noundef %4133, ptr noundef @.str.4)
  %4135 = call ptr @__errno_location() #12
  %4136 = load i32, ptr %4135, align 4, !tbaa !5
  %4137 = call ptr @strerror(i32 noundef %4136) #11
  %4138 = call ptr @__errno_location() #12
  %4139 = load i32, ptr %4138, align 4, !tbaa !5
  %4140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4127, ptr noundef @.str.5, i32 noundef %4128, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 280, ptr noundef %4131, ptr noundef %4134, ptr noundef %4137, i32 noundef %4139) #11
  br label %4141

4141:                                             ; preds = %4124, %4107
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4142

4142:                                             ; preds = %4141
  br label %4143

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

4144:                                             ; No predecessors!
  br label %4145

4145:                                             ; preds = %4144
  br label %4146

4146:                                             ; preds = %4145, %4087
  br label %4147

4147:                                             ; preds = %4146
  br label %4148

4148:                                             ; preds = %4147
  br label %4149

4149:                                             ; preds = %4148
  %4150 = load i32, ptr @test_count, align 4, !tbaa !5
  %4151 = add nsw i32 %4150, 1
  store i32 %4151, ptr @test_count, align 4, !tbaa !5
  %4152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4153 = load i32, ptr %4152, align 4, !tbaa !5
  %4154 = call ptr @s2n_strerror_debug(i32 noundef %4153, ptr noundef @.str.4)
  %4155 = icmp eq ptr %4154, null
  br i1 %4155, label %4156, label %4209

4156:                                             ; preds = %4149
  br label %4157

4157:                                             ; preds = %4156
  br label %4158

4158:                                             ; preds = %4157
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %4159 = call ptr @__errno_location() #12
  %4160 = load i32, ptr %4159, align 4, !tbaa !5
  store i32 %4160, ptr %97, align 4, !tbaa !5
  %4161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4162 = call i32 @s2n_print_stacktrace(ptr noundef %4161)
  %4163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4164 = trunc i8 %4163 to i1
  br i1 %4164, label %4165, label %4187

4165:                                             ; preds = %4158
  %4166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4167 = call i32 @fileno(ptr noundef %4166) #11
  %4168 = call i32 @isatty(i32 noundef %4167) #11
  %4169 = icmp ne i32 %4168, 0
  br i1 %4169, label %4170, label %4187

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

4187:                                             ; preds = %4165, %4158
  %4188 = load i32, ptr %97, align 4, !tbaa !5
  %4189 = call ptr @__errno_location() #12
  store i32 %4188, ptr %4189, align 4, !tbaa !5
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = load i32, ptr @test_count, align 4, !tbaa !5
  %4192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4193 = load i32, ptr %4192, align 4, !tbaa !5
  %4194 = call ptr @s2n_strerror(i32 noundef %4193, ptr noundef @.str.4)
  %4195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4196 = load i32, ptr %4195, align 4, !tbaa !5
  %4197 = call ptr @s2n_strerror_debug(i32 noundef %4196, ptr noundef @.str.4)
  %4198 = call ptr @__errno_location() #12
  %4199 = load i32, ptr %4198, align 4, !tbaa !5
  %4200 = call ptr @strerror(i32 noundef %4199) #11
  %4201 = call ptr @__errno_location() #12
  %4202 = load i32, ptr %4201, align 4, !tbaa !5
  %4203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4190, ptr noundef @.str.5, i32 noundef %4191, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 280, ptr noundef %4194, ptr noundef %4197, ptr noundef %4200, i32 noundef %4202) #11
  br label %4204

4204:                                             ; preds = %4187, %4170
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4205

4205:                                             ; preds = %4204
  br label %4206

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

4207:                                             ; No predecessors!
  br label %4208

4208:                                             ; preds = %4207
  br label %4209

4209:                                             ; preds = %4208, %4149
  br label %4210

4210:                                             ; preds = %4209
  br label %4211

4211:                                             ; preds = %4210
  br label %4212

4212:                                             ; preds = %4211
  br label %4213

4213:                                             ; preds = %4212
  br label %4214

4214:                                             ; preds = %4213
  %4215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4215, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4216 = call ptr @__errno_location() #12
  store i32 0, ptr %4216, align 4, !tbaa !5
  br label %4217

4217:                                             ; preds = %4214
  br label %4218

4218:                                             ; preds = %4217
  br label %4219

4219:                                             ; preds = %4218
  br label %4220

4220:                                             ; preds = %4219
  %4221 = load ptr, ptr %94, align 8, !tbaa !9
  %4222 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %4221, i32 0, i32 11
  %4223 = load i32, ptr %4222, align 8, !tbaa !51
  %4224 = load ptr, ptr %93, align 8, !tbaa !9
  %4225 = getelementptr inbounds %struct.s2n_psk, ptr %4224, i32 0, i32 3
  store i32 %4223, ptr %4225, align 8, !tbaa !53
  br label %4226

4226:                                             ; preds = %4220
  %4227 = load i32, ptr @test_count, align 4, !tbaa !5
  %4228 = add nsw i32 %4227, 1
  store i32 %4228, ptr @test_count, align 4, !tbaa !5
  %4229 = load ptr, ptr %93, align 8, !tbaa !9
  %4230 = load ptr, ptr %94, align 8, !tbaa !9
  %4231 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %4230, i32 0, i32 3
  %4232 = getelementptr inbounds [2 x i8], ptr %4231, i64 0, i64 0
  %4233 = load i8, ptr %4232, align 8, !tbaa !45
  %4234 = load ptr, ptr %94, align 8, !tbaa !9
  %4235 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %4234, i32 0, i32 3
  %4236 = getelementptr inbounds [2 x i8], ptr %4235, i64 0, i64 1
  %4237 = load i8, ptr %4236, align 1, !tbaa !45
  %4238 = call i32 @s2n_psk_configure_early_data(ptr noundef %4229, i32 noundef 10, i8 noundef zeroext %4233, i8 noundef zeroext %4237)
  %4239 = icmp eq i32 %4238, -1
  br i1 %4239, label %4240, label %4293

4240:                                             ; preds = %4226
  br label %4241

4241:                                             ; preds = %4240
  br label %4242

4242:                                             ; preds = %4241
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %4243 = call ptr @__errno_location() #12
  %4244 = load i32, ptr %4243, align 4, !tbaa !5
  store i32 %4244, ptr %98, align 4, !tbaa !5
  %4245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4246 = call i32 @s2n_print_stacktrace(ptr noundef %4245)
  %4247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4248 = trunc i8 %4247 to i1
  br i1 %4248, label %4249, label %4271

4249:                                             ; preds = %4242
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = call i32 @fileno(ptr noundef %4250) #11
  %4252 = call i32 @isatty(i32 noundef %4251) #11
  %4253 = icmp ne i32 %4252, 0
  br i1 %4253, label %4254, label %4271

4254:                                             ; preds = %4249
  %4255 = load i32, ptr %98, align 4, !tbaa !5
  %4256 = call ptr @__errno_location() #12
  store i32 %4255, ptr %4256, align 4, !tbaa !5
  %4257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4258 = load i32, ptr @test_count, align 4, !tbaa !5
  %4259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror(i32 noundef %4260, ptr noundef @.str.4)
  %4262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  %4264 = call ptr @s2n_strerror_debug(i32 noundef %4263, ptr noundef @.str.4)
  %4265 = call ptr @__errno_location() #12
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call ptr @strerror(i32 noundef %4266) #11
  %4268 = call ptr @__errno_location() #12
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4257, ptr noundef @.str.2, i32 noundef %4258, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 284, ptr noundef %4261, ptr noundef %4264, ptr noundef %4267, i32 noundef %4269) #11
  br label %4288

4271:                                             ; preds = %4249, %4242
  %4272 = load i32, ptr %98, align 4, !tbaa !5
  %4273 = call ptr @__errno_location() #12
  store i32 %4272, ptr %4273, align 4, !tbaa !5
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = load i32, ptr @test_count, align 4, !tbaa !5
  %4276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  %4278 = call ptr @s2n_strerror(i32 noundef %4277, ptr noundef @.str.4)
  %4279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = call ptr @s2n_strerror_debug(i32 noundef %4280, ptr noundef @.str.4)
  %4282 = call ptr @__errno_location() #12
  %4283 = load i32, ptr %4282, align 4, !tbaa !5
  %4284 = call ptr @strerror(i32 noundef %4283) #11
  %4285 = call ptr @__errno_location() #12
  %4286 = load i32, ptr %4285, align 4, !tbaa !5
  %4287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4274, ptr noundef @.str.5, i32 noundef %4275, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 284, ptr noundef %4278, ptr noundef %4281, ptr noundef %4284, i32 noundef %4286) #11
  br label %4288

4288:                                             ; preds = %4271, %4254
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %4289

4289:                                             ; preds = %4288
  br label %4290

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

4291:                                             ; No predecessors!
  br label %4292

4292:                                             ; preds = %4291
  br label %4293

4293:                                             ; preds = %4292, %4226
  br label %4294

4294:                                             ; preds = %4293
  br label %4295

4295:                                             ; preds = %4294
  br label %4296

4296:                                             ; preds = %4295
  %4297 = load i32, ptr @test_count, align 4, !tbaa !5
  %4298 = add nsw i32 %4297, 1
  store i32 %4298, ptr @test_count, align 4, !tbaa !5
  %4299 = load ptr, ptr %93, align 8, !tbaa !9
  %4300 = getelementptr inbounds %struct.s2n_psk, ptr %4299, i32 0, i32 7
  %4301 = getelementptr inbounds %struct.s2n_early_data_config, ptr %4300, i32 0, i32 2
  %4302 = load ptr, ptr %4301, align 8, !tbaa !50
  %4303 = load ptr, ptr %94, align 8, !tbaa !9
  %4304 = icmp eq ptr %4302, %4303
  br i1 %4304, label %4358, label %4305

4305:                                             ; preds = %4296
  br label %4306

4306:                                             ; preds = %4305
  br label %4307

4307:                                             ; preds = %4306
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %4308 = call ptr @__errno_location() #12
  %4309 = load i32, ptr %4308, align 4, !tbaa !5
  store i32 %4309, ptr %99, align 4, !tbaa !5
  %4310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4311 = call i32 @s2n_print_stacktrace(ptr noundef %4310)
  %4312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4313 = trunc i8 %4312 to i1
  br i1 %4313, label %4314, label %4336

4314:                                             ; preds = %4307
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = call i32 @fileno(ptr noundef %4315) #11
  %4317 = call i32 @isatty(i32 noundef %4316) #11
  %4318 = icmp ne i32 %4317, 0
  br i1 %4318, label %4319, label %4336

4319:                                             ; preds = %4314
  %4320 = load i32, ptr %99, align 4, !tbaa !5
  %4321 = call ptr @__errno_location() #12
  store i32 %4320, ptr %4321, align 4, !tbaa !5
  %4322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4323 = load i32, ptr @test_count, align 4, !tbaa !5
  %4324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4325 = load i32, ptr %4324, align 4, !tbaa !5
  %4326 = call ptr @s2n_strerror(i32 noundef %4325, ptr noundef @.str.4)
  %4327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4328 = load i32, ptr %4327, align 4, !tbaa !5
  %4329 = call ptr @s2n_strerror_debug(i32 noundef %4328, ptr noundef @.str.4)
  %4330 = call ptr @__errno_location() #12
  %4331 = load i32, ptr %4330, align 4, !tbaa !5
  %4332 = call ptr @strerror(i32 noundef %4331) #11
  %4333 = call ptr @__errno_location() #12
  %4334 = load i32, ptr %4333, align 4, !tbaa !5
  %4335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4322, ptr noundef @.str.2, i32 noundef %4323, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 285, ptr noundef %4326, ptr noundef %4329, ptr noundef %4332, i32 noundef %4334) #11
  br label %4353

4336:                                             ; preds = %4314, %4307
  %4337 = load i32, ptr %99, align 4, !tbaa !5
  %4338 = call ptr @__errno_location() #12
  store i32 %4337, ptr %4338, align 4, !tbaa !5
  %4339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4340 = load i32, ptr @test_count, align 4, !tbaa !5
  %4341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4342 = load i32, ptr %4341, align 4, !tbaa !5
  %4343 = call ptr @s2n_strerror(i32 noundef %4342, ptr noundef @.str.4)
  %4344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror_debug(i32 noundef %4345, ptr noundef @.str.4)
  %4347 = call ptr @__errno_location() #12
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  %4349 = call ptr @strerror(i32 noundef %4348) #11
  %4350 = call ptr @__errno_location() #12
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4339, ptr noundef @.str.5, i32 noundef %4340, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 285, ptr noundef %4343, ptr noundef %4346, ptr noundef %4349, i32 noundef %4351) #11
  br label %4353

4353:                                             ; preds = %4336, %4319
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %4354

4354:                                             ; preds = %4353
  br label %4355

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

4356:                                             ; No predecessors!
  br label %4357

4357:                                             ; preds = %4356
  br label %4358

4358:                                             ; preds = %4357, %4296
  br label %4359

4359:                                             ; preds = %4358
  br label %4360

4360:                                             ; preds = %4359
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #11
  %4361 = call i32 @s2n_psk_free(ptr noundef %93)
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %100) #11
  call void @llvm.memset.p0.i64(ptr align 8 %100, i8 0, i64 168, i1 false)
  br label %4362

4362:                                             ; preds = %4360
  br label %4363

4363:                                             ; preds = %4362
  br label %4364

4364:                                             ; preds = %4363
  %4365 = load i32, ptr @test_count, align 4, !tbaa !5
  %4366 = add nsw i32 %4365, 1
  store i32 %4366, ptr @test_count, align 4, !tbaa !5
  %4367 = call i32 @s2n_psk_set_application_protocol(ptr noundef %100, ptr noundef null, i8 noundef zeroext 1)
  %4368 = icmp eq i32 %4367, -1
  br i1 %4368, label %4422, label %4369

4369:                                             ; preds = %4364
  br label %4370

4370:                                             ; preds = %4369
  br label %4371

4371:                                             ; preds = %4370
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %4372 = call ptr @__errno_location() #12
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  store i32 %4373, ptr %101, align 4, !tbaa !5
  %4374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4375 = call i32 @s2n_print_stacktrace(ptr noundef %4374)
  %4376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4377 = trunc i8 %4376 to i1
  br i1 %4377, label %4378, label %4400

4378:                                             ; preds = %4371
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = call i32 @fileno(ptr noundef %4379) #11
  %4381 = call i32 @isatty(i32 noundef %4380) #11
  %4382 = icmp ne i32 %4381, 0
  br i1 %4382, label %4383, label %4400

4383:                                             ; preds = %4378
  %4384 = load i32, ptr %101, align 4, !tbaa !5
  %4385 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %4394 = call ptr @__errno_location() #12
  %4395 = load i32, ptr %4394, align 4, !tbaa !5
  %4396 = call ptr @strerror(i32 noundef %4395) #11
  %4397 = call ptr @__errno_location() #12
  %4398 = load i32, ptr %4397, align 4, !tbaa !5
  %4399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4386, ptr noundef @.str.2, i32 noundef %4387, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 294, ptr noundef %4390, ptr noundef %4393, ptr noundef %4396, i32 noundef %4398) #11
  br label %4417

4400:                                             ; preds = %4378, %4371
  %4401 = load i32, ptr %101, align 4, !tbaa !5
  %4402 = call ptr @__errno_location() #12
  store i32 %4401, ptr %4402, align 4, !tbaa !5
  %4403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4404 = load i32, ptr @test_count, align 4, !tbaa !5
  %4405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4406 = load i32, ptr %4405, align 4, !tbaa !5
  %4407 = call ptr @s2n_strerror(i32 noundef %4406, ptr noundef @.str.4)
  %4408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4409 = load i32, ptr %4408, align 4, !tbaa !5
  %4410 = call ptr @s2n_strerror_debug(i32 noundef %4409, ptr noundef @.str.4)
  %4411 = call ptr @__errno_location() #12
  %4412 = load i32, ptr %4411, align 4, !tbaa !5
  %4413 = call ptr @strerror(i32 noundef %4412) #11
  %4414 = call ptr @__errno_location() #12
  %4415 = load i32, ptr %4414, align 4, !tbaa !5
  %4416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4403, ptr noundef @.str.5, i32 noundef %4404, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 294, ptr noundef %4407, ptr noundef %4410, ptr noundef %4413, i32 noundef %4415) #11
  br label %4417

4417:                                             ; preds = %4400, %4383
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %4418

4418:                                             ; preds = %4417
  br label %4419

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

4420:                                             ; No predecessors!
  br label %4421

4421:                                             ; preds = %4420
  br label %4422

4422:                                             ; preds = %4421, %4364
  br label %4423

4423:                                             ; preds = %4422
  br label %4424

4424:                                             ; preds = %4423
  br label %4425

4425:                                             ; preds = %4424
  %4426 = load i32, ptr @test_count, align 4, !tbaa !5
  %4427 = add nsw i32 %4426, 1
  store i32 %4427, ptr @test_count, align 4, !tbaa !5
  %4428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4429 = load i32, ptr %4428, align 4, !tbaa !5
  %4430 = icmp eq i32 %4429, 402653193
  br i1 %4430, label %4484, label %4431

4431:                                             ; preds = %4425
  br label %4432

4432:                                             ; preds = %4431
  br label %4433

4433:                                             ; preds = %4432
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %4434 = call ptr @__errno_location() #12
  %4435 = load i32, ptr %4434, align 4, !tbaa !5
  store i32 %4435, ptr %102, align 4, !tbaa !5
  %4436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4437 = call i32 @s2n_print_stacktrace(ptr noundef %4436)
  %4438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4439 = trunc i8 %4438 to i1
  br i1 %4439, label %4440, label %4462

4440:                                             ; preds = %4433
  %4441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4442 = call i32 @fileno(ptr noundef %4441) #11
  %4443 = call i32 @isatty(i32 noundef %4442) #11
  %4444 = icmp ne i32 %4443, 0
  br i1 %4444, label %4445, label %4462

4445:                                             ; preds = %4440
  %4446 = load i32, ptr %102, align 4, !tbaa !5
  %4447 = call ptr @__errno_location() #12
  store i32 %4446, ptr %4447, align 4, !tbaa !5
  %4448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4449 = load i32, ptr @test_count, align 4, !tbaa !5
  %4450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4451 = load i32, ptr %4450, align 4, !tbaa !5
  %4452 = call ptr @s2n_strerror(i32 noundef %4451, ptr noundef @.str.4)
  %4453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4454 = load i32, ptr %4453, align 4, !tbaa !5
  %4455 = call ptr @s2n_strerror_debug(i32 noundef %4454, ptr noundef @.str.4)
  %4456 = call ptr @__errno_location() #12
  %4457 = load i32, ptr %4456, align 4, !tbaa !5
  %4458 = call ptr @strerror(i32 noundef %4457) #11
  %4459 = call ptr @__errno_location() #12
  %4460 = load i32, ptr %4459, align 4, !tbaa !5
  %4461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4448, ptr noundef @.str.2, i32 noundef %4449, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 294, ptr noundef %4452, ptr noundef %4455, ptr noundef %4458, i32 noundef %4460) #11
  br label %4479

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

4479:                                             ; preds = %4462, %4445
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %4480

4480:                                             ; preds = %4479
  br label %4481

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

4482:                                             ; No predecessors!
  br label %4483

4483:                                             ; preds = %4482
  br label %4484

4484:                                             ; preds = %4483, %4425
  br label %4485

4485:                                             ; preds = %4484
  br label %4486

4486:                                             ; preds = %4485
  br label %4487

4487:                                             ; preds = %4486
  %4488 = load i32, ptr @test_count, align 4, !tbaa !5
  %4489 = add nsw i32 %4488, 1
  store i32 %4489, ptr @test_count, align 4, !tbaa !5
  %4490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4491 = load i32, ptr %4490, align 4, !tbaa !5
  %4492 = call ptr @s2n_strerror_debug(i32 noundef %4491, ptr noundef @.str.4)
  %4493 = icmp eq ptr %4492, null
  br i1 %4493, label %4494, label %4547

4494:                                             ; preds = %4487
  br label %4495

4495:                                             ; preds = %4494
  br label %4496

4496:                                             ; preds = %4495
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %4497 = call ptr @__errno_location() #12
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  store i32 %4498, ptr %103, align 4, !tbaa !5
  %4499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4500 = call i32 @s2n_print_stacktrace(ptr noundef %4499)
  %4501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4502 = trunc i8 %4501 to i1
  br i1 %4502, label %4503, label %4525

4503:                                             ; preds = %4496
  %4504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4505 = call i32 @fileno(ptr noundef %4504) #11
  %4506 = call i32 @isatty(i32 noundef %4505) #11
  %4507 = icmp ne i32 %4506, 0
  br i1 %4507, label %4508, label %4525

4508:                                             ; preds = %4503
  %4509 = load i32, ptr %103, align 4, !tbaa !5
  %4510 = call ptr @__errno_location() #12
  store i32 %4509, ptr %4510, align 4, !tbaa !5
  %4511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4512 = load i32, ptr @test_count, align 4, !tbaa !5
  %4513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4514 = load i32, ptr %4513, align 4, !tbaa !5
  %4515 = call ptr @s2n_strerror(i32 noundef %4514, ptr noundef @.str.4)
  %4516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4517 = load i32, ptr %4516, align 4, !tbaa !5
  %4518 = call ptr @s2n_strerror_debug(i32 noundef %4517, ptr noundef @.str.4)
  %4519 = call ptr @__errno_location() #12
  %4520 = load i32, ptr %4519, align 4, !tbaa !5
  %4521 = call ptr @strerror(i32 noundef %4520) #11
  %4522 = call ptr @__errno_location() #12
  %4523 = load i32, ptr %4522, align 4, !tbaa !5
  %4524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4511, ptr noundef @.str.2, i32 noundef %4512, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 294, ptr noundef %4515, ptr noundef %4518, ptr noundef %4521, i32 noundef %4523) #11
  br label %4542

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

4542:                                             ; preds = %4525, %4508
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %4543

4543:                                             ; preds = %4542
  br label %4544

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

4545:                                             ; No predecessors!
  br label %4546

4546:                                             ; preds = %4545
  br label %4547

4547:                                             ; preds = %4546, %4487
  br label %4548

4548:                                             ; preds = %4547
  br label %4549

4549:                                             ; preds = %4548
  br label %4550

4550:                                             ; preds = %4549
  br label %4551

4551:                                             ; preds = %4550
  br label %4552

4552:                                             ; preds = %4551
  %4553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4553, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4554 = call ptr @__errno_location() #12
  store i32 0, ptr %4554, align 4, !tbaa !5
  br label %4555

4555:                                             ; preds = %4552
  br label %4556

4556:                                             ; preds = %4555
  br label %4557

4557:                                             ; preds = %4556
  br label %4558

4558:                                             ; preds = %4557
  br label %4559

4559:                                             ; preds = %4558
  br label %4560

4560:                                             ; preds = %4559
  br label %4561

4561:                                             ; preds = %4560
  %4562 = load i32, ptr @test_count, align 4, !tbaa !5
  %4563 = add nsw i32 %4562, 1
  store i32 %4563, ptr @test_count, align 4, !tbaa !5
  %4564 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %4565 = call i32 @s2n_psk_set_application_protocol(ptr noundef null, ptr noundef %4564, i8 noundef zeroext 1)
  %4566 = icmp eq i32 %4565, -1
  br i1 %4566, label %4620, label %4567

4567:                                             ; preds = %4561
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

4569:                                             ; preds = %4568
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %4570 = call ptr @__errno_location() #12
  %4571 = load i32, ptr %4570, align 4, !tbaa !5
  store i32 %4571, ptr %104, align 4, !tbaa !5
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = call i32 @s2n_print_stacktrace(ptr noundef %4572)
  %4574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4575 = trunc i8 %4574 to i1
  br i1 %4575, label %4576, label %4598

4576:                                             ; preds = %4569
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = call i32 @fileno(ptr noundef %4577) #11
  %4579 = call i32 @isatty(i32 noundef %4578) #11
  %4580 = icmp ne i32 %4579, 0
  br i1 %4580, label %4581, label %4598

4581:                                             ; preds = %4576
  %4582 = load i32, ptr %104, align 4, !tbaa !5
  %4583 = call ptr @__errno_location() #12
  store i32 %4582, ptr %4583, align 4, !tbaa !5
  %4584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4585 = load i32, ptr @test_count, align 4, !tbaa !5
  %4586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4587 = load i32, ptr %4586, align 4, !tbaa !5
  %4588 = call ptr @s2n_strerror(i32 noundef %4587, ptr noundef @.str.4)
  %4589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4590 = load i32, ptr %4589, align 4, !tbaa !5
  %4591 = call ptr @s2n_strerror_debug(i32 noundef %4590, ptr noundef @.str.4)
  %4592 = call ptr @__errno_location() #12
  %4593 = load i32, ptr %4592, align 4, !tbaa !5
  %4594 = call ptr @strerror(i32 noundef %4593) #11
  %4595 = call ptr @__errno_location() #12
  %4596 = load i32, ptr %4595, align 4, !tbaa !5
  %4597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4584, ptr noundef @.str.2, i32 noundef %4585, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 295, ptr noundef %4588, ptr noundef %4591, ptr noundef %4594, i32 noundef %4596) #11
  br label %4615

4598:                                             ; preds = %4576, %4569
  %4599 = load i32, ptr %104, align 4, !tbaa !5
  %4600 = call ptr @__errno_location() #12
  store i32 %4599, ptr %4600, align 4, !tbaa !5
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = load i32, ptr @test_count, align 4, !tbaa !5
  %4603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @s2n_strerror(i32 noundef %4604, ptr noundef @.str.4)
  %4606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call ptr @s2n_strerror_debug(i32 noundef %4607, ptr noundef @.str.4)
  %4609 = call ptr @__errno_location() #12
  %4610 = load i32, ptr %4609, align 4, !tbaa !5
  %4611 = call ptr @strerror(i32 noundef %4610) #11
  %4612 = call ptr @__errno_location() #12
  %4613 = load i32, ptr %4612, align 4, !tbaa !5
  %4614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4601, ptr noundef @.str.5, i32 noundef %4602, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 295, ptr noundef %4605, ptr noundef %4608, ptr noundef %4611, i32 noundef %4613) #11
  br label %4615

4615:                                             ; preds = %4598, %4581
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %4616

4616:                                             ; preds = %4615
  br label %4617

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

4618:                                             ; No predecessors!
  br label %4619

4619:                                             ; preds = %4618
  br label %4620

4620:                                             ; preds = %4619, %4561
  br label %4621

4621:                                             ; preds = %4620
  br label %4622

4622:                                             ; preds = %4621
  br label %4623

4623:                                             ; preds = %4622
  %4624 = load i32, ptr @test_count, align 4, !tbaa !5
  %4625 = add nsw i32 %4624, 1
  store i32 %4625, ptr @test_count, align 4, !tbaa !5
  %4626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  %4628 = icmp eq i32 %4627, 402653193
  br i1 %4628, label %4682, label %4629

4629:                                             ; preds = %4623
  br label %4630

4630:                                             ; preds = %4629
  br label %4631

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

4638:                                             ; preds = %4631
  %4639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4640 = call i32 @fileno(ptr noundef %4639) #11
  %4641 = call i32 @isatty(i32 noundef %4640) #11
  %4642 = icmp ne i32 %4641, 0
  br i1 %4642, label %4643, label %4660

4643:                                             ; preds = %4638
  %4644 = load i32, ptr %105, align 4, !tbaa !5
  %4645 = call ptr @__errno_location() #12
  store i32 %4644, ptr %4645, align 4, !tbaa !5
  %4646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4647 = load i32, ptr @test_count, align 4, !tbaa !5
  %4648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4649 = load i32, ptr %4648, align 4, !tbaa !5
  %4650 = call ptr @s2n_strerror(i32 noundef %4649, ptr noundef @.str.4)
  %4651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4652 = load i32, ptr %4651, align 4, !tbaa !5
  %4653 = call ptr @s2n_strerror_debug(i32 noundef %4652, ptr noundef @.str.4)
  %4654 = call ptr @__errno_location() #12
  %4655 = load i32, ptr %4654, align 4, !tbaa !5
  %4656 = call ptr @strerror(i32 noundef %4655) #11
  %4657 = call ptr @__errno_location() #12
  %4658 = load i32, ptr %4657, align 4, !tbaa !5
  %4659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4646, ptr noundef @.str.2, i32 noundef %4647, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 295, ptr noundef %4650, ptr noundef %4653, ptr noundef %4656, i32 noundef %4658) #11
  br label %4677

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

4677:                                             ; preds = %4660, %4643
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %4678

4678:                                             ; preds = %4677
  br label %4679

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

4680:                                             ; No predecessors!
  br label %4681

4681:                                             ; preds = %4680
  br label %4682

4682:                                             ; preds = %4681, %4623
  br label %4683

4683:                                             ; preds = %4682
  br label %4684

4684:                                             ; preds = %4683
  br label %4685

4685:                                             ; preds = %4684
  %4686 = load i32, ptr @test_count, align 4, !tbaa !5
  %4687 = add nsw i32 %4686, 1
  store i32 %4687, ptr @test_count, align 4, !tbaa !5
  %4688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4689 = load i32, ptr %4688, align 4, !tbaa !5
  %4690 = call ptr @s2n_strerror_debug(i32 noundef %4689, ptr noundef @.str.4)
  %4691 = icmp eq ptr %4690, null
  br i1 %4691, label %4692, label %4745

4692:                                             ; preds = %4685
  br label %4693

4693:                                             ; preds = %4692
  br label %4694

4694:                                             ; preds = %4693
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %4695 = call ptr @__errno_location() #12
  %4696 = load i32, ptr %4695, align 4, !tbaa !5
  store i32 %4696, ptr %106, align 4, !tbaa !5
  %4697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4698 = call i32 @s2n_print_stacktrace(ptr noundef %4697)
  %4699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4700 = trunc i8 %4699 to i1
  br i1 %4700, label %4701, label %4723

4701:                                             ; preds = %4694
  %4702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4703 = call i32 @fileno(ptr noundef %4702) #11
  %4704 = call i32 @isatty(i32 noundef %4703) #11
  %4705 = icmp ne i32 %4704, 0
  br i1 %4705, label %4706, label %4723

4706:                                             ; preds = %4701
  %4707 = load i32, ptr %106, align 4, !tbaa !5
  %4708 = call ptr @__errno_location() #12
  store i32 %4707, ptr %4708, align 4, !tbaa !5
  %4709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4710 = load i32, ptr @test_count, align 4, !tbaa !5
  %4711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4712 = load i32, ptr %4711, align 4, !tbaa !5
  %4713 = call ptr @s2n_strerror(i32 noundef %4712, ptr noundef @.str.4)
  %4714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4715 = load i32, ptr %4714, align 4, !tbaa !5
  %4716 = call ptr @s2n_strerror_debug(i32 noundef %4715, ptr noundef @.str.4)
  %4717 = call ptr @__errno_location() #12
  %4718 = load i32, ptr %4717, align 4, !tbaa !5
  %4719 = call ptr @strerror(i32 noundef %4718) #11
  %4720 = call ptr @__errno_location() #12
  %4721 = load i32, ptr %4720, align 4, !tbaa !5
  %4722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4709, ptr noundef @.str.2, i32 noundef %4710, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 295, ptr noundef %4713, ptr noundef %4716, ptr noundef %4719, i32 noundef %4721) #11
  br label %4740

4723:                                             ; preds = %4701, %4694
  %4724 = load i32, ptr %106, align 4, !tbaa !5
  %4725 = call ptr @__errno_location() #12
  store i32 %4724, ptr %4725, align 4, !tbaa !5
  %4726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4727 = load i32, ptr @test_count, align 4, !tbaa !5
  %4728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4729 = load i32, ptr %4728, align 4, !tbaa !5
  %4730 = call ptr @s2n_strerror(i32 noundef %4729, ptr noundef @.str.4)
  %4731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror_debug(i32 noundef %4732, ptr noundef @.str.4)
  %4734 = call ptr @__errno_location() #12
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call ptr @strerror(i32 noundef %4735) #11
  %4737 = call ptr @__errno_location() #12
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4726, ptr noundef @.str.5, i32 noundef %4727, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 295, ptr noundef %4730, ptr noundef %4733, ptr noundef %4736, i32 noundef %4738) #11
  br label %4740

4740:                                             ; preds = %4723, %4706
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %4741

4741:                                             ; preds = %4740
  br label %4742

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

4743:                                             ; No predecessors!
  br label %4744

4744:                                             ; preds = %4743
  br label %4745

4745:                                             ; preds = %4744, %4685
  br label %4746

4746:                                             ; preds = %4745
  br label %4747

4747:                                             ; preds = %4746
  br label %4748

4748:                                             ; preds = %4747
  br label %4749

4749:                                             ; preds = %4748
  br label %4750

4750:                                             ; preds = %4749
  %4751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4751, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4752 = call ptr @__errno_location() #12
  store i32 0, ptr %4752, align 4, !tbaa !5
  br label %4753

4753:                                             ; preds = %4750
  br label %4754

4754:                                             ; preds = %4753
  br label %4755

4755:                                             ; preds = %4754
  br label %4756

4756:                                             ; preds = %4755
  call void @llvm.lifetime.end.p0(i64 168, ptr %100) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #11
  %4757 = call ptr @s2n_external_psk_new()
  store ptr %4757, ptr %107, align 8, !tbaa !9
  br label %4758

4758:                                             ; preds = %4756
  %4759 = load i32, ptr @test_count, align 4, !tbaa !5
  %4760 = add nsw i32 %4759, 1
  store i32 %4760, ptr @test_count, align 4, !tbaa !5
  %4761 = load ptr, ptr %107, align 8, !tbaa !9
  %4762 = getelementptr inbounds %struct.s2n_psk, ptr %4761, i32 0, i32 7
  %4763 = getelementptr inbounds %struct.s2n_early_data_config, ptr %4762, i32 0, i32 3
  %4764 = getelementptr inbounds %struct.s2n_blob, ptr %4763, i32 0, i32 1
  %4765 = load i32, ptr %4764, align 8, !tbaa !54
  %4766 = icmp eq i32 %4765, 0
  br i1 %4766, label %4820, label %4767

4767:                                             ; preds = %4758
  br label %4768

4768:                                             ; preds = %4767
  br label %4769

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

4776:                                             ; preds = %4769
  %4777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4778 = call i32 @fileno(ptr noundef %4777) #11
  %4779 = call i32 @isatty(i32 noundef %4778) #11
  %4780 = icmp ne i32 %4779, 0
  br i1 %4780, label %4781, label %4798

4781:                                             ; preds = %4776
  %4782 = load i32, ptr %108, align 4, !tbaa !5
  %4783 = call ptr @__errno_location() #12
  store i32 %4782, ptr %4783, align 4, !tbaa !5
  %4784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4785 = load i32, ptr @test_count, align 4, !tbaa !5
  %4786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4787 = load i32, ptr %4786, align 4, !tbaa !5
  %4788 = call ptr @s2n_strerror(i32 noundef %4787, ptr noundef @.str.4)
  %4789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4790 = load i32, ptr %4789, align 4, !tbaa !5
  %4791 = call ptr @s2n_strerror_debug(i32 noundef %4790, ptr noundef @.str.4)
  %4792 = call ptr @__errno_location() #12
  %4793 = load i32, ptr %4792, align 4, !tbaa !5
  %4794 = call ptr @strerror(i32 noundef %4793) #11
  %4795 = call ptr @__errno_location() #12
  %4796 = load i32, ptr %4795, align 4, !tbaa !5
  %4797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4784, ptr noundef @.str.2, i32 noundef %4785, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 299, ptr noundef %4788, ptr noundef %4791, ptr noundef %4794, i32 noundef %4796) #11
  br label %4815

4798:                                             ; preds = %4776, %4769
  %4799 = load i32, ptr %108, align 4, !tbaa !5
  %4800 = call ptr @__errno_location() #12
  store i32 %4799, ptr %4800, align 4, !tbaa !5
  %4801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4802 = load i32, ptr @test_count, align 4, !tbaa !5
  %4803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4804 = load i32, ptr %4803, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror(i32 noundef %4804, ptr noundef @.str.4)
  %4806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror_debug(i32 noundef %4807, ptr noundef @.str.4)
  %4809 = call ptr @__errno_location() #12
  %4810 = load i32, ptr %4809, align 4, !tbaa !5
  %4811 = call ptr @strerror(i32 noundef %4810) #11
  %4812 = call ptr @__errno_location() #12
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4801, ptr noundef @.str.5, i32 noundef %4802, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 299, ptr noundef %4805, ptr noundef %4808, ptr noundef %4811, i32 noundef %4813) #11
  br label %4815

4815:                                             ; preds = %4798, %4781
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %4816

4816:                                             ; preds = %4815
  br label %4817

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

4818:                                             ; No predecessors!
  br label %4819

4819:                                             ; preds = %4818
  br label %4820

4820:                                             ; preds = %4819, %4758
  br label %4821

4821:                                             ; preds = %4820
  br label %4822

4822:                                             ; preds = %4821
  br label %4823

4823:                                             ; preds = %4822
  %4824 = load i32, ptr @test_count, align 4, !tbaa !5
  %4825 = add nsw i32 %4824, 1
  store i32 %4825, ptr @test_count, align 4, !tbaa !5
  %4826 = load ptr, ptr %107, align 8, !tbaa !9
  %4827 = getelementptr inbounds %struct.s2n_psk, ptr %4826, i32 0, i32 7
  %4828 = getelementptr inbounds %struct.s2n_early_data_config, ptr %4827, i32 0, i32 3
  %4829 = getelementptr inbounds %struct.s2n_blob, ptr %4828, i32 0, i32 2
  %4830 = load i32, ptr %4829, align 4, !tbaa !55
  %4831 = icmp eq i32 %4830, 0
  br i1 %4831, label %4885, label %4832

4832:                                             ; preds = %4823
  br label %4833

4833:                                             ; preds = %4832
  br label %4834

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

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

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

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

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

4881:                                             ; preds = %4880
  br label %4882

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

4883:                                             ; No predecessors!
  br label %4884

4884:                                             ; preds = %4883
  br label %4885

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

4886:                                             ; preds = %4885
  br label %4887

4887:                                             ; preds = %4886
  br label %4888

4888:                                             ; preds = %4887
  %4889 = load i32, ptr @test_count, align 4, !tbaa !5
  %4890 = add nsw i32 %4889, 1
  store i32 %4890, ptr @test_count, align 4, !tbaa !5
  %4891 = load ptr, ptr %107, align 8, !tbaa !9
  %4892 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %4893 = call i32 @s2n_psk_set_application_protocol(ptr noundef %4891, ptr noundef %4892, i8 noundef zeroext 0)
  %4894 = icmp eq i32 %4893, -1
  br i1 %4894, label %4895, label %4948

4895:                                             ; preds = %4888
  br label %4896

4896:                                             ; preds = %4895
  br label %4897

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

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

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

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

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

4944:                                             ; preds = %4943
  br label %4945

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

4946:                                             ; No predecessors!
  br label %4947

4947:                                             ; preds = %4946
  br label %4948

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

4949:                                             ; preds = %4948
  br label %4950

4950:                                             ; preds = %4949
  br label %4951

4951:                                             ; preds = %4950
  %4952 = load i32, ptr @test_count, align 4, !tbaa !5
  %4953 = add nsw i32 %4952, 1
  store i32 %4953, ptr @test_count, align 4, !tbaa !5
  %4954 = load ptr, ptr %107, align 8, !tbaa !9
  %4955 = getelementptr inbounds %struct.s2n_psk, ptr %4954, i32 0, i32 7
  %4956 = getelementptr inbounds %struct.s2n_early_data_config, ptr %4955, i32 0, i32 3
  %4957 = getelementptr inbounds %struct.s2n_blob, ptr %4956, i32 0, i32 1
  %4958 = load i32, ptr %4957, align 8, !tbaa !54
  %4959 = icmp eq i32 %4958, 0
  br i1 %4959, label %5013, label %4960

4960:                                             ; preds = %4951
  br label %4961

4961:                                             ; preds = %4960
  br label %4962

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

4969:                                             ; preds = %4962
  %4970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4971 = call i32 @fileno(ptr noundef %4970) #11
  %4972 = call i32 @isatty(i32 noundef %4971) #11
  %4973 = icmp ne i32 %4972, 0
  br i1 %4973, label %4974, label %4991

4974:                                             ; preds = %4969
  %4975 = load i32, ptr %111, align 4, !tbaa !5
  %4976 = call ptr @__errno_location() #12
  store i32 %4975, ptr %4976, align 4, !tbaa !5
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = load i32, ptr @test_count, align 4, !tbaa !5
  %4979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4980 = load i32, ptr %4979, align 4, !tbaa !5
  %4981 = call ptr @s2n_strerror(i32 noundef %4980, ptr noundef @.str.4)
  %4982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4983 = load i32, ptr %4982, align 4, !tbaa !5
  %4984 = call ptr @s2n_strerror_debug(i32 noundef %4983, ptr noundef @.str.4)
  %4985 = call ptr @__errno_location() #12
  %4986 = load i32, ptr %4985, align 4, !tbaa !5
  %4987 = call ptr @strerror(i32 noundef %4986) #11
  %4988 = call ptr @__errno_location() #12
  %4989 = load i32, ptr %4988, align 4, !tbaa !5
  %4990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4977, ptr noundef @.str.2, i32 noundef %4978, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 304, ptr noundef %4981, ptr noundef %4984, ptr noundef %4987, i32 noundef %4989) #11
  br label %5008

4991:                                             ; preds = %4969, %4962
  %4992 = load i32, ptr %111, align 4, !tbaa !5
  %4993 = call ptr @__errno_location() #12
  store i32 %4992, ptr %4993, align 4, !tbaa !5
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = load i32, ptr @test_count, align 4, !tbaa !5
  %4996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4997 = load i32, ptr %4996, align 4, !tbaa !5
  %4998 = call ptr @s2n_strerror(i32 noundef %4997, ptr noundef @.str.4)
  %4999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5000 = load i32, ptr %4999, align 4, !tbaa !5
  %5001 = call ptr @s2n_strerror_debug(i32 noundef %5000, ptr noundef @.str.4)
  %5002 = call ptr @__errno_location() #12
  %5003 = load i32, ptr %5002, align 4, !tbaa !5
  %5004 = call ptr @strerror(i32 noundef %5003) #11
  %5005 = call ptr @__errno_location() #12
  %5006 = load i32, ptr %5005, align 4, !tbaa !5
  %5007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4994, ptr noundef @.str.5, i32 noundef %4995, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 304, ptr noundef %4998, ptr noundef %5001, ptr noundef %5004, i32 noundef %5006) #11
  br label %5008

5008:                                             ; preds = %4991, %4974
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5009

5009:                                             ; preds = %5008
  br label %5010

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

5011:                                             ; No predecessors!
  br label %5012

5012:                                             ; preds = %5011
  br label %5013

5013:                                             ; preds = %5012, %4951
  br label %5014

5014:                                             ; preds = %5013
  br label %5015

5015:                                             ; preds = %5014
  br label %5016

5016:                                             ; preds = %5015
  %5017 = load i32, ptr @test_count, align 4, !tbaa !5
  %5018 = add nsw i32 %5017, 1
  store i32 %5018, ptr @test_count, align 4, !tbaa !5
  %5019 = load ptr, ptr %107, align 8, !tbaa !9
  %5020 = getelementptr inbounds %struct.s2n_psk, ptr %5019, i32 0, i32 7
  %5021 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5020, i32 0, i32 3
  %5022 = getelementptr inbounds %struct.s2n_blob, ptr %5021, i32 0, i32 2
  %5023 = load i32, ptr %5022, align 4, !tbaa !55
  %5024 = icmp eq i32 %5023, 0
  br i1 %5024, label %5078, label %5025

5025:                                             ; preds = %5016
  br label %5026

5026:                                             ; preds = %5025
  br label %5027

5027:                                             ; preds = %5026
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %5028 = call ptr @__errno_location() #12
  %5029 = load i32, ptr %5028, align 4, !tbaa !5
  store i32 %5029, ptr %112, align 4, !tbaa !5
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = call i32 @s2n_print_stacktrace(ptr noundef %5030)
  %5032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5033 = trunc i8 %5032 to i1
  br i1 %5033, label %5034, label %5056

5034:                                             ; preds = %5027
  %5035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5036 = call i32 @fileno(ptr noundef %5035) #11
  %5037 = call i32 @isatty(i32 noundef %5036) #11
  %5038 = icmp ne i32 %5037, 0
  br i1 %5038, label %5039, label %5056

5039:                                             ; preds = %5034
  %5040 = load i32, ptr %112, align 4, !tbaa !5
  %5041 = call ptr @__errno_location() #12
  store i32 %5040, ptr %5041, align 4, !tbaa !5
  %5042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5043 = load i32, ptr @test_count, align 4, !tbaa !5
  %5044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5045 = load i32, ptr %5044, align 4, !tbaa !5
  %5046 = call ptr @s2n_strerror(i32 noundef %5045, ptr noundef @.str.4)
  %5047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  %5049 = call ptr @s2n_strerror_debug(i32 noundef %5048, ptr noundef @.str.4)
  %5050 = call ptr @__errno_location() #12
  %5051 = load i32, ptr %5050, align 4, !tbaa !5
  %5052 = call ptr @strerror(i32 noundef %5051) #11
  %5053 = call ptr @__errno_location() #12
  %5054 = load i32, ptr %5053, align 4, !tbaa !5
  %5055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5042, ptr noundef @.str.2, i32 noundef %5043, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 305, ptr noundef %5046, ptr noundef %5049, ptr noundef %5052, i32 noundef %5054) #11
  br label %5073

5056:                                             ; preds = %5034, %5027
  %5057 = load i32, ptr %112, align 4, !tbaa !5
  %5058 = call ptr @__errno_location() #12
  store i32 %5057, ptr %5058, align 4, !tbaa !5
  %5059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5060 = load i32, ptr @test_count, align 4, !tbaa !5
  %5061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5062 = load i32, ptr %5061, align 4, !tbaa !5
  %5063 = call ptr @s2n_strerror(i32 noundef %5062, ptr noundef @.str.4)
  %5064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5065 = load i32, ptr %5064, align 4, !tbaa !5
  %5066 = call ptr @s2n_strerror_debug(i32 noundef %5065, ptr noundef @.str.4)
  %5067 = call ptr @__errno_location() #12
  %5068 = load i32, ptr %5067, align 4, !tbaa !5
  %5069 = call ptr @strerror(i32 noundef %5068) #11
  %5070 = call ptr @__errno_location() #12
  %5071 = load i32, ptr %5070, align 4, !tbaa !5
  %5072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5059, ptr noundef @.str.5, i32 noundef %5060, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 305, ptr noundef %5063, ptr noundef %5066, ptr noundef %5069, i32 noundef %5071) #11
  br label %5073

5073:                                             ; preds = %5056, %5039
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5074

5074:                                             ; preds = %5073
  br label %5075

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

5076:                                             ; No predecessors!
  br label %5077

5077:                                             ; preds = %5076
  br label %5078

5078:                                             ; preds = %5077, %5016
  br label %5079

5079:                                             ; preds = %5078
  br label %5080

5080:                                             ; preds = %5079
  br label %5081

5081:                                             ; preds = %5080
  %5082 = load i32, ptr @test_count, align 4, !tbaa !5
  %5083 = add nsw i32 %5082, 1
  store i32 %5083, ptr @test_count, align 4, !tbaa !5
  %5084 = load ptr, ptr %107, align 8, !tbaa !9
  %5085 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %5086 = call i32 @s2n_psk_set_application_protocol(ptr noundef %5084, ptr noundef %5085, i8 noundef zeroext 11)
  %5087 = icmp eq i32 %5086, -1
  br i1 %5087, label %5088, label %5141

5088:                                             ; preds = %5081
  br label %5089

5089:                                             ; preds = %5088
  br label %5090

5090:                                             ; preds = %5089
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %5091 = call ptr @__errno_location() #12
  %5092 = load i32, ptr %5091, align 4, !tbaa !5
  store i32 %5092, ptr %113, align 4, !tbaa !5
  %5093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5094 = call i32 @s2n_print_stacktrace(ptr noundef %5093)
  %5095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5096 = trunc i8 %5095 to i1
  br i1 %5096, label %5097, label %5119

5097:                                             ; preds = %5090
  %5098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5099 = call i32 @fileno(ptr noundef %5098) #11
  %5100 = call i32 @isatty(i32 noundef %5099) #11
  %5101 = icmp ne i32 %5100, 0
  br i1 %5101, label %5102, label %5119

5102:                                             ; preds = %5097
  %5103 = load i32, ptr %113, align 4, !tbaa !5
  %5104 = call ptr @__errno_location() #12
  store i32 %5103, ptr %5104, align 4, !tbaa !5
  %5105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5106 = load i32, ptr @test_count, align 4, !tbaa !5
  %5107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5108 = load i32, ptr %5107, align 4, !tbaa !5
  %5109 = call ptr @s2n_strerror(i32 noundef %5108, ptr noundef @.str.4)
  %5110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call ptr @s2n_strerror_debug(i32 noundef %5111, ptr noundef @.str.4)
  %5113 = call ptr @__errno_location() #12
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call ptr @strerror(i32 noundef %5114) #11
  %5116 = call ptr @__errno_location() #12
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5105, ptr noundef @.str.2, i32 noundef %5106, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 308, ptr noundef %5109, ptr noundef %5112, ptr noundef %5115, i32 noundef %5117) #11
  br label %5136

5119:                                             ; preds = %5097, %5090
  %5120 = load i32, ptr %113, align 4, !tbaa !5
  %5121 = call ptr @__errno_location() #12
  store i32 %5120, ptr %5121, align 4, !tbaa !5
  %5122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5123 = load i32, ptr @test_count, align 4, !tbaa !5
  %5124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5125 = load i32, ptr %5124, align 4, !tbaa !5
  %5126 = call ptr @s2n_strerror(i32 noundef %5125, ptr noundef @.str.4)
  %5127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call ptr @s2n_strerror_debug(i32 noundef %5128, ptr noundef @.str.4)
  %5130 = call ptr @__errno_location() #12
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call ptr @strerror(i32 noundef %5131) #11
  %5133 = call ptr @__errno_location() #12
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5122, ptr noundef @.str.5, i32 noundef %5123, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 308, ptr noundef %5126, ptr noundef %5129, ptr noundef %5132, i32 noundef %5134) #11
  br label %5136

5136:                                             ; preds = %5119, %5102
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

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

5139:                                             ; No predecessors!
  br label %5140

5140:                                             ; preds = %5139
  br label %5141

5141:                                             ; preds = %5140, %5081
  br label %5142

5142:                                             ; preds = %5141
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

5144:                                             ; preds = %5143
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = add nsw i32 %5145, 1
  store i32 %5146, ptr @test_count, align 4, !tbaa !5
  %5147 = load ptr, ptr %107, align 8, !tbaa !9
  %5148 = getelementptr inbounds %struct.s2n_psk, ptr %5147, i32 0, i32 7
  %5149 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5148, i32 0, i32 3
  %5150 = getelementptr inbounds %struct.s2n_blob, ptr %5149, i32 0, i32 1
  %5151 = load i32, ptr %5150, align 8, !tbaa !54
  %5152 = zext i32 %5151 to i64
  %5153 = icmp eq i64 %5152, 11
  br i1 %5153, label %5207, label %5154

5154:                                             ; preds = %5144
  br label %5155

5155:                                             ; preds = %5154
  br label %5156

5156:                                             ; preds = %5155
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %5157 = call ptr @__errno_location() #12
  %5158 = load i32, ptr %5157, align 4, !tbaa !5
  store i32 %5158, ptr %114, align 4, !tbaa !5
  %5159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5160 = call i32 @s2n_print_stacktrace(ptr noundef %5159)
  %5161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5162 = trunc i8 %5161 to i1
  br i1 %5162, label %5163, label %5185

5163:                                             ; preds = %5156
  %5164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5165 = call i32 @fileno(ptr noundef %5164) #11
  %5166 = call i32 @isatty(i32 noundef %5165) #11
  %5167 = icmp ne i32 %5166, 0
  br i1 %5167, label %5168, label %5185

5168:                                             ; preds = %5163
  %5169 = load i32, ptr %114, align 4, !tbaa !5
  %5170 = call ptr @__errno_location() #12
  store i32 %5169, ptr %5170, align 4, !tbaa !5
  %5171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5172 = load i32, ptr @test_count, align 4, !tbaa !5
  %5173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5174 = load i32, ptr %5173, align 4, !tbaa !5
  %5175 = call ptr @s2n_strerror(i32 noundef %5174, ptr noundef @.str.4)
  %5176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5177 = load i32, ptr %5176, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror_debug(i32 noundef %5177, ptr noundef @.str.4)
  %5179 = call ptr @__errno_location() #12
  %5180 = load i32, ptr %5179, align 4, !tbaa !5
  %5181 = call ptr @strerror(i32 noundef %5180) #11
  %5182 = call ptr @__errno_location() #12
  %5183 = load i32, ptr %5182, align 4, !tbaa !5
  %5184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5171, ptr noundef @.str.2, i32 noundef %5172, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 309, ptr noundef %5175, ptr noundef %5178, ptr noundef %5181, i32 noundef %5183) #11
  br label %5202

5185:                                             ; preds = %5163, %5156
  %5186 = load i32, ptr %114, align 4, !tbaa !5
  %5187 = call ptr @__errno_location() #12
  store i32 %5186, ptr %5187, align 4, !tbaa !5
  %5188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5189 = load i32, ptr @test_count, align 4, !tbaa !5
  %5190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call ptr @s2n_strerror(i32 noundef %5191, ptr noundef @.str.4)
  %5193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = call ptr @s2n_strerror_debug(i32 noundef %5194, ptr noundef @.str.4)
  %5196 = call ptr @__errno_location() #12
  %5197 = load i32, ptr %5196, align 4, !tbaa !5
  %5198 = call ptr @strerror(i32 noundef %5197) #11
  %5199 = call ptr @__errno_location() #12
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5188, ptr noundef @.str.5, i32 noundef %5189, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 309, ptr noundef %5192, ptr noundef %5195, ptr noundef %5198, i32 noundef %5200) #11
  br label %5202

5202:                                             ; preds = %5185, %5168
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5203

5203:                                             ; preds = %5202
  br label %5204

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

5205:                                             ; No predecessors!
  br label %5206

5206:                                             ; preds = %5205
  br label %5207

5207:                                             ; preds = %5206, %5144
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

5209:                                             ; preds = %5208
  br label %5210

5210:                                             ; preds = %5209
  br label %5211

5211:                                             ; preds = %5210
  %5212 = load i32, ptr @test_count, align 4, !tbaa !5
  %5213 = add nsw i32 %5212, 1
  store i32 %5213, ptr @test_count, align 4, !tbaa !5
  %5214 = load ptr, ptr %107, align 8, !tbaa !9
  %5215 = getelementptr inbounds %struct.s2n_psk, ptr %5214, i32 0, i32 7
  %5216 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5215, i32 0, i32 3
  %5217 = getelementptr inbounds %struct.s2n_blob, ptr %5216, i32 0, i32 0
  %5218 = load ptr, ptr %5217, align 8, !tbaa !56
  %5219 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %5220 = call i32 @memcmp(ptr noundef %5218, ptr noundef %5219, i64 noundef 11) #14
  %5221 = icmp eq i32 %5220, 0
  br i1 %5221, label %5275, label %5222

5222:                                             ; preds = %5211
  br label %5223

5223:                                             ; preds = %5222
  br label %5224

5224:                                             ; preds = %5223
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %5225 = call ptr @__errno_location() #12
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  store i32 %5226, ptr %115, align 4, !tbaa !5
  %5227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5228 = call i32 @s2n_print_stacktrace(ptr noundef %5227)
  %5229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5230 = trunc i8 %5229 to i1
  br i1 %5230, label %5231, label %5253

5231:                                             ; preds = %5224
  %5232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5233 = call i32 @fileno(ptr noundef %5232) #11
  %5234 = call i32 @isatty(i32 noundef %5233) #11
  %5235 = icmp ne i32 %5234, 0
  br i1 %5235, label %5236, label %5253

5236:                                             ; preds = %5231
  %5237 = load i32, ptr %115, align 4, !tbaa !5
  %5238 = call ptr @__errno_location() #12
  store i32 %5237, ptr %5238, align 4, !tbaa !5
  %5239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5240 = load i32, ptr @test_count, align 4, !tbaa !5
  %5241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5242 = load i32, ptr %5241, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror(i32 noundef %5242, ptr noundef @.str.4)
  %5244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5245 = load i32, ptr %5244, align 4, !tbaa !5
  %5246 = call ptr @s2n_strerror_debug(i32 noundef %5245, ptr noundef @.str.4)
  %5247 = call ptr @__errno_location() #12
  %5248 = load i32, ptr %5247, align 4, !tbaa !5
  %5249 = call ptr @strerror(i32 noundef %5248) #11
  %5250 = call ptr @__errno_location() #12
  %5251 = load i32, ptr %5250, align 4, !tbaa !5
  %5252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5239, ptr noundef @.str.2, i32 noundef %5240, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 310, ptr noundef %5243, ptr noundef %5246, ptr noundef %5249, i32 noundef %5251) #11
  br label %5270

5253:                                             ; preds = %5231, %5224
  %5254 = load i32, ptr %115, align 4, !tbaa !5
  %5255 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %5264 = call ptr @__errno_location() #12
  %5265 = load i32, ptr %5264, align 4, !tbaa !5
  %5266 = call ptr @strerror(i32 noundef %5265) #11
  %5267 = call ptr @__errno_location() #12
  %5268 = load i32, ptr %5267, align 4, !tbaa !5
  %5269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5256, ptr noundef @.str.5, i32 noundef %5257, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 310, ptr noundef %5260, ptr noundef %5263, ptr noundef %5266, i32 noundef %5268) #11
  br label %5270

5270:                                             ; preds = %5253, %5236
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

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

5273:                                             ; No predecessors!
  br label %5274

5274:                                             ; preds = %5273
  br label %5275

5275:                                             ; preds = %5274, %5211
  br label %5276

5276:                                             ; preds = %5275
  br label %5277

5277:                                             ; preds = %5276
  br label %5278

5278:                                             ; preds = %5277
  br label %5279

5279:                                             ; preds = %5278
  br label %5280

5280:                                             ; preds = %5279
  %5281 = load i32, ptr @test_count, align 4, !tbaa !5
  %5282 = add nsw i32 %5281, 1
  store i32 %5282, ptr @test_count, align 4, !tbaa !5
  %5283 = load ptr, ptr %107, align 8, !tbaa !9
  %5284 = getelementptr inbounds [15 x i8], ptr %10, i64 0, i64 0
  %5285 = call i32 @s2n_psk_set_application_protocol(ptr noundef %5283, ptr noundef %5284, i8 noundef zeroext 15)
  %5286 = icmp eq i32 %5285, -1
  br i1 %5286, label %5287, label %5340

5287:                                             ; preds = %5280
  br label %5288

5288:                                             ; preds = %5287
  br label %5289

5289:                                             ; preds = %5288
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %5290 = call ptr @__errno_location() #12
  %5291 = load i32, ptr %5290, align 4, !tbaa !5
  store i32 %5291, ptr %116, align 4, !tbaa !5
  %5292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5293 = call i32 @s2n_print_stacktrace(ptr noundef %5292)
  %5294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5295 = trunc i8 %5294 to i1
  br i1 %5295, label %5296, label %5318

5296:                                             ; preds = %5289
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = call i32 @fileno(ptr noundef %5297) #11
  %5299 = call i32 @isatty(i32 noundef %5298) #11
  %5300 = icmp ne i32 %5299, 0
  br i1 %5300, label %5301, label %5318

5301:                                             ; preds = %5296
  %5302 = load i32, ptr %116, align 4, !tbaa !5
  %5303 = call ptr @__errno_location() #12
  store i32 %5302, ptr %5303, align 4, !tbaa !5
  %5304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5305 = load i32, ptr @test_count, align 4, !tbaa !5
  %5306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  %5308 = call ptr @s2n_strerror(i32 noundef %5307, ptr noundef @.str.4)
  %5309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5310 = load i32, ptr %5309, align 4, !tbaa !5
  %5311 = call ptr @s2n_strerror_debug(i32 noundef %5310, ptr noundef @.str.4)
  %5312 = call ptr @__errno_location() #12
  %5313 = load i32, ptr %5312, align 4, !tbaa !5
  %5314 = call ptr @strerror(i32 noundef %5313) #11
  %5315 = call ptr @__errno_location() #12
  %5316 = load i32, ptr %5315, align 4, !tbaa !5
  %5317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5304, ptr noundef @.str.2, i32 noundef %5305, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 313, ptr noundef %5308, ptr noundef %5311, ptr noundef %5314, i32 noundef %5316) #11
  br label %5335

5318:                                             ; preds = %5296, %5289
  %5319 = load i32, ptr %116, align 4, !tbaa !5
  %5320 = call ptr @__errno_location() #12
  store i32 %5319, ptr %5320, align 4, !tbaa !5
  %5321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5322 = load i32, ptr @test_count, align 4, !tbaa !5
  %5323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5324 = load i32, ptr %5323, align 4, !tbaa !5
  %5325 = call ptr @s2n_strerror(i32 noundef %5324, ptr noundef @.str.4)
  %5326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5327 = load i32, ptr %5326, align 4, !tbaa !5
  %5328 = call ptr @s2n_strerror_debug(i32 noundef %5327, ptr noundef @.str.4)
  %5329 = call ptr @__errno_location() #12
  %5330 = load i32, ptr %5329, align 4, !tbaa !5
  %5331 = call ptr @strerror(i32 noundef %5330) #11
  %5332 = call ptr @__errno_location() #12
  %5333 = load i32, ptr %5332, align 4, !tbaa !5
  %5334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5321, ptr noundef @.str.5, i32 noundef %5322, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 313, ptr noundef %5325, ptr noundef %5328, ptr noundef %5331, i32 noundef %5333) #11
  br label %5335

5335:                                             ; preds = %5318, %5301
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %5336

5336:                                             ; preds = %5335
  br label %5337

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

5338:                                             ; No predecessors!
  br label %5339

5339:                                             ; preds = %5338
  br label %5340

5340:                                             ; preds = %5339, %5280
  br label %5341

5341:                                             ; preds = %5340
  br label %5342

5342:                                             ; preds = %5341
  br label %5343

5343:                                             ; preds = %5342
  %5344 = load i32, ptr @test_count, align 4, !tbaa !5
  %5345 = add nsw i32 %5344, 1
  store i32 %5345, ptr @test_count, align 4, !tbaa !5
  %5346 = load ptr, ptr %107, align 8, !tbaa !9
  %5347 = getelementptr inbounds %struct.s2n_psk, ptr %5346, i32 0, i32 7
  %5348 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5347, i32 0, i32 3
  %5349 = getelementptr inbounds %struct.s2n_blob, ptr %5348, i32 0, i32 1
  %5350 = load i32, ptr %5349, align 8, !tbaa !54
  %5351 = zext i32 %5350 to i64
  %5352 = icmp eq i64 %5351, 15
  br i1 %5352, label %5406, label %5353

5353:                                             ; preds = %5343
  br label %5354

5354:                                             ; preds = %5353
  br label %5355

5355:                                             ; preds = %5354
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %5356 = call ptr @__errno_location() #12
  %5357 = load i32, ptr %5356, align 4, !tbaa !5
  store i32 %5357, ptr %117, align 4, !tbaa !5
  %5358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5359 = call i32 @s2n_print_stacktrace(ptr noundef %5358)
  %5360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5361 = trunc i8 %5360 to i1
  br i1 %5361, label %5362, label %5384

5362:                                             ; preds = %5355
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = call i32 @fileno(ptr noundef %5363) #11
  %5365 = call i32 @isatty(i32 noundef %5364) #11
  %5366 = icmp ne i32 %5365, 0
  br i1 %5366, label %5367, label %5384

5367:                                             ; preds = %5362
  %5368 = load i32, ptr %117, align 4, !tbaa !5
  %5369 = call ptr @__errno_location() #12
  store i32 %5368, ptr %5369, align 4, !tbaa !5
  %5370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5371 = load i32, ptr @test_count, align 4, !tbaa !5
  %5372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5373 = load i32, ptr %5372, align 4, !tbaa !5
  %5374 = call ptr @s2n_strerror(i32 noundef %5373, ptr noundef @.str.4)
  %5375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5376 = load i32, ptr %5375, align 4, !tbaa !5
  %5377 = call ptr @s2n_strerror_debug(i32 noundef %5376, ptr noundef @.str.4)
  %5378 = call ptr @__errno_location() #12
  %5379 = load i32, ptr %5378, align 4, !tbaa !5
  %5380 = call ptr @strerror(i32 noundef %5379) #11
  %5381 = call ptr @__errno_location() #12
  %5382 = load i32, ptr %5381, align 4, !tbaa !5
  %5383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5370, ptr noundef @.str.2, i32 noundef %5371, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 314, ptr noundef %5374, ptr noundef %5377, ptr noundef %5380, i32 noundef %5382) #11
  br label %5401

5384:                                             ; preds = %5362, %5355
  %5385 = load i32, ptr %117, align 4, !tbaa !5
  %5386 = call ptr @__errno_location() #12
  store i32 %5385, ptr %5386, align 4, !tbaa !5
  %5387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5388 = load i32, ptr @test_count, align 4, !tbaa !5
  %5389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5390 = load i32, ptr %5389, align 4, !tbaa !5
  %5391 = call ptr @s2n_strerror(i32 noundef %5390, ptr noundef @.str.4)
  %5392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5393 = load i32, ptr %5392, align 4, !tbaa !5
  %5394 = call ptr @s2n_strerror_debug(i32 noundef %5393, ptr noundef @.str.4)
  %5395 = call ptr @__errno_location() #12
  %5396 = load i32, ptr %5395, align 4, !tbaa !5
  %5397 = call ptr @strerror(i32 noundef %5396) #11
  %5398 = call ptr @__errno_location() #12
  %5399 = load i32, ptr %5398, align 4, !tbaa !5
  %5400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5387, ptr noundef @.str.5, i32 noundef %5388, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 314, ptr noundef %5391, ptr noundef %5394, ptr noundef %5397, i32 noundef %5399) #11
  br label %5401

5401:                                             ; preds = %5384, %5367
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %5402

5402:                                             ; preds = %5401
  br label %5403

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

5404:                                             ; No predecessors!
  br label %5405

5405:                                             ; preds = %5404
  br label %5406

5406:                                             ; preds = %5405, %5343
  br label %5407

5407:                                             ; preds = %5406
  br label %5408

5408:                                             ; preds = %5407
  br label %5409

5409:                                             ; preds = %5408
  br label %5410

5410:                                             ; preds = %5409
  %5411 = load i32, ptr @test_count, align 4, !tbaa !5
  %5412 = add nsw i32 %5411, 1
  store i32 %5412, ptr @test_count, align 4, !tbaa !5
  %5413 = load ptr, ptr %107, align 8, !tbaa !9
  %5414 = getelementptr inbounds %struct.s2n_psk, ptr %5413, i32 0, i32 7
  %5415 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5414, i32 0, i32 3
  %5416 = getelementptr inbounds %struct.s2n_blob, ptr %5415, i32 0, i32 0
  %5417 = load ptr, ptr %5416, align 8, !tbaa !56
  %5418 = getelementptr inbounds [15 x i8], ptr %10, i64 0, i64 0
  %5419 = call i32 @memcmp(ptr noundef %5417, ptr noundef %5418, i64 noundef 15) #14
  %5420 = icmp eq i32 %5419, 0
  br i1 %5420, label %5474, label %5421

5421:                                             ; preds = %5410
  br label %5422

5422:                                             ; preds = %5421
  br label %5423

5423:                                             ; preds = %5422
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %5424 = call ptr @__errno_location() #12
  %5425 = load i32, ptr %5424, align 4, !tbaa !5
  store i32 %5425, ptr %118, align 4, !tbaa !5
  %5426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5427 = call i32 @s2n_print_stacktrace(ptr noundef %5426)
  %5428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5429 = trunc i8 %5428 to i1
  br i1 %5429, label %5430, label %5452

5430:                                             ; preds = %5423
  %5431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5432 = call i32 @fileno(ptr noundef %5431) #11
  %5433 = call i32 @isatty(i32 noundef %5432) #11
  %5434 = icmp ne i32 %5433, 0
  br i1 %5434, label %5435, label %5452

5435:                                             ; preds = %5430
  %5436 = load i32, ptr %118, align 4, !tbaa !5
  %5437 = call ptr @__errno_location() #12
  store i32 %5436, ptr %5437, align 4, !tbaa !5
  %5438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5439 = load i32, ptr @test_count, align 4, !tbaa !5
  %5440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5441 = load i32, ptr %5440, align 4, !tbaa !5
  %5442 = call ptr @s2n_strerror(i32 noundef %5441, ptr noundef @.str.4)
  %5443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5444 = load i32, ptr %5443, align 4, !tbaa !5
  %5445 = call ptr @s2n_strerror_debug(i32 noundef %5444, ptr noundef @.str.4)
  %5446 = call ptr @__errno_location() #12
  %5447 = load i32, ptr %5446, align 4, !tbaa !5
  %5448 = call ptr @strerror(i32 noundef %5447) #11
  %5449 = call ptr @__errno_location() #12
  %5450 = load i32, ptr %5449, align 4, !tbaa !5
  %5451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5438, ptr noundef @.str.2, i32 noundef %5439, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 315, ptr noundef %5442, ptr noundef %5445, ptr noundef %5448, i32 noundef %5450) #11
  br label %5469

5452:                                             ; preds = %5430, %5423
  %5453 = load i32, ptr %118, align 4, !tbaa !5
  %5454 = call ptr @__errno_location() #12
  store i32 %5453, ptr %5454, align 4, !tbaa !5
  %5455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5456 = load i32, ptr @test_count, align 4, !tbaa !5
  %5457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5458 = load i32, ptr %5457, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror(i32 noundef %5458, ptr noundef @.str.4)
  %5460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5461 = load i32, ptr %5460, align 4, !tbaa !5
  %5462 = call ptr @s2n_strerror_debug(i32 noundef %5461, ptr noundef @.str.4)
  %5463 = call ptr @__errno_location() #12
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  %5465 = call ptr @strerror(i32 noundef %5464) #11
  %5466 = call ptr @__errno_location() #12
  %5467 = load i32, ptr %5466, align 4, !tbaa !5
  %5468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5455, ptr noundef @.str.5, i32 noundef %5456, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 315, ptr noundef %5459, ptr noundef %5462, ptr noundef %5465, i32 noundef %5467) #11
  br label %5469

5469:                                             ; preds = %5452, %5435
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %5470

5470:                                             ; preds = %5469
  br label %5471

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

5472:                                             ; No predecessors!
  br label %5473

5473:                                             ; preds = %5472
  br label %5474

5474:                                             ; preds = %5473, %5410
  br label %5475

5475:                                             ; preds = %5474
  br label %5476

5476:                                             ; preds = %5475
  br label %5477

5477:                                             ; preds = %5476
  br label %5478

5478:                                             ; preds = %5477
  br label %5479

5479:                                             ; preds = %5478
  %5480 = load i32, ptr @test_count, align 4, !tbaa !5
  %5481 = add nsw i32 %5480, 1
  store i32 %5481, ptr @test_count, align 4, !tbaa !5
  %5482 = load ptr, ptr %107, align 8, !tbaa !9
  %5483 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %5484 = call i32 @s2n_psk_set_application_protocol(ptr noundef %5482, ptr noundef %5483, i8 noundef zeroext 0)
  %5485 = icmp eq i32 %5484, -1
  br i1 %5485, label %5486, label %5539

5486:                                             ; preds = %5479
  br label %5487

5487:                                             ; preds = %5486
  br label %5488

5488:                                             ; preds = %5487
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  %5489 = call ptr @__errno_location() #12
  %5490 = load i32, ptr %5489, align 4, !tbaa !5
  store i32 %5490, ptr %119, align 4, !tbaa !5
  %5491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5492 = call i32 @s2n_print_stacktrace(ptr noundef %5491)
  %5493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5494 = trunc i8 %5493 to i1
  br i1 %5494, label %5495, label %5517

5495:                                             ; preds = %5488
  %5496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5497 = call i32 @fileno(ptr noundef %5496) #11
  %5498 = call i32 @isatty(i32 noundef %5497) #11
  %5499 = icmp ne i32 %5498, 0
  br i1 %5499, label %5500, label %5517

5500:                                             ; preds = %5495
  %5501 = load i32, ptr %119, align 4, !tbaa !5
  %5502 = call ptr @__errno_location() #12
  store i32 %5501, ptr %5502, align 4, !tbaa !5
  %5503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5504 = load i32, ptr @test_count, align 4, !tbaa !5
  %5505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5506 = load i32, ptr %5505, align 4, !tbaa !5
  %5507 = call ptr @s2n_strerror(i32 noundef %5506, ptr noundef @.str.4)
  %5508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5509 = load i32, ptr %5508, align 4, !tbaa !5
  %5510 = call ptr @s2n_strerror_debug(i32 noundef %5509, ptr noundef @.str.4)
  %5511 = call ptr @__errno_location() #12
  %5512 = load i32, ptr %5511, align 4, !tbaa !5
  %5513 = call ptr @strerror(i32 noundef %5512) #11
  %5514 = call ptr @__errno_location() #12
  %5515 = load i32, ptr %5514, align 4, !tbaa !5
  %5516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5503, ptr noundef @.str.2, i32 noundef %5504, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 318, ptr noundef %5507, ptr noundef %5510, ptr noundef %5513, i32 noundef %5515) #11
  br label %5534

5517:                                             ; preds = %5495, %5488
  %5518 = load i32, ptr %119, align 4, !tbaa !5
  %5519 = call ptr @__errno_location() #12
  store i32 %5518, ptr %5519, align 4, !tbaa !5
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5521 = load i32, ptr @test_count, align 4, !tbaa !5
  %5522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5523 = load i32, ptr %5522, align 4, !tbaa !5
  %5524 = call ptr @s2n_strerror(i32 noundef %5523, ptr noundef @.str.4)
  %5525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  %5527 = call ptr @s2n_strerror_debug(i32 noundef %5526, ptr noundef @.str.4)
  %5528 = call ptr @__errno_location() #12
  %5529 = load i32, ptr %5528, align 4, !tbaa !5
  %5530 = call ptr @strerror(i32 noundef %5529) #11
  %5531 = call ptr @__errno_location() #12
  %5532 = load i32, ptr %5531, align 4, !tbaa !5
  %5533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5520, ptr noundef @.str.5, i32 noundef %5521, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 318, ptr noundef %5524, ptr noundef %5527, ptr noundef %5530, i32 noundef %5532) #11
  br label %5534

5534:                                             ; preds = %5517, %5500
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5535

5535:                                             ; preds = %5534
  br label %5536

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

5537:                                             ; No predecessors!
  br label %5538

5538:                                             ; preds = %5537
  br label %5539

5539:                                             ; preds = %5538, %5479
  br label %5540

5540:                                             ; preds = %5539
  br label %5541

5541:                                             ; preds = %5540
  br label %5542

5542:                                             ; preds = %5541
  %5543 = load i32, ptr @test_count, align 4, !tbaa !5
  %5544 = add nsw i32 %5543, 1
  store i32 %5544, ptr @test_count, align 4, !tbaa !5
  %5545 = load ptr, ptr %107, align 8, !tbaa !9
  %5546 = getelementptr inbounds %struct.s2n_psk, ptr %5545, i32 0, i32 7
  %5547 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5546, i32 0, i32 3
  %5548 = getelementptr inbounds %struct.s2n_blob, ptr %5547, i32 0, i32 1
  %5549 = load i32, ptr %5548, align 8, !tbaa !54
  %5550 = icmp eq i32 %5549, 0
  br i1 %5550, label %5604, label %5551

5551:                                             ; preds = %5542
  br label %5552

5552:                                             ; preds = %5551
  br label %5553

5553:                                             ; preds = %5552
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #11
  %5554 = call ptr @__errno_location() #12
  %5555 = load i32, ptr %5554, align 4, !tbaa !5
  store i32 %5555, ptr %120, align 4, !tbaa !5
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = call i32 @s2n_print_stacktrace(ptr noundef %5556)
  %5558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5559 = trunc i8 %5558 to i1
  br i1 %5559, label %5560, label %5582

5560:                                             ; preds = %5553
  %5561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5562 = call i32 @fileno(ptr noundef %5561) #11
  %5563 = call i32 @isatty(i32 noundef %5562) #11
  %5564 = icmp ne i32 %5563, 0
  br i1 %5564, label %5565, label %5582

5565:                                             ; preds = %5560
  %5566 = load i32, ptr %120, align 4, !tbaa !5
  %5567 = call ptr @__errno_location() #12
  store i32 %5566, ptr %5567, align 4, !tbaa !5
  %5568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5569 = load i32, ptr @test_count, align 4, !tbaa !5
  %5570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5571 = load i32, ptr %5570, align 4, !tbaa !5
  %5572 = call ptr @s2n_strerror(i32 noundef %5571, ptr noundef @.str.4)
  %5573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5574 = load i32, ptr %5573, align 4, !tbaa !5
  %5575 = call ptr @s2n_strerror_debug(i32 noundef %5574, ptr noundef @.str.4)
  %5576 = call ptr @__errno_location() #12
  %5577 = load i32, ptr %5576, align 4, !tbaa !5
  %5578 = call ptr @strerror(i32 noundef %5577) #11
  %5579 = call ptr @__errno_location() #12
  %5580 = load i32, ptr %5579, align 4, !tbaa !5
  %5581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5568, ptr noundef @.str.2, i32 noundef %5569, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 319, ptr noundef %5572, ptr noundef %5575, ptr noundef %5578, i32 noundef %5580) #11
  br label %5599

5582:                                             ; preds = %5560, %5553
  %5583 = load i32, ptr %120, align 4, !tbaa !5
  %5584 = call ptr @__errno_location() #12
  store i32 %5583, ptr %5584, align 4, !tbaa !5
  %5585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5586 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5588, ptr noundef @.str.4)
  %5590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5591 = load i32, ptr %5590, align 4, !tbaa !5
  %5592 = call ptr @s2n_strerror_debug(i32 noundef %5591, ptr noundef @.str.4)
  %5593 = call ptr @__errno_location() #12
  %5594 = load i32, ptr %5593, align 4, !tbaa !5
  %5595 = call ptr @strerror(i32 noundef %5594) #11
  %5596 = call ptr @__errno_location() #12
  %5597 = load i32, ptr %5596, align 4, !tbaa !5
  %5598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5585, ptr noundef @.str.5, i32 noundef %5586, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 319, ptr noundef %5589, ptr noundef %5592, ptr noundef %5595, i32 noundef %5597) #11
  br label %5599

5599:                                             ; preds = %5582, %5565
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %5600

5600:                                             ; preds = %5599
  br label %5601

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

5602:                                             ; No predecessors!
  br label %5603

5603:                                             ; preds = %5602
  br label %5604

5604:                                             ; preds = %5603, %5542
  br label %5605

5605:                                             ; preds = %5604
  br label %5606

5606:                                             ; preds = %5605
  br label %5607

5607:                                             ; preds = %5606
  %5608 = load i32, ptr @test_count, align 4, !tbaa !5
  %5609 = add nsw i32 %5608, 1
  store i32 %5609, ptr @test_count, align 4, !tbaa !5
  %5610 = load ptr, ptr %107, align 8, !tbaa !9
  %5611 = getelementptr inbounds %struct.s2n_psk, ptr %5610, i32 0, i32 7
  %5612 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5611, i32 0, i32 3
  %5613 = getelementptr inbounds %struct.s2n_blob, ptr %5612, i32 0, i32 2
  %5614 = load i32, ptr %5613, align 4, !tbaa !55
  %5615 = icmp eq i32 %5614, 0
  br i1 %5615, label %5669, label %5616

5616:                                             ; preds = %5607
  br label %5617

5617:                                             ; preds = %5616
  br label %5618

5618:                                             ; preds = %5617
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %5619 = call ptr @__errno_location() #12
  %5620 = load i32, ptr %5619, align 4, !tbaa !5
  store i32 %5620, ptr %121, align 4, !tbaa !5
  %5621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5622 = call i32 @s2n_print_stacktrace(ptr noundef %5621)
  %5623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5624 = trunc i8 %5623 to i1
  br i1 %5624, label %5625, label %5647

5625:                                             ; preds = %5618
  %5626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5627 = call i32 @fileno(ptr noundef %5626) #11
  %5628 = call i32 @isatty(i32 noundef %5627) #11
  %5629 = icmp ne i32 %5628, 0
  br i1 %5629, label %5630, label %5647

5630:                                             ; preds = %5625
  %5631 = load i32, ptr %121, align 4, !tbaa !5
  %5632 = call ptr @__errno_location() #12
  store i32 %5631, ptr %5632, align 4, !tbaa !5
  %5633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5634 = load i32, ptr @test_count, align 4, !tbaa !5
  %5635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5636 = load i32, ptr %5635, align 4, !tbaa !5
  %5637 = call ptr @s2n_strerror(i32 noundef %5636, ptr noundef @.str.4)
  %5638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5639 = load i32, ptr %5638, align 4, !tbaa !5
  %5640 = call ptr @s2n_strerror_debug(i32 noundef %5639, ptr noundef @.str.4)
  %5641 = call ptr @__errno_location() #12
  %5642 = load i32, ptr %5641, align 4, !tbaa !5
  %5643 = call ptr @strerror(i32 noundef %5642) #11
  %5644 = call ptr @__errno_location() #12
  %5645 = load i32, ptr %5644, align 4, !tbaa !5
  %5646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5633, ptr noundef @.str.2, i32 noundef %5634, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5637, ptr noundef %5640, ptr noundef %5643, i32 noundef %5645) #11
  br label %5664

5647:                                             ; preds = %5625, %5618
  %5648 = load i32, ptr %121, align 4, !tbaa !5
  %5649 = call ptr @__errno_location() #12
  store i32 %5648, ptr %5649, align 4, !tbaa !5
  %5650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5651 = load i32, ptr @test_count, align 4, !tbaa !5
  %5652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5653 = load i32, ptr %5652, align 4, !tbaa !5
  %5654 = call ptr @s2n_strerror(i32 noundef %5653, ptr noundef @.str.4)
  %5655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5656 = load i32, ptr %5655, align 4, !tbaa !5
  %5657 = call ptr @s2n_strerror_debug(i32 noundef %5656, ptr noundef @.str.4)
  %5658 = call ptr @__errno_location() #12
  %5659 = load i32, ptr %5658, align 4, !tbaa !5
  %5660 = call ptr @strerror(i32 noundef %5659) #11
  %5661 = call ptr @__errno_location() #12
  %5662 = load i32, ptr %5661, align 4, !tbaa !5
  %5663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5650, ptr noundef @.str.5, i32 noundef %5651, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5654, ptr noundef %5657, ptr noundef %5660, i32 noundef %5662) #11
  br label %5664

5664:                                             ; preds = %5647, %5630
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %5665

5665:                                             ; preds = %5664
  br label %5666

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

5667:                                             ; No predecessors!
  br label %5668

5668:                                             ; preds = %5667
  br label %5669

5669:                                             ; preds = %5668, %5607
  br label %5670

5670:                                             ; preds = %5669
  br label %5671

5671:                                             ; preds = %5670
  br label %5672

5672:                                             ; preds = %5671
  %5673 = load i32, ptr @test_count, align 4, !tbaa !5
  %5674 = add nsw i32 %5673, 1
  store i32 %5674, ptr @test_count, align 4, !tbaa !5
  %5675 = load ptr, ptr %107, align 8, !tbaa !9
  %5676 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %5677 = call i32 @s2n_psk_set_application_protocol(ptr noundef %5675, ptr noundef %5676, i8 noundef zeroext 0)
  %5678 = icmp eq i32 %5677, -1
  br i1 %5678, label %5679, label %5732

5679:                                             ; preds = %5672
  br label %5680

5680:                                             ; preds = %5679
  br label %5681

5681:                                             ; preds = %5680
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %5682 = call ptr @__errno_location() #12
  %5683 = load i32, ptr %5682, align 4, !tbaa !5
  store i32 %5683, ptr %122, align 4, !tbaa !5
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = call i32 @s2n_print_stacktrace(ptr noundef %5684)
  %5686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5687 = trunc i8 %5686 to i1
  br i1 %5687, label %5688, label %5710

5688:                                             ; preds = %5681
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = call i32 @fileno(ptr noundef %5689) #11
  %5691 = call i32 @isatty(i32 noundef %5690) #11
  %5692 = icmp ne i32 %5691, 0
  br i1 %5692, label %5693, label %5710

5693:                                             ; preds = %5688
  %5694 = load i32, ptr %122, align 4, !tbaa !5
  %5695 = call ptr @__errno_location() #12
  store i32 %5694, ptr %5695, align 4, !tbaa !5
  %5696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5697 = load i32, ptr @test_count, align 4, !tbaa !5
  %5698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5699 = load i32, ptr %5698, align 4, !tbaa !5
  %5700 = call ptr @s2n_strerror(i32 noundef %5699, ptr noundef @.str.4)
  %5701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  %5703 = call ptr @s2n_strerror_debug(i32 noundef %5702, ptr noundef @.str.4)
  %5704 = call ptr @__errno_location() #12
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  %5706 = call ptr @strerror(i32 noundef %5705) #11
  %5707 = call ptr @__errno_location() #12
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5696, ptr noundef @.str.2, i32 noundef %5697, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 323, ptr noundef %5700, ptr noundef %5703, ptr noundef %5706, i32 noundef %5708) #11
  br label %5727

5710:                                             ; preds = %5688, %5681
  %5711 = load i32, ptr %122, align 4, !tbaa !5
  %5712 = call ptr @__errno_location() #12
  store i32 %5711, ptr %5712, align 4, !tbaa !5
  %5713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5714 = load i32, ptr @test_count, align 4, !tbaa !5
  %5715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5716 = load i32, ptr %5715, align 4, !tbaa !5
  %5717 = call ptr @s2n_strerror(i32 noundef %5716, ptr noundef @.str.4)
  %5718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5719 = load i32, ptr %5718, align 4, !tbaa !5
  %5720 = call ptr @s2n_strerror_debug(i32 noundef %5719, ptr noundef @.str.4)
  %5721 = call ptr @__errno_location() #12
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  %5723 = call ptr @strerror(i32 noundef %5722) #11
  %5724 = call ptr @__errno_location() #12
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5713, ptr noundef @.str.5, i32 noundef %5714, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 323, ptr noundef %5717, ptr noundef %5720, ptr noundef %5723, i32 noundef %5725) #11
  br label %5727

5727:                                             ; preds = %5710, %5693
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %5728

5728:                                             ; preds = %5727
  br label %5729

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

5730:                                             ; No predecessors!
  br label %5731

5731:                                             ; preds = %5730
  br label %5732

5732:                                             ; preds = %5731, %5672
  br label %5733

5733:                                             ; preds = %5732
  br label %5734

5734:                                             ; preds = %5733
  br label %5735

5735:                                             ; preds = %5734
  %5736 = load i32, ptr @test_count, align 4, !tbaa !5
  %5737 = add nsw i32 %5736, 1
  store i32 %5737, ptr @test_count, align 4, !tbaa !5
  %5738 = load ptr, ptr %107, align 8, !tbaa !9
  %5739 = getelementptr inbounds %struct.s2n_psk, ptr %5738, i32 0, i32 7
  %5740 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5739, i32 0, i32 3
  %5741 = getelementptr inbounds %struct.s2n_blob, ptr %5740, i32 0, i32 1
  %5742 = load i32, ptr %5741, align 8, !tbaa !54
  %5743 = icmp eq i32 %5742, 0
  br i1 %5743, label %5797, label %5744

5744:                                             ; preds = %5735
  br label %5745

5745:                                             ; preds = %5744
  br label %5746

5746:                                             ; preds = %5745
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5747 = call ptr @__errno_location() #12
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  store i32 %5748, ptr %123, align 4, !tbaa !5
  %5749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5750 = call i32 @s2n_print_stacktrace(ptr noundef %5749)
  %5751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5752 = trunc i8 %5751 to i1
  br i1 %5752, label %5753, label %5775

5753:                                             ; preds = %5746
  %5754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5755 = call i32 @fileno(ptr noundef %5754) #11
  %5756 = call i32 @isatty(i32 noundef %5755) #11
  %5757 = icmp ne i32 %5756, 0
  br i1 %5757, label %5758, label %5775

5758:                                             ; preds = %5753
  %5759 = load i32, ptr %123, align 4, !tbaa !5
  %5760 = call ptr @__errno_location() #12
  store i32 %5759, ptr %5760, align 4, !tbaa !5
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = load i32, ptr @test_count, align 4, !tbaa !5
  %5763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5764 = load i32, ptr %5763, align 4, !tbaa !5
  %5765 = call ptr @s2n_strerror(i32 noundef %5764, ptr noundef @.str.4)
  %5766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5767 = load i32, ptr %5766, align 4, !tbaa !5
  %5768 = call ptr @s2n_strerror_debug(i32 noundef %5767, ptr noundef @.str.4)
  %5769 = call ptr @__errno_location() #12
  %5770 = load i32, ptr %5769, align 4, !tbaa !5
  %5771 = call ptr @strerror(i32 noundef %5770) #11
  %5772 = call ptr @__errno_location() #12
  %5773 = load i32, ptr %5772, align 4, !tbaa !5
  %5774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5761, ptr noundef @.str.2, i32 noundef %5762, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 324, ptr noundef %5765, ptr noundef %5768, ptr noundef %5771, i32 noundef %5773) #11
  br label %5792

5775:                                             ; preds = %5753, %5746
  %5776 = load i32, ptr %123, align 4, !tbaa !5
  %5777 = call ptr @__errno_location() #12
  store i32 %5776, ptr %5777, align 4, !tbaa !5
  %5778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5779 = load i32, ptr @test_count, align 4, !tbaa !5
  %5780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5781 = load i32, ptr %5780, align 4, !tbaa !5
  %5782 = call ptr @s2n_strerror(i32 noundef %5781, ptr noundef @.str.4)
  %5783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5784 = load i32, ptr %5783, align 4, !tbaa !5
  %5785 = call ptr @s2n_strerror_debug(i32 noundef %5784, ptr noundef @.str.4)
  %5786 = call ptr @__errno_location() #12
  %5787 = load i32, ptr %5786, align 4, !tbaa !5
  %5788 = call ptr @strerror(i32 noundef %5787) #11
  %5789 = call ptr @__errno_location() #12
  %5790 = load i32, ptr %5789, align 4, !tbaa !5
  %5791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5778, ptr noundef @.str.5, i32 noundef %5779, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 324, ptr noundef %5782, ptr noundef %5785, ptr noundef %5788, i32 noundef %5790) #11
  br label %5792

5792:                                             ; preds = %5775, %5758
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5793

5793:                                             ; preds = %5792
  br label %5794

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

5795:                                             ; No predecessors!
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796, %5735
  br label %5798

5798:                                             ; preds = %5797
  br label %5799

5799:                                             ; preds = %5798
  br label %5800

5800:                                             ; preds = %5799
  %5801 = load i32, ptr @test_count, align 4, !tbaa !5
  %5802 = add nsw i32 %5801, 1
  store i32 %5802, ptr @test_count, align 4, !tbaa !5
  %5803 = load ptr, ptr %107, align 8, !tbaa !9
  %5804 = getelementptr inbounds %struct.s2n_psk, ptr %5803, i32 0, i32 7
  %5805 = getelementptr inbounds %struct.s2n_early_data_config, ptr %5804, i32 0, i32 3
  %5806 = getelementptr inbounds %struct.s2n_blob, ptr %5805, i32 0, i32 2
  %5807 = load i32, ptr %5806, align 4, !tbaa !55
  %5808 = icmp eq i32 %5807, 0
  br i1 %5808, label %5862, label %5809

5809:                                             ; preds = %5800
  br label %5810

5810:                                             ; preds = %5809
  br label %5811

5811:                                             ; preds = %5810
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %5812 = call ptr @__errno_location() #12
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  store i32 %5813, ptr %124, align 4, !tbaa !5
  %5814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5815 = call i32 @s2n_print_stacktrace(ptr noundef %5814)
  %5816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5817 = trunc i8 %5816 to i1
  br i1 %5817, label %5818, label %5840

5818:                                             ; preds = %5811
  %5819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5820 = call i32 @fileno(ptr noundef %5819) #11
  %5821 = call i32 @isatty(i32 noundef %5820) #11
  %5822 = icmp ne i32 %5821, 0
  br i1 %5822, label %5823, label %5840

5823:                                             ; preds = %5818
  %5824 = load i32, ptr %124, align 4, !tbaa !5
  %5825 = call ptr @__errno_location() #12
  store i32 %5824, ptr %5825, align 4, !tbaa !5
  %5826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5827 = load i32, ptr @test_count, align 4, !tbaa !5
  %5828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5829 = load i32, ptr %5828, align 4, !tbaa !5
  %5830 = call ptr @s2n_strerror(i32 noundef %5829, ptr noundef @.str.4)
  %5831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5832 = load i32, ptr %5831, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror_debug(i32 noundef %5832, ptr noundef @.str.4)
  %5834 = call ptr @__errno_location() #12
  %5835 = load i32, ptr %5834, align 4, !tbaa !5
  %5836 = call ptr @strerror(i32 noundef %5835) #11
  %5837 = call ptr @__errno_location() #12
  %5838 = load i32, ptr %5837, align 4, !tbaa !5
  %5839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5826, ptr noundef @.str.2, i32 noundef %5827, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 325, ptr noundef %5830, ptr noundef %5833, ptr noundef %5836, i32 noundef %5838) #11
  br label %5857

5840:                                             ; preds = %5818, %5811
  %5841 = load i32, ptr %124, align 4, !tbaa !5
  %5842 = call ptr @__errno_location() #12
  store i32 %5841, ptr %5842, align 4, !tbaa !5
  %5843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5844 = load i32, ptr @test_count, align 4, !tbaa !5
  %5845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5846 = load i32, ptr %5845, align 4, !tbaa !5
  %5847 = call ptr @s2n_strerror(i32 noundef %5846, ptr noundef @.str.4)
  %5848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5849 = load i32, ptr %5848, align 4, !tbaa !5
  %5850 = call ptr @s2n_strerror_debug(i32 noundef %5849, ptr noundef @.str.4)
  %5851 = call ptr @__errno_location() #12
  %5852 = load i32, ptr %5851, align 4, !tbaa !5
  %5853 = call ptr @strerror(i32 noundef %5852) #11
  %5854 = call ptr @__errno_location() #12
  %5855 = load i32, ptr %5854, align 4, !tbaa !5
  %5856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5843, ptr noundef @.str.5, i32 noundef %5844, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 325, ptr noundef %5847, ptr noundef %5850, ptr noundef %5853, i32 noundef %5855) #11
  br label %5857

5857:                                             ; preds = %5840, %5823
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %5858

5858:                                             ; preds = %5857
  br label %5859

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

5860:                                             ; No predecessors!
  br label %5861

5861:                                             ; preds = %5860
  br label %5862

5862:                                             ; preds = %5861, %5800
  br label %5863

5863:                                             ; preds = %5862
  br label %5864

5864:                                             ; preds = %5863
  %5865 = call i32 @s2n_psk_free(ptr noundef %107)
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %125) #11
  call void @llvm.memset.p0.i64(ptr align 8 %125, i8 0, i64 168, i1 false)
  br label %5866

5866:                                             ; preds = %5864
  br label %5867

5867:                                             ; preds = %5866
  br label %5868

5868:                                             ; preds = %5867
  %5869 = load i32, ptr @test_count, align 4, !tbaa !5
  %5870 = add nsw i32 %5869, 1
  store i32 %5870, ptr @test_count, align 4, !tbaa !5
  %5871 = call i32 @s2n_psk_set_early_data_context(ptr noundef %125, ptr noundef null, i16 noundef zeroext 1)
  %5872 = icmp eq i32 %5871, -1
  br i1 %5872, label %5926, label %5873

5873:                                             ; preds = %5868
  br label %5874

5874:                                             ; preds = %5873
  br label %5875

5875:                                             ; preds = %5874
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %5876 = call ptr @__errno_location() #12
  %5877 = load i32, ptr %5876, align 4, !tbaa !5
  store i32 %5877, ptr %126, align 4, !tbaa !5
  %5878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5879 = call i32 @s2n_print_stacktrace(ptr noundef %5878)
  %5880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5881 = trunc i8 %5880 to i1
  br i1 %5881, label %5882, label %5904

5882:                                             ; preds = %5875
  %5883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5884 = call i32 @fileno(ptr noundef %5883) #11
  %5885 = call i32 @isatty(i32 noundef %5884) #11
  %5886 = icmp ne i32 %5885, 0
  br i1 %5886, label %5887, label %5904

5887:                                             ; preds = %5882
  %5888 = load i32, ptr %126, align 4, !tbaa !5
  %5889 = call ptr @__errno_location() #12
  store i32 %5888, ptr %5889, align 4, !tbaa !5
  %5890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5891 = load i32, ptr @test_count, align 4, !tbaa !5
  %5892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5893 = load i32, ptr %5892, align 4, !tbaa !5
  %5894 = call ptr @s2n_strerror(i32 noundef %5893, ptr noundef @.str.4)
  %5895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5896 = load i32, ptr %5895, align 4, !tbaa !5
  %5897 = call ptr @s2n_strerror_debug(i32 noundef %5896, ptr noundef @.str.4)
  %5898 = call ptr @__errno_location() #12
  %5899 = load i32, ptr %5898, align 4, !tbaa !5
  %5900 = call ptr @strerror(i32 noundef %5899) #11
  %5901 = call ptr @__errno_location() #12
  %5902 = load i32, ptr %5901, align 4, !tbaa !5
  %5903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5890, ptr noundef @.str.2, i32 noundef %5891, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 333, ptr noundef %5894, ptr noundef %5897, ptr noundef %5900, i32 noundef %5902) #11
  br label %5921

5904:                                             ; preds = %5882, %5875
  %5905 = load i32, ptr %126, align 4, !tbaa !5
  %5906 = call ptr @__errno_location() #12
  store i32 %5905, ptr %5906, align 4, !tbaa !5
  %5907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5908 = load i32, ptr @test_count, align 4, !tbaa !5
  %5909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5910 = load i32, ptr %5909, align 4, !tbaa !5
  %5911 = call ptr @s2n_strerror(i32 noundef %5910, ptr noundef @.str.4)
  %5912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5913 = load i32, ptr %5912, align 4, !tbaa !5
  %5914 = call ptr @s2n_strerror_debug(i32 noundef %5913, ptr noundef @.str.4)
  %5915 = call ptr @__errno_location() #12
  %5916 = load i32, ptr %5915, align 4, !tbaa !5
  %5917 = call ptr @strerror(i32 noundef %5916) #11
  %5918 = call ptr @__errno_location() #12
  %5919 = load i32, ptr %5918, align 4, !tbaa !5
  %5920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5907, ptr noundef @.str.5, i32 noundef %5908, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 333, ptr noundef %5911, ptr noundef %5914, ptr noundef %5917, i32 noundef %5919) #11
  br label %5921

5921:                                             ; preds = %5904, %5887
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %5922

5922:                                             ; preds = %5921
  br label %5923

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

5924:                                             ; No predecessors!
  br label %5925

5925:                                             ; preds = %5924
  br label %5926

5926:                                             ; preds = %5925, %5868
  br label %5927

5927:                                             ; preds = %5926
  br label %5928

5928:                                             ; preds = %5927
  br label %5929

5929:                                             ; preds = %5928
  %5930 = load i32, ptr @test_count, align 4, !tbaa !5
  %5931 = add nsw i32 %5930, 1
  store i32 %5931, ptr @test_count, align 4, !tbaa !5
  %5932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5933 = load i32, ptr %5932, align 4, !tbaa !5
  %5934 = icmp eq i32 %5933, 402653193
  br i1 %5934, label %5988, label %5935

5935:                                             ; preds = %5929
  br label %5936

5936:                                             ; preds = %5935
  br label %5937

5937:                                             ; preds = %5936
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %5938 = call ptr @__errno_location() #12
  %5939 = load i32, ptr %5938, align 4, !tbaa !5
  store i32 %5939, ptr %127, align 4, !tbaa !5
  %5940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5941 = call i32 @s2n_print_stacktrace(ptr noundef %5940)
  %5942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5943 = trunc i8 %5942 to i1
  br i1 %5943, label %5944, label %5966

5944:                                             ; preds = %5937
  %5945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5946 = call i32 @fileno(ptr noundef %5945) #11
  %5947 = call i32 @isatty(i32 noundef %5946) #11
  %5948 = icmp ne i32 %5947, 0
  br i1 %5948, label %5949, label %5966

5949:                                             ; preds = %5944
  %5950 = load i32, ptr %127, align 4, !tbaa !5
  %5951 = call ptr @__errno_location() #12
  store i32 %5950, ptr %5951, align 4, !tbaa !5
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = load i32, ptr @test_count, align 4, !tbaa !5
  %5954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5955 = load i32, ptr %5954, align 4, !tbaa !5
  %5956 = call ptr @s2n_strerror(i32 noundef %5955, ptr noundef @.str.4)
  %5957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5958 = load i32, ptr %5957, align 4, !tbaa !5
  %5959 = call ptr @s2n_strerror_debug(i32 noundef %5958, ptr noundef @.str.4)
  %5960 = call ptr @__errno_location() #12
  %5961 = load i32, ptr %5960, align 4, !tbaa !5
  %5962 = call ptr @strerror(i32 noundef %5961) #11
  %5963 = call ptr @__errno_location() #12
  %5964 = load i32, ptr %5963, align 4, !tbaa !5
  %5965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5952, ptr noundef @.str.2, i32 noundef %5953, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 333, ptr noundef %5956, ptr noundef %5959, ptr noundef %5962, i32 noundef %5964) #11
  br label %5983

5966:                                             ; preds = %5944, %5937
  %5967 = load i32, ptr %127, align 4, !tbaa !5
  %5968 = call ptr @__errno_location() #12
  store i32 %5967, ptr %5968, align 4, !tbaa !5
  %5969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5970 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5972, ptr noundef @.str.4)
  %5974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5975 = load i32, ptr %5974, align 4, !tbaa !5
  %5976 = call ptr @s2n_strerror_debug(i32 noundef %5975, ptr noundef @.str.4)
  %5977 = call ptr @__errno_location() #12
  %5978 = load i32, ptr %5977, align 4, !tbaa !5
  %5979 = call ptr @strerror(i32 noundef %5978) #11
  %5980 = call ptr @__errno_location() #12
  %5981 = load i32, ptr %5980, align 4, !tbaa !5
  %5982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5969, ptr noundef @.str.5, i32 noundef %5970, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 333, ptr noundef %5973, ptr noundef %5976, ptr noundef %5979, i32 noundef %5981) #11
  br label %5983

5983:                                             ; preds = %5966, %5949
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %5984

5984:                                             ; preds = %5983
  br label %5985

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

5986:                                             ; No predecessors!
  br label %5987

5987:                                             ; preds = %5986
  br label %5988

5988:                                             ; preds = %5987, %5929
  br label %5989

5989:                                             ; preds = %5988
  br label %5990

5990:                                             ; preds = %5989
  br label %5991

5991:                                             ; preds = %5990
  %5992 = load i32, ptr @test_count, align 4, !tbaa !5
  %5993 = add nsw i32 %5992, 1
  store i32 %5993, ptr @test_count, align 4, !tbaa !5
  %5994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5995 = load i32, ptr %5994, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5995, ptr noundef @.str.4)
  %5997 = icmp eq ptr %5996, null
  br i1 %5997, label %5998, label %6051

5998:                                             ; preds = %5991
  br label %5999

5999:                                             ; preds = %5998
  br label %6000

6000:                                             ; preds = %5999
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6001 = call ptr @__errno_location() #12
  %6002 = load i32, ptr %6001, align 4, !tbaa !5
  store i32 %6002, ptr %128, align 4, !tbaa !5
  %6003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6004 = call i32 @s2n_print_stacktrace(ptr noundef %6003)
  %6005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6006 = trunc i8 %6005 to i1
  br i1 %6006, label %6007, label %6029

6007:                                             ; preds = %6000
  %6008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6009 = call i32 @fileno(ptr noundef %6008) #11
  %6010 = call i32 @isatty(i32 noundef %6009) #11
  %6011 = icmp ne i32 %6010, 0
  br i1 %6011, label %6012, label %6029

6012:                                             ; preds = %6007
  %6013 = load i32, ptr %128, align 4, !tbaa !5
  %6014 = call ptr @__errno_location() #12
  store i32 %6013, ptr %6014, align 4, !tbaa !5
  %6015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6016 = load i32, ptr @test_count, align 4, !tbaa !5
  %6017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6018 = load i32, ptr %6017, align 4, !tbaa !5
  %6019 = call ptr @s2n_strerror(i32 noundef %6018, ptr noundef @.str.4)
  %6020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6021 = load i32, ptr %6020, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror_debug(i32 noundef %6021, ptr noundef @.str.4)
  %6023 = call ptr @__errno_location() #12
  %6024 = load i32, ptr %6023, align 4, !tbaa !5
  %6025 = call ptr @strerror(i32 noundef %6024) #11
  %6026 = call ptr @__errno_location() #12
  %6027 = load i32, ptr %6026, align 4, !tbaa !5
  %6028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6015, ptr noundef @.str.2, i32 noundef %6016, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 333, ptr noundef %6019, ptr noundef %6022, ptr noundef %6025, i32 noundef %6027) #11
  br label %6046

6029:                                             ; preds = %6007, %6000
  %6030 = load i32, ptr %128, align 4, !tbaa !5
  %6031 = call ptr @__errno_location() #12
  store i32 %6030, ptr %6031, align 4, !tbaa !5
  %6032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6033 = load i32, ptr @test_count, align 4, !tbaa !5
  %6034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6035 = load i32, ptr %6034, align 4, !tbaa !5
  %6036 = call ptr @s2n_strerror(i32 noundef %6035, ptr noundef @.str.4)
  %6037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6038 = load i32, ptr %6037, align 4, !tbaa !5
  %6039 = call ptr @s2n_strerror_debug(i32 noundef %6038, ptr noundef @.str.4)
  %6040 = call ptr @__errno_location() #12
  %6041 = load i32, ptr %6040, align 4, !tbaa !5
  %6042 = call ptr @strerror(i32 noundef %6041) #11
  %6043 = call ptr @__errno_location() #12
  %6044 = load i32, ptr %6043, align 4, !tbaa !5
  %6045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6032, ptr noundef @.str.5, i32 noundef %6033, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 333, ptr noundef %6036, ptr noundef %6039, ptr noundef %6042, i32 noundef %6044) #11
  br label %6046

6046:                                             ; preds = %6029, %6012
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6047

6047:                                             ; preds = %6046
  br label %6048

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

6049:                                             ; No predecessors!
  br label %6050

6050:                                             ; preds = %6049
  br label %6051

6051:                                             ; preds = %6050, %5991
  br label %6052

6052:                                             ; preds = %6051
  br label %6053

6053:                                             ; preds = %6052
  br label %6054

6054:                                             ; preds = %6053
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

6056:                                             ; preds = %6055
  %6057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6057, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6058 = call ptr @__errno_location() #12
  store i32 0, ptr %6058, align 4, !tbaa !5
  br label %6059

6059:                                             ; preds = %6056
  br label %6060

6060:                                             ; preds = %6059
  br label %6061

6061:                                             ; preds = %6060
  br label %6062

6062:                                             ; preds = %6061
  br label %6063

6063:                                             ; preds = %6062
  br label %6064

6064:                                             ; preds = %6063
  br label %6065

6065:                                             ; preds = %6064
  %6066 = load i32, ptr @test_count, align 4, !tbaa !5
  %6067 = add nsw i32 %6066, 1
  store i32 %6067, ptr @test_count, align 4, !tbaa !5
  %6068 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %6069 = call i32 @s2n_psk_set_early_data_context(ptr noundef null, ptr noundef %6068, i16 noundef zeroext 1)
  %6070 = icmp eq i32 %6069, -1
  br i1 %6070, label %6124, label %6071

6071:                                             ; preds = %6065
  br label %6072

6072:                                             ; preds = %6071
  br label %6073

6073:                                             ; preds = %6072
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6074 = call ptr @__errno_location() #12
  %6075 = load i32, ptr %6074, align 4, !tbaa !5
  store i32 %6075, ptr %129, align 4, !tbaa !5
  %6076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6077 = call i32 @s2n_print_stacktrace(ptr noundef %6076)
  %6078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6079 = trunc i8 %6078 to i1
  br i1 %6079, label %6080, label %6102

6080:                                             ; preds = %6073
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = call i32 @fileno(ptr noundef %6081) #11
  %6083 = call i32 @isatty(i32 noundef %6082) #11
  %6084 = icmp ne i32 %6083, 0
  br i1 %6084, label %6085, label %6102

6085:                                             ; preds = %6080
  %6086 = load i32, ptr %129, align 4, !tbaa !5
  %6087 = call ptr @__errno_location() #12
  store i32 %6086, ptr %6087, align 4, !tbaa !5
  %6088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6089 = load i32, ptr @test_count, align 4, !tbaa !5
  %6090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6091 = load i32, ptr %6090, align 4, !tbaa !5
  %6092 = call ptr @s2n_strerror(i32 noundef %6091, ptr noundef @.str.4)
  %6093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6094 = load i32, ptr %6093, align 4, !tbaa !5
  %6095 = call ptr @s2n_strerror_debug(i32 noundef %6094, ptr noundef @.str.4)
  %6096 = call ptr @__errno_location() #12
  %6097 = load i32, ptr %6096, align 4, !tbaa !5
  %6098 = call ptr @strerror(i32 noundef %6097) #11
  %6099 = call ptr @__errno_location() #12
  %6100 = load i32, ptr %6099, align 4, !tbaa !5
  %6101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6088, ptr noundef @.str.2, i32 noundef %6089, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6092, ptr noundef %6095, ptr noundef %6098, i32 noundef %6100) #11
  br label %6119

6102:                                             ; preds = %6080, %6073
  %6103 = load i32, ptr %129, align 4, !tbaa !5
  %6104 = call ptr @__errno_location() #12
  store i32 %6103, ptr %6104, align 4, !tbaa !5
  %6105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6106 = load i32, ptr @test_count, align 4, !tbaa !5
  %6107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6108 = load i32, ptr %6107, align 4, !tbaa !5
  %6109 = call ptr @s2n_strerror(i32 noundef %6108, ptr noundef @.str.4)
  %6110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6111 = load i32, ptr %6110, align 4, !tbaa !5
  %6112 = call ptr @s2n_strerror_debug(i32 noundef %6111, ptr noundef @.str.4)
  %6113 = call ptr @__errno_location() #12
  %6114 = load i32, ptr %6113, align 4, !tbaa !5
  %6115 = call ptr @strerror(i32 noundef %6114) #11
  %6116 = call ptr @__errno_location() #12
  %6117 = load i32, ptr %6116, align 4, !tbaa !5
  %6118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6105, ptr noundef @.str.5, i32 noundef %6106, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6109, ptr noundef %6112, ptr noundef %6115, i32 noundef %6117) #11
  br label %6119

6119:                                             ; preds = %6102, %6085
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6120

6120:                                             ; preds = %6119
  br label %6121

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

6122:                                             ; No predecessors!
  br label %6123

6123:                                             ; preds = %6122
  br label %6124

6124:                                             ; preds = %6123, %6065
  br label %6125

6125:                                             ; preds = %6124
  br label %6126

6126:                                             ; preds = %6125
  br label %6127

6127:                                             ; preds = %6126
  %6128 = load i32, ptr @test_count, align 4, !tbaa !5
  %6129 = add nsw i32 %6128, 1
  store i32 %6129, ptr @test_count, align 4, !tbaa !5
  %6130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6131 = load i32, ptr %6130, align 4, !tbaa !5
  %6132 = icmp eq i32 %6131, 402653193
  br i1 %6132, label %6186, label %6133

6133:                                             ; preds = %6127
  br label %6134

6134:                                             ; preds = %6133
  br label %6135

6135:                                             ; preds = %6134
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %6136 = call ptr @__errno_location() #12
  %6137 = load i32, ptr %6136, align 4, !tbaa !5
  store i32 %6137, ptr %130, align 4, !tbaa !5
  %6138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6139 = call i32 @s2n_print_stacktrace(ptr noundef %6138)
  %6140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6141 = trunc i8 %6140 to i1
  br i1 %6141, label %6142, label %6164

6142:                                             ; preds = %6135
  %6143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6144 = call i32 @fileno(ptr noundef %6143) #11
  %6145 = call i32 @isatty(i32 noundef %6144) #11
  %6146 = icmp ne i32 %6145, 0
  br i1 %6146, label %6147, label %6164

6147:                                             ; preds = %6142
  %6148 = load i32, ptr %130, align 4, !tbaa !5
  %6149 = call ptr @__errno_location() #12
  store i32 %6148, ptr %6149, align 4, !tbaa !5
  %6150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6151 = load i32, ptr @test_count, align 4, !tbaa !5
  %6152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6153 = load i32, ptr %6152, align 4, !tbaa !5
  %6154 = call ptr @s2n_strerror(i32 noundef %6153, ptr noundef @.str.4)
  %6155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6156 = load i32, ptr %6155, align 4, !tbaa !5
  %6157 = call ptr @s2n_strerror_debug(i32 noundef %6156, ptr noundef @.str.4)
  %6158 = call ptr @__errno_location() #12
  %6159 = load i32, ptr %6158, align 4, !tbaa !5
  %6160 = call ptr @strerror(i32 noundef %6159) #11
  %6161 = call ptr @__errno_location() #12
  %6162 = load i32, ptr %6161, align 4, !tbaa !5
  %6163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6150, ptr noundef @.str.2, i32 noundef %6151, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6154, ptr noundef %6157, ptr noundef %6160, i32 noundef %6162) #11
  br label %6181

6164:                                             ; preds = %6142, %6135
  %6165 = load i32, ptr %130, align 4, !tbaa !5
  %6166 = call ptr @__errno_location() #12
  store i32 %6165, ptr %6166, align 4, !tbaa !5
  %6167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6168 = load i32, ptr @test_count, align 4, !tbaa !5
  %6169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6170 = load i32, ptr %6169, align 4, !tbaa !5
  %6171 = call ptr @s2n_strerror(i32 noundef %6170, ptr noundef @.str.4)
  %6172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6173 = load i32, ptr %6172, align 4, !tbaa !5
  %6174 = call ptr @s2n_strerror_debug(i32 noundef %6173, ptr noundef @.str.4)
  %6175 = call ptr @__errno_location() #12
  %6176 = load i32, ptr %6175, align 4, !tbaa !5
  %6177 = call ptr @strerror(i32 noundef %6176) #11
  %6178 = call ptr @__errno_location() #12
  %6179 = load i32, ptr %6178, align 4, !tbaa !5
  %6180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6167, ptr noundef @.str.5, i32 noundef %6168, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6171, ptr noundef %6174, ptr noundef %6177, i32 noundef %6179) #11
  br label %6181

6181:                                             ; preds = %6164, %6147
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6182

6182:                                             ; preds = %6181
  br label %6183

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

6184:                                             ; No predecessors!
  br label %6185

6185:                                             ; preds = %6184
  br label %6186

6186:                                             ; preds = %6185, %6127
  br label %6187

6187:                                             ; preds = %6186
  br label %6188

6188:                                             ; preds = %6187
  br label %6189

6189:                                             ; preds = %6188
  %6190 = load i32, ptr @test_count, align 4, !tbaa !5
  %6191 = add nsw i32 %6190, 1
  store i32 %6191, ptr @test_count, align 4, !tbaa !5
  %6192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6193 = load i32, ptr %6192, align 4, !tbaa !5
  %6194 = call ptr @s2n_strerror_debug(i32 noundef %6193, ptr noundef @.str.4)
  %6195 = icmp eq ptr %6194, null
  br i1 %6195, label %6196, label %6249

6196:                                             ; preds = %6189
  br label %6197

6197:                                             ; preds = %6196
  br label %6198

6198:                                             ; preds = %6197
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %6199 = call ptr @__errno_location() #12
  %6200 = load i32, ptr %6199, align 4, !tbaa !5
  store i32 %6200, ptr %131, align 4, !tbaa !5
  %6201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6202 = call i32 @s2n_print_stacktrace(ptr noundef %6201)
  %6203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6204 = trunc i8 %6203 to i1
  br i1 %6204, label %6205, label %6227

6205:                                             ; preds = %6198
  %6206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6207 = call i32 @fileno(ptr noundef %6206) #11
  %6208 = call i32 @isatty(i32 noundef %6207) #11
  %6209 = icmp ne i32 %6208, 0
  br i1 %6209, label %6210, label %6227

6210:                                             ; preds = %6205
  %6211 = load i32, ptr %131, align 4, !tbaa !5
  %6212 = call ptr @__errno_location() #12
  store i32 %6211, ptr %6212, align 4, !tbaa !5
  %6213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6214 = load i32, ptr @test_count, align 4, !tbaa !5
  %6215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6216 = load i32, ptr %6215, align 4, !tbaa !5
  %6217 = call ptr @s2n_strerror(i32 noundef %6216, ptr noundef @.str.4)
  %6218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror_debug(i32 noundef %6219, ptr noundef @.str.4)
  %6221 = call ptr @__errno_location() #12
  %6222 = load i32, ptr %6221, align 4, !tbaa !5
  %6223 = call ptr @strerror(i32 noundef %6222) #11
  %6224 = call ptr @__errno_location() #12
  %6225 = load i32, ptr %6224, align 4, !tbaa !5
  %6226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6213, ptr noundef @.str.2, i32 noundef %6214, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6217, ptr noundef %6220, ptr noundef %6223, i32 noundef %6225) #11
  br label %6244

6227:                                             ; preds = %6205, %6198
  %6228 = load i32, ptr %131, align 4, !tbaa !5
  %6229 = call ptr @__errno_location() #12
  store i32 %6228, ptr %6229, align 4, !tbaa !5
  %6230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6231 = load i32, ptr @test_count, align 4, !tbaa !5
  %6232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6233 = load i32, ptr %6232, align 4, !tbaa !5
  %6234 = call ptr @s2n_strerror(i32 noundef %6233, ptr noundef @.str.4)
  %6235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6236 = load i32, ptr %6235, align 4, !tbaa !5
  %6237 = call ptr @s2n_strerror_debug(i32 noundef %6236, ptr noundef @.str.4)
  %6238 = call ptr @__errno_location() #12
  %6239 = load i32, ptr %6238, align 4, !tbaa !5
  %6240 = call ptr @strerror(i32 noundef %6239) #11
  %6241 = call ptr @__errno_location() #12
  %6242 = load i32, ptr %6241, align 4, !tbaa !5
  %6243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6230, ptr noundef @.str.5, i32 noundef %6231, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6234, ptr noundef %6237, ptr noundef %6240, i32 noundef %6242) #11
  br label %6244

6244:                                             ; preds = %6227, %6210
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %6245

6245:                                             ; preds = %6244
  br label %6246

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

6247:                                             ; No predecessors!
  br label %6248

6248:                                             ; preds = %6247
  br label %6249

6249:                                             ; preds = %6248, %6189
  br label %6250

6250:                                             ; preds = %6249
  br label %6251

6251:                                             ; preds = %6250
  br label %6252

6252:                                             ; preds = %6251
  br label %6253

6253:                                             ; preds = %6252
  br label %6254

6254:                                             ; preds = %6253
  %6255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6255, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6256 = call ptr @__errno_location() #12
  store i32 0, ptr %6256, align 4, !tbaa !5
  br label %6257

6257:                                             ; preds = %6254
  br label %6258

6258:                                             ; preds = %6257
  br label %6259

6259:                                             ; preds = %6258
  br label %6260

6260:                                             ; preds = %6259
  call void @llvm.lifetime.end.p0(i64 168, ptr %125) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %132) #11
  %6261 = call ptr @s2n_external_psk_new()
  store ptr %6261, ptr %132, align 8, !tbaa !9
  br label %6262

6262:                                             ; preds = %6260
  %6263 = load i32, ptr @test_count, align 4, !tbaa !5
  %6264 = add nsw i32 %6263, 1
  store i32 %6264, ptr @test_count, align 4, !tbaa !5
  %6265 = load ptr, ptr %132, align 8, !tbaa !9
  %6266 = getelementptr inbounds %struct.s2n_psk, ptr %6265, i32 0, i32 7
  %6267 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6266, i32 0, i32 4
  %6268 = getelementptr inbounds %struct.s2n_blob, ptr %6267, i32 0, i32 1
  %6269 = load i32, ptr %6268, align 8, !tbaa !57
  %6270 = icmp eq i32 %6269, 0
  br i1 %6270, label %6324, label %6271

6271:                                             ; preds = %6262
  br label %6272

6272:                                             ; preds = %6271
  br label %6273

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

6280:                                             ; preds = %6273
  %6281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6282 = call i32 @fileno(ptr noundef %6281) #11
  %6283 = call i32 @isatty(i32 noundef %6282) #11
  %6284 = icmp ne i32 %6283, 0
  br i1 %6284, label %6285, label %6302

6285:                                             ; preds = %6280
  %6286 = load i32, ptr %133, align 4, !tbaa !5
  %6287 = call ptr @__errno_location() #12
  store i32 %6286, ptr %6287, align 4, !tbaa !5
  %6288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6289 = load i32, ptr @test_count, align 4, !tbaa !5
  %6290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6291 = load i32, ptr %6290, align 4, !tbaa !5
  %6292 = call ptr @s2n_strerror(i32 noundef %6291, ptr noundef @.str.4)
  %6293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6294 = load i32, ptr %6293, align 4, !tbaa !5
  %6295 = call ptr @s2n_strerror_debug(i32 noundef %6294, ptr noundef @.str.4)
  %6296 = call ptr @__errno_location() #12
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  %6298 = call ptr @strerror(i32 noundef %6297) #11
  %6299 = call ptr @__errno_location() #12
  %6300 = load i32, ptr %6299, align 4, !tbaa !5
  %6301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6288, ptr noundef @.str.2, i32 noundef %6289, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 338, ptr noundef %6292, ptr noundef %6295, ptr noundef %6298, i32 noundef %6300) #11
  br label %6319

6302:                                             ; preds = %6280, %6273
  %6303 = load i32, ptr %133, align 4, !tbaa !5
  %6304 = call ptr @__errno_location() #12
  store i32 %6303, ptr %6304, align 4, !tbaa !5
  %6305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6306 = load i32, ptr @test_count, align 4, !tbaa !5
  %6307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6308 = load i32, ptr %6307, align 4, !tbaa !5
  %6309 = call ptr @s2n_strerror(i32 noundef %6308, ptr noundef @.str.4)
  %6310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6311 = load i32, ptr %6310, align 4, !tbaa !5
  %6312 = call ptr @s2n_strerror_debug(i32 noundef %6311, ptr noundef @.str.4)
  %6313 = call ptr @__errno_location() #12
  %6314 = load i32, ptr %6313, align 4, !tbaa !5
  %6315 = call ptr @strerror(i32 noundef %6314) #11
  %6316 = call ptr @__errno_location() #12
  %6317 = load i32, ptr %6316, align 4, !tbaa !5
  %6318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6305, ptr noundef @.str.5, i32 noundef %6306, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 338, ptr noundef %6309, ptr noundef %6312, ptr noundef %6315, i32 noundef %6317) #11
  br label %6319

6319:                                             ; preds = %6302, %6285
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6320

6320:                                             ; preds = %6319
  br label %6321

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

6322:                                             ; No predecessors!
  br label %6323

6323:                                             ; preds = %6322
  br label %6324

6324:                                             ; preds = %6323, %6262
  br label %6325

6325:                                             ; preds = %6324
  br label %6326

6326:                                             ; preds = %6325
  br label %6327

6327:                                             ; preds = %6326
  %6328 = load i32, ptr @test_count, align 4, !tbaa !5
  %6329 = add nsw i32 %6328, 1
  store i32 %6329, ptr @test_count, align 4, !tbaa !5
  %6330 = load ptr, ptr %132, align 8, !tbaa !9
  %6331 = getelementptr inbounds %struct.s2n_psk, ptr %6330, i32 0, i32 7
  %6332 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6331, i32 0, i32 4
  %6333 = getelementptr inbounds %struct.s2n_blob, ptr %6332, i32 0, i32 2
  %6334 = load i32, ptr %6333, align 4, !tbaa !58
  %6335 = icmp eq i32 %6334, 0
  br i1 %6335, label %6389, label %6336

6336:                                             ; preds = %6327
  br label %6337

6337:                                             ; preds = %6336
  br label %6338

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

6345:                                             ; preds = %6338
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = call i32 @fileno(ptr noundef %6346) #11
  %6348 = call i32 @isatty(i32 noundef %6347) #11
  %6349 = icmp ne i32 %6348, 0
  br i1 %6349, label %6350, label %6367

6350:                                             ; preds = %6345
  %6351 = load i32, ptr %134, align 4, !tbaa !5
  %6352 = call ptr @__errno_location() #12
  store i32 %6351, ptr %6352, align 4, !tbaa !5
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = load i32, ptr @test_count, align 4, !tbaa !5
  %6355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6356 = load i32, ptr %6355, align 4, !tbaa !5
  %6357 = call ptr @s2n_strerror(i32 noundef %6356, ptr noundef @.str.4)
  %6358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  %6360 = call ptr @s2n_strerror_debug(i32 noundef %6359, ptr noundef @.str.4)
  %6361 = call ptr @__errno_location() #12
  %6362 = load i32, ptr %6361, align 4, !tbaa !5
  %6363 = call ptr @strerror(i32 noundef %6362) #11
  %6364 = call ptr @__errno_location() #12
  %6365 = load i32, ptr %6364, align 4, !tbaa !5
  %6366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6353, ptr noundef @.str.2, i32 noundef %6354, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 339, ptr noundef %6357, ptr noundef %6360, ptr noundef %6363, i32 noundef %6365) #11
  br label %6384

6367:                                             ; preds = %6345, %6338
  %6368 = load i32, ptr %134, align 4, !tbaa !5
  %6369 = call ptr @__errno_location() #12
  store i32 %6368, ptr %6369, align 4, !tbaa !5
  %6370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6371 = load i32, ptr @test_count, align 4, !tbaa !5
  %6372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6373 = load i32, ptr %6372, align 4, !tbaa !5
  %6374 = call ptr @s2n_strerror(i32 noundef %6373, ptr noundef @.str.4)
  %6375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6376 = load i32, ptr %6375, align 4, !tbaa !5
  %6377 = call ptr @s2n_strerror_debug(i32 noundef %6376, ptr noundef @.str.4)
  %6378 = call ptr @__errno_location() #12
  %6379 = load i32, ptr %6378, align 4, !tbaa !5
  %6380 = call ptr @strerror(i32 noundef %6379) #11
  %6381 = call ptr @__errno_location() #12
  %6382 = load i32, ptr %6381, align 4, !tbaa !5
  %6383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6370, ptr noundef @.str.5, i32 noundef %6371, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 339, ptr noundef %6374, ptr noundef %6377, ptr noundef %6380, i32 noundef %6382) #11
  br label %6384

6384:                                             ; preds = %6367, %6350
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %6385

6385:                                             ; preds = %6384
  br label %6386

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

6387:                                             ; No predecessors!
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

6389:                                             ; preds = %6388, %6327
  br label %6390

6390:                                             ; preds = %6389
  br label %6391

6391:                                             ; preds = %6390
  br label %6392

6392:                                             ; preds = %6391
  %6393 = load i32, ptr @test_count, align 4, !tbaa !5
  %6394 = add nsw i32 %6393, 1
  store i32 %6394, ptr @test_count, align 4, !tbaa !5
  %6395 = load ptr, ptr %132, align 8, !tbaa !9
  %6396 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %6397 = call i32 @s2n_psk_set_early_data_context(ptr noundef %6395, ptr noundef %6396, i16 noundef zeroext 0)
  %6398 = icmp eq i32 %6397, -1
  br i1 %6398, label %6399, label %6452

6399:                                             ; preds = %6392
  br label %6400

6400:                                             ; preds = %6399
  br label %6401

6401:                                             ; preds = %6400
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %6402 = call ptr @__errno_location() #12
  %6403 = load i32, ptr %6402, align 4, !tbaa !5
  store i32 %6403, ptr %135, align 4, !tbaa !5
  %6404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6405 = call i32 @s2n_print_stacktrace(ptr noundef %6404)
  %6406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6407 = trunc i8 %6406 to i1
  br i1 %6407, label %6408, label %6430

6408:                                             ; preds = %6401
  %6409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6410 = call i32 @fileno(ptr noundef %6409) #11
  %6411 = call i32 @isatty(i32 noundef %6410) #11
  %6412 = icmp ne i32 %6411, 0
  br i1 %6412, label %6413, label %6430

6413:                                             ; preds = %6408
  %6414 = load i32, ptr %135, align 4, !tbaa !5
  %6415 = call ptr @__errno_location() #12
  store i32 %6414, ptr %6415, align 4, !tbaa !5
  %6416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6417 = load i32, ptr @test_count, align 4, !tbaa !5
  %6418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6419 = load i32, ptr %6418, align 4, !tbaa !5
  %6420 = call ptr @s2n_strerror(i32 noundef %6419, ptr noundef @.str.4)
  %6421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  %6423 = call ptr @s2n_strerror_debug(i32 noundef %6422, ptr noundef @.str.4)
  %6424 = call ptr @__errno_location() #12
  %6425 = load i32, ptr %6424, align 4, !tbaa !5
  %6426 = call ptr @strerror(i32 noundef %6425) #11
  %6427 = call ptr @__errno_location() #12
  %6428 = load i32, ptr %6427, align 4, !tbaa !5
  %6429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6416, ptr noundef @.str.2, i32 noundef %6417, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6420, ptr noundef %6423, ptr noundef %6426, i32 noundef %6428) #11
  br label %6447

6430:                                             ; preds = %6408, %6401
  %6431 = load i32, ptr %135, align 4, !tbaa !5
  %6432 = call ptr @__errno_location() #12
  store i32 %6431, ptr %6432, align 4, !tbaa !5
  %6433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6434 = load i32, ptr @test_count, align 4, !tbaa !5
  %6435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6436 = load i32, ptr %6435, align 4, !tbaa !5
  %6437 = call ptr @s2n_strerror(i32 noundef %6436, ptr noundef @.str.4)
  %6438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6439 = load i32, ptr %6438, align 4, !tbaa !5
  %6440 = call ptr @s2n_strerror_debug(i32 noundef %6439, ptr noundef @.str.4)
  %6441 = call ptr @__errno_location() #12
  %6442 = load i32, ptr %6441, align 4, !tbaa !5
  %6443 = call ptr @strerror(i32 noundef %6442) #11
  %6444 = call ptr @__errno_location() #12
  %6445 = load i32, ptr %6444, align 4, !tbaa !5
  %6446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6433, ptr noundef @.str.5, i32 noundef %6434, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6437, ptr noundef %6440, ptr noundef %6443, i32 noundef %6445) #11
  br label %6447

6447:                                             ; preds = %6430, %6413
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %6448

6448:                                             ; preds = %6447
  br label %6449

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

6450:                                             ; No predecessors!
  br label %6451

6451:                                             ; preds = %6450
  br label %6452

6452:                                             ; preds = %6451, %6392
  br label %6453

6453:                                             ; preds = %6452
  br label %6454

6454:                                             ; preds = %6453
  br label %6455

6455:                                             ; preds = %6454
  %6456 = load i32, ptr @test_count, align 4, !tbaa !5
  %6457 = add nsw i32 %6456, 1
  store i32 %6457, ptr @test_count, align 4, !tbaa !5
  %6458 = load ptr, ptr %132, align 8, !tbaa !9
  %6459 = getelementptr inbounds %struct.s2n_psk, ptr %6458, i32 0, i32 7
  %6460 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6459, i32 0, i32 4
  %6461 = getelementptr inbounds %struct.s2n_blob, ptr %6460, i32 0, i32 1
  %6462 = load i32, ptr %6461, align 8, !tbaa !57
  %6463 = icmp eq i32 %6462, 0
  br i1 %6463, label %6517, label %6464

6464:                                             ; preds = %6455
  br label %6465

6465:                                             ; preds = %6464
  br label %6466

6466:                                             ; preds = %6465
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %6467 = call ptr @__errno_location() #12
  %6468 = load i32, ptr %6467, align 4, !tbaa !5
  store i32 %6468, ptr %136, 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) #11
  %6476 = call i32 @isatty(i32 noundef %6475) #11
  %6477 = icmp ne i32 %6476, 0
  br i1 %6477, label %6478, label %6495

6478:                                             ; preds = %6473
  %6479 = load i32, ptr %136, align 4, !tbaa !5
  %6480 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %6489 = call ptr @__errno_location() #12
  %6490 = load i32, ptr %6489, align 4, !tbaa !5
  %6491 = call ptr @strerror(i32 noundef %6490) #11
  %6492 = call ptr @__errno_location() #12
  %6493 = load i32, ptr %6492, align 4, !tbaa !5
  %6494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6481, ptr noundef @.str.2, i32 noundef %6482, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6485, ptr noundef %6488, ptr noundef %6491, i32 noundef %6493) #11
  br label %6512

6495:                                             ; preds = %6473, %6466
  %6496 = load i32, ptr %136, align 4, !tbaa !5
  %6497 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %6506 = call ptr @__errno_location() #12
  %6507 = load i32, ptr %6506, align 4, !tbaa !5
  %6508 = call ptr @strerror(i32 noundef %6507) #11
  %6509 = call ptr @__errno_location() #12
  %6510 = load i32, ptr %6509, align 4, !tbaa !5
  %6511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6498, ptr noundef @.str.5, i32 noundef %6499, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6502, ptr noundef %6505, ptr noundef %6508, i32 noundef %6510) #11
  br label %6512

6512:                                             ; preds = %6495, %6478
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %6513

6513:                                             ; preds = %6512
  br label %6514

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

6515:                                             ; No predecessors!
  br label %6516

6516:                                             ; preds = %6515
  br label %6517

6517:                                             ; preds = %6516, %6455
  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 %132, align 8, !tbaa !9
  %6524 = getelementptr inbounds %struct.s2n_psk, ptr %6523, i32 0, i32 7
  %6525 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6524, i32 0, i32 4
  %6526 = getelementptr inbounds %struct.s2n_blob, ptr %6525, i32 0, i32 2
  %6527 = load i32, ptr %6526, align 4, !tbaa !58
  %6528 = icmp eq i32 %6527, 0
  br i1 %6528, label %6582, label %6529

6529:                                             ; preds = %6520
  br label %6530

6530:                                             ; preds = %6529
  br label %6531

6531:                                             ; preds = %6530
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %6532 = call ptr @__errno_location() #12
  %6533 = load i32, ptr %6532, align 4, !tbaa !5
  store i32 %6533, ptr %137, align 4, !tbaa !5
  %6534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6535 = call i32 @s2n_print_stacktrace(ptr noundef %6534)
  %6536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6537 = trunc i8 %6536 to i1
  br i1 %6537, label %6538, label %6560

6538:                                             ; preds = %6531
  %6539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6540 = call i32 @fileno(ptr noundef %6539) #11
  %6541 = call i32 @isatty(i32 noundef %6540) #11
  %6542 = icmp ne i32 %6541, 0
  br i1 %6542, label %6543, label %6560

6543:                                             ; preds = %6538
  %6544 = load i32, ptr %137, align 4, !tbaa !5
  %6545 = call ptr @__errno_location() #12
  store i32 %6544, ptr %6545, align 4, !tbaa !5
  %6546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6547 = load i32, ptr @test_count, align 4, !tbaa !5
  %6548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6549 = load i32, ptr %6548, align 4, !tbaa !5
  %6550 = call ptr @s2n_strerror(i32 noundef %6549, ptr noundef @.str.4)
  %6551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6552 = load i32, ptr %6551, align 4, !tbaa !5
  %6553 = call ptr @s2n_strerror_debug(i32 noundef %6552, ptr noundef @.str.4)
  %6554 = call ptr @__errno_location() #12
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  %6556 = call ptr @strerror(i32 noundef %6555) #11
  %6557 = call ptr @__errno_location() #12
  %6558 = load i32, ptr %6557, align 4, !tbaa !5
  %6559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6546, ptr noundef @.str.2, i32 noundef %6547, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6550, ptr noundef %6553, ptr noundef %6556, i32 noundef %6558) #11
  br label %6577

6560:                                             ; preds = %6538, %6531
  %6561 = load i32, ptr %137, align 4, !tbaa !5
  %6562 = call ptr @__errno_location() #12
  store i32 %6561, ptr %6562, align 4, !tbaa !5
  %6563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6564 = load i32, ptr @test_count, align 4, !tbaa !5
  %6565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6566 = load i32, ptr %6565, align 4, !tbaa !5
  %6567 = call ptr @s2n_strerror(i32 noundef %6566, ptr noundef @.str.4)
  %6568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6569 = load i32, ptr %6568, align 4, !tbaa !5
  %6570 = call ptr @s2n_strerror_debug(i32 noundef %6569, ptr noundef @.str.4)
  %6571 = call ptr @__errno_location() #12
  %6572 = load i32, ptr %6571, align 4, !tbaa !5
  %6573 = call ptr @strerror(i32 noundef %6572) #11
  %6574 = call ptr @__errno_location() #12
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  %6576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6563, ptr noundef @.str.5, i32 noundef %6564, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6567, ptr noundef %6570, ptr noundef %6573, i32 noundef %6575) #11
  br label %6577

6577:                                             ; preds = %6560, %6543
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %6578

6578:                                             ; preds = %6577
  br label %6579

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

6580:                                             ; No predecessors!
  br label %6581

6581:                                             ; preds = %6580
  br label %6582

6582:                                             ; preds = %6581, %6520
  br label %6583

6583:                                             ; preds = %6582
  br label %6584

6584:                                             ; preds = %6583
  br label %6585

6585:                                             ; preds = %6584
  %6586 = load i32, ptr @test_count, align 4, !tbaa !5
  %6587 = add nsw i32 %6586, 1
  store i32 %6587, ptr @test_count, align 4, !tbaa !5
  %6588 = load ptr, ptr %132, align 8, !tbaa !9
  %6589 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %6590 = call i32 @s2n_psk_set_early_data_context(ptr noundef %6588, ptr noundef %6589, i16 noundef zeroext 11)
  %6591 = icmp eq i32 %6590, -1
  br i1 %6591, label %6592, label %6645

6592:                                             ; preds = %6585
  br label %6593

6593:                                             ; preds = %6592
  br label %6594

6594:                                             ; preds = %6593
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %6595 = call ptr @__errno_location() #12
  %6596 = load i32, ptr %6595, align 4, !tbaa !5
  store i32 %6596, ptr %138, align 4, !tbaa !5
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = call i32 @s2n_print_stacktrace(ptr noundef %6597)
  %6599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6600 = trunc i8 %6599 to i1
  br i1 %6600, label %6601, label %6623

6601:                                             ; preds = %6594
  %6602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6603 = call i32 @fileno(ptr noundef %6602) #11
  %6604 = call i32 @isatty(i32 noundef %6603) #11
  %6605 = icmp ne i32 %6604, 0
  br i1 %6605, label %6606, label %6623

6606:                                             ; preds = %6601
  %6607 = load i32, ptr %138, align 4, !tbaa !5
  %6608 = call ptr @__errno_location() #12
  store i32 %6607, ptr %6608, align 4, !tbaa !5
  %6609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6610 = load i32, ptr @test_count, align 4, !tbaa !5
  %6611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6612 = load i32, ptr %6611, align 4, !tbaa !5
  %6613 = call ptr @s2n_strerror(i32 noundef %6612, ptr noundef @.str.4)
  %6614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6615 = load i32, ptr %6614, align 4, !tbaa !5
  %6616 = call ptr @s2n_strerror_debug(i32 noundef %6615, ptr noundef @.str.4)
  %6617 = call ptr @__errno_location() #12
  %6618 = load i32, ptr %6617, align 4, !tbaa !5
  %6619 = call ptr @strerror(i32 noundef %6618) #11
  %6620 = call ptr @__errno_location() #12
  %6621 = load i32, ptr %6620, align 4, !tbaa !5
  %6622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6609, ptr noundef @.str.2, i32 noundef %6610, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 347, ptr noundef %6613, ptr noundef %6616, ptr noundef %6619, i32 noundef %6621) #11
  br label %6640

6623:                                             ; preds = %6601, %6594
  %6624 = load i32, ptr %138, align 4, !tbaa !5
  %6625 = call ptr @__errno_location() #12
  store i32 %6624, ptr %6625, align 4, !tbaa !5
  %6626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6627 = load i32, ptr @test_count, align 4, !tbaa !5
  %6628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6629 = load i32, ptr %6628, align 4, !tbaa !5
  %6630 = call ptr @s2n_strerror(i32 noundef %6629, ptr noundef @.str.4)
  %6631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  %6633 = call ptr @s2n_strerror_debug(i32 noundef %6632, ptr noundef @.str.4)
  %6634 = call ptr @__errno_location() #12
  %6635 = load i32, ptr %6634, align 4, !tbaa !5
  %6636 = call ptr @strerror(i32 noundef %6635) #11
  %6637 = call ptr @__errno_location() #12
  %6638 = load i32, ptr %6637, align 4, !tbaa !5
  %6639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6626, ptr noundef @.str.5, i32 noundef %6627, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 347, ptr noundef %6630, ptr noundef %6633, ptr noundef %6636, i32 noundef %6638) #11
  br label %6640

6640:                                             ; preds = %6623, %6606
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %6641

6641:                                             ; preds = %6640
  br label %6642

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

6643:                                             ; No predecessors!
  br label %6644

6644:                                             ; preds = %6643
  br label %6645

6645:                                             ; preds = %6644, %6585
  br label %6646

6646:                                             ; preds = %6645
  br label %6647

6647:                                             ; preds = %6646
  br label %6648

6648:                                             ; preds = %6647
  %6649 = load i32, ptr @test_count, align 4, !tbaa !5
  %6650 = add nsw i32 %6649, 1
  store i32 %6650, ptr @test_count, align 4, !tbaa !5
  %6651 = load ptr, ptr %132, align 8, !tbaa !9
  %6652 = getelementptr inbounds %struct.s2n_psk, ptr %6651, i32 0, i32 7
  %6653 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6652, i32 0, i32 4
  %6654 = getelementptr inbounds %struct.s2n_blob, ptr %6653, i32 0, i32 1
  %6655 = load i32, ptr %6654, align 8, !tbaa !57
  %6656 = zext i32 %6655 to i64
  %6657 = icmp eq i64 %6656, 11
  br i1 %6657, label %6711, label %6658

6658:                                             ; preds = %6648
  br label %6659

6659:                                             ; preds = %6658
  br label %6660

6660:                                             ; preds = %6659
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %6661 = call ptr @__errno_location() #12
  %6662 = load i32, ptr %6661, align 4, !tbaa !5
  store i32 %6662, ptr %139, align 4, !tbaa !5
  %6663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6664 = call i32 @s2n_print_stacktrace(ptr noundef %6663)
  %6665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6666 = trunc i8 %6665 to i1
  br i1 %6666, label %6667, label %6689

6667:                                             ; preds = %6660
  %6668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6669 = call i32 @fileno(ptr noundef %6668) #11
  %6670 = call i32 @isatty(i32 noundef %6669) #11
  %6671 = icmp ne i32 %6670, 0
  br i1 %6671, label %6672, label %6689

6672:                                             ; preds = %6667
  %6673 = load i32, ptr %139, align 4, !tbaa !5
  %6674 = call ptr @__errno_location() #12
  store i32 %6673, ptr %6674, align 4, !tbaa !5
  %6675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6676 = load i32, ptr @test_count, align 4, !tbaa !5
  %6677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6678 = load i32, ptr %6677, align 4, !tbaa !5
  %6679 = call ptr @s2n_strerror(i32 noundef %6678, ptr noundef @.str.4)
  %6680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6681 = load i32, ptr %6680, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror_debug(i32 noundef %6681, ptr noundef @.str.4)
  %6683 = call ptr @__errno_location() #12
  %6684 = load i32, ptr %6683, align 4, !tbaa !5
  %6685 = call ptr @strerror(i32 noundef %6684) #11
  %6686 = call ptr @__errno_location() #12
  %6687 = load i32, ptr %6686, align 4, !tbaa !5
  %6688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6675, ptr noundef @.str.2, i32 noundef %6676, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 348, ptr noundef %6679, ptr noundef %6682, ptr noundef %6685, i32 noundef %6687) #11
  br label %6706

6689:                                             ; preds = %6667, %6660
  %6690 = load i32, ptr %139, align 4, !tbaa !5
  %6691 = call ptr @__errno_location() #12
  store i32 %6690, ptr %6691, align 4, !tbaa !5
  %6692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6693 = load i32, ptr @test_count, align 4, !tbaa !5
  %6694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6695 = load i32, ptr %6694, align 4, !tbaa !5
  %6696 = call ptr @s2n_strerror(i32 noundef %6695, ptr noundef @.str.4)
  %6697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6698 = load i32, ptr %6697, align 4, !tbaa !5
  %6699 = call ptr @s2n_strerror_debug(i32 noundef %6698, ptr noundef @.str.4)
  %6700 = call ptr @__errno_location() #12
  %6701 = load i32, ptr %6700, align 4, !tbaa !5
  %6702 = call ptr @strerror(i32 noundef %6701) #11
  %6703 = call ptr @__errno_location() #12
  %6704 = load i32, ptr %6703, align 4, !tbaa !5
  %6705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6692, ptr noundef @.str.5, i32 noundef %6693, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 348, ptr noundef %6696, ptr noundef %6699, ptr noundef %6702, i32 noundef %6704) #11
  br label %6706

6706:                                             ; preds = %6689, %6672
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %6707

6707:                                             ; preds = %6706
  br label %6708

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

6709:                                             ; No predecessors!
  br label %6710

6710:                                             ; preds = %6709
  br label %6711

6711:                                             ; preds = %6710, %6648
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

6713:                                             ; preds = %6712
  br label %6714

6714:                                             ; preds = %6713
  br label %6715

6715:                                             ; preds = %6714
  %6716 = load i32, ptr @test_count, align 4, !tbaa !5
  %6717 = add nsw i32 %6716, 1
  store i32 %6717, ptr @test_count, align 4, !tbaa !5
  %6718 = load ptr, ptr %132, align 8, !tbaa !9
  %6719 = getelementptr inbounds %struct.s2n_psk, ptr %6718, i32 0, i32 7
  %6720 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6719, i32 0, i32 4
  %6721 = getelementptr inbounds %struct.s2n_blob, ptr %6720, i32 0, i32 0
  %6722 = load ptr, ptr %6721, align 8, !tbaa !59
  %6723 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %6724 = call i32 @memcmp(ptr noundef %6722, ptr noundef %6723, i64 noundef 11) #14
  %6725 = icmp eq i32 %6724, 0
  br i1 %6725, label %6779, label %6726

6726:                                             ; preds = %6715
  br label %6727

6727:                                             ; preds = %6726
  br label %6728

6728:                                             ; preds = %6727
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %6729 = call ptr @__errno_location() #12
  %6730 = load i32, ptr %6729, align 4, !tbaa !5
  store i32 %6730, ptr %140, align 4, !tbaa !5
  %6731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6732 = call i32 @s2n_print_stacktrace(ptr noundef %6731)
  %6733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6734 = trunc i8 %6733 to i1
  br i1 %6734, label %6735, label %6757

6735:                                             ; preds = %6728
  %6736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6737 = call i32 @fileno(ptr noundef %6736) #11
  %6738 = call i32 @isatty(i32 noundef %6737) #11
  %6739 = icmp ne i32 %6738, 0
  br i1 %6739, label %6740, label %6757

6740:                                             ; preds = %6735
  %6741 = load i32, ptr %140, align 4, !tbaa !5
  %6742 = call ptr @__errno_location() #12
  store i32 %6741, ptr %6742, align 4, !tbaa !5
  %6743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6744 = load i32, ptr @test_count, align 4, !tbaa !5
  %6745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6746 = load i32, ptr %6745, align 4, !tbaa !5
  %6747 = call ptr @s2n_strerror(i32 noundef %6746, ptr noundef @.str.4)
  %6748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6749 = load i32, ptr %6748, align 4, !tbaa !5
  %6750 = call ptr @s2n_strerror_debug(i32 noundef %6749, ptr noundef @.str.4)
  %6751 = call ptr @__errno_location() #12
  %6752 = load i32, ptr %6751, align 4, !tbaa !5
  %6753 = call ptr @strerror(i32 noundef %6752) #11
  %6754 = call ptr @__errno_location() #12
  %6755 = load i32, ptr %6754, align 4, !tbaa !5
  %6756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6743, ptr noundef @.str.2, i32 noundef %6744, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 349, ptr noundef %6747, ptr noundef %6750, ptr noundef %6753, i32 noundef %6755) #11
  br label %6774

6757:                                             ; preds = %6735, %6728
  %6758 = load i32, ptr %140, align 4, !tbaa !5
  %6759 = call ptr @__errno_location() #12
  store i32 %6758, ptr %6759, align 4, !tbaa !5
  %6760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6761 = load i32, ptr @test_count, align 4, !tbaa !5
  %6762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6763 = load i32, ptr %6762, align 4, !tbaa !5
  %6764 = call ptr @s2n_strerror(i32 noundef %6763, ptr noundef @.str.4)
  %6765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6766 = load i32, ptr %6765, align 4, !tbaa !5
  %6767 = call ptr @s2n_strerror_debug(i32 noundef %6766, ptr noundef @.str.4)
  %6768 = call ptr @__errno_location() #12
  %6769 = load i32, ptr %6768, align 4, !tbaa !5
  %6770 = call ptr @strerror(i32 noundef %6769) #11
  %6771 = call ptr @__errno_location() #12
  %6772 = load i32, ptr %6771, align 4, !tbaa !5
  %6773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6760, ptr noundef @.str.5, i32 noundef %6761, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 349, ptr noundef %6764, ptr noundef %6767, ptr noundef %6770, i32 noundef %6772) #11
  br label %6774

6774:                                             ; preds = %6757, %6740
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6775

6775:                                             ; preds = %6774
  br label %6776

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

6777:                                             ; No predecessors!
  br label %6778

6778:                                             ; preds = %6777
  br label %6779

6779:                                             ; preds = %6778, %6715
  br label %6780

6780:                                             ; preds = %6779
  br label %6781

6781:                                             ; preds = %6780
  br label %6782

6782:                                             ; preds = %6781
  br label %6783

6783:                                             ; preds = %6782
  br label %6784

6784:                                             ; preds = %6783
  %6785 = load i32, ptr @test_count, align 4, !tbaa !5
  %6786 = add nsw i32 %6785, 1
  store i32 %6786, ptr @test_count, align 4, !tbaa !5
  %6787 = load ptr, ptr %132, align 8, !tbaa !9
  %6788 = getelementptr inbounds [15 x i8], ptr %10, i64 0, i64 0
  %6789 = call i32 @s2n_psk_set_early_data_context(ptr noundef %6787, ptr noundef %6788, i16 noundef zeroext 15)
  %6790 = icmp eq i32 %6789, -1
  br i1 %6790, label %6791, label %6844

6791:                                             ; preds = %6784
  br label %6792

6792:                                             ; preds = %6791
  br label %6793

6793:                                             ; preds = %6792
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %6794 = call ptr @__errno_location() #12
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  store i32 %6795, ptr %141, align 4, !tbaa !5
  %6796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6797 = call i32 @s2n_print_stacktrace(ptr noundef %6796)
  %6798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6799 = trunc i8 %6798 to i1
  br i1 %6799, label %6800, label %6822

6800:                                             ; preds = %6793
  %6801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6802 = call i32 @fileno(ptr noundef %6801) #11
  %6803 = call i32 @isatty(i32 noundef %6802) #11
  %6804 = icmp ne i32 %6803, 0
  br i1 %6804, label %6805, label %6822

6805:                                             ; preds = %6800
  %6806 = load i32, ptr %141, align 4, !tbaa !5
  %6807 = call ptr @__errno_location() #12
  store i32 %6806, ptr %6807, align 4, !tbaa !5
  %6808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6809 = load i32, ptr @test_count, align 4, !tbaa !5
  %6810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6811 = load i32, ptr %6810, align 4, !tbaa !5
  %6812 = call ptr @s2n_strerror(i32 noundef %6811, ptr noundef @.str.4)
  %6813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6814 = load i32, ptr %6813, align 4, !tbaa !5
  %6815 = call ptr @s2n_strerror_debug(i32 noundef %6814, ptr noundef @.str.4)
  %6816 = call ptr @__errno_location() #12
  %6817 = load i32, ptr %6816, align 4, !tbaa !5
  %6818 = call ptr @strerror(i32 noundef %6817) #11
  %6819 = call ptr @__errno_location() #12
  %6820 = load i32, ptr %6819, align 4, !tbaa !5
  %6821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6808, ptr noundef @.str.2, i32 noundef %6809, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 352, ptr noundef %6812, ptr noundef %6815, ptr noundef %6818, i32 noundef %6820) #11
  br label %6839

6822:                                             ; preds = %6800, %6793
  %6823 = load i32, ptr %141, align 4, !tbaa !5
  %6824 = call ptr @__errno_location() #12
  store i32 %6823, ptr %6824, align 4, !tbaa !5
  %6825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6826 = load i32, ptr @test_count, align 4, !tbaa !5
  %6827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6828 = load i32, ptr %6827, align 4, !tbaa !5
  %6829 = call ptr @s2n_strerror(i32 noundef %6828, ptr noundef @.str.4)
  %6830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6831 = load i32, ptr %6830, align 4, !tbaa !5
  %6832 = call ptr @s2n_strerror_debug(i32 noundef %6831, ptr noundef @.str.4)
  %6833 = call ptr @__errno_location() #12
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  %6835 = call ptr @strerror(i32 noundef %6834) #11
  %6836 = call ptr @__errno_location() #12
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6825, ptr noundef @.str.5, i32 noundef %6826, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 352, ptr noundef %6829, ptr noundef %6832, ptr noundef %6835, i32 noundef %6837) #11
  br label %6839

6839:                                             ; preds = %6822, %6805
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6840

6840:                                             ; preds = %6839
  br label %6841

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

6842:                                             ; No predecessors!
  br label %6843

6843:                                             ; preds = %6842
  br label %6844

6844:                                             ; preds = %6843, %6784
  br label %6845

6845:                                             ; preds = %6844
  br label %6846

6846:                                             ; preds = %6845
  br label %6847

6847:                                             ; preds = %6846
  %6848 = load i32, ptr @test_count, align 4, !tbaa !5
  %6849 = add nsw i32 %6848, 1
  store i32 %6849, ptr @test_count, align 4, !tbaa !5
  %6850 = load ptr, ptr %132, align 8, !tbaa !9
  %6851 = getelementptr inbounds %struct.s2n_psk, ptr %6850, i32 0, i32 7
  %6852 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6851, i32 0, i32 4
  %6853 = getelementptr inbounds %struct.s2n_blob, ptr %6852, i32 0, i32 1
  %6854 = load i32, ptr %6853, align 8, !tbaa !57
  %6855 = zext i32 %6854 to i64
  %6856 = icmp eq i64 %6855, 15
  br i1 %6856, label %6910, label %6857

6857:                                             ; preds = %6847
  br label %6858

6858:                                             ; preds = %6857
  br label %6859

6859:                                             ; preds = %6858
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %6860 = call ptr @__errno_location() #12
  %6861 = load i32, ptr %6860, align 4, !tbaa !5
  store i32 %6861, ptr %142, align 4, !tbaa !5
  %6862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6863 = call i32 @s2n_print_stacktrace(ptr noundef %6862)
  %6864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6865 = trunc i8 %6864 to i1
  br i1 %6865, label %6866, label %6888

6866:                                             ; preds = %6859
  %6867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6868 = call i32 @fileno(ptr noundef %6867) #11
  %6869 = call i32 @isatty(i32 noundef %6868) #11
  %6870 = icmp ne i32 %6869, 0
  br i1 %6870, label %6871, label %6888

6871:                                             ; preds = %6866
  %6872 = load i32, ptr %142, align 4, !tbaa !5
  %6873 = call ptr @__errno_location() #12
  store i32 %6872, ptr %6873, align 4, !tbaa !5
  %6874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6875 = load i32, ptr @test_count, align 4, !tbaa !5
  %6876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call ptr @s2n_strerror(i32 noundef %6877, ptr noundef @.str.4)
  %6879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6880 = load i32, ptr %6879, align 4, !tbaa !5
  %6881 = call ptr @s2n_strerror_debug(i32 noundef %6880, ptr noundef @.str.4)
  %6882 = call ptr @__errno_location() #12
  %6883 = load i32, ptr %6882, align 4, !tbaa !5
  %6884 = call ptr @strerror(i32 noundef %6883) #11
  %6885 = call ptr @__errno_location() #12
  %6886 = load i32, ptr %6885, align 4, !tbaa !5
  %6887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6874, ptr noundef @.str.2, i32 noundef %6875, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 353, ptr noundef %6878, ptr noundef %6881, ptr noundef %6884, i32 noundef %6886) #11
  br label %6905

6888:                                             ; preds = %6866, %6859
  %6889 = load i32, ptr %142, align 4, !tbaa !5
  %6890 = call ptr @__errno_location() #12
  store i32 %6889, ptr %6890, align 4, !tbaa !5
  %6891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6892 = load i32, ptr @test_count, align 4, !tbaa !5
  %6893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6894 = load i32, ptr %6893, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror(i32 noundef %6894, ptr noundef @.str.4)
  %6896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6897 = load i32, ptr %6896, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror_debug(i32 noundef %6897, ptr noundef @.str.4)
  %6899 = call ptr @__errno_location() #12
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call ptr @strerror(i32 noundef %6900) #11
  %6902 = call ptr @__errno_location() #12
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6891, ptr noundef @.str.5, i32 noundef %6892, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 353, ptr noundef %6895, ptr noundef %6898, ptr noundef %6901, i32 noundef %6903) #11
  br label %6905

6905:                                             ; preds = %6888, %6871
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %6906

6906:                                             ; preds = %6905
  br label %6907

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

6908:                                             ; No predecessors!
  br label %6909

6909:                                             ; preds = %6908
  br label %6910

6910:                                             ; preds = %6909, %6847
  br label %6911

6911:                                             ; preds = %6910
  br label %6912

6912:                                             ; preds = %6911
  br label %6913

6913:                                             ; preds = %6912
  br label %6914

6914:                                             ; preds = %6913
  %6915 = load i32, ptr @test_count, align 4, !tbaa !5
  %6916 = add nsw i32 %6915, 1
  store i32 %6916, ptr @test_count, align 4, !tbaa !5
  %6917 = load ptr, ptr %132, align 8, !tbaa !9
  %6918 = getelementptr inbounds %struct.s2n_psk, ptr %6917, i32 0, i32 7
  %6919 = getelementptr inbounds %struct.s2n_early_data_config, ptr %6918, i32 0, i32 4
  %6920 = getelementptr inbounds %struct.s2n_blob, ptr %6919, i32 0, i32 0
  %6921 = load ptr, ptr %6920, align 8, !tbaa !59
  %6922 = getelementptr inbounds [15 x i8], ptr %10, i64 0, i64 0
  %6923 = call i32 @memcmp(ptr noundef %6921, ptr noundef %6922, i64 noundef 15) #14
  %6924 = icmp eq i32 %6923, 0
  br i1 %6924, label %6978, label %6925

6925:                                             ; preds = %6914
  br label %6926

6926:                                             ; preds = %6925
  br label %6927

6927:                                             ; preds = %6926
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %6928 = call ptr @__errno_location() #12
  %6929 = load i32, ptr %6928, align 4, !tbaa !5
  store i32 %6929, ptr %143, align 4, !tbaa !5
  %6930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6931 = call i32 @s2n_print_stacktrace(ptr noundef %6930)
  %6932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6933 = trunc i8 %6932 to i1
  br i1 %6933, label %6934, label %6956

6934:                                             ; preds = %6927
  %6935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6936 = call i32 @fileno(ptr noundef %6935) #11
  %6937 = call i32 @isatty(i32 noundef %6936) #11
  %6938 = icmp ne i32 %6937, 0
  br i1 %6938, label %6939, label %6956

6939:                                             ; preds = %6934
  %6940 = load i32, ptr %143, align 4, !tbaa !5
  %6941 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %6950 = call ptr @__errno_location() #12
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #11
  %6953 = call ptr @__errno_location() #12
  %6954 = load i32, ptr %6953, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6942, ptr noundef @.str.2, i32 noundef %6943, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 354, ptr noundef %6946, ptr noundef %6949, ptr noundef %6952, i32 noundef %6954) #11
  br label %6973

6956:                                             ; preds = %6934, %6927
  %6957 = load i32, ptr %143, align 4, !tbaa !5
  %6958 = call ptr @__errno_location() #12
  store i32 %6957, ptr %6958, align 4, !tbaa !5
  %6959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6960 = load i32, ptr @test_count, align 4, !tbaa !5
  %6961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6962 = load i32, ptr %6961, align 4, !tbaa !5
  %6963 = call ptr @s2n_strerror(i32 noundef %6962, ptr noundef @.str.4)
  %6964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call ptr @s2n_strerror_debug(i32 noundef %6965, ptr noundef @.str.4)
  %6967 = call ptr @__errno_location() #12
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @strerror(i32 noundef %6968) #11
  %6970 = call ptr @__errno_location() #12
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6959, ptr noundef @.str.5, i32 noundef %6960, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 354, ptr noundef %6963, ptr noundef %6966, ptr noundef %6969, i32 noundef %6971) #11
  br label %6973

6973:                                             ; preds = %6956, %6939
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %6974

6974:                                             ; preds = %6973
  br label %6975

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

6976:                                             ; No predecessors!
  br label %6977

6977:                                             ; preds = %6976
  br label %6978

6978:                                             ; preds = %6977, %6914
  br label %6979

6979:                                             ; preds = %6978
  br label %6980

6980:                                             ; preds = %6979
  br label %6981

6981:                                             ; preds = %6980
  br label %6982

6982:                                             ; preds = %6981
  br label %6983

6983:                                             ; preds = %6982
  %6984 = load i32, ptr @test_count, align 4, !tbaa !5
  %6985 = add nsw i32 %6984, 1
  store i32 %6985, ptr @test_count, align 4, !tbaa !5
  %6986 = load ptr, ptr %132, align 8, !tbaa !9
  %6987 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %6988 = call i32 @s2n_psk_set_early_data_context(ptr noundef %6986, ptr noundef %6987, i16 noundef zeroext 0)
  %6989 = icmp eq i32 %6988, -1
  br i1 %6989, label %6990, label %7043

6990:                                             ; preds = %6983
  br label %6991

6991:                                             ; preds = %6990
  br label %6992

6992:                                             ; preds = %6991
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %6993 = call ptr @__errno_location() #12
  %6994 = load i32, ptr %6993, align 4, !tbaa !5
  store i32 %6994, ptr %144, align 4, !tbaa !5
  %6995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6996 = call i32 @s2n_print_stacktrace(ptr noundef %6995)
  %6997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6998 = trunc i8 %6997 to i1
  br i1 %6998, label %6999, label %7021

6999:                                             ; preds = %6992
  %7000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7001 = call i32 @fileno(ptr noundef %7000) #11
  %7002 = call i32 @isatty(i32 noundef %7001) #11
  %7003 = icmp ne i32 %7002, 0
  br i1 %7003, label %7004, label %7021

7004:                                             ; preds = %6999
  %7005 = load i32, ptr %144, align 4, !tbaa !5
  %7006 = call ptr @__errno_location() #12
  store i32 %7005, ptr %7006, align 4, !tbaa !5
  %7007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7008 = load i32, ptr @test_count, align 4, !tbaa !5
  %7009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7010 = load i32, ptr %7009, align 4, !tbaa !5
  %7011 = call ptr @s2n_strerror(i32 noundef %7010, ptr noundef @.str.4)
  %7012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7013 = load i32, ptr %7012, align 4, !tbaa !5
  %7014 = call ptr @s2n_strerror_debug(i32 noundef %7013, ptr noundef @.str.4)
  %7015 = call ptr @__errno_location() #12
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  %7017 = call ptr @strerror(i32 noundef %7016) #11
  %7018 = call ptr @__errno_location() #12
  %7019 = load i32, ptr %7018, align 4, !tbaa !5
  %7020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7007, ptr noundef @.str.2, i32 noundef %7008, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 357, ptr noundef %7011, ptr noundef %7014, ptr noundef %7017, i32 noundef %7019) #11
  br label %7038

7021:                                             ; preds = %6999, %6992
  %7022 = load i32, ptr %144, align 4, !tbaa !5
  %7023 = call ptr @__errno_location() #12
  store i32 %7022, ptr %7023, align 4, !tbaa !5
  %7024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7025 = load i32, ptr @test_count, align 4, !tbaa !5
  %7026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  %7028 = call ptr @s2n_strerror(i32 noundef %7027, ptr noundef @.str.4)
  %7029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call ptr @s2n_strerror_debug(i32 noundef %7030, ptr noundef @.str.4)
  %7032 = call ptr @__errno_location() #12
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call ptr @strerror(i32 noundef %7033) #11
  %7035 = call ptr @__errno_location() #12
  %7036 = load i32, ptr %7035, align 4, !tbaa !5
  %7037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7024, ptr noundef @.str.5, i32 noundef %7025, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 357, ptr noundef %7028, ptr noundef %7031, ptr noundef %7034, i32 noundef %7036) #11
  br label %7038

7038:                                             ; preds = %7021, %7004
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7039

7039:                                             ; preds = %7038
  br label %7040

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

7041:                                             ; No predecessors!
  br label %7042

7042:                                             ; preds = %7041
  br label %7043

7043:                                             ; preds = %7042, %6983
  br label %7044

7044:                                             ; preds = %7043
  br label %7045

7045:                                             ; preds = %7044
  br label %7046

7046:                                             ; preds = %7045
  %7047 = load i32, ptr @test_count, align 4, !tbaa !5
  %7048 = add nsw i32 %7047, 1
  store i32 %7048, ptr @test_count, align 4, !tbaa !5
  %7049 = load ptr, ptr %132, align 8, !tbaa !9
  %7050 = getelementptr inbounds %struct.s2n_psk, ptr %7049, i32 0, i32 7
  %7051 = getelementptr inbounds %struct.s2n_early_data_config, ptr %7050, i32 0, i32 4
  %7052 = getelementptr inbounds %struct.s2n_blob, ptr %7051, i32 0, i32 1
  %7053 = load i32, ptr %7052, align 8, !tbaa !57
  %7054 = icmp eq i32 %7053, 0
  br i1 %7054, label %7108, label %7055

7055:                                             ; preds = %7046
  br label %7056

7056:                                             ; preds = %7055
  br label %7057

7057:                                             ; preds = %7056
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %7058 = call ptr @__errno_location() #12
  %7059 = load i32, ptr %7058, align 4, !tbaa !5
  store i32 %7059, ptr %145, align 4, !tbaa !5
  %7060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7061 = call i32 @s2n_print_stacktrace(ptr noundef %7060)
  %7062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7063 = trunc i8 %7062 to i1
  br i1 %7063, label %7064, label %7086

7064:                                             ; preds = %7057
  %7065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7066 = call i32 @fileno(ptr noundef %7065) #11
  %7067 = call i32 @isatty(i32 noundef %7066) #11
  %7068 = icmp ne i32 %7067, 0
  br i1 %7068, label %7069, label %7086

7069:                                             ; preds = %7064
  %7070 = load i32, ptr %145, align 4, !tbaa !5
  %7071 = call ptr @__errno_location() #12
  store i32 %7070, ptr %7071, align 4, !tbaa !5
  %7072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7073 = load i32, ptr @test_count, align 4, !tbaa !5
  %7074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7075 = load i32, ptr %7074, align 4, !tbaa !5
  %7076 = call ptr @s2n_strerror(i32 noundef %7075, ptr noundef @.str.4)
  %7077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7078 = load i32, ptr %7077, align 4, !tbaa !5
  %7079 = call ptr @s2n_strerror_debug(i32 noundef %7078, ptr noundef @.str.4)
  %7080 = call ptr @__errno_location() #12
  %7081 = load i32, ptr %7080, align 4, !tbaa !5
  %7082 = call ptr @strerror(i32 noundef %7081) #11
  %7083 = call ptr @__errno_location() #12
  %7084 = load i32, ptr %7083, align 4, !tbaa !5
  %7085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7072, ptr noundef @.str.2, i32 noundef %7073, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 358, ptr noundef %7076, ptr noundef %7079, ptr noundef %7082, i32 noundef %7084) #11
  br label %7103

7086:                                             ; preds = %7064, %7057
  %7087 = load i32, ptr %145, align 4, !tbaa !5
  %7088 = call ptr @__errno_location() #12
  store i32 %7087, ptr %7088, align 4, !tbaa !5
  %7089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7090 = load i32, ptr @test_count, align 4, !tbaa !5
  %7091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7092 = load i32, ptr %7091, align 4, !tbaa !5
  %7093 = call ptr @s2n_strerror(i32 noundef %7092, ptr noundef @.str.4)
  %7094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7095 = load i32, ptr %7094, align 4, !tbaa !5
  %7096 = call ptr @s2n_strerror_debug(i32 noundef %7095, ptr noundef @.str.4)
  %7097 = call ptr @__errno_location() #12
  %7098 = load i32, ptr %7097, align 4, !tbaa !5
  %7099 = call ptr @strerror(i32 noundef %7098) #11
  %7100 = call ptr @__errno_location() #12
  %7101 = load i32, ptr %7100, align 4, !tbaa !5
  %7102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7089, ptr noundef @.str.5, i32 noundef %7090, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 358, ptr noundef %7093, ptr noundef %7096, ptr noundef %7099, i32 noundef %7101) #11
  br label %7103

7103:                                             ; preds = %7086, %7069
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %7104

7104:                                             ; preds = %7103
  br label %7105

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

7106:                                             ; No predecessors!
  br label %7107

7107:                                             ; preds = %7106
  br label %7108

7108:                                             ; preds = %7107, %7046
  br label %7109

7109:                                             ; preds = %7108
  br label %7110

7110:                                             ; preds = %7109
  br label %7111

7111:                                             ; preds = %7110
  %7112 = load i32, ptr @test_count, align 4, !tbaa !5
  %7113 = add nsw i32 %7112, 1
  store i32 %7113, ptr @test_count, align 4, !tbaa !5
  %7114 = load ptr, ptr %132, align 8, !tbaa !9
  %7115 = getelementptr inbounds %struct.s2n_psk, ptr %7114, i32 0, i32 7
  %7116 = getelementptr inbounds %struct.s2n_early_data_config, ptr %7115, i32 0, i32 4
  %7117 = getelementptr inbounds %struct.s2n_blob, ptr %7116, i32 0, i32 2
  %7118 = load i32, ptr %7117, align 4, !tbaa !58
  %7119 = icmp eq i32 %7118, 0
  br i1 %7119, label %7173, label %7120

7120:                                             ; preds = %7111
  br label %7121

7121:                                             ; preds = %7120
  br label %7122

7122:                                             ; preds = %7121
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %7123 = call ptr @__errno_location() #12
  %7124 = load i32, ptr %7123, align 4, !tbaa !5
  store i32 %7124, ptr %146, align 4, !tbaa !5
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = call i32 @s2n_print_stacktrace(ptr noundef %7125)
  %7127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7128 = trunc i8 %7127 to i1
  br i1 %7128, label %7129, label %7151

7129:                                             ; preds = %7122
  %7130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7131 = call i32 @fileno(ptr noundef %7130) #11
  %7132 = call i32 @isatty(i32 noundef %7131) #11
  %7133 = icmp ne i32 %7132, 0
  br i1 %7133, label %7134, label %7151

7134:                                             ; preds = %7129
  %7135 = load i32, ptr %146, align 4, !tbaa !5
  %7136 = call ptr @__errno_location() #12
  store i32 %7135, ptr %7136, align 4, !tbaa !5
  %7137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7138 = load i32, ptr @test_count, align 4, !tbaa !5
  %7139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7140 = load i32, ptr %7139, align 4, !tbaa !5
  %7141 = call ptr @s2n_strerror(i32 noundef %7140, ptr noundef @.str.4)
  %7142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7143 = load i32, ptr %7142, align 4, !tbaa !5
  %7144 = call ptr @s2n_strerror_debug(i32 noundef %7143, ptr noundef @.str.4)
  %7145 = call ptr @__errno_location() #12
  %7146 = load i32, ptr %7145, align 4, !tbaa !5
  %7147 = call ptr @strerror(i32 noundef %7146) #11
  %7148 = call ptr @__errno_location() #12
  %7149 = load i32, ptr %7148, align 4, !tbaa !5
  %7150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7137, ptr noundef @.str.2, i32 noundef %7138, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 359, ptr noundef %7141, ptr noundef %7144, ptr noundef %7147, i32 noundef %7149) #11
  br label %7168

7151:                                             ; preds = %7129, %7122
  %7152 = load i32, ptr %146, align 4, !tbaa !5
  %7153 = call ptr @__errno_location() #12
  store i32 %7152, ptr %7153, align 4, !tbaa !5
  %7154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7155 = load i32, ptr @test_count, align 4, !tbaa !5
  %7156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7157 = load i32, ptr %7156, align 4, !tbaa !5
  %7158 = call ptr @s2n_strerror(i32 noundef %7157, ptr noundef @.str.4)
  %7159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7160 = load i32, ptr %7159, align 4, !tbaa !5
  %7161 = call ptr @s2n_strerror_debug(i32 noundef %7160, ptr noundef @.str.4)
  %7162 = call ptr @__errno_location() #12
  %7163 = load i32, ptr %7162, align 4, !tbaa !5
  %7164 = call ptr @strerror(i32 noundef %7163) #11
  %7165 = call ptr @__errno_location() #12
  %7166 = load i32, ptr %7165, align 4, !tbaa !5
  %7167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7154, ptr noundef @.str.5, i32 noundef %7155, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 359, ptr noundef %7158, ptr noundef %7161, ptr noundef %7164, i32 noundef %7166) #11
  br label %7168

7168:                                             ; preds = %7151, %7134
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7169

7169:                                             ; preds = %7168
  br label %7170

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

7171:                                             ; No predecessors!
  br label %7172

7172:                                             ; preds = %7171
  br label %7173

7173:                                             ; preds = %7172, %7111
  br label %7174

7174:                                             ; preds = %7173
  br label %7175

7175:                                             ; preds = %7174
  br label %7176

7176:                                             ; preds = %7175
  %7177 = load i32, ptr @test_count, align 4, !tbaa !5
  %7178 = add nsw i32 %7177, 1
  store i32 %7178, ptr @test_count, align 4, !tbaa !5
  %7179 = load ptr, ptr %132, align 8, !tbaa !9
  %7180 = getelementptr inbounds [11 x i8], ptr %9, i64 0, i64 0
  %7181 = call i32 @s2n_psk_set_early_data_context(ptr noundef %7179, ptr noundef %7180, i16 noundef zeroext 0)
  %7182 = icmp eq i32 %7181, -1
  br i1 %7182, label %7183, label %7236

7183:                                             ; preds = %7176
  br label %7184

7184:                                             ; preds = %7183
  br label %7185

7185:                                             ; preds = %7184
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %7186 = call ptr @__errno_location() #12
  %7187 = load i32, ptr %7186, align 4, !tbaa !5
  store i32 %7187, ptr %147, align 4, !tbaa !5
  %7188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7189 = call i32 @s2n_print_stacktrace(ptr noundef %7188)
  %7190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7191 = trunc i8 %7190 to i1
  br i1 %7191, label %7192, label %7214

7192:                                             ; preds = %7185
  %7193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7194 = call i32 @fileno(ptr noundef %7193) #11
  %7195 = call i32 @isatty(i32 noundef %7194) #11
  %7196 = icmp ne i32 %7195, 0
  br i1 %7196, label %7197, label %7214

7197:                                             ; preds = %7192
  %7198 = load i32, ptr %147, align 4, !tbaa !5
  %7199 = call ptr @__errno_location() #12
  store i32 %7198, ptr %7199, align 4, !tbaa !5
  %7200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7201 = load i32, ptr @test_count, align 4, !tbaa !5
  %7202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7203 = load i32, ptr %7202, align 4, !tbaa !5
  %7204 = call ptr @s2n_strerror(i32 noundef %7203, ptr noundef @.str.4)
  %7205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7206 = load i32, ptr %7205, align 4, !tbaa !5
  %7207 = call ptr @s2n_strerror_debug(i32 noundef %7206, ptr noundef @.str.4)
  %7208 = call ptr @__errno_location() #12
  %7209 = load i32, ptr %7208, align 4, !tbaa !5
  %7210 = call ptr @strerror(i32 noundef %7209) #11
  %7211 = call ptr @__errno_location() #12
  %7212 = load i32, ptr %7211, align 4, !tbaa !5
  %7213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7200, ptr noundef @.str.2, i32 noundef %7201, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 362, ptr noundef %7204, ptr noundef %7207, ptr noundef %7210, i32 noundef %7212) #11
  br label %7231

7214:                                             ; preds = %7192, %7185
  %7215 = load i32, ptr %147, align 4, !tbaa !5
  %7216 = call ptr @__errno_location() #12
  store i32 %7215, ptr %7216, align 4, !tbaa !5
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = load i32, ptr @test_count, align 4, !tbaa !5
  %7219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  %7221 = call ptr @s2n_strerror(i32 noundef %7220, ptr noundef @.str.4)
  %7222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7223 = load i32, ptr %7222, align 4, !tbaa !5
  %7224 = call ptr @s2n_strerror_debug(i32 noundef %7223, ptr noundef @.str.4)
  %7225 = call ptr @__errno_location() #12
  %7226 = load i32, ptr %7225, align 4, !tbaa !5
  %7227 = call ptr @strerror(i32 noundef %7226) #11
  %7228 = call ptr @__errno_location() #12
  %7229 = load i32, ptr %7228, align 4, !tbaa !5
  %7230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7217, ptr noundef @.str.5, i32 noundef %7218, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 362, ptr noundef %7221, ptr noundef %7224, ptr noundef %7227, i32 noundef %7229) #11
  br label %7231

7231:                                             ; preds = %7214, %7197
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %7232

7232:                                             ; preds = %7231
  br label %7233

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

7234:                                             ; No predecessors!
  br label %7235

7235:                                             ; preds = %7234
  br label %7236

7236:                                             ; preds = %7235, %7176
  br label %7237

7237:                                             ; preds = %7236
  br label %7238

7238:                                             ; preds = %7237
  br label %7239

7239:                                             ; preds = %7238
  %7240 = load i32, ptr @test_count, align 4, !tbaa !5
  %7241 = add nsw i32 %7240, 1
  store i32 %7241, ptr @test_count, align 4, !tbaa !5
  %7242 = load ptr, ptr %132, align 8, !tbaa !9
  %7243 = getelementptr inbounds %struct.s2n_psk, ptr %7242, i32 0, i32 7
  %7244 = getelementptr inbounds %struct.s2n_early_data_config, ptr %7243, i32 0, i32 4
  %7245 = getelementptr inbounds %struct.s2n_blob, ptr %7244, i32 0, i32 1
  %7246 = load i32, ptr %7245, align 8, !tbaa !57
  %7247 = icmp eq i32 %7246, 0
  br i1 %7247, label %7301, label %7248

7248:                                             ; preds = %7239
  br label %7249

7249:                                             ; preds = %7248
  br label %7250

7250:                                             ; preds = %7249
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7251 = call ptr @__errno_location() #12
  %7252 = load i32, ptr %7251, align 4, !tbaa !5
  store i32 %7252, ptr %148, align 4, !tbaa !5
  %7253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7254 = call i32 @s2n_print_stacktrace(ptr noundef %7253)
  %7255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7256 = trunc i8 %7255 to i1
  br i1 %7256, label %7257, label %7279

7257:                                             ; preds = %7250
  %7258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7259 = call i32 @fileno(ptr noundef %7258) #11
  %7260 = call i32 @isatty(i32 noundef %7259) #11
  %7261 = icmp ne i32 %7260, 0
  br i1 %7261, label %7262, label %7279

7262:                                             ; preds = %7257
  %7263 = load i32, ptr %148, align 4, !tbaa !5
  %7264 = call ptr @__errno_location() #12
  store i32 %7263, ptr %7264, align 4, !tbaa !5
  %7265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7266 = load i32, ptr @test_count, align 4, !tbaa !5
  %7267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7268 = load i32, ptr %7267, align 4, !tbaa !5
  %7269 = call ptr @s2n_strerror(i32 noundef %7268, ptr noundef @.str.4)
  %7270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7271 = load i32, ptr %7270, align 4, !tbaa !5
  %7272 = call ptr @s2n_strerror_debug(i32 noundef %7271, ptr noundef @.str.4)
  %7273 = call ptr @__errno_location() #12
  %7274 = load i32, ptr %7273, align 4, !tbaa !5
  %7275 = call ptr @strerror(i32 noundef %7274) #11
  %7276 = call ptr @__errno_location() #12
  %7277 = load i32, ptr %7276, align 4, !tbaa !5
  %7278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7265, ptr noundef @.str.2, i32 noundef %7266, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 363, ptr noundef %7269, ptr noundef %7272, ptr noundef %7275, i32 noundef %7277) #11
  br label %7296

7279:                                             ; preds = %7257, %7250
  %7280 = load i32, ptr %148, align 4, !tbaa !5
  %7281 = call ptr @__errno_location() #12
  store i32 %7280, ptr %7281, align 4, !tbaa !5
  %7282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7283 = load i32, ptr @test_count, align 4, !tbaa !5
  %7284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7285 = load i32, ptr %7284, align 4, !tbaa !5
  %7286 = call ptr @s2n_strerror(i32 noundef %7285, ptr noundef @.str.4)
  %7287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7288 = load i32, ptr %7287, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror_debug(i32 noundef %7288, ptr noundef @.str.4)
  %7290 = call ptr @__errno_location() #12
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  %7292 = call ptr @strerror(i32 noundef %7291) #11
  %7293 = call ptr @__errno_location() #12
  %7294 = load i32, ptr %7293, align 4, !tbaa !5
  %7295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7282, ptr noundef @.str.5, i32 noundef %7283, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 363, ptr noundef %7286, ptr noundef %7289, ptr noundef %7292, i32 noundef %7294) #11
  br label %7296

7296:                                             ; preds = %7279, %7262
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7297

7297:                                             ; preds = %7296
  br label %7298

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

7299:                                             ; No predecessors!
  br label %7300

7300:                                             ; preds = %7299
  br label %7301

7301:                                             ; preds = %7300, %7239
  br label %7302

7302:                                             ; preds = %7301
  br label %7303

7303:                                             ; preds = %7302
  br label %7304

7304:                                             ; preds = %7303
  %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 = load ptr, ptr %132, align 8, !tbaa !9
  %7308 = getelementptr inbounds %struct.s2n_psk, ptr %7307, i32 0, i32 7
  %7309 = getelementptr inbounds %struct.s2n_early_data_config, ptr %7308, i32 0, i32 4
  %7310 = getelementptr inbounds %struct.s2n_blob, ptr %7309, i32 0, i32 2
  %7311 = load i32, ptr %7310, align 4, !tbaa !58
  %7312 = icmp eq i32 %7311, 0
  br i1 %7312, label %7366, label %7313

7313:                                             ; preds = %7304
  br label %7314

7314:                                             ; preds = %7313
  br label %7315

7315:                                             ; preds = %7314
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7316 = call ptr @__errno_location() #12
  %7317 = load i32, ptr %7316, align 4, !tbaa !5
  store i32 %7317, ptr %149, align 4, !tbaa !5
  %7318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7319 = call i32 @s2n_print_stacktrace(ptr noundef %7318)
  %7320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7321 = trunc i8 %7320 to i1
  br i1 %7321, label %7322, label %7344

7322:                                             ; preds = %7315
  %7323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7324 = call i32 @fileno(ptr noundef %7323) #11
  %7325 = call i32 @isatty(i32 noundef %7324) #11
  %7326 = icmp ne i32 %7325, 0
  br i1 %7326, label %7327, label %7344

7327:                                             ; preds = %7322
  %7328 = load i32, ptr %149, align 4, !tbaa !5
  %7329 = call ptr @__errno_location() #12
  store i32 %7328, ptr %7329, align 4, !tbaa !5
  %7330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7331 = load i32, ptr @test_count, align 4, !tbaa !5
  %7332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7333 = load i32, ptr %7332, align 4, !tbaa !5
  %7334 = call ptr @s2n_strerror(i32 noundef %7333, ptr noundef @.str.4)
  %7335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7336 = load i32, ptr %7335, align 4, !tbaa !5
  %7337 = call ptr @s2n_strerror_debug(i32 noundef %7336, ptr noundef @.str.4)
  %7338 = call ptr @__errno_location() #12
  %7339 = load i32, ptr %7338, align 4, !tbaa !5
  %7340 = call ptr @strerror(i32 noundef %7339) #11
  %7341 = call ptr @__errno_location() #12
  %7342 = load i32, ptr %7341, align 4, !tbaa !5
  %7343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7330, ptr noundef @.str.2, i32 noundef %7331, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 364, ptr noundef %7334, ptr noundef %7337, ptr noundef %7340, i32 noundef %7342) #11
  br label %7361

7344:                                             ; preds = %7322, %7315
  %7345 = load i32, ptr %149, align 4, !tbaa !5
  %7346 = call ptr @__errno_location() #12
  store i32 %7345, ptr %7346, align 4, !tbaa !5
  %7347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7348 = load i32, ptr @test_count, align 4, !tbaa !5
  %7349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @s2n_strerror(i32 noundef %7350, ptr noundef @.str.4)
  %7352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call ptr @s2n_strerror_debug(i32 noundef %7353, ptr noundef @.str.4)
  %7355 = call ptr @__errno_location() #12
  %7356 = load i32, ptr %7355, align 4, !tbaa !5
  %7357 = call ptr @strerror(i32 noundef %7356) #11
  %7358 = call ptr @__errno_location() #12
  %7359 = load i32, ptr %7358, align 4, !tbaa !5
  %7360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7347, ptr noundef @.str.5, i32 noundef %7348, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 364, ptr noundef %7351, ptr noundef %7354, ptr noundef %7357, i32 noundef %7359) #11
  br label %7361

7361:                                             ; preds = %7344, %7327
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7362

7362:                                             ; preds = %7361
  br label %7363

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

7364:                                             ; No predecessors!
  br label %7365

7365:                                             ; preds = %7364
  br label %7366

7366:                                             ; preds = %7365, %7304
  br label %7367

7367:                                             ; preds = %7366
  br label %7368

7368:                                             ; preds = %7367
  %7369 = call i32 @s2n_psk_free(ptr noundef %132)
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #11
  call void @llvm.lifetime.start.p0(i64 6, ptr %150) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %150, ptr align 1 @__const.main.test_bad_value, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr %151) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %151, ptr align 1 @__const.main.test_apln, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %152, ptr align 1 @__const.main.test_context, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %153) #11
  store i8 -1, ptr %153, align 1, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  store i32 10, ptr %154, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %155) #11
  store ptr @s2n_tls13_chacha20_poly1305_sha256, ptr %155, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #11
  store i64 0, ptr %156, align 8, !tbaa !60
  br label %7370

7370:                                             ; preds = %8693, %7368
  %7371 = load i64, ptr %156, align 8, !tbaa !60
  %7372 = icmp ult i64 %7371, 2
  br i1 %7372, label %7374, label %7373

7373:                                             ; preds = %7370
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #11
  br label %8696

7374:                                             ; preds = %7370
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #11
  %7375 = call ptr @s2n_external_psk_new()
  store ptr %7375, ptr %157, align 8, !tbaa !9
  br label %7376

7376:                                             ; preds = %7374
  %7377 = load i32, ptr @test_count, align 4, !tbaa !5
  %7378 = add nsw i32 %7377, 1
  store i32 %7378, ptr @test_count, align 4, !tbaa !5
  %7379 = load ptr, ptr %157, align 8, !tbaa !9
  %7380 = icmp eq ptr %7379, null
  br i1 %7380, label %7381, label %7434

7381:                                             ; preds = %7376
  br label %7382

7382:                                             ; preds = %7381
  br label %7383

7383:                                             ; preds = %7382
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %7384 = call ptr @__errno_location() #12
  %7385 = load i32, ptr %7384, align 4, !tbaa !5
  store i32 %7385, ptr %158, align 4, !tbaa !5
  %7386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7387 = call i32 @s2n_print_stacktrace(ptr noundef %7386)
  %7388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7389 = trunc i8 %7388 to i1
  br i1 %7389, label %7390, label %7412

7390:                                             ; preds = %7383
  %7391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7392 = call i32 @fileno(ptr noundef %7391) #11
  %7393 = call i32 @isatty(i32 noundef %7392) #11
  %7394 = icmp ne i32 %7393, 0
  br i1 %7394, label %7395, label %7412

7395:                                             ; preds = %7390
  %7396 = load i32, ptr %158, align 4, !tbaa !5
  %7397 = call ptr @__errno_location() #12
  store i32 %7396, ptr %7397, align 4, !tbaa !5
  %7398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7399 = load i32, ptr @test_count, align 4, !tbaa !5
  %7400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7401 = load i32, ptr %7400, align 4, !tbaa !5
  %7402 = call ptr @s2n_strerror(i32 noundef %7401, ptr noundef @.str.4)
  %7403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7404 = load i32, ptr %7403, align 4, !tbaa !5
  %7405 = call ptr @s2n_strerror_debug(i32 noundef %7404, ptr noundef @.str.4)
  %7406 = call ptr @__errno_location() #12
  %7407 = load i32, ptr %7406, align 4, !tbaa !5
  %7408 = call ptr @strerror(i32 noundef %7407) #11
  %7409 = call ptr @__errno_location() #12
  %7410 = load i32, ptr %7409, align 4, !tbaa !5
  %7411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7398, ptr noundef @.str.2, i32 noundef %7399, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 378, ptr noundef %7402, ptr noundef %7405, ptr noundef %7408, i32 noundef %7410) #11
  br label %7429

7412:                                             ; preds = %7390, %7383
  %7413 = load i32, ptr %158, align 4, !tbaa !5
  %7414 = call ptr @__errno_location() #12
  store i32 %7413, ptr %7414, align 4, !tbaa !5
  %7415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7416 = load i32, ptr @test_count, align 4, !tbaa !5
  %7417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  %7419 = call ptr @s2n_strerror(i32 noundef %7418, ptr noundef @.str.4)
  %7420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7421 = load i32, ptr %7420, align 4, !tbaa !5
  %7422 = call ptr @s2n_strerror_debug(i32 noundef %7421, ptr noundef @.str.4)
  %7423 = call ptr @__errno_location() #12
  %7424 = load i32, ptr %7423, align 4, !tbaa !5
  %7425 = call ptr @strerror(i32 noundef %7424) #11
  %7426 = call ptr @__errno_location() #12
  %7427 = load i32, ptr %7426, align 4, !tbaa !5
  %7428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7415, ptr noundef @.str.5, i32 noundef %7416, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 378, ptr noundef %7419, ptr noundef %7422, ptr noundef %7425, i32 noundef %7427) #11
  br label %7429

7429:                                             ; preds = %7412, %7395
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %7430

7430:                                             ; preds = %7429
  br label %7431

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

7432:                                             ; No predecessors!
  br label %7433

7433:                                             ; preds = %7432
  br label %7434

7434:                                             ; preds = %7433, %7376
  br label %7435

7435:                                             ; preds = %7434
  br label %7436

7436:                                             ; preds = %7435
  br label %7437

7437:                                             ; preds = %7436
  %7438 = load i32, ptr @test_count, align 4, !tbaa !5
  %7439 = add nsw i32 %7438, 1
  store i32 %7439, ptr @test_count, align 4, !tbaa !5
  %7440 = load ptr, ptr %157, align 8, !tbaa !9
  %7441 = load ptr, ptr %155, align 8, !tbaa !9
  %7442 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %7441, i32 0, i32 3
  %7443 = getelementptr inbounds [2 x i8], ptr %7442, i64 0, i64 0
  %7444 = load i8, ptr %7443, align 8, !tbaa !45
  %7445 = load ptr, ptr %155, align 8, !tbaa !9
  %7446 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %7445, i32 0, i32 3
  %7447 = getelementptr inbounds [2 x i8], ptr %7446, i64 0, i64 1
  %7448 = load i8, ptr %7447, align 1, !tbaa !45
  %7449 = call i32 @s2n_psk_configure_early_data(ptr noundef %7440, i32 noundef 10, i8 noundef zeroext %7444, i8 noundef zeroext %7448)
  %7450 = icmp eq i32 %7449, -1
  br i1 %7450, label %7451, label %7504

7451:                                             ; preds = %7437
  br label %7452

7452:                                             ; preds = %7451
  br label %7453

7453:                                             ; preds = %7452
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %7454 = call ptr @__errno_location() #12
  %7455 = load i32, ptr %7454, align 4, !tbaa !5
  store i32 %7455, ptr %159, align 4, !tbaa !5
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = call i32 @s2n_print_stacktrace(ptr noundef %7456)
  %7458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7459 = trunc i8 %7458 to i1
  br i1 %7459, label %7460, label %7482

7460:                                             ; preds = %7453
  %7461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7462 = call i32 @fileno(ptr noundef %7461) #11
  %7463 = call i32 @isatty(i32 noundef %7462) #11
  %7464 = icmp ne i32 %7463, 0
  br i1 %7464, label %7465, label %7482

7465:                                             ; preds = %7460
  %7466 = load i32, ptr %159, align 4, !tbaa !5
  %7467 = call ptr @__errno_location() #12
  store i32 %7466, ptr %7467, align 4, !tbaa !5
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = load i32, ptr @test_count, align 4, !tbaa !5
  %7470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7471 = load i32, ptr %7470, align 4, !tbaa !5
  %7472 = call ptr @s2n_strerror(i32 noundef %7471, ptr noundef @.str.4)
  %7473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror_debug(i32 noundef %7474, ptr noundef @.str.4)
  %7476 = call ptr @__errno_location() #12
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @strerror(i32 noundef %7477) #11
  %7479 = call ptr @__errno_location() #12
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7468, ptr noundef @.str.2, i32 noundef %7469, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 380, ptr noundef %7472, ptr noundef %7475, ptr noundef %7478, i32 noundef %7480) #11
  br label %7499

7482:                                             ; preds = %7460, %7453
  %7483 = load i32, ptr %159, align 4, !tbaa !5
  %7484 = call ptr @__errno_location() #12
  store i32 %7483, ptr %7484, align 4, !tbaa !5
  %7485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7486 = load i32, ptr @test_count, align 4, !tbaa !5
  %7487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7488 = load i32, ptr %7487, align 4, !tbaa !5
  %7489 = call ptr @s2n_strerror(i32 noundef %7488, ptr noundef @.str.4)
  %7490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7491 = load i32, ptr %7490, align 4, !tbaa !5
  %7492 = call ptr @s2n_strerror_debug(i32 noundef %7491, ptr noundef @.str.4)
  %7493 = call ptr @__errno_location() #12
  %7494 = load i32, ptr %7493, align 4, !tbaa !5
  %7495 = call ptr @strerror(i32 noundef %7494) #11
  %7496 = call ptr @__errno_location() #12
  %7497 = load i32, ptr %7496, align 4, !tbaa !5
  %7498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7485, ptr noundef @.str.5, i32 noundef %7486, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 380, ptr noundef %7489, ptr noundef %7492, ptr noundef %7495, i32 noundef %7497) #11
  br label %7499

7499:                                             ; preds = %7482, %7465
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %7500

7500:                                             ; preds = %7499
  br label %7501

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

7502:                                             ; No predecessors!
  br label %7503

7503:                                             ; preds = %7502
  br label %7504

7504:                                             ; preds = %7503, %7437
  br label %7505

7505:                                             ; preds = %7504
  br label %7506

7506:                                             ; preds = %7505
  br label %7507

7507:                                             ; preds = %7506
  %7508 = load i32, ptr @test_count, align 4, !tbaa !5
  %7509 = add nsw i32 %7508, 1
  store i32 %7509, ptr @test_count, align 4, !tbaa !5
  %7510 = load ptr, ptr %157, align 8, !tbaa !9
  %7511 = getelementptr inbounds [9 x i8], ptr %151, i64 0, i64 0
  %7512 = call i32 @s2n_psk_set_application_protocol(ptr noundef %7510, ptr noundef %7511, i8 noundef zeroext 9)
  %7513 = icmp eq i32 %7512, -1
  br i1 %7513, label %7514, label %7567

7514:                                             ; preds = %7507
  br label %7515

7515:                                             ; preds = %7514
  br label %7516

7516:                                             ; preds = %7515
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %7517 = call ptr @__errno_location() #12
  %7518 = load i32, ptr %7517, align 4, !tbaa !5
  store i32 %7518, ptr %160, align 4, !tbaa !5
  %7519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7520 = call i32 @s2n_print_stacktrace(ptr noundef %7519)
  %7521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7522 = trunc i8 %7521 to i1
  br i1 %7522, label %7523, label %7545

7523:                                             ; preds = %7516
  %7524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7525 = call i32 @fileno(ptr noundef %7524) #11
  %7526 = call i32 @isatty(i32 noundef %7525) #11
  %7527 = icmp ne i32 %7526, 0
  br i1 %7527, label %7528, label %7545

7528:                                             ; preds = %7523
  %7529 = load i32, ptr %160, align 4, !tbaa !5
  %7530 = call ptr @__errno_location() #12
  store i32 %7529, ptr %7530, align 4, !tbaa !5
  %7531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7532 = load i32, ptr @test_count, align 4, !tbaa !5
  %7533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = call ptr @s2n_strerror(i32 noundef %7534, ptr noundef @.str.4)
  %7536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7537 = load i32, ptr %7536, align 4, !tbaa !5
  %7538 = call ptr @s2n_strerror_debug(i32 noundef %7537, ptr noundef @.str.4)
  %7539 = call ptr @__errno_location() #12
  %7540 = load i32, ptr %7539, align 4, !tbaa !5
  %7541 = call ptr @strerror(i32 noundef %7540) #11
  %7542 = call ptr @__errno_location() #12
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  %7544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7531, ptr noundef @.str.2, i32 noundef %7532, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7535, ptr noundef %7538, ptr noundef %7541, i32 noundef %7543) #11
  br label %7562

7545:                                             ; preds = %7523, %7516
  %7546 = load i32, ptr %160, align 4, !tbaa !5
  %7547 = call ptr @__errno_location() #12
  store i32 %7546, ptr %7547, align 4, !tbaa !5
  %7548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7549 = load i32, ptr @test_count, align 4, !tbaa !5
  %7550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7551 = load i32, ptr %7550, align 4, !tbaa !5
  %7552 = call ptr @s2n_strerror(i32 noundef %7551, ptr noundef @.str.4)
  %7553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7554 = load i32, ptr %7553, align 4, !tbaa !5
  %7555 = call ptr @s2n_strerror_debug(i32 noundef %7554, ptr noundef @.str.4)
  %7556 = call ptr @__errno_location() #12
  %7557 = load i32, ptr %7556, align 4, !tbaa !5
  %7558 = call ptr @strerror(i32 noundef %7557) #11
  %7559 = call ptr @__errno_location() #12
  %7560 = load i32, ptr %7559, align 4, !tbaa !5
  %7561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7548, ptr noundef @.str.5, i32 noundef %7549, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7552, ptr noundef %7555, ptr noundef %7558, i32 noundef %7560) #11
  br label %7562

7562:                                             ; preds = %7545, %7528
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %7563

7563:                                             ; preds = %7562
  br label %7564

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

7565:                                             ; No predecessors!
  br label %7566

7566:                                             ; preds = %7565
  br label %7567

7567:                                             ; preds = %7566, %7507
  br label %7568

7568:                                             ; preds = %7567
  br label %7569

7569:                                             ; preds = %7568
  br label %7570

7570:                                             ; preds = %7569
  %7571 = load i32, ptr @test_count, align 4, !tbaa !5
  %7572 = add nsw i32 %7571, 1
  store i32 %7572, ptr @test_count, align 4, !tbaa !5
  %7573 = load ptr, ptr %157, align 8, !tbaa !9
  %7574 = getelementptr inbounds [8 x i8], ptr %152, i64 0, i64 0
  %7575 = call i32 @s2n_psk_set_early_data_context(ptr noundef %7573, ptr noundef %7574, i16 noundef zeroext 8)
  %7576 = icmp eq i32 %7575, -1
  br i1 %7576, label %7577, label %7630

7577:                                             ; preds = %7570
  br label %7578

7578:                                             ; preds = %7577
  br label %7579

7579:                                             ; preds = %7578
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %7580 = call ptr @__errno_location() #12
  %7581 = load i32, ptr %7580, align 4, !tbaa !5
  store i32 %7581, ptr %161, align 4, !tbaa !5
  %7582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7583 = call i32 @s2n_print_stacktrace(ptr noundef %7582)
  %7584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7585 = trunc i8 %7584 to i1
  br i1 %7585, label %7586, label %7608

7586:                                             ; preds = %7579
  %7587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7588 = call i32 @fileno(ptr noundef %7587) #11
  %7589 = call i32 @isatty(i32 noundef %7588) #11
  %7590 = icmp ne i32 %7589, 0
  br i1 %7590, label %7591, label %7608

7591:                                             ; preds = %7586
  %7592 = load i32, ptr %161, align 4, !tbaa !5
  %7593 = call ptr @__errno_location() #12
  store i32 %7592, ptr %7593, align 4, !tbaa !5
  %7594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7595 = load i32, ptr @test_count, align 4, !tbaa !5
  %7596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7597 = load i32, ptr %7596, align 4, !tbaa !5
  %7598 = call ptr @s2n_strerror(i32 noundef %7597, ptr noundef @.str.4)
  %7599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7600 = load i32, ptr %7599, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror_debug(i32 noundef %7600, ptr noundef @.str.4)
  %7602 = call ptr @__errno_location() #12
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  %7604 = call ptr @strerror(i32 noundef %7603) #11
  %7605 = call ptr @__errno_location() #12
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7594, ptr noundef @.str.2, i32 noundef %7595, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 382, ptr noundef %7598, ptr noundef %7601, ptr noundef %7604, i32 noundef %7606) #11
  br label %7625

7608:                                             ; preds = %7586, %7579
  %7609 = load i32, ptr %161, align 4, !tbaa !5
  %7610 = call ptr @__errno_location() #12
  store i32 %7609, ptr %7610, align 4, !tbaa !5
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = load i32, ptr @test_count, align 4, !tbaa !5
  %7613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7614 = load i32, ptr %7613, align 4, !tbaa !5
  %7615 = call ptr @s2n_strerror(i32 noundef %7614, ptr noundef @.str.4)
  %7616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7617 = load i32, ptr %7616, align 4, !tbaa !5
  %7618 = call ptr @s2n_strerror_debug(i32 noundef %7617, ptr noundef @.str.4)
  %7619 = call ptr @__errno_location() #12
  %7620 = load i32, ptr %7619, align 4, !tbaa !5
  %7621 = call ptr @strerror(i32 noundef %7620) #11
  %7622 = call ptr @__errno_location() #12
  %7623 = load i32, ptr %7622, align 4, !tbaa !5
  %7624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7611, ptr noundef @.str.5, i32 noundef %7612, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 382, ptr noundef %7615, ptr noundef %7618, ptr noundef %7621, i32 noundef %7623) #11
  br label %7625

7625:                                             ; preds = %7608, %7591
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %7626

7626:                                             ; preds = %7625
  br label %7627

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

7628:                                             ; No predecessors!
  br label %7629

7629:                                             ; preds = %7628
  br label %7630

7630:                                             ; preds = %7629, %7570
  br label %7631

7631:                                             ; preds = %7630
  br label %7632

7632:                                             ; preds = %7631
  %7633 = load ptr, ptr %157, align 8, !tbaa !9
  %7634 = getelementptr inbounds %struct.s2n_psk, ptr %7633, i32 0, i32 7
  %7635 = getelementptr inbounds %struct.s2n_early_data_config, ptr %7634, i32 0, i32 1
  store i8 -1, ptr %7635, align 4, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #11
  %7636 = call ptr @s2n_external_psk_new()
  store ptr %7636, ptr %162, align 8, !tbaa !9
  br label %7637

7637:                                             ; preds = %7632
  %7638 = load i32, ptr @test_count, align 4, !tbaa !5
  %7639 = add nsw i32 %7638, 1
  store i32 %7639, ptr @test_count, align 4, !tbaa !5
  %7640 = load ptr, ptr %162, align 8, !tbaa !9
  %7641 = getelementptr inbounds [6 x i8], ptr %150, i64 0, i64 0
  %7642 = call i32 @s2n_psk_set_application_protocol(ptr noundef %7640, ptr noundef %7641, i8 noundef zeroext 6)
  %7643 = icmp eq i32 %7642, -1
  br i1 %7643, label %7644, label %7697

7644:                                             ; preds = %7637
  br label %7645

7645:                                             ; preds = %7644
  br label %7646

7646:                                             ; preds = %7645
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %7647 = call ptr @__errno_location() #12
  %7648 = load i32, ptr %7647, align 4, !tbaa !5
  store i32 %7648, ptr %163, align 4, !tbaa !5
  %7649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7650 = call i32 @s2n_print_stacktrace(ptr noundef %7649)
  %7651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7652 = trunc i8 %7651 to i1
  br i1 %7652, label %7653, label %7675

7653:                                             ; preds = %7646
  %7654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7655 = call i32 @fileno(ptr noundef %7654) #11
  %7656 = call i32 @isatty(i32 noundef %7655) #11
  %7657 = icmp ne i32 %7656, 0
  br i1 %7657, label %7658, label %7675

7658:                                             ; preds = %7653
  %7659 = load i32, ptr %163, align 4, !tbaa !5
  %7660 = call ptr @__errno_location() #12
  store i32 %7659, ptr %7660, align 4, !tbaa !5
  %7661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7662 = load i32, ptr @test_count, align 4, !tbaa !5
  %7663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror(i32 noundef %7664, ptr noundef @.str.4)
  %7666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @s2n_strerror_debug(i32 noundef %7667, ptr noundef @.str.4)
  %7669 = call ptr @__errno_location() #12
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @strerror(i32 noundef %7670) #11
  %7672 = call ptr @__errno_location() #12
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7661, ptr noundef @.str.2, i32 noundef %7662, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 386, ptr noundef %7665, ptr noundef %7668, ptr noundef %7671, i32 noundef %7673) #11
  br label %7692

7675:                                             ; preds = %7653, %7646
  %7676 = load i32, ptr %163, align 4, !tbaa !5
  %7677 = call ptr @__errno_location() #12
  store i32 %7676, ptr %7677, align 4, !tbaa !5
  %7678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7679 = load i32, ptr @test_count, align 4, !tbaa !5
  %7680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7681 = load i32, ptr %7680, align 4, !tbaa !5
  %7682 = call ptr @s2n_strerror(i32 noundef %7681, ptr noundef @.str.4)
  %7683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7684 = load i32, ptr %7683, align 4, !tbaa !5
  %7685 = call ptr @s2n_strerror_debug(i32 noundef %7684, ptr noundef @.str.4)
  %7686 = call ptr @__errno_location() #12
  %7687 = load i32, ptr %7686, align 4, !tbaa !5
  %7688 = call ptr @strerror(i32 noundef %7687) #11
  %7689 = call ptr @__errno_location() #12
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7678, ptr noundef @.str.5, i32 noundef %7679, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 386, ptr noundef %7682, ptr noundef %7685, ptr noundef %7688, i32 noundef %7690) #11
  br label %7692

7692:                                             ; preds = %7675, %7658
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %7693

7693:                                             ; preds = %7692
  br label %7694

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

7695:                                             ; No predecessors!
  br label %7696

7696:                                             ; preds = %7695
  br label %7697

7697:                                             ; preds = %7696, %7637
  br label %7698

7698:                                             ; preds = %7697
  br label %7699

7699:                                             ; preds = %7698
  br label %7700

7700:                                             ; preds = %7699
  %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 %162, align 8, !tbaa !9
  %7704 = icmp eq ptr %7703, null
  br i1 %7704, label %7705, label %7758

7705:                                             ; preds = %7700
  br label %7706

7706:                                             ; preds = %7705
  br label %7707

7707:                                             ; preds = %7706
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %7708 = call ptr @__errno_location() #12
  %7709 = load i32, ptr %7708, align 4, !tbaa !5
  store i32 %7709, ptr %164, align 4, !tbaa !5
  %7710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7711 = call i32 @s2n_print_stacktrace(ptr noundef %7710)
  %7712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7713 = trunc i8 %7712 to i1
  br i1 %7713, label %7714, label %7736

7714:                                             ; preds = %7707
  %7715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7716 = call i32 @fileno(ptr noundef %7715) #11
  %7717 = call i32 @isatty(i32 noundef %7716) #11
  %7718 = icmp ne i32 %7717, 0
  br i1 %7718, label %7719, label %7736

7719:                                             ; preds = %7714
  %7720 = load i32, ptr %164, align 4, !tbaa !5
  %7721 = call ptr @__errno_location() #12
  store i32 %7720, ptr %7721, align 4, !tbaa !5
  %7722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7723 = load i32, ptr @test_count, align 4, !tbaa !5
  %7724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7725 = load i32, ptr %7724, align 4, !tbaa !5
  %7726 = call ptr @s2n_strerror(i32 noundef %7725, ptr noundef @.str.4)
  %7727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7728 = load i32, ptr %7727, align 4, !tbaa !5
  %7729 = call ptr @s2n_strerror_debug(i32 noundef %7728, ptr noundef @.str.4)
  %7730 = call ptr @__errno_location() #12
  %7731 = load i32, ptr %7730, align 4, !tbaa !5
  %7732 = call ptr @strerror(i32 noundef %7731) #11
  %7733 = call ptr @__errno_location() #12
  %7734 = load i32, ptr %7733, align 4, !tbaa !5
  %7735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7722, ptr noundef @.str.2, i32 noundef %7723, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 387, ptr noundef %7726, ptr noundef %7729, ptr noundef %7732, i32 noundef %7734) #11
  br label %7753

7736:                                             ; preds = %7714, %7707
  %7737 = load i32, ptr %164, align 4, !tbaa !5
  %7738 = call ptr @__errno_location() #12
  store i32 %7737, ptr %7738, align 4, !tbaa !5
  %7739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7740 = load i32, ptr @test_count, align 4, !tbaa !5
  %7741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7742 = load i32, ptr %7741, align 4, !tbaa !5
  %7743 = call ptr @s2n_strerror(i32 noundef %7742, ptr noundef @.str.4)
  %7744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7745 = load i32, ptr %7744, align 4, !tbaa !5
  %7746 = call ptr @s2n_strerror_debug(i32 noundef %7745, ptr noundef @.str.4)
  %7747 = call ptr @__errno_location() #12
  %7748 = load i32, ptr %7747, align 4, !tbaa !5
  %7749 = call ptr @strerror(i32 noundef %7748) #11
  %7750 = call ptr @__errno_location() #12
  %7751 = load i32, ptr %7750, align 4, !tbaa !5
  %7752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7739, ptr noundef @.str.5, i32 noundef %7740, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 387, ptr noundef %7743, ptr noundef %7746, ptr noundef %7749, i32 noundef %7751) #11
  br label %7753

7753:                                             ; preds = %7736, %7719
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %7754

7754:                                             ; preds = %7753
  br label %7755

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

7756:                                             ; No predecessors!
  br label %7757

7757:                                             ; preds = %7756
  br label %7758

7758:                                             ; preds = %7757, %7700
  br label %7759

7759:                                             ; preds = %7758
  br label %7760

7760:                                             ; preds = %7759
  %7761 = load i64, ptr %156, align 8, !tbaa !60
  %7762 = icmp ne i64 %7761, 0
  br i1 %7762, label %7763, label %7831

7763:                                             ; preds = %7760
  br label %7764

7764:                                             ; preds = %7763
  %7765 = load i32, ptr @test_count, align 4, !tbaa !5
  %7766 = add nsw i32 %7765, 1
  store i32 %7766, ptr @test_count, align 4, !tbaa !5
  %7767 = load ptr, ptr %162, align 8, !tbaa !9
  %7768 = load ptr, ptr %157, align 8, !tbaa !9
  %7769 = getelementptr inbounds %struct.s2n_psk, ptr %7768, i32 0, i32 7
  %7770 = call i32 @s2n_early_data_config_clone(ptr noundef %7767, ptr noundef %7769)
  %7771 = getelementptr inbounds %struct.s2n_result, ptr %165, i32 0, i32 0
  store i32 %7770, ptr %7771, align 4
  %7772 = getelementptr inbounds %struct.s2n_result, ptr %165, i32 0, i32 0
  %7773 = load i32, ptr %7772, align 4
  %7774 = call zeroext i1 @s2n_result_is_ok(i32 %7773)
  br i1 %7774, label %7828, label %7775

7775:                                             ; preds = %7764
  br label %7776

7776:                                             ; preds = %7775
  br label %7777

7777:                                             ; preds = %7776
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %7778 = call ptr @__errno_location() #12
  %7779 = load i32, ptr %7778, align 4, !tbaa !5
  store i32 %7779, ptr %166, align 4, !tbaa !5
  %7780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7781 = call i32 @s2n_print_stacktrace(ptr noundef %7780)
  %7782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7783 = trunc i8 %7782 to i1
  br i1 %7783, label %7784, label %7806

7784:                                             ; preds = %7777
  %7785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7786 = call i32 @fileno(ptr noundef %7785) #11
  %7787 = call i32 @isatty(i32 noundef %7786) #11
  %7788 = icmp ne i32 %7787, 0
  br i1 %7788, label %7789, label %7806

7789:                                             ; preds = %7784
  %7790 = load i32, ptr %166, align 4, !tbaa !5
  %7791 = call ptr @__errno_location() #12
  store i32 %7790, ptr %7791, align 4, !tbaa !5
  %7792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7793 = load i32, ptr @test_count, align 4, !tbaa !5
  %7794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7795 = load i32, ptr %7794, align 4, !tbaa !5
  %7796 = call ptr @s2n_strerror(i32 noundef %7795, ptr noundef @.str.4)
  %7797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7798 = load i32, ptr %7797, align 4, !tbaa !5
  %7799 = call ptr @s2n_strerror_debug(i32 noundef %7798, ptr noundef @.str.4)
  %7800 = call ptr @__errno_location() #12
  %7801 = load i32, ptr %7800, align 4, !tbaa !5
  %7802 = call ptr @strerror(i32 noundef %7801) #11
  %7803 = call ptr @__errno_location() #12
  %7804 = load i32, ptr %7803, align 4, !tbaa !5
  %7805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7792, ptr noundef @.str.2, i32 noundef %7793, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 390, ptr noundef %7796, ptr noundef %7799, ptr noundef %7802, i32 noundef %7804) #11
  br label %7823

7806:                                             ; preds = %7784, %7777
  %7807 = load i32, ptr %166, align 4, !tbaa !5
  %7808 = call ptr @__errno_location() #12
  store i32 %7807, ptr %7808, align 4, !tbaa !5
  %7809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7810 = load i32, ptr @test_count, align 4, !tbaa !5
  %7811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7812 = load i32, ptr %7811, align 4, !tbaa !5
  %7813 = call ptr @s2n_strerror(i32 noundef %7812, ptr noundef @.str.4)
  %7814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7815 = load i32, ptr %7814, align 4, !tbaa !5
  %7816 = call ptr @s2n_strerror_debug(i32 noundef %7815, ptr noundef @.str.4)
  %7817 = call ptr @__errno_location() #12
  %7818 = load i32, ptr %7817, align 4, !tbaa !5
  %7819 = call ptr @strerror(i32 noundef %7818) #11
  %7820 = call ptr @__errno_location() #12
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  %7822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7809, ptr noundef @.str.5, i32 noundef %7810, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 390, ptr noundef %7813, ptr noundef %7816, ptr noundef %7819, i32 noundef %7821) #11
  br label %7823

7823:                                             ; preds = %7806, %7789
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %7824

7824:                                             ; preds = %7823
  br label %7825

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

7826:                                             ; No predecessors!
  br label %7827

7827:                                             ; preds = %7826
  br label %7828

7828:                                             ; preds = %7827, %7764
  br label %7829

7829:                                             ; preds = %7828
  br label %7830

7830:                                             ; preds = %7829
  br label %8024

7831:                                             ; preds = %7760
  br label %7832

7832:                                             ; preds = %7831
  %7833 = load i32, ptr @test_count, align 4, !tbaa !5
  %7834 = add nsw i32 %7833, 1
  store i32 %7834, ptr @test_count, align 4, !tbaa !5
  %7835 = load ptr, ptr %157, align 8, !tbaa !9
  %7836 = getelementptr inbounds [6 x i8], ptr %150, i64 0, i64 0
  %7837 = call i32 @s2n_psk_set_identity(ptr noundef %7835, ptr noundef %7836, i16 noundef zeroext 6)
  %7838 = icmp eq i32 %7837, -1
  br i1 %7838, label %7839, label %7892

7839:                                             ; preds = %7832
  br label %7840

7840:                                             ; preds = %7839
  br label %7841

7841:                                             ; preds = %7840
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %7842 = call ptr @__errno_location() #12
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  store i32 %7843, ptr %167, align 4, !tbaa !5
  %7844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7845 = call i32 @s2n_print_stacktrace(ptr noundef %7844)
  %7846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7847 = trunc i8 %7846 to i1
  br i1 %7847, label %7848, label %7870

7848:                                             ; preds = %7841
  %7849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7850 = call i32 @fileno(ptr noundef %7849) #11
  %7851 = call i32 @isatty(i32 noundef %7850) #11
  %7852 = icmp ne i32 %7851, 0
  br i1 %7852, label %7853, label %7870

7853:                                             ; preds = %7848
  %7854 = load i32, ptr %167, align 4, !tbaa !5
  %7855 = call ptr @__errno_location() #12
  store i32 %7854, ptr %7855, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @s2n_strerror(i32 noundef %7859, ptr noundef @.str.4)
  %7861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call ptr @s2n_strerror_debug(i32 noundef %7862, ptr noundef @.str.4)
  %7864 = call ptr @__errno_location() #12
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @strerror(i32 noundef %7865) #11
  %7867 = call ptr @__errno_location() #12
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7856, ptr noundef @.str.2, i32 noundef %7857, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 392, ptr noundef %7860, ptr noundef %7863, ptr noundef %7866, i32 noundef %7868) #11
  br label %7887

7870:                                             ; preds = %7848, %7841
  %7871 = load i32, ptr %167, align 4, !tbaa !5
  %7872 = call ptr @__errno_location() #12
  store i32 %7871, ptr %7872, align 4, !tbaa !5
  %7873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7874 = load i32, ptr @test_count, align 4, !tbaa !5
  %7875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7876 = load i32, ptr %7875, align 4, !tbaa !5
  %7877 = call ptr @s2n_strerror(i32 noundef %7876, ptr noundef @.str.4)
  %7878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7879 = load i32, ptr %7878, align 4, !tbaa !5
  %7880 = call ptr @s2n_strerror_debug(i32 noundef %7879, ptr noundef @.str.4)
  %7881 = call ptr @__errno_location() #12
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = call ptr @strerror(i32 noundef %7882) #11
  %7884 = call ptr @__errno_location() #12
  %7885 = load i32, ptr %7884, align 4, !tbaa !5
  %7886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7873, ptr noundef @.str.5, i32 noundef %7874, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 392, ptr noundef %7877, ptr noundef %7880, ptr noundef %7883, i32 noundef %7885) #11
  br label %7887

7887:                                             ; preds = %7870, %7853
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

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

7890:                                             ; No predecessors!
  br label %7891

7891:                                             ; preds = %7890
  br label %7892

7892:                                             ; preds = %7891, %7832
  br label %7893

7893:                                             ; preds = %7892
  br label %7894

7894:                                             ; preds = %7893
  br label %7895

7895:                                             ; preds = %7894
  %7896 = load i32, ptr @test_count, align 4, !tbaa !5
  %7897 = add nsw i32 %7896, 1
  store i32 %7897, ptr @test_count, align 4, !tbaa !5
  %7898 = load ptr, ptr %157, align 8, !tbaa !9
  %7899 = getelementptr inbounds [6 x i8], ptr %150, i64 0, i64 0
  %7900 = call i32 @s2n_psk_set_secret(ptr noundef %7898, ptr noundef %7899, i16 noundef zeroext 6)
  %7901 = icmp eq i32 %7900, -1
  br i1 %7901, label %7902, label %7955

7902:                                             ; preds = %7895
  br label %7903

7903:                                             ; preds = %7902
  br label %7904

7904:                                             ; preds = %7903
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %7905 = call ptr @__errno_location() #12
  %7906 = load i32, ptr %7905, align 4, !tbaa !5
  store i32 %7906, ptr %168, align 4, !tbaa !5
  %7907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7908 = call i32 @s2n_print_stacktrace(ptr noundef %7907)
  %7909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7910 = trunc i8 %7909 to i1
  br i1 %7910, label %7911, label %7933

7911:                                             ; preds = %7904
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = call i32 @fileno(ptr noundef %7912) #11
  %7914 = call i32 @isatty(i32 noundef %7913) #11
  %7915 = icmp ne i32 %7914, 0
  br i1 %7915, label %7916, label %7933

7916:                                             ; preds = %7911
  %7917 = load i32, ptr %168, align 4, !tbaa !5
  %7918 = call ptr @__errno_location() #12
  store i32 %7917, ptr %7918, align 4, !tbaa !5
  %7919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7920 = load i32, ptr @test_count, align 4, !tbaa !5
  %7921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7922 = load i32, ptr %7921, align 4, !tbaa !5
  %7923 = call ptr @s2n_strerror(i32 noundef %7922, ptr noundef @.str.4)
  %7924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7925 = load i32, ptr %7924, align 4, !tbaa !5
  %7926 = call ptr @s2n_strerror_debug(i32 noundef %7925, ptr noundef @.str.4)
  %7927 = call ptr @__errno_location() #12
  %7928 = load i32, ptr %7927, align 4, !tbaa !5
  %7929 = call ptr @strerror(i32 noundef %7928) #11
  %7930 = call ptr @__errno_location() #12
  %7931 = load i32, ptr %7930, align 4, !tbaa !5
  %7932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7919, ptr noundef @.str.2, i32 noundef %7920, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 393, ptr noundef %7923, ptr noundef %7926, ptr noundef %7929, i32 noundef %7931) #11
  br label %7950

7933:                                             ; preds = %7911, %7904
  %7934 = load i32, ptr %168, align 4, !tbaa !5
  %7935 = call ptr @__errno_location() #12
  store i32 %7934, ptr %7935, align 4, !tbaa !5
  %7936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7937 = load i32, ptr @test_count, align 4, !tbaa !5
  %7938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7939 = load i32, ptr %7938, align 4, !tbaa !5
  %7940 = call ptr @s2n_strerror(i32 noundef %7939, ptr noundef @.str.4)
  %7941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7942 = load i32, ptr %7941, align 4, !tbaa !5
  %7943 = call ptr @s2n_strerror_debug(i32 noundef %7942, ptr noundef @.str.4)
  %7944 = call ptr @__errno_location() #12
  %7945 = load i32, ptr %7944, align 4, !tbaa !5
  %7946 = call ptr @strerror(i32 noundef %7945) #11
  %7947 = call ptr @__errno_location() #12
  %7948 = load i32, ptr %7947, align 4, !tbaa !5
  %7949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7936, ptr noundef @.str.5, i32 noundef %7937, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 393, ptr noundef %7940, ptr noundef %7943, ptr noundef %7946, i32 noundef %7948) #11
  br label %7950

7950:                                             ; preds = %7933, %7916
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %7951

7951:                                             ; preds = %7950
  br label %7952

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

7953:                                             ; No predecessors!
  br label %7954

7954:                                             ; preds = %7953
  br label %7955

7955:                                             ; preds = %7954, %7895
  br label %7956

7956:                                             ; preds = %7955
  br label %7957

7957:                                             ; preds = %7956
  br label %7958

7958:                                             ; preds = %7957
  %7959 = load i32, ptr @test_count, align 4, !tbaa !5
  %7960 = add nsw i32 %7959, 1
  store i32 %7960, ptr @test_count, align 4, !tbaa !5
  %7961 = load ptr, ptr %162, align 8, !tbaa !9
  %7962 = load ptr, ptr %157, align 8, !tbaa !9
  %7963 = call i32 @s2n_psk_clone(ptr noundef %7961, ptr noundef %7962)
  %7964 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  store i32 %7963, ptr %7964, align 4
  %7965 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  %7966 = load i32, ptr %7965, align 4
  %7967 = call zeroext i1 @s2n_result_is_ok(i32 %7966)
  br i1 %7967, label %8021, label %7968

7968:                                             ; preds = %7958
  br label %7969

7969:                                             ; preds = %7968
  br label %7970

7970:                                             ; preds = %7969
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %7971 = call ptr @__errno_location() #12
  %7972 = load i32, ptr %7971, align 4, !tbaa !5
  store i32 %7972, ptr %170, align 4, !tbaa !5
  %7973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7974 = call i32 @s2n_print_stacktrace(ptr noundef %7973)
  %7975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7976 = trunc i8 %7975 to i1
  br i1 %7976, label %7977, label %7999

7977:                                             ; preds = %7970
  %7978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7979 = call i32 @fileno(ptr noundef %7978) #11
  %7980 = call i32 @isatty(i32 noundef %7979) #11
  %7981 = icmp ne i32 %7980, 0
  br i1 %7981, label %7982, label %7999

7982:                                             ; preds = %7977
  %7983 = load i32, ptr %170, align 4, !tbaa !5
  %7984 = call ptr @__errno_location() #12
  store i32 %7983, ptr %7984, align 4, !tbaa !5
  %7985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7986 = load i32, ptr @test_count, align 4, !tbaa !5
  %7987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  %7989 = call ptr @s2n_strerror(i32 noundef %7988, ptr noundef @.str.4)
  %7990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call ptr @s2n_strerror_debug(i32 noundef %7991, ptr noundef @.str.4)
  %7993 = call ptr @__errno_location() #12
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = call ptr @strerror(i32 noundef %7994) #11
  %7996 = call ptr @__errno_location() #12
  %7997 = load i32, ptr %7996, align 4, !tbaa !5
  %7998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7985, ptr noundef @.str.2, i32 noundef %7986, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 394, ptr noundef %7989, ptr noundef %7992, ptr noundef %7995, i32 noundef %7997) #11
  br label %8016

7999:                                             ; preds = %7977, %7970
  %8000 = load i32, ptr %170, align 4, !tbaa !5
  %8001 = call ptr @__errno_location() #12
  store i32 %8000, ptr %8001, align 4, !tbaa !5
  %8002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8003 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8005, ptr noundef @.str.4)
  %8007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8008 = load i32, ptr %8007, align 4, !tbaa !5
  %8009 = call ptr @s2n_strerror_debug(i32 noundef %8008, ptr noundef @.str.4)
  %8010 = call ptr @__errno_location() #12
  %8011 = load i32, ptr %8010, align 4, !tbaa !5
  %8012 = call ptr @strerror(i32 noundef %8011) #11
  %8013 = call ptr @__errno_location() #12
  %8014 = load i32, ptr %8013, align 4, !tbaa !5
  %8015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8002, ptr noundef @.str.5, i32 noundef %8003, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 394, ptr noundef %8006, ptr noundef %8009, ptr noundef %8012, i32 noundef %8014) #11
  br label %8016

8016:                                             ; preds = %7999, %7982
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %8017

8017:                                             ; preds = %8016
  br label %8018

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

8019:                                             ; No predecessors!
  br label %8020

8020:                                             ; preds = %8019
  br label %8021

8021:                                             ; preds = %8020, %7958
  br label %8022

8022:                                             ; preds = %8021
  br label %8023

8023:                                             ; preds = %8022
  br label %8024

8024:                                             ; preds = %8023, %7830
  br label %8025

8025:                                             ; preds = %8024
  %8026 = load i32, ptr @test_count, align 4, !tbaa !5
  %8027 = add nsw i32 %8026, 1
  store i32 %8027, ptr @test_count, align 4, !tbaa !5
  %8028 = load ptr, ptr %157, align 8, !tbaa !9
  %8029 = getelementptr inbounds %struct.s2n_psk, ptr %8028, i32 0, i32 7
  %8030 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8029, i32 0, i32 3
  %8031 = getelementptr inbounds %struct.s2n_blob, ptr %8030, i32 0, i32 0
  %8032 = load ptr, ptr %8031, align 8, !tbaa !56
  %8033 = load ptr, ptr %162, align 8, !tbaa !9
  %8034 = getelementptr inbounds %struct.s2n_psk, ptr %8033, i32 0, i32 7
  %8035 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8034, i32 0, i32 3
  %8036 = getelementptr inbounds %struct.s2n_blob, ptr %8035, i32 0, i32 0
  %8037 = load ptr, ptr %8036, align 8, !tbaa !56
  %8038 = icmp eq ptr %8032, %8037
  br i1 %8038, label %8039, label %8092

8039:                                             ; preds = %8025
  br label %8040

8040:                                             ; preds = %8039
  br label %8041

8041:                                             ; preds = %8040
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %8042 = call ptr @__errno_location() #12
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  store i32 %8043, ptr %171, align 4, !tbaa !5
  %8044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8045 = call i32 @s2n_print_stacktrace(ptr noundef %8044)
  %8046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8047 = trunc i8 %8046 to i1
  br i1 %8047, label %8048, label %8070

8048:                                             ; preds = %8041
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = call i32 @fileno(ptr noundef %8049) #11
  %8051 = call i32 @isatty(i32 noundef %8050) #11
  %8052 = icmp ne i32 %8051, 0
  br i1 %8052, label %8053, label %8070

8053:                                             ; preds = %8048
  %8054 = load i32, ptr %171, align 4, !tbaa !5
  %8055 = call ptr @__errno_location() #12
  store i32 %8054, ptr %8055, align 4, !tbaa !5
  %8056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8057 = load i32, ptr @test_count, align 4, !tbaa !5
  %8058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @s2n_strerror(i32 noundef %8059, ptr noundef @.str.4)
  %8061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror_debug(i32 noundef %8062, ptr noundef @.str.4)
  %8064 = call ptr @__errno_location() #12
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call ptr @strerror(i32 noundef %8065) #11
  %8067 = call ptr @__errno_location() #12
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8056, ptr noundef @.str.2, i32 noundef %8057, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 399, ptr noundef %8060, ptr noundef %8063, ptr noundef %8066, i32 noundef %8068) #11
  br label %8087

8070:                                             ; preds = %8048, %8041
  %8071 = load i32, ptr %171, align 4, !tbaa !5
  %8072 = call ptr @__errno_location() #12
  store i32 %8071, ptr %8072, align 4, !tbaa !5
  %8073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8074 = load i32, ptr @test_count, align 4, !tbaa !5
  %8075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call ptr @s2n_strerror(i32 noundef %8076, ptr noundef @.str.4)
  %8078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call ptr @s2n_strerror_debug(i32 noundef %8079, ptr noundef @.str.4)
  %8081 = call ptr @__errno_location() #12
  %8082 = load i32, ptr %8081, align 4, !tbaa !5
  %8083 = call ptr @strerror(i32 noundef %8082) #11
  %8084 = call ptr @__errno_location() #12
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  %8086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8073, ptr noundef @.str.5, i32 noundef %8074, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 399, ptr noundef %8077, ptr noundef %8080, ptr noundef %8083, i32 noundef %8085) #11
  br label %8087

8087:                                             ; preds = %8070, %8053
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %8088

8088:                                             ; preds = %8087
  br label %8089

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

8090:                                             ; No predecessors!
  br label %8091

8091:                                             ; preds = %8090
  br label %8092

8092:                                             ; preds = %8091, %8025
  br label %8093

8093:                                             ; preds = %8092
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094
  %8096 = load i32, ptr @test_count, align 4, !tbaa !5
  %8097 = add nsw i32 %8096, 1
  store i32 %8097, ptr @test_count, align 4, !tbaa !5
  %8098 = load ptr, ptr %157, align 8, !tbaa !9
  %8099 = getelementptr inbounds %struct.s2n_psk, ptr %8098, i32 0, i32 7
  %8100 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8099, i32 0, i32 4
  %8101 = getelementptr inbounds %struct.s2n_blob, ptr %8100, i32 0, i32 0
  %8102 = load ptr, ptr %8101, align 8, !tbaa !59
  %8103 = load ptr, ptr %162, align 8, !tbaa !9
  %8104 = getelementptr inbounds %struct.s2n_psk, ptr %8103, i32 0, i32 7
  %8105 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8104, i32 0, i32 4
  %8106 = getelementptr inbounds %struct.s2n_blob, ptr %8105, i32 0, i32 0
  %8107 = load ptr, ptr %8106, align 8, !tbaa !59
  %8108 = icmp eq ptr %8102, %8107
  br i1 %8108, label %8109, label %8162

8109:                                             ; preds = %8095
  br label %8110

8110:                                             ; preds = %8109
  br label %8111

8111:                                             ; preds = %8110
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %8112 = call ptr @__errno_location() #12
  %8113 = load i32, ptr %8112, align 4, !tbaa !5
  store i32 %8113, ptr %172, align 4, !tbaa !5
  %8114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8115 = call i32 @s2n_print_stacktrace(ptr noundef %8114)
  %8116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8117 = trunc i8 %8116 to i1
  br i1 %8117, label %8118, label %8140

8118:                                             ; preds = %8111
  %8119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8120 = call i32 @fileno(ptr noundef %8119) #11
  %8121 = call i32 @isatty(i32 noundef %8120) #11
  %8122 = icmp ne i32 %8121, 0
  br i1 %8122, label %8123, label %8140

8123:                                             ; preds = %8118
  %8124 = load i32, ptr %172, align 4, !tbaa !5
  %8125 = call ptr @__errno_location() #12
  store i32 %8124, ptr %8125, align 4, !tbaa !5
  %8126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8127 = load i32, ptr @test_count, align 4, !tbaa !5
  %8128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8129 = load i32, ptr %8128, align 4, !tbaa !5
  %8130 = call ptr @s2n_strerror(i32 noundef %8129, ptr noundef @.str.4)
  %8131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8132 = load i32, ptr %8131, align 4, !tbaa !5
  %8133 = call ptr @s2n_strerror_debug(i32 noundef %8132, ptr noundef @.str.4)
  %8134 = call ptr @__errno_location() #12
  %8135 = load i32, ptr %8134, align 4, !tbaa !5
  %8136 = call ptr @strerror(i32 noundef %8135) #11
  %8137 = call ptr @__errno_location() #12
  %8138 = load i32, ptr %8137, align 4, !tbaa !5
  %8139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8126, ptr noundef @.str.2, i32 noundef %8127, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 400, ptr noundef %8130, ptr noundef %8133, ptr noundef %8136, i32 noundef %8138) #11
  br label %8157

8140:                                             ; preds = %8118, %8111
  %8141 = load i32, ptr %172, align 4, !tbaa !5
  %8142 = call ptr @__errno_location() #12
  store i32 %8141, ptr %8142, align 4, !tbaa !5
  %8143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8144 = load i32, ptr @test_count, align 4, !tbaa !5
  %8145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8146 = load i32, ptr %8145, align 4, !tbaa !5
  %8147 = call ptr @s2n_strerror(i32 noundef %8146, ptr noundef @.str.4)
  %8148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8149 = load i32, ptr %8148, align 4, !tbaa !5
  %8150 = call ptr @s2n_strerror_debug(i32 noundef %8149, ptr noundef @.str.4)
  %8151 = call ptr @__errno_location() #12
  %8152 = load i32, ptr %8151, align 4, !tbaa !5
  %8153 = call ptr @strerror(i32 noundef %8152) #11
  %8154 = call ptr @__errno_location() #12
  %8155 = load i32, ptr %8154, align 4, !tbaa !5
  %8156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8143, ptr noundef @.str.5, i32 noundef %8144, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 400, ptr noundef %8147, ptr noundef %8150, ptr noundef %8153, i32 noundef %8155) #11
  br label %8157

8157:                                             ; preds = %8140, %8123
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %8158

8158:                                             ; preds = %8157
  br label %8159

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

8160:                                             ; No predecessors!
  br label %8161

8161:                                             ; preds = %8160
  br label %8162

8162:                                             ; preds = %8161, %8095
  br label %8163

8163:                                             ; preds = %8162
  br label %8164

8164:                                             ; preds = %8163
  br label %8165

8165:                                             ; preds = %8164
  %8166 = load i32, ptr @test_count, align 4, !tbaa !5
  %8167 = add nsw i32 %8166, 1
  store i32 %8167, ptr @test_count, align 4, !tbaa !5
  %8168 = call i32 @s2n_psk_free(ptr noundef %157)
  %8169 = icmp eq i32 %8168, -1
  br i1 %8169, label %8170, label %8223

8170:                                             ; preds = %8165
  br label %8171

8171:                                             ; preds = %8170
  br label %8172

8172:                                             ; preds = %8171
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %8173 = call ptr @__errno_location() #12
  %8174 = load i32, ptr %8173, align 4, !tbaa !5
  store i32 %8174, ptr %173, align 4, !tbaa !5
  %8175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8176 = call i32 @s2n_print_stacktrace(ptr noundef %8175)
  %8177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8178 = trunc i8 %8177 to i1
  br i1 %8178, label %8179, label %8201

8179:                                             ; preds = %8172
  %8180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8181 = call i32 @fileno(ptr noundef %8180) #11
  %8182 = call i32 @isatty(i32 noundef %8181) #11
  %8183 = icmp ne i32 %8182, 0
  br i1 %8183, label %8184, label %8201

8184:                                             ; preds = %8179
  %8185 = load i32, ptr %173, align 4, !tbaa !5
  %8186 = call ptr @__errno_location() #12
  store i32 %8185, ptr %8186, align 4, !tbaa !5
  %8187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8188 = load i32, ptr @test_count, align 4, !tbaa !5
  %8189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call ptr @s2n_strerror(i32 noundef %8190, ptr noundef @.str.4)
  %8192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call ptr @s2n_strerror_debug(i32 noundef %8193, ptr noundef @.str.4)
  %8195 = call ptr @__errno_location() #12
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @strerror(i32 noundef %8196) #11
  %8198 = call ptr @__errno_location() #12
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8187, ptr noundef @.str.2, i32 noundef %8188, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 403, ptr noundef %8191, ptr noundef %8194, ptr noundef %8197, i32 noundef %8199) #11
  br label %8218

8201:                                             ; preds = %8179, %8172
  %8202 = load i32, ptr %173, align 4, !tbaa !5
  %8203 = call ptr @__errno_location() #12
  store i32 %8202, ptr %8203, align 4, !tbaa !5
  %8204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8205 = load i32, ptr @test_count, align 4, !tbaa !5
  %8206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8207 = load i32, ptr %8206, align 4, !tbaa !5
  %8208 = call ptr @s2n_strerror(i32 noundef %8207, ptr noundef @.str.4)
  %8209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8210 = load i32, ptr %8209, align 4, !tbaa !5
  %8211 = call ptr @s2n_strerror_debug(i32 noundef %8210, ptr noundef @.str.4)
  %8212 = call ptr @__errno_location() #12
  %8213 = load i32, ptr %8212, align 4, !tbaa !5
  %8214 = call ptr @strerror(i32 noundef %8213) #11
  %8215 = call ptr @__errno_location() #12
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  %8217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8204, ptr noundef @.str.5, i32 noundef %8205, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 403, ptr noundef %8208, ptr noundef %8211, ptr noundef %8214, i32 noundef %8216) #11
  br label %8218

8218:                                             ; preds = %8201, %8184
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %8219

8219:                                             ; preds = %8218
  br label %8220

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

8221:                                             ; No predecessors!
  br label %8222

8222:                                             ; preds = %8221
  br label %8223

8223:                                             ; preds = %8222, %8165
  br label %8224

8224:                                             ; preds = %8223
  br label %8225

8225:                                             ; preds = %8224
  br label %8226

8226:                                             ; preds = %8225
  %8227 = load i32, ptr @test_count, align 4, !tbaa !5
  %8228 = add nsw i32 %8227, 1
  store i32 %8228, ptr @test_count, align 4, !tbaa !5
  %8229 = load ptr, ptr %162, align 8, !tbaa !9
  %8230 = getelementptr inbounds %struct.s2n_psk, ptr %8229, i32 0, i32 7
  %8231 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8230, i32 0, i32 3
  %8232 = getelementptr inbounds %struct.s2n_blob, ptr %8231, i32 0, i32 1
  %8233 = load i32, ptr %8232, align 8, !tbaa !54
  %8234 = zext i32 %8233 to i64
  %8235 = icmp eq i64 %8234, 9
  br i1 %8235, label %8289, label %8236

8236:                                             ; preds = %8226
  br label %8237

8237:                                             ; preds = %8236
  br label %8238

8238:                                             ; preds = %8237
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %8239 = call ptr @__errno_location() #12
  %8240 = load i32, ptr %8239, align 4, !tbaa !5
  store i32 %8240, ptr %174, align 4, !tbaa !5
  %8241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8242 = call i32 @s2n_print_stacktrace(ptr noundef %8241)
  %8243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8244 = trunc i8 %8243 to i1
  br i1 %8244, label %8245, label %8267

8245:                                             ; preds = %8238
  %8246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8247 = call i32 @fileno(ptr noundef %8246) #11
  %8248 = call i32 @isatty(i32 noundef %8247) #11
  %8249 = icmp ne i32 %8248, 0
  br i1 %8249, label %8250, label %8267

8250:                                             ; preds = %8245
  %8251 = load i32, ptr %174, align 4, !tbaa !5
  %8252 = call ptr @__errno_location() #12
  store i32 %8251, ptr %8252, align 4, !tbaa !5
  %8253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8254 = load i32, ptr @test_count, align 4, !tbaa !5
  %8255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8256 = load i32, ptr %8255, align 4, !tbaa !5
  %8257 = call ptr @s2n_strerror(i32 noundef %8256, ptr noundef @.str.4)
  %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_debug(i32 noundef %8259, ptr noundef @.str.4)
  %8261 = call ptr @__errno_location() #12
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call ptr @strerror(i32 noundef %8262) #11
  %8264 = call ptr @__errno_location() #12
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8253, ptr noundef @.str.2, i32 noundef %8254, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 406, ptr noundef %8257, ptr noundef %8260, ptr noundef %8263, i32 noundef %8265) #11
  br label %8284

8267:                                             ; preds = %8245, %8238
  %8268 = load i32, ptr %174, align 4, !tbaa !5
  %8269 = call ptr @__errno_location() #12
  store i32 %8268, ptr %8269, align 4, !tbaa !5
  %8270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8271 = load i32, ptr @test_count, align 4, !tbaa !5
  %8272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8273 = load i32, ptr %8272, align 4, !tbaa !5
  %8274 = call ptr @s2n_strerror(i32 noundef %8273, ptr noundef @.str.4)
  %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_debug(i32 noundef %8276, ptr noundef @.str.4)
  %8278 = call ptr @__errno_location() #12
  %8279 = load i32, ptr %8278, align 4, !tbaa !5
  %8280 = call ptr @strerror(i32 noundef %8279) #11
  %8281 = call ptr @__errno_location() #12
  %8282 = load i32, ptr %8281, align 4, !tbaa !5
  %8283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8270, ptr noundef @.str.5, i32 noundef %8271, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 406, ptr noundef %8274, ptr noundef %8277, ptr noundef %8280, i32 noundef %8282) #11
  br label %8284

8284:                                             ; preds = %8267, %8250
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %8285

8285:                                             ; preds = %8284
  br label %8286

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

8287:                                             ; No predecessors!
  br label %8288

8288:                                             ; preds = %8287
  br label %8289

8289:                                             ; preds = %8288, %8226
  br label %8290

8290:                                             ; preds = %8289
  br label %8291

8291:                                             ; preds = %8290
  br label %8292

8292:                                             ; preds = %8291
  br label %8293

8293:                                             ; preds = %8292
  %8294 = load i32, ptr @test_count, align 4, !tbaa !5
  %8295 = add nsw i32 %8294, 1
  store i32 %8295, ptr @test_count, align 4, !tbaa !5
  %8296 = load ptr, ptr %162, align 8, !tbaa !9
  %8297 = getelementptr inbounds %struct.s2n_psk, ptr %8296, i32 0, i32 7
  %8298 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8297, i32 0, i32 3
  %8299 = getelementptr inbounds %struct.s2n_blob, ptr %8298, i32 0, i32 0
  %8300 = load ptr, ptr %8299, align 8, !tbaa !56
  %8301 = getelementptr inbounds [9 x i8], ptr %151, i64 0, i64 0
  %8302 = call i32 @memcmp(ptr noundef %8300, ptr noundef %8301, i64 noundef 9) #14
  %8303 = icmp eq i32 %8302, 0
  br i1 %8303, label %8357, label %8304

8304:                                             ; preds = %8293
  br label %8305

8305:                                             ; preds = %8304
  br label %8306

8306:                                             ; preds = %8305
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %8307 = call ptr @__errno_location() #12
  %8308 = load i32, ptr %8307, align 4, !tbaa !5
  store i32 %8308, ptr %175, align 4, !tbaa !5
  %8309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8310 = call i32 @s2n_print_stacktrace(ptr noundef %8309)
  %8311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8312 = trunc i8 %8311 to i1
  br i1 %8312, label %8313, label %8335

8313:                                             ; preds = %8306
  %8314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8315 = call i32 @fileno(ptr noundef %8314) #11
  %8316 = call i32 @isatty(i32 noundef %8315) #11
  %8317 = icmp ne i32 %8316, 0
  br i1 %8317, label %8318, label %8335

8318:                                             ; preds = %8313
  %8319 = load i32, ptr %175, align 4, !tbaa !5
  %8320 = call ptr @__errno_location() #12
  store i32 %8319, ptr %8320, align 4, !tbaa !5
  %8321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8322 = load i32, ptr @test_count, align 4, !tbaa !5
  %8323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8324 = load i32, ptr %8323, align 4, !tbaa !5
  %8325 = call ptr @s2n_strerror(i32 noundef %8324, ptr noundef @.str.4)
  %8326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8327 = load i32, ptr %8326, align 4, !tbaa !5
  %8328 = call ptr @s2n_strerror_debug(i32 noundef %8327, ptr noundef @.str.4)
  %8329 = call ptr @__errno_location() #12
  %8330 = load i32, ptr %8329, align 4, !tbaa !5
  %8331 = call ptr @strerror(i32 noundef %8330) #11
  %8332 = call ptr @__errno_location() #12
  %8333 = load i32, ptr %8332, align 4, !tbaa !5
  %8334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8321, ptr noundef @.str.2, i32 noundef %8322, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 407, ptr noundef %8325, ptr noundef %8328, ptr noundef %8331, i32 noundef %8333) #11
  br label %8352

8335:                                             ; preds = %8313, %8306
  %8336 = load i32, ptr %175, align 4, !tbaa !5
  %8337 = call ptr @__errno_location() #12
  store i32 %8336, ptr %8337, align 4, !tbaa !5
  %8338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8339 = load i32, ptr @test_count, align 4, !tbaa !5
  %8340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8341 = load i32, ptr %8340, align 4, !tbaa !5
  %8342 = call ptr @s2n_strerror(i32 noundef %8341, ptr noundef @.str.4)
  %8343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8344 = load i32, ptr %8343, align 4, !tbaa !5
  %8345 = call ptr @s2n_strerror_debug(i32 noundef %8344, ptr noundef @.str.4)
  %8346 = call ptr @__errno_location() #12
  %8347 = load i32, ptr %8346, align 4, !tbaa !5
  %8348 = call ptr @strerror(i32 noundef %8347) #11
  %8349 = call ptr @__errno_location() #12
  %8350 = load i32, ptr %8349, align 4, !tbaa !5
  %8351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8338, ptr noundef @.str.5, i32 noundef %8339, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 407, ptr noundef %8342, ptr noundef %8345, ptr noundef %8348, i32 noundef %8350) #11
  br label %8352

8352:                                             ; preds = %8335, %8318
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %8353

8353:                                             ; preds = %8352
  br label %8354

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

8355:                                             ; No predecessors!
  br label %8356

8356:                                             ; preds = %8355
  br label %8357

8357:                                             ; preds = %8356, %8293
  br label %8358

8358:                                             ; preds = %8357
  br label %8359

8359:                                             ; preds = %8358
  br label %8360

8360:                                             ; preds = %8359
  br label %8361

8361:                                             ; preds = %8360
  br label %8362

8362:                                             ; preds = %8361
  %8363 = load i32, ptr @test_count, align 4, !tbaa !5
  %8364 = add nsw i32 %8363, 1
  store i32 %8364, ptr @test_count, align 4, !tbaa !5
  %8365 = load ptr, ptr %162, align 8, !tbaa !9
  %8366 = getelementptr inbounds %struct.s2n_psk, ptr %8365, i32 0, i32 7
  %8367 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8366, i32 0, i32 4
  %8368 = getelementptr inbounds %struct.s2n_blob, ptr %8367, i32 0, i32 1
  %8369 = load i32, ptr %8368, align 8, !tbaa !57
  %8370 = zext i32 %8369 to i64
  %8371 = icmp eq i64 %8370, 8
  br i1 %8371, label %8425, label %8372

8372:                                             ; preds = %8362
  br label %8373

8373:                                             ; preds = %8372
  br label %8374

8374:                                             ; preds = %8373
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %8375 = call ptr @__errno_location() #12
  %8376 = load i32, ptr %8375, align 4, !tbaa !5
  store i32 %8376, ptr %176, align 4, !tbaa !5
  %8377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8378 = call i32 @s2n_print_stacktrace(ptr noundef %8377)
  %8379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8380 = trunc i8 %8379 to i1
  br i1 %8380, label %8381, label %8403

8381:                                             ; preds = %8374
  %8382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8383 = call i32 @fileno(ptr noundef %8382) #11
  %8384 = call i32 @isatty(i32 noundef %8383) #11
  %8385 = icmp ne i32 %8384, 0
  br i1 %8385, label %8386, label %8403

8386:                                             ; preds = %8381
  %8387 = load i32, ptr %176, align 4, !tbaa !5
  %8388 = call ptr @__errno_location() #12
  store i32 %8387, ptr %8388, align 4, !tbaa !5
  %8389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8390 = load i32, ptr @test_count, align 4, !tbaa !5
  %8391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call ptr @s2n_strerror(i32 noundef %8392, ptr noundef @.str.4)
  %8394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8395 = load i32, ptr %8394, align 4, !tbaa !5
  %8396 = call ptr @s2n_strerror_debug(i32 noundef %8395, ptr noundef @.str.4)
  %8397 = call ptr @__errno_location() #12
  %8398 = load i32, ptr %8397, align 4, !tbaa !5
  %8399 = call ptr @strerror(i32 noundef %8398) #11
  %8400 = call ptr @__errno_location() #12
  %8401 = load i32, ptr %8400, align 4, !tbaa !5
  %8402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8389, ptr noundef @.str.2, i32 noundef %8390, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 410, ptr noundef %8393, ptr noundef %8396, ptr noundef %8399, i32 noundef %8401) #11
  br label %8420

8403:                                             ; preds = %8381, %8374
  %8404 = load i32, ptr %176, align 4, !tbaa !5
  %8405 = call ptr @__errno_location() #12
  store i32 %8404, ptr %8405, align 4, !tbaa !5
  %8406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8407 = load i32, ptr @test_count, align 4, !tbaa !5
  %8408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  %8410 = call ptr @s2n_strerror(i32 noundef %8409, ptr noundef @.str.4)
  %8411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8412 = load i32, ptr %8411, align 4, !tbaa !5
  %8413 = call ptr @s2n_strerror_debug(i32 noundef %8412, ptr noundef @.str.4)
  %8414 = call ptr @__errno_location() #12
  %8415 = load i32, ptr %8414, align 4, !tbaa !5
  %8416 = call ptr @strerror(i32 noundef %8415) #11
  %8417 = call ptr @__errno_location() #12
  %8418 = load i32, ptr %8417, align 4, !tbaa !5
  %8419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8406, ptr noundef @.str.5, i32 noundef %8407, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 410, ptr noundef %8410, ptr noundef %8413, ptr noundef %8416, i32 noundef %8418) #11
  br label %8420

8420:                                             ; preds = %8403, %8386
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %8421

8421:                                             ; preds = %8420
  br label %8422

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

8423:                                             ; No predecessors!
  br label %8424

8424:                                             ; preds = %8423
  br label %8425

8425:                                             ; preds = %8424, %8362
  br label %8426

8426:                                             ; preds = %8425
  br label %8427

8427:                                             ; preds = %8426
  br label %8428

8428:                                             ; preds = %8427
  br label %8429

8429:                                             ; preds = %8428
  %8430 = load i32, ptr @test_count, align 4, !tbaa !5
  %8431 = add nsw i32 %8430, 1
  store i32 %8431, ptr @test_count, align 4, !tbaa !5
  %8432 = load ptr, ptr %162, align 8, !tbaa !9
  %8433 = getelementptr inbounds %struct.s2n_psk, ptr %8432, i32 0, i32 7
  %8434 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8433, i32 0, i32 4
  %8435 = getelementptr inbounds %struct.s2n_blob, ptr %8434, i32 0, i32 0
  %8436 = load ptr, ptr %8435, align 8, !tbaa !59
  %8437 = getelementptr inbounds [8 x i8], ptr %152, i64 0, i64 0
  %8438 = call i32 @memcmp(ptr noundef %8436, ptr noundef %8437, i64 noundef 8) #14
  %8439 = icmp eq i32 %8438, 0
  br i1 %8439, label %8493, label %8440

8440:                                             ; preds = %8429
  br label %8441

8441:                                             ; preds = %8440
  br label %8442

8442:                                             ; preds = %8441
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %8443 = call ptr @__errno_location() #12
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  store i32 %8444, ptr %177, align 4, !tbaa !5
  %8445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8446 = call i32 @s2n_print_stacktrace(ptr noundef %8445)
  %8447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8448 = trunc i8 %8447 to i1
  br i1 %8448, label %8449, label %8471

8449:                                             ; preds = %8442
  %8450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8451 = call i32 @fileno(ptr noundef %8450) #11
  %8452 = call i32 @isatty(i32 noundef %8451) #11
  %8453 = icmp ne i32 %8452, 0
  br i1 %8453, label %8454, label %8471

8454:                                             ; preds = %8449
  %8455 = load i32, ptr %177, align 4, !tbaa !5
  %8456 = call ptr @__errno_location() #12
  store i32 %8455, ptr %8456, align 4, !tbaa !5
  %8457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8458 = load i32, ptr @test_count, align 4, !tbaa !5
  %8459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8460 = load i32, ptr %8459, align 4, !tbaa !5
  %8461 = call ptr @s2n_strerror(i32 noundef %8460, ptr noundef @.str.4)
  %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_debug(i32 noundef %8463, ptr noundef @.str.4)
  %8465 = call ptr @__errno_location() #12
  %8466 = load i32, ptr %8465, align 4, !tbaa !5
  %8467 = call ptr @strerror(i32 noundef %8466) #11
  %8468 = call ptr @__errno_location() #12
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  %8470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8457, ptr noundef @.str.2, i32 noundef %8458, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 411, ptr noundef %8461, ptr noundef %8464, ptr noundef %8467, i32 noundef %8469) #11
  br label %8488

8471:                                             ; preds = %8449, %8442
  %8472 = load i32, ptr %177, align 4, !tbaa !5
  %8473 = call ptr @__errno_location() #12
  store i32 %8472, ptr %8473, align 4, !tbaa !5
  %8474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8475 = load i32, ptr @test_count, align 4, !tbaa !5
  %8476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8477 = load i32, ptr %8476, align 4, !tbaa !5
  %8478 = call ptr @s2n_strerror(i32 noundef %8477, ptr noundef @.str.4)
  %8479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8480 = load i32, ptr %8479, align 4, !tbaa !5
  %8481 = call ptr @s2n_strerror_debug(i32 noundef %8480, ptr noundef @.str.4)
  %8482 = call ptr @__errno_location() #12
  %8483 = load i32, ptr %8482, align 4, !tbaa !5
  %8484 = call ptr @strerror(i32 noundef %8483) #11
  %8485 = call ptr @__errno_location() #12
  %8486 = load i32, ptr %8485, align 4, !tbaa !5
  %8487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8474, ptr noundef @.str.5, i32 noundef %8475, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 411, ptr noundef %8478, ptr noundef %8481, ptr noundef %8484, i32 noundef %8486) #11
  br label %8488

8488:                                             ; preds = %8471, %8454
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %8489

8489:                                             ; preds = %8488
  br label %8490

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

8491:                                             ; No predecessors!
  br label %8492

8492:                                             ; preds = %8491
  br label %8493

8493:                                             ; preds = %8492, %8429
  br label %8494

8494:                                             ; preds = %8493
  br label %8495

8495:                                             ; preds = %8494
  br label %8496

8496:                                             ; preds = %8495
  br label %8497

8497:                                             ; preds = %8496
  br label %8498

8498:                                             ; preds = %8497
  %8499 = load i32, ptr @test_count, align 4, !tbaa !5
  %8500 = add nsw i32 %8499, 1
  store i32 %8500, ptr @test_count, align 4, !tbaa !5
  %8501 = load ptr, ptr %162, align 8, !tbaa !9
  %8502 = getelementptr inbounds %struct.s2n_psk, ptr %8501, i32 0, i32 7
  %8503 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8502, i32 0, i32 0
  %8504 = load i32, ptr %8503, align 8, !tbaa !46
  %8505 = icmp eq i32 %8504, 10
  br i1 %8505, label %8559, label %8506

8506:                                             ; preds = %8498
  br label %8507

8507:                                             ; preds = %8506
  br label %8508

8508:                                             ; preds = %8507
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %8509 = call ptr @__errno_location() #12
  %8510 = load i32, ptr %8509, align 4, !tbaa !5
  store i32 %8510, ptr %178, align 4, !tbaa !5
  %8511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8512 = call i32 @s2n_print_stacktrace(ptr noundef %8511)
  %8513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8514 = trunc i8 %8513 to i1
  br i1 %8514, label %8515, label %8537

8515:                                             ; preds = %8508
  %8516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8517 = call i32 @fileno(ptr noundef %8516) #11
  %8518 = call i32 @isatty(i32 noundef %8517) #11
  %8519 = icmp ne i32 %8518, 0
  br i1 %8519, label %8520, label %8537

8520:                                             ; preds = %8515
  %8521 = load i32, ptr %178, align 4, !tbaa !5
  %8522 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %8531 = call ptr @__errno_location() #12
  %8532 = load i32, ptr %8531, align 4, !tbaa !5
  %8533 = call ptr @strerror(i32 noundef %8532) #11
  %8534 = call ptr @__errno_location() #12
  %8535 = load i32, ptr %8534, align 4, !tbaa !5
  %8536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8523, ptr noundef @.str.2, i32 noundef %8524, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 414, ptr noundef %8527, ptr noundef %8530, ptr noundef %8533, i32 noundef %8535) #11
  br label %8554

8537:                                             ; preds = %8515, %8508
  %8538 = load i32, ptr %178, align 4, !tbaa !5
  %8539 = call ptr @__errno_location() #12
  store i32 %8538, ptr %8539, align 4, !tbaa !5
  %8540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8541 = load i32, ptr @test_count, align 4, !tbaa !5
  %8542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8543 = load i32, ptr %8542, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror(i32 noundef %8543, ptr noundef @.str.4)
  %8545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8546 = load i32, ptr %8545, align 4, !tbaa !5
  %8547 = call ptr @s2n_strerror_debug(i32 noundef %8546, ptr noundef @.str.4)
  %8548 = call ptr @__errno_location() #12
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  %8550 = call ptr @strerror(i32 noundef %8549) #11
  %8551 = call ptr @__errno_location() #12
  %8552 = load i32, ptr %8551, align 4, !tbaa !5
  %8553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8540, ptr noundef @.str.5, i32 noundef %8541, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 414, ptr noundef %8544, ptr noundef %8547, ptr noundef %8550, i32 noundef %8552) #11
  br label %8554

8554:                                             ; preds = %8537, %8520
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %8555

8555:                                             ; preds = %8554
  br label %8556

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

8557:                                             ; No predecessors!
  br label %8558

8558:                                             ; preds = %8557
  br label %8559

8559:                                             ; preds = %8558, %8498
  br label %8560

8560:                                             ; preds = %8559
  br label %8561

8561:                                             ; preds = %8560
  br label %8562

8562:                                             ; preds = %8561
  %8563 = load i32, ptr @test_count, align 4, !tbaa !5
  %8564 = add nsw i32 %8563, 1
  store i32 %8564, ptr @test_count, align 4, !tbaa !5
  %8565 = load ptr, ptr %162, align 8, !tbaa !9
  %8566 = getelementptr inbounds %struct.s2n_psk, ptr %8565, i32 0, i32 7
  %8567 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8566, i32 0, i32 2
  %8568 = load ptr, ptr %8567, align 8, !tbaa !50
  %8569 = load ptr, ptr %155, align 8, !tbaa !9
  %8570 = icmp eq ptr %8568, %8569
  br i1 %8570, label %8624, label %8571

8571:                                             ; preds = %8562
  br label %8572

8572:                                             ; preds = %8571
  br label %8573

8573:                                             ; preds = %8572
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %8574 = call ptr @__errno_location() #12
  %8575 = load i32, ptr %8574, align 4, !tbaa !5
  store i32 %8575, ptr %179, align 4, !tbaa !5
  %8576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8577 = call i32 @s2n_print_stacktrace(ptr noundef %8576)
  %8578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8579 = trunc i8 %8578 to i1
  br i1 %8579, label %8580, label %8602

8580:                                             ; preds = %8573
  %8581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8582 = call i32 @fileno(ptr noundef %8581) #11
  %8583 = call i32 @isatty(i32 noundef %8582) #11
  %8584 = icmp ne i32 %8583, 0
  br i1 %8584, label %8585, label %8602

8585:                                             ; preds = %8580
  %8586 = load i32, ptr %179, align 4, !tbaa !5
  %8587 = call ptr @__errno_location() #12
  store i32 %8586, ptr %8587, align 4, !tbaa !5
  %8588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8589 = load i32, ptr @test_count, align 4, !tbaa !5
  %8590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call ptr @s2n_strerror(i32 noundef %8591, ptr noundef @.str.4)
  %8593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8594 = load i32, ptr %8593, align 4, !tbaa !5
  %8595 = call ptr @s2n_strerror_debug(i32 noundef %8594, ptr noundef @.str.4)
  %8596 = call ptr @__errno_location() #12
  %8597 = load i32, ptr %8596, align 4, !tbaa !5
  %8598 = call ptr @strerror(i32 noundef %8597) #11
  %8599 = call ptr @__errno_location() #12
  %8600 = load i32, ptr %8599, align 4, !tbaa !5
  %8601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8588, ptr noundef @.str.2, i32 noundef %8589, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 415, ptr noundef %8592, ptr noundef %8595, ptr noundef %8598, i32 noundef %8600) #11
  br label %8619

8602:                                             ; preds = %8580, %8573
  %8603 = load i32, ptr %179, align 4, !tbaa !5
  %8604 = call ptr @__errno_location() #12
  store i32 %8603, ptr %8604, align 4, !tbaa !5
  %8605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8606 = load i32, ptr @test_count, align 4, !tbaa !5
  %8607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8608 = load i32, ptr %8607, align 4, !tbaa !5
  %8609 = call ptr @s2n_strerror(i32 noundef %8608, ptr noundef @.str.4)
  %8610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8611 = load i32, ptr %8610, align 4, !tbaa !5
  %8612 = call ptr @s2n_strerror_debug(i32 noundef %8611, ptr noundef @.str.4)
  %8613 = call ptr @__errno_location() #12
  %8614 = load i32, ptr %8613, align 4, !tbaa !5
  %8615 = call ptr @strerror(i32 noundef %8614) #11
  %8616 = call ptr @__errno_location() #12
  %8617 = load i32, ptr %8616, align 4, !tbaa !5
  %8618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8605, ptr noundef @.str.5, i32 noundef %8606, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 415, ptr noundef %8609, ptr noundef %8612, ptr noundef %8615, i32 noundef %8617) #11
  br label %8619

8619:                                             ; preds = %8602, %8585
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %8620

8620:                                             ; preds = %8619
  br label %8621

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

8622:                                             ; No predecessors!
  br label %8623

8623:                                             ; preds = %8622
  br label %8624

8624:                                             ; preds = %8623, %8562
  br label %8625

8625:                                             ; preds = %8624
  br label %8626

8626:                                             ; preds = %8625
  br label %8627

8627:                                             ; preds = %8626
  %8628 = load i32, ptr @test_count, align 4, !tbaa !5
  %8629 = add nsw i32 %8628, 1
  store i32 %8629, ptr @test_count, align 4, !tbaa !5
  %8630 = load ptr, ptr %162, align 8, !tbaa !9
  %8631 = getelementptr inbounds %struct.s2n_psk, ptr %8630, i32 0, i32 7
  %8632 = getelementptr inbounds %struct.s2n_early_data_config, ptr %8631, i32 0, i32 1
  %8633 = load i8, ptr %8632, align 4, !tbaa !49
  %8634 = zext i8 %8633 to i32
  %8635 = icmp eq i32 %8634, 255
  br i1 %8635, label %8689, label %8636

8636:                                             ; preds = %8627
  br label %8637

8637:                                             ; preds = %8636
  br label %8638

8638:                                             ; preds = %8637
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %8639 = call ptr @__errno_location() #12
  %8640 = load i32, ptr %8639, align 4, !tbaa !5
  store i32 %8640, ptr %180, align 4, !tbaa !5
  %8641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8642 = call i32 @s2n_print_stacktrace(ptr noundef %8641)
  %8643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8644 = trunc i8 %8643 to i1
  br i1 %8644, label %8645, label %8667

8645:                                             ; preds = %8638
  %8646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8647 = call i32 @fileno(ptr noundef %8646) #11
  %8648 = call i32 @isatty(i32 noundef %8647) #11
  %8649 = icmp ne i32 %8648, 0
  br i1 %8649, label %8650, label %8667

8650:                                             ; preds = %8645
  %8651 = load i32, ptr %180, align 4, !tbaa !5
  %8652 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %8661 = call ptr @__errno_location() #12
  %8662 = load i32, ptr %8661, align 4, !tbaa !5
  %8663 = call ptr @strerror(i32 noundef %8662) #11
  %8664 = call ptr @__errno_location() #12
  %8665 = load i32, ptr %8664, align 4, !tbaa !5
  %8666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8653, ptr noundef @.str.2, i32 noundef %8654, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 416, ptr noundef %8657, ptr noundef %8660, ptr noundef %8663, i32 noundef %8665) #11
  br label %8684

8667:                                             ; preds = %8645, %8638
  %8668 = load i32, ptr %180, align 4, !tbaa !5
  %8669 = call ptr @__errno_location() #12
  store i32 %8668, ptr %8669, align 4, !tbaa !5
  %8670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8671 = load i32, ptr @test_count, align 4, !tbaa !5
  %8672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8673 = load i32, ptr %8672, align 4, !tbaa !5
  %8674 = call ptr @s2n_strerror(i32 noundef %8673, ptr noundef @.str.4)
  %8675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8676 = load i32, ptr %8675, align 4, !tbaa !5
  %8677 = call ptr @s2n_strerror_debug(i32 noundef %8676, ptr noundef @.str.4)
  %8678 = call ptr @__errno_location() #12
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  %8680 = call ptr @strerror(i32 noundef %8679) #11
  %8681 = call ptr @__errno_location() #12
  %8682 = load i32, ptr %8681, align 4, !tbaa !5
  %8683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8670, ptr noundef @.str.5, i32 noundef %8671, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 416, ptr noundef %8674, ptr noundef %8677, ptr noundef %8680, i32 noundef %8682) #11
  br label %8684

8684:                                             ; preds = %8667, %8650
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %8685

8685:                                             ; preds = %8684
  br label %8686

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

8687:                                             ; No predecessors!
  br label %8688

8688:                                             ; preds = %8687
  br label %8689

8689:                                             ; preds = %8688, %8627
  br label %8690

8690:                                             ; preds = %8689
  br label %8691

8691:                                             ; preds = %8690
  %8692 = call i32 @s2n_psk_free(ptr noundef %162)
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #11
  br label %8693

8693:                                             ; preds = %8691
  %8694 = load i64, ptr %156, align 8, !tbaa !60
  %8695 = add i64 %8694, 1
  store i64 %8695, ptr %156, align 8, !tbaa !60
  br label %7370, !llvm.loop !61

8696:                                             ; preds = %7373
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %151) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %150) #11
  br label %8697

8697:                                             ; preds = %8696
  %8698 = load i32, ptr @test_count, align 4, !tbaa !5
  %8699 = add nsw i32 %8698, 1
  store i32 %8699, ptr @test_count, align 4, !tbaa !5
  %8700 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef null)
  br i1 %8700, label %8701, label %8754

8701:                                             ; preds = %8697
  br label %8702

8702:                                             ; preds = %8701
  br label %8703

8703:                                             ; preds = %8702
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %8704 = call ptr @__errno_location() #12
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  store i32 %8705, ptr %181, align 4, !tbaa !5
  %8706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8707 = call i32 @s2n_print_stacktrace(ptr noundef %8706)
  %8708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8709 = trunc i8 %8708 to i1
  br i1 %8709, label %8710, label %8732

8710:                                             ; preds = %8703
  %8711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8712 = call i32 @fileno(ptr noundef %8711) #11
  %8713 = call i32 @isatty(i32 noundef %8712) #11
  %8714 = icmp ne i32 %8713, 0
  br i1 %8714, label %8715, label %8732

8715:                                             ; preds = %8710
  %8716 = load i32, ptr %181, align 4, !tbaa !5
  %8717 = call ptr @__errno_location() #12
  store i32 %8716, ptr %8717, align 4, !tbaa !5
  %8718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8719 = load i32, ptr @test_count, align 4, !tbaa !5
  %8720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call ptr @s2n_strerror(i32 noundef %8721, ptr noundef @.str.4)
  %8723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8724 = load i32, ptr %8723, align 4, !tbaa !5
  %8725 = call ptr @s2n_strerror_debug(i32 noundef %8724, ptr noundef @.str.4)
  %8726 = call ptr @__errno_location() #12
  %8727 = load i32, ptr %8726, align 4, !tbaa !5
  %8728 = call ptr @strerror(i32 noundef %8727) #11
  %8729 = call ptr @__errno_location() #12
  %8730 = load i32, ptr %8729, align 4, !tbaa !5
  %8731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8718, ptr noundef @.str.2, i32 noundef %8719, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 423, ptr noundef %8722, ptr noundef %8725, ptr noundef %8728, i32 noundef %8730) #11
  br label %8749

8732:                                             ; preds = %8710, %8703
  %8733 = load i32, ptr %181, align 4, !tbaa !5
  %8734 = call ptr @__errno_location() #12
  store i32 %8733, ptr %8734, align 4, !tbaa !5
  %8735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8736 = load i32, ptr @test_count, align 4, !tbaa !5
  %8737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8738 = load i32, ptr %8737, align 4, !tbaa !5
  %8739 = call ptr @s2n_strerror(i32 noundef %8738, ptr noundef @.str.4)
  %8740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8741 = load i32, ptr %8740, align 4, !tbaa !5
  %8742 = call ptr @s2n_strerror_debug(i32 noundef %8741, ptr noundef @.str.4)
  %8743 = call ptr @__errno_location() #12
  %8744 = load i32, ptr %8743, align 4, !tbaa !5
  %8745 = call ptr @strerror(i32 noundef %8744) #11
  %8746 = call ptr @__errno_location() #12
  %8747 = load i32, ptr %8746, align 4, !tbaa !5
  %8748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8735, ptr noundef @.str.5, i32 noundef %8736, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 423, ptr noundef %8739, ptr noundef %8742, ptr noundef %8745, i32 noundef %8747) #11
  br label %8749

8749:                                             ; preds = %8732, %8715
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %8750

8750:                                             ; preds = %8749
  br label %8751

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

8752:                                             ; No predecessors!
  br label %8753

8753:                                             ; preds = %8752
  br label %8754

8754:                                             ; preds = %8753, %8697
  br label %8755

8755:                                             ; preds = %8754
  br label %8756

8756:                                             ; preds = %8755
  call void @llvm.lifetime.start.p0(i64 8, ptr %182) #11
  %8757 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8757, ptr %182, align 8, !tbaa !9
  br label %8758

8758:                                             ; preds = %8756
  %8759 = load i32, ptr @test_count, align 4, !tbaa !5
  %8760 = add nsw i32 %8759, 1
  store i32 %8760, ptr @test_count, align 4, !tbaa !5
  %8761 = load ptr, ptr %182, align 8, !tbaa !9
  %8762 = icmp eq ptr %8761, null
  br i1 %8762, label %8763, label %8816

8763:                                             ; preds = %8758
  br label %8764

8764:                                             ; preds = %8763
  br label %8765

8765:                                             ; preds = %8764
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %8766 = call ptr @__errno_location() #12
  %8767 = load i32, ptr %8766, align 4, !tbaa !5
  store i32 %8767, ptr %183, align 4, !tbaa !5
  %8768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8769 = call i32 @s2n_print_stacktrace(ptr noundef %8768)
  %8770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8771 = trunc i8 %8770 to i1
  br i1 %8771, label %8772, label %8794

8772:                                             ; preds = %8765
  %8773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8774 = call i32 @fileno(ptr noundef %8773) #11
  %8775 = call i32 @isatty(i32 noundef %8774) #11
  %8776 = icmp ne i32 %8775, 0
  br i1 %8776, label %8777, label %8794

8777:                                             ; preds = %8772
  %8778 = load i32, ptr %183, align 4, !tbaa !5
  %8779 = call ptr @__errno_location() #12
  store i32 %8778, ptr %8779, align 4, !tbaa !5
  %8780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8781 = load i32, ptr @test_count, align 4, !tbaa !5
  %8782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8783 = load i32, ptr %8782, align 4, !tbaa !5
  %8784 = call ptr @s2n_strerror(i32 noundef %8783, ptr noundef @.str.4)
  %8785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8786 = load i32, ptr %8785, align 4, !tbaa !5
  %8787 = call ptr @s2n_strerror_debug(i32 noundef %8786, ptr noundef @.str.4)
  %8788 = call ptr @__errno_location() #12
  %8789 = load i32, ptr %8788, align 4, !tbaa !5
  %8790 = call ptr @strerror(i32 noundef %8789) #11
  %8791 = call ptr @__errno_location() #12
  %8792 = load i32, ptr %8791, align 4, !tbaa !5
  %8793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8780, ptr noundef @.str.2, i32 noundef %8781, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 435, ptr noundef %8784, ptr noundef %8787, ptr noundef %8790, i32 noundef %8792) #11
  br label %8811

8794:                                             ; preds = %8772, %8765
  %8795 = load i32, ptr %183, align 4, !tbaa !5
  %8796 = call ptr @__errno_location() #12
  store i32 %8795, ptr %8796, align 4, !tbaa !5
  %8797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8798 = load i32, ptr @test_count, align 4, !tbaa !5
  %8799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8800 = load i32, ptr %8799, align 4, !tbaa !5
  %8801 = call ptr @s2n_strerror(i32 noundef %8800, ptr noundef @.str.4)
  %8802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8803 = load i32, ptr %8802, align 4, !tbaa !5
  %8804 = call ptr @s2n_strerror_debug(i32 noundef %8803, ptr noundef @.str.4)
  %8805 = call ptr @__errno_location() #12
  %8806 = load i32, ptr %8805, align 4, !tbaa !5
  %8807 = call ptr @strerror(i32 noundef %8806) #11
  %8808 = call ptr @__errno_location() #12
  %8809 = load i32, ptr %8808, align 4, !tbaa !5
  %8810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8797, ptr noundef @.str.5, i32 noundef %8798, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 435, ptr noundef %8801, ptr noundef %8804, ptr noundef %8807, i32 noundef %8809) #11
  br label %8811

8811:                                             ; preds = %8794, %8777
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %8812

8812:                                             ; preds = %8811
  br label %8813

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

8814:                                             ; No predecessors!
  br label %8815

8815:                                             ; preds = %8814
  br label %8816

8816:                                             ; preds = %8815, %8758
  br label %8817

8817:                                             ; preds = %8816
  br label %8818

8818:                                             ; preds = %8817
  br label %8819

8819:                                             ; preds = %8818
  %8820 = load i32, ptr @test_count, align 4, !tbaa !5
  %8821 = add nsw i32 %8820, 1
  store i32 %8821, ptr @test_count, align 4, !tbaa !5
  %8822 = load ptr, ptr %182, align 8, !tbaa !9
  %8823 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %8822, ptr noundef @.str.84)
  %8824 = icmp eq i32 %8823, -1
  br i1 %8824, label %8825, label %8878

8825:                                             ; preds = %8819
  br label %8826

8826:                                             ; preds = %8825
  br label %8827

8827:                                             ; preds = %8826
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %8828 = call ptr @__errno_location() #12
  %8829 = load i32, ptr %8828, align 4, !tbaa !5
  store i32 %8829, ptr %184, align 4, !tbaa !5
  %8830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8831 = call i32 @s2n_print_stacktrace(ptr noundef %8830)
  %8832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8833 = trunc i8 %8832 to i1
  br i1 %8833, label %8834, label %8856

8834:                                             ; preds = %8827
  %8835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8836 = call i32 @fileno(ptr noundef %8835) #11
  %8837 = call i32 @isatty(i32 noundef %8836) #11
  %8838 = icmp ne i32 %8837, 0
  br i1 %8838, label %8839, label %8856

8839:                                             ; preds = %8834
  %8840 = load i32, ptr %184, align 4, !tbaa !5
  %8841 = call ptr @__errno_location() #12
  store i32 %8840, ptr %8841, align 4, !tbaa !5
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = load i32, ptr @test_count, align 4, !tbaa !5
  %8844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8845 = load i32, ptr %8844, align 4, !tbaa !5
  %8846 = call ptr @s2n_strerror(i32 noundef %8845, ptr noundef @.str.4)
  %8847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call ptr @s2n_strerror_debug(i32 noundef %8848, ptr noundef @.str.4)
  %8850 = call ptr @__errno_location() #12
  %8851 = load i32, ptr %8850, align 4, !tbaa !5
  %8852 = call ptr @strerror(i32 noundef %8851) #11
  %8853 = call ptr @__errno_location() #12
  %8854 = load i32, ptr %8853, align 4, !tbaa !5
  %8855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8842, ptr noundef @.str.2, i32 noundef %8843, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 436, ptr noundef %8846, ptr noundef %8849, ptr noundef %8852, i32 noundef %8854) #11
  br label %8873

8856:                                             ; preds = %8834, %8827
  %8857 = load i32, ptr %184, align 4, !tbaa !5
  %8858 = call ptr @__errno_location() #12
  store i32 %8857, ptr %8858, align 4, !tbaa !5
  %8859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8860 = load i32, ptr @test_count, align 4, !tbaa !5
  %8861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8862 = load i32, ptr %8861, align 4, !tbaa !5
  %8863 = call ptr @s2n_strerror(i32 noundef %8862, ptr noundef @.str.4)
  %8864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8865 = load i32, ptr %8864, align 4, !tbaa !5
  %8866 = call ptr @s2n_strerror_debug(i32 noundef %8865, ptr noundef @.str.4)
  %8867 = call ptr @__errno_location() #12
  %8868 = load i32, ptr %8867, align 4, !tbaa !5
  %8869 = call ptr @strerror(i32 noundef %8868) #11
  %8870 = call ptr @__errno_location() #12
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  %8872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8859, ptr noundef @.str.5, i32 noundef %8860, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 436, ptr noundef %8863, ptr noundef %8866, ptr noundef %8869, i32 noundef %8871) #11
  br label %8873

8873:                                             ; preds = %8856, %8839
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %8874

8874:                                             ; preds = %8873
  br label %8875

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

8876:                                             ; No predecessors!
  br label %8877

8877:                                             ; preds = %8876
  br label %8878

8878:                                             ; preds = %8877, %8819
  br label %8879

8879:                                             ; preds = %8878
  br label %8880

8880:                                             ; preds = %8879
  %8881 = load ptr, ptr %182, align 8, !tbaa !9
  %8882 = getelementptr inbounds %struct.s2n_connection, ptr %8881, i32 0, i32 27
  %8883 = load ptr, ptr %8882, align 8, !tbaa !63
  %8884 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %8883, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %8884, align 8, !tbaa !64
  br label %8885

8885:                                             ; preds = %8880
  %8886 = load i32, ptr @test_count, align 4, !tbaa !5
  %8887 = add nsw i32 %8886, 1
  store i32 %8887, ptr @test_count, align 4, !tbaa !5
  %8888 = load ptr, ptr %182, align 8, !tbaa !9
  %8889 = call i32 @s2n_conn_choose_state_machine(ptr noundef %8888, i8 noundef zeroext 34)
  %8890 = getelementptr inbounds %struct.s2n_result, ptr %185, i32 0, i32 0
  store i32 %8889, ptr %8890, align 4
  %8891 = getelementptr inbounds %struct.s2n_result, ptr %185, i32 0, i32 0
  %8892 = load i32, ptr %8891, align 4
  %8893 = call zeroext i1 @s2n_result_is_ok(i32 %8892)
  br i1 %8893, label %8947, label %8894

8894:                                             ; preds = %8885
  br label %8895

8895:                                             ; preds = %8894
  br label %8896

8896:                                             ; preds = %8895
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %8897 = call ptr @__errno_location() #12
  %8898 = load i32, ptr %8897, align 4, !tbaa !5
  store i32 %8898, ptr %186, align 4, !tbaa !5
  %8899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8900 = call i32 @s2n_print_stacktrace(ptr noundef %8899)
  %8901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8902 = trunc i8 %8901 to i1
  br i1 %8902, label %8903, label %8925

8903:                                             ; preds = %8896
  %8904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8905 = call i32 @fileno(ptr noundef %8904) #11
  %8906 = call i32 @isatty(i32 noundef %8905) #11
  %8907 = icmp ne i32 %8906, 0
  br i1 %8907, label %8908, label %8925

8908:                                             ; preds = %8903
  %8909 = load i32, ptr %186, align 4, !tbaa !5
  %8910 = call ptr @__errno_location() #12
  store i32 %8909, ptr %8910, align 4, !tbaa !5
  %8911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8912 = load i32, ptr @test_count, align 4, !tbaa !5
  %8913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8914 = load i32, ptr %8913, align 4, !tbaa !5
  %8915 = call ptr @s2n_strerror(i32 noundef %8914, ptr noundef @.str.4)
  %8916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8917 = load i32, ptr %8916, align 4, !tbaa !5
  %8918 = call ptr @s2n_strerror_debug(i32 noundef %8917, ptr noundef @.str.4)
  %8919 = call ptr @__errno_location() #12
  %8920 = load i32, ptr %8919, align 4, !tbaa !5
  %8921 = call ptr @strerror(i32 noundef %8920) #11
  %8922 = call ptr @__errno_location() #12
  %8923 = load i32, ptr %8922, align 4, !tbaa !5
  %8924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8911, ptr noundef @.str.2, i32 noundef %8912, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8915, ptr noundef %8918, ptr noundef %8921, i32 noundef %8923) #11
  br label %8942

8925:                                             ; preds = %8903, %8896
  %8926 = load i32, ptr %186, align 4, !tbaa !5
  %8927 = call ptr @__errno_location() #12
  store i32 %8926, ptr %8927, align 4, !tbaa !5
  %8928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8929 = load i32, ptr @test_count, align 4, !tbaa !5
  %8930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8931 = load i32, ptr %8930, align 4, !tbaa !5
  %8932 = call ptr @s2n_strerror(i32 noundef %8931, ptr noundef @.str.4)
  %8933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8934 = load i32, ptr %8933, align 4, !tbaa !5
  %8935 = call ptr @s2n_strerror_debug(i32 noundef %8934, ptr noundef @.str.4)
  %8936 = call ptr @__errno_location() #12
  %8937 = load i32, ptr %8936, align 4, !tbaa !5
  %8938 = call ptr @strerror(i32 noundef %8937) #11
  %8939 = call ptr @__errno_location() #12
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8928, ptr noundef @.str.5, i32 noundef %8929, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8932, ptr noundef %8935, ptr noundef %8938, i32 noundef %8940) #11
  br label %8942

8942:                                             ; preds = %8925, %8908
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %8943

8943:                                             ; preds = %8942
  br label %8944

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

8945:                                             ; No predecessors!
  br label %8946

8946:                                             ; preds = %8945
  br label %8947

8947:                                             ; preds = %8946, %8885
  br label %8948

8948:                                             ; preds = %8947
  br label %8949

8949:                                             ; preds = %8948
  %8950 = load ptr, ptr %182, align 8, !tbaa !9
  %8951 = getelementptr inbounds %struct.s2n_connection, ptr %8950, i32 0, i32 23
  store i8 34, ptr %8951, align 4, !tbaa !69
  %8952 = load ptr, ptr %182, align 8, !tbaa !9
  %8953 = getelementptr inbounds %struct.s2n_connection, ptr %8952, i32 0, i32 89
  store i32 1, ptr %8953, align 8, !tbaa !15
  br label %8954

8954:                                             ; preds = %8949
  %8955 = load i32, ptr @test_count, align 4, !tbaa !5
  %8956 = add nsw i32 %8955, 1
  store i32 %8956, ptr @test_count, align 4, !tbaa !5
  %8957 = load ptr, ptr %182, align 8, !tbaa !9
  %8958 = getelementptr inbounds %struct.s2n_connection, ptr %8957, i32 0, i32 33
  %8959 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %8958, i32 0, i32 4
  %8960 = load ptr, ptr %8959, align 8, !tbaa !70
  %8961 = icmp eq ptr %8960, null
  br i1 %8961, label %9015, label %8962

8962:                                             ; preds = %8954
  br label %8963

8963:                                             ; preds = %8962
  br label %8964

8964:                                             ; preds = %8963
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %8965 = call ptr @__errno_location() #12
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  store i32 %8966, ptr %187, align 4, !tbaa !5
  %8967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8968 = call i32 @s2n_print_stacktrace(ptr noundef %8967)
  %8969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8970 = trunc i8 %8969 to i1
  br i1 %8970, label %8971, label %8993

8971:                                             ; preds = %8964
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = call i32 @fileno(ptr noundef %8972) #11
  %8974 = call i32 @isatty(i32 noundef %8973) #11
  %8975 = icmp ne i32 %8974, 0
  br i1 %8975, label %8976, label %8993

8976:                                             ; preds = %8971
  %8977 = load i32, ptr %187, align 4, !tbaa !5
  %8978 = call ptr @__errno_location() #12
  store i32 %8977, ptr %8978, align 4, !tbaa !5
  %8979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8980 = load i32, ptr @test_count, align 4, !tbaa !5
  %8981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8982 = load i32, ptr %8981, align 4, !tbaa !5
  %8983 = call ptr @s2n_strerror(i32 noundef %8982, ptr noundef @.str.4)
  %8984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8985 = load i32, ptr %8984, align 4, !tbaa !5
  %8986 = call ptr @s2n_strerror_debug(i32 noundef %8985, ptr noundef @.str.4)
  %8987 = call ptr @__errno_location() #12
  %8988 = load i32, ptr %8987, align 4, !tbaa !5
  %8989 = call ptr @strerror(i32 noundef %8988) #11
  %8990 = call ptr @__errno_location() #12
  %8991 = load i32, ptr %8990, align 4, !tbaa !5
  %8992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8979, ptr noundef @.str.2, i32 noundef %8980, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 443, ptr noundef %8983, ptr noundef %8986, ptr noundef %8989, i32 noundef %8991) #11
  br label %9010

8993:                                             ; preds = %8971, %8964
  %8994 = load i32, ptr %187, align 4, !tbaa !5
  %8995 = call ptr @__errno_location() #12
  store i32 %8994, ptr %8995, align 4, !tbaa !5
  %8996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8997 = load i32, ptr @test_count, align 4, !tbaa !5
  %8998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8999 = load i32, ptr %8998, align 4, !tbaa !5
  %9000 = call ptr @s2n_strerror(i32 noundef %8999, ptr noundef @.str.4)
  %9001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9002 = load i32, ptr %9001, align 4, !tbaa !5
  %9003 = call ptr @s2n_strerror_debug(i32 noundef %9002, ptr noundef @.str.4)
  %9004 = call ptr @__errno_location() #12
  %9005 = load i32, ptr %9004, align 4, !tbaa !5
  %9006 = call ptr @strerror(i32 noundef %9005) #11
  %9007 = call ptr @__errno_location() #12
  %9008 = load i32, ptr %9007, align 4, !tbaa !5
  %9009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8996, ptr noundef @.str.5, i32 noundef %8997, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 443, ptr noundef %9000, ptr noundef %9003, ptr noundef %9006, i32 noundef %9008) #11
  br label %9010

9010:                                             ; preds = %8993, %8976
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %9011

9011:                                             ; preds = %9010
  br label %9012

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

9013:                                             ; No predecessors!
  br label %9014

9014:                                             ; preds = %9013
  br label %9015

9015:                                             ; preds = %9014, %8954
  br label %9016

9016:                                             ; preds = %9015
  br label %9017

9017:                                             ; preds = %9016
  br label %9018

9018:                                             ; preds = %9017
  %9019 = load i32, ptr @test_count, align 4, !tbaa !5
  %9020 = add nsw i32 %9019, 1
  store i32 %9020, ptr @test_count, align 4, !tbaa !5
  %9021 = load ptr, ptr %182, align 8, !tbaa !9
  %9022 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %9021)
  br i1 %9022, label %9023, label %9076

9023:                                             ; preds = %9018
  br label %9024

9024:                                             ; preds = %9023
  br label %9025

9025:                                             ; preds = %9024
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %9026 = call ptr @__errno_location() #12
  %9027 = load i32, ptr %9026, align 4, !tbaa !5
  store i32 %9027, ptr %188, align 4, !tbaa !5
  %9028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9029 = call i32 @s2n_print_stacktrace(ptr noundef %9028)
  %9030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9031 = trunc i8 %9030 to i1
  br i1 %9031, label %9032, label %9054

9032:                                             ; preds = %9025
  %9033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9034 = call i32 @fileno(ptr noundef %9033) #11
  %9035 = call i32 @isatty(i32 noundef %9034) #11
  %9036 = icmp ne i32 %9035, 0
  br i1 %9036, label %9037, label %9054

9037:                                             ; preds = %9032
  %9038 = load i32, ptr %188, align 4, !tbaa !5
  %9039 = call ptr @__errno_location() #12
  store i32 %9038, ptr %9039, align 4, !tbaa !5
  %9040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9041 = load i32, ptr @test_count, align 4, !tbaa !5
  %9042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call ptr @s2n_strerror(i32 noundef %9043, ptr noundef @.str.4)
  %9045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  %9047 = call ptr @s2n_strerror_debug(i32 noundef %9046, ptr noundef @.str.4)
  %9048 = call ptr @__errno_location() #12
  %9049 = load i32, ptr %9048, align 4, !tbaa !5
  %9050 = call ptr @strerror(i32 noundef %9049) #11
  %9051 = call ptr @__errno_location() #12
  %9052 = load i32, ptr %9051, align 4, !tbaa !5
  %9053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9040, ptr noundef @.str.2, i32 noundef %9041, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 444, ptr noundef %9044, ptr noundef %9047, ptr noundef %9050, i32 noundef %9052) #11
  br label %9071

9054:                                             ; preds = %9032, %9025
  %9055 = load i32, ptr %188, align 4, !tbaa !5
  %9056 = call ptr @__errno_location() #12
  store i32 %9055, ptr %9056, align 4, !tbaa !5
  %9057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9058 = load i32, ptr @test_count, align 4, !tbaa !5
  %9059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9060 = load i32, ptr %9059, align 4, !tbaa !5
  %9061 = call ptr @s2n_strerror(i32 noundef %9060, ptr noundef @.str.4)
  %9062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9063 = load i32, ptr %9062, align 4, !tbaa !5
  %9064 = call ptr @s2n_strerror_debug(i32 noundef %9063, ptr noundef @.str.4)
  %9065 = call ptr @__errno_location() #12
  %9066 = load i32, ptr %9065, align 4, !tbaa !5
  %9067 = call ptr @strerror(i32 noundef %9066) #11
  %9068 = call ptr @__errno_location() #12
  %9069 = load i32, ptr %9068, align 4, !tbaa !5
  %9070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9057, ptr noundef @.str.5, i32 noundef %9058, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 444, ptr noundef %9061, ptr noundef %9064, ptr noundef %9067, i32 noundef %9069) #11
  br label %9071

9071:                                             ; preds = %9054, %9037
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %9072

9072:                                             ; preds = %9071
  br label %9073

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

9074:                                             ; No predecessors!
  br label %9075

9075:                                             ; preds = %9074
  br label %9076

9076:                                             ; preds = %9075, %9018
  br label %9077

9077:                                             ; preds = %9076
  br label %9078

9078:                                             ; preds = %9077
  br label %9079

9079:                                             ; preds = %9078
  %9080 = load i32, ptr @test_count, align 4, !tbaa !5
  %9081 = add nsw i32 %9080, 1
  store i32 %9081, ptr @test_count, align 4, !tbaa !5
  %9082 = load ptr, ptr %182, align 8, !tbaa !9
  %9083 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %9082, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %9084 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  store i32 %9083, ptr %9084, align 4
  %9085 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  %9086 = load i32, ptr %9085, align 4
  %9087 = call zeroext i1 @s2n_result_is_ok(i32 %9086)
  br i1 %9087, label %9141, label %9088

9088:                                             ; preds = %9079
  br label %9089

9089:                                             ; preds = %9088
  br label %9090

9090:                                             ; preds = %9089
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %9091 = call ptr @__errno_location() #12
  %9092 = load i32, ptr %9091, align 4, !tbaa !5
  store i32 %9092, ptr %190, align 4, !tbaa !5
  %9093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9094 = call i32 @s2n_print_stacktrace(ptr noundef %9093)
  %9095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9096 = trunc i8 %9095 to i1
  br i1 %9096, label %9097, label %9119

9097:                                             ; preds = %9090
  %9098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9099 = call i32 @fileno(ptr noundef %9098) #11
  %9100 = call i32 @isatty(i32 noundef %9099) #11
  %9101 = icmp ne i32 %9100, 0
  br i1 %9101, label %9102, label %9119

9102:                                             ; preds = %9097
  %9103 = load i32, ptr %190, align 4, !tbaa !5
  %9104 = call ptr @__errno_location() #12
  store i32 %9103, ptr %9104, align 4, !tbaa !5
  %9105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9106 = load i32, ptr @test_count, align 4, !tbaa !5
  %9107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  %9109 = call ptr @s2n_strerror(i32 noundef %9108, ptr noundef @.str.4)
  %9110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call ptr @s2n_strerror_debug(i32 noundef %9111, ptr noundef @.str.4)
  %9113 = call ptr @__errno_location() #12
  %9114 = load i32, ptr %9113, align 4, !tbaa !5
  %9115 = call ptr @strerror(i32 noundef %9114) #11
  %9116 = call ptr @__errno_location() #12
  %9117 = load i32, ptr %9116, align 4, !tbaa !5
  %9118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9105, ptr noundef @.str.2, i32 noundef %9106, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 446, ptr noundef %9109, ptr noundef %9112, ptr noundef %9115, i32 noundef %9117) #11
  br label %9136

9119:                                             ; preds = %9097, %9090
  %9120 = load i32, ptr %190, align 4, !tbaa !5
  %9121 = call ptr @__errno_location() #12
  store i32 %9120, ptr %9121, align 4, !tbaa !5
  %9122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9123 = load i32, ptr @test_count, align 4, !tbaa !5
  %9124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9125 = load i32, ptr %9124, align 4, !tbaa !5
  %9126 = call ptr @s2n_strerror(i32 noundef %9125, ptr noundef @.str.4)
  %9127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9128 = load i32, ptr %9127, align 4, !tbaa !5
  %9129 = call ptr @s2n_strerror_debug(i32 noundef %9128, ptr noundef @.str.4)
  %9130 = call ptr @__errno_location() #12
  %9131 = load i32, ptr %9130, align 4, !tbaa !5
  %9132 = call ptr @strerror(i32 noundef %9131) #11
  %9133 = call ptr @__errno_location() #12
  %9134 = load i32, ptr %9133, align 4, !tbaa !5
  %9135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9122, ptr noundef @.str.5, i32 noundef %9123, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 446, ptr noundef %9126, ptr noundef %9129, ptr noundef %9132, i32 noundef %9134) #11
  br label %9136

9136:                                             ; preds = %9119, %9102
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %9137

9137:                                             ; preds = %9136
  br label %9138

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

9139:                                             ; No predecessors!
  br label %9140

9140:                                             ; preds = %9139
  br label %9141

9141:                                             ; preds = %9140, %9079
  br label %9142

9142:                                             ; preds = %9141
  br label %9143

9143:                                             ; preds = %9142
  %9144 = load ptr, ptr %182, align 8, !tbaa !9
  %9145 = getelementptr inbounds %struct.s2n_connection, ptr %9144, i32 0, i32 33
  %9146 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9145, i32 0, i32 3
  store i16 5, ptr %9146, align 2, !tbaa !71
  br label %9147

9147:                                             ; preds = %9143
  %9148 = load i32, ptr @test_count, align 4, !tbaa !5
  %9149 = add nsw i32 %9148, 1
  store i32 %9149, ptr @test_count, align 4, !tbaa !5
  %9150 = load ptr, ptr %182, align 8, !tbaa !9
  %9151 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %9150)
  br i1 %9151, label %9152, label %9205

9152:                                             ; preds = %9147
  br label %9153

9153:                                             ; preds = %9152
  br label %9154

9154:                                             ; preds = %9153
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %9155 = call ptr @__errno_location() #12
  %9156 = load i32, ptr %9155, align 4, !tbaa !5
  store i32 %9156, ptr %191, align 4, !tbaa !5
  %9157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9158 = call i32 @s2n_print_stacktrace(ptr noundef %9157)
  %9159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9160 = trunc i8 %9159 to i1
  br i1 %9160, label %9161, label %9183

9161:                                             ; preds = %9154
  %9162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9163 = call i32 @fileno(ptr noundef %9162) #11
  %9164 = call i32 @isatty(i32 noundef %9163) #11
  %9165 = icmp ne i32 %9164, 0
  br i1 %9165, label %9166, label %9183

9166:                                             ; preds = %9161
  %9167 = load i32, ptr %191, align 4, !tbaa !5
  %9168 = call ptr @__errno_location() #12
  store i32 %9167, ptr %9168, align 4, !tbaa !5
  %9169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9170 = load i32, ptr @test_count, align 4, !tbaa !5
  %9171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9172 = load i32, ptr %9171, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror(i32 noundef %9172, ptr noundef @.str.4)
  %9174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call ptr @s2n_strerror_debug(i32 noundef %9175, ptr noundef @.str.4)
  %9177 = call ptr @__errno_location() #12
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call ptr @strerror(i32 noundef %9178) #11
  %9180 = call ptr @__errno_location() #12
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  %9182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9169, ptr noundef @.str.2, i32 noundef %9170, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 450, ptr noundef %9173, ptr noundef %9176, ptr noundef %9179, i32 noundef %9181) #11
  br label %9200

9183:                                             ; preds = %9161, %9154
  %9184 = load i32, ptr %191, align 4, !tbaa !5
  %9185 = call ptr @__errno_location() #12
  store i32 %9184, ptr %9185, align 4, !tbaa !5
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = load i32, ptr @test_count, align 4, !tbaa !5
  %9188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  %9190 = call ptr @s2n_strerror(i32 noundef %9189, ptr noundef @.str.4)
  %9191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9192 = load i32, ptr %9191, align 4, !tbaa !5
  %9193 = call ptr @s2n_strerror_debug(i32 noundef %9192, ptr noundef @.str.4)
  %9194 = call ptr @__errno_location() #12
  %9195 = load i32, ptr %9194, align 4, !tbaa !5
  %9196 = call ptr @strerror(i32 noundef %9195) #11
  %9197 = call ptr @__errno_location() #12
  %9198 = load i32, ptr %9197, align 4, !tbaa !5
  %9199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9186, ptr noundef @.str.5, i32 noundef %9187, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 450, ptr noundef %9190, ptr noundef %9193, ptr noundef %9196, i32 noundef %9198) #11
  br label %9200

9200:                                             ; preds = %9183, %9166
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %9201

9201:                                             ; preds = %9200
  br label %9202

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

9203:                                             ; No predecessors!
  br label %9204

9204:                                             ; preds = %9203
  br label %9205

9205:                                             ; preds = %9204, %9147
  br label %9206

9206:                                             ; preds = %9205
  br label %9207

9207:                                             ; preds = %9206
  %9208 = load ptr, ptr %182, align 8, !tbaa !9
  %9209 = getelementptr inbounds %struct.s2n_connection, ptr %9208, i32 0, i32 33
  %9210 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9209, i32 0, i32 3
  store i16 0, ptr %9210, align 2, !tbaa !71
  br label %9211

9211:                                             ; preds = %9207
  %9212 = load i32, ptr @test_count, align 4, !tbaa !5
  %9213 = add nsw i32 %9212, 1
  store i32 %9213, ptr @test_count, align 4, !tbaa !5
  %9214 = load ptr, ptr %182, align 8, !tbaa !9
  %9215 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %9214)
  br i1 %9215, label %9269, label %9216

9216:                                             ; preds = %9211
  br label %9217

9217:                                             ; preds = %9216
  br label %9218

9218:                                             ; preds = %9217
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %9219 = call ptr @__errno_location() #12
  %9220 = load i32, ptr %9219, align 4, !tbaa !5
  store i32 %9220, ptr %192, align 4, !tbaa !5
  %9221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9222 = call i32 @s2n_print_stacktrace(ptr noundef %9221)
  %9223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9224 = trunc i8 %9223 to i1
  br i1 %9224, label %9225, label %9247

9225:                                             ; preds = %9218
  %9226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9227 = call i32 @fileno(ptr noundef %9226) #11
  %9228 = call i32 @isatty(i32 noundef %9227) #11
  %9229 = icmp ne i32 %9228, 0
  br i1 %9229, label %9230, label %9247

9230:                                             ; preds = %9225
  %9231 = load i32, ptr %192, align 4, !tbaa !5
  %9232 = call ptr @__errno_location() #12
  store i32 %9231, ptr %9232, align 4, !tbaa !5
  %9233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9234 = load i32, ptr @test_count, align 4, !tbaa !5
  %9235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9236 = load i32, ptr %9235, align 4, !tbaa !5
  %9237 = call ptr @s2n_strerror(i32 noundef %9236, ptr noundef @.str.4)
  %9238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9239 = load i32, ptr %9238, align 4, !tbaa !5
  %9240 = call ptr @s2n_strerror_debug(i32 noundef %9239, ptr noundef @.str.4)
  %9241 = call ptr @__errno_location() #12
  %9242 = load i32, ptr %9241, align 4, !tbaa !5
  %9243 = call ptr @strerror(i32 noundef %9242) #11
  %9244 = call ptr @__errno_location() #12
  %9245 = load i32, ptr %9244, align 4, !tbaa !5
  %9246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9233, ptr noundef @.str.2, i32 noundef %9234, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 454, ptr noundef %9237, ptr noundef %9240, ptr noundef %9243, i32 noundef %9245) #11
  br label %9264

9247:                                             ; preds = %9225, %9218
  %9248 = load i32, ptr %192, align 4, !tbaa !5
  %9249 = call ptr @__errno_location() #12
  store i32 %9248, ptr %9249, align 4, !tbaa !5
  %9250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9251 = load i32, ptr @test_count, align 4, !tbaa !5
  %9252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9253 = load i32, ptr %9252, align 4, !tbaa !5
  %9254 = call ptr @s2n_strerror(i32 noundef %9253, ptr noundef @.str.4)
  %9255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9256 = load i32, ptr %9255, align 4, !tbaa !5
  %9257 = call ptr @s2n_strerror_debug(i32 noundef %9256, ptr noundef @.str.4)
  %9258 = call ptr @__errno_location() #12
  %9259 = load i32, ptr %9258, align 4, !tbaa !5
  %9260 = call ptr @strerror(i32 noundef %9259) #11
  %9261 = call ptr @__errno_location() #12
  %9262 = load i32, ptr %9261, align 4, !tbaa !5
  %9263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9250, ptr noundef @.str.5, i32 noundef %9251, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 454, ptr noundef %9254, ptr noundef %9257, ptr noundef %9260, i32 noundef %9262) #11
  br label %9264

9264:                                             ; preds = %9247, %9230
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %9265

9265:                                             ; preds = %9264
  br label %9266

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

9267:                                             ; No predecessors!
  br label %9268

9268:                                             ; preds = %9267
  br label %9269

9269:                                             ; preds = %9268, %9211
  br label %9270

9270:                                             ; preds = %9269
  br label %9271

9271:                                             ; preds = %9270
  br label %9272

9272:                                             ; preds = %9271
  %9273 = load i32, ptr @test_count, align 4, !tbaa !5
  %9274 = add nsw i32 %9273, 1
  store i32 %9274, ptr @test_count, align 4, !tbaa !5
  %9275 = load ptr, ptr %182, align 8, !tbaa !9
  %9276 = call i32 @s2n_connection_free(ptr noundef %9275)
  %9277 = icmp eq i32 %9276, -1
  br i1 %9277, label %9278, label %9331

9278:                                             ; preds = %9272
  br label %9279

9279:                                             ; preds = %9278
  br label %9280

9280:                                             ; preds = %9279
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %9281 = call ptr @__errno_location() #12
  %9282 = load i32, ptr %9281, align 4, !tbaa !5
  store i32 %9282, ptr %193, align 4, !tbaa !5
  %9283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9284 = call i32 @s2n_print_stacktrace(ptr noundef %9283)
  %9285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9286 = trunc i8 %9285 to i1
  br i1 %9286, label %9287, label %9309

9287:                                             ; preds = %9280
  %9288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9289 = call i32 @fileno(ptr noundef %9288) #11
  %9290 = call i32 @isatty(i32 noundef %9289) #11
  %9291 = icmp ne i32 %9290, 0
  br i1 %9291, label %9292, label %9309

9292:                                             ; preds = %9287
  %9293 = load i32, ptr %193, align 4, !tbaa !5
  %9294 = call ptr @__errno_location() #12
  store i32 %9293, ptr %9294, align 4, !tbaa !5
  %9295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9296 = load i32, ptr @test_count, align 4, !tbaa !5
  %9297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9298 = load i32, ptr %9297, align 4, !tbaa !5
  %9299 = call ptr @s2n_strerror(i32 noundef %9298, ptr noundef @.str.4)
  %9300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9301 = load i32, ptr %9300, align 4, !tbaa !5
  %9302 = call ptr @s2n_strerror_debug(i32 noundef %9301, ptr noundef @.str.4)
  %9303 = call ptr @__errno_location() #12
  %9304 = load i32, ptr %9303, align 4, !tbaa !5
  %9305 = call ptr @strerror(i32 noundef %9304) #11
  %9306 = call ptr @__errno_location() #12
  %9307 = load i32, ptr %9306, align 4, !tbaa !5
  %9308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9295, ptr noundef @.str.2, i32 noundef %9296, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 456, ptr noundef %9299, ptr noundef %9302, ptr noundef %9305, i32 noundef %9307) #11
  br label %9326

9309:                                             ; preds = %9287, %9280
  %9310 = load i32, ptr %193, align 4, !tbaa !5
  %9311 = call ptr @__errno_location() #12
  store i32 %9310, ptr %9311, align 4, !tbaa !5
  %9312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9313 = load i32, ptr @test_count, align 4, !tbaa !5
  %9314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9315 = load i32, ptr %9314, align 4, !tbaa !5
  %9316 = call ptr @s2n_strerror(i32 noundef %9315, ptr noundef @.str.4)
  %9317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9318 = load i32, ptr %9317, align 4, !tbaa !5
  %9319 = call ptr @s2n_strerror_debug(i32 noundef %9318, ptr noundef @.str.4)
  %9320 = call ptr @__errno_location() #12
  %9321 = load i32, ptr %9320, align 4, !tbaa !5
  %9322 = call ptr @strerror(i32 noundef %9321) #11
  %9323 = call ptr @__errno_location() #12
  %9324 = load i32, ptr %9323, align 4, !tbaa !5
  %9325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9312, ptr noundef @.str.5, i32 noundef %9313, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 456, ptr noundef %9316, ptr noundef %9319, ptr noundef %9322, i32 noundef %9324) #11
  br label %9326

9326:                                             ; preds = %9309, %9292
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %9327

9327:                                             ; preds = %9326
  br label %9328

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

9329:                                             ; No predecessors!
  br label %9330

9330:                                             ; preds = %9329
  br label %9331

9331:                                             ; preds = %9330, %9272
  br label %9332

9332:                                             ; preds = %9331
  br label %9333

9333:                                             ; preds = %9332
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #11
  %9334 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9334, ptr %194, align 8, !tbaa !9
  br label %9335

9335:                                             ; preds = %9333
  %9336 = load i32, ptr @test_count, align 4, !tbaa !5
  %9337 = add nsw i32 %9336, 1
  store i32 %9337, ptr @test_count, align 4, !tbaa !5
  %9338 = load ptr, ptr %194, align 8, !tbaa !9
  %9339 = icmp eq ptr %9338, null
  br i1 %9339, label %9340, label %9393

9340:                                             ; preds = %9335
  br label %9341

9341:                                             ; preds = %9340
  br label %9342

9342:                                             ; preds = %9341
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %9343 = call ptr @__errno_location() #12
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  store i32 %9344, ptr %195, align 4, !tbaa !5
  %9345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9346 = call i32 @s2n_print_stacktrace(ptr noundef %9345)
  %9347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9348 = trunc i8 %9347 to i1
  br i1 %9348, label %9349, label %9371

9349:                                             ; preds = %9342
  %9350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9351 = call i32 @fileno(ptr noundef %9350) #11
  %9352 = call i32 @isatty(i32 noundef %9351) #11
  %9353 = icmp ne i32 %9352, 0
  br i1 %9353, label %9354, label %9371

9354:                                             ; preds = %9349
  %9355 = load i32, ptr %195, align 4, !tbaa !5
  %9356 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %9365 = call ptr @__errno_location() #12
  %9366 = load i32, ptr %9365, align 4, !tbaa !5
  %9367 = call ptr @strerror(i32 noundef %9366) #11
  %9368 = call ptr @__errno_location() #12
  %9369 = load i32, ptr %9368, align 4, !tbaa !5
  %9370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9357, ptr noundef @.str.2, i32 noundef %9358, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 474, ptr noundef %9361, ptr noundef %9364, ptr noundef %9367, i32 noundef %9369) #11
  br label %9388

9371:                                             ; preds = %9349, %9342
  %9372 = load i32, ptr %195, align 4, !tbaa !5
  %9373 = call ptr @__errno_location() #12
  store i32 %9372, ptr %9373, align 4, !tbaa !5
  %9374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9375 = load i32, ptr @test_count, align 4, !tbaa !5
  %9376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9377 = load i32, ptr %9376, align 4, !tbaa !5
  %9378 = call ptr @s2n_strerror(i32 noundef %9377, ptr noundef @.str.4)
  %9379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9380 = load i32, ptr %9379, align 4, !tbaa !5
  %9381 = call ptr @s2n_strerror_debug(i32 noundef %9380, ptr noundef @.str.4)
  %9382 = call ptr @__errno_location() #12
  %9383 = load i32, ptr %9382, align 4, !tbaa !5
  %9384 = call ptr @strerror(i32 noundef %9383) #11
  %9385 = call ptr @__errno_location() #12
  %9386 = load i32, ptr %9385, align 4, !tbaa !5
  %9387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9374, ptr noundef @.str.5, i32 noundef %9375, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 474, ptr noundef %9378, ptr noundef %9381, ptr noundef %9384, i32 noundef %9386) #11
  br label %9388

9388:                                             ; preds = %9371, %9354
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %9389

9389:                                             ; preds = %9388
  br label %9390

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

9391:                                             ; No predecessors!
  br label %9392

9392:                                             ; preds = %9391
  br label %9393

9393:                                             ; preds = %9392, %9335
  br label %9394

9394:                                             ; preds = %9393
  br label %9395

9395:                                             ; preds = %9394
  br label %9396

9396:                                             ; preds = %9395
  %9397 = load i32, ptr @test_count, align 4, !tbaa !5
  %9398 = add nsw i32 %9397, 1
  store i32 %9398, ptr @test_count, align 4, !tbaa !5
  %9399 = load ptr, ptr %194, align 8, !tbaa !9
  %9400 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %9399, ptr noundef @.str.84)
  %9401 = icmp eq i32 %9400, -1
  br i1 %9401, label %9402, label %9455

9402:                                             ; preds = %9396
  br label %9403

9403:                                             ; preds = %9402
  br label %9404

9404:                                             ; preds = %9403
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %9405 = call ptr @__errno_location() #12
  %9406 = load i32, ptr %9405, align 4, !tbaa !5
  store i32 %9406, ptr %196, align 4, !tbaa !5
  %9407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9408 = call i32 @s2n_print_stacktrace(ptr noundef %9407)
  %9409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9410 = trunc i8 %9409 to i1
  br i1 %9410, label %9411, label %9433

9411:                                             ; preds = %9404
  %9412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9413 = call i32 @fileno(ptr noundef %9412) #11
  %9414 = call i32 @isatty(i32 noundef %9413) #11
  %9415 = icmp ne i32 %9414, 0
  br i1 %9415, label %9416, label %9433

9416:                                             ; preds = %9411
  %9417 = load i32, ptr %196, align 4, !tbaa !5
  %9418 = call ptr @__errno_location() #12
  store i32 %9417, ptr %9418, align 4, !tbaa !5
  %9419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9420 = load i32, ptr @test_count, align 4, !tbaa !5
  %9421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9422 = load i32, ptr %9421, align 4, !tbaa !5
  %9423 = call ptr @s2n_strerror(i32 noundef %9422, ptr noundef @.str.4)
  %9424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9425 = load i32, ptr %9424, align 4, !tbaa !5
  %9426 = call ptr @s2n_strerror_debug(i32 noundef %9425, ptr noundef @.str.4)
  %9427 = call ptr @__errno_location() #12
  %9428 = load i32, ptr %9427, align 4, !tbaa !5
  %9429 = call ptr @strerror(i32 noundef %9428) #11
  %9430 = call ptr @__errno_location() #12
  %9431 = load i32, ptr %9430, align 4, !tbaa !5
  %9432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9419, ptr noundef @.str.2, i32 noundef %9420, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 475, ptr noundef %9423, ptr noundef %9426, ptr noundef %9429, i32 noundef %9431) #11
  br label %9450

9433:                                             ; preds = %9411, %9404
  %9434 = load i32, ptr %196, align 4, !tbaa !5
  %9435 = call ptr @__errno_location() #12
  store i32 %9434, ptr %9435, align 4, !tbaa !5
  %9436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9437 = load i32, ptr @test_count, align 4, !tbaa !5
  %9438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9439 = load i32, ptr %9438, align 4, !tbaa !5
  %9440 = call ptr @s2n_strerror(i32 noundef %9439, ptr noundef @.str.4)
  %9441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9442 = load i32, ptr %9441, align 4, !tbaa !5
  %9443 = call ptr @s2n_strerror_debug(i32 noundef %9442, ptr noundef @.str.4)
  %9444 = call ptr @__errno_location() #12
  %9445 = load i32, ptr %9444, align 4, !tbaa !5
  %9446 = call ptr @strerror(i32 noundef %9445) #11
  %9447 = call ptr @__errno_location() #12
  %9448 = load i32, ptr %9447, align 4, !tbaa !5
  %9449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9436, ptr noundef @.str.5, i32 noundef %9437, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 475, ptr noundef %9440, ptr noundef %9443, ptr noundef %9446, i32 noundef %9448) #11
  br label %9450

9450:                                             ; preds = %9433, %9416
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %9451

9451:                                             ; preds = %9450
  br label %9452

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

9453:                                             ; No predecessors!
  br label %9454

9454:                                             ; preds = %9453
  br label %9455

9455:                                             ; preds = %9454, %9396
  br label %9456

9456:                                             ; preds = %9455
  br label %9457

9457:                                             ; preds = %9456
  br label %9458

9458:                                             ; preds = %9457
  %9459 = load i32, ptr @test_count, align 4, !tbaa !5
  %9460 = add nsw i32 %9459, 1
  store i32 %9460, ptr @test_count, align 4, !tbaa !5
  %9461 = load ptr, ptr %194, align 8, !tbaa !9
  %9462 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %9461, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %9463 = getelementptr inbounds %struct.s2n_result, ptr %197, i32 0, i32 0
  store i32 %9462, ptr %9463, align 4
  %9464 = getelementptr inbounds %struct.s2n_result, ptr %197, i32 0, i32 0
  %9465 = load i32, ptr %9464, align 4
  %9466 = call zeroext i1 @s2n_result_is_ok(i32 %9465)
  br i1 %9466, label %9520, label %9467

9467:                                             ; preds = %9458
  br label %9468

9468:                                             ; preds = %9467
  br label %9469

9469:                                             ; preds = %9468
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %9470 = call ptr @__errno_location() #12
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  store i32 %9471, ptr %198, align 4, !tbaa !5
  %9472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9473 = call i32 @s2n_print_stacktrace(ptr noundef %9472)
  %9474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9475 = trunc i8 %9474 to i1
  br i1 %9475, label %9476, label %9498

9476:                                             ; preds = %9469
  %9477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9478 = call i32 @fileno(ptr noundef %9477) #11
  %9479 = call i32 @isatty(i32 noundef %9478) #11
  %9480 = icmp ne i32 %9479, 0
  br i1 %9480, label %9481, label %9498

9481:                                             ; preds = %9476
  %9482 = load i32, ptr %198, align 4, !tbaa !5
  %9483 = call ptr @__errno_location() #12
  store i32 %9482, ptr %9483, align 4, !tbaa !5
  %9484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9485 = load i32, ptr @test_count, align 4, !tbaa !5
  %9486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9487 = load i32, ptr %9486, align 4, !tbaa !5
  %9488 = call ptr @s2n_strerror(i32 noundef %9487, ptr noundef @.str.4)
  %9489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9490 = load i32, ptr %9489, align 4, !tbaa !5
  %9491 = call ptr @s2n_strerror_debug(i32 noundef %9490, ptr noundef @.str.4)
  %9492 = call ptr @__errno_location() #12
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  %9494 = call ptr @strerror(i32 noundef %9493) #11
  %9495 = call ptr @__errno_location() #12
  %9496 = load i32, ptr %9495, align 4, !tbaa !5
  %9497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9484, ptr noundef @.str.2, i32 noundef %9485, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 476, ptr noundef %9488, ptr noundef %9491, ptr noundef %9494, i32 noundef %9496) #11
  br label %9515

9498:                                             ; preds = %9476, %9469
  %9499 = load i32, ptr %198, align 4, !tbaa !5
  %9500 = call ptr @__errno_location() #12
  store i32 %9499, ptr %9500, align 4, !tbaa !5
  %9501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9502 = load i32, ptr @test_count, align 4, !tbaa !5
  %9503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = call ptr @s2n_strerror(i32 noundef %9504, ptr noundef @.str.4)
  %9506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9507 = load i32, ptr %9506, align 4, !tbaa !5
  %9508 = call ptr @s2n_strerror_debug(i32 noundef %9507, ptr noundef @.str.4)
  %9509 = call ptr @__errno_location() #12
  %9510 = load i32, ptr %9509, align 4, !tbaa !5
  %9511 = call ptr @strerror(i32 noundef %9510) #11
  %9512 = call ptr @__errno_location() #12
  %9513 = load i32, ptr %9512, align 4, !tbaa !5
  %9514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9501, ptr noundef @.str.5, i32 noundef %9502, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 476, ptr noundef %9505, ptr noundef %9508, ptr noundef %9511, i32 noundef %9513) #11
  br label %9515

9515:                                             ; preds = %9498, %9481
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %9516

9516:                                             ; preds = %9515
  br label %9517

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

9518:                                             ; No predecessors!
  br label %9519

9519:                                             ; preds = %9518
  br label %9520

9520:                                             ; preds = %9519, %9458
  br label %9521

9521:                                             ; preds = %9520
  br label %9522

9522:                                             ; preds = %9521
  %9523 = load ptr, ptr %194, align 8, !tbaa !9
  %9524 = getelementptr inbounds %struct.s2n_connection, ptr %9523, i32 0, i32 27
  %9525 = load ptr, ptr %9524, align 8, !tbaa !63
  %9526 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9525, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %9526, align 8, !tbaa !64
  %9527 = load ptr, ptr %194, align 8, !tbaa !9
  %9528 = getelementptr inbounds %struct.s2n_connection, ptr %9527, i32 0, i32 89
  store i32 1, ptr %9528, align 8, !tbaa !15
  %9529 = load ptr, ptr %194, align 8, !tbaa !9
  %9530 = getelementptr inbounds %struct.s2n_connection, ptr %9529, i32 0, i32 23
  store i8 33, ptr %9530, align 4, !tbaa !69
  br label %9531

9531:                                             ; preds = %9522
  %9532 = load i32, ptr @test_count, align 4, !tbaa !5
  %9533 = add nsw i32 %9532, 1
  store i32 %9533, ptr @test_count, align 4, !tbaa !5
  %9534 = load ptr, ptr %194, align 8, !tbaa !9
  %9535 = call i32 @s2n_conn_choose_state_machine(ptr noundef %9534, i8 noundef zeroext 33)
  %9536 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  store i32 %9535, ptr %9536, align 4
  %9537 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  %9538 = load i32, ptr %9537, align 4
  %9539 = call zeroext i1 @s2n_result_is_ok(i32 %9538)
  br i1 %9539, label %9593, label %9540

9540:                                             ; preds = %9531
  br label %9541

9541:                                             ; preds = %9540
  br label %9542

9542:                                             ; preds = %9541
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %9543 = call ptr @__errno_location() #12
  %9544 = load i32, ptr %9543, align 4, !tbaa !5
  store i32 %9544, ptr %200, align 4, !tbaa !5
  %9545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9546 = call i32 @s2n_print_stacktrace(ptr noundef %9545)
  %9547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9548 = trunc i8 %9547 to i1
  br i1 %9548, label %9549, label %9571

9549:                                             ; preds = %9542
  %9550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9551 = call i32 @fileno(ptr noundef %9550) #11
  %9552 = call i32 @isatty(i32 noundef %9551) #11
  %9553 = icmp ne i32 %9552, 0
  br i1 %9553, label %9554, label %9571

9554:                                             ; preds = %9549
  %9555 = load i32, ptr %200, align 4, !tbaa !5
  %9556 = call ptr @__errno_location() #12
  store i32 %9555, ptr %9556, align 4, !tbaa !5
  %9557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9558 = load i32, ptr @test_count, align 4, !tbaa !5
  %9559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9560 = load i32, ptr %9559, align 4, !tbaa !5
  %9561 = call ptr @s2n_strerror(i32 noundef %9560, ptr noundef @.str.4)
  %9562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9563 = load i32, ptr %9562, align 4, !tbaa !5
  %9564 = call ptr @s2n_strerror_debug(i32 noundef %9563, ptr noundef @.str.4)
  %9565 = call ptr @__errno_location() #12
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  %9567 = call ptr @strerror(i32 noundef %9566) #11
  %9568 = call ptr @__errno_location() #12
  %9569 = load i32, ptr %9568, align 4, !tbaa !5
  %9570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9557, ptr noundef @.str.2, i32 noundef %9558, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 481, ptr noundef %9561, ptr noundef %9564, ptr noundef %9567, i32 noundef %9569) #11
  br label %9588

9571:                                             ; preds = %9549, %9542
  %9572 = load i32, ptr %200, align 4, !tbaa !5
  %9573 = call ptr @__errno_location() #12
  store i32 %9572, ptr %9573, align 4, !tbaa !5
  %9574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9575 = load i32, ptr @test_count, align 4, !tbaa !5
  %9576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9577 = load i32, ptr %9576, align 4, !tbaa !5
  %9578 = call ptr @s2n_strerror(i32 noundef %9577, ptr noundef @.str.4)
  %9579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9580 = load i32, ptr %9579, align 4, !tbaa !5
  %9581 = call ptr @s2n_strerror_debug(i32 noundef %9580, ptr noundef @.str.4)
  %9582 = call ptr @__errno_location() #12
  %9583 = load i32, ptr %9582, align 4, !tbaa !5
  %9584 = call ptr @strerror(i32 noundef %9583) #11
  %9585 = call ptr @__errno_location() #12
  %9586 = load i32, ptr %9585, align 4, !tbaa !5
  %9587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9574, ptr noundef @.str.5, i32 noundef %9575, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 481, ptr noundef %9578, ptr noundef %9581, ptr noundef %9584, i32 noundef %9586) #11
  br label %9588

9588:                                             ; preds = %9571, %9554
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %9589

9589:                                             ; preds = %9588
  br label %9590

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

9591:                                             ; No predecessors!
  br label %9592

9592:                                             ; preds = %9591
  br label %9593

9593:                                             ; preds = %9592, %9531
  br label %9594

9594:                                             ; preds = %9593
  br label %9595

9595:                                             ; preds = %9594
  br label %9596

9596:                                             ; preds = %9595
  %9597 = load i32, ptr @test_count, align 4, !tbaa !5
  %9598 = add nsw i32 %9597, 1
  store i32 %9598, ptr @test_count, align 4, !tbaa !5
  %9599 = load ptr, ptr %194, align 8, !tbaa !9
  %9600 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %9599)
  br i1 %9600, label %9601, label %9654

9601:                                             ; preds = %9596
  br label %9602

9602:                                             ; preds = %9601
  br label %9603

9603:                                             ; preds = %9602
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %9604 = call ptr @__errno_location() #12
  %9605 = load i32, ptr %9604, align 4, !tbaa !5
  store i32 %9605, ptr %201, align 4, !tbaa !5
  %9606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9607 = call i32 @s2n_print_stacktrace(ptr noundef %9606)
  %9608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9609 = trunc i8 %9608 to i1
  br i1 %9609, label %9610, label %9632

9610:                                             ; preds = %9603
  %9611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9612 = call i32 @fileno(ptr noundef %9611) #11
  %9613 = call i32 @isatty(i32 noundef %9612) #11
  %9614 = icmp ne i32 %9613, 0
  br i1 %9614, label %9615, label %9632

9615:                                             ; preds = %9610
  %9616 = load i32, ptr %201, align 4, !tbaa !5
  %9617 = call ptr @__errno_location() #12
  store i32 %9616, ptr %9617, align 4, !tbaa !5
  %9618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9619 = load i32, ptr @test_count, align 4, !tbaa !5
  %9620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9621 = load i32, ptr %9620, align 4, !tbaa !5
  %9622 = call ptr @s2n_strerror(i32 noundef %9621, ptr noundef @.str.4)
  %9623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9624 = load i32, ptr %9623, align 4, !tbaa !5
  %9625 = call ptr @s2n_strerror_debug(i32 noundef %9624, ptr noundef @.str.4)
  %9626 = call ptr @__errno_location() #12
  %9627 = load i32, ptr %9626, align 4, !tbaa !5
  %9628 = call ptr @strerror(i32 noundef %9627) #11
  %9629 = call ptr @__errno_location() #12
  %9630 = load i32, ptr %9629, align 4, !tbaa !5
  %9631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9618, ptr noundef @.str.2, i32 noundef %9619, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 482, ptr noundef %9622, ptr noundef %9625, ptr noundef %9628, i32 noundef %9630) #11
  br label %9649

9632:                                             ; preds = %9610, %9603
  %9633 = load i32, ptr %201, align 4, !tbaa !5
  %9634 = call ptr @__errno_location() #12
  store i32 %9633, ptr %9634, align 4, !tbaa !5
  %9635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9636 = load i32, ptr @test_count, align 4, !tbaa !5
  %9637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9638 = load i32, ptr %9637, align 4, !tbaa !5
  %9639 = call ptr @s2n_strerror(i32 noundef %9638, ptr noundef @.str.4)
  %9640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9641 = load i32, ptr %9640, align 4, !tbaa !5
  %9642 = call ptr @s2n_strerror_debug(i32 noundef %9641, ptr noundef @.str.4)
  %9643 = call ptr @__errno_location() #12
  %9644 = load i32, ptr %9643, align 4, !tbaa !5
  %9645 = call ptr @strerror(i32 noundef %9644) #11
  %9646 = call ptr @__errno_location() #12
  %9647 = load i32, ptr %9646, align 4, !tbaa !5
  %9648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9635, ptr noundef @.str.5, i32 noundef %9636, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 482, ptr noundef %9639, ptr noundef %9642, ptr noundef %9645, i32 noundef %9647) #11
  br label %9649

9649:                                             ; preds = %9632, %9615
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %9650

9650:                                             ; preds = %9649
  br label %9651

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

9652:                                             ; No predecessors!
  br label %9653

9653:                                             ; preds = %9652
  br label %9654

9654:                                             ; preds = %9653, %9596
  br label %9655

9655:                                             ; preds = %9654
  br label %9656

9656:                                             ; preds = %9655
  %9657 = load ptr, ptr %194, align 8, !tbaa !9
  %9658 = getelementptr inbounds %struct.s2n_connection, ptr %9657, i32 0, i32 52
  %9659 = getelementptr inbounds %struct.s2n_handshake, ptr %9658, i32 0, i32 12
  store i32 0, ptr %9659, align 4, !tbaa !72
  %9660 = load ptr, ptr %194, align 8, !tbaa !9
  %9661 = getelementptr inbounds %struct.s2n_connection, ptr %9660, i32 0, i32 23
  store i8 34, ptr %9661, align 4, !tbaa !69
  br label %9662

9662:                                             ; preds = %9656
  %9663 = load i32, ptr @test_count, align 4, !tbaa !5
  %9664 = add nsw i32 %9663, 1
  store i32 %9664, ptr @test_count, align 4, !tbaa !5
  %9665 = load ptr, ptr %194, align 8, !tbaa !9
  %9666 = call i32 @s2n_conn_choose_state_machine(ptr noundef %9665, i8 noundef zeroext 34)
  %9667 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  store i32 %9666, ptr %9667, align 4
  %9668 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  %9669 = load i32, ptr %9668, align 4
  %9670 = call zeroext i1 @s2n_result_is_ok(i32 %9669)
  br i1 %9670, label %9724, label %9671

9671:                                             ; preds = %9662
  br label %9672

9672:                                             ; preds = %9671
  br label %9673

9673:                                             ; preds = %9672
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %9674 = call ptr @__errno_location() #12
  %9675 = load i32, ptr %9674, align 4, !tbaa !5
  store i32 %9675, ptr %203, align 4, !tbaa !5
  %9676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9677 = call i32 @s2n_print_stacktrace(ptr noundef %9676)
  %9678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9679 = trunc i8 %9678 to i1
  br i1 %9679, label %9680, label %9702

9680:                                             ; preds = %9673
  %9681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9682 = call i32 @fileno(ptr noundef %9681) #11
  %9683 = call i32 @isatty(i32 noundef %9682) #11
  %9684 = icmp ne i32 %9683, 0
  br i1 %9684, label %9685, label %9702

9685:                                             ; preds = %9680
  %9686 = load i32, ptr %203, align 4, !tbaa !5
  %9687 = call ptr @__errno_location() #12
  store i32 %9686, ptr %9687, align 4, !tbaa !5
  %9688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9689 = load i32, ptr @test_count, align 4, !tbaa !5
  %9690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9691 = load i32, ptr %9690, align 4, !tbaa !5
  %9692 = call ptr @s2n_strerror(i32 noundef %9691, ptr noundef @.str.4)
  %9693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9694 = load i32, ptr %9693, align 4, !tbaa !5
  %9695 = call ptr @s2n_strerror_debug(i32 noundef %9694, ptr noundef @.str.4)
  %9696 = call ptr @__errno_location() #12
  %9697 = load i32, ptr %9696, align 4, !tbaa !5
  %9698 = call ptr @strerror(i32 noundef %9697) #11
  %9699 = call ptr @__errno_location() #12
  %9700 = load i32, ptr %9699, align 4, !tbaa !5
  %9701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9688, ptr noundef @.str.2, i32 noundef %9689, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 488, ptr noundef %9692, ptr noundef %9695, ptr noundef %9698, i32 noundef %9700) #11
  br label %9719

9702:                                             ; preds = %9680, %9673
  %9703 = load i32, ptr %203, align 4, !tbaa !5
  %9704 = call ptr @__errno_location() #12
  store i32 %9703, ptr %9704, align 4, !tbaa !5
  %9705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9706 = load i32, ptr @test_count, align 4, !tbaa !5
  %9707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call ptr @s2n_strerror(i32 noundef %9708, ptr noundef @.str.4)
  %9710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call ptr @s2n_strerror_debug(i32 noundef %9711, ptr noundef @.str.4)
  %9713 = call ptr @__errno_location() #12
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  %9715 = call ptr @strerror(i32 noundef %9714) #11
  %9716 = call ptr @__errno_location() #12
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9705, ptr noundef @.str.5, i32 noundef %9706, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 488, ptr noundef %9709, ptr noundef %9712, ptr noundef %9715, i32 noundef %9717) #11
  br label %9719

9719:                                             ; preds = %9702, %9685
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %9720

9720:                                             ; preds = %9719
  br label %9721

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

9722:                                             ; No predecessors!
  br label %9723

9723:                                             ; preds = %9722
  br label %9724

9724:                                             ; preds = %9723, %9662
  br label %9725

9725:                                             ; preds = %9724
  br label %9726

9726:                                             ; preds = %9725
  br label %9727

9727:                                             ; preds = %9726
  %9728 = load i32, ptr @test_count, align 4, !tbaa !5
  %9729 = add nsw i32 %9728, 1
  store i32 %9729, ptr @test_count, align 4, !tbaa !5
  %9730 = load ptr, ptr %194, align 8, !tbaa !9
  %9731 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %9730)
  br i1 %9731, label %9785, label %9732

9732:                                             ; preds = %9727
  br label %9733

9733:                                             ; preds = %9732
  br label %9734

9734:                                             ; preds = %9733
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %9735 = call ptr @__errno_location() #12
  %9736 = load i32, ptr %9735, align 4, !tbaa !5
  store i32 %9736, ptr %204, align 4, !tbaa !5
  %9737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9738 = call i32 @s2n_print_stacktrace(ptr noundef %9737)
  %9739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9740 = trunc i8 %9739 to i1
  br i1 %9740, label %9741, label %9763

9741:                                             ; preds = %9734
  %9742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9743 = call i32 @fileno(ptr noundef %9742) #11
  %9744 = call i32 @isatty(i32 noundef %9743) #11
  %9745 = icmp ne i32 %9744, 0
  br i1 %9745, label %9746, label %9763

9746:                                             ; preds = %9741
  %9747 = load i32, ptr %204, align 4, !tbaa !5
  %9748 = call ptr @__errno_location() #12
  store i32 %9747, ptr %9748, align 4, !tbaa !5
  %9749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9750 = load i32, ptr @test_count, align 4, !tbaa !5
  %9751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9752 = load i32, ptr %9751, align 4, !tbaa !5
  %9753 = call ptr @s2n_strerror(i32 noundef %9752, ptr noundef @.str.4)
  %9754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9755 = load i32, ptr %9754, align 4, !tbaa !5
  %9756 = call ptr @s2n_strerror_debug(i32 noundef %9755, ptr noundef @.str.4)
  %9757 = call ptr @__errno_location() #12
  %9758 = load i32, ptr %9757, align 4, !tbaa !5
  %9759 = call ptr @strerror(i32 noundef %9758) #11
  %9760 = call ptr @__errno_location() #12
  %9761 = load i32, ptr %9760, align 4, !tbaa !5
  %9762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9749, ptr noundef @.str.2, i32 noundef %9750, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 489, ptr noundef %9753, ptr noundef %9756, ptr noundef %9759, i32 noundef %9761) #11
  br label %9780

9763:                                             ; preds = %9741, %9734
  %9764 = load i32, ptr %204, align 4, !tbaa !5
  %9765 = call ptr @__errno_location() #12
  store i32 %9764, ptr %9765, align 4, !tbaa !5
  %9766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9767 = load i32, ptr @test_count, align 4, !tbaa !5
  %9768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9769 = load i32, ptr %9768, align 4, !tbaa !5
  %9770 = call ptr @s2n_strerror(i32 noundef %9769, ptr noundef @.str.4)
  %9771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call ptr @s2n_strerror_debug(i32 noundef %9772, ptr noundef @.str.4)
  %9774 = call ptr @__errno_location() #12
  %9775 = load i32, ptr %9774, align 4, !tbaa !5
  %9776 = call ptr @strerror(i32 noundef %9775) #11
  %9777 = call ptr @__errno_location() #12
  %9778 = load i32, ptr %9777, align 4, !tbaa !5
  %9779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9766, ptr noundef @.str.5, i32 noundef %9767, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 489, ptr noundef %9770, ptr noundef %9773, ptr noundef %9776, i32 noundef %9778) #11
  br label %9780

9780:                                             ; preds = %9763, %9746
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %9781

9781:                                             ; preds = %9780
  br label %9782

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

9783:                                             ; No predecessors!
  br label %9784

9784:                                             ; preds = %9783
  br label %9785

9785:                                             ; preds = %9784, %9727
  br label %9786

9786:                                             ; preds = %9785
  br label %9787

9787:                                             ; preds = %9786
  br label %9788

9788:                                             ; preds = %9787
  %9789 = load i32, ptr @test_count, align 4, !tbaa !5
  %9790 = add nsw i32 %9789, 1
  store i32 %9790, ptr @test_count, align 4, !tbaa !5
  %9791 = load ptr, ptr %194, align 8, !tbaa !9
  %9792 = call i32 @s2n_connection_free(ptr noundef %9791)
  %9793 = icmp eq i32 %9792, -1
  br i1 %9793, label %9794, label %9847

9794:                                             ; preds = %9788
  br label %9795

9795:                                             ; preds = %9794
  br label %9796

9796:                                             ; preds = %9795
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %9797 = call ptr @__errno_location() #12
  %9798 = load i32, ptr %9797, align 4, !tbaa !5
  store i32 %9798, ptr %205, align 4, !tbaa !5
  %9799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9800 = call i32 @s2n_print_stacktrace(ptr noundef %9799)
  %9801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9802 = trunc i8 %9801 to i1
  br i1 %9802, label %9803, label %9825

9803:                                             ; preds = %9796
  %9804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9805 = call i32 @fileno(ptr noundef %9804) #11
  %9806 = call i32 @isatty(i32 noundef %9805) #11
  %9807 = icmp ne i32 %9806, 0
  br i1 %9807, label %9808, label %9825

9808:                                             ; preds = %9803
  %9809 = load i32, ptr %205, align 4, !tbaa !5
  %9810 = call ptr @__errno_location() #12
  store i32 %9809, ptr %9810, align 4, !tbaa !5
  %9811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9812 = load i32, ptr @test_count, align 4, !tbaa !5
  %9813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9814 = load i32, ptr %9813, align 4, !tbaa !5
  %9815 = call ptr @s2n_strerror(i32 noundef %9814, ptr noundef @.str.4)
  %9816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9817 = load i32, ptr %9816, align 4, !tbaa !5
  %9818 = call ptr @s2n_strerror_debug(i32 noundef %9817, ptr noundef @.str.4)
  %9819 = call ptr @__errno_location() #12
  %9820 = load i32, ptr %9819, align 4, !tbaa !5
  %9821 = call ptr @strerror(i32 noundef %9820) #11
  %9822 = call ptr @__errno_location() #12
  %9823 = load i32, ptr %9822, align 4, !tbaa !5
  %9824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9811, ptr noundef @.str.2, i32 noundef %9812, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 491, ptr noundef %9815, ptr noundef %9818, ptr noundef %9821, i32 noundef %9823) #11
  br label %9842

9825:                                             ; preds = %9803, %9796
  %9826 = load i32, ptr %205, align 4, !tbaa !5
  %9827 = call ptr @__errno_location() #12
  store i32 %9826, ptr %9827, align 4, !tbaa !5
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = load i32, ptr @test_count, align 4, !tbaa !5
  %9830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9831 = load i32, ptr %9830, align 4, !tbaa !5
  %9832 = call ptr @s2n_strerror(i32 noundef %9831, ptr noundef @.str.4)
  %9833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror_debug(i32 noundef %9834, ptr noundef @.str.4)
  %9836 = call ptr @__errno_location() #12
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @strerror(i32 noundef %9837) #11
  %9839 = call ptr @__errno_location() #12
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9828, ptr noundef @.str.5, i32 noundef %9829, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 491, ptr noundef %9832, ptr noundef %9835, ptr noundef %9838, i32 noundef %9840) #11
  br label %9842

9842:                                             ; preds = %9825, %9808
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %9843

9843:                                             ; preds = %9842
  br label %9844

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

9845:                                             ; No predecessors!
  br label %9846

9846:                                             ; preds = %9845
  br label %9847

9847:                                             ; preds = %9846, %9788
  br label %9848

9848:                                             ; preds = %9847
  br label %9849

9849:                                             ; preds = %9848
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %206) #11
  %9850 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9850, ptr %206, align 8, !tbaa !9
  br label %9851

9851:                                             ; preds = %9849
  %9852 = load i32, ptr @test_count, align 4, !tbaa !5
  %9853 = add nsw i32 %9852, 1
  store i32 %9853, ptr @test_count, align 4, !tbaa !5
  %9854 = load ptr, ptr %206, align 8, !tbaa !9
  %9855 = icmp eq ptr %9854, null
  br i1 %9855, label %9856, label %9909

9856:                                             ; preds = %9851
  br label %9857

9857:                                             ; preds = %9856
  br label %9858

9858:                                             ; preds = %9857
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %9859 = call ptr @__errno_location() #12
  %9860 = load i32, ptr %9859, align 4, !tbaa !5
  store i32 %9860, ptr %207, align 4, !tbaa !5
  %9861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9862 = call i32 @s2n_print_stacktrace(ptr noundef %9861)
  %9863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9864 = trunc i8 %9863 to i1
  br i1 %9864, label %9865, label %9887

9865:                                             ; preds = %9858
  %9866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9867 = call i32 @fileno(ptr noundef %9866) #11
  %9868 = call i32 @isatty(i32 noundef %9867) #11
  %9869 = icmp ne i32 %9868, 0
  br i1 %9869, label %9870, label %9887

9870:                                             ; preds = %9865
  %9871 = load i32, ptr %207, align 4, !tbaa !5
  %9872 = call ptr @__errno_location() #12
  store i32 %9871, ptr %9872, align 4, !tbaa !5
  %9873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9874 = load i32, ptr @test_count, align 4, !tbaa !5
  %9875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9876 = load i32, ptr %9875, align 4, !tbaa !5
  %9877 = call ptr @s2n_strerror(i32 noundef %9876, ptr noundef @.str.4)
  %9878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9879 = load i32, ptr %9878, align 4, !tbaa !5
  %9880 = call ptr @s2n_strerror_debug(i32 noundef %9879, ptr noundef @.str.4)
  %9881 = call ptr @__errno_location() #12
  %9882 = load i32, ptr %9881, align 4, !tbaa !5
  %9883 = call ptr @strerror(i32 noundef %9882) #11
  %9884 = call ptr @__errno_location() #12
  %9885 = load i32, ptr %9884, align 4, !tbaa !5
  %9886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9873, ptr noundef @.str.2, i32 noundef %9874, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 501, ptr noundef %9877, ptr noundef %9880, ptr noundef %9883, i32 noundef %9885) #11
  br label %9904

9887:                                             ; preds = %9865, %9858
  %9888 = load i32, ptr %207, align 4, !tbaa !5
  %9889 = call ptr @__errno_location() #12
  store i32 %9888, ptr %9889, align 4, !tbaa !5
  %9890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9891 = load i32, ptr @test_count, align 4, !tbaa !5
  %9892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  %9894 = call ptr @s2n_strerror(i32 noundef %9893, ptr noundef @.str.4)
  %9895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9896 = load i32, ptr %9895, align 4, !tbaa !5
  %9897 = call ptr @s2n_strerror_debug(i32 noundef %9896, ptr noundef @.str.4)
  %9898 = call ptr @__errno_location() #12
  %9899 = load i32, ptr %9898, align 4, !tbaa !5
  %9900 = call ptr @strerror(i32 noundef %9899) #11
  %9901 = call ptr @__errno_location() #12
  %9902 = load i32, ptr %9901, align 4, !tbaa !5
  %9903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9890, ptr noundef @.str.5, i32 noundef %9891, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 501, ptr noundef %9894, ptr noundef %9897, ptr noundef %9900, i32 noundef %9902) #11
  br label %9904

9904:                                             ; preds = %9887, %9870
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %9905

9905:                                             ; preds = %9904
  br label %9906

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

9907:                                             ; No predecessors!
  br label %9908

9908:                                             ; preds = %9907
  br label %9909

9909:                                             ; preds = %9908, %9851
  br label %9910

9910:                                             ; preds = %9909
  br label %9911

9911:                                             ; preds = %9910
  br label %9912

9912:                                             ; preds = %9911
  %9913 = load i32, ptr @test_count, align 4, !tbaa !5
  %9914 = add nsw i32 %9913, 1
  store i32 %9914, ptr @test_count, align 4, !tbaa !5
  %9915 = load ptr, ptr %206, align 8, !tbaa !9
  %9916 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %9915, ptr noundef @.str.84)
  %9917 = icmp eq i32 %9916, -1
  br i1 %9917, label %9918, label %9971

9918:                                             ; preds = %9912
  br label %9919

9919:                                             ; preds = %9918
  br label %9920

9920:                                             ; preds = %9919
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %9921 = call ptr @__errno_location() #12
  %9922 = load i32, ptr %9921, align 4, !tbaa !5
  store i32 %9922, ptr %208, align 4, !tbaa !5
  %9923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9924 = call i32 @s2n_print_stacktrace(ptr noundef %9923)
  %9925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9926 = trunc i8 %9925 to i1
  br i1 %9926, label %9927, label %9949

9927:                                             ; preds = %9920
  %9928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9929 = call i32 @fileno(ptr noundef %9928) #11
  %9930 = call i32 @isatty(i32 noundef %9929) #11
  %9931 = icmp ne i32 %9930, 0
  br i1 %9931, label %9932, label %9949

9932:                                             ; preds = %9927
  %9933 = load i32, ptr %208, align 4, !tbaa !5
  %9934 = call ptr @__errno_location() #12
  store i32 %9933, ptr %9934, align 4, !tbaa !5
  %9935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9936 = load i32, ptr @test_count, align 4, !tbaa !5
  %9937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9938 = load i32, ptr %9937, align 4, !tbaa !5
  %9939 = call ptr @s2n_strerror(i32 noundef %9938, ptr noundef @.str.4)
  %9940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9941 = load i32, ptr %9940, align 4, !tbaa !5
  %9942 = call ptr @s2n_strerror_debug(i32 noundef %9941, ptr noundef @.str.4)
  %9943 = call ptr @__errno_location() #12
  %9944 = load i32, ptr %9943, align 4, !tbaa !5
  %9945 = call ptr @strerror(i32 noundef %9944) #11
  %9946 = call ptr @__errno_location() #12
  %9947 = load i32, ptr %9946, align 4, !tbaa !5
  %9948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9935, ptr noundef @.str.2, i32 noundef %9936, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 502, ptr noundef %9939, ptr noundef %9942, ptr noundef %9945, i32 noundef %9947) #11
  br label %9966

9949:                                             ; preds = %9927, %9920
  %9950 = load i32, ptr %208, align 4, !tbaa !5
  %9951 = call ptr @__errno_location() #12
  store i32 %9950, ptr %9951, align 4, !tbaa !5
  %9952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9953 = load i32, ptr @test_count, align 4, !tbaa !5
  %9954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9955 = load i32, ptr %9954, align 4, !tbaa !5
  %9956 = call ptr @s2n_strerror(i32 noundef %9955, ptr noundef @.str.4)
  %9957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9958 = load i32, ptr %9957, align 4, !tbaa !5
  %9959 = call ptr @s2n_strerror_debug(i32 noundef %9958, ptr noundef @.str.4)
  %9960 = call ptr @__errno_location() #12
  %9961 = load i32, ptr %9960, align 4, !tbaa !5
  %9962 = call ptr @strerror(i32 noundef %9961) #11
  %9963 = call ptr @__errno_location() #12
  %9964 = load i32, ptr %9963, align 4, !tbaa !5
  %9965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9952, ptr noundef @.str.5, i32 noundef %9953, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 502, ptr noundef %9956, ptr noundef %9959, ptr noundef %9962, i32 noundef %9964) #11
  br label %9966

9966:                                             ; preds = %9949, %9932
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %9967

9967:                                             ; preds = %9966
  br label %9968

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

9969:                                             ; No predecessors!
  br label %9970

9970:                                             ; preds = %9969
  br label %9971

9971:                                             ; preds = %9970, %9912
  br label %9972

9972:                                             ; preds = %9971
  br label %9973

9973:                                             ; preds = %9972
  br label %9974

9974:                                             ; preds = %9973
  %9975 = load i32, ptr @test_count, align 4, !tbaa !5
  %9976 = add nsw i32 %9975, 1
  store i32 %9976, ptr @test_count, align 4, !tbaa !5
  %9977 = load ptr, ptr %206, align 8, !tbaa !9
  %9978 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %9977, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %9979 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  store i32 %9978, ptr %9979, align 4
  %9980 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  %9981 = load i32, ptr %9980, align 4
  %9982 = call zeroext i1 @s2n_result_is_ok(i32 %9981)
  br i1 %9982, label %10036, label %9983

9983:                                             ; preds = %9974
  br label %9984

9984:                                             ; preds = %9983
  br label %9985

9985:                                             ; preds = %9984
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %9986 = call ptr @__errno_location() #12
  %9987 = load i32, ptr %9986, align 4, !tbaa !5
  store i32 %9987, ptr %210, align 4, !tbaa !5
  %9988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9989 = call i32 @s2n_print_stacktrace(ptr noundef %9988)
  %9990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9991 = trunc i8 %9990 to i1
  br i1 %9991, label %9992, label %10014

9992:                                             ; preds = %9985
  %9993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9994 = call i32 @fileno(ptr noundef %9993) #11
  %9995 = call i32 @isatty(i32 noundef %9994) #11
  %9996 = icmp ne i32 %9995, 0
  br i1 %9996, label %9997, label %10014

9997:                                             ; preds = %9992
  %9998 = load i32, ptr %210, align 4, !tbaa !5
  %9999 = call ptr @__errno_location() #12
  store i32 %9998, ptr %9999, align 4, !tbaa !5
  %10000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10001 = load i32, ptr @test_count, align 4, !tbaa !5
  %10002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10003 = load i32, ptr %10002, align 4, !tbaa !5
  %10004 = call ptr @s2n_strerror(i32 noundef %10003, ptr noundef @.str.4)
  %10005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10006 = load i32, ptr %10005, align 4, !tbaa !5
  %10007 = call ptr @s2n_strerror_debug(i32 noundef %10006, ptr noundef @.str.4)
  %10008 = call ptr @__errno_location() #12
  %10009 = load i32, ptr %10008, align 4, !tbaa !5
  %10010 = call ptr @strerror(i32 noundef %10009) #11
  %10011 = call ptr @__errno_location() #12
  %10012 = load i32, ptr %10011, align 4, !tbaa !5
  %10013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10000, ptr noundef @.str.2, i32 noundef %10001, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 503, ptr noundef %10004, ptr noundef %10007, ptr noundef %10010, i32 noundef %10012) #11
  br label %10031

10014:                                            ; preds = %9992, %9985
  %10015 = load i32, ptr %210, align 4, !tbaa !5
  %10016 = call ptr @__errno_location() #12
  store i32 %10015, ptr %10016, align 4, !tbaa !5
  %10017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10018 = load i32, ptr @test_count, align 4, !tbaa !5
  %10019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10020 = load i32, ptr %10019, align 4, !tbaa !5
  %10021 = call ptr @s2n_strerror(i32 noundef %10020, ptr noundef @.str.4)
  %10022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10023 = load i32, ptr %10022, align 4, !tbaa !5
  %10024 = call ptr @s2n_strerror_debug(i32 noundef %10023, ptr noundef @.str.4)
  %10025 = call ptr @__errno_location() #12
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  %10027 = call ptr @strerror(i32 noundef %10026) #11
  %10028 = call ptr @__errno_location() #12
  %10029 = load i32, ptr %10028, align 4, !tbaa !5
  %10030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10017, ptr noundef @.str.5, i32 noundef %10018, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 503, ptr noundef %10021, ptr noundef %10024, ptr noundef %10027, i32 noundef %10029) #11
  br label %10031

10031:                                            ; preds = %10014, %9997
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %10032

10032:                                            ; preds = %10031
  br label %10033

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

10034:                                            ; No predecessors!
  br label %10035

10035:                                            ; preds = %10034
  br label %10036

10036:                                            ; preds = %10035, %9974
  br label %10037

10037:                                            ; preds = %10036
  br label %10038

10038:                                            ; preds = %10037
  br label %10039

10039:                                            ; preds = %10038
  %10040 = load i32, ptr @test_count, align 4, !tbaa !5
  %10041 = add nsw i32 %10040, 1
  store i32 %10041, ptr @test_count, align 4, !tbaa !5
  %10042 = load ptr, ptr %206, align 8, !tbaa !9
  %10043 = call i32 @s2n_conn_choose_state_machine(ptr noundef %10042, i8 noundef zeroext 34)
  %10044 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  store i32 %10043, ptr %10044, align 4
  %10045 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  %10046 = load i32, ptr %10045, align 4
  %10047 = call zeroext i1 @s2n_result_is_ok(i32 %10046)
  br i1 %10047, label %10101, label %10048

10048:                                            ; preds = %10039
  br label %10049

10049:                                            ; preds = %10048
  br label %10050

10050:                                            ; preds = %10049
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %10051 = call ptr @__errno_location() #12
  %10052 = load i32, ptr %10051, align 4, !tbaa !5
  store i32 %10052, ptr %212, align 4, !tbaa !5
  %10053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10054 = call i32 @s2n_print_stacktrace(ptr noundef %10053)
  %10055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10056 = trunc i8 %10055 to i1
  br i1 %10056, label %10057, label %10079

10057:                                            ; preds = %10050
  %10058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10059 = call i32 @fileno(ptr noundef %10058) #11
  %10060 = call i32 @isatty(i32 noundef %10059) #11
  %10061 = icmp ne i32 %10060, 0
  br i1 %10061, label %10062, label %10079

10062:                                            ; preds = %10057
  %10063 = load i32, ptr %212, align 4, !tbaa !5
  %10064 = call ptr @__errno_location() #12
  store i32 %10063, ptr %10064, align 4, !tbaa !5
  %10065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10066 = load i32, ptr @test_count, align 4, !tbaa !5
  %10067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10068 = load i32, ptr %10067, align 4, !tbaa !5
  %10069 = call ptr @s2n_strerror(i32 noundef %10068, ptr noundef @.str.4)
  %10070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10071 = load i32, ptr %10070, align 4, !tbaa !5
  %10072 = call ptr @s2n_strerror_debug(i32 noundef %10071, ptr noundef @.str.4)
  %10073 = call ptr @__errno_location() #12
  %10074 = load i32, ptr %10073, align 4, !tbaa !5
  %10075 = call ptr @strerror(i32 noundef %10074) #11
  %10076 = call ptr @__errno_location() #12
  %10077 = load i32, ptr %10076, align 4, !tbaa !5
  %10078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10065, ptr noundef @.str.2, i32 noundef %10066, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 504, ptr noundef %10069, ptr noundef %10072, ptr noundef %10075, i32 noundef %10077) #11
  br label %10096

10079:                                            ; preds = %10057, %10050
  %10080 = load i32, ptr %212, align 4, !tbaa !5
  %10081 = call ptr @__errno_location() #12
  store i32 %10080, ptr %10081, align 4, !tbaa !5
  %10082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10083 = load i32, ptr @test_count, align 4, !tbaa !5
  %10084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call ptr @s2n_strerror(i32 noundef %10085, ptr noundef @.str.4)
  %10087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call ptr @s2n_strerror_debug(i32 noundef %10088, ptr noundef @.str.4)
  %10090 = call ptr @__errno_location() #12
  %10091 = load i32, ptr %10090, align 4, !tbaa !5
  %10092 = call ptr @strerror(i32 noundef %10091) #11
  %10093 = call ptr @__errno_location() #12
  %10094 = load i32, ptr %10093, align 4, !tbaa !5
  %10095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10082, ptr noundef @.str.5, i32 noundef %10083, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 504, ptr noundef %10086, ptr noundef %10089, ptr noundef %10092, i32 noundef %10094) #11
  br label %10096

10096:                                            ; preds = %10079, %10062
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %10097

10097:                                            ; preds = %10096
  br label %10098

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

10099:                                            ; No predecessors!
  br label %10100

10100:                                            ; preds = %10099
  br label %10101

10101:                                            ; preds = %10100, %10039
  br label %10102

10102:                                            ; preds = %10101
  br label %10103

10103:                                            ; preds = %10102
  %10104 = load ptr, ptr %206, align 8, !tbaa !9
  %10105 = getelementptr inbounds %struct.s2n_connection, ptr %10104, i32 0, i32 23
  store i8 34, ptr %10105, align 4, !tbaa !69
  %10106 = load ptr, ptr %206, align 8, !tbaa !9
  %10107 = getelementptr inbounds %struct.s2n_connection, ptr %10106, i32 0, i32 89
  store i32 1, ptr %10107, align 8, !tbaa !15
  %10108 = load ptr, ptr %206, align 8, !tbaa !9
  %10109 = getelementptr inbounds %struct.s2n_connection, ptr %10108, i32 0, i32 27
  %10110 = load ptr, ptr %10109, align 8, !tbaa !63
  %10111 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %10110, i32 0, i32 0
  store ptr @s2n_tls13_chacha20_poly1305_sha256, ptr %10111, align 8, !tbaa !64
  br label %10112

10112:                                            ; preds = %10103
  %10113 = load i32, ptr @test_count, align 4, !tbaa !5
  %10114 = add nsw i32 %10113, 1
  store i32 %10114, ptr @test_count, align 4, !tbaa !5
  %10115 = load ptr, ptr %206, align 8, !tbaa !9
  %10116 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %10115)
  br i1 %10116, label %10117, label %10170

10117:                                            ; preds = %10112
  br label %10118

10118:                                            ; preds = %10117
  br label %10119

10119:                                            ; preds = %10118
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %10120 = call ptr @__errno_location() #12
  %10121 = load i32, ptr %10120, align 4, !tbaa !5
  store i32 %10121, ptr %213, align 4, !tbaa !5
  %10122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10123 = call i32 @s2n_print_stacktrace(ptr noundef %10122)
  %10124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10125 = trunc i8 %10124 to i1
  br i1 %10125, label %10126, label %10148

10126:                                            ; preds = %10119
  %10127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10128 = call i32 @fileno(ptr noundef %10127) #11
  %10129 = call i32 @isatty(i32 noundef %10128) #11
  %10130 = icmp ne i32 %10129, 0
  br i1 %10130, label %10131, label %10148

10131:                                            ; preds = %10126
  %10132 = load i32, ptr %213, align 4, !tbaa !5
  %10133 = call ptr @__errno_location() #12
  store i32 %10132, ptr %10133, align 4, !tbaa !5
  %10134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10135 = load i32, ptr @test_count, align 4, !tbaa !5
  %10136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10137 = load i32, ptr %10136, align 4, !tbaa !5
  %10138 = call ptr @s2n_strerror(i32 noundef %10137, ptr noundef @.str.4)
  %10139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10140 = load i32, ptr %10139, align 4, !tbaa !5
  %10141 = call ptr @s2n_strerror_debug(i32 noundef %10140, ptr noundef @.str.4)
  %10142 = call ptr @__errno_location() #12
  %10143 = load i32, ptr %10142, align 4, !tbaa !5
  %10144 = call ptr @strerror(i32 noundef %10143) #11
  %10145 = call ptr @__errno_location() #12
  %10146 = load i32, ptr %10145, align 4, !tbaa !5
  %10147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10134, ptr noundef @.str.2, i32 noundef %10135, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 509, ptr noundef %10138, ptr noundef %10141, ptr noundef %10144, i32 noundef %10146) #11
  br label %10165

10148:                                            ; preds = %10126, %10119
  %10149 = load i32, ptr %213, align 4, !tbaa !5
  %10150 = call ptr @__errno_location() #12
  store i32 %10149, ptr %10150, align 4, !tbaa !5
  %10151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10152 = load i32, ptr @test_count, align 4, !tbaa !5
  %10153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  %10155 = call ptr @s2n_strerror(i32 noundef %10154, ptr noundef @.str.4)
  %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_debug(i32 noundef %10157, ptr noundef @.str.4)
  %10159 = call ptr @__errno_location() #12
  %10160 = load i32, ptr %10159, align 4, !tbaa !5
  %10161 = call ptr @strerror(i32 noundef %10160) #11
  %10162 = call ptr @__errno_location() #12
  %10163 = load i32, ptr %10162, align 4, !tbaa !5
  %10164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10151, ptr noundef @.str.5, i32 noundef %10152, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 509, ptr noundef %10155, ptr noundef %10158, ptr noundef %10161, i32 noundef %10163) #11
  br label %10165

10165:                                            ; preds = %10148, %10131
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %10166

10166:                                            ; preds = %10165
  br label %10167

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

10168:                                            ; No predecessors!
  br label %10169

10169:                                            ; preds = %10168
  br label %10170

10170:                                            ; preds = %10169, %10112
  br label %10171

10171:                                            ; preds = %10170
  br label %10172

10172:                                            ; preds = %10171
  %10173 = load ptr, ptr %206, align 8, !tbaa !9
  %10174 = getelementptr inbounds %struct.s2n_connection, ptr %10173, i32 0, i32 27
  %10175 = load ptr, ptr %10174, align 8, !tbaa !63
  %10176 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %10175, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %10176, align 8, !tbaa !64
  br label %10177

10177:                                            ; preds = %10172
  %10178 = load i32, ptr @test_count, align 4, !tbaa !5
  %10179 = add nsw i32 %10178, 1
  store i32 %10179, ptr @test_count, align 4, !tbaa !5
  %10180 = load ptr, ptr %206, align 8, !tbaa !9
  %10181 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %10180)
  br i1 %10181, label %10235, label %10182

10182:                                            ; preds = %10177
  br label %10183

10183:                                            ; preds = %10182
  br label %10184

10184:                                            ; preds = %10183
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %10185 = call ptr @__errno_location() #12
  %10186 = load i32, ptr %10185, align 4, !tbaa !5
  store i32 %10186, ptr %214, align 4, !tbaa !5
  %10187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10188 = call i32 @s2n_print_stacktrace(ptr noundef %10187)
  %10189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10190 = trunc i8 %10189 to i1
  br i1 %10190, label %10191, label %10213

10191:                                            ; preds = %10184
  %10192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10193 = call i32 @fileno(ptr noundef %10192) #11
  %10194 = call i32 @isatty(i32 noundef %10193) #11
  %10195 = icmp ne i32 %10194, 0
  br i1 %10195, label %10196, label %10213

10196:                                            ; preds = %10191
  %10197 = load i32, ptr %214, align 4, !tbaa !5
  %10198 = call ptr @__errno_location() #12
  store i32 %10197, ptr %10198, align 4, !tbaa !5
  %10199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10200 = load i32, ptr @test_count, align 4, !tbaa !5
  %10201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10202 = load i32, ptr %10201, align 4, !tbaa !5
  %10203 = call ptr @s2n_strerror(i32 noundef %10202, ptr noundef @.str.4)
  %10204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10205 = load i32, ptr %10204, align 4, !tbaa !5
  %10206 = call ptr @s2n_strerror_debug(i32 noundef %10205, ptr noundef @.str.4)
  %10207 = call ptr @__errno_location() #12
  %10208 = load i32, ptr %10207, align 4, !tbaa !5
  %10209 = call ptr @strerror(i32 noundef %10208) #11
  %10210 = call ptr @__errno_location() #12
  %10211 = load i32, ptr %10210, align 4, !tbaa !5
  %10212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10199, ptr noundef @.str.2, i32 noundef %10200, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 512, ptr noundef %10203, ptr noundef %10206, ptr noundef %10209, i32 noundef %10211) #11
  br label %10230

10213:                                            ; preds = %10191, %10184
  %10214 = load i32, ptr %214, align 4, !tbaa !5
  %10215 = call ptr @__errno_location() #12
  store i32 %10214, ptr %10215, align 4, !tbaa !5
  %10216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10217 = load i32, ptr @test_count, align 4, !tbaa !5
  %10218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10219 = load i32, ptr %10218, align 4, !tbaa !5
  %10220 = call ptr @s2n_strerror(i32 noundef %10219, ptr noundef @.str.4)
  %10221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call ptr @s2n_strerror_debug(i32 noundef %10222, ptr noundef @.str.4)
  %10224 = call ptr @__errno_location() #12
  %10225 = load i32, ptr %10224, align 4, !tbaa !5
  %10226 = call ptr @strerror(i32 noundef %10225) #11
  %10227 = call ptr @__errno_location() #12
  %10228 = load i32, ptr %10227, align 4, !tbaa !5
  %10229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10216, ptr noundef @.str.5, i32 noundef %10217, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 512, ptr noundef %10220, ptr noundef %10223, ptr noundef %10226, i32 noundef %10228) #11
  br label %10230

10230:                                            ; preds = %10213, %10196
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %10231

10231:                                            ; preds = %10230
  br label %10232

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

10233:                                            ; No predecessors!
  br label %10234

10234:                                            ; preds = %10233
  br label %10235

10235:                                            ; preds = %10234, %10177
  br label %10236

10236:                                            ; preds = %10235
  br label %10237

10237:                                            ; preds = %10236
  br label %10238

10238:                                            ; preds = %10237
  %10239 = load i32, ptr @test_count, align 4, !tbaa !5
  %10240 = add nsw i32 %10239, 1
  store i32 %10240, ptr @test_count, align 4, !tbaa !5
  %10241 = load ptr, ptr %206, align 8, !tbaa !9
  %10242 = call i32 @s2n_connection_free(ptr noundef %10241)
  %10243 = icmp eq i32 %10242, -1
  br i1 %10243, label %10244, label %10297

10244:                                            ; preds = %10238
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

10246:                                            ; preds = %10245
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %10247 = call ptr @__errno_location() #12
  %10248 = load i32, ptr %10247, align 4, !tbaa !5
  store i32 %10248, ptr %215, align 4, !tbaa !5
  %10249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10250 = call i32 @s2n_print_stacktrace(ptr noundef %10249)
  %10251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10252 = trunc i8 %10251 to i1
  br i1 %10252, label %10253, label %10275

10253:                                            ; preds = %10246
  %10254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10255 = call i32 @fileno(ptr noundef %10254) #11
  %10256 = call i32 @isatty(i32 noundef %10255) #11
  %10257 = icmp ne i32 %10256, 0
  br i1 %10257, label %10258, label %10275

10258:                                            ; preds = %10253
  %10259 = load i32, ptr %215, align 4, !tbaa !5
  %10260 = call ptr @__errno_location() #12
  store i32 %10259, ptr %10260, align 4, !tbaa !5
  %10261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10262 = load i32, ptr @test_count, align 4, !tbaa !5
  %10263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10264 = load i32, ptr %10263, align 4, !tbaa !5
  %10265 = call ptr @s2n_strerror(i32 noundef %10264, ptr noundef @.str.4)
  %10266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10267 = load i32, ptr %10266, align 4, !tbaa !5
  %10268 = call ptr @s2n_strerror_debug(i32 noundef %10267, ptr noundef @.str.4)
  %10269 = call ptr @__errno_location() #12
  %10270 = load i32, ptr %10269, align 4, !tbaa !5
  %10271 = call ptr @strerror(i32 noundef %10270) #11
  %10272 = call ptr @__errno_location() #12
  %10273 = load i32, ptr %10272, align 4, !tbaa !5
  %10274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10261, ptr noundef @.str.2, i32 noundef %10262, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 514, ptr noundef %10265, ptr noundef %10268, ptr noundef %10271, i32 noundef %10273) #11
  br label %10292

10275:                                            ; preds = %10253, %10246
  %10276 = load i32, ptr %215, align 4, !tbaa !5
  %10277 = call ptr @__errno_location() #12
  store i32 %10276, ptr %10277, align 4, !tbaa !5
  %10278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10279 = load i32, ptr @test_count, align 4, !tbaa !5
  %10280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10281 = load i32, ptr %10280, align 4, !tbaa !5
  %10282 = call ptr @s2n_strerror(i32 noundef %10281, ptr noundef @.str.4)
  %10283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10284 = load i32, ptr %10283, align 4, !tbaa !5
  %10285 = call ptr @s2n_strerror_debug(i32 noundef %10284, ptr noundef @.str.4)
  %10286 = call ptr @__errno_location() #12
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @strerror(i32 noundef %10287) #11
  %10289 = call ptr @__errno_location() #12
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10278, ptr noundef @.str.5, i32 noundef %10279, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 514, ptr noundef %10282, ptr noundef %10285, ptr noundef %10288, i32 noundef %10290) #11
  br label %10292

10292:                                            ; preds = %10275, %10258
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %10293

10293:                                            ; preds = %10292
  br label %10294

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

10295:                                            ; No predecessors!
  br label %10296

10296:                                            ; preds = %10295
  br label %10297

10297:                                            ; preds = %10296, %10238
  br label %10298

10298:                                            ; preds = %10297
  br label %10299

10299:                                            ; preds = %10298
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #11
  %10300 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10300, ptr %216, align 8, !tbaa !9
  br label %10301

10301:                                            ; preds = %10299
  %10302 = load i32, ptr @test_count, align 4, !tbaa !5
  %10303 = add nsw i32 %10302, 1
  store i32 %10303, ptr @test_count, align 4, !tbaa !5
  %10304 = load ptr, ptr %216, align 8, !tbaa !9
  %10305 = icmp eq ptr %10304, null
  br i1 %10305, label %10306, label %10359

10306:                                            ; preds = %10301
  br label %10307

10307:                                            ; preds = %10306
  br label %10308

10308:                                            ; preds = %10307
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %10309 = call ptr @__errno_location() #12
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  store i32 %10310, ptr %217, align 4, !tbaa !5
  %10311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10312 = call i32 @s2n_print_stacktrace(ptr noundef %10311)
  %10313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10314 = trunc i8 %10313 to i1
  br i1 %10314, label %10315, label %10337

10315:                                            ; preds = %10308
  %10316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10317 = call i32 @fileno(ptr noundef %10316) #11
  %10318 = call i32 @isatty(i32 noundef %10317) #11
  %10319 = icmp ne i32 %10318, 0
  br i1 %10319, label %10320, label %10337

10320:                                            ; preds = %10315
  %10321 = load i32, ptr %217, align 4, !tbaa !5
  %10322 = call ptr @__errno_location() #12
  store i32 %10321, ptr %10322, align 4, !tbaa !5
  %10323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10326 = load i32, ptr %10325, align 4, !tbaa !5
  %10327 = call ptr @s2n_strerror(i32 noundef %10326, ptr noundef @.str.4)
  %10328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10329 = load i32, ptr %10328, align 4, !tbaa !5
  %10330 = call ptr @s2n_strerror_debug(i32 noundef %10329, ptr noundef @.str.4)
  %10331 = call ptr @__errno_location() #12
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  %10333 = call ptr @strerror(i32 noundef %10332) #11
  %10334 = call ptr @__errno_location() #12
  %10335 = load i32, ptr %10334, align 4, !tbaa !5
  %10336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10323, ptr noundef @.str.2, i32 noundef %10324, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 524, ptr noundef %10327, ptr noundef %10330, ptr noundef %10333, i32 noundef %10335) #11
  br label %10354

10337:                                            ; preds = %10315, %10308
  %10338 = load i32, ptr %217, align 4, !tbaa !5
  %10339 = call ptr @__errno_location() #12
  store i32 %10338, ptr %10339, align 4, !tbaa !5
  %10340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10341 = load i32, ptr @test_count, align 4, !tbaa !5
  %10342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10343 = load i32, ptr %10342, align 4, !tbaa !5
  %10344 = call ptr @s2n_strerror(i32 noundef %10343, ptr noundef @.str.4)
  %10345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10346 = load i32, ptr %10345, align 4, !tbaa !5
  %10347 = call ptr @s2n_strerror_debug(i32 noundef %10346, ptr noundef @.str.4)
  %10348 = call ptr @__errno_location() #12
  %10349 = load i32, ptr %10348, align 4, !tbaa !5
  %10350 = call ptr @strerror(i32 noundef %10349) #11
  %10351 = call ptr @__errno_location() #12
  %10352 = load i32, ptr %10351, align 4, !tbaa !5
  %10353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10340, ptr noundef @.str.5, i32 noundef %10341, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 524, ptr noundef %10344, ptr noundef %10347, ptr noundef %10350, i32 noundef %10352) #11
  br label %10354

10354:                                            ; preds = %10337, %10320
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %10355

10355:                                            ; preds = %10354
  br label %10356

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

10357:                                            ; No predecessors!
  br label %10358

10358:                                            ; preds = %10357
  br label %10359

10359:                                            ; preds = %10358, %10301
  br label %10360

10360:                                            ; preds = %10359
  br label %10361

10361:                                            ; preds = %10360
  br label %10362

10362:                                            ; preds = %10361
  %10363 = load i32, ptr @test_count, align 4, !tbaa !5
  %10364 = add nsw i32 %10363, 1
  store i32 %10364, ptr @test_count, align 4, !tbaa !5
  %10365 = load ptr, ptr %216, align 8, !tbaa !9
  %10366 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %10365, ptr noundef @.str.84)
  %10367 = icmp eq i32 %10366, -1
  br i1 %10367, label %10368, label %10421

10368:                                            ; preds = %10362
  br label %10369

10369:                                            ; preds = %10368
  br label %10370

10370:                                            ; preds = %10369
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %10371 = call ptr @__errno_location() #12
  %10372 = load i32, ptr %10371, align 4, !tbaa !5
  store i32 %10372, ptr %218, align 4, !tbaa !5
  %10373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10374 = call i32 @s2n_print_stacktrace(ptr noundef %10373)
  %10375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10376 = trunc i8 %10375 to i1
  br i1 %10376, label %10377, label %10399

10377:                                            ; preds = %10370
  %10378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10379 = call i32 @fileno(ptr noundef %10378) #11
  %10380 = call i32 @isatty(i32 noundef %10379) #11
  %10381 = icmp ne i32 %10380, 0
  br i1 %10381, label %10382, label %10399

10382:                                            ; preds = %10377
  %10383 = load i32, ptr %218, align 4, !tbaa !5
  %10384 = call ptr @__errno_location() #12
  store i32 %10383, ptr %10384, align 4, !tbaa !5
  %10385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10386 = load i32, ptr @test_count, align 4, !tbaa !5
  %10387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10388 = load i32, ptr %10387, align 4, !tbaa !5
  %10389 = call ptr @s2n_strerror(i32 noundef %10388, ptr noundef @.str.4)
  %10390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10391 = load i32, ptr %10390, align 4, !tbaa !5
  %10392 = call ptr @s2n_strerror_debug(i32 noundef %10391, ptr noundef @.str.4)
  %10393 = call ptr @__errno_location() #12
  %10394 = load i32, ptr %10393, align 4, !tbaa !5
  %10395 = call ptr @strerror(i32 noundef %10394) #11
  %10396 = call ptr @__errno_location() #12
  %10397 = load i32, ptr %10396, align 4, !tbaa !5
  %10398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10385, ptr noundef @.str.2, i32 noundef %10386, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 525, ptr noundef %10389, ptr noundef %10392, ptr noundef %10395, i32 noundef %10397) #11
  br label %10416

10399:                                            ; preds = %10377, %10370
  %10400 = load i32, ptr %218, align 4, !tbaa !5
  %10401 = call ptr @__errno_location() #12
  store i32 %10400, ptr %10401, align 4, !tbaa !5
  %10402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10403 = load i32, ptr @test_count, align 4, !tbaa !5
  %10404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10405 = load i32, ptr %10404, align 4, !tbaa !5
  %10406 = call ptr @s2n_strerror(i32 noundef %10405, ptr noundef @.str.4)
  %10407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10408 = load i32, ptr %10407, align 4, !tbaa !5
  %10409 = call ptr @s2n_strerror_debug(i32 noundef %10408, ptr noundef @.str.4)
  %10410 = call ptr @__errno_location() #12
  %10411 = load i32, ptr %10410, align 4, !tbaa !5
  %10412 = call ptr @strerror(i32 noundef %10411) #11
  %10413 = call ptr @__errno_location() #12
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10402, ptr noundef @.str.5, i32 noundef %10403, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 525, ptr noundef %10406, ptr noundef %10409, ptr noundef %10412, i32 noundef %10414) #11
  br label %10416

10416:                                            ; preds = %10399, %10382
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %10417

10417:                                            ; preds = %10416
  br label %10418

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

10419:                                            ; No predecessors!
  br label %10420

10420:                                            ; preds = %10419
  br label %10421

10421:                                            ; preds = %10420, %10362
  br label %10422

10422:                                            ; preds = %10421
  br label %10423

10423:                                            ; preds = %10422
  br label %10424

10424:                                            ; preds = %10423
  %10425 = load i32, ptr @test_count, align 4, !tbaa !5
  %10426 = add nsw i32 %10425, 1
  store i32 %10426, ptr @test_count, align 4, !tbaa !5
  %10427 = load ptr, ptr %216, align 8, !tbaa !9
  %10428 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %10427, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %10429 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  store i32 %10428, ptr %10429, align 4
  %10430 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  %10431 = load i32, ptr %10430, align 4
  %10432 = call zeroext i1 @s2n_result_is_ok(i32 %10431)
  br i1 %10432, label %10486, label %10433

10433:                                            ; preds = %10424
  br label %10434

10434:                                            ; preds = %10433
  br label %10435

10435:                                            ; preds = %10434
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %10436 = call ptr @__errno_location() #12
  %10437 = load i32, ptr %10436, align 4, !tbaa !5
  store i32 %10437, ptr %220, align 4, !tbaa !5
  %10438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10439 = call i32 @s2n_print_stacktrace(ptr noundef %10438)
  %10440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10441 = trunc i8 %10440 to i1
  br i1 %10441, label %10442, label %10464

10442:                                            ; preds = %10435
  %10443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10444 = call i32 @fileno(ptr noundef %10443) #11
  %10445 = call i32 @isatty(i32 noundef %10444) #11
  %10446 = icmp ne i32 %10445, 0
  br i1 %10446, label %10447, label %10464

10447:                                            ; preds = %10442
  %10448 = load i32, ptr %220, align 4, !tbaa !5
  %10449 = call ptr @__errno_location() #12
  store i32 %10448, ptr %10449, align 4, !tbaa !5
  %10450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10451 = load i32, ptr @test_count, align 4, !tbaa !5
  %10452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10453 = load i32, ptr %10452, align 4, !tbaa !5
  %10454 = call ptr @s2n_strerror(i32 noundef %10453, ptr noundef @.str.4)
  %10455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10456 = load i32, ptr %10455, align 4, !tbaa !5
  %10457 = call ptr @s2n_strerror_debug(i32 noundef %10456, ptr noundef @.str.4)
  %10458 = call ptr @__errno_location() #12
  %10459 = load i32, ptr %10458, align 4, !tbaa !5
  %10460 = call ptr @strerror(i32 noundef %10459) #11
  %10461 = call ptr @__errno_location() #12
  %10462 = load i32, ptr %10461, align 4, !tbaa !5
  %10463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10450, ptr noundef @.str.2, i32 noundef %10451, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 526, ptr noundef %10454, ptr noundef %10457, ptr noundef %10460, i32 noundef %10462) #11
  br label %10481

10464:                                            ; preds = %10442, %10435
  %10465 = load i32, ptr %220, align 4, !tbaa !5
  %10466 = call ptr @__errno_location() #12
  store i32 %10465, ptr %10466, align 4, !tbaa !5
  %10467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10468 = load i32, ptr @test_count, align 4, !tbaa !5
  %10469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10470 = load i32, ptr %10469, align 4, !tbaa !5
  %10471 = call ptr @s2n_strerror(i32 noundef %10470, ptr noundef @.str.4)
  %10472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10473 = load i32, ptr %10472, align 4, !tbaa !5
  %10474 = call ptr @s2n_strerror_debug(i32 noundef %10473, ptr noundef @.str.4)
  %10475 = call ptr @__errno_location() #12
  %10476 = load i32, ptr %10475, align 4, !tbaa !5
  %10477 = call ptr @strerror(i32 noundef %10476) #11
  %10478 = call ptr @__errno_location() #12
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10467, ptr noundef @.str.5, i32 noundef %10468, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 526, ptr noundef %10471, ptr noundef %10474, ptr noundef %10477, i32 noundef %10479) #11
  br label %10481

10481:                                            ; preds = %10464, %10447
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %10482

10482:                                            ; preds = %10481
  br label %10483

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

10484:                                            ; No predecessors!
  br label %10485

10485:                                            ; preds = %10484
  br label %10486

10486:                                            ; preds = %10485, %10424
  br label %10487

10487:                                            ; preds = %10486
  br label %10488

10488:                                            ; preds = %10487
  %10489 = load ptr, ptr %216, align 8, !tbaa !9
  %10490 = getelementptr inbounds %struct.s2n_connection, ptr %10489, i32 0, i32 27
  %10491 = load ptr, ptr %10490, align 8, !tbaa !63
  %10492 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %10491, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %10492, align 8, !tbaa !64
  %10493 = load ptr, ptr %216, align 8, !tbaa !9
  %10494 = getelementptr inbounds %struct.s2n_connection, ptr %10493, i32 0, i32 23
  store i8 34, ptr %10494, align 4, !tbaa !69
  br label %10495

10495:                                            ; preds = %10488
  %10496 = load i32, ptr @test_count, align 4, !tbaa !5
  %10497 = add nsw i32 %10496, 1
  store i32 %10497, ptr @test_count, align 4, !tbaa !5
  %10498 = load ptr, ptr %216, align 8, !tbaa !9
  %10499 = call i32 @s2n_conn_choose_state_machine(ptr noundef %10498, i8 noundef zeroext 34)
  %10500 = getelementptr inbounds %struct.s2n_result, ptr %221, i32 0, i32 0
  store i32 %10499, ptr %10500, align 4
  %10501 = getelementptr inbounds %struct.s2n_result, ptr %221, i32 0, i32 0
  %10502 = load i32, ptr %10501, align 4
  %10503 = call zeroext i1 @s2n_result_is_ok(i32 %10502)
  br i1 %10503, label %10557, label %10504

10504:                                            ; preds = %10495
  br label %10505

10505:                                            ; preds = %10504
  br label %10506

10506:                                            ; preds = %10505
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %10507 = call ptr @__errno_location() #12
  %10508 = load i32, ptr %10507, align 4, !tbaa !5
  store i32 %10508, ptr %222, align 4, !tbaa !5
  %10509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10510 = call i32 @s2n_print_stacktrace(ptr noundef %10509)
  %10511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10512 = trunc i8 %10511 to i1
  br i1 %10512, label %10513, label %10535

10513:                                            ; preds = %10506
  %10514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10515 = call i32 @fileno(ptr noundef %10514) #11
  %10516 = call i32 @isatty(i32 noundef %10515) #11
  %10517 = icmp ne i32 %10516, 0
  br i1 %10517, label %10518, label %10535

10518:                                            ; preds = %10513
  %10519 = load i32, ptr %222, align 4, !tbaa !5
  %10520 = call ptr @__errno_location() #12
  store i32 %10519, ptr %10520, align 4, !tbaa !5
  %10521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10522 = load i32, ptr @test_count, align 4, !tbaa !5
  %10523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10524 = load i32, ptr %10523, align 4, !tbaa !5
  %10525 = call ptr @s2n_strerror(i32 noundef %10524, ptr noundef @.str.4)
  %10526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10527 = load i32, ptr %10526, align 4, !tbaa !5
  %10528 = call ptr @s2n_strerror_debug(i32 noundef %10527, ptr noundef @.str.4)
  %10529 = call ptr @__errno_location() #12
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call ptr @strerror(i32 noundef %10530) #11
  %10532 = call ptr @__errno_location() #12
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10521, ptr noundef @.str.2, i32 noundef %10522, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 529, ptr noundef %10525, ptr noundef %10528, ptr noundef %10531, i32 noundef %10533) #11
  br label %10552

10535:                                            ; preds = %10513, %10506
  %10536 = load i32, ptr %222, align 4, !tbaa !5
  %10537 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10546 = call ptr @__errno_location() #12
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @strerror(i32 noundef %10547) #11
  %10549 = call ptr @__errno_location() #12
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10538, ptr noundef @.str.5, i32 noundef %10539, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 529, ptr noundef %10542, ptr noundef %10545, ptr noundef %10548, i32 noundef %10550) #11
  br label %10552

10552:                                            ; preds = %10535, %10518
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %10553

10553:                                            ; preds = %10552
  br label %10554

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

10555:                                            ; No predecessors!
  br label %10556

10556:                                            ; preds = %10555
  br label %10557

10557:                                            ; preds = %10556, %10495
  br label %10558

10558:                                            ; preds = %10557
  br label %10559

10559:                                            ; preds = %10558
  %10560 = load ptr, ptr %216, align 8, !tbaa !9
  %10561 = getelementptr inbounds %struct.s2n_connection, ptr %10560, i32 0, i32 89
  store i32 1, ptr %10561, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %223) #11
  call void @llvm.memset.p0.i64(ptr align 1 %223, i8 0, i64 1, i1 false)
  call void @llvm.lifetime.start.p0(i64 18, ptr %224) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %224, ptr align 16 @__const.main.required_protocol, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 15, ptr %225) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %225, ptr align 1 @__const.main.wrong_protocol, i64 15, i1 false)
  br label %10562

10562:                                            ; preds = %10559
  %10563 = load i32, ptr @test_count, align 4, !tbaa !5
  %10564 = add nsw i32 %10563, 1
  store i32 %10564, ptr @test_count, align 4, !tbaa !5
  %10565 = load ptr, ptr %216, align 8, !tbaa !9
  %10566 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %10565)
  br i1 %10566, label %10620, label %10567

10567:                                            ; preds = %10562
  br label %10568

10568:                                            ; preds = %10567
  br label %10569

10569:                                            ; preds = %10568
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %10570 = call ptr @__errno_location() #12
  %10571 = load i32, ptr %10570, align 4, !tbaa !5
  store i32 %10571, ptr %226, align 4, !tbaa !5
  %10572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10573 = call i32 @s2n_print_stacktrace(ptr noundef %10572)
  %10574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10575 = trunc i8 %10574 to i1
  br i1 %10575, label %10576, label %10598

10576:                                            ; preds = %10569
  %10577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10578 = call i32 @fileno(ptr noundef %10577) #11
  %10579 = call i32 @isatty(i32 noundef %10578) #11
  %10580 = icmp ne i32 %10579, 0
  br i1 %10580, label %10581, label %10598

10581:                                            ; preds = %10576
  %10582 = load i32, ptr %226, align 4, !tbaa !5
  %10583 = call ptr @__errno_location() #12
  store i32 %10582, ptr %10583, align 4, !tbaa !5
  %10584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10585 = load i32, ptr @test_count, align 4, !tbaa !5
  %10586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10587 = load i32, ptr %10586, align 4, !tbaa !5
  %10588 = call ptr @s2n_strerror(i32 noundef %10587, ptr noundef @.str.4)
  %10589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10590 = load i32, ptr %10589, align 4, !tbaa !5
  %10591 = call ptr @s2n_strerror_debug(i32 noundef %10590, ptr noundef @.str.4)
  %10592 = call ptr @__errno_location() #12
  %10593 = load i32, ptr %10592, align 4, !tbaa !5
  %10594 = call ptr @strerror(i32 noundef %10593) #11
  %10595 = call ptr @__errno_location() #12
  %10596 = load i32, ptr %10595, align 4, !tbaa !5
  %10597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10584, ptr noundef @.str.2, i32 noundef %10585, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 537, ptr noundef %10588, ptr noundef %10591, ptr noundef %10594, i32 noundef %10596) #11
  br label %10615

10598:                                            ; preds = %10576, %10569
  %10599 = load i32, ptr %226, align 4, !tbaa !5
  %10600 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10609 = call ptr @__errno_location() #12
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call ptr @strerror(i32 noundef %10610) #11
  %10612 = call ptr @__errno_location() #12
  %10613 = load i32, ptr %10612, align 4, !tbaa !5
  %10614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10601, ptr noundef @.str.5, i32 noundef %10602, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 537, ptr noundef %10605, ptr noundef %10608, ptr noundef %10611, i32 noundef %10613) #11
  br label %10615

10615:                                            ; preds = %10598, %10581
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %10616

10616:                                            ; preds = %10615
  br label %10617

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

10618:                                            ; No predecessors!
  br label %10619

10619:                                            ; preds = %10618
  br label %10620

10620:                                            ; preds = %10619, %10562
  br label %10621

10621:                                            ; preds = %10620
  br label %10622

10622:                                            ; preds = %10621
  br label %10623

10623:                                            ; preds = %10622
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #11
  store i64 18, ptr %227, align 8, !tbaa !60
  %10624 = load i64, ptr %227, align 8, !tbaa !60
  %10625 = icmp ne i64 %10624, 0
  br i1 %10625, label %10626, label %10687

10626:                                            ; preds = %10623
  %10627 = load ptr, ptr %216, align 8, !tbaa !9
  %10628 = getelementptr inbounds %struct.s2n_connection, ptr %10627, i32 0, i32 64
  %10629 = getelementptr inbounds [256 x i8], ptr %10628, i64 0, i64 0
  %10630 = getelementptr inbounds [18 x i8], ptr %224, i64 0, i64 0
  %10631 = load i64, ptr %227, align 8, !tbaa !60
  call void @llvm.memmove.p0.p0.i64(ptr align 8 %10629, ptr align 16 %10630, i64 %10631, i1 false)
  %10632 = icmp eq ptr %10629, null
  br i1 %10632, label %10633, label %10686

10633:                                            ; preds = %10626
  br label %10634

10634:                                            ; preds = %10633
  br label %10635

10635:                                            ; preds = %10634
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %10636 = call ptr @__errno_location() #12
  %10637 = load i32, ptr %10636, align 4, !tbaa !5
  store i32 %10637, ptr %228, align 4, !tbaa !5
  %10638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10639 = call i32 @s2n_print_stacktrace(ptr noundef %10638)
  %10640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10641 = trunc i8 %10640 to i1
  br i1 %10641, label %10642, label %10664

10642:                                            ; preds = %10635
  %10643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10644 = call i32 @fileno(ptr noundef %10643) #11
  %10645 = call i32 @isatty(i32 noundef %10644) #11
  %10646 = icmp ne i32 %10645, 0
  br i1 %10646, label %10647, label %10664

10647:                                            ; preds = %10642
  %10648 = load i32, ptr %228, align 4, !tbaa !5
  %10649 = call ptr @__errno_location() #12
  store i32 %10648, ptr %10649, align 4, !tbaa !5
  %10650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10651 = load i32, ptr @test_count, align 4, !tbaa !5
  %10652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10653 = load i32, ptr %10652, align 4, !tbaa !5
  %10654 = call ptr @s2n_strerror(i32 noundef %10653, ptr noundef @.str.4)
  %10655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10656 = load i32, ptr %10655, align 4, !tbaa !5
  %10657 = call ptr @s2n_strerror_debug(i32 noundef %10656, ptr noundef @.str.4)
  %10658 = call ptr @__errno_location() #12
  %10659 = load i32, ptr %10658, align 4, !tbaa !5
  %10660 = call ptr @strerror(i32 noundef %10659) #11
  %10661 = call ptr @__errno_location() #12
  %10662 = load i32, ptr %10661, align 4, !tbaa !5
  %10663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10650, ptr noundef @.str.2, i32 noundef %10651, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 540, ptr noundef %10654, ptr noundef %10657, ptr noundef %10660, i32 noundef %10662) #11
  br label %10681

10664:                                            ; preds = %10642, %10635
  %10665 = load i32, ptr %228, align 4, !tbaa !5
  %10666 = call ptr @__errno_location() #12
  store i32 %10665, ptr %10666, align 4, !tbaa !5
  %10667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10668 = load i32, ptr @test_count, align 4, !tbaa !5
  %10669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10670 = load i32, ptr %10669, align 4, !tbaa !5
  %10671 = call ptr @s2n_strerror(i32 noundef %10670, ptr noundef @.str.4)
  %10672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  %10674 = call ptr @s2n_strerror_debug(i32 noundef %10673, ptr noundef @.str.4)
  %10675 = call ptr @__errno_location() #12
  %10676 = load i32, ptr %10675, align 4, !tbaa !5
  %10677 = call ptr @strerror(i32 noundef %10676) #11
  %10678 = call ptr @__errno_location() #12
  %10679 = load i32, ptr %10678, align 4, !tbaa !5
  %10680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10667, ptr noundef @.str.5, i32 noundef %10668, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 540, ptr noundef %10671, ptr noundef %10674, ptr noundef %10677, i32 noundef %10679) #11
  br label %10681

10681:                                            ; preds = %10664, %10647
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %10682

10682:                                            ; preds = %10681
  br label %10683

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

10684:                                            ; No predecessors!
  br label %10685

10685:                                            ; preds = %10684
  br label %10686

10686:                                            ; preds = %10685, %10626
  br label %10687

10687:                                            ; preds = %10686, %10623
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #11
  br label %10688

10688:                                            ; preds = %10687
  br label %10689

10689:                                            ; preds = %10688
  br label %10690

10690:                                            ; preds = %10689
  %10691 = load i32, ptr @test_count, align 4, !tbaa !5
  %10692 = add nsw i32 %10691, 1
  store i32 %10692, ptr @test_count, align 4, !tbaa !5
  %10693 = load ptr, ptr %216, align 8, !tbaa !9
  %10694 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %10693)
  br i1 %10694, label %10695, label %10748

10695:                                            ; preds = %10690
  br label %10696

10696:                                            ; preds = %10695
  br label %10697

10697:                                            ; preds = %10696
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %10698 = call ptr @__errno_location() #12
  %10699 = load i32, ptr %10698, align 4, !tbaa !5
  store i32 %10699, ptr %229, align 4, !tbaa !5
  %10700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10701 = call i32 @s2n_print_stacktrace(ptr noundef %10700)
  %10702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10703 = trunc i8 %10702 to i1
  br i1 %10703, label %10704, label %10726

10704:                                            ; preds = %10697
  %10705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10706 = call i32 @fileno(ptr noundef %10705) #11
  %10707 = call i32 @isatty(i32 noundef %10706) #11
  %10708 = icmp ne i32 %10707, 0
  br i1 %10708, label %10709, label %10726

10709:                                            ; preds = %10704
  %10710 = load i32, ptr %229, align 4, !tbaa !5
  %10711 = call ptr @__errno_location() #12
  store i32 %10710, ptr %10711, align 4, !tbaa !5
  %10712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10713 = load i32, ptr @test_count, align 4, !tbaa !5
  %10714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10715 = load i32, ptr %10714, align 4, !tbaa !5
  %10716 = call ptr @s2n_strerror(i32 noundef %10715, ptr noundef @.str.4)
  %10717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10718 = load i32, ptr %10717, align 4, !tbaa !5
  %10719 = call ptr @s2n_strerror_debug(i32 noundef %10718, ptr noundef @.str.4)
  %10720 = call ptr @__errno_location() #12
  %10721 = load i32, ptr %10720, align 4, !tbaa !5
  %10722 = call ptr @strerror(i32 noundef %10721) #11
  %10723 = call ptr @__errno_location() #12
  %10724 = load i32, ptr %10723, align 4, !tbaa !5
  %10725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10712, ptr noundef @.str.2, i32 noundef %10713, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 541, ptr noundef %10716, ptr noundef %10719, ptr noundef %10722, i32 noundef %10724) #11
  br label %10743

10726:                                            ; preds = %10704, %10697
  %10727 = load i32, ptr %229, align 4, !tbaa !5
  %10728 = call ptr @__errno_location() #12
  store i32 %10727, ptr %10728, align 4, !tbaa !5
  %10729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10730 = load i32, ptr @test_count, align 4, !tbaa !5
  %10731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10732 = load i32, ptr %10731, align 4, !tbaa !5
  %10733 = call ptr @s2n_strerror(i32 noundef %10732, ptr noundef @.str.4)
  %10734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10735 = load i32, ptr %10734, align 4, !tbaa !5
  %10736 = call ptr @s2n_strerror_debug(i32 noundef %10735, ptr noundef @.str.4)
  %10737 = call ptr @__errno_location() #12
  %10738 = load i32, ptr %10737, align 4, !tbaa !5
  %10739 = call ptr @strerror(i32 noundef %10738) #11
  %10740 = call ptr @__errno_location() #12
  %10741 = load i32, ptr %10740, align 4, !tbaa !5
  %10742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10729, ptr noundef @.str.5, i32 noundef %10730, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 541, ptr noundef %10733, ptr noundef %10736, ptr noundef %10739, i32 noundef %10741) #11
  br label %10743

10743:                                            ; preds = %10726, %10709
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %10744

10744:                                            ; preds = %10743
  br label %10745

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

10746:                                            ; No predecessors!
  br label %10747

10747:                                            ; preds = %10746
  br label %10748

10748:                                            ; preds = %10747, %10690
  br label %10749

10749:                                            ; preds = %10748
  br label %10750

10750:                                            ; preds = %10749
  br label %10751

10751:                                            ; preds = %10750
  %10752 = load i32, ptr @test_count, align 4, !tbaa !5
  %10753 = add nsw i32 %10752, 1
  store i32 %10753, ptr @test_count, align 4, !tbaa !5
  %10754 = load ptr, ptr %216, align 8, !tbaa !9
  %10755 = getelementptr inbounds %struct.s2n_connection, ptr %10754, i32 0, i32 33
  %10756 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10755, i32 0, i32 4
  %10757 = load ptr, ptr %10756, align 8, !tbaa !70
  %10758 = getelementptr inbounds [18 x i8], ptr %224, i64 0, i64 0
  %10759 = call i32 @s2n_psk_set_application_protocol(ptr noundef %10757, ptr noundef %10758, i8 noundef zeroext 18)
  %10760 = icmp eq i32 %10759, -1
  br i1 %10760, label %10761, label %10814

10761:                                            ; preds = %10751
  br label %10762

10762:                                            ; preds = %10761
  br label %10763

10763:                                            ; preds = %10762
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %10764 = call ptr @__errno_location() #12
  %10765 = load i32, ptr %10764, align 4, !tbaa !5
  store i32 %10765, ptr %230, align 4, !tbaa !5
  %10766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10767 = call i32 @s2n_print_stacktrace(ptr noundef %10766)
  %10768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10769 = trunc i8 %10768 to i1
  br i1 %10769, label %10770, label %10792

10770:                                            ; preds = %10763
  %10771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10772 = call i32 @fileno(ptr noundef %10771) #11
  %10773 = call i32 @isatty(i32 noundef %10772) #11
  %10774 = icmp ne i32 %10773, 0
  br i1 %10774, label %10775, label %10792

10775:                                            ; preds = %10770
  %10776 = load i32, ptr %230, align 4, !tbaa !5
  %10777 = call ptr @__errno_location() #12
  store i32 %10776, ptr %10777, align 4, !tbaa !5
  %10778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10779 = load i32, ptr @test_count, align 4, !tbaa !5
  %10780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10781 = load i32, ptr %10780, align 4, !tbaa !5
  %10782 = call ptr @s2n_strerror(i32 noundef %10781, ptr noundef @.str.4)
  %10783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10784 = load i32, ptr %10783, align 4, !tbaa !5
  %10785 = call ptr @s2n_strerror_debug(i32 noundef %10784, ptr noundef @.str.4)
  %10786 = call ptr @__errno_location() #12
  %10787 = load i32, ptr %10786, align 4, !tbaa !5
  %10788 = call ptr @strerror(i32 noundef %10787) #11
  %10789 = call ptr @__errno_location() #12
  %10790 = load i32, ptr %10789, align 4, !tbaa !5
  %10791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10778, ptr noundef @.str.2, i32 noundef %10779, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 544, ptr noundef %10782, ptr noundef %10785, ptr noundef %10788, i32 noundef %10790) #11
  br label %10809

10792:                                            ; preds = %10770, %10763
  %10793 = load i32, ptr %230, align 4, !tbaa !5
  %10794 = call ptr @__errno_location() #12
  store i32 %10793, ptr %10794, align 4, !tbaa !5
  %10795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10796 = load i32, ptr @test_count, align 4, !tbaa !5
  %10797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10798 = load i32, ptr %10797, align 4, !tbaa !5
  %10799 = call ptr @s2n_strerror(i32 noundef %10798, ptr noundef @.str.4)
  %10800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10801 = load i32, ptr %10800, align 4, !tbaa !5
  %10802 = call ptr @s2n_strerror_debug(i32 noundef %10801, ptr noundef @.str.4)
  %10803 = call ptr @__errno_location() #12
  %10804 = load i32, ptr %10803, align 4, !tbaa !5
  %10805 = call ptr @strerror(i32 noundef %10804) #11
  %10806 = call ptr @__errno_location() #12
  %10807 = load i32, ptr %10806, align 4, !tbaa !5
  %10808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10795, ptr noundef @.str.5, i32 noundef %10796, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 544, ptr noundef %10799, ptr noundef %10802, ptr noundef %10805, i32 noundef %10807) #11
  br label %10809

10809:                                            ; preds = %10792, %10775
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %10810

10810:                                            ; preds = %10809
  br label %10811

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

10812:                                            ; No predecessors!
  br label %10813

10813:                                            ; preds = %10812
  br label %10814

10814:                                            ; preds = %10813, %10751
  br label %10815

10815:                                            ; preds = %10814
  br label %10816

10816:                                            ; preds = %10815
  br label %10817

10817:                                            ; preds = %10816
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #11
  store i64 1, ptr %231, align 8, !tbaa !60
  %10818 = load i64, ptr %231, align 8, !tbaa !60
  %10819 = icmp ne i64 %10818, 0
  br i1 %10819, label %10820, label %10881

10820:                                            ; preds = %10817
  %10821 = load ptr, ptr %216, align 8, !tbaa !9
  %10822 = getelementptr inbounds %struct.s2n_connection, ptr %10821, i32 0, i32 64
  %10823 = getelementptr inbounds [256 x i8], ptr %10822, i64 0, i64 0
  %10824 = getelementptr inbounds [1 x i8], ptr %223, i64 0, i64 0
  %10825 = load i64, ptr %231, align 8, !tbaa !60
  call void @llvm.memmove.p0.p0.i64(ptr align 8 %10823, ptr align 1 %10824, i64 %10825, i1 false)
  %10826 = icmp eq ptr %10823, null
  br i1 %10826, label %10827, label %10880

10827:                                            ; preds = %10820
  br label %10828

10828:                                            ; preds = %10827
  br label %10829

10829:                                            ; preds = %10828
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %10830 = call ptr @__errno_location() #12
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  store i32 %10831, ptr %232, align 4, !tbaa !5
  %10832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10833 = call i32 @s2n_print_stacktrace(ptr noundef %10832)
  %10834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10835 = trunc i8 %10834 to i1
  br i1 %10835, label %10836, label %10858

10836:                                            ; preds = %10829
  %10837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10838 = call i32 @fileno(ptr noundef %10837) #11
  %10839 = call i32 @isatty(i32 noundef %10838) #11
  %10840 = icmp ne i32 %10839, 0
  br i1 %10840, label %10841, label %10858

10841:                                            ; preds = %10836
  %10842 = load i32, ptr %232, align 4, !tbaa !5
  %10843 = call ptr @__errno_location() #12
  store i32 %10842, ptr %10843, align 4, !tbaa !5
  %10844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10845 = load i32, ptr @test_count, align 4, !tbaa !5
  %10846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10847 = load i32, ptr %10846, align 4, !tbaa !5
  %10848 = call ptr @s2n_strerror(i32 noundef %10847, ptr noundef @.str.4)
  %10849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10850 = load i32, ptr %10849, align 4, !tbaa !5
  %10851 = call ptr @s2n_strerror_debug(i32 noundef %10850, ptr noundef @.str.4)
  %10852 = call ptr @__errno_location() #12
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  %10854 = call ptr @strerror(i32 noundef %10853) #11
  %10855 = call ptr @__errno_location() #12
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  %10857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10844, ptr noundef @.str.2, i32 noundef %10845, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 547, ptr noundef %10848, ptr noundef %10851, ptr noundef %10854, i32 noundef %10856) #11
  br label %10875

10858:                                            ; preds = %10836, %10829
  %10859 = load i32, ptr %232, align 4, !tbaa !5
  %10860 = call ptr @__errno_location() #12
  store i32 %10859, ptr %10860, align 4, !tbaa !5
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = load i32, ptr @test_count, align 4, !tbaa !5
  %10863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10864 = load i32, ptr %10863, align 4, !tbaa !5
  %10865 = call ptr @s2n_strerror(i32 noundef %10864, ptr noundef @.str.4)
  %10866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10867 = load i32, ptr %10866, align 4, !tbaa !5
  %10868 = call ptr @s2n_strerror_debug(i32 noundef %10867, ptr noundef @.str.4)
  %10869 = call ptr @__errno_location() #12
  %10870 = load i32, ptr %10869, align 4, !tbaa !5
  %10871 = call ptr @strerror(i32 noundef %10870) #11
  %10872 = call ptr @__errno_location() #12
  %10873 = load i32, ptr %10872, align 4, !tbaa !5
  %10874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10861, ptr noundef @.str.5, i32 noundef %10862, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 547, ptr noundef %10865, ptr noundef %10868, ptr noundef %10871, i32 noundef %10873) #11
  br label %10875

10875:                                            ; preds = %10858, %10841
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %10876

10876:                                            ; preds = %10875
  br label %10877

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

10878:                                            ; No predecessors!
  br label %10879

10879:                                            ; preds = %10878
  br label %10880

10880:                                            ; preds = %10879, %10820
  br label %10881

10881:                                            ; preds = %10880, %10817
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #11
  br label %10882

10882:                                            ; preds = %10881
  br label %10883

10883:                                            ; preds = %10882
  br label %10884

10884:                                            ; preds = %10883
  %10885 = load i32, ptr @test_count, align 4, !tbaa !5
  %10886 = add nsw i32 %10885, 1
  store i32 %10886, ptr @test_count, align 4, !tbaa !5
  %10887 = load ptr, ptr %216, align 8, !tbaa !9
  %10888 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %10887)
  br i1 %10888, label %10889, label %10942

10889:                                            ; preds = %10884
  br label %10890

10890:                                            ; preds = %10889
  br label %10891

10891:                                            ; preds = %10890
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %10892 = call ptr @__errno_location() #12
  %10893 = load i32, ptr %10892, align 4, !tbaa !5
  store i32 %10893, ptr %233, align 4, !tbaa !5
  %10894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10895 = call i32 @s2n_print_stacktrace(ptr noundef %10894)
  %10896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10897 = trunc i8 %10896 to i1
  br i1 %10897, label %10898, label %10920

10898:                                            ; preds = %10891
  %10899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10900 = call i32 @fileno(ptr noundef %10899) #11
  %10901 = call i32 @isatty(i32 noundef %10900) #11
  %10902 = icmp ne i32 %10901, 0
  br i1 %10902, label %10903, label %10920

10903:                                            ; preds = %10898
  %10904 = load i32, ptr %233, align 4, !tbaa !5
  %10905 = call ptr @__errno_location() #12
  store i32 %10904, ptr %10905, align 4, !tbaa !5
  %10906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10907 = load i32, ptr @test_count, align 4, !tbaa !5
  %10908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10909 = load i32, ptr %10908, align 4, !tbaa !5
  %10910 = call ptr @s2n_strerror(i32 noundef %10909, ptr noundef @.str.4)
  %10911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10912 = load i32, ptr %10911, align 4, !tbaa !5
  %10913 = call ptr @s2n_strerror_debug(i32 noundef %10912, ptr noundef @.str.4)
  %10914 = call ptr @__errno_location() #12
  %10915 = load i32, ptr %10914, align 4, !tbaa !5
  %10916 = call ptr @strerror(i32 noundef %10915) #11
  %10917 = call ptr @__errno_location() #12
  %10918 = load i32, ptr %10917, align 4, !tbaa !5
  %10919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10906, ptr noundef @.str.2, i32 noundef %10907, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 548, ptr noundef %10910, ptr noundef %10913, ptr noundef %10916, i32 noundef %10918) #11
  br label %10937

10920:                                            ; preds = %10898, %10891
  %10921 = load i32, ptr %233, align 4, !tbaa !5
  %10922 = call ptr @__errno_location() #12
  store i32 %10921, ptr %10922, align 4, !tbaa !5
  %10923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10924 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10926, ptr noundef @.str.4)
  %10928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10929 = load i32, ptr %10928, align 4, !tbaa !5
  %10930 = call ptr @s2n_strerror_debug(i32 noundef %10929, ptr noundef @.str.4)
  %10931 = call ptr @__errno_location() #12
  %10932 = load i32, ptr %10931, align 4, !tbaa !5
  %10933 = call ptr @strerror(i32 noundef %10932) #11
  %10934 = call ptr @__errno_location() #12
  %10935 = load i32, ptr %10934, align 4, !tbaa !5
  %10936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10923, ptr noundef @.str.5, i32 noundef %10924, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 548, ptr noundef %10927, ptr noundef %10930, ptr noundef %10933, i32 noundef %10935) #11
  br label %10937

10937:                                            ; preds = %10920, %10903
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %10938

10938:                                            ; preds = %10937
  br label %10939

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

10940:                                            ; No predecessors!
  br label %10941

10941:                                            ; preds = %10940
  br label %10942

10942:                                            ; preds = %10941, %10884
  br label %10943

10943:                                            ; preds = %10942
  br label %10944

10944:                                            ; preds = %10943
  br label %10945

10945:                                            ; preds = %10944
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #11
  store i64 15, ptr %234, align 8, !tbaa !60
  %10946 = load i64, ptr %234, align 8, !tbaa !60
  %10947 = icmp ne i64 %10946, 0
  br i1 %10947, label %10948, label %11009

10948:                                            ; preds = %10945
  %10949 = load ptr, ptr %216, align 8, !tbaa !9
  %10950 = getelementptr inbounds %struct.s2n_connection, ptr %10949, i32 0, i32 64
  %10951 = getelementptr inbounds [256 x i8], ptr %10950, i64 0, i64 0
  %10952 = getelementptr inbounds [15 x i8], ptr %225, i64 0, i64 0
  %10953 = load i64, ptr %234, align 8, !tbaa !60
  call void @llvm.memmove.p0.p0.i64(ptr align 8 %10951, ptr align 1 %10952, i64 %10953, i1 false)
  %10954 = icmp eq ptr %10951, null
  br i1 %10954, label %10955, label %11008

10955:                                            ; preds = %10948
  br label %10956

10956:                                            ; preds = %10955
  br label %10957

10957:                                            ; preds = %10956
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %10958 = call ptr @__errno_location() #12
  %10959 = load i32, ptr %10958, align 4, !tbaa !5
  store i32 %10959, ptr %235, align 4, !tbaa !5
  %10960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10961 = call i32 @s2n_print_stacktrace(ptr noundef %10960)
  %10962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10963 = trunc i8 %10962 to i1
  br i1 %10963, label %10964, label %10986

10964:                                            ; preds = %10957
  %10965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10966 = call i32 @fileno(ptr noundef %10965) #11
  %10967 = call i32 @isatty(i32 noundef %10966) #11
  %10968 = icmp ne i32 %10967, 0
  br i1 %10968, label %10969, label %10986

10969:                                            ; preds = %10964
  %10970 = load i32, ptr %235, align 4, !tbaa !5
  %10971 = call ptr @__errno_location() #12
  store i32 %10970, ptr %10971, align 4, !tbaa !5
  %10972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10973 = load i32, ptr @test_count, align 4, !tbaa !5
  %10974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10975 = load i32, ptr %10974, align 4, !tbaa !5
  %10976 = call ptr @s2n_strerror(i32 noundef %10975, ptr noundef @.str.4)
  %10977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10978 = load i32, ptr %10977, align 4, !tbaa !5
  %10979 = call ptr @s2n_strerror_debug(i32 noundef %10978, ptr noundef @.str.4)
  %10980 = call ptr @__errno_location() #12
  %10981 = load i32, ptr %10980, align 4, !tbaa !5
  %10982 = call ptr @strerror(i32 noundef %10981) #11
  %10983 = call ptr @__errno_location() #12
  %10984 = load i32, ptr %10983, align 4, !tbaa !5
  %10985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10972, ptr noundef @.str.2, i32 noundef %10973, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 551, ptr noundef %10976, ptr noundef %10979, ptr noundef %10982, i32 noundef %10984) #11
  br label %11003

10986:                                            ; preds = %10964, %10957
  %10987 = load i32, ptr %235, align 4, !tbaa !5
  %10988 = call ptr @__errno_location() #12
  store i32 %10987, ptr %10988, align 4, !tbaa !5
  %10989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10990 = load i32, ptr @test_count, align 4, !tbaa !5
  %10991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10992 = load i32, ptr %10991, align 4, !tbaa !5
  %10993 = call ptr @s2n_strerror(i32 noundef %10992, ptr noundef @.str.4)
  %10994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10995 = load i32, ptr %10994, align 4, !tbaa !5
  %10996 = call ptr @s2n_strerror_debug(i32 noundef %10995, ptr noundef @.str.4)
  %10997 = call ptr @__errno_location() #12
  %10998 = load i32, ptr %10997, align 4, !tbaa !5
  %10999 = call ptr @strerror(i32 noundef %10998) #11
  %11000 = call ptr @__errno_location() #12
  %11001 = load i32, ptr %11000, align 4, !tbaa !5
  %11002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10989, ptr noundef @.str.5, i32 noundef %10990, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 551, ptr noundef %10993, ptr noundef %10996, ptr noundef %10999, i32 noundef %11001) #11
  br label %11003

11003:                                            ; preds = %10986, %10969
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %11004

11004:                                            ; preds = %11003
  br label %11005

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

11006:                                            ; No predecessors!
  br label %11007

11007:                                            ; preds = %11006
  br label %11008

11008:                                            ; preds = %11007, %10948
  br label %11009

11009:                                            ; preds = %11008, %10945
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #11
  br label %11010

11010:                                            ; preds = %11009
  br label %11011

11011:                                            ; preds = %11010
  br label %11012

11012:                                            ; preds = %11011
  %11013 = load i32, ptr @test_count, align 4, !tbaa !5
  %11014 = add nsw i32 %11013, 1
  store i32 %11014, ptr @test_count, align 4, !tbaa !5
  %11015 = load ptr, ptr %216, align 8, !tbaa !9
  %11016 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %11015)
  br i1 %11016, label %11017, label %11070

11017:                                            ; preds = %11012
  br label %11018

11018:                                            ; preds = %11017
  br label %11019

11019:                                            ; preds = %11018
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %11020 = call ptr @__errno_location() #12
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  store i32 %11021, ptr %236, align 4, !tbaa !5
  %11022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11023 = call i32 @s2n_print_stacktrace(ptr noundef %11022)
  %11024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11025 = trunc i8 %11024 to i1
  br i1 %11025, label %11026, label %11048

11026:                                            ; preds = %11019
  %11027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11028 = call i32 @fileno(ptr noundef %11027) #11
  %11029 = call i32 @isatty(i32 noundef %11028) #11
  %11030 = icmp ne i32 %11029, 0
  br i1 %11030, label %11031, label %11048

11031:                                            ; preds = %11026
  %11032 = load i32, ptr %236, align 4, !tbaa !5
  %11033 = call ptr @__errno_location() #12
  store i32 %11032, ptr %11033, align 4, !tbaa !5
  %11034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11035 = load i32, ptr @test_count, align 4, !tbaa !5
  %11036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11037 = load i32, ptr %11036, align 4, !tbaa !5
  %11038 = call ptr @s2n_strerror(i32 noundef %11037, ptr noundef @.str.4)
  %11039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11040 = load i32, ptr %11039, align 4, !tbaa !5
  %11041 = call ptr @s2n_strerror_debug(i32 noundef %11040, ptr noundef @.str.4)
  %11042 = call ptr @__errno_location() #12
  %11043 = load i32, ptr %11042, align 4, !tbaa !5
  %11044 = call ptr @strerror(i32 noundef %11043) #11
  %11045 = call ptr @__errno_location() #12
  %11046 = load i32, ptr %11045, align 4, !tbaa !5
  %11047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11034, ptr noundef @.str.2, i32 noundef %11035, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 552, ptr noundef %11038, ptr noundef %11041, ptr noundef %11044, i32 noundef %11046) #11
  br label %11065

11048:                                            ; preds = %11026, %11019
  %11049 = load i32, ptr %236, align 4, !tbaa !5
  %11050 = call ptr @__errno_location() #12
  store i32 %11049, ptr %11050, align 4, !tbaa !5
  %11051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11052 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11054, ptr noundef @.str.4)
  %11056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11057 = load i32, ptr %11056, align 4, !tbaa !5
  %11058 = call ptr @s2n_strerror_debug(i32 noundef %11057, ptr noundef @.str.4)
  %11059 = call ptr @__errno_location() #12
  %11060 = load i32, ptr %11059, align 4, !tbaa !5
  %11061 = call ptr @strerror(i32 noundef %11060) #11
  %11062 = call ptr @__errno_location() #12
  %11063 = load i32, ptr %11062, align 4, !tbaa !5
  %11064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11051, ptr noundef @.str.5, i32 noundef %11052, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 552, ptr noundef %11055, ptr noundef %11058, ptr noundef %11061, i32 noundef %11063) #11
  br label %11065

11065:                                            ; preds = %11048, %11031
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %11066

11066:                                            ; preds = %11065
  br label %11067

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

11068:                                            ; No predecessors!
  br label %11069

11069:                                            ; preds = %11068
  br label %11070

11070:                                            ; preds = %11069, %11012
  br label %11071

11071:                                            ; preds = %11070
  br label %11072

11072:                                            ; preds = %11071
  br label %11073

11073:                                            ; preds = %11072
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #11
  store i64 18, ptr %237, align 8, !tbaa !60
  %11074 = load i64, ptr %237, align 8, !tbaa !60
  %11075 = icmp ne i64 %11074, 0
  br i1 %11075, label %11076, label %11137

11076:                                            ; preds = %11073
  %11077 = load ptr, ptr %216, align 8, !tbaa !9
  %11078 = getelementptr inbounds %struct.s2n_connection, ptr %11077, i32 0, i32 64
  %11079 = getelementptr inbounds [256 x i8], ptr %11078, i64 0, i64 0
  %11080 = getelementptr inbounds [18 x i8], ptr %224, i64 0, i64 0
  %11081 = load i64, ptr %237, align 8, !tbaa !60
  call void @llvm.memmove.p0.p0.i64(ptr align 8 %11079, ptr align 16 %11080, i64 %11081, i1 false)
  %11082 = icmp eq ptr %11079, null
  br i1 %11082, label %11083, label %11136

11083:                                            ; preds = %11076
  br label %11084

11084:                                            ; preds = %11083
  br label %11085

11085:                                            ; preds = %11084
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %11086 = call ptr @__errno_location() #12
  %11087 = load i32, ptr %11086, align 4, !tbaa !5
  store i32 %11087, ptr %238, align 4, !tbaa !5
  %11088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11089 = call i32 @s2n_print_stacktrace(ptr noundef %11088)
  %11090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11091 = trunc i8 %11090 to i1
  br i1 %11091, label %11092, label %11114

11092:                                            ; preds = %11085
  %11093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11094 = call i32 @fileno(ptr noundef %11093) #11
  %11095 = call i32 @isatty(i32 noundef %11094) #11
  %11096 = icmp ne i32 %11095, 0
  br i1 %11096, label %11097, label %11114

11097:                                            ; preds = %11092
  %11098 = load i32, ptr %238, align 4, !tbaa !5
  %11099 = call ptr @__errno_location() #12
  store i32 %11098, ptr %11099, align 4, !tbaa !5
  %11100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11101 = load i32, ptr @test_count, align 4, !tbaa !5
  %11102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11103 = load i32, ptr %11102, align 4, !tbaa !5
  %11104 = call ptr @s2n_strerror(i32 noundef %11103, ptr noundef @.str.4)
  %11105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11106 = load i32, ptr %11105, align 4, !tbaa !5
  %11107 = call ptr @s2n_strerror_debug(i32 noundef %11106, ptr noundef @.str.4)
  %11108 = call ptr @__errno_location() #12
  %11109 = load i32, ptr %11108, align 4, !tbaa !5
  %11110 = call ptr @strerror(i32 noundef %11109) #11
  %11111 = call ptr @__errno_location() #12
  %11112 = load i32, ptr %11111, align 4, !tbaa !5
  %11113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11100, ptr noundef @.str.2, i32 noundef %11101, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 555, ptr noundef %11104, ptr noundef %11107, ptr noundef %11110, i32 noundef %11112) #11
  br label %11131

11114:                                            ; preds = %11092, %11085
  %11115 = load i32, ptr %238, align 4, !tbaa !5
  %11116 = call ptr @__errno_location() #12
  store i32 %11115, ptr %11116, align 4, !tbaa !5
  %11117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11118 = load i32, ptr @test_count, align 4, !tbaa !5
  %11119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  %11121 = call ptr @s2n_strerror(i32 noundef %11120, ptr noundef @.str.4)
  %11122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11123 = load i32, ptr %11122, align 4, !tbaa !5
  %11124 = call ptr @s2n_strerror_debug(i32 noundef %11123, ptr noundef @.str.4)
  %11125 = call ptr @__errno_location() #12
  %11126 = load i32, ptr %11125, align 4, !tbaa !5
  %11127 = call ptr @strerror(i32 noundef %11126) #11
  %11128 = call ptr @__errno_location() #12
  %11129 = load i32, ptr %11128, align 4, !tbaa !5
  %11130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11117, ptr noundef @.str.5, i32 noundef %11118, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 555, ptr noundef %11121, ptr noundef %11124, ptr noundef %11127, i32 noundef %11129) #11
  br label %11131

11131:                                            ; preds = %11114, %11097
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %11132

11132:                                            ; preds = %11131
  br label %11133

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

11134:                                            ; No predecessors!
  br label %11135

11135:                                            ; preds = %11134
  br label %11136

11136:                                            ; preds = %11135, %11076
  br label %11137

11137:                                            ; preds = %11136, %11073
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #11
  br label %11138

11138:                                            ; preds = %11137
  br label %11139

11139:                                            ; preds = %11138
  br label %11140

11140:                                            ; preds = %11139
  %11141 = load i32, ptr @test_count, align 4, !tbaa !5
  %11142 = add nsw i32 %11141, 1
  store i32 %11142, ptr @test_count, align 4, !tbaa !5
  %11143 = load ptr, ptr %216, align 8, !tbaa !9
  %11144 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef %11143)
  br i1 %11144, label %11198, label %11145

11145:                                            ; preds = %11140
  br label %11146

11146:                                            ; preds = %11145
  br label %11147

11147:                                            ; preds = %11146
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %11148 = call ptr @__errno_location() #12
  %11149 = load i32, ptr %11148, align 4, !tbaa !5
  store i32 %11149, ptr %239, align 4, !tbaa !5
  %11150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11151 = call i32 @s2n_print_stacktrace(ptr noundef %11150)
  %11152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11153 = trunc i8 %11152 to i1
  br i1 %11153, label %11154, label %11176

11154:                                            ; preds = %11147
  %11155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11156 = call i32 @fileno(ptr noundef %11155) #11
  %11157 = call i32 @isatty(i32 noundef %11156) #11
  %11158 = icmp ne i32 %11157, 0
  br i1 %11158, label %11159, label %11176

11159:                                            ; preds = %11154
  %11160 = load i32, ptr %239, align 4, !tbaa !5
  %11161 = call ptr @__errno_location() #12
  store i32 %11160, ptr %11161, align 4, !tbaa !5
  %11162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11163 = load i32, ptr @test_count, align 4, !tbaa !5
  %11164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11165 = load i32, ptr %11164, align 4, !tbaa !5
  %11166 = call ptr @s2n_strerror(i32 noundef %11165, ptr noundef @.str.4)
  %11167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11168 = load i32, ptr %11167, align 4, !tbaa !5
  %11169 = call ptr @s2n_strerror_debug(i32 noundef %11168, ptr noundef @.str.4)
  %11170 = call ptr @__errno_location() #12
  %11171 = load i32, ptr %11170, align 4, !tbaa !5
  %11172 = call ptr @strerror(i32 noundef %11171) #11
  %11173 = call ptr @__errno_location() #12
  %11174 = load i32, ptr %11173, align 4, !tbaa !5
  %11175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11162, ptr noundef @.str.2, i32 noundef %11163, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 556, ptr noundef %11166, ptr noundef %11169, ptr noundef %11172, i32 noundef %11174) #11
  br label %11193

11176:                                            ; preds = %11154, %11147
  %11177 = load i32, ptr %239, align 4, !tbaa !5
  %11178 = call ptr @__errno_location() #12
  store i32 %11177, ptr %11178, align 4, !tbaa !5
  %11179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11180 = load i32, ptr @test_count, align 4, !tbaa !5
  %11181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11182 = load i32, ptr %11181, align 4, !tbaa !5
  %11183 = call ptr @s2n_strerror(i32 noundef %11182, ptr noundef @.str.4)
  %11184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11185 = load i32, ptr %11184, align 4, !tbaa !5
  %11186 = call ptr @s2n_strerror_debug(i32 noundef %11185, ptr noundef @.str.4)
  %11187 = call ptr @__errno_location() #12
  %11188 = load i32, ptr %11187, align 4, !tbaa !5
  %11189 = call ptr @strerror(i32 noundef %11188) #11
  %11190 = call ptr @__errno_location() #12
  %11191 = load i32, ptr %11190, align 4, !tbaa !5
  %11192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11179, ptr noundef @.str.5, i32 noundef %11180, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 556, ptr noundef %11183, ptr noundef %11186, ptr noundef %11189, i32 noundef %11191) #11
  br label %11193

11193:                                            ; preds = %11176, %11159
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %11194

11194:                                            ; preds = %11193
  br label %11195

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

11196:                                            ; No predecessors!
  br label %11197

11197:                                            ; preds = %11196
  br label %11198

11198:                                            ; preds = %11197, %11140
  br label %11199

11199:                                            ; preds = %11198
  br label %11200

11200:                                            ; preds = %11199
  br label %11201

11201:                                            ; preds = %11200
  %11202 = load i32, ptr @test_count, align 4, !tbaa !5
  %11203 = add nsw i32 %11202, 1
  store i32 %11203, ptr @test_count, align 4, !tbaa !5
  %11204 = load ptr, ptr %216, align 8, !tbaa !9
  %11205 = call i32 @s2n_connection_free(ptr noundef %11204)
  %11206 = icmp eq i32 %11205, -1
  br i1 %11206, label %11207, label %11260

11207:                                            ; preds = %11201
  br label %11208

11208:                                            ; preds = %11207
  br label %11209

11209:                                            ; preds = %11208
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %11210 = call ptr @__errno_location() #12
  %11211 = load i32, ptr %11210, align 4, !tbaa !5
  store i32 %11211, ptr %240, align 4, !tbaa !5
  %11212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11213 = call i32 @s2n_print_stacktrace(ptr noundef %11212)
  %11214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11215 = trunc i8 %11214 to i1
  br i1 %11215, label %11216, label %11238

11216:                                            ; preds = %11209
  %11217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11218 = call i32 @fileno(ptr noundef %11217) #11
  %11219 = call i32 @isatty(i32 noundef %11218) #11
  %11220 = icmp ne i32 %11219, 0
  br i1 %11220, label %11221, label %11238

11221:                                            ; preds = %11216
  %11222 = load i32, ptr %240, align 4, !tbaa !5
  %11223 = call ptr @__errno_location() #12
  store i32 %11222, ptr %11223, align 4, !tbaa !5
  %11224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11225 = load i32, ptr @test_count, align 4, !tbaa !5
  %11226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11227 = load i32, ptr %11226, align 4, !tbaa !5
  %11228 = call ptr @s2n_strerror(i32 noundef %11227, ptr noundef @.str.4)
  %11229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11230 = load i32, ptr %11229, align 4, !tbaa !5
  %11231 = call ptr @s2n_strerror_debug(i32 noundef %11230, ptr noundef @.str.4)
  %11232 = call ptr @__errno_location() #12
  %11233 = load i32, ptr %11232, align 4, !tbaa !5
  %11234 = call ptr @strerror(i32 noundef %11233) #11
  %11235 = call ptr @__errno_location() #12
  %11236 = load i32, ptr %11235, align 4, !tbaa !5
  %11237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11224, ptr noundef @.str.2, i32 noundef %11225, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 558, ptr noundef %11228, ptr noundef %11231, ptr noundef %11234, i32 noundef %11236) #11
  br label %11255

11238:                                            ; preds = %11216, %11209
  %11239 = load i32, ptr %240, align 4, !tbaa !5
  %11240 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %11249 = call ptr @__errno_location() #12
  %11250 = load i32, ptr %11249, align 4, !tbaa !5
  %11251 = call ptr @strerror(i32 noundef %11250) #11
  %11252 = call ptr @__errno_location() #12
  %11253 = load i32, ptr %11252, align 4, !tbaa !5
  %11254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11241, ptr noundef @.str.5, i32 noundef %11242, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 558, ptr noundef %11245, ptr noundef %11248, ptr noundef %11251, i32 noundef %11253) #11
  br label %11255

11255:                                            ; preds = %11238, %11221
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %11256

11256:                                            ; preds = %11255
  br label %11257

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

11258:                                            ; No predecessors!
  br label %11259

11259:                                            ; preds = %11258
  br label %11260

11260:                                            ; preds = %11259, %11201
  br label %11261

11261:                                            ; preds = %11260
  br label %11262

11262:                                            ; preds = %11261
  call void @llvm.lifetime.end.p0(i64 15, ptr %225) #11
  call void @llvm.lifetime.end.p0(i64 18, ptr %224) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #11
  br label %11263

11263:                                            ; preds = %11262
  br label %11264

11264:                                            ; preds = %11263
  br label %11265

11265:                                            ; preds = %11264
  %11266 = load i32, ptr @test_count, align 4, !tbaa !5
  %11267 = add nsw i32 %11266, 1
  store i32 %11267, ptr @test_count, align 4, !tbaa !5
  %11268 = call i32 @s2n_early_data_accept_or_reject(ptr noundef null)
  %11269 = getelementptr inbounds %struct.s2n_result, ptr %241, i32 0, i32 0
  store i32 %11268, ptr %11269, align 4
  %11270 = getelementptr inbounds %struct.s2n_result, ptr %241, i32 0, i32 0
  %11271 = load i32, ptr %11270, align 4
  %11272 = call zeroext i1 @s2n_result_is_error(i32 %11271)
  br i1 %11272, label %11326, label %11273

11273:                                            ; preds = %11265
  br label %11274

11274:                                            ; preds = %11273
  br label %11275

11275:                                            ; preds = %11274
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %11276 = call ptr @__errno_location() #12
  %11277 = load i32, ptr %11276, align 4, !tbaa !5
  store i32 %11277, ptr %242, align 4, !tbaa !5
  %11278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11279 = call i32 @s2n_print_stacktrace(ptr noundef %11278)
  %11280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11281 = trunc i8 %11280 to i1
  br i1 %11281, label %11282, label %11304

11282:                                            ; preds = %11275
  %11283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11284 = call i32 @fileno(ptr noundef %11283) #11
  %11285 = call i32 @isatty(i32 noundef %11284) #11
  %11286 = icmp ne i32 %11285, 0
  br i1 %11286, label %11287, label %11304

11287:                                            ; preds = %11282
  %11288 = load i32, ptr %242, align 4, !tbaa !5
  %11289 = call ptr @__errno_location() #12
  store i32 %11288, ptr %11289, align 4, !tbaa !5
  %11290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11291 = load i32, ptr @test_count, align 4, !tbaa !5
  %11292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11293 = load i32, ptr %11292, align 4, !tbaa !5
  %11294 = call ptr @s2n_strerror(i32 noundef %11293, ptr noundef @.str.4)
  %11295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11296 = load i32, ptr %11295, align 4, !tbaa !5
  %11297 = call ptr @s2n_strerror_debug(i32 noundef %11296, ptr noundef @.str.4)
  %11298 = call ptr @__errno_location() #12
  %11299 = load i32, ptr %11298, align 4, !tbaa !5
  %11300 = call ptr @strerror(i32 noundef %11299) #11
  %11301 = call ptr @__errno_location() #12
  %11302 = load i32, ptr %11301, align 4, !tbaa !5
  %11303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11290, ptr noundef @.str.2, i32 noundef %11291, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 566, ptr noundef %11294, ptr noundef %11297, ptr noundef %11300, i32 noundef %11302) #11
  br label %11321

11304:                                            ; preds = %11282, %11275
  %11305 = load i32, ptr %242, align 4, !tbaa !5
  %11306 = call ptr @__errno_location() #12
  store i32 %11305, ptr %11306, align 4, !tbaa !5
  %11307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11308 = load i32, ptr @test_count, align 4, !tbaa !5
  %11309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11310 = load i32, ptr %11309, align 4, !tbaa !5
  %11311 = call ptr @s2n_strerror(i32 noundef %11310, ptr noundef @.str.4)
  %11312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11313 = load i32, ptr %11312, align 4, !tbaa !5
  %11314 = call ptr @s2n_strerror_debug(i32 noundef %11313, ptr noundef @.str.4)
  %11315 = call ptr @__errno_location() #12
  %11316 = load i32, ptr %11315, align 4, !tbaa !5
  %11317 = call ptr @strerror(i32 noundef %11316) #11
  %11318 = call ptr @__errno_location() #12
  %11319 = load i32, ptr %11318, align 4, !tbaa !5
  %11320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11307, ptr noundef @.str.5, i32 noundef %11308, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 566, ptr noundef %11311, ptr noundef %11314, ptr noundef %11317, i32 noundef %11319) #11
  br label %11321

11321:                                            ; preds = %11304, %11287
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %11322

11322:                                            ; preds = %11321
  br label %11323

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

11324:                                            ; No predecessors!
  br label %11325

11325:                                            ; preds = %11324
  br label %11326

11326:                                            ; preds = %11325, %11265
  br label %11327

11327:                                            ; preds = %11326
  br label %11328

11328:                                            ; preds = %11327
  br label %11329

11329:                                            ; preds = %11328
  %11330 = load i32, ptr @test_count, align 4, !tbaa !5
  %11331 = add nsw i32 %11330, 1
  store i32 %11331, ptr @test_count, align 4, !tbaa !5
  %11332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11333 = load i32, ptr %11332, align 4, !tbaa !5
  %11334 = icmp eq i32 %11333, 402653193
  br i1 %11334, label %11388, label %11335

11335:                                            ; preds = %11329
  br label %11336

11336:                                            ; preds = %11335
  br label %11337

11337:                                            ; preds = %11336
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %11338 = call ptr @__errno_location() #12
  %11339 = load i32, ptr %11338, align 4, !tbaa !5
  store i32 %11339, ptr %243, align 4, !tbaa !5
  %11340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11341 = call i32 @s2n_print_stacktrace(ptr noundef %11340)
  %11342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11343 = trunc i8 %11342 to i1
  br i1 %11343, label %11344, label %11366

11344:                                            ; preds = %11337
  %11345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11346 = call i32 @fileno(ptr noundef %11345) #11
  %11347 = call i32 @isatty(i32 noundef %11346) #11
  %11348 = icmp ne i32 %11347, 0
  br i1 %11348, label %11349, label %11366

11349:                                            ; preds = %11344
  %11350 = load i32, ptr %243, align 4, !tbaa !5
  %11351 = call ptr @__errno_location() #12
  store i32 %11350, ptr %11351, align 4, !tbaa !5
  %11352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11353 = load i32, ptr @test_count, align 4, !tbaa !5
  %11354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11355 = load i32, ptr %11354, align 4, !tbaa !5
  %11356 = call ptr @s2n_strerror(i32 noundef %11355, ptr noundef @.str.4)
  %11357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11358 = load i32, ptr %11357, align 4, !tbaa !5
  %11359 = call ptr @s2n_strerror_debug(i32 noundef %11358, ptr noundef @.str.4)
  %11360 = call ptr @__errno_location() #12
  %11361 = load i32, ptr %11360, align 4, !tbaa !5
  %11362 = call ptr @strerror(i32 noundef %11361) #11
  %11363 = call ptr @__errno_location() #12
  %11364 = load i32, ptr %11363, align 4, !tbaa !5
  %11365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11352, ptr noundef @.str.2, i32 noundef %11353, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 566, ptr noundef %11356, ptr noundef %11359, ptr noundef %11362, i32 noundef %11364) #11
  br label %11383

11366:                                            ; preds = %11344, %11337
  %11367 = load i32, ptr %243, align 4, !tbaa !5
  %11368 = call ptr @__errno_location() #12
  store i32 %11367, ptr %11368, align 4, !tbaa !5
  %11369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11370 = load i32, ptr @test_count, align 4, !tbaa !5
  %11371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11372 = load i32, ptr %11371, align 4, !tbaa !5
  %11373 = call ptr @s2n_strerror(i32 noundef %11372, ptr noundef @.str.4)
  %11374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11375 = load i32, ptr %11374, align 4, !tbaa !5
  %11376 = call ptr @s2n_strerror_debug(i32 noundef %11375, ptr noundef @.str.4)
  %11377 = call ptr @__errno_location() #12
  %11378 = load i32, ptr %11377, align 4, !tbaa !5
  %11379 = call ptr @strerror(i32 noundef %11378) #11
  %11380 = call ptr @__errno_location() #12
  %11381 = load i32, ptr %11380, align 4, !tbaa !5
  %11382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11369, ptr noundef @.str.5, i32 noundef %11370, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 566, ptr noundef %11373, ptr noundef %11376, ptr noundef %11379, i32 noundef %11381) #11
  br label %11383

11383:                                            ; preds = %11366, %11349
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %11384

11384:                                            ; preds = %11383
  br label %11385

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

11386:                                            ; No predecessors!
  br label %11387

11387:                                            ; preds = %11386
  br label %11388

11388:                                            ; preds = %11387, %11329
  br label %11389

11389:                                            ; preds = %11388
  br label %11390

11390:                                            ; preds = %11389
  br label %11391

11391:                                            ; preds = %11390
  %11392 = load i32, ptr @test_count, align 4, !tbaa !5
  %11393 = add nsw i32 %11392, 1
  store i32 %11393, ptr @test_count, align 4, !tbaa !5
  %11394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11395 = load i32, ptr %11394, align 4, !tbaa !5
  %11396 = call ptr @s2n_strerror_debug(i32 noundef %11395, ptr noundef @.str.4)
  %11397 = icmp eq ptr %11396, null
  br i1 %11397, label %11398, label %11451

11398:                                            ; preds = %11391
  br label %11399

11399:                                            ; preds = %11398
  br label %11400

11400:                                            ; preds = %11399
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %11401 = call ptr @__errno_location() #12
  %11402 = load i32, ptr %11401, align 4, !tbaa !5
  store i32 %11402, ptr %244, align 4, !tbaa !5
  %11403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11404 = call i32 @s2n_print_stacktrace(ptr noundef %11403)
  %11405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11406 = trunc i8 %11405 to i1
  br i1 %11406, label %11407, label %11429

11407:                                            ; preds = %11400
  %11408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11409 = call i32 @fileno(ptr noundef %11408) #11
  %11410 = call i32 @isatty(i32 noundef %11409) #11
  %11411 = icmp ne i32 %11410, 0
  br i1 %11411, label %11412, label %11429

11412:                                            ; preds = %11407
  %11413 = load i32, ptr %244, align 4, !tbaa !5
  %11414 = call ptr @__errno_location() #12
  store i32 %11413, ptr %11414, align 4, !tbaa !5
  %11415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11416 = load i32, ptr @test_count, align 4, !tbaa !5
  %11417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11418 = load i32, ptr %11417, align 4, !tbaa !5
  %11419 = call ptr @s2n_strerror(i32 noundef %11418, ptr noundef @.str.4)
  %11420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  %11422 = call ptr @s2n_strerror_debug(i32 noundef %11421, ptr noundef @.str.4)
  %11423 = call ptr @__errno_location() #12
  %11424 = load i32, ptr %11423, align 4, !tbaa !5
  %11425 = call ptr @strerror(i32 noundef %11424) #11
  %11426 = call ptr @__errno_location() #12
  %11427 = load i32, ptr %11426, align 4, !tbaa !5
  %11428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11415, ptr noundef @.str.2, i32 noundef %11416, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 566, ptr noundef %11419, ptr noundef %11422, ptr noundef %11425, i32 noundef %11427) #11
  br label %11446

11429:                                            ; preds = %11407, %11400
  %11430 = load i32, ptr %244, align 4, !tbaa !5
  %11431 = call ptr @__errno_location() #12
  store i32 %11430, ptr %11431, align 4, !tbaa !5
  %11432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11433 = load i32, ptr @test_count, align 4, !tbaa !5
  %11434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11435 = load i32, ptr %11434, align 4, !tbaa !5
  %11436 = call ptr @s2n_strerror(i32 noundef %11435, ptr noundef @.str.4)
  %11437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11438 = load i32, ptr %11437, align 4, !tbaa !5
  %11439 = call ptr @s2n_strerror_debug(i32 noundef %11438, ptr noundef @.str.4)
  %11440 = call ptr @__errno_location() #12
  %11441 = load i32, ptr %11440, align 4, !tbaa !5
  %11442 = call ptr @strerror(i32 noundef %11441) #11
  %11443 = call ptr @__errno_location() #12
  %11444 = load i32, ptr %11443, align 4, !tbaa !5
  %11445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11432, ptr noundef @.str.5, i32 noundef %11433, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 566, ptr noundef %11436, ptr noundef %11439, ptr noundef %11442, i32 noundef %11444) #11
  br label %11446

11446:                                            ; preds = %11429, %11412
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %11447

11447:                                            ; preds = %11446
  br label %11448

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

11449:                                            ; No predecessors!
  br label %11450

11450:                                            ; preds = %11449
  br label %11451

11451:                                            ; preds = %11450, %11391
  br label %11452

11452:                                            ; preds = %11451
  br label %11453

11453:                                            ; preds = %11452
  br label %11454

11454:                                            ; preds = %11453
  br label %11455

11455:                                            ; preds = %11454
  br label %11456

11456:                                            ; preds = %11455
  %11457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11457, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11458 = call ptr @__errno_location() #12
  store i32 0, ptr %11458, align 4, !tbaa !5
  br label %11459

11459:                                            ; preds = %11456
  br label %11460

11460:                                            ; preds = %11459
  br label %11461

11461:                                            ; preds = %11460
  br label %11462

11462:                                            ; preds = %11461
  call void @llvm.lifetime.start.p0(i64 8, ptr %245) #11
  %11463 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11463, ptr %245, align 8, !tbaa !9
  br label %11464

11464:                                            ; preds = %11462
  %11465 = load i32, ptr @test_count, align 4, !tbaa !5
  %11466 = add nsw i32 %11465, 1
  store i32 %11466, ptr @test_count, align 4, !tbaa !5
  %11467 = load ptr, ptr %245, align 8, !tbaa !9
  %11468 = icmp eq ptr %11467, null
  br i1 %11468, label %11469, label %11522

11469:                                            ; preds = %11464
  br label %11470

11470:                                            ; preds = %11469
  br label %11471

11471:                                            ; preds = %11470
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %11472 = call ptr @__errno_location() #12
  %11473 = load i32, ptr %11472, align 4, !tbaa !5
  store i32 %11473, ptr %246, align 4, !tbaa !5
  %11474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11475 = call i32 @s2n_print_stacktrace(ptr noundef %11474)
  %11476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11477 = trunc i8 %11476 to i1
  br i1 %11477, label %11478, label %11500

11478:                                            ; preds = %11471
  %11479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11480 = call i32 @fileno(ptr noundef %11479) #11
  %11481 = call i32 @isatty(i32 noundef %11480) #11
  %11482 = icmp ne i32 %11481, 0
  br i1 %11482, label %11483, label %11500

11483:                                            ; preds = %11478
  %11484 = load i32, ptr %246, align 4, !tbaa !5
  %11485 = call ptr @__errno_location() #12
  store i32 %11484, ptr %11485, align 4, !tbaa !5
  %11486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11487 = load i32, ptr @test_count, align 4, !tbaa !5
  %11488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11489 = load i32, ptr %11488, align 4, !tbaa !5
  %11490 = call ptr @s2n_strerror(i32 noundef %11489, ptr noundef @.str.4)
  %11491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11492 = load i32, ptr %11491, align 4, !tbaa !5
  %11493 = call ptr @s2n_strerror_debug(i32 noundef %11492, ptr noundef @.str.4)
  %11494 = call ptr @__errno_location() #12
  %11495 = load i32, ptr %11494, align 4, !tbaa !5
  %11496 = call ptr @strerror(i32 noundef %11495) #11
  %11497 = call ptr @__errno_location() #12
  %11498 = load i32, ptr %11497, align 4, !tbaa !5
  %11499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11486, ptr noundef @.str.2, i32 noundef %11487, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11490, ptr noundef %11493, ptr noundef %11496, i32 noundef %11498) #11
  br label %11517

11500:                                            ; preds = %11478, %11471
  %11501 = load i32, ptr %246, align 4, !tbaa !5
  %11502 = call ptr @__errno_location() #12
  store i32 %11501, ptr %11502, align 4, !tbaa !5
  %11503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11504 = load i32, ptr @test_count, align 4, !tbaa !5
  %11505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11506 = load i32, ptr %11505, align 4, !tbaa !5
  %11507 = call ptr @s2n_strerror(i32 noundef %11506, ptr noundef @.str.4)
  %11508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11509 = load i32, ptr %11508, align 4, !tbaa !5
  %11510 = call ptr @s2n_strerror_debug(i32 noundef %11509, ptr noundef @.str.4)
  %11511 = call ptr @__errno_location() #12
  %11512 = load i32, ptr %11511, align 4, !tbaa !5
  %11513 = call ptr @strerror(i32 noundef %11512) #11
  %11514 = call ptr @__errno_location() #12
  %11515 = load i32, ptr %11514, align 4, !tbaa !5
  %11516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11503, ptr noundef @.str.5, i32 noundef %11504, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11507, ptr noundef %11510, ptr noundef %11513, i32 noundef %11515) #11
  br label %11517

11517:                                            ; preds = %11500, %11483
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %11518

11518:                                            ; preds = %11517
  br label %11519

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

11520:                                            ; No predecessors!
  br label %11521

11521:                                            ; preds = %11520
  br label %11522

11522:                                            ; preds = %11521, %11464
  br label %11523

11523:                                            ; preds = %11522
  br label %11524

11524:                                            ; preds = %11523
  br label %11525

11525:                                            ; preds = %11524
  %11526 = load i32, ptr @test_count, align 4, !tbaa !5
  %11527 = add nsw i32 %11526, 1
  store i32 %11527, ptr @test_count, align 4, !tbaa !5
  %11528 = load ptr, ptr %245, align 8, !tbaa !9
  %11529 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %11528, ptr noundef @.str.84)
  %11530 = icmp eq i32 %11529, -1
  br i1 %11530, label %11531, label %11584

11531:                                            ; preds = %11525
  br label %11532

11532:                                            ; preds = %11531
  br label %11533

11533:                                            ; preds = %11532
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %11534 = call ptr @__errno_location() #12
  %11535 = load i32, ptr %11534, align 4, !tbaa !5
  store i32 %11535, ptr %247, align 4, !tbaa !5
  %11536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11537 = call i32 @s2n_print_stacktrace(ptr noundef %11536)
  %11538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11539 = trunc i8 %11538 to i1
  br i1 %11539, label %11540, label %11562

11540:                                            ; preds = %11533
  %11541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11542 = call i32 @fileno(ptr noundef %11541) #11
  %11543 = call i32 @isatty(i32 noundef %11542) #11
  %11544 = icmp ne i32 %11543, 0
  br i1 %11544, label %11545, label %11562

11545:                                            ; preds = %11540
  %11546 = load i32, ptr %247, align 4, !tbaa !5
  %11547 = call ptr @__errno_location() #12
  store i32 %11546, ptr %11547, align 4, !tbaa !5
  %11548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11549 = load i32, ptr @test_count, align 4, !tbaa !5
  %11550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call ptr @s2n_strerror(i32 noundef %11551, ptr noundef @.str.4)
  %11553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  %11555 = call ptr @s2n_strerror_debug(i32 noundef %11554, ptr noundef @.str.4)
  %11556 = call ptr @__errno_location() #12
  %11557 = load i32, ptr %11556, align 4, !tbaa !5
  %11558 = call ptr @strerror(i32 noundef %11557) #11
  %11559 = call ptr @__errno_location() #12
  %11560 = load i32, ptr %11559, align 4, !tbaa !5
  %11561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11548, ptr noundef @.str.2, i32 noundef %11549, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 572, ptr noundef %11552, ptr noundef %11555, ptr noundef %11558, i32 noundef %11560) #11
  br label %11579

11562:                                            ; preds = %11540, %11533
  %11563 = load i32, ptr %247, align 4, !tbaa !5
  %11564 = call ptr @__errno_location() #12
  store i32 %11563, ptr %11564, align 4, !tbaa !5
  %11565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11566 = load i32, ptr @test_count, align 4, !tbaa !5
  %11567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11568 = load i32, ptr %11567, align 4, !tbaa !5
  %11569 = call ptr @s2n_strerror(i32 noundef %11568, ptr noundef @.str.4)
  %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_debug(i32 noundef %11571, ptr noundef @.str.4)
  %11573 = call ptr @__errno_location() #12
  %11574 = load i32, ptr %11573, align 4, !tbaa !5
  %11575 = call ptr @strerror(i32 noundef %11574) #11
  %11576 = call ptr @__errno_location() #12
  %11577 = load i32, ptr %11576, align 4, !tbaa !5
  %11578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11565, ptr noundef @.str.5, i32 noundef %11566, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 572, ptr noundef %11569, ptr noundef %11572, ptr noundef %11575, i32 noundef %11577) #11
  br label %11579

11579:                                            ; preds = %11562, %11545
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %11580

11580:                                            ; preds = %11579
  br label %11581

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

11582:                                            ; No predecessors!
  br label %11583

11583:                                            ; preds = %11582
  br label %11584

11584:                                            ; preds = %11583, %11525
  br label %11585

11585:                                            ; preds = %11584
  br label %11586

11586:                                            ; preds = %11585
  br label %11587

11587:                                            ; preds = %11586
  %11588 = load i32, ptr @test_count, align 4, !tbaa !5
  %11589 = add nsw i32 %11588, 1
  store i32 %11589, ptr @test_count, align 4, !tbaa !5
  %11590 = load ptr, ptr %245, align 8, !tbaa !9
  %11591 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %11590, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %11592 = getelementptr inbounds %struct.s2n_result, ptr %248, i32 0, i32 0
  store i32 %11591, ptr %11592, align 4
  %11593 = getelementptr inbounds %struct.s2n_result, ptr %248, i32 0, i32 0
  %11594 = load i32, ptr %11593, align 4
  %11595 = call zeroext i1 @s2n_result_is_ok(i32 %11594)
  br i1 %11595, label %11649, label %11596

11596:                                            ; preds = %11587
  br label %11597

11597:                                            ; preds = %11596
  br label %11598

11598:                                            ; preds = %11597
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %11599 = call ptr @__errno_location() #12
  %11600 = load i32, ptr %11599, align 4, !tbaa !5
  store i32 %11600, ptr %249, align 4, !tbaa !5
  %11601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11602 = call i32 @s2n_print_stacktrace(ptr noundef %11601)
  %11603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11604 = trunc i8 %11603 to i1
  br i1 %11604, label %11605, label %11627

11605:                                            ; preds = %11598
  %11606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11607 = call i32 @fileno(ptr noundef %11606) #11
  %11608 = call i32 @isatty(i32 noundef %11607) #11
  %11609 = icmp ne i32 %11608, 0
  br i1 %11609, label %11610, label %11627

11610:                                            ; preds = %11605
  %11611 = load i32, ptr %249, align 4, !tbaa !5
  %11612 = call ptr @__errno_location() #12
  store i32 %11611, ptr %11612, align 4, !tbaa !5
  %11613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11614 = load i32, ptr @test_count, align 4, !tbaa !5
  %11615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11616 = load i32, ptr %11615, align 4, !tbaa !5
  %11617 = call ptr @s2n_strerror(i32 noundef %11616, ptr noundef @.str.4)
  %11618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11619 = load i32, ptr %11618, align 4, !tbaa !5
  %11620 = call ptr @s2n_strerror_debug(i32 noundef %11619, ptr noundef @.str.4)
  %11621 = call ptr @__errno_location() #12
  %11622 = load i32, ptr %11621, align 4, !tbaa !5
  %11623 = call ptr @strerror(i32 noundef %11622) #11
  %11624 = call ptr @__errno_location() #12
  %11625 = load i32, ptr %11624, align 4, !tbaa !5
  %11626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11613, ptr noundef @.str.2, i32 noundef %11614, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 573, ptr noundef %11617, ptr noundef %11620, ptr noundef %11623, i32 noundef %11625) #11
  br label %11644

11627:                                            ; preds = %11605, %11598
  %11628 = load i32, ptr %249, align 4, !tbaa !5
  %11629 = call ptr @__errno_location() #12
  store i32 %11628, ptr %11629, align 4, !tbaa !5
  %11630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11631 = load i32, ptr @test_count, align 4, !tbaa !5
  %11632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11633 = load i32, ptr %11632, align 4, !tbaa !5
  %11634 = call ptr @s2n_strerror(i32 noundef %11633, ptr noundef @.str.4)
  %11635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11636 = load i32, ptr %11635, align 4, !tbaa !5
  %11637 = call ptr @s2n_strerror_debug(i32 noundef %11636, ptr noundef @.str.4)
  %11638 = call ptr @__errno_location() #12
  %11639 = load i32, ptr %11638, align 4, !tbaa !5
  %11640 = call ptr @strerror(i32 noundef %11639) #11
  %11641 = call ptr @__errno_location() #12
  %11642 = load i32, ptr %11641, align 4, !tbaa !5
  %11643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11630, ptr noundef @.str.5, i32 noundef %11631, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 573, ptr noundef %11634, ptr noundef %11637, ptr noundef %11640, i32 noundef %11642) #11
  br label %11644

11644:                                            ; preds = %11627, %11610
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %11645

11645:                                            ; preds = %11644
  br label %11646

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

11647:                                            ; No predecessors!
  br label %11648

11648:                                            ; preds = %11647
  br label %11649

11649:                                            ; preds = %11648, %11587
  br label %11650

11650:                                            ; preds = %11649
  br label %11651

11651:                                            ; preds = %11650
  %11652 = load ptr, ptr %245, align 8, !tbaa !9
  %11653 = getelementptr inbounds %struct.s2n_connection, ptr %11652, i32 0, i32 27
  %11654 = load ptr, ptr %11653, align 8, !tbaa !63
  %11655 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11654, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %11655, align 8, !tbaa !64
  %11656 = load ptr, ptr %245, align 8, !tbaa !9
  %11657 = getelementptr inbounds %struct.s2n_connection, ptr %11656, i32 0, i32 89
  store i32 1, ptr %11657, align 8, !tbaa !15
  %11658 = load ptr, ptr %245, align 8, !tbaa !9
  %11659 = getelementptr inbounds %struct.s2n_connection, ptr %11658, i32 0, i32 23
  store i8 34, ptr %11659, align 4, !tbaa !69
  br label %11660

11660:                                            ; preds = %11651
  %11661 = load i32, ptr @test_count, align 4, !tbaa !5
  %11662 = add nsw i32 %11661, 1
  store i32 %11662, ptr @test_count, align 4, !tbaa !5
  %11663 = load ptr, ptr %245, align 8, !tbaa !9
  %11664 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %11663)
  %11665 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  store i32 %11664, ptr %11665, align 4
  %11666 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  %11667 = load i32, ptr %11666, align 4
  %11668 = call zeroext i1 @s2n_result_is_ok(i32 %11667)
  br i1 %11668, label %11722, label %11669

11669:                                            ; preds = %11660
  br label %11670

11670:                                            ; preds = %11669
  br label %11671

11671:                                            ; preds = %11670
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %11672 = call ptr @__errno_location() #12
  %11673 = load i32, ptr %11672, align 4, !tbaa !5
  store i32 %11673, ptr %251, align 4, !tbaa !5
  %11674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11675 = call i32 @s2n_print_stacktrace(ptr noundef %11674)
  %11676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11677 = trunc i8 %11676 to i1
  br i1 %11677, label %11678, label %11700

11678:                                            ; preds = %11671
  %11679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11680 = call i32 @fileno(ptr noundef %11679) #11
  %11681 = call i32 @isatty(i32 noundef %11680) #11
  %11682 = icmp ne i32 %11681, 0
  br i1 %11682, label %11683, label %11700

11683:                                            ; preds = %11678
  %11684 = load i32, ptr %251, align 4, !tbaa !5
  %11685 = call ptr @__errno_location() #12
  store i32 %11684, ptr %11685, align 4, !tbaa !5
  %11686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11687 = load i32, ptr @test_count, align 4, !tbaa !5
  %11688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call ptr @s2n_strerror(i32 noundef %11689, ptr noundef @.str.4)
  %11691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call ptr @s2n_strerror_debug(i32 noundef %11692, ptr noundef @.str.4)
  %11694 = call ptr @__errno_location() #12
  %11695 = load i32, ptr %11694, align 4, !tbaa !5
  %11696 = call ptr @strerror(i32 noundef %11695) #11
  %11697 = call ptr @__errno_location() #12
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  %11699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11686, ptr noundef @.str.2, i32 noundef %11687, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 579, ptr noundef %11690, ptr noundef %11693, ptr noundef %11696, i32 noundef %11698) #11
  br label %11717

11700:                                            ; preds = %11678, %11671
  %11701 = load i32, ptr %251, align 4, !tbaa !5
  %11702 = call ptr @__errno_location() #12
  store i32 %11701, ptr %11702, align 4, !tbaa !5
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = load i32, ptr @test_count, align 4, !tbaa !5
  %11705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11706 = load i32, ptr %11705, align 4, !tbaa !5
  %11707 = call ptr @s2n_strerror(i32 noundef %11706, ptr noundef @.str.4)
  %11708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11709 = load i32, ptr %11708, align 4, !tbaa !5
  %11710 = call ptr @s2n_strerror_debug(i32 noundef %11709, ptr noundef @.str.4)
  %11711 = call ptr @__errno_location() #12
  %11712 = load i32, ptr %11711, align 4, !tbaa !5
  %11713 = call ptr @strerror(i32 noundef %11712) #11
  %11714 = call ptr @__errno_location() #12
  %11715 = load i32, ptr %11714, align 4, !tbaa !5
  %11716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11703, ptr noundef @.str.5, i32 noundef %11704, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 579, ptr noundef %11707, ptr noundef %11710, ptr noundef %11713, i32 noundef %11715) #11
  br label %11717

11717:                                            ; preds = %11700, %11683
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %11718

11718:                                            ; preds = %11717
  br label %11719

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

11720:                                            ; No predecessors!
  br label %11721

11721:                                            ; preds = %11720
  br label %11722

11722:                                            ; preds = %11721, %11660
  br label %11723

11723:                                            ; preds = %11722
  br label %11724

11724:                                            ; preds = %11723
  br label %11725

11725:                                            ; preds = %11724
  %11726 = load i32, ptr @test_count, align 4, !tbaa !5
  %11727 = add nsw i32 %11726, 1
  store i32 %11727, ptr @test_count, align 4, !tbaa !5
  %11728 = load ptr, ptr %245, align 8, !tbaa !9
  %11729 = getelementptr inbounds %struct.s2n_connection, ptr %11728, i32 0, i32 89
  %11730 = load i32, ptr %11729, align 8, !tbaa !15
  %11731 = icmp eq i32 %11730, 4
  br i1 %11731, label %11785, label %11732

11732:                                            ; preds = %11725
  br label %11733

11733:                                            ; preds = %11732
  br label %11734

11734:                                            ; preds = %11733
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %11735 = call ptr @__errno_location() #12
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  store i32 %11736, ptr %252, align 4, !tbaa !5
  %11737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11738 = call i32 @s2n_print_stacktrace(ptr noundef %11737)
  %11739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11740 = trunc i8 %11739 to i1
  br i1 %11740, label %11741, label %11763

11741:                                            ; preds = %11734
  %11742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11743 = call i32 @fileno(ptr noundef %11742) #11
  %11744 = call i32 @isatty(i32 noundef %11743) #11
  %11745 = icmp ne i32 %11744, 0
  br i1 %11745, label %11746, label %11763

11746:                                            ; preds = %11741
  %11747 = load i32, ptr %252, align 4, !tbaa !5
  %11748 = call ptr @__errno_location() #12
  store i32 %11747, ptr %11748, align 4, !tbaa !5
  %11749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11750 = load i32, ptr @test_count, align 4, !tbaa !5
  %11751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11752 = load i32, ptr %11751, align 4, !tbaa !5
  %11753 = call ptr @s2n_strerror(i32 noundef %11752, ptr noundef @.str.4)
  %11754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11755 = load i32, ptr %11754, align 4, !tbaa !5
  %11756 = call ptr @s2n_strerror_debug(i32 noundef %11755, ptr noundef @.str.4)
  %11757 = call ptr @__errno_location() #12
  %11758 = load i32, ptr %11757, align 4, !tbaa !5
  %11759 = call ptr @strerror(i32 noundef %11758) #11
  %11760 = call ptr @__errno_location() #12
  %11761 = load i32, ptr %11760, align 4, !tbaa !5
  %11762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11749, ptr noundef @.str.2, i32 noundef %11750, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 580, ptr noundef %11753, ptr noundef %11756, ptr noundef %11759, i32 noundef %11761) #11
  br label %11780

11763:                                            ; preds = %11741, %11734
  %11764 = load i32, ptr %252, align 4, !tbaa !5
  %11765 = call ptr @__errno_location() #12
  store i32 %11764, ptr %11765, align 4, !tbaa !5
  %11766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11767 = load i32, ptr @test_count, align 4, !tbaa !5
  %11768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11769 = load i32, ptr %11768, align 4, !tbaa !5
  %11770 = call ptr @s2n_strerror(i32 noundef %11769, ptr noundef @.str.4)
  %11771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11772 = load i32, ptr %11771, align 4, !tbaa !5
  %11773 = call ptr @s2n_strerror_debug(i32 noundef %11772, ptr noundef @.str.4)
  %11774 = call ptr @__errno_location() #12
  %11775 = load i32, ptr %11774, align 4, !tbaa !5
  %11776 = call ptr @strerror(i32 noundef %11775) #11
  %11777 = call ptr @__errno_location() #12
  %11778 = load i32, ptr %11777, align 4, !tbaa !5
  %11779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11766, ptr noundef @.str.5, i32 noundef %11767, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 580, ptr noundef %11770, ptr noundef %11773, ptr noundef %11776, i32 noundef %11778) #11
  br label %11780

11780:                                            ; preds = %11763, %11746
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %11781

11781:                                            ; preds = %11780
  br label %11782

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

11783:                                            ; No predecessors!
  br label %11784

11784:                                            ; preds = %11783
  br label %11785

11785:                                            ; preds = %11784, %11725
  br label %11786

11786:                                            ; preds = %11785
  br label %11787

11787:                                            ; preds = %11786
  br label %11788

11788:                                            ; preds = %11787
  %11789 = load i32, ptr @test_count, align 4, !tbaa !5
  %11790 = add nsw i32 %11789, 1
  store i32 %11790, ptr @test_count, align 4, !tbaa !5
  %11791 = load ptr, ptr %245, align 8, !tbaa !9
  %11792 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %11791)
  %11793 = icmp eq i32 %11792, -1
  br i1 %11793, label %11794, label %11847

11794:                                            ; preds = %11788
  br label %11795

11795:                                            ; preds = %11794
  br label %11796

11796:                                            ; preds = %11795
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %11797 = call ptr @__errno_location() #12
  %11798 = load i32, ptr %11797, align 4, !tbaa !5
  store i32 %11798, ptr %253, align 4, !tbaa !5
  %11799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11800 = call i32 @s2n_print_stacktrace(ptr noundef %11799)
  %11801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11802 = trunc i8 %11801 to i1
  br i1 %11802, label %11803, label %11825

11803:                                            ; preds = %11796
  %11804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11805 = call i32 @fileno(ptr noundef %11804) #11
  %11806 = call i32 @isatty(i32 noundef %11805) #11
  %11807 = icmp ne i32 %11806, 0
  br i1 %11807, label %11808, label %11825

11808:                                            ; preds = %11803
  %11809 = load i32, ptr %253, align 4, !tbaa !5
  %11810 = call ptr @__errno_location() #12
  store i32 %11809, ptr %11810, align 4, !tbaa !5
  %11811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11812 = load i32, ptr @test_count, align 4, !tbaa !5
  %11813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11814 = load i32, ptr %11813, align 4, !tbaa !5
  %11815 = call ptr @s2n_strerror(i32 noundef %11814, ptr noundef @.str.4)
  %11816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11817 = load i32, ptr %11816, align 4, !tbaa !5
  %11818 = call ptr @s2n_strerror_debug(i32 noundef %11817, ptr noundef @.str.4)
  %11819 = call ptr @__errno_location() #12
  %11820 = load i32, ptr %11819, align 4, !tbaa !5
  %11821 = call ptr @strerror(i32 noundef %11820) #11
  %11822 = call ptr @__errno_location() #12
  %11823 = load i32, ptr %11822, align 4, !tbaa !5
  %11824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11811, ptr noundef @.str.2, i32 noundef %11812, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 582, ptr noundef %11815, ptr noundef %11818, ptr noundef %11821, i32 noundef %11823) #11
  br label %11842

11825:                                            ; preds = %11803, %11796
  %11826 = load i32, ptr %253, align 4, !tbaa !5
  %11827 = call ptr @__errno_location() #12
  store i32 %11826, ptr %11827, align 4, !tbaa !5
  %11828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11829 = load i32, ptr @test_count, align 4, !tbaa !5
  %11830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11831 = load i32, ptr %11830, align 4, !tbaa !5
  %11832 = call ptr @s2n_strerror(i32 noundef %11831, ptr noundef @.str.4)
  %11833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  %11835 = call ptr @s2n_strerror_debug(i32 noundef %11834, ptr noundef @.str.4)
  %11836 = call ptr @__errno_location() #12
  %11837 = load i32, ptr %11836, align 4, !tbaa !5
  %11838 = call ptr @strerror(i32 noundef %11837) #11
  %11839 = call ptr @__errno_location() #12
  %11840 = load i32, ptr %11839, align 4, !tbaa !5
  %11841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11828, ptr noundef @.str.5, i32 noundef %11829, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 582, ptr noundef %11832, ptr noundef %11835, ptr noundef %11838, i32 noundef %11840) #11
  br label %11842

11842:                                            ; preds = %11825, %11808
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %11843

11843:                                            ; preds = %11842
  br label %11844

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

11845:                                            ; No predecessors!
  br label %11846

11846:                                            ; preds = %11845
  br label %11847

11847:                                            ; preds = %11846, %11788
  br label %11848

11848:                                            ; preds = %11847
  br label %11849

11849:                                            ; preds = %11848
  %11850 = load ptr, ptr %245, align 8, !tbaa !9
  %11851 = getelementptr inbounds %struct.s2n_connection, ptr %11850, i32 0, i32 89
  store i32 2, ptr %11851, align 8, !tbaa !15
  %11852 = load ptr, ptr %245, align 8, !tbaa !9
  %11853 = getelementptr inbounds %struct.s2n_connection, ptr %11852, i32 0, i32 23
  store i8 34, ptr %11853, align 4, !tbaa !69
  br label %11854

11854:                                            ; preds = %11849
  %11855 = load i32, ptr @test_count, align 4, !tbaa !5
  %11856 = add nsw i32 %11855, 1
  store i32 %11856, ptr @test_count, align 4, !tbaa !5
  %11857 = load ptr, ptr %245, align 8, !tbaa !9
  %11858 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %11857)
  %11859 = getelementptr inbounds %struct.s2n_result, ptr %254, i32 0, i32 0
  store i32 %11858, ptr %11859, align 4
  %11860 = getelementptr inbounds %struct.s2n_result, ptr %254, i32 0, i32 0
  %11861 = load i32, ptr %11860, align 4
  %11862 = call zeroext i1 @s2n_result_is_ok(i32 %11861)
  br i1 %11862, label %11916, label %11863

11863:                                            ; preds = %11854
  br label %11864

11864:                                            ; preds = %11863
  br label %11865

11865:                                            ; preds = %11864
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %11866 = call ptr @__errno_location() #12
  %11867 = load i32, ptr %11866, align 4, !tbaa !5
  store i32 %11867, ptr %255, align 4, !tbaa !5
  %11868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11869 = call i32 @s2n_print_stacktrace(ptr noundef %11868)
  %11870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11871 = trunc i8 %11870 to i1
  br i1 %11871, label %11872, label %11894

11872:                                            ; preds = %11865
  %11873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11874 = call i32 @fileno(ptr noundef %11873) #11
  %11875 = call i32 @isatty(i32 noundef %11874) #11
  %11876 = icmp ne i32 %11875, 0
  br i1 %11876, label %11877, label %11894

11877:                                            ; preds = %11872
  %11878 = load i32, ptr %255, align 4, !tbaa !5
  %11879 = call ptr @__errno_location() #12
  store i32 %11878, ptr %11879, align 4, !tbaa !5
  %11880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11881 = load i32, ptr @test_count, align 4, !tbaa !5
  %11882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11883 = load i32, ptr %11882, align 4, !tbaa !5
  %11884 = call ptr @s2n_strerror(i32 noundef %11883, ptr noundef @.str.4)
  %11885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11886 = load i32, ptr %11885, align 4, !tbaa !5
  %11887 = call ptr @s2n_strerror_debug(i32 noundef %11886, ptr noundef @.str.4)
  %11888 = call ptr @__errno_location() #12
  %11889 = load i32, ptr %11888, align 4, !tbaa !5
  %11890 = call ptr @strerror(i32 noundef %11889) #11
  %11891 = call ptr @__errno_location() #12
  %11892 = load i32, ptr %11891, align 4, !tbaa !5
  %11893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11880, ptr noundef @.str.2, i32 noundef %11881, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 587, ptr noundef %11884, ptr noundef %11887, ptr noundef %11890, i32 noundef %11892) #11
  br label %11911

11894:                                            ; preds = %11872, %11865
  %11895 = load i32, ptr %255, align 4, !tbaa !5
  %11896 = call ptr @__errno_location() #12
  store i32 %11895, ptr %11896, align 4, !tbaa !5
  %11897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11898 = load i32, ptr @test_count, align 4, !tbaa !5
  %11899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11900 = load i32, ptr %11899, align 4, !tbaa !5
  %11901 = call ptr @s2n_strerror(i32 noundef %11900, ptr noundef @.str.4)
  %11902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11903 = load i32, ptr %11902, align 4, !tbaa !5
  %11904 = call ptr @s2n_strerror_debug(i32 noundef %11903, ptr noundef @.str.4)
  %11905 = call ptr @__errno_location() #12
  %11906 = load i32, ptr %11905, align 4, !tbaa !5
  %11907 = call ptr @strerror(i32 noundef %11906) #11
  %11908 = call ptr @__errno_location() #12
  %11909 = load i32, ptr %11908, align 4, !tbaa !5
  %11910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11897, ptr noundef @.str.5, i32 noundef %11898, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 587, ptr noundef %11901, ptr noundef %11904, ptr noundef %11907, i32 noundef %11909) #11
  br label %11911

11911:                                            ; preds = %11894, %11877
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %11912

11912:                                            ; preds = %11911
  br label %11913

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

11914:                                            ; No predecessors!
  br label %11915

11915:                                            ; preds = %11914
  br label %11916

11916:                                            ; preds = %11915, %11854
  br label %11917

11917:                                            ; preds = %11916
  br label %11918

11918:                                            ; preds = %11917
  br label %11919

11919:                                            ; preds = %11918
  %11920 = load i32, ptr @test_count, align 4, !tbaa !5
  %11921 = add nsw i32 %11920, 1
  store i32 %11921, ptr @test_count, align 4, !tbaa !5
  %11922 = load ptr, ptr %245, align 8, !tbaa !9
  %11923 = getelementptr inbounds %struct.s2n_connection, ptr %11922, i32 0, i32 89
  %11924 = load i32, ptr %11923, align 8, !tbaa !15
  %11925 = icmp eq i32 %11924, 2
  br i1 %11925, label %11979, label %11926

11926:                                            ; preds = %11919
  br label %11927

11927:                                            ; preds = %11926
  br label %11928

11928:                                            ; preds = %11927
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %11929 = call ptr @__errno_location() #12
  %11930 = load i32, ptr %11929, align 4, !tbaa !5
  store i32 %11930, ptr %256, align 4, !tbaa !5
  %11931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11932 = call i32 @s2n_print_stacktrace(ptr noundef %11931)
  %11933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11934 = trunc i8 %11933 to i1
  br i1 %11934, label %11935, label %11957

11935:                                            ; preds = %11928
  %11936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11937 = call i32 @fileno(ptr noundef %11936) #11
  %11938 = call i32 @isatty(i32 noundef %11937) #11
  %11939 = icmp ne i32 %11938, 0
  br i1 %11939, label %11940, label %11957

11940:                                            ; preds = %11935
  %11941 = load i32, ptr %256, align 4, !tbaa !5
  %11942 = call ptr @__errno_location() #12
  store i32 %11941, ptr %11942, align 4, !tbaa !5
  %11943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11944 = load i32, ptr @test_count, align 4, !tbaa !5
  %11945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11946 = load i32, ptr %11945, align 4, !tbaa !5
  %11947 = call ptr @s2n_strerror(i32 noundef %11946, ptr noundef @.str.4)
  %11948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11949 = load i32, ptr %11948, align 4, !tbaa !5
  %11950 = call ptr @s2n_strerror_debug(i32 noundef %11949, ptr noundef @.str.4)
  %11951 = call ptr @__errno_location() #12
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  %11953 = call ptr @strerror(i32 noundef %11952) #11
  %11954 = call ptr @__errno_location() #12
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11943, ptr noundef @.str.2, i32 noundef %11944, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 588, ptr noundef %11947, ptr noundef %11950, ptr noundef %11953, i32 noundef %11955) #11
  br label %11974

11957:                                            ; preds = %11935, %11928
  %11958 = load i32, ptr %256, align 4, !tbaa !5
  %11959 = call ptr @__errno_location() #12
  store i32 %11958, ptr %11959, align 4, !tbaa !5
  %11960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11961 = load i32, ptr @test_count, align 4, !tbaa !5
  %11962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11963 = load i32, ptr %11962, align 4, !tbaa !5
  %11964 = call ptr @s2n_strerror(i32 noundef %11963, ptr noundef @.str.4)
  %11965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11966 = load i32, ptr %11965, align 4, !tbaa !5
  %11967 = call ptr @s2n_strerror_debug(i32 noundef %11966, ptr noundef @.str.4)
  %11968 = call ptr @__errno_location() #12
  %11969 = load i32, ptr %11968, align 4, !tbaa !5
  %11970 = call ptr @strerror(i32 noundef %11969) #11
  %11971 = call ptr @__errno_location() #12
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11960, ptr noundef @.str.5, i32 noundef %11961, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 588, ptr noundef %11964, ptr noundef %11967, ptr noundef %11970, i32 noundef %11972) #11
  br label %11974

11974:                                            ; preds = %11957, %11940
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %11975

11975:                                            ; preds = %11974
  br label %11976

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

11977:                                            ; No predecessors!
  br label %11978

11978:                                            ; preds = %11977
  br label %11979

11979:                                            ; preds = %11978, %11919
  br label %11980

11980:                                            ; preds = %11979
  br label %11981

11981:                                            ; preds = %11980
  %11982 = load ptr, ptr %245, align 8, !tbaa !9
  %11983 = getelementptr inbounds %struct.s2n_connection, ptr %11982, i32 0, i32 89
  store i32 1, ptr %11983, align 8, !tbaa !15
  %11984 = load ptr, ptr %245, align 8, !tbaa !9
  %11985 = getelementptr inbounds %struct.s2n_connection, ptr %11984, i32 0, i32 23
  store i8 33, ptr %11985, align 4, !tbaa !69
  br label %11986

11986:                                            ; preds = %11981
  %11987 = load i32, ptr @test_count, align 4, !tbaa !5
  %11988 = add nsw i32 %11987, 1
  store i32 %11988, ptr @test_count, align 4, !tbaa !5
  %11989 = load ptr, ptr %245, align 8, !tbaa !9
  %11990 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %11989)
  %11991 = getelementptr inbounds %struct.s2n_result, ptr %257, i32 0, i32 0
  store i32 %11990, ptr %11991, align 4
  %11992 = getelementptr inbounds %struct.s2n_result, ptr %257, i32 0, i32 0
  %11993 = load i32, ptr %11992, align 4
  %11994 = call zeroext i1 @s2n_result_is_ok(i32 %11993)
  br i1 %11994, label %12048, label %11995

11995:                                            ; preds = %11986
  br label %11996

11996:                                            ; preds = %11995
  br label %11997

11997:                                            ; preds = %11996
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %11998 = call ptr @__errno_location() #12
  %11999 = load i32, ptr %11998, align 4, !tbaa !5
  store i32 %11999, ptr %258, align 4, !tbaa !5
  %12000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12001 = call i32 @s2n_print_stacktrace(ptr noundef %12000)
  %12002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12003 = trunc i8 %12002 to i1
  br i1 %12003, label %12004, label %12026

12004:                                            ; preds = %11997
  %12005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12006 = call i32 @fileno(ptr noundef %12005) #11
  %12007 = call i32 @isatty(i32 noundef %12006) #11
  %12008 = icmp ne i32 %12007, 0
  br i1 %12008, label %12009, label %12026

12009:                                            ; preds = %12004
  %12010 = load i32, ptr %258, align 4, !tbaa !5
  %12011 = call ptr @__errno_location() #12
  store i32 %12010, ptr %12011, align 4, !tbaa !5
  %12012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12013 = load i32, ptr @test_count, align 4, !tbaa !5
  %12014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12015 = load i32, ptr %12014, align 4, !tbaa !5
  %12016 = call ptr @s2n_strerror(i32 noundef %12015, ptr noundef @.str.4)
  %12017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12018 = load i32, ptr %12017, align 4, !tbaa !5
  %12019 = call ptr @s2n_strerror_debug(i32 noundef %12018, ptr noundef @.str.4)
  %12020 = call ptr @__errno_location() #12
  %12021 = load i32, ptr %12020, align 4, !tbaa !5
  %12022 = call ptr @strerror(i32 noundef %12021) #11
  %12023 = call ptr @__errno_location() #12
  %12024 = load i32, ptr %12023, align 4, !tbaa !5
  %12025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12012, ptr noundef @.str.2, i32 noundef %12013, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 593, ptr noundef %12016, ptr noundef %12019, ptr noundef %12022, i32 noundef %12024) #11
  br label %12043

12026:                                            ; preds = %12004, %11997
  %12027 = load i32, ptr %258, align 4, !tbaa !5
  %12028 = call ptr @__errno_location() #12
  store i32 %12027, ptr %12028, align 4, !tbaa !5
  %12029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12030 = load i32, ptr @test_count, align 4, !tbaa !5
  %12031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12032 = load i32, ptr %12031, align 4, !tbaa !5
  %12033 = call ptr @s2n_strerror(i32 noundef %12032, ptr noundef @.str.4)
  %12034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12035 = load i32, ptr %12034, align 4, !tbaa !5
  %12036 = call ptr @s2n_strerror_debug(i32 noundef %12035, ptr noundef @.str.4)
  %12037 = call ptr @__errno_location() #12
  %12038 = load i32, ptr %12037, align 4, !tbaa !5
  %12039 = call ptr @strerror(i32 noundef %12038) #11
  %12040 = call ptr @__errno_location() #12
  %12041 = load i32, ptr %12040, align 4, !tbaa !5
  %12042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12029, ptr noundef @.str.5, i32 noundef %12030, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 593, ptr noundef %12033, ptr noundef %12036, ptr noundef %12039, i32 noundef %12041) #11
  br label %12043

12043:                                            ; preds = %12026, %12009
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %12044

12044:                                            ; preds = %12043
  br label %12045

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

12046:                                            ; No predecessors!
  br label %12047

12047:                                            ; preds = %12046
  br label %12048

12048:                                            ; preds = %12047, %11986
  br label %12049

12049:                                            ; preds = %12048
  br label %12050

12050:                                            ; preds = %12049
  br label %12051

12051:                                            ; preds = %12050
  %12052 = load i32, ptr @test_count, align 4, !tbaa !5
  %12053 = add nsw i32 %12052, 1
  store i32 %12053, ptr @test_count, align 4, !tbaa !5
  %12054 = load ptr, ptr %245, align 8, !tbaa !9
  %12055 = getelementptr inbounds %struct.s2n_connection, ptr %12054, i32 0, i32 89
  %12056 = load i32, ptr %12055, align 8, !tbaa !15
  %12057 = icmp eq i32 %12056, 4
  br i1 %12057, label %12111, label %12058

12058:                                            ; preds = %12051
  br label %12059

12059:                                            ; preds = %12058
  br label %12060

12060:                                            ; preds = %12059
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %12061 = call ptr @__errno_location() #12
  %12062 = load i32, ptr %12061, align 4, !tbaa !5
  store i32 %12062, ptr %259, align 4, !tbaa !5
  %12063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12064 = call i32 @s2n_print_stacktrace(ptr noundef %12063)
  %12065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12066 = trunc i8 %12065 to i1
  br i1 %12066, label %12067, label %12089

12067:                                            ; preds = %12060
  %12068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12069 = call i32 @fileno(ptr noundef %12068) #11
  %12070 = call i32 @isatty(i32 noundef %12069) #11
  %12071 = icmp ne i32 %12070, 0
  br i1 %12071, label %12072, label %12089

12072:                                            ; preds = %12067
  %12073 = load i32, ptr %259, align 4, !tbaa !5
  %12074 = call ptr @__errno_location() #12
  store i32 %12073, ptr %12074, align 4, !tbaa !5
  %12075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12076 = load i32, ptr @test_count, align 4, !tbaa !5
  %12077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12078 = load i32, ptr %12077, align 4, !tbaa !5
  %12079 = call ptr @s2n_strerror(i32 noundef %12078, ptr noundef @.str.4)
  %12080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12081 = load i32, ptr %12080, align 4, !tbaa !5
  %12082 = call ptr @s2n_strerror_debug(i32 noundef %12081, ptr noundef @.str.4)
  %12083 = call ptr @__errno_location() #12
  %12084 = load i32, ptr %12083, align 4, !tbaa !5
  %12085 = call ptr @strerror(i32 noundef %12084) #11
  %12086 = call ptr @__errno_location() #12
  %12087 = load i32, ptr %12086, align 4, !tbaa !5
  %12088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12075, ptr noundef @.str.2, i32 noundef %12076, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 594, ptr noundef %12079, ptr noundef %12082, ptr noundef %12085, i32 noundef %12087) #11
  br label %12106

12089:                                            ; preds = %12067, %12060
  %12090 = load i32, ptr %259, align 4, !tbaa !5
  %12091 = call ptr @__errno_location() #12
  store i32 %12090, ptr %12091, align 4, !tbaa !5
  %12092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12093 = load i32, ptr @test_count, align 4, !tbaa !5
  %12094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12095 = load i32, ptr %12094, align 4, !tbaa !5
  %12096 = call ptr @s2n_strerror(i32 noundef %12095, ptr noundef @.str.4)
  %12097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12098 = load i32, ptr %12097, align 4, !tbaa !5
  %12099 = call ptr @s2n_strerror_debug(i32 noundef %12098, ptr noundef @.str.4)
  %12100 = call ptr @__errno_location() #12
  %12101 = load i32, ptr %12100, align 4, !tbaa !5
  %12102 = call ptr @strerror(i32 noundef %12101) #11
  %12103 = call ptr @__errno_location() #12
  %12104 = load i32, ptr %12103, align 4, !tbaa !5
  %12105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12092, ptr noundef @.str.5, i32 noundef %12093, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 594, ptr noundef %12096, ptr noundef %12099, ptr noundef %12102, i32 noundef %12104) #11
  br label %12106

12106:                                            ; preds = %12089, %12072
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %12107

12107:                                            ; preds = %12106
  br label %12108

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

12109:                                            ; No predecessors!
  br label %12110

12110:                                            ; preds = %12109
  br label %12111

12111:                                            ; preds = %12110, %12051
  br label %12112

12112:                                            ; preds = %12111
  br label %12113

12113:                                            ; preds = %12112
  %12114 = load ptr, ptr %245, align 8, !tbaa !9
  %12115 = getelementptr inbounds %struct.s2n_connection, ptr %12114, i32 0, i32 89
  store i32 1, ptr %12115, align 8, !tbaa !15
  %12116 = load ptr, ptr %245, align 8, !tbaa !9
  %12117 = getelementptr inbounds %struct.s2n_connection, ptr %12116, i32 0, i32 23
  store i8 34, ptr %12117, align 4, !tbaa !69
  br label %12118

12118:                                            ; preds = %12113
  %12119 = load i32, ptr @test_count, align 4, !tbaa !5
  %12120 = add nsw i32 %12119, 1
  store i32 %12120, ptr @test_count, align 4, !tbaa !5
  %12121 = load ptr, ptr %245, align 8, !tbaa !9
  %12122 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %12121)
  %12123 = getelementptr inbounds %struct.s2n_result, ptr %260, i32 0, i32 0
  store i32 %12122, ptr %12123, align 4
  %12124 = getelementptr inbounds %struct.s2n_result, ptr %260, i32 0, i32 0
  %12125 = load i32, ptr %12124, align 4
  %12126 = call zeroext i1 @s2n_result_is_ok(i32 %12125)
  br i1 %12126, label %12180, label %12127

12127:                                            ; preds = %12118
  br label %12128

12128:                                            ; preds = %12127
  br label %12129

12129:                                            ; preds = %12128
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %12130 = call ptr @__errno_location() #12
  %12131 = load i32, ptr %12130, align 4, !tbaa !5
  store i32 %12131, ptr %261, align 4, !tbaa !5
  %12132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12133 = call i32 @s2n_print_stacktrace(ptr noundef %12132)
  %12134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12135 = trunc i8 %12134 to i1
  br i1 %12135, label %12136, label %12158

12136:                                            ; preds = %12129
  %12137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12138 = call i32 @fileno(ptr noundef %12137) #11
  %12139 = call i32 @isatty(i32 noundef %12138) #11
  %12140 = icmp ne i32 %12139, 0
  br i1 %12140, label %12141, label %12158

12141:                                            ; preds = %12136
  %12142 = load i32, ptr %261, align 4, !tbaa !5
  %12143 = call ptr @__errno_location() #12
  store i32 %12142, ptr %12143, align 4, !tbaa !5
  %12144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12145 = load i32, ptr @test_count, align 4, !tbaa !5
  %12146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12147 = load i32, ptr %12146, align 4, !tbaa !5
  %12148 = call ptr @s2n_strerror(i32 noundef %12147, ptr noundef @.str.4)
  %12149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12150 = load i32, ptr %12149, align 4, !tbaa !5
  %12151 = call ptr @s2n_strerror_debug(i32 noundef %12150, ptr noundef @.str.4)
  %12152 = call ptr @__errno_location() #12
  %12153 = load i32, ptr %12152, align 4, !tbaa !5
  %12154 = call ptr @strerror(i32 noundef %12153) #11
  %12155 = call ptr @__errno_location() #12
  %12156 = load i32, ptr %12155, align 4, !tbaa !5
  %12157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12144, ptr noundef @.str.2, i32 noundef %12145, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 598, ptr noundef %12148, ptr noundef %12151, ptr noundef %12154, i32 noundef %12156) #11
  br label %12175

12158:                                            ; preds = %12136, %12129
  %12159 = load i32, ptr %261, align 4, !tbaa !5
  %12160 = call ptr @__errno_location() #12
  store i32 %12159, ptr %12160, align 4, !tbaa !5
  %12161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12162 = load i32, ptr @test_count, align 4, !tbaa !5
  %12163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12164 = load i32, ptr %12163, align 4, !tbaa !5
  %12165 = call ptr @s2n_strerror(i32 noundef %12164, ptr noundef @.str.4)
  %12166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12167 = load i32, ptr %12166, align 4, !tbaa !5
  %12168 = call ptr @s2n_strerror_debug(i32 noundef %12167, ptr noundef @.str.4)
  %12169 = call ptr @__errno_location() #12
  %12170 = load i32, ptr %12169, align 4, !tbaa !5
  %12171 = call ptr @strerror(i32 noundef %12170) #11
  %12172 = call ptr @__errno_location() #12
  %12173 = load i32, ptr %12172, align 4, !tbaa !5
  %12174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12161, ptr noundef @.str.5, i32 noundef %12162, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 598, ptr noundef %12165, ptr noundef %12168, ptr noundef %12171, i32 noundef %12173) #11
  br label %12175

12175:                                            ; preds = %12158, %12141
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %12176

12176:                                            ; preds = %12175
  br label %12177

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

12178:                                            ; No predecessors!
  br label %12179

12179:                                            ; preds = %12178
  br label %12180

12180:                                            ; preds = %12179, %12118
  br label %12181

12181:                                            ; preds = %12180
  br label %12182

12182:                                            ; preds = %12181
  br label %12183

12183:                                            ; preds = %12182
  %12184 = load i32, ptr @test_count, align 4, !tbaa !5
  %12185 = add nsw i32 %12184, 1
  store i32 %12185, ptr @test_count, align 4, !tbaa !5
  %12186 = load ptr, ptr %245, align 8, !tbaa !9
  %12187 = getelementptr inbounds %struct.s2n_connection, ptr %12186, i32 0, i32 89
  %12188 = load i32, ptr %12187, align 8, !tbaa !15
  %12189 = icmp eq i32 %12188, 3
  br i1 %12189, label %12243, label %12190

12190:                                            ; preds = %12183
  br label %12191

12191:                                            ; preds = %12190
  br label %12192

12192:                                            ; preds = %12191
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %12193 = call ptr @__errno_location() #12
  %12194 = load i32, ptr %12193, align 4, !tbaa !5
  store i32 %12194, ptr %262, align 4, !tbaa !5
  %12195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12196 = call i32 @s2n_print_stacktrace(ptr noundef %12195)
  %12197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12198 = trunc i8 %12197 to i1
  br i1 %12198, label %12199, label %12221

12199:                                            ; preds = %12192
  %12200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12201 = call i32 @fileno(ptr noundef %12200) #11
  %12202 = call i32 @isatty(i32 noundef %12201) #11
  %12203 = icmp ne i32 %12202, 0
  br i1 %12203, label %12204, label %12221

12204:                                            ; preds = %12199
  %12205 = load i32, ptr %262, align 4, !tbaa !5
  %12206 = call ptr @__errno_location() #12
  store i32 %12205, ptr %12206, align 4, !tbaa !5
  %12207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12208 = load i32, ptr @test_count, align 4, !tbaa !5
  %12209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12210 = load i32, ptr %12209, align 4, !tbaa !5
  %12211 = call ptr @s2n_strerror(i32 noundef %12210, ptr noundef @.str.4)
  %12212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12213 = load i32, ptr %12212, align 4, !tbaa !5
  %12214 = call ptr @s2n_strerror_debug(i32 noundef %12213, ptr noundef @.str.4)
  %12215 = call ptr @__errno_location() #12
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call ptr @strerror(i32 noundef %12216) #11
  %12218 = call ptr @__errno_location() #12
  %12219 = load i32, ptr %12218, align 4, !tbaa !5
  %12220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12207, ptr noundef @.str.2, i32 noundef %12208, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 599, ptr noundef %12211, ptr noundef %12214, ptr noundef %12217, i32 noundef %12219) #11
  br label %12238

12221:                                            ; preds = %12199, %12192
  %12222 = load i32, ptr %262, align 4, !tbaa !5
  %12223 = call ptr @__errno_location() #12
  store i32 %12222, ptr %12223, align 4, !tbaa !5
  %12224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12225 = load i32, ptr @test_count, align 4, !tbaa !5
  %12226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12227 = load i32, ptr %12226, align 4, !tbaa !5
  %12228 = call ptr @s2n_strerror(i32 noundef %12227, ptr noundef @.str.4)
  %12229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12230 = load i32, ptr %12229, align 4, !tbaa !5
  %12231 = call ptr @s2n_strerror_debug(i32 noundef %12230, ptr noundef @.str.4)
  %12232 = call ptr @__errno_location() #12
  %12233 = load i32, ptr %12232, align 4, !tbaa !5
  %12234 = call ptr @strerror(i32 noundef %12233) #11
  %12235 = call ptr @__errno_location() #12
  %12236 = load i32, ptr %12235, align 4, !tbaa !5
  %12237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12224, ptr noundef @.str.5, i32 noundef %12225, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 599, ptr noundef %12228, ptr noundef %12231, ptr noundef %12234, i32 noundef %12236) #11
  br label %12238

12238:                                            ; preds = %12221, %12204
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %12239

12239:                                            ; preds = %12238
  br label %12240

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

12241:                                            ; No predecessors!
  br label %12242

12242:                                            ; preds = %12241
  br label %12243

12243:                                            ; preds = %12242, %12183
  br label %12244

12244:                                            ; preds = %12243
  br label %12245

12245:                                            ; preds = %12244
  br label %12246

12246:                                            ; preds = %12245
  %12247 = load i32, ptr @test_count, align 4, !tbaa !5
  %12248 = add nsw i32 %12247, 1
  store i32 %12248, ptr @test_count, align 4, !tbaa !5
  %12249 = load ptr, ptr %245, align 8, !tbaa !9
  %12250 = call i32 @s2n_connection_free(ptr noundef %12249)
  %12251 = icmp eq i32 %12250, -1
  br i1 %12251, label %12252, label %12305

12252:                                            ; preds = %12246
  br label %12253

12253:                                            ; preds = %12252
  br label %12254

12254:                                            ; preds = %12253
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %12255 = call ptr @__errno_location() #12
  %12256 = load i32, ptr %12255, align 4, !tbaa !5
  store i32 %12256, ptr %263, align 4, !tbaa !5
  %12257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12258 = call i32 @s2n_print_stacktrace(ptr noundef %12257)
  %12259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12260 = trunc i8 %12259 to i1
  br i1 %12260, label %12261, label %12283

12261:                                            ; preds = %12254
  %12262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12263 = call i32 @fileno(ptr noundef %12262) #11
  %12264 = call i32 @isatty(i32 noundef %12263) #11
  %12265 = icmp ne i32 %12264, 0
  br i1 %12265, label %12266, label %12283

12266:                                            ; preds = %12261
  %12267 = load i32, ptr %263, align 4, !tbaa !5
  %12268 = call ptr @__errno_location() #12
  store i32 %12267, ptr %12268, align 4, !tbaa !5
  %12269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12270 = load i32, ptr @test_count, align 4, !tbaa !5
  %12271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12272 = load i32, ptr %12271, align 4, !tbaa !5
  %12273 = call ptr @s2n_strerror(i32 noundef %12272, ptr noundef @.str.4)
  %12274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12275 = load i32, ptr %12274, align 4, !tbaa !5
  %12276 = call ptr @s2n_strerror_debug(i32 noundef %12275, ptr noundef @.str.4)
  %12277 = call ptr @__errno_location() #12
  %12278 = load i32, ptr %12277, align 4, !tbaa !5
  %12279 = call ptr @strerror(i32 noundef %12278) #11
  %12280 = call ptr @__errno_location() #12
  %12281 = load i32, ptr %12280, align 4, !tbaa !5
  %12282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12269, ptr noundef @.str.2, i32 noundef %12270, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 601, ptr noundef %12273, ptr noundef %12276, ptr noundef %12279, i32 noundef %12281) #11
  br label %12300

12283:                                            ; preds = %12261, %12254
  %12284 = load i32, ptr %263, align 4, !tbaa !5
  %12285 = call ptr @__errno_location() #12
  store i32 %12284, ptr %12285, align 4, !tbaa !5
  %12286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12287 = load i32, ptr @test_count, align 4, !tbaa !5
  %12288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12289 = load i32, ptr %12288, align 4, !tbaa !5
  %12290 = call ptr @s2n_strerror(i32 noundef %12289, ptr noundef @.str.4)
  %12291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12292 = load i32, ptr %12291, align 4, !tbaa !5
  %12293 = call ptr @s2n_strerror_debug(i32 noundef %12292, ptr noundef @.str.4)
  %12294 = call ptr @__errno_location() #12
  %12295 = load i32, ptr %12294, align 4, !tbaa !5
  %12296 = call ptr @strerror(i32 noundef %12295) #11
  %12297 = call ptr @__errno_location() #12
  %12298 = load i32, ptr %12297, align 4, !tbaa !5
  %12299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12286, ptr noundef @.str.5, i32 noundef %12287, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 601, ptr noundef %12290, ptr noundef %12293, ptr noundef %12296, i32 noundef %12298) #11
  br label %12300

12300:                                            ; preds = %12283, %12266
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %12301

12301:                                            ; preds = %12300
  br label %12302

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

12303:                                            ; No predecessors!
  br label %12304

12304:                                            ; preds = %12303
  br label %12305

12305:                                            ; preds = %12304, %12246
  br label %12306

12306:                                            ; preds = %12305
  br label %12307

12307:                                            ; preds = %12306
  call void @llvm.lifetime.end.p0(i64 8, ptr %245) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #11
  %12308 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12308, ptr %264, align 8, !tbaa !9
  br label %12309

12309:                                            ; preds = %12307
  %12310 = load i32, ptr @test_count, align 4, !tbaa !5
  %12311 = add nsw i32 %12310, 1
  store i32 %12311, ptr @test_count, align 4, !tbaa !5
  %12312 = load ptr, ptr %264, align 8, !tbaa !9
  %12313 = icmp eq ptr %12312, null
  br i1 %12313, label %12314, label %12367

12314:                                            ; preds = %12309
  br label %12315

12315:                                            ; preds = %12314
  br label %12316

12316:                                            ; preds = %12315
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %12317 = call ptr @__errno_location() #12
  %12318 = load i32, ptr %12317, align 4, !tbaa !5
  store i32 %12318, ptr %265, align 4, !tbaa !5
  %12319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12320 = call i32 @s2n_print_stacktrace(ptr noundef %12319)
  %12321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12322 = trunc i8 %12321 to i1
  br i1 %12322, label %12323, label %12345

12323:                                            ; preds = %12316
  %12324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12325 = call i32 @fileno(ptr noundef %12324) #11
  %12326 = call i32 @isatty(i32 noundef %12325) #11
  %12327 = icmp ne i32 %12326, 0
  br i1 %12327, label %12328, label %12345

12328:                                            ; preds = %12323
  %12329 = load i32, ptr %265, align 4, !tbaa !5
  %12330 = call ptr @__errno_location() #12
  store i32 %12329, ptr %12330, align 4, !tbaa !5
  %12331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12332 = load i32, ptr @test_count, align 4, !tbaa !5
  %12333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12334 = load i32, ptr %12333, align 4, !tbaa !5
  %12335 = call ptr @s2n_strerror(i32 noundef %12334, ptr noundef @.str.4)
  %12336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12337 = load i32, ptr %12336, align 4, !tbaa !5
  %12338 = call ptr @s2n_strerror_debug(i32 noundef %12337, ptr noundef @.str.4)
  %12339 = call ptr @__errno_location() #12
  %12340 = load i32, ptr %12339, align 4, !tbaa !5
  %12341 = call ptr @strerror(i32 noundef %12340) #11
  %12342 = call ptr @__errno_location() #12
  %12343 = load i32, ptr %12342, align 4, !tbaa !5
  %12344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12331, ptr noundef @.str.2, i32 noundef %12332, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 607, ptr noundef %12335, ptr noundef %12338, ptr noundef %12341, i32 noundef %12343) #11
  br label %12362

12345:                                            ; preds = %12323, %12316
  %12346 = load i32, ptr %265, align 4, !tbaa !5
  %12347 = call ptr @__errno_location() #12
  store i32 %12346, ptr %12347, align 4, !tbaa !5
  %12348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12349 = load i32, ptr @test_count, align 4, !tbaa !5
  %12350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12351 = load i32, ptr %12350, align 4, !tbaa !5
  %12352 = call ptr @s2n_strerror(i32 noundef %12351, ptr noundef @.str.4)
  %12353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12354 = load i32, ptr %12353, align 4, !tbaa !5
  %12355 = call ptr @s2n_strerror_debug(i32 noundef %12354, ptr noundef @.str.4)
  %12356 = call ptr @__errno_location() #12
  %12357 = load i32, ptr %12356, align 4, !tbaa !5
  %12358 = call ptr @strerror(i32 noundef %12357) #11
  %12359 = call ptr @__errno_location() #12
  %12360 = load i32, ptr %12359, align 4, !tbaa !5
  %12361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12348, ptr noundef @.str.5, i32 noundef %12349, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 607, ptr noundef %12352, ptr noundef %12355, ptr noundef %12358, i32 noundef %12360) #11
  br label %12362

12362:                                            ; preds = %12345, %12328
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %12363

12363:                                            ; preds = %12362
  br label %12364

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

12365:                                            ; No predecessors!
  br label %12366

12366:                                            ; preds = %12365
  br label %12367

12367:                                            ; preds = %12366, %12309
  br label %12368

12368:                                            ; preds = %12367
  br label %12369

12369:                                            ; preds = %12368
  br label %12370

12370:                                            ; preds = %12369
  %12371 = load i32, ptr @test_count, align 4, !tbaa !5
  %12372 = add nsw i32 %12371, 1
  store i32 %12372, ptr @test_count, align 4, !tbaa !5
  %12373 = load ptr, ptr %264, align 8, !tbaa !9
  %12374 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %12373, ptr noundef @.str.84)
  %12375 = icmp eq i32 %12374, -1
  br i1 %12375, label %12376, label %12429

12376:                                            ; preds = %12370
  br label %12377

12377:                                            ; preds = %12376
  br label %12378

12378:                                            ; preds = %12377
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %12379 = call ptr @__errno_location() #12
  %12380 = load i32, ptr %12379, align 4, !tbaa !5
  store i32 %12380, ptr %266, align 4, !tbaa !5
  %12381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12382 = call i32 @s2n_print_stacktrace(ptr noundef %12381)
  %12383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12384 = trunc i8 %12383 to i1
  br i1 %12384, label %12385, label %12407

12385:                                            ; preds = %12378
  %12386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12387 = call i32 @fileno(ptr noundef %12386) #11
  %12388 = call i32 @isatty(i32 noundef %12387) #11
  %12389 = icmp ne i32 %12388, 0
  br i1 %12389, label %12390, label %12407

12390:                                            ; preds = %12385
  %12391 = load i32, ptr %266, align 4, !tbaa !5
  %12392 = call ptr @__errno_location() #12
  store i32 %12391, ptr %12392, align 4, !tbaa !5
  %12393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12394 = load i32, ptr @test_count, align 4, !tbaa !5
  %12395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12396 = load i32, ptr %12395, align 4, !tbaa !5
  %12397 = call ptr @s2n_strerror(i32 noundef %12396, ptr noundef @.str.4)
  %12398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12399 = load i32, ptr %12398, align 4, !tbaa !5
  %12400 = call ptr @s2n_strerror_debug(i32 noundef %12399, ptr noundef @.str.4)
  %12401 = call ptr @__errno_location() #12
  %12402 = load i32, ptr %12401, align 4, !tbaa !5
  %12403 = call ptr @strerror(i32 noundef %12402) #11
  %12404 = call ptr @__errno_location() #12
  %12405 = load i32, ptr %12404, align 4, !tbaa !5
  %12406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12393, ptr noundef @.str.2, i32 noundef %12394, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 608, ptr noundef %12397, ptr noundef %12400, ptr noundef %12403, i32 noundef %12405) #11
  br label %12424

12407:                                            ; preds = %12385, %12378
  %12408 = load i32, ptr %266, align 4, !tbaa !5
  %12409 = call ptr @__errno_location() #12
  store i32 %12408, ptr %12409, align 4, !tbaa !5
  %12410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12411 = load i32, ptr @test_count, align 4, !tbaa !5
  %12412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12413 = load i32, ptr %12412, align 4, !tbaa !5
  %12414 = call ptr @s2n_strerror(i32 noundef %12413, ptr noundef @.str.4)
  %12415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12416 = load i32, ptr %12415, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror_debug(i32 noundef %12416, ptr noundef @.str.4)
  %12418 = call ptr @__errno_location() #12
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @strerror(i32 noundef %12419) #11
  %12421 = call ptr @__errno_location() #12
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12410, ptr noundef @.str.5, i32 noundef %12411, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 608, ptr noundef %12414, ptr noundef %12417, ptr noundef %12420, i32 noundef %12422) #11
  br label %12424

12424:                                            ; preds = %12407, %12390
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %12425

12425:                                            ; preds = %12424
  br label %12426

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

12427:                                            ; No predecessors!
  br label %12428

12428:                                            ; preds = %12427
  br label %12429

12429:                                            ; preds = %12428, %12370
  br label %12430

12430:                                            ; preds = %12429
  br label %12431

12431:                                            ; preds = %12430
  br label %12432

12432:                                            ; preds = %12431
  %12433 = load i32, ptr @test_count, align 4, !tbaa !5
  %12434 = add nsw i32 %12433, 1
  store i32 %12434, ptr @test_count, align 4, !tbaa !5
  %12435 = load ptr, ptr %264, align 8, !tbaa !9
  %12436 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %12435, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %12437 = getelementptr inbounds %struct.s2n_result, ptr %267, i32 0, i32 0
  store i32 %12436, ptr %12437, align 4
  %12438 = getelementptr inbounds %struct.s2n_result, ptr %267, i32 0, i32 0
  %12439 = load i32, ptr %12438, align 4
  %12440 = call zeroext i1 @s2n_result_is_ok(i32 %12439)
  br i1 %12440, label %12494, label %12441

12441:                                            ; preds = %12432
  br label %12442

12442:                                            ; preds = %12441
  br label %12443

12443:                                            ; preds = %12442
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %12444 = call ptr @__errno_location() #12
  %12445 = load i32, ptr %12444, align 4, !tbaa !5
  store i32 %12445, ptr %268, align 4, !tbaa !5
  %12446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12447 = call i32 @s2n_print_stacktrace(ptr noundef %12446)
  %12448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12449 = trunc i8 %12448 to i1
  br i1 %12449, label %12450, label %12472

12450:                                            ; preds = %12443
  %12451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12452 = call i32 @fileno(ptr noundef %12451) #11
  %12453 = call i32 @isatty(i32 noundef %12452) #11
  %12454 = icmp ne i32 %12453, 0
  br i1 %12454, label %12455, label %12472

12455:                                            ; preds = %12450
  %12456 = load i32, ptr %268, align 4, !tbaa !5
  %12457 = call ptr @__errno_location() #12
  store i32 %12456, ptr %12457, align 4, !tbaa !5
  %12458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12459 = load i32, ptr @test_count, align 4, !tbaa !5
  %12460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12461 = load i32, ptr %12460, align 4, !tbaa !5
  %12462 = call ptr @s2n_strerror(i32 noundef %12461, ptr noundef @.str.4)
  %12463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12464 = load i32, ptr %12463, align 4, !tbaa !5
  %12465 = call ptr @s2n_strerror_debug(i32 noundef %12464, ptr noundef @.str.4)
  %12466 = call ptr @__errno_location() #12
  %12467 = load i32, ptr %12466, align 4, !tbaa !5
  %12468 = call ptr @strerror(i32 noundef %12467) #11
  %12469 = call ptr @__errno_location() #12
  %12470 = load i32, ptr %12469, align 4, !tbaa !5
  %12471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12458, ptr noundef @.str.2, i32 noundef %12459, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 609, ptr noundef %12462, ptr noundef %12465, ptr noundef %12468, i32 noundef %12470) #11
  br label %12489

12472:                                            ; preds = %12450, %12443
  %12473 = load i32, ptr %268, align 4, !tbaa !5
  %12474 = call ptr @__errno_location() #12
  store i32 %12473, ptr %12474, align 4, !tbaa !5
  %12475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12476 = load i32, ptr @test_count, align 4, !tbaa !5
  %12477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12478 = load i32, ptr %12477, align 4, !tbaa !5
  %12479 = call ptr @s2n_strerror(i32 noundef %12478, ptr noundef @.str.4)
  %12480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12481 = load i32, ptr %12480, align 4, !tbaa !5
  %12482 = call ptr @s2n_strerror_debug(i32 noundef %12481, ptr noundef @.str.4)
  %12483 = call ptr @__errno_location() #12
  %12484 = load i32, ptr %12483, align 4, !tbaa !5
  %12485 = call ptr @strerror(i32 noundef %12484) #11
  %12486 = call ptr @__errno_location() #12
  %12487 = load i32, ptr %12486, align 4, !tbaa !5
  %12488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12475, ptr noundef @.str.5, i32 noundef %12476, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 609, ptr noundef %12479, ptr noundef %12482, ptr noundef %12485, i32 noundef %12487) #11
  br label %12489

12489:                                            ; preds = %12472, %12455
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #11
  br label %12490

12490:                                            ; preds = %12489
  br label %12491

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

12492:                                            ; No predecessors!
  br label %12493

12493:                                            ; preds = %12492
  br label %12494

12494:                                            ; preds = %12493, %12432
  br label %12495

12495:                                            ; preds = %12494
  br label %12496

12496:                                            ; preds = %12495
  %12497 = load ptr, ptr %264, align 8, !tbaa !9
  %12498 = getelementptr inbounds %struct.s2n_connection, ptr %12497, i32 0, i32 27
  %12499 = load ptr, ptr %12498, align 8, !tbaa !63
  %12500 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %12499, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %12500, align 8, !tbaa !64
  %12501 = load ptr, ptr %264, align 8, !tbaa !9
  %12502 = getelementptr inbounds %struct.s2n_connection, ptr %12501, i32 0, i32 89
  store i32 1, ptr %12502, align 8, !tbaa !15
  %12503 = load ptr, ptr %264, align 8, !tbaa !9
  %12504 = getelementptr inbounds %struct.s2n_connection, ptr %12503, i32 0, i32 23
  store i8 34, ptr %12504, align 4, !tbaa !69
  br label %12505

12505:                                            ; preds = %12496
  %12506 = load i32, ptr @test_count, align 4, !tbaa !5
  %12507 = add nsw i32 %12506, 1
  store i32 %12507, ptr @test_count, align 4, !tbaa !5
  %12508 = load ptr, ptr %264, align 8, !tbaa !9
  %12509 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %12508)
  %12510 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  store i32 %12509, ptr %12510, align 4
  %12511 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  %12512 = load i32, ptr %12511, align 4
  %12513 = call zeroext i1 @s2n_result_is_ok(i32 %12512)
  br i1 %12513, label %12567, label %12514

12514:                                            ; preds = %12505
  br label %12515

12515:                                            ; preds = %12514
  br label %12516

12516:                                            ; preds = %12515
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %12517 = call ptr @__errno_location() #12
  %12518 = load i32, ptr %12517, align 4, !tbaa !5
  store i32 %12518, ptr %270, align 4, !tbaa !5
  %12519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12520 = call i32 @s2n_print_stacktrace(ptr noundef %12519)
  %12521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12522 = trunc i8 %12521 to i1
  br i1 %12522, label %12523, label %12545

12523:                                            ; preds = %12516
  %12524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12525 = call i32 @fileno(ptr noundef %12524) #11
  %12526 = call i32 @isatty(i32 noundef %12525) #11
  %12527 = icmp ne i32 %12526, 0
  br i1 %12527, label %12528, label %12545

12528:                                            ; preds = %12523
  %12529 = load i32, ptr %270, align 4, !tbaa !5
  %12530 = call ptr @__errno_location() #12
  store i32 %12529, ptr %12530, align 4, !tbaa !5
  %12531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12532 = load i32, ptr @test_count, align 4, !tbaa !5
  %12533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12534 = load i32, ptr %12533, align 4, !tbaa !5
  %12535 = call ptr @s2n_strerror(i32 noundef %12534, ptr noundef @.str.4)
  %12536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12537 = load i32, ptr %12536, align 4, !tbaa !5
  %12538 = call ptr @s2n_strerror_debug(i32 noundef %12537, ptr noundef @.str.4)
  %12539 = call ptr @__errno_location() #12
  %12540 = load i32, ptr %12539, align 4, !tbaa !5
  %12541 = call ptr @strerror(i32 noundef %12540) #11
  %12542 = call ptr @__errno_location() #12
  %12543 = load i32, ptr %12542, align 4, !tbaa !5
  %12544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12531, ptr noundef @.str.2, i32 noundef %12532, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 615, ptr noundef %12535, ptr noundef %12538, ptr noundef %12541, i32 noundef %12543) #11
  br label %12562

12545:                                            ; preds = %12523, %12516
  %12546 = load i32, ptr %270, align 4, !tbaa !5
  %12547 = call ptr @__errno_location() #12
  store i32 %12546, ptr %12547, align 4, !tbaa !5
  %12548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12549 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12551, ptr noundef @.str.4)
  %12553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12554 = load i32, ptr %12553, align 4, !tbaa !5
  %12555 = call ptr @s2n_strerror_debug(i32 noundef %12554, ptr noundef @.str.4)
  %12556 = call ptr @__errno_location() #12
  %12557 = load i32, ptr %12556, align 4, !tbaa !5
  %12558 = call ptr @strerror(i32 noundef %12557) #11
  %12559 = call ptr @__errno_location() #12
  %12560 = load i32, ptr %12559, align 4, !tbaa !5
  %12561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12548, ptr noundef @.str.5, i32 noundef %12549, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 615, ptr noundef %12552, ptr noundef %12555, ptr noundef %12558, i32 noundef %12560) #11
  br label %12562

12562:                                            ; preds = %12545, %12528
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %12563

12563:                                            ; preds = %12562
  br label %12564

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

12565:                                            ; No predecessors!
  br label %12566

12566:                                            ; preds = %12565
  br label %12567

12567:                                            ; preds = %12566, %12505
  br label %12568

12568:                                            ; preds = %12567
  br label %12569

12569:                                            ; preds = %12568
  br label %12570

12570:                                            ; preds = %12569
  %12571 = load i32, ptr @test_count, align 4, !tbaa !5
  %12572 = add nsw i32 %12571, 1
  store i32 %12572, ptr @test_count, align 4, !tbaa !5
  %12573 = load ptr, ptr %264, align 8, !tbaa !9
  %12574 = getelementptr inbounds %struct.s2n_connection, ptr %12573, i32 0, i32 89
  %12575 = load i32, ptr %12574, align 8, !tbaa !15
  %12576 = icmp eq i32 %12575, 1
  br i1 %12576, label %12630, label %12577

12577:                                            ; preds = %12570
  br label %12578

12578:                                            ; preds = %12577
  br label %12579

12579:                                            ; preds = %12578
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %12580 = call ptr @__errno_location() #12
  %12581 = load i32, ptr %12580, align 4, !tbaa !5
  store i32 %12581, ptr %271, align 4, !tbaa !5
  %12582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12583 = call i32 @s2n_print_stacktrace(ptr noundef %12582)
  %12584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12585 = trunc i8 %12584 to i1
  br i1 %12585, label %12586, label %12608

12586:                                            ; preds = %12579
  %12587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12588 = call i32 @fileno(ptr noundef %12587) #11
  %12589 = call i32 @isatty(i32 noundef %12588) #11
  %12590 = icmp ne i32 %12589, 0
  br i1 %12590, label %12591, label %12608

12591:                                            ; preds = %12586
  %12592 = load i32, ptr %271, align 4, !tbaa !5
  %12593 = call ptr @__errno_location() #12
  store i32 %12592, ptr %12593, align 4, !tbaa !5
  %12594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12595 = load i32, ptr @test_count, align 4, !tbaa !5
  %12596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12597 = load i32, ptr %12596, align 4, !tbaa !5
  %12598 = call ptr @s2n_strerror(i32 noundef %12597, ptr noundef @.str.4)
  %12599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12600 = load i32, ptr %12599, align 4, !tbaa !5
  %12601 = call ptr @s2n_strerror_debug(i32 noundef %12600, ptr noundef @.str.4)
  %12602 = call ptr @__errno_location() #12
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  %12604 = call ptr @strerror(i32 noundef %12603) #11
  %12605 = call ptr @__errno_location() #12
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  %12607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12594, ptr noundef @.str.2, i32 noundef %12595, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 616, ptr noundef %12598, ptr noundef %12601, ptr noundef %12604, i32 noundef %12606) #11
  br label %12625

12608:                                            ; preds = %12586, %12579
  %12609 = load i32, ptr %271, align 4, !tbaa !5
  %12610 = call ptr @__errno_location() #12
  store i32 %12609, ptr %12610, align 4, !tbaa !5
  %12611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12612 = load i32, ptr @test_count, align 4, !tbaa !5
  %12613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12614 = load i32, ptr %12613, align 4, !tbaa !5
  %12615 = call ptr @s2n_strerror(i32 noundef %12614, ptr noundef @.str.4)
  %12616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12617 = load i32, ptr %12616, align 4, !tbaa !5
  %12618 = call ptr @s2n_strerror_debug(i32 noundef %12617, ptr noundef @.str.4)
  %12619 = call ptr @__errno_location() #12
  %12620 = load i32, ptr %12619, align 4, !tbaa !5
  %12621 = call ptr @strerror(i32 noundef %12620) #11
  %12622 = call ptr @__errno_location() #12
  %12623 = load i32, ptr %12622, align 4, !tbaa !5
  %12624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12611, ptr noundef @.str.5, i32 noundef %12612, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 616, ptr noundef %12615, ptr noundef %12618, ptr noundef %12621, i32 noundef %12623) #11
  br label %12625

12625:                                            ; preds = %12608, %12591
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %12626

12626:                                            ; preds = %12625
  br label %12627

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

12628:                                            ; No predecessors!
  br label %12629

12629:                                            ; preds = %12628
  br label %12630

12630:                                            ; preds = %12629, %12570
  br label %12631

12631:                                            ; preds = %12630
  br label %12632

12632:                                            ; preds = %12631
  br label %12633

12633:                                            ; preds = %12632
  %12634 = load i32, ptr @test_count, align 4, !tbaa !5
  %12635 = add nsw i32 %12634, 1
  store i32 %12635, ptr @test_count, align 4, !tbaa !5
  %12636 = load ptr, ptr %264, align 8, !tbaa !9
  %12637 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %12636)
  %12638 = icmp eq i32 %12637, -1
  br i1 %12638, label %12639, label %12692

12639:                                            ; preds = %12633
  br label %12640

12640:                                            ; preds = %12639
  br label %12641

12641:                                            ; preds = %12640
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %12642 = call ptr @__errno_location() #12
  %12643 = load i32, ptr %12642, align 4, !tbaa !5
  store i32 %12643, ptr %272, align 4, !tbaa !5
  %12644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12645 = call i32 @s2n_print_stacktrace(ptr noundef %12644)
  %12646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12647 = trunc i8 %12646 to i1
  br i1 %12647, label %12648, label %12670

12648:                                            ; preds = %12641
  %12649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12650 = call i32 @fileno(ptr noundef %12649) #11
  %12651 = call i32 @isatty(i32 noundef %12650) #11
  %12652 = icmp ne i32 %12651, 0
  br i1 %12652, label %12653, label %12670

12653:                                            ; preds = %12648
  %12654 = load i32, ptr %272, align 4, !tbaa !5
  %12655 = call ptr @__errno_location() #12
  store i32 %12654, ptr %12655, align 4, !tbaa !5
  %12656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12657 = load i32, ptr @test_count, align 4, !tbaa !5
  %12658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12659 = load i32, ptr %12658, align 4, !tbaa !5
  %12660 = call ptr @s2n_strerror(i32 noundef %12659, ptr noundef @.str.4)
  %12661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12662 = load i32, ptr %12661, align 4, !tbaa !5
  %12663 = call ptr @s2n_strerror_debug(i32 noundef %12662, ptr noundef @.str.4)
  %12664 = call ptr @__errno_location() #12
  %12665 = load i32, ptr %12664, align 4, !tbaa !5
  %12666 = call ptr @strerror(i32 noundef %12665) #11
  %12667 = call ptr @__errno_location() #12
  %12668 = load i32, ptr %12667, align 4, !tbaa !5
  %12669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12656, ptr noundef @.str.2, i32 noundef %12657, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 618, ptr noundef %12660, ptr noundef %12663, ptr noundef %12666, i32 noundef %12668) #11
  br label %12687

12670:                                            ; preds = %12648, %12641
  %12671 = load i32, ptr %272, align 4, !tbaa !5
  %12672 = call ptr @__errno_location() #12
  store i32 %12671, ptr %12672, align 4, !tbaa !5
  %12673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12674 = load i32, ptr @test_count, align 4, !tbaa !5
  %12675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12676 = load i32, ptr %12675, align 4, !tbaa !5
  %12677 = call ptr @s2n_strerror(i32 noundef %12676, ptr noundef @.str.4)
  %12678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12679 = load i32, ptr %12678, align 4, !tbaa !5
  %12680 = call ptr @s2n_strerror_debug(i32 noundef %12679, ptr noundef @.str.4)
  %12681 = call ptr @__errno_location() #12
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call ptr @strerror(i32 noundef %12682) #11
  %12684 = call ptr @__errno_location() #12
  %12685 = load i32, ptr %12684, align 4, !tbaa !5
  %12686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12673, ptr noundef @.str.5, i32 noundef %12674, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 618, ptr noundef %12677, ptr noundef %12680, ptr noundef %12683, i32 noundef %12685) #11
  br label %12687

12687:                                            ; preds = %12670, %12653
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %12688

12688:                                            ; preds = %12687
  br label %12689

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

12690:                                            ; No predecessors!
  br label %12691

12691:                                            ; preds = %12690
  br label %12692

12692:                                            ; preds = %12691, %12633
  br label %12693

12693:                                            ; preds = %12692
  br label %12694

12694:                                            ; preds = %12693
  %12695 = load ptr, ptr %264, align 8, !tbaa !9
  %12696 = getelementptr inbounds %struct.s2n_connection, ptr %12695, i32 0, i32 89
  store i32 2, ptr %12696, align 8, !tbaa !15
  %12697 = load ptr, ptr %264, align 8, !tbaa !9
  %12698 = getelementptr inbounds %struct.s2n_connection, ptr %12697, i32 0, i32 23
  store i8 34, ptr %12698, align 4, !tbaa !69
  br label %12699

12699:                                            ; preds = %12694
  %12700 = load i32, ptr @test_count, align 4, !tbaa !5
  %12701 = add nsw i32 %12700, 1
  store i32 %12701, ptr @test_count, align 4, !tbaa !5
  %12702 = load ptr, ptr %264, align 8, !tbaa !9
  %12703 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %12702)
  %12704 = getelementptr inbounds %struct.s2n_result, ptr %273, i32 0, i32 0
  store i32 %12703, ptr %12704, align 4
  %12705 = getelementptr inbounds %struct.s2n_result, ptr %273, i32 0, i32 0
  %12706 = load i32, ptr %12705, align 4
  %12707 = call zeroext i1 @s2n_result_is_ok(i32 %12706)
  br i1 %12707, label %12761, label %12708

12708:                                            ; preds = %12699
  br label %12709

12709:                                            ; preds = %12708
  br label %12710

12710:                                            ; preds = %12709
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %12711 = call ptr @__errno_location() #12
  %12712 = load i32, ptr %12711, align 4, !tbaa !5
  store i32 %12712, ptr %274, align 4, !tbaa !5
  %12713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12714 = call i32 @s2n_print_stacktrace(ptr noundef %12713)
  %12715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12716 = trunc i8 %12715 to i1
  br i1 %12716, label %12717, label %12739

12717:                                            ; preds = %12710
  %12718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12719 = call i32 @fileno(ptr noundef %12718) #11
  %12720 = call i32 @isatty(i32 noundef %12719) #11
  %12721 = icmp ne i32 %12720, 0
  br i1 %12721, label %12722, label %12739

12722:                                            ; preds = %12717
  %12723 = load i32, ptr %274, align 4, !tbaa !5
  %12724 = call ptr @__errno_location() #12
  store i32 %12723, ptr %12724, align 4, !tbaa !5
  %12725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12726 = load i32, ptr @test_count, align 4, !tbaa !5
  %12727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12728 = load i32, ptr %12727, align 4, !tbaa !5
  %12729 = call ptr @s2n_strerror(i32 noundef %12728, ptr noundef @.str.4)
  %12730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12731 = load i32, ptr %12730, align 4, !tbaa !5
  %12732 = call ptr @s2n_strerror_debug(i32 noundef %12731, ptr noundef @.str.4)
  %12733 = call ptr @__errno_location() #12
  %12734 = load i32, ptr %12733, align 4, !tbaa !5
  %12735 = call ptr @strerror(i32 noundef %12734) #11
  %12736 = call ptr @__errno_location() #12
  %12737 = load i32, ptr %12736, align 4, !tbaa !5
  %12738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12725, ptr noundef @.str.2, i32 noundef %12726, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 623, ptr noundef %12729, ptr noundef %12732, ptr noundef %12735, i32 noundef %12737) #11
  br label %12756

12739:                                            ; preds = %12717, %12710
  %12740 = load i32, ptr %274, align 4, !tbaa !5
  %12741 = call ptr @__errno_location() #12
  store i32 %12740, ptr %12741, align 4, !tbaa !5
  %12742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12743 = load i32, ptr @test_count, align 4, !tbaa !5
  %12744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12745 = load i32, ptr %12744, align 4, !tbaa !5
  %12746 = call ptr @s2n_strerror(i32 noundef %12745, ptr noundef @.str.4)
  %12747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12748 = load i32, ptr %12747, align 4, !tbaa !5
  %12749 = call ptr @s2n_strerror_debug(i32 noundef %12748, ptr noundef @.str.4)
  %12750 = call ptr @__errno_location() #12
  %12751 = load i32, ptr %12750, align 4, !tbaa !5
  %12752 = call ptr @strerror(i32 noundef %12751) #11
  %12753 = call ptr @__errno_location() #12
  %12754 = load i32, ptr %12753, align 4, !tbaa !5
  %12755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12742, ptr noundef @.str.5, i32 noundef %12743, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 623, ptr noundef %12746, ptr noundef %12749, ptr noundef %12752, i32 noundef %12754) #11
  br label %12756

12756:                                            ; preds = %12739, %12722
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %12757

12757:                                            ; preds = %12756
  br label %12758

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

12759:                                            ; No predecessors!
  br label %12760

12760:                                            ; preds = %12759
  br label %12761

12761:                                            ; preds = %12760, %12699
  br label %12762

12762:                                            ; preds = %12761
  br label %12763

12763:                                            ; preds = %12762
  br label %12764

12764:                                            ; preds = %12763
  %12765 = load i32, ptr @test_count, align 4, !tbaa !5
  %12766 = add nsw i32 %12765, 1
  store i32 %12766, ptr @test_count, align 4, !tbaa !5
  %12767 = load ptr, ptr %264, align 8, !tbaa !9
  %12768 = getelementptr inbounds %struct.s2n_connection, ptr %12767, i32 0, i32 89
  %12769 = load i32, ptr %12768, align 8, !tbaa !15
  %12770 = icmp eq i32 %12769, 2
  br i1 %12770, label %12824, label %12771

12771:                                            ; preds = %12764
  br label %12772

12772:                                            ; preds = %12771
  br label %12773

12773:                                            ; preds = %12772
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %12774 = call ptr @__errno_location() #12
  %12775 = load i32, ptr %12774, align 4, !tbaa !5
  store i32 %12775, ptr %275, align 4, !tbaa !5
  %12776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12777 = call i32 @s2n_print_stacktrace(ptr noundef %12776)
  %12778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12779 = trunc i8 %12778 to i1
  br i1 %12779, label %12780, label %12802

12780:                                            ; preds = %12773
  %12781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12782 = call i32 @fileno(ptr noundef %12781) #11
  %12783 = call i32 @isatty(i32 noundef %12782) #11
  %12784 = icmp ne i32 %12783, 0
  br i1 %12784, label %12785, label %12802

12785:                                            ; preds = %12780
  %12786 = load i32, ptr %275, align 4, !tbaa !5
  %12787 = call ptr @__errno_location() #12
  store i32 %12786, ptr %12787, align 4, !tbaa !5
  %12788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12789 = load i32, ptr @test_count, align 4, !tbaa !5
  %12790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12791 = load i32, ptr %12790, align 4, !tbaa !5
  %12792 = call ptr @s2n_strerror(i32 noundef %12791, ptr noundef @.str.4)
  %12793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12794 = load i32, ptr %12793, align 4, !tbaa !5
  %12795 = call ptr @s2n_strerror_debug(i32 noundef %12794, ptr noundef @.str.4)
  %12796 = call ptr @__errno_location() #12
  %12797 = load i32, ptr %12796, align 4, !tbaa !5
  %12798 = call ptr @strerror(i32 noundef %12797) #11
  %12799 = call ptr @__errno_location() #12
  %12800 = load i32, ptr %12799, align 4, !tbaa !5
  %12801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12788, ptr noundef @.str.2, i32 noundef %12789, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 624, ptr noundef %12792, ptr noundef %12795, ptr noundef %12798, i32 noundef %12800) #11
  br label %12819

12802:                                            ; preds = %12780, %12773
  %12803 = load i32, ptr %275, align 4, !tbaa !5
  %12804 = call ptr @__errno_location() #12
  store i32 %12803, ptr %12804, align 4, !tbaa !5
  %12805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12806 = load i32, ptr @test_count, align 4, !tbaa !5
  %12807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12808 = load i32, ptr %12807, align 4, !tbaa !5
  %12809 = call ptr @s2n_strerror(i32 noundef %12808, ptr noundef @.str.4)
  %12810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12811 = load i32, ptr %12810, align 4, !tbaa !5
  %12812 = call ptr @s2n_strerror_debug(i32 noundef %12811, ptr noundef @.str.4)
  %12813 = call ptr @__errno_location() #12
  %12814 = load i32, ptr %12813, align 4, !tbaa !5
  %12815 = call ptr @strerror(i32 noundef %12814) #11
  %12816 = call ptr @__errno_location() #12
  %12817 = load i32, ptr %12816, align 4, !tbaa !5
  %12818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12805, ptr noundef @.str.5, i32 noundef %12806, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 624, ptr noundef %12809, ptr noundef %12812, ptr noundef %12815, i32 noundef %12817) #11
  br label %12819

12819:                                            ; preds = %12802, %12785
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %12820

12820:                                            ; preds = %12819
  br label %12821

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

12822:                                            ; No predecessors!
  br label %12823

12823:                                            ; preds = %12822
  br label %12824

12824:                                            ; preds = %12823, %12764
  br label %12825

12825:                                            ; preds = %12824
  br label %12826

12826:                                            ; preds = %12825
  %12827 = load ptr, ptr %264, align 8, !tbaa !9
  %12828 = getelementptr inbounds %struct.s2n_connection, ptr %12827, i32 0, i32 89
  store i32 1, ptr %12828, align 8, !tbaa !15
  %12829 = load ptr, ptr %264, align 8, !tbaa !9
  %12830 = getelementptr inbounds %struct.s2n_connection, ptr %12829, i32 0, i32 23
  store i8 33, ptr %12830, align 4, !tbaa !69
  br label %12831

12831:                                            ; preds = %12826
  %12832 = load i32, ptr @test_count, align 4, !tbaa !5
  %12833 = add nsw i32 %12832, 1
  store i32 %12833, ptr @test_count, align 4, !tbaa !5
  %12834 = load ptr, ptr %264, align 8, !tbaa !9
  %12835 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %12834)
  %12836 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  store i32 %12835, ptr %12836, align 4
  %12837 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  %12838 = load i32, ptr %12837, align 4
  %12839 = call zeroext i1 @s2n_result_is_ok(i32 %12838)
  br i1 %12839, label %12893, label %12840

12840:                                            ; preds = %12831
  br label %12841

12841:                                            ; preds = %12840
  br label %12842

12842:                                            ; preds = %12841
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %12843 = call ptr @__errno_location() #12
  %12844 = load i32, ptr %12843, align 4, !tbaa !5
  store i32 %12844, ptr %277, align 4, !tbaa !5
  %12845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12846 = call i32 @s2n_print_stacktrace(ptr noundef %12845)
  %12847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12848 = trunc i8 %12847 to i1
  br i1 %12848, label %12849, label %12871

12849:                                            ; preds = %12842
  %12850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12851 = call i32 @fileno(ptr noundef %12850) #11
  %12852 = call i32 @isatty(i32 noundef %12851) #11
  %12853 = icmp ne i32 %12852, 0
  br i1 %12853, label %12854, label %12871

12854:                                            ; preds = %12849
  %12855 = load i32, ptr %277, align 4, !tbaa !5
  %12856 = call ptr @__errno_location() #12
  store i32 %12855, ptr %12856, align 4, !tbaa !5
  %12857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12858 = load i32, ptr @test_count, align 4, !tbaa !5
  %12859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12860 = load i32, ptr %12859, align 4, !tbaa !5
  %12861 = call ptr @s2n_strerror(i32 noundef %12860, ptr noundef @.str.4)
  %12862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12863 = load i32, ptr %12862, align 4, !tbaa !5
  %12864 = call ptr @s2n_strerror_debug(i32 noundef %12863, ptr noundef @.str.4)
  %12865 = call ptr @__errno_location() #12
  %12866 = load i32, ptr %12865, align 4, !tbaa !5
  %12867 = call ptr @strerror(i32 noundef %12866) #11
  %12868 = call ptr @__errno_location() #12
  %12869 = load i32, ptr %12868, align 4, !tbaa !5
  %12870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12857, ptr noundef @.str.2, i32 noundef %12858, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 629, ptr noundef %12861, ptr noundef %12864, ptr noundef %12867, i32 noundef %12869) #11
  br label %12888

12871:                                            ; preds = %12849, %12842
  %12872 = load i32, ptr %277, align 4, !tbaa !5
  %12873 = call ptr @__errno_location() #12
  store i32 %12872, ptr %12873, align 4, !tbaa !5
  %12874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12875 = load i32, ptr @test_count, align 4, !tbaa !5
  %12876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12877 = load i32, ptr %12876, align 4, !tbaa !5
  %12878 = call ptr @s2n_strerror(i32 noundef %12877, ptr noundef @.str.4)
  %12879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12880 = load i32, ptr %12879, align 4, !tbaa !5
  %12881 = call ptr @s2n_strerror_debug(i32 noundef %12880, ptr noundef @.str.4)
  %12882 = call ptr @__errno_location() #12
  %12883 = load i32, ptr %12882, align 4, !tbaa !5
  %12884 = call ptr @strerror(i32 noundef %12883) #11
  %12885 = call ptr @__errno_location() #12
  %12886 = load i32, ptr %12885, align 4, !tbaa !5
  %12887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12874, ptr noundef @.str.5, i32 noundef %12875, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 629, ptr noundef %12878, ptr noundef %12881, ptr noundef %12884, i32 noundef %12886) #11
  br label %12888

12888:                                            ; preds = %12871, %12854
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %12889

12889:                                            ; preds = %12888
  br label %12890

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

12891:                                            ; No predecessors!
  br label %12892

12892:                                            ; preds = %12891
  br label %12893

12893:                                            ; preds = %12892, %12831
  br label %12894

12894:                                            ; preds = %12893
  br label %12895

12895:                                            ; preds = %12894
  br label %12896

12896:                                            ; preds = %12895
  %12897 = load i32, ptr @test_count, align 4, !tbaa !5
  %12898 = add nsw i32 %12897, 1
  store i32 %12898, ptr @test_count, align 4, !tbaa !5
  %12899 = load ptr, ptr %264, align 8, !tbaa !9
  %12900 = getelementptr inbounds %struct.s2n_connection, ptr %12899, i32 0, i32 89
  %12901 = load i32, ptr %12900, align 8, !tbaa !15
  %12902 = icmp eq i32 %12901, 4
  br i1 %12902, label %12956, label %12903

12903:                                            ; preds = %12896
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %12906 = call ptr @__errno_location() #12
  %12907 = load i32, ptr %12906, align 4, !tbaa !5
  store i32 %12907, ptr %278, 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) #11
  %12915 = call i32 @isatty(i32 noundef %12914) #11
  %12916 = icmp ne i32 %12915, 0
  br i1 %12916, label %12917, label %12934

12917:                                            ; preds = %12912
  %12918 = load i32, ptr %278, align 4, !tbaa !5
  %12919 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %12928 = call ptr @__errno_location() #12
  %12929 = load i32, ptr %12928, align 4, !tbaa !5
  %12930 = call ptr @strerror(i32 noundef %12929) #11
  %12931 = call ptr @__errno_location() #12
  %12932 = load i32, ptr %12931, align 4, !tbaa !5
  %12933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12920, ptr noundef @.str.2, i32 noundef %12921, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12924, ptr noundef %12927, ptr noundef %12930, i32 noundef %12932) #11
  br label %12951

12934:                                            ; preds = %12912, %12905
  %12935 = load i32, ptr %278, align 4, !tbaa !5
  %12936 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %12945 = call ptr @__errno_location() #12
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call ptr @strerror(i32 noundef %12946) #11
  %12948 = call ptr @__errno_location() #12
  %12949 = load i32, ptr %12948, align 4, !tbaa !5
  %12950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12937, ptr noundef @.str.5, i32 noundef %12938, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12941, ptr noundef %12944, ptr noundef %12947, i32 noundef %12949) #11
  br label %12951

12951:                                            ; preds = %12934, %12917
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %12952

12952:                                            ; preds = %12951
  br label %12953

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

12954:                                            ; No predecessors!
  br label %12955

12955:                                            ; preds = %12954
  br label %12956

12956:                                            ; preds = %12955, %12896
  br label %12957

12957:                                            ; preds = %12956
  br label %12958

12958:                                            ; preds = %12957
  %12959 = load ptr, ptr %264, align 8, !tbaa !9
  %12960 = getelementptr inbounds %struct.s2n_connection, ptr %12959, i32 0, i32 89
  store i32 1, ptr %12960, align 8, !tbaa !15
  %12961 = load ptr, ptr %264, align 8, !tbaa !9
  %12962 = getelementptr inbounds %struct.s2n_connection, ptr %12961, i32 0, i32 23
  store i8 34, ptr %12962, align 4, !tbaa !69
  br label %12963

12963:                                            ; preds = %12958
  %12964 = load i32, ptr @test_count, align 4, !tbaa !5
  %12965 = add nsw i32 %12964, 1
  store i32 %12965, ptr @test_count, align 4, !tbaa !5
  %12966 = load ptr, ptr %264, align 8, !tbaa !9
  %12967 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %12966)
  %12968 = getelementptr inbounds %struct.s2n_result, ptr %279, i32 0, i32 0
  store i32 %12967, ptr %12968, align 4
  %12969 = getelementptr inbounds %struct.s2n_result, ptr %279, i32 0, i32 0
  %12970 = load i32, ptr %12969, align 4
  %12971 = call zeroext i1 @s2n_result_is_ok(i32 %12970)
  br i1 %12971, label %13025, label %12972

12972:                                            ; preds = %12963
  br label %12973

12973:                                            ; preds = %12972
  br label %12974

12974:                                            ; preds = %12973
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %12975 = call ptr @__errno_location() #12
  %12976 = load i32, ptr %12975, align 4, !tbaa !5
  store i32 %12976, ptr %280, align 4, !tbaa !5
  %12977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12978 = call i32 @s2n_print_stacktrace(ptr noundef %12977)
  %12979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12980 = trunc i8 %12979 to i1
  br i1 %12980, label %12981, label %13003

12981:                                            ; preds = %12974
  %12982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12983 = call i32 @fileno(ptr noundef %12982) #11
  %12984 = call i32 @isatty(i32 noundef %12983) #11
  %12985 = icmp ne i32 %12984, 0
  br i1 %12985, label %12986, label %13003

12986:                                            ; preds = %12981
  %12987 = load i32, ptr %280, align 4, !tbaa !5
  %12988 = call ptr @__errno_location() #12
  store i32 %12987, ptr %12988, align 4, !tbaa !5
  %12989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12990 = load i32, ptr @test_count, align 4, !tbaa !5
  %12991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12992 = load i32, ptr %12991, align 4, !tbaa !5
  %12993 = call ptr @s2n_strerror(i32 noundef %12992, ptr noundef @.str.4)
  %12994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12995 = load i32, ptr %12994, align 4, !tbaa !5
  %12996 = call ptr @s2n_strerror_debug(i32 noundef %12995, ptr noundef @.str.4)
  %12997 = call ptr @__errno_location() #12
  %12998 = load i32, ptr %12997, align 4, !tbaa !5
  %12999 = call ptr @strerror(i32 noundef %12998) #11
  %13000 = call ptr @__errno_location() #12
  %13001 = load i32, ptr %13000, align 4, !tbaa !5
  %13002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12989, ptr noundef @.str.2, i32 noundef %12990, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 634, ptr noundef %12993, ptr noundef %12996, ptr noundef %12999, i32 noundef %13001) #11
  br label %13020

13003:                                            ; preds = %12981, %12974
  %13004 = load i32, ptr %280, align 4, !tbaa !5
  %13005 = call ptr @__errno_location() #12
  store i32 %13004, ptr %13005, align 4, !tbaa !5
  %13006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13007 = load i32, ptr @test_count, align 4, !tbaa !5
  %13008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13009 = load i32, ptr %13008, align 4, !tbaa !5
  %13010 = call ptr @s2n_strerror(i32 noundef %13009, ptr noundef @.str.4)
  %13011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13012 = load i32, ptr %13011, align 4, !tbaa !5
  %13013 = call ptr @s2n_strerror_debug(i32 noundef %13012, ptr noundef @.str.4)
  %13014 = call ptr @__errno_location() #12
  %13015 = load i32, ptr %13014, align 4, !tbaa !5
  %13016 = call ptr @strerror(i32 noundef %13015) #11
  %13017 = call ptr @__errno_location() #12
  %13018 = load i32, ptr %13017, align 4, !tbaa !5
  %13019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13006, ptr noundef @.str.5, i32 noundef %13007, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 634, ptr noundef %13010, ptr noundef %13013, ptr noundef %13016, i32 noundef %13018) #11
  br label %13020

13020:                                            ; preds = %13003, %12986
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %13021

13021:                                            ; preds = %13020
  br label %13022

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

13023:                                            ; No predecessors!
  br label %13024

13024:                                            ; preds = %13023
  br label %13025

13025:                                            ; preds = %13024, %12963
  br label %13026

13026:                                            ; preds = %13025
  br label %13027

13027:                                            ; preds = %13026
  br label %13028

13028:                                            ; preds = %13027
  %13029 = load i32, ptr @test_count, align 4, !tbaa !5
  %13030 = add nsw i32 %13029, 1
  store i32 %13030, ptr @test_count, align 4, !tbaa !5
  %13031 = load ptr, ptr %264, align 8, !tbaa !9
  %13032 = getelementptr inbounds %struct.s2n_connection, ptr %13031, i32 0, i32 89
  %13033 = load i32, ptr %13032, align 8, !tbaa !15
  %13034 = icmp eq i32 %13033, 1
  br i1 %13034, label %13088, label %13035

13035:                                            ; preds = %13028
  br label %13036

13036:                                            ; preds = %13035
  br label %13037

13037:                                            ; preds = %13036
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %13038 = call ptr @__errno_location() #12
  %13039 = load i32, ptr %13038, align 4, !tbaa !5
  store i32 %13039, ptr %281, align 4, !tbaa !5
  %13040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13041 = call i32 @s2n_print_stacktrace(ptr noundef %13040)
  %13042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13043 = trunc i8 %13042 to i1
  br i1 %13043, label %13044, label %13066

13044:                                            ; preds = %13037
  %13045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13046 = call i32 @fileno(ptr noundef %13045) #11
  %13047 = call i32 @isatty(i32 noundef %13046) #11
  %13048 = icmp ne i32 %13047, 0
  br i1 %13048, label %13049, label %13066

13049:                                            ; preds = %13044
  %13050 = load i32, ptr %281, align 4, !tbaa !5
  %13051 = call ptr @__errno_location() #12
  store i32 %13050, ptr %13051, align 4, !tbaa !5
  %13052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13053 = load i32, ptr @test_count, align 4, !tbaa !5
  %13054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13055 = load i32, ptr %13054, align 4, !tbaa !5
  %13056 = call ptr @s2n_strerror(i32 noundef %13055, ptr noundef @.str.4)
  %13057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13058 = load i32, ptr %13057, align 4, !tbaa !5
  %13059 = call ptr @s2n_strerror_debug(i32 noundef %13058, ptr noundef @.str.4)
  %13060 = call ptr @__errno_location() #12
  %13061 = load i32, ptr %13060, align 4, !tbaa !5
  %13062 = call ptr @strerror(i32 noundef %13061) #11
  %13063 = call ptr @__errno_location() #12
  %13064 = load i32, ptr %13063, align 4, !tbaa !5
  %13065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13052, ptr noundef @.str.2, i32 noundef %13053, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 635, ptr noundef %13056, ptr noundef %13059, ptr noundef %13062, i32 noundef %13064) #11
  br label %13083

13066:                                            ; preds = %13044, %13037
  %13067 = load i32, ptr %281, align 4, !tbaa !5
  %13068 = call ptr @__errno_location() #12
  store i32 %13067, ptr %13068, align 4, !tbaa !5
  %13069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13070 = load i32, ptr @test_count, align 4, !tbaa !5
  %13071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call ptr @s2n_strerror(i32 noundef %13072, ptr noundef @.str.4)
  %13074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call ptr @s2n_strerror_debug(i32 noundef %13075, ptr noundef @.str.4)
  %13077 = call ptr @__errno_location() #12
  %13078 = load i32, ptr %13077, align 4, !tbaa !5
  %13079 = call ptr @strerror(i32 noundef %13078) #11
  %13080 = call ptr @__errno_location() #12
  %13081 = load i32, ptr %13080, align 4, !tbaa !5
  %13082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13069, ptr noundef @.str.5, i32 noundef %13070, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 635, ptr noundef %13073, ptr noundef %13076, ptr noundef %13079, i32 noundef %13081) #11
  br label %13083

13083:                                            ; preds = %13066, %13049
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %13084

13084:                                            ; preds = %13083
  br label %13085

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

13086:                                            ; No predecessors!
  br label %13087

13087:                                            ; preds = %13086
  br label %13088

13088:                                            ; preds = %13087, %13028
  br label %13089

13089:                                            ; preds = %13088
  br label %13090

13090:                                            ; preds = %13089
  br label %13091

13091:                                            ; preds = %13090
  %13092 = load i32, ptr @test_count, align 4, !tbaa !5
  %13093 = add nsw i32 %13092, 1
  store i32 %13093, ptr @test_count, align 4, !tbaa !5
  %13094 = load ptr, ptr %264, align 8, !tbaa !9
  %13095 = call i32 @s2n_connection_free(ptr noundef %13094)
  %13096 = icmp eq i32 %13095, -1
  br i1 %13096, label %13097, label %13150

13097:                                            ; preds = %13091
  br label %13098

13098:                                            ; preds = %13097
  br label %13099

13099:                                            ; preds = %13098
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %13100 = call ptr @__errno_location() #12
  %13101 = load i32, ptr %13100, align 4, !tbaa !5
  store i32 %13101, ptr %282, align 4, !tbaa !5
  %13102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13103 = call i32 @s2n_print_stacktrace(ptr noundef %13102)
  %13104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13105 = trunc i8 %13104 to i1
  br i1 %13105, label %13106, label %13128

13106:                                            ; preds = %13099
  %13107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13108 = call i32 @fileno(ptr noundef %13107) #11
  %13109 = call i32 @isatty(i32 noundef %13108) #11
  %13110 = icmp ne i32 %13109, 0
  br i1 %13110, label %13111, label %13128

13111:                                            ; preds = %13106
  %13112 = load i32, ptr %282, align 4, !tbaa !5
  %13113 = call ptr @__errno_location() #12
  store i32 %13112, ptr %13113, align 4, !tbaa !5
  %13114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13115 = load i32, ptr @test_count, align 4, !tbaa !5
  %13116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13117 = load i32, ptr %13116, align 4, !tbaa !5
  %13118 = call ptr @s2n_strerror(i32 noundef %13117, ptr noundef @.str.4)
  %13119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13120 = load i32, ptr %13119, align 4, !tbaa !5
  %13121 = call ptr @s2n_strerror_debug(i32 noundef %13120, ptr noundef @.str.4)
  %13122 = call ptr @__errno_location() #12
  %13123 = load i32, ptr %13122, align 4, !tbaa !5
  %13124 = call ptr @strerror(i32 noundef %13123) #11
  %13125 = call ptr @__errno_location() #12
  %13126 = load i32, ptr %13125, align 4, !tbaa !5
  %13127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13114, ptr noundef @.str.2, i32 noundef %13115, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 637, ptr noundef %13118, ptr noundef %13121, ptr noundef %13124, i32 noundef %13126) #11
  br label %13145

13128:                                            ; preds = %13106, %13099
  %13129 = load i32, ptr %282, align 4, !tbaa !5
  %13130 = call ptr @__errno_location() #12
  store i32 %13129, ptr %13130, align 4, !tbaa !5
  %13131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13132 = load i32, ptr @test_count, align 4, !tbaa !5
  %13133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @s2n_strerror(i32 noundef %13134, ptr noundef @.str.4)
  %13136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call ptr @s2n_strerror_debug(i32 noundef %13137, ptr noundef @.str.4)
  %13139 = call ptr @__errno_location() #12
  %13140 = load i32, ptr %13139, align 4, !tbaa !5
  %13141 = call ptr @strerror(i32 noundef %13140) #11
  %13142 = call ptr @__errno_location() #12
  %13143 = load i32, ptr %13142, align 4, !tbaa !5
  %13144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13131, ptr noundef @.str.5, i32 noundef %13132, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 637, ptr noundef %13135, ptr noundef %13138, ptr noundef %13141, i32 noundef %13143) #11
  br label %13145

13145:                                            ; preds = %13128, %13111
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %13146

13146:                                            ; preds = %13145
  br label %13147

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

13148:                                            ; No predecessors!
  br label %13149

13149:                                            ; preds = %13148
  br label %13150

13150:                                            ; preds = %13149, %13091
  br label %13151

13151:                                            ; preds = %13150
  br label %13152

13152:                                            ; preds = %13151
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %283) #11
  %13153 = call ptr @s2n_config_new()
  store ptr %13153, ptr %283, align 8, !tbaa !9
  br label %13154

13154:                                            ; preds = %13152
  %13155 = load i32, ptr @test_count, align 4, !tbaa !5
  %13156 = add nsw i32 %13155, 1
  store i32 %13156, ptr @test_count, align 4, !tbaa !5
  %13157 = load ptr, ptr %283, align 8, !tbaa !9
  %13158 = icmp eq ptr %13157, null
  br i1 %13158, label %13159, label %13212

13159:                                            ; preds = %13154
  br label %13160

13160:                                            ; preds = %13159
  br label %13161

13161:                                            ; preds = %13160
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %13162 = call ptr @__errno_location() #12
  %13163 = load i32, ptr %13162, align 4, !tbaa !5
  store i32 %13163, ptr %284, align 4, !tbaa !5
  %13164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13165 = call i32 @s2n_print_stacktrace(ptr noundef %13164)
  %13166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13167 = trunc i8 %13166 to i1
  br i1 %13167, label %13168, label %13190

13168:                                            ; preds = %13161
  %13169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13170 = call i32 @fileno(ptr noundef %13169) #11
  %13171 = call i32 @isatty(i32 noundef %13170) #11
  %13172 = icmp ne i32 %13171, 0
  br i1 %13172, label %13173, label %13190

13173:                                            ; preds = %13168
  %13174 = load i32, ptr %284, align 4, !tbaa !5
  %13175 = call ptr @__errno_location() #12
  store i32 %13174, ptr %13175, align 4, !tbaa !5
  %13176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13177 = load i32, ptr @test_count, align 4, !tbaa !5
  %13178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13179 = load i32, ptr %13178, align 4, !tbaa !5
  %13180 = call ptr @s2n_strerror(i32 noundef %13179, ptr noundef @.str.4)
  %13181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13182 = load i32, ptr %13181, align 4, !tbaa !5
  %13183 = call ptr @s2n_strerror_debug(i32 noundef %13182, ptr noundef @.str.4)
  %13184 = call ptr @__errno_location() #12
  %13185 = load i32, ptr %13184, align 4, !tbaa !5
  %13186 = call ptr @strerror(i32 noundef %13185) #11
  %13187 = call ptr @__errno_location() #12
  %13188 = load i32, ptr %13187, align 4, !tbaa !5
  %13189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13176, ptr noundef @.str.2, i32 noundef %13177, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 643, ptr noundef %13180, ptr noundef %13183, ptr noundef %13186, i32 noundef %13188) #11
  br label %13207

13190:                                            ; preds = %13168, %13161
  %13191 = load i32, ptr %284, align 4, !tbaa !5
  %13192 = call ptr @__errno_location() #12
  store i32 %13191, ptr %13192, align 4, !tbaa !5
  %13193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13194 = load i32, ptr @test_count, align 4, !tbaa !5
  %13195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13196 = load i32, ptr %13195, align 4, !tbaa !5
  %13197 = call ptr @s2n_strerror(i32 noundef %13196, ptr noundef @.str.4)
  %13198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13199 = load i32, ptr %13198, align 4, !tbaa !5
  %13200 = call ptr @s2n_strerror_debug(i32 noundef %13199, ptr noundef @.str.4)
  %13201 = call ptr @__errno_location() #12
  %13202 = load i32, ptr %13201, align 4, !tbaa !5
  %13203 = call ptr @strerror(i32 noundef %13202) #11
  %13204 = call ptr @__errno_location() #12
  %13205 = load i32, ptr %13204, align 4, !tbaa !5
  %13206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13193, ptr noundef @.str.5, i32 noundef %13194, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 643, ptr noundef %13197, ptr noundef %13200, ptr noundef %13203, i32 noundef %13205) #11
  br label %13207

13207:                                            ; preds = %13190, %13173
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %13208

13208:                                            ; preds = %13207
  br label %13209

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

13210:                                            ; No predecessors!
  br label %13211

13211:                                            ; preds = %13210
  br label %13212

13212:                                            ; preds = %13211, %13154
  br label %13213

13213:                                            ; preds = %13212
  br label %13214

13214:                                            ; preds = %13213
  call void @llvm.lifetime.start.p0(i64 8, ptr %285) #11
  %13215 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13215, ptr %285, align 8, !tbaa !9
  br label %13216

13216:                                            ; preds = %13214
  %13217 = load i32, ptr @test_count, align 4, !tbaa !5
  %13218 = add nsw i32 %13217, 1
  store i32 %13218, ptr @test_count, align 4, !tbaa !5
  %13219 = load ptr, ptr %285, align 8, !tbaa !9
  %13220 = icmp eq ptr %13219, null
  br i1 %13220, label %13221, label %13274

13221:                                            ; preds = %13216
  br label %13222

13222:                                            ; preds = %13221
  br label %13223

13223:                                            ; preds = %13222
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %13224 = call ptr @__errno_location() #12
  %13225 = load i32, ptr %13224, align 4, !tbaa !5
  store i32 %13225, ptr %286, align 4, !tbaa !5
  %13226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13227 = call i32 @s2n_print_stacktrace(ptr noundef %13226)
  %13228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13229 = trunc i8 %13228 to i1
  br i1 %13229, label %13230, label %13252

13230:                                            ; preds = %13223
  %13231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13232 = call i32 @fileno(ptr noundef %13231) #11
  %13233 = call i32 @isatty(i32 noundef %13232) #11
  %13234 = icmp ne i32 %13233, 0
  br i1 %13234, label %13235, label %13252

13235:                                            ; preds = %13230
  %13236 = load i32, ptr %286, align 4, !tbaa !5
  %13237 = call ptr @__errno_location() #12
  store i32 %13236, ptr %13237, align 4, !tbaa !5
  %13238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13239 = load i32, ptr @test_count, align 4, !tbaa !5
  %13240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13241 = load i32, ptr %13240, align 4, !tbaa !5
  %13242 = call ptr @s2n_strerror(i32 noundef %13241, ptr noundef @.str.4)
  %13243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13244 = load i32, ptr %13243, align 4, !tbaa !5
  %13245 = call ptr @s2n_strerror_debug(i32 noundef %13244, ptr noundef @.str.4)
  %13246 = call ptr @__errno_location() #12
  %13247 = load i32, ptr %13246, align 4, !tbaa !5
  %13248 = call ptr @strerror(i32 noundef %13247) #11
  %13249 = call ptr @__errno_location() #12
  %13250 = load i32, ptr %13249, align 4, !tbaa !5
  %13251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13238, ptr noundef @.str.2, i32 noundef %13239, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 646, ptr noundef %13242, ptr noundef %13245, ptr noundef %13248, i32 noundef %13250) #11
  br label %13269

13252:                                            ; preds = %13230, %13223
  %13253 = load i32, ptr %286, align 4, !tbaa !5
  %13254 = call ptr @__errno_location() #12
  store i32 %13253, ptr %13254, align 4, !tbaa !5
  %13255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13256 = load i32, ptr @test_count, align 4, !tbaa !5
  %13257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13258 = load i32, ptr %13257, align 4, !tbaa !5
  %13259 = call ptr @s2n_strerror(i32 noundef %13258, ptr noundef @.str.4)
  %13260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13261 = load i32, ptr %13260, align 4, !tbaa !5
  %13262 = call ptr @s2n_strerror_debug(i32 noundef %13261, ptr noundef @.str.4)
  %13263 = call ptr @__errno_location() #12
  %13264 = load i32, ptr %13263, align 4, !tbaa !5
  %13265 = call ptr @strerror(i32 noundef %13264) #11
  %13266 = call ptr @__errno_location() #12
  %13267 = load i32, ptr %13266, align 4, !tbaa !5
  %13268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13255, ptr noundef @.str.5, i32 noundef %13256, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 646, ptr noundef %13259, ptr noundef %13262, ptr noundef %13265, i32 noundef %13267) #11
  br label %13269

13269:                                            ; preds = %13252, %13235
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %13270

13270:                                            ; preds = %13269
  br label %13271

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

13272:                                            ; No predecessors!
  br label %13273

13273:                                            ; preds = %13272
  br label %13274

13274:                                            ; preds = %13273, %13216
  br label %13275

13275:                                            ; preds = %13274
  br label %13276

13276:                                            ; preds = %13275
  br label %13277

13277:                                            ; preds = %13276
  %13278 = load i32, ptr @test_count, align 4, !tbaa !5
  %13279 = add nsw i32 %13278, 1
  store i32 %13279, ptr @test_count, align 4, !tbaa !5
  %13280 = load ptr, ptr %285, align 8, !tbaa !9
  %13281 = load ptr, ptr %283, align 8, !tbaa !9
  %13282 = call i32 @s2n_connection_set_config(ptr noundef %13280, ptr noundef %13281)
  %13283 = icmp eq i32 %13282, -1
  br i1 %13283, label %13284, label %13337

13284:                                            ; preds = %13277
  br label %13285

13285:                                            ; preds = %13284
  br label %13286

13286:                                            ; preds = %13285
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %13287 = call ptr @__errno_location() #12
  %13288 = load i32, ptr %13287, align 4, !tbaa !5
  store i32 %13288, ptr %287, align 4, !tbaa !5
  %13289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13290 = call i32 @s2n_print_stacktrace(ptr noundef %13289)
  %13291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13292 = trunc i8 %13291 to i1
  br i1 %13292, label %13293, label %13315

13293:                                            ; preds = %13286
  %13294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13295 = call i32 @fileno(ptr noundef %13294) #11
  %13296 = call i32 @isatty(i32 noundef %13295) #11
  %13297 = icmp ne i32 %13296, 0
  br i1 %13297, label %13298, label %13315

13298:                                            ; preds = %13293
  %13299 = load i32, ptr %287, align 4, !tbaa !5
  %13300 = call ptr @__errno_location() #12
  store i32 %13299, ptr %13300, align 4, !tbaa !5
  %13301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13302 = load i32, ptr @test_count, align 4, !tbaa !5
  %13303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13304 = load i32, ptr %13303, align 4, !tbaa !5
  %13305 = call ptr @s2n_strerror(i32 noundef %13304, ptr noundef @.str.4)
  %13306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13307 = load i32, ptr %13306, align 4, !tbaa !5
  %13308 = call ptr @s2n_strerror_debug(i32 noundef %13307, ptr noundef @.str.4)
  %13309 = call ptr @__errno_location() #12
  %13310 = load i32, ptr %13309, align 4, !tbaa !5
  %13311 = call ptr @strerror(i32 noundef %13310) #11
  %13312 = call ptr @__errno_location() #12
  %13313 = load i32, ptr %13312, align 4, !tbaa !5
  %13314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13301, ptr noundef @.str.2, i32 noundef %13302, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 647, ptr noundef %13305, ptr noundef %13308, ptr noundef %13311, i32 noundef %13313) #11
  br label %13332

13315:                                            ; preds = %13293, %13286
  %13316 = load i32, ptr %287, align 4, !tbaa !5
  %13317 = call ptr @__errno_location() #12
  store i32 %13316, ptr %13317, align 4, !tbaa !5
  %13318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13319 = load i32, ptr @test_count, align 4, !tbaa !5
  %13320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13321 = load i32, ptr %13320, align 4, !tbaa !5
  %13322 = call ptr @s2n_strerror(i32 noundef %13321, ptr noundef @.str.4)
  %13323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13324 = load i32, ptr %13323, align 4, !tbaa !5
  %13325 = call ptr @s2n_strerror_debug(i32 noundef %13324, ptr noundef @.str.4)
  %13326 = call ptr @__errno_location() #12
  %13327 = load i32, ptr %13326, align 4, !tbaa !5
  %13328 = call ptr @strerror(i32 noundef %13327) #11
  %13329 = call ptr @__errno_location() #12
  %13330 = load i32, ptr %13329, align 4, !tbaa !5
  %13331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13318, ptr noundef @.str.5, i32 noundef %13319, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 647, ptr noundef %13322, ptr noundef %13325, ptr noundef %13328, i32 noundef %13330) #11
  br label %13332

13332:                                            ; preds = %13315, %13298
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %13333

13333:                                            ; preds = %13332
  br label %13334

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

13335:                                            ; No predecessors!
  br label %13336

13336:                                            ; preds = %13335
  br label %13337

13337:                                            ; preds = %13336, %13277
  br label %13338

13338:                                            ; preds = %13337
  br label %13339

13339:                                            ; preds = %13338
  br label %13340

13340:                                            ; preds = %13339
  %13341 = load i32, ptr @test_count, align 4, !tbaa !5
  %13342 = add nsw i32 %13341, 1
  store i32 %13342, ptr @test_count, align 4, !tbaa !5
  %13343 = load ptr, ptr %285, align 8, !tbaa !9
  %13344 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %13343, ptr noundef @.str.84)
  %13345 = icmp eq i32 %13344, -1
  br i1 %13345, label %13346, label %13399

13346:                                            ; preds = %13340
  br label %13347

13347:                                            ; preds = %13346
  br label %13348

13348:                                            ; preds = %13347
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %13349 = call ptr @__errno_location() #12
  %13350 = load i32, ptr %13349, align 4, !tbaa !5
  store i32 %13350, ptr %288, align 4, !tbaa !5
  %13351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13352 = call i32 @s2n_print_stacktrace(ptr noundef %13351)
  %13353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13354 = trunc i8 %13353 to i1
  br i1 %13354, label %13355, label %13377

13355:                                            ; preds = %13348
  %13356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13357 = call i32 @fileno(ptr noundef %13356) #11
  %13358 = call i32 @isatty(i32 noundef %13357) #11
  %13359 = icmp ne i32 %13358, 0
  br i1 %13359, label %13360, label %13377

13360:                                            ; preds = %13355
  %13361 = load i32, ptr %288, align 4, !tbaa !5
  %13362 = call ptr @__errno_location() #12
  store i32 %13361, ptr %13362, align 4, !tbaa !5
  %13363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13364 = load i32, ptr @test_count, align 4, !tbaa !5
  %13365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13366 = load i32, ptr %13365, align 4, !tbaa !5
  %13367 = call ptr @s2n_strerror(i32 noundef %13366, ptr noundef @.str.4)
  %13368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13369 = load i32, ptr %13368, align 4, !tbaa !5
  %13370 = call ptr @s2n_strerror_debug(i32 noundef %13369, ptr noundef @.str.4)
  %13371 = call ptr @__errno_location() #12
  %13372 = load i32, ptr %13371, align 4, !tbaa !5
  %13373 = call ptr @strerror(i32 noundef %13372) #11
  %13374 = call ptr @__errno_location() #12
  %13375 = load i32, ptr %13374, align 4, !tbaa !5
  %13376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13363, ptr noundef @.str.2, i32 noundef %13364, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 648, ptr noundef %13367, ptr noundef %13370, ptr noundef %13373, i32 noundef %13375) #11
  br label %13394

13377:                                            ; preds = %13355, %13348
  %13378 = load i32, ptr %288, align 4, !tbaa !5
  %13379 = call ptr @__errno_location() #12
  store i32 %13378, ptr %13379, align 4, !tbaa !5
  %13380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13381 = load i32, ptr @test_count, align 4, !tbaa !5
  %13382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13383 = load i32, ptr %13382, align 4, !tbaa !5
  %13384 = call ptr @s2n_strerror(i32 noundef %13383, ptr noundef @.str.4)
  %13385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13386 = load i32, ptr %13385, align 4, !tbaa !5
  %13387 = call ptr @s2n_strerror_debug(i32 noundef %13386, ptr noundef @.str.4)
  %13388 = call ptr @__errno_location() #12
  %13389 = load i32, ptr %13388, align 4, !tbaa !5
  %13390 = call ptr @strerror(i32 noundef %13389) #11
  %13391 = call ptr @__errno_location() #12
  %13392 = load i32, ptr %13391, align 4, !tbaa !5
  %13393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13380, ptr noundef @.str.5, i32 noundef %13381, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 648, ptr noundef %13384, ptr noundef %13387, ptr noundef %13390, i32 noundef %13392) #11
  br label %13394

13394:                                            ; preds = %13377, %13360
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %13395

13395:                                            ; preds = %13394
  br label %13396

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

13397:                                            ; No predecessors!
  br label %13398

13398:                                            ; preds = %13397
  br label %13399

13399:                                            ; preds = %13398, %13340
  br label %13400

13400:                                            ; preds = %13399
  br label %13401

13401:                                            ; preds = %13400
  br label %13402

13402:                                            ; preds = %13401
  %13403 = load i32, ptr @test_count, align 4, !tbaa !5
  %13404 = add nsw i32 %13403, 1
  store i32 %13404, ptr @test_count, align 4, !tbaa !5
  %13405 = load ptr, ptr %285, align 8, !tbaa !9
  %13406 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %13405, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %13407 = getelementptr inbounds %struct.s2n_result, ptr %289, i32 0, i32 0
  store i32 %13406, ptr %13407, align 4
  %13408 = getelementptr inbounds %struct.s2n_result, ptr %289, i32 0, i32 0
  %13409 = load i32, ptr %13408, align 4
  %13410 = call zeroext i1 @s2n_result_is_ok(i32 %13409)
  br i1 %13410, label %13464, label %13411

13411:                                            ; preds = %13402
  br label %13412

13412:                                            ; preds = %13411
  br label %13413

13413:                                            ; preds = %13412
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %13414 = call ptr @__errno_location() #12
  %13415 = load i32, ptr %13414, align 4, !tbaa !5
  store i32 %13415, ptr %290, align 4, !tbaa !5
  %13416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13417 = call i32 @s2n_print_stacktrace(ptr noundef %13416)
  %13418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13419 = trunc i8 %13418 to i1
  br i1 %13419, label %13420, label %13442

13420:                                            ; preds = %13413
  %13421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13422 = call i32 @fileno(ptr noundef %13421) #11
  %13423 = call i32 @isatty(i32 noundef %13422) #11
  %13424 = icmp ne i32 %13423, 0
  br i1 %13424, label %13425, label %13442

13425:                                            ; preds = %13420
  %13426 = load i32, ptr %290, align 4, !tbaa !5
  %13427 = call ptr @__errno_location() #12
  store i32 %13426, ptr %13427, align 4, !tbaa !5
  %13428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13429 = load i32, ptr @test_count, align 4, !tbaa !5
  %13430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13431 = load i32, ptr %13430, align 4, !tbaa !5
  %13432 = call ptr @s2n_strerror(i32 noundef %13431, ptr noundef @.str.4)
  %13433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13434 = load i32, ptr %13433, align 4, !tbaa !5
  %13435 = call ptr @s2n_strerror_debug(i32 noundef %13434, ptr noundef @.str.4)
  %13436 = call ptr @__errno_location() #12
  %13437 = load i32, ptr %13436, align 4, !tbaa !5
  %13438 = call ptr @strerror(i32 noundef %13437) #11
  %13439 = call ptr @__errno_location() #12
  %13440 = load i32, ptr %13439, align 4, !tbaa !5
  %13441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13428, ptr noundef @.str.2, i32 noundef %13429, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 649, ptr noundef %13432, ptr noundef %13435, ptr noundef %13438, i32 noundef %13440) #11
  br label %13459

13442:                                            ; preds = %13420, %13413
  %13443 = load i32, ptr %290, align 4, !tbaa !5
  %13444 = call ptr @__errno_location() #12
  store i32 %13443, ptr %13444, align 4, !tbaa !5
  %13445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13446 = load i32, ptr @test_count, align 4, !tbaa !5
  %13447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13448 = load i32, ptr %13447, align 4, !tbaa !5
  %13449 = call ptr @s2n_strerror(i32 noundef %13448, ptr noundef @.str.4)
  %13450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13451 = load i32, ptr %13450, align 4, !tbaa !5
  %13452 = call ptr @s2n_strerror_debug(i32 noundef %13451, ptr noundef @.str.4)
  %13453 = call ptr @__errno_location() #12
  %13454 = load i32, ptr %13453, align 4, !tbaa !5
  %13455 = call ptr @strerror(i32 noundef %13454) #11
  %13456 = call ptr @__errno_location() #12
  %13457 = load i32, ptr %13456, align 4, !tbaa !5
  %13458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13445, ptr noundef @.str.5, i32 noundef %13446, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 649, ptr noundef %13449, ptr noundef %13452, ptr noundef %13455, i32 noundef %13457) #11
  br label %13459

13459:                                            ; preds = %13442, %13425
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %13460

13460:                                            ; preds = %13459
  br label %13461

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

13462:                                            ; No predecessors!
  br label %13463

13463:                                            ; preds = %13462
  br label %13464

13464:                                            ; preds = %13463, %13402
  br label %13465

13465:                                            ; preds = %13464
  br label %13466

13466:                                            ; preds = %13465
  br label %13467

13467:                                            ; preds = %13466
  %13468 = load i32, ptr @test_count, align 4, !tbaa !5
  %13469 = add nsw i32 %13468, 1
  store i32 %13469, ptr @test_count, align 4, !tbaa !5
  %13470 = load ptr, ptr %285, align 8, !tbaa !9
  %13471 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %13470)
  %13472 = icmp eq i32 %13471, -1
  br i1 %13472, label %13473, label %13526

13473:                                            ; preds = %13467
  br label %13474

13474:                                            ; preds = %13473
  br label %13475

13475:                                            ; preds = %13474
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %13476 = call ptr @__errno_location() #12
  %13477 = load i32, ptr %13476, align 4, !tbaa !5
  store i32 %13477, ptr %291, 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) #11
  %13485 = call i32 @isatty(i32 noundef %13484) #11
  %13486 = icmp ne i32 %13485, 0
  br i1 %13486, label %13487, label %13504

13487:                                            ; preds = %13482
  %13488 = load i32, ptr %291, align 4, !tbaa !5
  %13489 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %13498 = call ptr @__errno_location() #12
  %13499 = load i32, ptr %13498, align 4, !tbaa !5
  %13500 = call ptr @strerror(i32 noundef %13499) #11
  %13501 = call ptr @__errno_location() #12
  %13502 = load i32, ptr %13501, align 4, !tbaa !5
  %13503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13490, ptr noundef @.str.2, i32 noundef %13491, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 650, ptr noundef %13494, ptr noundef %13497, ptr noundef %13500, i32 noundef %13502) #11
  br label %13521

13504:                                            ; preds = %13482, %13475
  %13505 = load i32, ptr %291, align 4, !tbaa !5
  %13506 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %13515 = call ptr @__errno_location() #12
  %13516 = load i32, ptr %13515, align 4, !tbaa !5
  %13517 = call ptr @strerror(i32 noundef %13516) #11
  %13518 = call ptr @__errno_location() #12
  %13519 = load i32, ptr %13518, align 4, !tbaa !5
  %13520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13507, ptr noundef @.str.5, i32 noundef %13508, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 650, ptr noundef %13511, ptr noundef %13514, ptr noundef %13517, i32 noundef %13519) #11
  br label %13521

13521:                                            ; preds = %13504, %13487
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %13522

13522:                                            ; preds = %13521
  br label %13523

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

13524:                                            ; No predecessors!
  br label %13525

13525:                                            ; preds = %13524
  br label %13526

13526:                                            ; preds = %13525, %13467
  br label %13527

13527:                                            ; preds = %13526
  br label %13528

13528:                                            ; preds = %13527
  %13529 = load ptr, ptr %285, align 8, !tbaa !9
  %13530 = getelementptr inbounds %struct.s2n_connection, ptr %13529, i32 0, i32 27
  %13531 = load ptr, ptr %13530, align 8, !tbaa !63
  %13532 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13531, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %13532, align 8, !tbaa !64
  %13533 = load ptr, ptr %285, align 8, !tbaa !9
  %13534 = getelementptr inbounds %struct.s2n_connection, ptr %13533, i32 0, i32 23
  store i8 34, ptr %13534, align 4, !tbaa !69
  %13535 = load ptr, ptr %285, align 8, !tbaa !9
  %13536 = getelementptr inbounds %struct.s2n_connection, ptr %13535, i32 0, i32 89
  store i32 1, ptr %13536, align 8, !tbaa !15
  br label %13537

13537:                                            ; preds = %13528
  %13538 = load i32, ptr @test_count, align 4, !tbaa !5
  %13539 = add nsw i32 %13538, 1
  store i32 %13539, ptr @test_count, align 4, !tbaa !5
  %13540 = load ptr, ptr %285, align 8, !tbaa !9
  %13541 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %13540)
  %13542 = getelementptr inbounds %struct.s2n_result, ptr %292, i32 0, i32 0
  store i32 %13541, ptr %13542, align 4
  %13543 = getelementptr inbounds %struct.s2n_result, ptr %292, i32 0, i32 0
  %13544 = load i32, ptr %13543, align 4
  %13545 = call zeroext i1 @s2n_result_is_ok(i32 %13544)
  br i1 %13545, label %13599, label %13546

13546:                                            ; preds = %13537
  br label %13547

13547:                                            ; preds = %13546
  br label %13548

13548:                                            ; preds = %13547
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %13549 = call ptr @__errno_location() #12
  %13550 = load i32, ptr %13549, align 4, !tbaa !5
  store i32 %13550, ptr %293, align 4, !tbaa !5
  %13551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13552 = call i32 @s2n_print_stacktrace(ptr noundef %13551)
  %13553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13554 = trunc i8 %13553 to i1
  br i1 %13554, label %13555, label %13577

13555:                                            ; preds = %13548
  %13556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13557 = call i32 @fileno(ptr noundef %13556) #11
  %13558 = call i32 @isatty(i32 noundef %13557) #11
  %13559 = icmp ne i32 %13558, 0
  br i1 %13559, label %13560, label %13577

13560:                                            ; preds = %13555
  %13561 = load i32, ptr %293, align 4, !tbaa !5
  %13562 = call ptr @__errno_location() #12
  store i32 %13561, ptr %13562, align 4, !tbaa !5
  %13563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13564 = load i32, ptr @test_count, align 4, !tbaa !5
  %13565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  %13567 = call ptr @s2n_strerror(i32 noundef %13566, ptr noundef @.str.4)
  %13568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13569 = load i32, ptr %13568, align 4, !tbaa !5
  %13570 = call ptr @s2n_strerror_debug(i32 noundef %13569, ptr noundef @.str.4)
  %13571 = call ptr @__errno_location() #12
  %13572 = load i32, ptr %13571, align 4, !tbaa !5
  %13573 = call ptr @strerror(i32 noundef %13572) #11
  %13574 = call ptr @__errno_location() #12
  %13575 = load i32, ptr %13574, align 4, !tbaa !5
  %13576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13563, ptr noundef @.str.2, i32 noundef %13564, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 656, ptr noundef %13567, ptr noundef %13570, ptr noundef %13573, i32 noundef %13575) #11
  br label %13594

13577:                                            ; preds = %13555, %13548
  %13578 = load i32, ptr %293, align 4, !tbaa !5
  %13579 = call ptr @__errno_location() #12
  store i32 %13578, ptr %13579, align 4, !tbaa !5
  %13580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13581 = load i32, ptr @test_count, align 4, !tbaa !5
  %13582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13583 = load i32, ptr %13582, align 4, !tbaa !5
  %13584 = call ptr @s2n_strerror(i32 noundef %13583, ptr noundef @.str.4)
  %13585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13586 = load i32, ptr %13585, align 4, !tbaa !5
  %13587 = call ptr @s2n_strerror_debug(i32 noundef %13586, ptr noundef @.str.4)
  %13588 = call ptr @__errno_location() #12
  %13589 = load i32, ptr %13588, align 4, !tbaa !5
  %13590 = call ptr @strerror(i32 noundef %13589) #11
  %13591 = call ptr @__errno_location() #12
  %13592 = load i32, ptr %13591, align 4, !tbaa !5
  %13593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13580, ptr noundef @.str.5, i32 noundef %13581, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 656, ptr noundef %13584, ptr noundef %13587, ptr noundef %13590, i32 noundef %13592) #11
  br label %13594

13594:                                            ; preds = %13577, %13560
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %13595

13595:                                            ; preds = %13594
  br label %13596

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

13597:                                            ; No predecessors!
  br label %13598

13598:                                            ; preds = %13597
  br label %13599

13599:                                            ; preds = %13598, %13537
  br label %13600

13600:                                            ; preds = %13599
  br label %13601

13601:                                            ; preds = %13600
  br label %13602

13602:                                            ; preds = %13601
  %13603 = load i32, ptr @test_count, align 4, !tbaa !5
  %13604 = add nsw i32 %13603, 1
  store i32 %13604, ptr @test_count, align 4, !tbaa !5
  %13605 = load ptr, ptr %285, align 8, !tbaa !9
  %13606 = getelementptr inbounds %struct.s2n_connection, ptr %13605, i32 0, i32 89
  %13607 = load i32, ptr %13606, align 8, !tbaa !15
  %13608 = icmp eq i32 %13607, 3
  br i1 %13608, label %13662, label %13609

13609:                                            ; preds = %13602
  br label %13610

13610:                                            ; preds = %13609
  br label %13611

13611:                                            ; preds = %13610
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %13612 = call ptr @__errno_location() #12
  %13613 = load i32, ptr %13612, align 4, !tbaa !5
  store i32 %13613, ptr %294, align 4, !tbaa !5
  %13614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13615 = call i32 @s2n_print_stacktrace(ptr noundef %13614)
  %13616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13617 = trunc i8 %13616 to i1
  br i1 %13617, label %13618, label %13640

13618:                                            ; preds = %13611
  %13619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13620 = call i32 @fileno(ptr noundef %13619) #11
  %13621 = call i32 @isatty(i32 noundef %13620) #11
  %13622 = icmp ne i32 %13621, 0
  br i1 %13622, label %13623, label %13640

13623:                                            ; preds = %13618
  %13624 = load i32, ptr %294, align 4, !tbaa !5
  %13625 = call ptr @__errno_location() #12
  store i32 %13624, ptr %13625, align 4, !tbaa !5
  %13626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13627 = load i32, ptr @test_count, align 4, !tbaa !5
  %13628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13629 = load i32, ptr %13628, align 4, !tbaa !5
  %13630 = call ptr @s2n_strerror(i32 noundef %13629, ptr noundef @.str.4)
  %13631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13632 = load i32, ptr %13631, align 4, !tbaa !5
  %13633 = call ptr @s2n_strerror_debug(i32 noundef %13632, ptr noundef @.str.4)
  %13634 = call ptr @__errno_location() #12
  %13635 = load i32, ptr %13634, align 4, !tbaa !5
  %13636 = call ptr @strerror(i32 noundef %13635) #11
  %13637 = call ptr @__errno_location() #12
  %13638 = load i32, ptr %13637, align 4, !tbaa !5
  %13639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13626, ptr noundef @.str.2, i32 noundef %13627, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13630, ptr noundef %13633, ptr noundef %13636, i32 noundef %13638) #11
  br label %13657

13640:                                            ; preds = %13618, %13611
  %13641 = load i32, ptr %294, align 4, !tbaa !5
  %13642 = call ptr @__errno_location() #12
  store i32 %13641, ptr %13642, align 4, !tbaa !5
  %13643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13644 = load i32, ptr @test_count, align 4, !tbaa !5
  %13645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13646 = load i32, ptr %13645, align 4, !tbaa !5
  %13647 = call ptr @s2n_strerror(i32 noundef %13646, ptr noundef @.str.4)
  %13648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13649 = load i32, ptr %13648, align 4, !tbaa !5
  %13650 = call ptr @s2n_strerror_debug(i32 noundef %13649, ptr noundef @.str.4)
  %13651 = call ptr @__errno_location() #12
  %13652 = load i32, ptr %13651, align 4, !tbaa !5
  %13653 = call ptr @strerror(i32 noundef %13652) #11
  %13654 = call ptr @__errno_location() #12
  %13655 = load i32, ptr %13654, align 4, !tbaa !5
  %13656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13643, ptr noundef @.str.5, i32 noundef %13644, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13647, ptr noundef %13650, ptr noundef %13653, i32 noundef %13655) #11
  br label %13657

13657:                                            ; preds = %13640, %13623
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %13658

13658:                                            ; preds = %13657
  br label %13659

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

13660:                                            ; No predecessors!
  br label %13661

13661:                                            ; preds = %13660
  br label %13662

13662:                                            ; preds = %13661, %13602
  br label %13663

13663:                                            ; preds = %13662
  br label %13664

13664:                                            ; preds = %13663
  call void @llvm.lifetime.start.p0(i64 1, ptr %295) #11
  store i8 1, ptr %295, align 1, !tbaa !45
  br label %13665

13665:                                            ; preds = %13664
  %13666 = load i32, ptr @test_count, align 4, !tbaa !5
  %13667 = add nsw i32 %13666, 1
  store i32 %13667, ptr @test_count, align 4, !tbaa !5
  %13668 = load ptr, ptr %283, align 8, !tbaa !9
  %13669 = call i32 @s2n_config_set_early_data_cb(ptr noundef %13668, ptr noundef @s2n_test_early_data_cb)
  %13670 = icmp eq i32 %13669, -1
  br i1 %13670, label %13671, label %13724

13671:                                            ; preds = %13665
  br label %13672

13672:                                            ; preds = %13671
  br label %13673

13673:                                            ; preds = %13672
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %13674 = call ptr @__errno_location() #12
  %13675 = load i32, ptr %13674, align 4, !tbaa !5
  store i32 %13675, ptr %296, align 4, !tbaa !5
  %13676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13677 = call i32 @s2n_print_stacktrace(ptr noundef %13676)
  %13678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13679 = trunc i8 %13678 to i1
  br i1 %13679, label %13680, label %13702

13680:                                            ; preds = %13673
  %13681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13682 = call i32 @fileno(ptr noundef %13681) #11
  %13683 = call i32 @isatty(i32 noundef %13682) #11
  %13684 = icmp ne i32 %13683, 0
  br i1 %13684, label %13685, label %13702

13685:                                            ; preds = %13680
  %13686 = load i32, ptr %296, align 4, !tbaa !5
  %13687 = call ptr @__errno_location() #12
  store i32 %13686, ptr %13687, align 4, !tbaa !5
  %13688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13689 = load i32, ptr @test_count, align 4, !tbaa !5
  %13690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13691 = load i32, ptr %13690, align 4, !tbaa !5
  %13692 = call ptr @s2n_strerror(i32 noundef %13691, ptr noundef @.str.4)
  %13693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13694 = load i32, ptr %13693, align 4, !tbaa !5
  %13695 = call ptr @s2n_strerror_debug(i32 noundef %13694, ptr noundef @.str.4)
  %13696 = call ptr @__errno_location() #12
  %13697 = load i32, ptr %13696, align 4, !tbaa !5
  %13698 = call ptr @strerror(i32 noundef %13697) #11
  %13699 = call ptr @__errno_location() #12
  %13700 = load i32, ptr %13699, align 4, !tbaa !5
  %13701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13688, ptr noundef @.str.2, i32 noundef %13689, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 660, ptr noundef %13692, ptr noundef %13695, ptr noundef %13698, i32 noundef %13700) #11
  br label %13719

13702:                                            ; preds = %13680, %13673
  %13703 = load i32, ptr %296, align 4, !tbaa !5
  %13704 = call ptr @__errno_location() #12
  store i32 %13703, ptr %13704, align 4, !tbaa !5
  %13705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13706 = load i32, ptr @test_count, align 4, !tbaa !5
  %13707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13708 = load i32, ptr %13707, align 4, !tbaa !5
  %13709 = call ptr @s2n_strerror(i32 noundef %13708, ptr noundef @.str.4)
  %13710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13711 = load i32, ptr %13710, align 4, !tbaa !5
  %13712 = call ptr @s2n_strerror_debug(i32 noundef %13711, ptr noundef @.str.4)
  %13713 = call ptr @__errno_location() #12
  %13714 = load i32, ptr %13713, align 4, !tbaa !5
  %13715 = call ptr @strerror(i32 noundef %13714) #11
  %13716 = call ptr @__errno_location() #12
  %13717 = load i32, ptr %13716, align 4, !tbaa !5
  %13718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13705, ptr noundef @.str.5, i32 noundef %13706, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 660, ptr noundef %13709, ptr noundef %13712, ptr noundef %13715, i32 noundef %13717) #11
  br label %13719

13719:                                            ; preds = %13702, %13685
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %13720

13720:                                            ; preds = %13719
  br label %13721

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

13722:                                            ; No predecessors!
  br label %13723

13723:                                            ; preds = %13722
  br label %13724

13724:                                            ; preds = %13723, %13665
  br label %13725

13725:                                            ; preds = %13724
  br label %13726

13726:                                            ; preds = %13725
  %13727 = load ptr, ptr %285, align 8, !tbaa !9
  %13728 = getelementptr inbounds %struct.s2n_connection, ptr %13727, i32 0, i32 52
  %13729 = getelementptr inbounds %struct.s2n_handshake, ptr %13728, i32 0, i32 10
  %13730 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %297, i32 0, i32 0
  store ptr null, ptr %13730, align 8, !tbaa !73
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13729, ptr align 8 %297, i64 8, i1 false), !tbaa.struct !74
  %13731 = load ptr, ptr %285, align 8, !tbaa !9
  %13732 = getelementptr inbounds %struct.s2n_connection, ptr %13731, i32 0, i32 89
  store i32 1, ptr %13732, align 8, !tbaa !15
  br label %13733

13733:                                            ; preds = %13726
  %13734 = load i32, ptr @test_count, align 4, !tbaa !5
  %13735 = add nsw i32 %13734, 1
  store i32 %13735, ptr @test_count, align 4, !tbaa !5
  %13736 = load ptr, ptr %285, align 8, !tbaa !9
  %13737 = getelementptr inbounds %struct.s2n_connection, ptr %13736, i32 0, i32 33
  %13738 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13737, i32 0, i32 4
  %13739 = load ptr, ptr %13738, align 8, !tbaa !70
  %13740 = call i32 @s2n_psk_set_early_data_context(ptr noundef %13739, ptr noundef %295, i16 noundef zeroext 1)
  %13741 = icmp eq i32 %13740, -1
  br i1 %13741, label %13742, label %13795

13742:                                            ; preds = %13733
  br label %13743

13743:                                            ; preds = %13742
  br label %13744

13744:                                            ; preds = %13743
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %13745 = call ptr @__errno_location() #12
  %13746 = load i32, ptr %13745, align 4, !tbaa !5
  store i32 %13746, ptr %298, align 4, !tbaa !5
  %13747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13748 = call i32 @s2n_print_stacktrace(ptr noundef %13747)
  %13749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13750 = trunc i8 %13749 to i1
  br i1 %13750, label %13751, label %13773

13751:                                            ; preds = %13744
  %13752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13753 = call i32 @fileno(ptr noundef %13752) #11
  %13754 = call i32 @isatty(i32 noundef %13753) #11
  %13755 = icmp ne i32 %13754, 0
  br i1 %13755, label %13756, label %13773

13756:                                            ; preds = %13751
  %13757 = load i32, ptr %298, align 4, !tbaa !5
  %13758 = call ptr @__errno_location() #12
  store i32 %13757, ptr %13758, align 4, !tbaa !5
  %13759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13760 = load i32, ptr @test_count, align 4, !tbaa !5
  %13761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13762 = load i32, ptr %13761, align 4, !tbaa !5
  %13763 = call ptr @s2n_strerror(i32 noundef %13762, ptr noundef @.str.4)
  %13764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13765 = load i32, ptr %13764, align 4, !tbaa !5
  %13766 = call ptr @s2n_strerror_debug(i32 noundef %13765, ptr noundef @.str.4)
  %13767 = call ptr @__errno_location() #12
  %13768 = load i32, ptr %13767, align 4, !tbaa !5
  %13769 = call ptr @strerror(i32 noundef %13768) #11
  %13770 = call ptr @__errno_location() #12
  %13771 = load i32, ptr %13770, align 4, !tbaa !5
  %13772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13759, ptr noundef @.str.2, i32 noundef %13760, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 665, ptr noundef %13763, ptr noundef %13766, ptr noundef %13769, i32 noundef %13771) #11
  br label %13790

13773:                                            ; preds = %13751, %13744
  %13774 = load i32, ptr %298, align 4, !tbaa !5
  %13775 = call ptr @__errno_location() #12
  store i32 %13774, ptr %13775, align 4, !tbaa !5
  %13776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13777 = load i32, ptr @test_count, align 4, !tbaa !5
  %13778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13779 = load i32, ptr %13778, align 4, !tbaa !5
  %13780 = call ptr @s2n_strerror(i32 noundef %13779, ptr noundef @.str.4)
  %13781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13782 = load i32, ptr %13781, align 4, !tbaa !5
  %13783 = call ptr @s2n_strerror_debug(i32 noundef %13782, ptr noundef @.str.4)
  %13784 = call ptr @__errno_location() #12
  %13785 = load i32, ptr %13784, align 4, !tbaa !5
  %13786 = call ptr @strerror(i32 noundef %13785) #11
  %13787 = call ptr @__errno_location() #12
  %13788 = load i32, ptr %13787, align 4, !tbaa !5
  %13789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13776, ptr noundef @.str.5, i32 noundef %13777, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 665, ptr noundef %13780, ptr noundef %13783, ptr noundef %13786, i32 noundef %13788) #11
  br label %13790

13790:                                            ; preds = %13773, %13756
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %13791

13791:                                            ; preds = %13790
  br label %13792

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

13793:                                            ; No predecessors!
  br label %13794

13794:                                            ; preds = %13793
  br label %13795

13795:                                            ; preds = %13794, %13733
  br label %13796

13796:                                            ; preds = %13795
  br label %13797

13797:                                            ; preds = %13796
  br label %13798

13798:                                            ; preds = %13797
  %13799 = load i32, ptr @test_count, align 4, !tbaa !5
  %13800 = add nsw i32 %13799, 1
  store i32 %13800, ptr @test_count, align 4, !tbaa !5
  %13801 = load ptr, ptr %285, align 8, !tbaa !9
  %13802 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %13801)
  %13803 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  store i32 %13802, ptr %13803, align 4
  %13804 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  %13805 = load i32, ptr %13804, align 4
  %13806 = call zeroext i1 @s2n_result_is_ok(i32 %13805)
  br i1 %13806, label %13860, label %13807

13807:                                            ; preds = %13798
  br label %13808

13808:                                            ; preds = %13807
  br label %13809

13809:                                            ; preds = %13808
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %13810 = call ptr @__errno_location() #12
  %13811 = load i32, ptr %13810, align 4, !tbaa !5
  store i32 %13811, ptr %300, align 4, !tbaa !5
  %13812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13813 = call i32 @s2n_print_stacktrace(ptr noundef %13812)
  %13814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13815 = trunc i8 %13814 to i1
  br i1 %13815, label %13816, label %13838

13816:                                            ; preds = %13809
  %13817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13818 = call i32 @fileno(ptr noundef %13817) #11
  %13819 = call i32 @isatty(i32 noundef %13818) #11
  %13820 = icmp ne i32 %13819, 0
  br i1 %13820, label %13821, label %13838

13821:                                            ; preds = %13816
  %13822 = load i32, ptr %300, align 4, !tbaa !5
  %13823 = call ptr @__errno_location() #12
  store i32 %13822, ptr %13823, align 4, !tbaa !5
  %13824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13825 = load i32, ptr @test_count, align 4, !tbaa !5
  %13826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13827 = load i32, ptr %13826, align 4, !tbaa !5
  %13828 = call ptr @s2n_strerror(i32 noundef %13827, ptr noundef @.str.4)
  %13829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13830 = load i32, ptr %13829, align 4, !tbaa !5
  %13831 = call ptr @s2n_strerror_debug(i32 noundef %13830, ptr noundef @.str.4)
  %13832 = call ptr @__errno_location() #12
  %13833 = load i32, ptr %13832, align 4, !tbaa !5
  %13834 = call ptr @strerror(i32 noundef %13833) #11
  %13835 = call ptr @__errno_location() #12
  %13836 = load i32, ptr %13835, align 4, !tbaa !5
  %13837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13824, ptr noundef @.str.2, i32 noundef %13825, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 666, ptr noundef %13828, ptr noundef %13831, ptr noundef %13834, i32 noundef %13836) #11
  br label %13855

13838:                                            ; preds = %13816, %13809
  %13839 = load i32, ptr %300, align 4, !tbaa !5
  %13840 = call ptr @__errno_location() #12
  store i32 %13839, ptr %13840, align 4, !tbaa !5
  %13841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13842 = load i32, ptr @test_count, align 4, !tbaa !5
  %13843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13844 = load i32, ptr %13843, align 4, !tbaa !5
  %13845 = call ptr @s2n_strerror(i32 noundef %13844, ptr noundef @.str.4)
  %13846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13847 = load i32, ptr %13846, align 4, !tbaa !5
  %13848 = call ptr @s2n_strerror_debug(i32 noundef %13847, ptr noundef @.str.4)
  %13849 = call ptr @__errno_location() #12
  %13850 = load i32, ptr %13849, align 4, !tbaa !5
  %13851 = call ptr @strerror(i32 noundef %13850) #11
  %13852 = call ptr @__errno_location() #12
  %13853 = load i32, ptr %13852, align 4, !tbaa !5
  %13854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13841, ptr noundef @.str.5, i32 noundef %13842, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 666, ptr noundef %13845, ptr noundef %13848, ptr noundef %13851, i32 noundef %13853) #11
  br label %13855

13855:                                            ; preds = %13838, %13821
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %13856

13856:                                            ; preds = %13855
  br label %13857

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

13858:                                            ; No predecessors!
  br label %13859

13859:                                            ; preds = %13858
  br label %13860

13860:                                            ; preds = %13859, %13798
  br label %13861

13861:                                            ; preds = %13860
  br label %13862

13862:                                            ; preds = %13861
  br label %13863

13863:                                            ; preds = %13862
  %13864 = load i32, ptr @test_count, align 4, !tbaa !5
  %13865 = add nsw i32 %13864, 1
  store i32 %13865, ptr @test_count, align 4, !tbaa !5
  %13866 = load ptr, ptr %285, align 8, !tbaa !9
  %13867 = getelementptr inbounds %struct.s2n_connection, ptr %13866, i32 0, i32 89
  %13868 = load i32, ptr %13867, align 8, !tbaa !15
  %13869 = icmp eq i32 %13868, 3
  br i1 %13869, label %13923, label %13870

13870:                                            ; preds = %13863
  br label %13871

13871:                                            ; preds = %13870
  br label %13872

13872:                                            ; preds = %13871
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %13873 = call ptr @__errno_location() #12
  %13874 = load i32, ptr %13873, align 4, !tbaa !5
  store i32 %13874, ptr %301, align 4, !tbaa !5
  %13875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13876 = call i32 @s2n_print_stacktrace(ptr noundef %13875)
  %13877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13878 = trunc i8 %13877 to i1
  br i1 %13878, label %13879, label %13901

13879:                                            ; preds = %13872
  %13880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13881 = call i32 @fileno(ptr noundef %13880) #11
  %13882 = call i32 @isatty(i32 noundef %13881) #11
  %13883 = icmp ne i32 %13882, 0
  br i1 %13883, label %13884, label %13901

13884:                                            ; preds = %13879
  %13885 = load i32, ptr %301, align 4, !tbaa !5
  %13886 = call ptr @__errno_location() #12
  store i32 %13885, ptr %13886, align 4, !tbaa !5
  %13887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13888 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13890, ptr noundef @.str.4)
  %13892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13893 = load i32, ptr %13892, align 4, !tbaa !5
  %13894 = call ptr @s2n_strerror_debug(i32 noundef %13893, ptr noundef @.str.4)
  %13895 = call ptr @__errno_location() #12
  %13896 = load i32, ptr %13895, align 4, !tbaa !5
  %13897 = call ptr @strerror(i32 noundef %13896) #11
  %13898 = call ptr @__errno_location() #12
  %13899 = load i32, ptr %13898, align 4, !tbaa !5
  %13900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13887, ptr noundef @.str.2, i32 noundef %13888, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 667, ptr noundef %13891, ptr noundef %13894, ptr noundef %13897, i32 noundef %13899) #11
  br label %13918

13901:                                            ; preds = %13879, %13872
  %13902 = load i32, ptr %301, align 4, !tbaa !5
  %13903 = call ptr @__errno_location() #12
  store i32 %13902, ptr %13903, align 4, !tbaa !5
  %13904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13905 = load i32, ptr @test_count, align 4, !tbaa !5
  %13906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13907 = load i32, ptr %13906, align 4, !tbaa !5
  %13908 = call ptr @s2n_strerror(i32 noundef %13907, ptr noundef @.str.4)
  %13909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13910 = load i32, ptr %13909, align 4, !tbaa !5
  %13911 = call ptr @s2n_strerror_debug(i32 noundef %13910, ptr noundef @.str.4)
  %13912 = call ptr @__errno_location() #12
  %13913 = load i32, ptr %13912, align 4, !tbaa !5
  %13914 = call ptr @strerror(i32 noundef %13913) #11
  %13915 = call ptr @__errno_location() #12
  %13916 = load i32, ptr %13915, align 4, !tbaa !5
  %13917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13904, ptr noundef @.str.5, i32 noundef %13905, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 667, ptr noundef %13908, ptr noundef %13911, ptr noundef %13914, i32 noundef %13916) #11
  br label %13918

13918:                                            ; preds = %13901, %13884
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %13919

13919:                                            ; preds = %13918
  br label %13920

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

13921:                                            ; No predecessors!
  br label %13922

13922:                                            ; preds = %13921
  br label %13923

13923:                                            ; preds = %13922, %13863
  br label %13924

13924:                                            ; preds = %13923
  br label %13925

13925:                                            ; preds = %13924
  store i8 0, ptr %295, align 1, !tbaa !45
  %13926 = load ptr, ptr %285, align 8, !tbaa !9
  %13927 = getelementptr inbounds %struct.s2n_connection, ptr %13926, i32 0, i32 52
  %13928 = getelementptr inbounds %struct.s2n_handshake, ptr %13927, i32 0, i32 10
  %13929 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %302, i32 0, i32 0
  store ptr null, ptr %13929, align 8, !tbaa !73
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13928, ptr align 8 %302, i64 8, i1 false), !tbaa.struct !74
  %13930 = load ptr, ptr %285, align 8, !tbaa !9
  %13931 = getelementptr inbounds %struct.s2n_connection, ptr %13930, i32 0, i32 89
  store i32 1, ptr %13931, align 8, !tbaa !15
  br label %13932

13932:                                            ; preds = %13925
  %13933 = load i32, ptr @test_count, align 4, !tbaa !5
  %13934 = add nsw i32 %13933, 1
  store i32 %13934, ptr @test_count, align 4, !tbaa !5
  %13935 = load ptr, ptr %285, align 8, !tbaa !9
  %13936 = getelementptr inbounds %struct.s2n_connection, ptr %13935, i32 0, i32 33
  %13937 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13936, i32 0, i32 4
  %13938 = load ptr, ptr %13937, align 8, !tbaa !70
  %13939 = call i32 @s2n_psk_set_early_data_context(ptr noundef %13938, ptr noundef %295, i16 noundef zeroext 1)
  %13940 = icmp eq i32 %13939, -1
  br i1 %13940, label %13941, label %13994

13941:                                            ; preds = %13932
  br label %13942

13942:                                            ; preds = %13941
  br label %13943

13943:                                            ; preds = %13942
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %13944 = call ptr @__errno_location() #12
  %13945 = load i32, ptr %13944, align 4, !tbaa !5
  store i32 %13945, ptr %303, align 4, !tbaa !5
  %13946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13947 = call i32 @s2n_print_stacktrace(ptr noundef %13946)
  %13948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13949 = trunc i8 %13948 to i1
  br i1 %13949, label %13950, label %13972

13950:                                            ; preds = %13943
  %13951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13952 = call i32 @fileno(ptr noundef %13951) #11
  %13953 = call i32 @isatty(i32 noundef %13952) #11
  %13954 = icmp ne i32 %13953, 0
  br i1 %13954, label %13955, label %13972

13955:                                            ; preds = %13950
  %13956 = load i32, ptr %303, align 4, !tbaa !5
  %13957 = call ptr @__errno_location() #12
  store i32 %13956, ptr %13957, align 4, !tbaa !5
  %13958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13959 = load i32, ptr @test_count, align 4, !tbaa !5
  %13960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13961 = load i32, ptr %13960, align 4, !tbaa !5
  %13962 = call ptr @s2n_strerror(i32 noundef %13961, ptr noundef @.str.4)
  %13963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13964 = load i32, ptr %13963, align 4, !tbaa !5
  %13965 = call ptr @s2n_strerror_debug(i32 noundef %13964, ptr noundef @.str.4)
  %13966 = call ptr @__errno_location() #12
  %13967 = load i32, ptr %13966, align 4, !tbaa !5
  %13968 = call ptr @strerror(i32 noundef %13967) #11
  %13969 = call ptr @__errno_location() #12
  %13970 = load i32, ptr %13969, align 4, !tbaa !5
  %13971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13958, ptr noundef @.str.2, i32 noundef %13959, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 673, ptr noundef %13962, ptr noundef %13965, ptr noundef %13968, i32 noundef %13970) #11
  br label %13989

13972:                                            ; preds = %13950, %13943
  %13973 = load i32, ptr %303, align 4, !tbaa !5
  %13974 = call ptr @__errno_location() #12
  store i32 %13973, ptr %13974, align 4, !tbaa !5
  %13975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13976 = load i32, ptr @test_count, align 4, !tbaa !5
  %13977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13978 = load i32, ptr %13977, align 4, !tbaa !5
  %13979 = call ptr @s2n_strerror(i32 noundef %13978, ptr noundef @.str.4)
  %13980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13981 = load i32, ptr %13980, align 4, !tbaa !5
  %13982 = call ptr @s2n_strerror_debug(i32 noundef %13981, ptr noundef @.str.4)
  %13983 = call ptr @__errno_location() #12
  %13984 = load i32, ptr %13983, align 4, !tbaa !5
  %13985 = call ptr @strerror(i32 noundef %13984) #11
  %13986 = call ptr @__errno_location() #12
  %13987 = load i32, ptr %13986, align 4, !tbaa !5
  %13988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13975, ptr noundef @.str.5, i32 noundef %13976, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 673, ptr noundef %13979, ptr noundef %13982, ptr noundef %13985, i32 noundef %13987) #11
  br label %13989

13989:                                            ; preds = %13972, %13955
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %13990

13990:                                            ; preds = %13989
  br label %13991

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

13992:                                            ; No predecessors!
  br label %13993

13993:                                            ; preds = %13992
  br label %13994

13994:                                            ; preds = %13993, %13932
  br label %13995

13995:                                            ; preds = %13994
  br label %13996

13996:                                            ; preds = %13995
  br label %13997

13997:                                            ; preds = %13996
  %13998 = load i32, ptr @test_count, align 4, !tbaa !5
  %13999 = add nsw i32 %13998, 1
  store i32 %13999, ptr @test_count, align 4, !tbaa !5
  %14000 = load ptr, ptr %285, align 8, !tbaa !9
  %14001 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %14000)
  %14002 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  store i32 %14001, ptr %14002, align 4
  %14003 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  %14004 = load i32, ptr %14003, align 4
  %14005 = call zeroext i1 @s2n_result_is_ok(i32 %14004)
  br i1 %14005, label %14059, label %14006

14006:                                            ; preds = %13997
  br label %14007

14007:                                            ; preds = %14006
  br label %14008

14008:                                            ; preds = %14007
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %14009 = call ptr @__errno_location() #12
  %14010 = load i32, ptr %14009, align 4, !tbaa !5
  store i32 %14010, ptr %305, align 4, !tbaa !5
  %14011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14012 = call i32 @s2n_print_stacktrace(ptr noundef %14011)
  %14013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14014 = trunc i8 %14013 to i1
  br i1 %14014, label %14015, label %14037

14015:                                            ; preds = %14008
  %14016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14017 = call i32 @fileno(ptr noundef %14016) #11
  %14018 = call i32 @isatty(i32 noundef %14017) #11
  %14019 = icmp ne i32 %14018, 0
  br i1 %14019, label %14020, label %14037

14020:                                            ; preds = %14015
  %14021 = load i32, ptr %305, align 4, !tbaa !5
  %14022 = call ptr @__errno_location() #12
  store i32 %14021, ptr %14022, align 4, !tbaa !5
  %14023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14024 = load i32, ptr @test_count, align 4, !tbaa !5
  %14025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14026 = load i32, ptr %14025, align 4, !tbaa !5
  %14027 = call ptr @s2n_strerror(i32 noundef %14026, ptr noundef @.str.4)
  %14028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14029 = load i32, ptr %14028, align 4, !tbaa !5
  %14030 = call ptr @s2n_strerror_debug(i32 noundef %14029, ptr noundef @.str.4)
  %14031 = call ptr @__errno_location() #12
  %14032 = load i32, ptr %14031, align 4, !tbaa !5
  %14033 = call ptr @strerror(i32 noundef %14032) #11
  %14034 = call ptr @__errno_location() #12
  %14035 = load i32, ptr %14034, align 4, !tbaa !5
  %14036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14023, ptr noundef @.str.2, i32 noundef %14024, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 674, ptr noundef %14027, ptr noundef %14030, ptr noundef %14033, i32 noundef %14035) #11
  br label %14054

14037:                                            ; preds = %14015, %14008
  %14038 = load i32, ptr %305, align 4, !tbaa !5
  %14039 = call ptr @__errno_location() #12
  store i32 %14038, ptr %14039, align 4, !tbaa !5
  %14040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14041 = load i32, ptr @test_count, align 4, !tbaa !5
  %14042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14043 = load i32, ptr %14042, align 4, !tbaa !5
  %14044 = call ptr @s2n_strerror(i32 noundef %14043, ptr noundef @.str.4)
  %14045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14046 = load i32, ptr %14045, align 4, !tbaa !5
  %14047 = call ptr @s2n_strerror_debug(i32 noundef %14046, ptr noundef @.str.4)
  %14048 = call ptr @__errno_location() #12
  %14049 = load i32, ptr %14048, align 4, !tbaa !5
  %14050 = call ptr @strerror(i32 noundef %14049) #11
  %14051 = call ptr @__errno_location() #12
  %14052 = load i32, ptr %14051, align 4, !tbaa !5
  %14053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14040, ptr noundef @.str.5, i32 noundef %14041, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 674, ptr noundef %14044, ptr noundef %14047, ptr noundef %14050, i32 noundef %14052) #11
  br label %14054

14054:                                            ; preds = %14037, %14020
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %14055

14055:                                            ; preds = %14054
  br label %14056

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

14057:                                            ; No predecessors!
  br label %14058

14058:                                            ; preds = %14057
  br label %14059

14059:                                            ; preds = %14058, %13997
  br label %14060

14060:                                            ; preds = %14059
  br label %14061

14061:                                            ; preds = %14060
  br label %14062

14062:                                            ; preds = %14061
  %14063 = load i32, ptr @test_count, align 4, !tbaa !5
  %14064 = add nsw i32 %14063, 1
  store i32 %14064, ptr @test_count, align 4, !tbaa !5
  %14065 = load ptr, ptr %285, align 8, !tbaa !9
  %14066 = getelementptr inbounds %struct.s2n_connection, ptr %14065, i32 0, i32 89
  %14067 = load i32, ptr %14066, align 8, !tbaa !15
  %14068 = icmp eq i32 %14067, 4
  br i1 %14068, label %14122, label %14069

14069:                                            ; preds = %14062
  br label %14070

14070:                                            ; preds = %14069
  br label %14071

14071:                                            ; preds = %14070
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %14072 = call ptr @__errno_location() #12
  %14073 = load i32, ptr %14072, align 4, !tbaa !5
  store i32 %14073, ptr %306, align 4, !tbaa !5
  %14074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14075 = call i32 @s2n_print_stacktrace(ptr noundef %14074)
  %14076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14077 = trunc i8 %14076 to i1
  br i1 %14077, label %14078, label %14100

14078:                                            ; preds = %14071
  %14079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14080 = call i32 @fileno(ptr noundef %14079) #11
  %14081 = call i32 @isatty(i32 noundef %14080) #11
  %14082 = icmp ne i32 %14081, 0
  br i1 %14082, label %14083, label %14100

14083:                                            ; preds = %14078
  %14084 = load i32, ptr %306, align 4, !tbaa !5
  %14085 = call ptr @__errno_location() #12
  store i32 %14084, ptr %14085, align 4, !tbaa !5
  %14086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14087 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14089, ptr noundef @.str.4)
  %14091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14092 = load i32, ptr %14091, align 4, !tbaa !5
  %14093 = call ptr @s2n_strerror_debug(i32 noundef %14092, ptr noundef @.str.4)
  %14094 = call ptr @__errno_location() #12
  %14095 = load i32, ptr %14094, align 4, !tbaa !5
  %14096 = call ptr @strerror(i32 noundef %14095) #11
  %14097 = call ptr @__errno_location() #12
  %14098 = load i32, ptr %14097, align 4, !tbaa !5
  %14099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14086, ptr noundef @.str.2, i32 noundef %14087, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 675, ptr noundef %14090, ptr noundef %14093, ptr noundef %14096, i32 noundef %14098) #11
  br label %14117

14100:                                            ; preds = %14078, %14071
  %14101 = load i32, ptr %306, align 4, !tbaa !5
  %14102 = call ptr @__errno_location() #12
  store i32 %14101, ptr %14102, align 4, !tbaa !5
  %14103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14104 = load i32, ptr @test_count, align 4, !tbaa !5
  %14105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14106 = load i32, ptr %14105, align 4, !tbaa !5
  %14107 = call ptr @s2n_strerror(i32 noundef %14106, ptr noundef @.str.4)
  %14108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14109 = load i32, ptr %14108, align 4, !tbaa !5
  %14110 = call ptr @s2n_strerror_debug(i32 noundef %14109, ptr noundef @.str.4)
  %14111 = call ptr @__errno_location() #12
  %14112 = load i32, ptr %14111, align 4, !tbaa !5
  %14113 = call ptr @strerror(i32 noundef %14112) #11
  %14114 = call ptr @__errno_location() #12
  %14115 = load i32, ptr %14114, align 4, !tbaa !5
  %14116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14103, ptr noundef @.str.5, i32 noundef %14104, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 675, ptr noundef %14107, ptr noundef %14110, ptr noundef %14113, i32 noundef %14115) #11
  br label %14117

14117:                                            ; preds = %14100, %14083
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %14118

14118:                                            ; preds = %14117
  br label %14119

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

14120:                                            ; No predecessors!
  br label %14121

14121:                                            ; preds = %14120
  br label %14122

14122:                                            ; preds = %14121, %14062
  br label %14123

14123:                                            ; preds = %14122
  br label %14124

14124:                                            ; preds = %14123
  br label %14125

14125:                                            ; preds = %14124
  %14126 = load i32, ptr @test_count, align 4, !tbaa !5
  %14127 = add nsw i32 %14126, 1
  store i32 %14127, ptr @test_count, align 4, !tbaa !5
  %14128 = load ptr, ptr %285, align 8, !tbaa !9
  %14129 = call i32 @s2n_connection_free(ptr noundef %14128)
  %14130 = icmp eq i32 %14129, -1
  br i1 %14130, label %14131, label %14184

14131:                                            ; preds = %14125
  br label %14132

14132:                                            ; preds = %14131
  br label %14133

14133:                                            ; preds = %14132
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %14134 = call ptr @__errno_location() #12
  %14135 = load i32, ptr %14134, align 4, !tbaa !5
  store i32 %14135, ptr %307, align 4, !tbaa !5
  %14136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14137 = call i32 @s2n_print_stacktrace(ptr noundef %14136)
  %14138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14139 = trunc i8 %14138 to i1
  br i1 %14139, label %14140, label %14162

14140:                                            ; preds = %14133
  %14141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14142 = call i32 @fileno(ptr noundef %14141) #11
  %14143 = call i32 @isatty(i32 noundef %14142) #11
  %14144 = icmp ne i32 %14143, 0
  br i1 %14144, label %14145, label %14162

14145:                                            ; preds = %14140
  %14146 = load i32, ptr %307, align 4, !tbaa !5
  %14147 = call ptr @__errno_location() #12
  store i32 %14146, ptr %14147, align 4, !tbaa !5
  %14148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14149 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14151, ptr noundef @.str.4)
  %14153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14154 = load i32, ptr %14153, align 4, !tbaa !5
  %14155 = call ptr @s2n_strerror_debug(i32 noundef %14154, ptr noundef @.str.4)
  %14156 = call ptr @__errno_location() #12
  %14157 = load i32, ptr %14156, align 4, !tbaa !5
  %14158 = call ptr @strerror(i32 noundef %14157) #11
  %14159 = call ptr @__errno_location() #12
  %14160 = load i32, ptr %14159, align 4, !tbaa !5
  %14161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14148, ptr noundef @.str.2, i32 noundef %14149, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 677, ptr noundef %14152, ptr noundef %14155, ptr noundef %14158, i32 noundef %14160) #11
  br label %14179

14162:                                            ; preds = %14140, %14133
  %14163 = load i32, ptr %307, align 4, !tbaa !5
  %14164 = call ptr @__errno_location() #12
  store i32 %14163, ptr %14164, align 4, !tbaa !5
  %14165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14166 = load i32, ptr @test_count, align 4, !tbaa !5
  %14167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14168 = load i32, ptr %14167, align 4, !tbaa !5
  %14169 = call ptr @s2n_strerror(i32 noundef %14168, ptr noundef @.str.4)
  %14170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14171 = load i32, ptr %14170, align 4, !tbaa !5
  %14172 = call ptr @s2n_strerror_debug(i32 noundef %14171, ptr noundef @.str.4)
  %14173 = call ptr @__errno_location() #12
  %14174 = load i32, ptr %14173, align 4, !tbaa !5
  %14175 = call ptr @strerror(i32 noundef %14174) #11
  %14176 = call ptr @__errno_location() #12
  %14177 = load i32, ptr %14176, align 4, !tbaa !5
  %14178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14165, ptr noundef @.str.5, i32 noundef %14166, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 677, ptr noundef %14169, ptr noundef %14172, ptr noundef %14175, i32 noundef %14177) #11
  br label %14179

14179:                                            ; preds = %14162, %14145
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %14180

14180:                                            ; preds = %14179
  br label %14181

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

14182:                                            ; No predecessors!
  br label %14183

14183:                                            ; preds = %14182
  br label %14184

14184:                                            ; preds = %14183, %14125
  br label %14185

14185:                                            ; preds = %14184
  br label %14186

14186:                                            ; preds = %14185
  br label %14187

14187:                                            ; preds = %14186
  %14188 = load i32, ptr @test_count, align 4, !tbaa !5
  %14189 = add nsw i32 %14188, 1
  store i32 %14189, ptr @test_count, align 4, !tbaa !5
  %14190 = load ptr, ptr %283, align 8, !tbaa !9
  %14191 = call i32 @s2n_config_free(ptr noundef %14190)
  %14192 = icmp eq i32 %14191, -1
  br i1 %14192, label %14193, label %14246

14193:                                            ; preds = %14187
  br label %14194

14194:                                            ; preds = %14193
  br label %14195

14195:                                            ; preds = %14194
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %14196 = call ptr @__errno_location() #12
  %14197 = load i32, ptr %14196, align 4, !tbaa !5
  store i32 %14197, ptr %308, align 4, !tbaa !5
  %14198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14199 = call i32 @s2n_print_stacktrace(ptr noundef %14198)
  %14200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14201 = trunc i8 %14200 to i1
  br i1 %14201, label %14202, label %14224

14202:                                            ; preds = %14195
  %14203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14204 = call i32 @fileno(ptr noundef %14203) #11
  %14205 = call i32 @isatty(i32 noundef %14204) #11
  %14206 = icmp ne i32 %14205, 0
  br i1 %14206, label %14207, label %14224

14207:                                            ; preds = %14202
  %14208 = load i32, ptr %308, align 4, !tbaa !5
  %14209 = call ptr @__errno_location() #12
  store i32 %14208, ptr %14209, align 4, !tbaa !5
  %14210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14211 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14213, ptr noundef @.str.4)
  %14215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14216 = load i32, ptr %14215, align 4, !tbaa !5
  %14217 = call ptr @s2n_strerror_debug(i32 noundef %14216, ptr noundef @.str.4)
  %14218 = call ptr @__errno_location() #12
  %14219 = load i32, ptr %14218, align 4, !tbaa !5
  %14220 = call ptr @strerror(i32 noundef %14219) #11
  %14221 = call ptr @__errno_location() #12
  %14222 = load i32, ptr %14221, align 4, !tbaa !5
  %14223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14210, ptr noundef @.str.2, i32 noundef %14211, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 678, ptr noundef %14214, ptr noundef %14217, ptr noundef %14220, i32 noundef %14222) #11
  br label %14241

14224:                                            ; preds = %14202, %14195
  %14225 = load i32, ptr %308, align 4, !tbaa !5
  %14226 = call ptr @__errno_location() #12
  store i32 %14225, ptr %14226, align 4, !tbaa !5
  %14227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14228 = load i32, ptr @test_count, align 4, !tbaa !5
  %14229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14230 = load i32, ptr %14229, align 4, !tbaa !5
  %14231 = call ptr @s2n_strerror(i32 noundef %14230, ptr noundef @.str.4)
  %14232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14233 = load i32, ptr %14232, align 4, !tbaa !5
  %14234 = call ptr @s2n_strerror_debug(i32 noundef %14233, ptr noundef @.str.4)
  %14235 = call ptr @__errno_location() #12
  %14236 = load i32, ptr %14235, align 4, !tbaa !5
  %14237 = call ptr @strerror(i32 noundef %14236) #11
  %14238 = call ptr @__errno_location() #12
  %14239 = load i32, ptr %14238, align 4, !tbaa !5
  %14240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14227, ptr noundef @.str.5, i32 noundef %14228, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 678, ptr noundef %14231, ptr noundef %14234, ptr noundef %14237, i32 noundef %14239) #11
  br label %14241

14241:                                            ; preds = %14224, %14207
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %14242

14242:                                            ; preds = %14241
  br label %14243

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

14244:                                            ; No predecessors!
  br label %14245

14245:                                            ; preds = %14244
  br label %14246

14246:                                            ; preds = %14245, %14187
  br label %14247

14247:                                            ; preds = %14246
  br label %14248

14248:                                            ; preds = %14247
  call void @llvm.lifetime.end.p0(i64 1, ptr %295) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %285) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %283) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %309) #11
  %14249 = call ptr @s2n_config_new()
  store ptr %14249, ptr %309, align 8, !tbaa !9
  br label %14250

14250:                                            ; preds = %14248
  %14251 = load i32, ptr @test_count, align 4, !tbaa !5
  %14252 = add nsw i32 %14251, 1
  store i32 %14252, ptr @test_count, align 4, !tbaa !5
  %14253 = load ptr, ptr %309, align 8, !tbaa !9
  %14254 = call i32 @s2n_config_set_early_data_cb(ptr noundef %14253, ptr noundef @s2n_test_async_early_data_cb)
  %14255 = icmp eq i32 %14254, -1
  br i1 %14255, label %14256, label %14309

14256:                                            ; preds = %14250
  br label %14257

14257:                                            ; preds = %14256
  br label %14258

14258:                                            ; preds = %14257
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %14259 = call ptr @__errno_location() #12
  %14260 = load i32, ptr %14259, align 4, !tbaa !5
  store i32 %14260, ptr %310, align 4, !tbaa !5
  %14261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14262 = call i32 @s2n_print_stacktrace(ptr noundef %14261)
  %14263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14264 = trunc i8 %14263 to i1
  br i1 %14264, label %14265, label %14287

14265:                                            ; preds = %14258
  %14266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14267 = call i32 @fileno(ptr noundef %14266) #11
  %14268 = call i32 @isatty(i32 noundef %14267) #11
  %14269 = icmp ne i32 %14268, 0
  br i1 %14269, label %14270, label %14287

14270:                                            ; preds = %14265
  %14271 = load i32, ptr %310, align 4, !tbaa !5
  %14272 = call ptr @__errno_location() #12
  store i32 %14271, ptr %14272, align 4, !tbaa !5
  %14273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14274 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14276, ptr noundef @.str.4)
  %14278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14279 = load i32, ptr %14278, align 4, !tbaa !5
  %14280 = call ptr @s2n_strerror_debug(i32 noundef %14279, ptr noundef @.str.4)
  %14281 = call ptr @__errno_location() #12
  %14282 = load i32, ptr %14281, align 4, !tbaa !5
  %14283 = call ptr @strerror(i32 noundef %14282) #11
  %14284 = call ptr @__errno_location() #12
  %14285 = load i32, ptr %14284, align 4, !tbaa !5
  %14286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14273, ptr noundef @.str.2, i32 noundef %14274, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 684, ptr noundef %14277, ptr noundef %14280, ptr noundef %14283, i32 noundef %14285) #11
  br label %14304

14287:                                            ; preds = %14265, %14258
  %14288 = load i32, ptr %310, align 4, !tbaa !5
  %14289 = call ptr @__errno_location() #12
  store i32 %14288, ptr %14289, align 4, !tbaa !5
  %14290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14291 = load i32, ptr @test_count, align 4, !tbaa !5
  %14292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14293 = load i32, ptr %14292, align 4, !tbaa !5
  %14294 = call ptr @s2n_strerror(i32 noundef %14293, ptr noundef @.str.4)
  %14295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14296 = load i32, ptr %14295, align 4, !tbaa !5
  %14297 = call ptr @s2n_strerror_debug(i32 noundef %14296, ptr noundef @.str.4)
  %14298 = call ptr @__errno_location() #12
  %14299 = load i32, ptr %14298, align 4, !tbaa !5
  %14300 = call ptr @strerror(i32 noundef %14299) #11
  %14301 = call ptr @__errno_location() #12
  %14302 = load i32, ptr %14301, align 4, !tbaa !5
  %14303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14290, ptr noundef @.str.5, i32 noundef %14291, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 684, ptr noundef %14294, ptr noundef %14297, ptr noundef %14300, i32 noundef %14302) #11
  br label %14304

14304:                                            ; preds = %14287, %14270
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %14305

14305:                                            ; preds = %14304
  br label %14306

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

14307:                                            ; No predecessors!
  br label %14308

14308:                                            ; preds = %14307
  br label %14309

14309:                                            ; preds = %14308, %14250
  br label %14310

14310:                                            ; preds = %14309
  br label %14311

14311:                                            ; preds = %14310
  br label %14312

14312:                                            ; preds = %14311
  %14313 = load i32, ptr @test_count, align 4, !tbaa !5
  %14314 = add nsw i32 %14313, 1
  store i32 %14314, ptr @test_count, align 4, !tbaa !5
  %14315 = load ptr, ptr %309, align 8, !tbaa !9
  %14316 = icmp eq ptr %14315, null
  br i1 %14316, label %14317, label %14370

14317:                                            ; preds = %14312
  br label %14318

14318:                                            ; preds = %14317
  br label %14319

14319:                                            ; preds = %14318
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %14320 = call ptr @__errno_location() #12
  %14321 = load i32, ptr %14320, align 4, !tbaa !5
  store i32 %14321, ptr %311, align 4, !tbaa !5
  %14322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14323 = call i32 @s2n_print_stacktrace(ptr noundef %14322)
  %14324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14325 = trunc i8 %14324 to i1
  br i1 %14325, label %14326, label %14348

14326:                                            ; preds = %14319
  %14327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14328 = call i32 @fileno(ptr noundef %14327) #11
  %14329 = call i32 @isatty(i32 noundef %14328) #11
  %14330 = icmp ne i32 %14329, 0
  br i1 %14330, label %14331, label %14348

14331:                                            ; preds = %14326
  %14332 = load i32, ptr %311, align 4, !tbaa !5
  %14333 = call ptr @__errno_location() #12
  store i32 %14332, ptr %14333, align 4, !tbaa !5
  %14334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14335 = load i32, ptr @test_count, align 4, !tbaa !5
  %14336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14337 = load i32, ptr %14336, align 4, !tbaa !5
  %14338 = call ptr @s2n_strerror(i32 noundef %14337, ptr noundef @.str.4)
  %14339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14340 = load i32, ptr %14339, align 4, !tbaa !5
  %14341 = call ptr @s2n_strerror_debug(i32 noundef %14340, ptr noundef @.str.4)
  %14342 = call ptr @__errno_location() #12
  %14343 = load i32, ptr %14342, align 4, !tbaa !5
  %14344 = call ptr @strerror(i32 noundef %14343) #11
  %14345 = call ptr @__errno_location() #12
  %14346 = load i32, ptr %14345, align 4, !tbaa !5
  %14347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14334, ptr noundef @.str.2, i32 noundef %14335, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 685, ptr noundef %14338, ptr noundef %14341, ptr noundef %14344, i32 noundef %14346) #11
  br label %14365

14348:                                            ; preds = %14326, %14319
  %14349 = load i32, ptr %311, align 4, !tbaa !5
  %14350 = call ptr @__errno_location() #12
  store i32 %14349, ptr %14350, align 4, !tbaa !5
  %14351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14352 = load i32, ptr @test_count, align 4, !tbaa !5
  %14353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14354 = load i32, ptr %14353, align 4, !tbaa !5
  %14355 = call ptr @s2n_strerror(i32 noundef %14354, ptr noundef @.str.4)
  %14356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14357 = load i32, ptr %14356, align 4, !tbaa !5
  %14358 = call ptr @s2n_strerror_debug(i32 noundef %14357, ptr noundef @.str.4)
  %14359 = call ptr @__errno_location() #12
  %14360 = load i32, ptr %14359, align 4, !tbaa !5
  %14361 = call ptr @strerror(i32 noundef %14360) #11
  %14362 = call ptr @__errno_location() #12
  %14363 = load i32, ptr %14362, align 4, !tbaa !5
  %14364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14351, ptr noundef @.str.5, i32 noundef %14352, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 685, ptr noundef %14355, ptr noundef %14358, ptr noundef %14361, i32 noundef %14363) #11
  br label %14365

14365:                                            ; preds = %14348, %14331
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %14366

14366:                                            ; preds = %14365
  br label %14367

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

14368:                                            ; No predecessors!
  br label %14369

14369:                                            ; preds = %14368
  br label %14370

14370:                                            ; preds = %14369, %14312
  br label %14371

14371:                                            ; preds = %14370
  br label %14372

14372:                                            ; preds = %14371
  call void @llvm.lifetime.start.p0(i64 8, ptr %312) #11
  %14373 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14373, ptr %312, align 8, !tbaa !9
  br label %14374

14374:                                            ; preds = %14372
  %14375 = load i32, ptr @test_count, align 4, !tbaa !5
  %14376 = add nsw i32 %14375, 1
  store i32 %14376, ptr @test_count, align 4, !tbaa !5
  %14377 = load ptr, ptr %312, align 8, !tbaa !9
  %14378 = icmp eq ptr %14377, null
  br i1 %14378, label %14379, label %14432

14379:                                            ; preds = %14374
  br label %14380

14380:                                            ; preds = %14379
  br label %14381

14381:                                            ; preds = %14380
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %14382 = call ptr @__errno_location() #12
  %14383 = load i32, ptr %14382, align 4, !tbaa !5
  store i32 %14383, ptr %313, align 4, !tbaa !5
  %14384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14385 = call i32 @s2n_print_stacktrace(ptr noundef %14384)
  %14386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14387 = trunc i8 %14386 to i1
  br i1 %14387, label %14388, label %14410

14388:                                            ; preds = %14381
  %14389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14390 = call i32 @fileno(ptr noundef %14389) #11
  %14391 = call i32 @isatty(i32 noundef %14390) #11
  %14392 = icmp ne i32 %14391, 0
  br i1 %14392, label %14393, label %14410

14393:                                            ; preds = %14388
  %14394 = load i32, ptr %313, align 4, !tbaa !5
  %14395 = call ptr @__errno_location() #12
  store i32 %14394, ptr %14395, align 4, !tbaa !5
  %14396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14397 = load i32, ptr @test_count, align 4, !tbaa !5
  %14398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14399 = load i32, ptr %14398, align 4, !tbaa !5
  %14400 = call ptr @s2n_strerror(i32 noundef %14399, ptr noundef @.str.4)
  %14401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14402 = load i32, ptr %14401, align 4, !tbaa !5
  %14403 = call ptr @s2n_strerror_debug(i32 noundef %14402, ptr noundef @.str.4)
  %14404 = call ptr @__errno_location() #12
  %14405 = load i32, ptr %14404, align 4, !tbaa !5
  %14406 = call ptr @strerror(i32 noundef %14405) #11
  %14407 = call ptr @__errno_location() #12
  %14408 = load i32, ptr %14407, align 4, !tbaa !5
  %14409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14396, ptr noundef @.str.2, i32 noundef %14397, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 688, ptr noundef %14400, ptr noundef %14403, ptr noundef %14406, i32 noundef %14408) #11
  br label %14427

14410:                                            ; preds = %14388, %14381
  %14411 = load i32, ptr %313, align 4, !tbaa !5
  %14412 = call ptr @__errno_location() #12
  store i32 %14411, ptr %14412, align 4, !tbaa !5
  %14413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14414 = load i32, ptr @test_count, align 4, !tbaa !5
  %14415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14416 = load i32, ptr %14415, align 4, !tbaa !5
  %14417 = call ptr @s2n_strerror(i32 noundef %14416, ptr noundef @.str.4)
  %14418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14419 = load i32, ptr %14418, align 4, !tbaa !5
  %14420 = call ptr @s2n_strerror_debug(i32 noundef %14419, ptr noundef @.str.4)
  %14421 = call ptr @__errno_location() #12
  %14422 = load i32, ptr %14421, align 4, !tbaa !5
  %14423 = call ptr @strerror(i32 noundef %14422) #11
  %14424 = call ptr @__errno_location() #12
  %14425 = load i32, ptr %14424, align 4, !tbaa !5
  %14426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14413, ptr noundef @.str.5, i32 noundef %14414, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 688, ptr noundef %14417, ptr noundef %14420, ptr noundef %14423, i32 noundef %14425) #11
  br label %14427

14427:                                            ; preds = %14410, %14393
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %14428

14428:                                            ; preds = %14427
  br label %14429

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

14430:                                            ; No predecessors!
  br label %14431

14431:                                            ; preds = %14430
  br label %14432

14432:                                            ; preds = %14431, %14374
  br label %14433

14433:                                            ; preds = %14432
  br label %14434

14434:                                            ; preds = %14433
  br label %14435

14435:                                            ; preds = %14434
  %14436 = load i32, ptr @test_count, align 4, !tbaa !5
  %14437 = add nsw i32 %14436, 1
  store i32 %14437, ptr @test_count, align 4, !tbaa !5
  %14438 = load ptr, ptr %312, align 8, !tbaa !9
  %14439 = load ptr, ptr %309, align 8, !tbaa !9
  %14440 = call i32 @s2n_connection_set_config(ptr noundef %14438, ptr noundef %14439)
  %14441 = icmp eq i32 %14440, -1
  br i1 %14441, label %14442, label %14495

14442:                                            ; preds = %14435
  br label %14443

14443:                                            ; preds = %14442
  br label %14444

14444:                                            ; preds = %14443
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %14445 = call ptr @__errno_location() #12
  %14446 = load i32, ptr %14445, align 4, !tbaa !5
  store i32 %14446, ptr %314, align 4, !tbaa !5
  %14447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14448 = call i32 @s2n_print_stacktrace(ptr noundef %14447)
  %14449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14450 = trunc i8 %14449 to i1
  br i1 %14450, label %14451, label %14473

14451:                                            ; preds = %14444
  %14452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14453 = call i32 @fileno(ptr noundef %14452) #11
  %14454 = call i32 @isatty(i32 noundef %14453) #11
  %14455 = icmp ne i32 %14454, 0
  br i1 %14455, label %14456, label %14473

14456:                                            ; preds = %14451
  %14457 = load i32, ptr %314, align 4, !tbaa !5
  %14458 = call ptr @__errno_location() #12
  store i32 %14457, ptr %14458, align 4, !tbaa !5
  %14459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14460 = load i32, ptr @test_count, align 4, !tbaa !5
  %14461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14462 = load i32, ptr %14461, align 4, !tbaa !5
  %14463 = call ptr @s2n_strerror(i32 noundef %14462, ptr noundef @.str.4)
  %14464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14465 = load i32, ptr %14464, align 4, !tbaa !5
  %14466 = call ptr @s2n_strerror_debug(i32 noundef %14465, ptr noundef @.str.4)
  %14467 = call ptr @__errno_location() #12
  %14468 = load i32, ptr %14467, align 4, !tbaa !5
  %14469 = call ptr @strerror(i32 noundef %14468) #11
  %14470 = call ptr @__errno_location() #12
  %14471 = load i32, ptr %14470, align 4, !tbaa !5
  %14472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14459, ptr noundef @.str.2, i32 noundef %14460, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 689, ptr noundef %14463, ptr noundef %14466, ptr noundef %14469, i32 noundef %14471) #11
  br label %14490

14473:                                            ; preds = %14451, %14444
  %14474 = load i32, ptr %314, align 4, !tbaa !5
  %14475 = call ptr @__errno_location() #12
  store i32 %14474, ptr %14475, align 4, !tbaa !5
  %14476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14477 = load i32, ptr @test_count, align 4, !tbaa !5
  %14478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14479 = load i32, ptr %14478, align 4, !tbaa !5
  %14480 = call ptr @s2n_strerror(i32 noundef %14479, ptr noundef @.str.4)
  %14481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14482 = load i32, ptr %14481, align 4, !tbaa !5
  %14483 = call ptr @s2n_strerror_debug(i32 noundef %14482, ptr noundef @.str.4)
  %14484 = call ptr @__errno_location() #12
  %14485 = load i32, ptr %14484, align 4, !tbaa !5
  %14486 = call ptr @strerror(i32 noundef %14485) #11
  %14487 = call ptr @__errno_location() #12
  %14488 = load i32, ptr %14487, align 4, !tbaa !5
  %14489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14476, ptr noundef @.str.5, i32 noundef %14477, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 689, ptr noundef %14480, ptr noundef %14483, ptr noundef %14486, i32 noundef %14488) #11
  br label %14490

14490:                                            ; preds = %14473, %14456
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %14491

14491:                                            ; preds = %14490
  br label %14492

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

14493:                                            ; No predecessors!
  br label %14494

14494:                                            ; preds = %14493
  br label %14495

14495:                                            ; preds = %14494, %14435
  br label %14496

14496:                                            ; preds = %14495
  br label %14497

14497:                                            ; preds = %14496
  br label %14498

14498:                                            ; preds = %14497
  %14499 = load i32, ptr @test_count, align 4, !tbaa !5
  %14500 = add nsw i32 %14499, 1
  store i32 %14500, ptr @test_count, align 4, !tbaa !5
  %14501 = load ptr, ptr %312, align 8, !tbaa !9
  %14502 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %14501, ptr noundef @.str.84)
  %14503 = icmp eq i32 %14502, -1
  br i1 %14503, label %14504, label %14557

14504:                                            ; preds = %14498
  br label %14505

14505:                                            ; preds = %14504
  br label %14506

14506:                                            ; preds = %14505
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %14507 = call ptr @__errno_location() #12
  %14508 = load i32, ptr %14507, align 4, !tbaa !5
  store i32 %14508, ptr %315, align 4, !tbaa !5
  %14509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14510 = call i32 @s2n_print_stacktrace(ptr noundef %14509)
  %14511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14512 = trunc i8 %14511 to i1
  br i1 %14512, label %14513, label %14535

14513:                                            ; preds = %14506
  %14514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14515 = call i32 @fileno(ptr noundef %14514) #11
  %14516 = call i32 @isatty(i32 noundef %14515) #11
  %14517 = icmp ne i32 %14516, 0
  br i1 %14517, label %14518, label %14535

14518:                                            ; preds = %14513
  %14519 = load i32, ptr %315, align 4, !tbaa !5
  %14520 = call ptr @__errno_location() #12
  store i32 %14519, ptr %14520, align 4, !tbaa !5
  %14521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14522 = load i32, ptr @test_count, align 4, !tbaa !5
  %14523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14524 = load i32, ptr %14523, align 4, !tbaa !5
  %14525 = call ptr @s2n_strerror(i32 noundef %14524, ptr noundef @.str.4)
  %14526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14527 = load i32, ptr %14526, align 4, !tbaa !5
  %14528 = call ptr @s2n_strerror_debug(i32 noundef %14527, ptr noundef @.str.4)
  %14529 = call ptr @__errno_location() #12
  %14530 = load i32, ptr %14529, align 4, !tbaa !5
  %14531 = call ptr @strerror(i32 noundef %14530) #11
  %14532 = call ptr @__errno_location() #12
  %14533 = load i32, ptr %14532, align 4, !tbaa !5
  %14534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14521, ptr noundef @.str.2, i32 noundef %14522, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 690, ptr noundef %14525, ptr noundef %14528, ptr noundef %14531, i32 noundef %14533) #11
  br label %14552

14535:                                            ; preds = %14513, %14506
  %14536 = load i32, ptr %315, align 4, !tbaa !5
  %14537 = call ptr @__errno_location() #12
  store i32 %14536, ptr %14537, align 4, !tbaa !5
  %14538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14539 = load i32, ptr @test_count, align 4, !tbaa !5
  %14540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14541 = load i32, ptr %14540, align 4, !tbaa !5
  %14542 = call ptr @s2n_strerror(i32 noundef %14541, ptr noundef @.str.4)
  %14543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14544 = load i32, ptr %14543, align 4, !tbaa !5
  %14545 = call ptr @s2n_strerror_debug(i32 noundef %14544, ptr noundef @.str.4)
  %14546 = call ptr @__errno_location() #12
  %14547 = load i32, ptr %14546, align 4, !tbaa !5
  %14548 = call ptr @strerror(i32 noundef %14547) #11
  %14549 = call ptr @__errno_location() #12
  %14550 = load i32, ptr %14549, align 4, !tbaa !5
  %14551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14538, ptr noundef @.str.5, i32 noundef %14539, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 690, ptr noundef %14542, ptr noundef %14545, ptr noundef %14548, i32 noundef %14550) #11
  br label %14552

14552:                                            ; preds = %14535, %14518
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %14553

14553:                                            ; preds = %14552
  br label %14554

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

14555:                                            ; No predecessors!
  br label %14556

14556:                                            ; preds = %14555
  br label %14557

14557:                                            ; preds = %14556, %14498
  br label %14558

14558:                                            ; preds = %14557
  br label %14559

14559:                                            ; preds = %14558
  br label %14560

14560:                                            ; preds = %14559
  %14561 = load i32, ptr @test_count, align 4, !tbaa !5
  %14562 = add nsw i32 %14561, 1
  store i32 %14562, ptr @test_count, align 4, !tbaa !5
  %14563 = load ptr, ptr %312, align 8, !tbaa !9
  %14564 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %14563, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %14565 = getelementptr inbounds %struct.s2n_result, ptr %316, i32 0, i32 0
  store i32 %14564, ptr %14565, align 4
  %14566 = getelementptr inbounds %struct.s2n_result, ptr %316, i32 0, i32 0
  %14567 = load i32, ptr %14566, align 4
  %14568 = call zeroext i1 @s2n_result_is_ok(i32 %14567)
  br i1 %14568, label %14622, label %14569

14569:                                            ; preds = %14560
  br label %14570

14570:                                            ; preds = %14569
  br label %14571

14571:                                            ; preds = %14570
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %14572 = call ptr @__errno_location() #12
  %14573 = load i32, ptr %14572, align 4, !tbaa !5
  store i32 %14573, ptr %317, align 4, !tbaa !5
  %14574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14575 = call i32 @s2n_print_stacktrace(ptr noundef %14574)
  %14576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14577 = trunc i8 %14576 to i1
  br i1 %14577, label %14578, label %14600

14578:                                            ; preds = %14571
  %14579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14580 = call i32 @fileno(ptr noundef %14579) #11
  %14581 = call i32 @isatty(i32 noundef %14580) #11
  %14582 = icmp ne i32 %14581, 0
  br i1 %14582, label %14583, label %14600

14583:                                            ; preds = %14578
  %14584 = load i32, ptr %317, align 4, !tbaa !5
  %14585 = call ptr @__errno_location() #12
  store i32 %14584, ptr %14585, align 4, !tbaa !5
  %14586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14587 = load i32, ptr @test_count, align 4, !tbaa !5
  %14588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14589 = load i32, ptr %14588, align 4, !tbaa !5
  %14590 = call ptr @s2n_strerror(i32 noundef %14589, ptr noundef @.str.4)
  %14591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14592 = load i32, ptr %14591, align 4, !tbaa !5
  %14593 = call ptr @s2n_strerror_debug(i32 noundef %14592, ptr noundef @.str.4)
  %14594 = call ptr @__errno_location() #12
  %14595 = load i32, ptr %14594, align 4, !tbaa !5
  %14596 = call ptr @strerror(i32 noundef %14595) #11
  %14597 = call ptr @__errno_location() #12
  %14598 = load i32, ptr %14597, align 4, !tbaa !5
  %14599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14586, ptr noundef @.str.2, i32 noundef %14587, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 691, ptr noundef %14590, ptr noundef %14593, ptr noundef %14596, i32 noundef %14598) #11
  br label %14617

14600:                                            ; preds = %14578, %14571
  %14601 = load i32, ptr %317, align 4, !tbaa !5
  %14602 = call ptr @__errno_location() #12
  store i32 %14601, ptr %14602, align 4, !tbaa !5
  %14603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14604 = load i32, ptr @test_count, align 4, !tbaa !5
  %14605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14606 = load i32, ptr %14605, align 4, !tbaa !5
  %14607 = call ptr @s2n_strerror(i32 noundef %14606, ptr noundef @.str.4)
  %14608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14609 = load i32, ptr %14608, align 4, !tbaa !5
  %14610 = call ptr @s2n_strerror_debug(i32 noundef %14609, ptr noundef @.str.4)
  %14611 = call ptr @__errno_location() #12
  %14612 = load i32, ptr %14611, align 4, !tbaa !5
  %14613 = call ptr @strerror(i32 noundef %14612) #11
  %14614 = call ptr @__errno_location() #12
  %14615 = load i32, ptr %14614, align 4, !tbaa !5
  %14616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14603, ptr noundef @.str.5, i32 noundef %14604, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 691, ptr noundef %14607, ptr noundef %14610, ptr noundef %14613, i32 noundef %14615) #11
  br label %14617

14617:                                            ; preds = %14600, %14583
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %14618

14618:                                            ; preds = %14617
  br label %14619

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

14620:                                            ; No predecessors!
  br label %14621

14621:                                            ; preds = %14620
  br label %14622

14622:                                            ; preds = %14621, %14560
  br label %14623

14623:                                            ; preds = %14622
  br label %14624

14624:                                            ; preds = %14623
  br label %14625

14625:                                            ; preds = %14624
  %14626 = load i32, ptr @test_count, align 4, !tbaa !5
  %14627 = add nsw i32 %14626, 1
  store i32 %14627, ptr @test_count, align 4, !tbaa !5
  %14628 = load ptr, ptr %312, align 8, !tbaa !9
  %14629 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %14628)
  %14630 = icmp eq i32 %14629, -1
  br i1 %14630, label %14631, label %14684

14631:                                            ; preds = %14625
  br label %14632

14632:                                            ; preds = %14631
  br label %14633

14633:                                            ; preds = %14632
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %14634 = call ptr @__errno_location() #12
  %14635 = load i32, ptr %14634, align 4, !tbaa !5
  store i32 %14635, ptr %318, align 4, !tbaa !5
  %14636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14637 = call i32 @s2n_print_stacktrace(ptr noundef %14636)
  %14638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14639 = trunc i8 %14638 to i1
  br i1 %14639, label %14640, label %14662

14640:                                            ; preds = %14633
  %14641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14642 = call i32 @fileno(ptr noundef %14641) #11
  %14643 = call i32 @isatty(i32 noundef %14642) #11
  %14644 = icmp ne i32 %14643, 0
  br i1 %14644, label %14645, label %14662

14645:                                            ; preds = %14640
  %14646 = load i32, ptr %318, align 4, !tbaa !5
  %14647 = call ptr @__errno_location() #12
  store i32 %14646, ptr %14647, align 4, !tbaa !5
  %14648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14649 = load i32, ptr @test_count, align 4, !tbaa !5
  %14650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14651 = load i32, ptr %14650, align 4, !tbaa !5
  %14652 = call ptr @s2n_strerror(i32 noundef %14651, ptr noundef @.str.4)
  %14653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14654 = load i32, ptr %14653, align 4, !tbaa !5
  %14655 = call ptr @s2n_strerror_debug(i32 noundef %14654, ptr noundef @.str.4)
  %14656 = call ptr @__errno_location() #12
  %14657 = load i32, ptr %14656, align 4, !tbaa !5
  %14658 = call ptr @strerror(i32 noundef %14657) #11
  %14659 = call ptr @__errno_location() #12
  %14660 = load i32, ptr %14659, align 4, !tbaa !5
  %14661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14648, ptr noundef @.str.2, i32 noundef %14649, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 692, ptr noundef %14652, ptr noundef %14655, ptr noundef %14658, i32 noundef %14660) #11
  br label %14679

14662:                                            ; preds = %14640, %14633
  %14663 = load i32, ptr %318, align 4, !tbaa !5
  %14664 = call ptr @__errno_location() #12
  store i32 %14663, ptr %14664, align 4, !tbaa !5
  %14665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14666 = load i32, ptr @test_count, align 4, !tbaa !5
  %14667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14668 = load i32, ptr %14667, align 4, !tbaa !5
  %14669 = call ptr @s2n_strerror(i32 noundef %14668, ptr noundef @.str.4)
  %14670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14671 = load i32, ptr %14670, align 4, !tbaa !5
  %14672 = call ptr @s2n_strerror_debug(i32 noundef %14671, ptr noundef @.str.4)
  %14673 = call ptr @__errno_location() #12
  %14674 = load i32, ptr %14673, align 4, !tbaa !5
  %14675 = call ptr @strerror(i32 noundef %14674) #11
  %14676 = call ptr @__errno_location() #12
  %14677 = load i32, ptr %14676, align 4, !tbaa !5
  %14678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14665, ptr noundef @.str.5, i32 noundef %14666, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 692, ptr noundef %14669, ptr noundef %14672, ptr noundef %14675, i32 noundef %14677) #11
  br label %14679

14679:                                            ; preds = %14662, %14645
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %14680

14680:                                            ; preds = %14679
  br label %14681

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

14682:                                            ; No predecessors!
  br label %14683

14683:                                            ; preds = %14682
  br label %14684

14684:                                            ; preds = %14683, %14625
  br label %14685

14685:                                            ; preds = %14684
  br label %14686

14686:                                            ; preds = %14685
  %14687 = load ptr, ptr %312, align 8, !tbaa !9
  %14688 = getelementptr inbounds %struct.s2n_connection, ptr %14687, i32 0, i32 27
  %14689 = load ptr, ptr %14688, align 8, !tbaa !63
  %14690 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %14689, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %14690, align 8, !tbaa !64
  br label %14691

14691:                                            ; preds = %14686
  %14692 = load i32, ptr @test_count, align 4, !tbaa !5
  %14693 = add nsw i32 %14692, 1
  store i32 %14693, ptr @test_count, align 4, !tbaa !5
  %14694 = load ptr, ptr %312, align 8, !tbaa !9
  %14695 = call i32 @s2n_conn_choose_state_machine(ptr noundef %14694, i8 noundef zeroext 34)
  %14696 = getelementptr inbounds %struct.s2n_result, ptr %319, i32 0, i32 0
  store i32 %14695, ptr %14696, align 4
  %14697 = getelementptr inbounds %struct.s2n_result, ptr %319, i32 0, i32 0
  %14698 = load i32, ptr %14697, align 4
  %14699 = call zeroext i1 @s2n_result_is_ok(i32 %14698)
  br i1 %14699, label %14753, label %14700

14700:                                            ; preds = %14691
  br label %14701

14701:                                            ; preds = %14700
  br label %14702

14702:                                            ; preds = %14701
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #11
  %14703 = call ptr @__errno_location() #12
  %14704 = load i32, ptr %14703, align 4, !tbaa !5
  store i32 %14704, ptr %320, align 4, !tbaa !5
  %14705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14706 = call i32 @s2n_print_stacktrace(ptr noundef %14705)
  %14707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14708 = trunc i8 %14707 to i1
  br i1 %14708, label %14709, label %14731

14709:                                            ; preds = %14702
  %14710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14711 = call i32 @fileno(ptr noundef %14710) #11
  %14712 = call i32 @isatty(i32 noundef %14711) #11
  %14713 = icmp ne i32 %14712, 0
  br i1 %14713, label %14714, label %14731

14714:                                            ; preds = %14709
  %14715 = load i32, ptr %320, align 4, !tbaa !5
  %14716 = call ptr @__errno_location() #12
  store i32 %14715, ptr %14716, align 4, !tbaa !5
  %14717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14718 = load i32, ptr @test_count, align 4, !tbaa !5
  %14719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14720 = load i32, ptr %14719, align 4, !tbaa !5
  %14721 = call ptr @s2n_strerror(i32 noundef %14720, ptr noundef @.str.4)
  %14722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14723 = load i32, ptr %14722, align 4, !tbaa !5
  %14724 = call ptr @s2n_strerror_debug(i32 noundef %14723, ptr noundef @.str.4)
  %14725 = call ptr @__errno_location() #12
  %14726 = load i32, ptr %14725, align 4, !tbaa !5
  %14727 = call ptr @strerror(i32 noundef %14726) #11
  %14728 = call ptr @__errno_location() #12
  %14729 = load i32, ptr %14728, align 4, !tbaa !5
  %14730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14717, ptr noundef @.str.2, i32 noundef %14718, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 694, ptr noundef %14721, ptr noundef %14724, ptr noundef %14727, i32 noundef %14729) #11
  br label %14748

14731:                                            ; preds = %14709, %14702
  %14732 = load i32, ptr %320, align 4, !tbaa !5
  %14733 = call ptr @__errno_location() #12
  store i32 %14732, ptr %14733, align 4, !tbaa !5
  %14734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14735 = load i32, ptr @test_count, align 4, !tbaa !5
  %14736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14737 = load i32, ptr %14736, align 4, !tbaa !5
  %14738 = call ptr @s2n_strerror(i32 noundef %14737, ptr noundef @.str.4)
  %14739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14740 = load i32, ptr %14739, align 4, !tbaa !5
  %14741 = call ptr @s2n_strerror_debug(i32 noundef %14740, ptr noundef @.str.4)
  %14742 = call ptr @__errno_location() #12
  %14743 = load i32, ptr %14742, align 4, !tbaa !5
  %14744 = call ptr @strerror(i32 noundef %14743) #11
  %14745 = call ptr @__errno_location() #12
  %14746 = load i32, ptr %14745, align 4, !tbaa !5
  %14747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14734, ptr noundef @.str.5, i32 noundef %14735, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 694, ptr noundef %14738, ptr noundef %14741, ptr noundef %14744, i32 noundef %14746) #11
  br label %14748

14748:                                            ; preds = %14731, %14714
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #11
  br label %14749

14749:                                            ; preds = %14748
  br label %14750

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

14751:                                            ; No predecessors!
  br label %14752

14752:                                            ; preds = %14751
  br label %14753

14753:                                            ; preds = %14752, %14691
  br label %14754

14754:                                            ; preds = %14753
  br label %14755

14755:                                            ; preds = %14754
  %14756 = load ptr, ptr %312, align 8, !tbaa !9
  %14757 = getelementptr inbounds %struct.s2n_connection, ptr %14756, i32 0, i32 23
  store i8 34, ptr %14757, align 4, !tbaa !69
  %14758 = load ptr, ptr %312, align 8, !tbaa !9
  %14759 = getelementptr inbounds %struct.s2n_connection, ptr %14758, i32 0, i32 89
  store i32 1, ptr %14759, align 8, !tbaa !15
  br label %14760

14760:                                            ; preds = %14755
  br label %14761

14761:                                            ; preds = %14760
  br label %14762

14762:                                            ; preds = %14761
  %14763 = load i32, ptr @test_count, align 4, !tbaa !5
  %14764 = add nsw i32 %14763, 1
  store i32 %14764, ptr @test_count, align 4, !tbaa !5
  %14765 = load ptr, ptr %312, align 8, !tbaa !9
  %14766 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %14765)
  %14767 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  store i32 %14766, ptr %14767, align 4
  %14768 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  %14769 = load i32, ptr %14768, align 4
  %14770 = call zeroext i1 @s2n_result_is_error(i32 %14769)
  br i1 %14770, label %14824, label %14771

14771:                                            ; preds = %14762
  br label %14772

14772:                                            ; preds = %14771
  br label %14773

14773:                                            ; preds = %14772
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %14774 = call ptr @__errno_location() #12
  %14775 = load i32, ptr %14774, align 4, !tbaa !5
  store i32 %14775, ptr %322, align 4, !tbaa !5
  %14776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14777 = call i32 @s2n_print_stacktrace(ptr noundef %14776)
  %14778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14779 = trunc i8 %14778 to i1
  br i1 %14779, label %14780, label %14802

14780:                                            ; preds = %14773
  %14781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14782 = call i32 @fileno(ptr noundef %14781) #11
  %14783 = call i32 @isatty(i32 noundef %14782) #11
  %14784 = icmp ne i32 %14783, 0
  br i1 %14784, label %14785, label %14802

14785:                                            ; preds = %14780
  %14786 = load i32, ptr %322, align 4, !tbaa !5
  %14787 = call ptr @__errno_location() #12
  store i32 %14786, ptr %14787, align 4, !tbaa !5
  %14788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14789 = load i32, ptr @test_count, align 4, !tbaa !5
  %14790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14791 = load i32, ptr %14790, align 4, !tbaa !5
  %14792 = call ptr @s2n_strerror(i32 noundef %14791, ptr noundef @.str.4)
  %14793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14794 = load i32, ptr %14793, align 4, !tbaa !5
  %14795 = call ptr @s2n_strerror_debug(i32 noundef %14794, ptr noundef @.str.4)
  %14796 = call ptr @__errno_location() #12
  %14797 = load i32, ptr %14796, align 4, !tbaa !5
  %14798 = call ptr @strerror(i32 noundef %14797) #11
  %14799 = call ptr @__errno_location() #12
  %14800 = load i32, ptr %14799, align 4, !tbaa !5
  %14801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14788, ptr noundef @.str.2, i32 noundef %14789, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 699, ptr noundef %14792, ptr noundef %14795, ptr noundef %14798, i32 noundef %14800) #11
  br label %14819

14802:                                            ; preds = %14780, %14773
  %14803 = load i32, ptr %322, align 4, !tbaa !5
  %14804 = call ptr @__errno_location() #12
  store i32 %14803, ptr %14804, align 4, !tbaa !5
  %14805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14806 = load i32, ptr @test_count, align 4, !tbaa !5
  %14807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14808 = load i32, ptr %14807, align 4, !tbaa !5
  %14809 = call ptr @s2n_strerror(i32 noundef %14808, ptr noundef @.str.4)
  %14810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14811 = load i32, ptr %14810, align 4, !tbaa !5
  %14812 = call ptr @s2n_strerror_debug(i32 noundef %14811, ptr noundef @.str.4)
  %14813 = call ptr @__errno_location() #12
  %14814 = load i32, ptr %14813, align 4, !tbaa !5
  %14815 = call ptr @strerror(i32 noundef %14814) #11
  %14816 = call ptr @__errno_location() #12
  %14817 = load i32, ptr %14816, align 4, !tbaa !5
  %14818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14805, ptr noundef @.str.5, i32 noundef %14806, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 699, ptr noundef %14809, ptr noundef %14812, ptr noundef %14815, i32 noundef %14817) #11
  br label %14819

14819:                                            ; preds = %14802, %14785
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %14820

14820:                                            ; preds = %14819
  br label %14821

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

14822:                                            ; No predecessors!
  br label %14823

14823:                                            ; preds = %14822
  br label %14824

14824:                                            ; preds = %14823, %14762
  br label %14825

14825:                                            ; preds = %14824
  br label %14826

14826:                                            ; preds = %14825
  br label %14827

14827:                                            ; preds = %14826
  %14828 = load i32, ptr @test_count, align 4, !tbaa !5
  %14829 = add nsw i32 %14828, 1
  store i32 %14829, ptr @test_count, align 4, !tbaa !5
  %14830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14831 = load i32, ptr %14830, align 4, !tbaa !5
  %14832 = icmp eq i32 %14831, 201326593
  br i1 %14832, label %14886, label %14833

14833:                                            ; preds = %14827
  br label %14834

14834:                                            ; preds = %14833
  br label %14835

14835:                                            ; preds = %14834
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %14836 = call ptr @__errno_location() #12
  %14837 = load i32, ptr %14836, align 4, !tbaa !5
  store i32 %14837, ptr %323, align 4, !tbaa !5
  %14838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14839 = call i32 @s2n_print_stacktrace(ptr noundef %14838)
  %14840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14841 = trunc i8 %14840 to i1
  br i1 %14841, label %14842, label %14864

14842:                                            ; preds = %14835
  %14843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14844 = call i32 @fileno(ptr noundef %14843) #11
  %14845 = call i32 @isatty(i32 noundef %14844) #11
  %14846 = icmp ne i32 %14845, 0
  br i1 %14846, label %14847, label %14864

14847:                                            ; preds = %14842
  %14848 = load i32, ptr %323, align 4, !tbaa !5
  %14849 = call ptr @__errno_location() #12
  store i32 %14848, ptr %14849, align 4, !tbaa !5
  %14850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14851 = load i32, ptr @test_count, align 4, !tbaa !5
  %14852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14853 = load i32, ptr %14852, align 4, !tbaa !5
  %14854 = call ptr @s2n_strerror(i32 noundef %14853, ptr noundef @.str.4)
  %14855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14856 = load i32, ptr %14855, align 4, !tbaa !5
  %14857 = call ptr @s2n_strerror_debug(i32 noundef %14856, ptr noundef @.str.4)
  %14858 = call ptr @__errno_location() #12
  %14859 = load i32, ptr %14858, align 4, !tbaa !5
  %14860 = call ptr @strerror(i32 noundef %14859) #11
  %14861 = call ptr @__errno_location() #12
  %14862 = load i32, ptr %14861, align 4, !tbaa !5
  %14863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14850, ptr noundef @.str.2, i32 noundef %14851, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 699, ptr noundef %14854, ptr noundef %14857, ptr noundef %14860, i32 noundef %14862) #11
  br label %14881

14864:                                            ; preds = %14842, %14835
  %14865 = load i32, ptr %323, align 4, !tbaa !5
  %14866 = call ptr @__errno_location() #12
  store i32 %14865, ptr %14866, align 4, !tbaa !5
  %14867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14868 = load i32, ptr @test_count, align 4, !tbaa !5
  %14869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14870 = load i32, ptr %14869, align 4, !tbaa !5
  %14871 = call ptr @s2n_strerror(i32 noundef %14870, ptr noundef @.str.4)
  %14872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14873 = load i32, ptr %14872, align 4, !tbaa !5
  %14874 = call ptr @s2n_strerror_debug(i32 noundef %14873, ptr noundef @.str.4)
  %14875 = call ptr @__errno_location() #12
  %14876 = load i32, ptr %14875, align 4, !tbaa !5
  %14877 = call ptr @strerror(i32 noundef %14876) #11
  %14878 = call ptr @__errno_location() #12
  %14879 = load i32, ptr %14878, align 4, !tbaa !5
  %14880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14867, ptr noundef @.str.5, i32 noundef %14868, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 699, ptr noundef %14871, ptr noundef %14874, ptr noundef %14877, i32 noundef %14879) #11
  br label %14881

14881:                                            ; preds = %14864, %14847
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %14882

14882:                                            ; preds = %14881
  br label %14883

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

14884:                                            ; No predecessors!
  br label %14885

14885:                                            ; preds = %14884
  br label %14886

14886:                                            ; preds = %14885, %14827
  br label %14887

14887:                                            ; preds = %14886
  br label %14888

14888:                                            ; preds = %14887
  br label %14889

14889:                                            ; preds = %14888
  %14890 = load i32, ptr @test_count, align 4, !tbaa !5
  %14891 = add nsw i32 %14890, 1
  store i32 %14891, ptr @test_count, align 4, !tbaa !5
  %14892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14893 = load i32, ptr %14892, align 4, !tbaa !5
  %14894 = call ptr @s2n_strerror_debug(i32 noundef %14893, ptr noundef @.str.4)
  %14895 = icmp eq ptr %14894, null
  br i1 %14895, label %14896, label %14949

14896:                                            ; preds = %14889
  br label %14897

14897:                                            ; preds = %14896
  br label %14898

14898:                                            ; preds = %14897
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %14899 = call ptr @__errno_location() #12
  %14900 = load i32, ptr %14899, align 4, !tbaa !5
  store i32 %14900, ptr %324, align 4, !tbaa !5
  %14901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14902 = call i32 @s2n_print_stacktrace(ptr noundef %14901)
  %14903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14904 = trunc i8 %14903 to i1
  br i1 %14904, label %14905, label %14927

14905:                                            ; preds = %14898
  %14906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14907 = call i32 @fileno(ptr noundef %14906) #11
  %14908 = call i32 @isatty(i32 noundef %14907) #11
  %14909 = icmp ne i32 %14908, 0
  br i1 %14909, label %14910, label %14927

14910:                                            ; preds = %14905
  %14911 = load i32, ptr %324, align 4, !tbaa !5
  %14912 = call ptr @__errno_location() #12
  store i32 %14911, ptr %14912, align 4, !tbaa !5
  %14913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14914 = load i32, ptr @test_count, align 4, !tbaa !5
  %14915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14916 = load i32, ptr %14915, align 4, !tbaa !5
  %14917 = call ptr @s2n_strerror(i32 noundef %14916, ptr noundef @.str.4)
  %14918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14919 = load i32, ptr %14918, align 4, !tbaa !5
  %14920 = call ptr @s2n_strerror_debug(i32 noundef %14919, ptr noundef @.str.4)
  %14921 = call ptr @__errno_location() #12
  %14922 = load i32, ptr %14921, align 4, !tbaa !5
  %14923 = call ptr @strerror(i32 noundef %14922) #11
  %14924 = call ptr @__errno_location() #12
  %14925 = load i32, ptr %14924, align 4, !tbaa !5
  %14926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14913, ptr noundef @.str.2, i32 noundef %14914, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 699, ptr noundef %14917, ptr noundef %14920, ptr noundef %14923, i32 noundef %14925) #11
  br label %14944

14927:                                            ; preds = %14905, %14898
  %14928 = load i32, ptr %324, align 4, !tbaa !5
  %14929 = call ptr @__errno_location() #12
  store i32 %14928, ptr %14929, align 4, !tbaa !5
  %14930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14931 = load i32, ptr @test_count, align 4, !tbaa !5
  %14932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14933 = load i32, ptr %14932, align 4, !tbaa !5
  %14934 = call ptr @s2n_strerror(i32 noundef %14933, ptr noundef @.str.4)
  %14935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14936 = load i32, ptr %14935, align 4, !tbaa !5
  %14937 = call ptr @s2n_strerror_debug(i32 noundef %14936, ptr noundef @.str.4)
  %14938 = call ptr @__errno_location() #12
  %14939 = load i32, ptr %14938, align 4, !tbaa !5
  %14940 = call ptr @strerror(i32 noundef %14939) #11
  %14941 = call ptr @__errno_location() #12
  %14942 = load i32, ptr %14941, align 4, !tbaa !5
  %14943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14930, ptr noundef @.str.5, i32 noundef %14931, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 699, ptr noundef %14934, ptr noundef %14937, ptr noundef %14940, i32 noundef %14942) #11
  br label %14944

14944:                                            ; preds = %14927, %14910
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  br label %14945

14945:                                            ; preds = %14944
  br label %14946

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

14947:                                            ; No predecessors!
  br label %14948

14948:                                            ; preds = %14947
  br label %14949

14949:                                            ; preds = %14948, %14889
  br label %14950

14950:                                            ; preds = %14949
  br label %14951

14951:                                            ; preds = %14950
  br label %14952

14952:                                            ; preds = %14951
  br label %14953

14953:                                            ; preds = %14952
  br label %14954

14954:                                            ; preds = %14953
  %14955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14955, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14956 = call ptr @__errno_location() #12
  store i32 0, ptr %14956, align 4, !tbaa !5
  br label %14957

14957:                                            ; preds = %14954
  br label %14958

14958:                                            ; preds = %14957
  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 = load ptr, ptr %312, align 8, !tbaa !9
  %14965 = getelementptr inbounds %struct.s2n_connection, ptr %14964, i32 0, i32 89
  %14966 = load i32, ptr %14965, align 8, !tbaa !15
  %14967 = icmp eq i32 %14966, 1
  br i1 %14967, label %15021, label %14968

14968:                                            ; preds = %14961
  br label %14969

14969:                                            ; preds = %14968
  br label %14970

14970:                                            ; preds = %14969
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %14971 = call ptr @__errno_location() #12
  %14972 = load i32, ptr %14971, align 4, !tbaa !5
  store i32 %14972, ptr %325, align 4, !tbaa !5
  %14973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14974 = call i32 @s2n_print_stacktrace(ptr noundef %14973)
  %14975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14976 = trunc i8 %14975 to i1
  br i1 %14976, label %14977, label %14999

14977:                                            ; preds = %14970
  %14978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14979 = call i32 @fileno(ptr noundef %14978) #11
  %14980 = call i32 @isatty(i32 noundef %14979) #11
  %14981 = icmp ne i32 %14980, 0
  br i1 %14981, label %14982, label %14999

14982:                                            ; preds = %14977
  %14983 = load i32, ptr %325, align 4, !tbaa !5
  %14984 = call ptr @__errno_location() #12
  store i32 %14983, ptr %14984, align 4, !tbaa !5
  %14985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14986 = load i32, ptr @test_count, align 4, !tbaa !5
  %14987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14988 = load i32, ptr %14987, align 4, !tbaa !5
  %14989 = call ptr @s2n_strerror(i32 noundef %14988, ptr noundef @.str.4)
  %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_debug(i32 noundef %14991, ptr noundef @.str.4)
  %14993 = call ptr @__errno_location() #12
  %14994 = load i32, ptr %14993, align 4, !tbaa !5
  %14995 = call ptr @strerror(i32 noundef %14994) #11
  %14996 = call ptr @__errno_location() #12
  %14997 = load i32, ptr %14996, align 4, !tbaa !5
  %14998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14985, ptr noundef @.str.2, i32 noundef %14986, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 700, ptr noundef %14989, ptr noundef %14992, ptr noundef %14995, i32 noundef %14997) #11
  br label %15016

14999:                                            ; preds = %14977, %14970
  %15000 = load i32, ptr %325, align 4, !tbaa !5
  %15001 = call ptr @__errno_location() #12
  store i32 %15000, ptr %15001, align 4, !tbaa !5
  %15002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15003 = load i32, ptr @test_count, align 4, !tbaa !5
  %15004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15005 = load i32, ptr %15004, align 4, !tbaa !5
  %15006 = call ptr @s2n_strerror(i32 noundef %15005, ptr noundef @.str.4)
  %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_debug(i32 noundef %15008, ptr noundef @.str.4)
  %15010 = call ptr @__errno_location() #12
  %15011 = load i32, ptr %15010, align 4, !tbaa !5
  %15012 = call ptr @strerror(i32 noundef %15011) #11
  %15013 = call ptr @__errno_location() #12
  %15014 = load i32, ptr %15013, align 4, !tbaa !5
  %15015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15002, ptr noundef @.str.5, i32 noundef %15003, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 700, ptr noundef %15006, ptr noundef %15009, ptr noundef %15012, i32 noundef %15014) #11
  br label %15016

15016:                                            ; preds = %14999, %14982
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %15017

15017:                                            ; preds = %15016
  br label %15018

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

15019:                                            ; No predecessors!
  br label %15020

15020:                                            ; preds = %15019
  br label %15021

15021:                                            ; preds = %15020, %14961
  br label %15022

15022:                                            ; preds = %15021
  br label %15023

15023:                                            ; preds = %15022
  br label %15024

15024:                                            ; preds = %15023
  br label %15025

15025:                                            ; preds = %15024
  br label %15026

15026:                                            ; preds = %15025
  %15027 = load i32, ptr @test_count, align 4, !tbaa !5
  %15028 = add nsw i32 %15027, 1
  store i32 %15028, ptr @test_count, align 4, !tbaa !5
  %15029 = load ptr, ptr %312, align 8, !tbaa !9
  %15030 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %15029)
  %15031 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  store i32 %15030, ptr %15031, align 4
  %15032 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  %15033 = load i32, ptr %15032, align 4
  %15034 = call zeroext i1 @s2n_result_is_error(i32 %15033)
  br i1 %15034, label %15088, label %15035

15035:                                            ; preds = %15026
  br label %15036

15036:                                            ; preds = %15035
  br label %15037

15037:                                            ; preds = %15036
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %15038 = call ptr @__errno_location() #12
  %15039 = load i32, ptr %15038, align 4, !tbaa !5
  store i32 %15039, ptr %327, align 4, !tbaa !5
  %15040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15041 = call i32 @s2n_print_stacktrace(ptr noundef %15040)
  %15042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15043 = trunc i8 %15042 to i1
  br i1 %15043, label %15044, label %15066

15044:                                            ; preds = %15037
  %15045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15046 = call i32 @fileno(ptr noundef %15045) #11
  %15047 = call i32 @isatty(i32 noundef %15046) #11
  %15048 = icmp ne i32 %15047, 0
  br i1 %15048, label %15049, label %15066

15049:                                            ; preds = %15044
  %15050 = load i32, ptr %327, align 4, !tbaa !5
  %15051 = call ptr @__errno_location() #12
  store i32 %15050, ptr %15051, align 4, !tbaa !5
  %15052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15053 = load i32, ptr @test_count, align 4, !tbaa !5
  %15054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15055 = load i32, ptr %15054, align 4, !tbaa !5
  %15056 = call ptr @s2n_strerror(i32 noundef %15055, ptr noundef @.str.4)
  %15057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15058 = load i32, ptr %15057, align 4, !tbaa !5
  %15059 = call ptr @s2n_strerror_debug(i32 noundef %15058, ptr noundef @.str.4)
  %15060 = call ptr @__errno_location() #12
  %15061 = load i32, ptr %15060, align 4, !tbaa !5
  %15062 = call ptr @strerror(i32 noundef %15061) #11
  %15063 = call ptr @__errno_location() #12
  %15064 = load i32, ptr %15063, align 4, !tbaa !5
  %15065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15052, ptr noundef @.str.2, i32 noundef %15053, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 703, ptr noundef %15056, ptr noundef %15059, ptr noundef %15062, i32 noundef %15064) #11
  br label %15083

15066:                                            ; preds = %15044, %15037
  %15067 = load i32, ptr %327, align 4, !tbaa !5
  %15068 = call ptr @__errno_location() #12
  store i32 %15067, ptr %15068, align 4, !tbaa !5
  %15069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15070 = load i32, ptr @test_count, align 4, !tbaa !5
  %15071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15072 = load i32, ptr %15071, align 4, !tbaa !5
  %15073 = call ptr @s2n_strerror(i32 noundef %15072, ptr noundef @.str.4)
  %15074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15075 = load i32, ptr %15074, align 4, !tbaa !5
  %15076 = call ptr @s2n_strerror_debug(i32 noundef %15075, ptr noundef @.str.4)
  %15077 = call ptr @__errno_location() #12
  %15078 = load i32, ptr %15077, align 4, !tbaa !5
  %15079 = call ptr @strerror(i32 noundef %15078) #11
  %15080 = call ptr @__errno_location() #12
  %15081 = load i32, ptr %15080, align 4, !tbaa !5
  %15082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15069, ptr noundef @.str.5, i32 noundef %15070, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 703, ptr noundef %15073, ptr noundef %15076, ptr noundef %15079, i32 noundef %15081) #11
  br label %15083

15083:                                            ; preds = %15066, %15049
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %15084

15084:                                            ; preds = %15083
  br label %15085

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

15086:                                            ; No predecessors!
  br label %15087

15087:                                            ; preds = %15086
  br label %15088

15088:                                            ; preds = %15087, %15026
  br label %15089

15089:                                            ; preds = %15088
  br label %15090

15090:                                            ; preds = %15089
  br label %15091

15091:                                            ; preds = %15090
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15095 = load i32, ptr %15094, align 4, !tbaa !5
  %15096 = icmp eq i32 %15095, 201326593
  br i1 %15096, label %15150, label %15097

15097:                                            ; preds = %15091
  br label %15098

15098:                                            ; preds = %15097
  br label %15099

15099:                                            ; preds = %15098
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %15100 = call ptr @__errno_location() #12
  %15101 = load i32, ptr %15100, align 4, !tbaa !5
  store i32 %15101, ptr %328, 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) #11
  %15109 = call i32 @isatty(i32 noundef %15108) #11
  %15110 = icmp ne i32 %15109, 0
  br i1 %15110, label %15111, label %15128

15111:                                            ; preds = %15106
  %15112 = load i32, ptr %328, align 4, !tbaa !5
  %15113 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %15122 = call ptr @__errno_location() #12
  %15123 = load i32, ptr %15122, align 4, !tbaa !5
  %15124 = call ptr @strerror(i32 noundef %15123) #11
  %15125 = call ptr @__errno_location() #12
  %15126 = load i32, ptr %15125, align 4, !tbaa !5
  %15127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15114, ptr noundef @.str.2, i32 noundef %15115, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 703, ptr noundef %15118, ptr noundef %15121, ptr noundef %15124, i32 noundef %15126) #11
  br label %15145

15128:                                            ; preds = %15106, %15099
  %15129 = load i32, ptr %328, align 4, !tbaa !5
  %15130 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %15139 = call ptr @__errno_location() #12
  %15140 = load i32, ptr %15139, align 4, !tbaa !5
  %15141 = call ptr @strerror(i32 noundef %15140) #11
  %15142 = call ptr @__errno_location() #12
  %15143 = load i32, ptr %15142, align 4, !tbaa !5
  %15144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15131, ptr noundef @.str.5, i32 noundef %15132, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 703, ptr noundef %15135, ptr noundef %15138, ptr noundef %15141, i32 noundef %15143) #11
  br label %15145

15145:                                            ; preds = %15128, %15111
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %15146

15146:                                            ; preds = %15145
  br label %15147

15147:                                            ; preds = %15146
  call void @exit(i32 noundef 1) #13
  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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15157 = load i32, ptr %15156, align 4, !tbaa !5
  %15158 = call ptr @s2n_strerror_debug(i32 noundef %15157, ptr noundef @.str.4)
  %15159 = icmp eq ptr %15158, null
  br i1 %15159, label %15160, label %15213

15160:                                            ; preds = %15153
  br label %15161

15161:                                            ; preds = %15160
  br label %15162

15162:                                            ; preds = %15161
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %15163 = call ptr @__errno_location() #12
  %15164 = load i32, ptr %15163, align 4, !tbaa !5
  store i32 %15164, ptr %329, align 4, !tbaa !5
  %15165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15166 = call i32 @s2n_print_stacktrace(ptr noundef %15165)
  %15167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15168 = trunc i8 %15167 to i1
  br i1 %15168, label %15169, label %15191

15169:                                            ; preds = %15162
  %15170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15171 = call i32 @fileno(ptr noundef %15170) #11
  %15172 = call i32 @isatty(i32 noundef %15171) #11
  %15173 = icmp ne i32 %15172, 0
  br i1 %15173, label %15174, label %15191

15174:                                            ; preds = %15169
  %15175 = load i32, ptr %329, align 4, !tbaa !5
  %15176 = call ptr @__errno_location() #12
  store i32 %15175, ptr %15176, align 4, !tbaa !5
  %15177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15178 = load i32, ptr @test_count, align 4, !tbaa !5
  %15179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15180 = load i32, ptr %15179, align 4, !tbaa !5
  %15181 = call ptr @s2n_strerror(i32 noundef %15180, ptr noundef @.str.4)
  %15182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15183 = load i32, ptr %15182, align 4, !tbaa !5
  %15184 = call ptr @s2n_strerror_debug(i32 noundef %15183, ptr noundef @.str.4)
  %15185 = call ptr @__errno_location() #12
  %15186 = load i32, ptr %15185, align 4, !tbaa !5
  %15187 = call ptr @strerror(i32 noundef %15186) #11
  %15188 = call ptr @__errno_location() #12
  %15189 = load i32, ptr %15188, align 4, !tbaa !5
  %15190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15177, ptr noundef @.str.2, i32 noundef %15178, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 703, ptr noundef %15181, ptr noundef %15184, ptr noundef %15187, i32 noundef %15189) #11
  br label %15208

15191:                                            ; preds = %15169, %15162
  %15192 = load i32, ptr %329, align 4, !tbaa !5
  %15193 = call ptr @__errno_location() #12
  store i32 %15192, ptr %15193, align 4, !tbaa !5
  %15194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15195 = load i32, ptr @test_count, align 4, !tbaa !5
  %15196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call ptr @s2n_strerror(i32 noundef %15197, ptr noundef @.str.4)
  %15199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15200 = load i32, ptr %15199, align 4, !tbaa !5
  %15201 = call ptr @s2n_strerror_debug(i32 noundef %15200, ptr noundef @.str.4)
  %15202 = call ptr @__errno_location() #12
  %15203 = load i32, ptr %15202, align 4, !tbaa !5
  %15204 = call ptr @strerror(i32 noundef %15203) #11
  %15205 = call ptr @__errno_location() #12
  %15206 = load i32, ptr %15205, align 4, !tbaa !5
  %15207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15194, ptr noundef @.str.5, i32 noundef %15195, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 703, ptr noundef %15198, ptr noundef %15201, ptr noundef %15204, i32 noundef %15206) #11
  br label %15208

15208:                                            ; preds = %15191, %15174
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %15209

15209:                                            ; preds = %15208
  br label %15210

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

15211:                                            ; No predecessors!
  br label %15212

15212:                                            ; preds = %15211
  br label %15213

15213:                                            ; preds = %15212, %15153
  br label %15214

15214:                                            ; preds = %15213
  br label %15215

15215:                                            ; preds = %15214
  br label %15216

15216:                                            ; preds = %15215
  br label %15217

15217:                                            ; preds = %15216
  br label %15218

15218:                                            ; preds = %15217
  %15219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15219, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15220 = call ptr @__errno_location() #12
  store i32 0, ptr %15220, align 4, !tbaa !5
  br label %15221

15221:                                            ; preds = %15218
  br label %15222

15222:                                            ; preds = %15221
  br label %15223

15223:                                            ; preds = %15222
  br label %15224

15224:                                            ; preds = %15223
  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 %312, align 8, !tbaa !9
  %15229 = getelementptr inbounds %struct.s2n_connection, ptr %15228, i32 0, i32 89
  %15230 = load i32, ptr %15229, align 8, !tbaa !15
  %15231 = icmp eq i32 %15230, 1
  br i1 %15231, label %15285, label %15232

15232:                                            ; preds = %15225
  br label %15233

15233:                                            ; preds = %15232
  br label %15234

15234:                                            ; preds = %15233
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %15235 = call ptr @__errno_location() #12
  %15236 = load i32, ptr %15235, align 4, !tbaa !5
  store i32 %15236, ptr %330, align 4, !tbaa !5
  %15237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15238 = call i32 @s2n_print_stacktrace(ptr noundef %15237)
  %15239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15240 = trunc i8 %15239 to i1
  br i1 %15240, label %15241, label %15263

15241:                                            ; preds = %15234
  %15242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15243 = call i32 @fileno(ptr noundef %15242) #11
  %15244 = call i32 @isatty(i32 noundef %15243) #11
  %15245 = icmp ne i32 %15244, 0
  br i1 %15245, label %15246, label %15263

15246:                                            ; preds = %15241
  %15247 = load i32, ptr %330, align 4, !tbaa !5
  %15248 = call ptr @__errno_location() #12
  store i32 %15247, ptr %15248, align 4, !tbaa !5
  %15249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15250 = load i32, ptr @test_count, align 4, !tbaa !5
  %15251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15252 = load i32, ptr %15251, align 4, !tbaa !5
  %15253 = call ptr @s2n_strerror(i32 noundef %15252, ptr noundef @.str.4)
  %15254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15255 = load i32, ptr %15254, align 4, !tbaa !5
  %15256 = call ptr @s2n_strerror_debug(i32 noundef %15255, ptr noundef @.str.4)
  %15257 = call ptr @__errno_location() #12
  %15258 = load i32, ptr %15257, align 4, !tbaa !5
  %15259 = call ptr @strerror(i32 noundef %15258) #11
  %15260 = call ptr @__errno_location() #12
  %15261 = load i32, ptr %15260, align 4, !tbaa !5
  %15262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15249, ptr noundef @.str.2, i32 noundef %15250, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 704, ptr noundef %15253, ptr noundef %15256, ptr noundef %15259, i32 noundef %15261) #11
  br label %15280

15263:                                            ; preds = %15241, %15234
  %15264 = load i32, ptr %330, align 4, !tbaa !5
  %15265 = call ptr @__errno_location() #12
  store i32 %15264, ptr %15265, align 4, !tbaa !5
  %15266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15267 = load i32, ptr @test_count, align 4, !tbaa !5
  %15268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15269 = load i32, ptr %15268, align 4, !tbaa !5
  %15270 = call ptr @s2n_strerror(i32 noundef %15269, ptr noundef @.str.4)
  %15271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15272 = load i32, ptr %15271, align 4, !tbaa !5
  %15273 = call ptr @s2n_strerror_debug(i32 noundef %15272, ptr noundef @.str.4)
  %15274 = call ptr @__errno_location() #12
  %15275 = load i32, ptr %15274, align 4, !tbaa !5
  %15276 = call ptr @strerror(i32 noundef %15275) #11
  %15277 = call ptr @__errno_location() #12
  %15278 = load i32, ptr %15277, align 4, !tbaa !5
  %15279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15266, ptr noundef @.str.5, i32 noundef %15267, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 704, ptr noundef %15270, ptr noundef %15273, ptr noundef %15276, i32 noundef %15278) #11
  br label %15280

15280:                                            ; preds = %15263, %15246
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %15281

15281:                                            ; preds = %15280
  br label %15282

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

15283:                                            ; No predecessors!
  br label %15284

15284:                                            ; preds = %15283
  br label %15285

15285:                                            ; preds = %15284, %15225
  br label %15286

15286:                                            ; preds = %15285
  br label %15287

15287:                                            ; preds = %15286
  br label %15288

15288:                                            ; preds = %15287
  %15289 = load i32, ptr @test_count, align 4, !tbaa !5
  %15290 = add nsw i32 %15289, 1
  store i32 %15290, ptr @test_count, align 4, !tbaa !5
  %15291 = load ptr, ptr @async_early_data, align 8, !tbaa !9
  %15292 = call i32 @s2n_offered_early_data_reject(ptr noundef %15291)
  %15293 = icmp eq i32 %15292, -1
  br i1 %15293, label %15294, label %15347

15294:                                            ; preds = %15288
  br label %15295

15295:                                            ; preds = %15294
  br label %15296

15296:                                            ; preds = %15295
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %15297 = call ptr @__errno_location() #12
  %15298 = load i32, ptr %15297, align 4, !tbaa !5
  store i32 %15298, ptr %331, align 4, !tbaa !5
  %15299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15300 = call i32 @s2n_print_stacktrace(ptr noundef %15299)
  %15301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15302 = trunc i8 %15301 to i1
  br i1 %15302, label %15303, label %15325

15303:                                            ; preds = %15296
  %15304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15305 = call i32 @fileno(ptr noundef %15304) #11
  %15306 = call i32 @isatty(i32 noundef %15305) #11
  %15307 = icmp ne i32 %15306, 0
  br i1 %15307, label %15308, label %15325

15308:                                            ; preds = %15303
  %15309 = load i32, ptr %331, align 4, !tbaa !5
  %15310 = call ptr @__errno_location() #12
  store i32 %15309, ptr %15310, align 4, !tbaa !5
  %15311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15312 = load i32, ptr @test_count, align 4, !tbaa !5
  %15313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15314 = load i32, ptr %15313, align 4, !tbaa !5
  %15315 = call ptr @s2n_strerror(i32 noundef %15314, ptr noundef @.str.4)
  %15316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15317 = load i32, ptr %15316, align 4, !tbaa !5
  %15318 = call ptr @s2n_strerror_debug(i32 noundef %15317, ptr noundef @.str.4)
  %15319 = call ptr @__errno_location() #12
  %15320 = load i32, ptr %15319, align 4, !tbaa !5
  %15321 = call ptr @strerror(i32 noundef %15320) #11
  %15322 = call ptr @__errno_location() #12
  %15323 = load i32, ptr %15322, align 4, !tbaa !5
  %15324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15311, ptr noundef @.str.2, i32 noundef %15312, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 707, ptr noundef %15315, ptr noundef %15318, ptr noundef %15321, i32 noundef %15323) #11
  br label %15342

15325:                                            ; preds = %15303, %15296
  %15326 = load i32, ptr %331, align 4, !tbaa !5
  %15327 = call ptr @__errno_location() #12
  store i32 %15326, ptr %15327, align 4, !tbaa !5
  %15328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15329 = load i32, ptr @test_count, align 4, !tbaa !5
  %15330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15331 = load i32, ptr %15330, align 4, !tbaa !5
  %15332 = call ptr @s2n_strerror(i32 noundef %15331, ptr noundef @.str.4)
  %15333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15334 = load i32, ptr %15333, align 4, !tbaa !5
  %15335 = call ptr @s2n_strerror_debug(i32 noundef %15334, ptr noundef @.str.4)
  %15336 = call ptr @__errno_location() #12
  %15337 = load i32, ptr %15336, align 4, !tbaa !5
  %15338 = call ptr @strerror(i32 noundef %15337) #11
  %15339 = call ptr @__errno_location() #12
  %15340 = load i32, ptr %15339, align 4, !tbaa !5
  %15341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15328, ptr noundef @.str.5, i32 noundef %15329, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 707, ptr noundef %15332, ptr noundef %15335, ptr noundef %15338, i32 noundef %15340) #11
  br label %15342

15342:                                            ; preds = %15325, %15308
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %15343

15343:                                            ; preds = %15342
  br label %15344

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

15345:                                            ; No predecessors!
  br label %15346

15346:                                            ; preds = %15345
  br label %15347

15347:                                            ; preds = %15346, %15288
  br label %15348

15348:                                            ; preds = %15347
  br label %15349

15349:                                            ; preds = %15348
  br label %15350

15350:                                            ; preds = %15349
  %15351 = load i32, ptr @test_count, align 4, !tbaa !5
  %15352 = add nsw i32 %15351, 1
  store i32 %15352, ptr @test_count, align 4, !tbaa !5
  %15353 = load ptr, ptr %312, align 8, !tbaa !9
  %15354 = getelementptr inbounds %struct.s2n_connection, ptr %15353, i32 0, i32 89
  %15355 = load i32, ptr %15354, align 8, !tbaa !15
  %15356 = icmp eq i32 %15355, 4
  br i1 %15356, label %15410, label %15357

15357:                                            ; preds = %15350
  br label %15358

15358:                                            ; preds = %15357
  br label %15359

15359:                                            ; preds = %15358
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #11
  %15360 = call ptr @__errno_location() #12
  %15361 = load i32, ptr %15360, align 4, !tbaa !5
  store i32 %15361, ptr %332, align 4, !tbaa !5
  %15362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15363 = call i32 @s2n_print_stacktrace(ptr noundef %15362)
  %15364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15365 = trunc i8 %15364 to i1
  br i1 %15365, label %15366, label %15388

15366:                                            ; preds = %15359
  %15367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15368 = call i32 @fileno(ptr noundef %15367) #11
  %15369 = call i32 @isatty(i32 noundef %15368) #11
  %15370 = icmp ne i32 %15369, 0
  br i1 %15370, label %15371, label %15388

15371:                                            ; preds = %15366
  %15372 = load i32, ptr %332, align 4, !tbaa !5
  %15373 = call ptr @__errno_location() #12
  store i32 %15372, ptr %15373, align 4, !tbaa !5
  %15374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15375 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %15377, ptr noundef @.str.4)
  %15379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15380 = load i32, ptr %15379, align 4, !tbaa !5
  %15381 = call ptr @s2n_strerror_debug(i32 noundef %15380, ptr noundef @.str.4)
  %15382 = call ptr @__errno_location() #12
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call ptr @strerror(i32 noundef %15383) #11
  %15385 = call ptr @__errno_location() #12
  %15386 = load i32, ptr %15385, align 4, !tbaa !5
  %15387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15374, ptr noundef @.str.2, i32 noundef %15375, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 708, ptr noundef %15378, ptr noundef %15381, ptr noundef %15384, i32 noundef %15386) #11
  br label %15405

15388:                                            ; preds = %15366, %15359
  %15389 = load i32, ptr %332, align 4, !tbaa !5
  %15390 = call ptr @__errno_location() #12
  store i32 %15389, ptr %15390, align 4, !tbaa !5
  %15391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15392 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %15394, ptr noundef @.str.4)
  %15396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15397 = load i32, ptr %15396, align 4, !tbaa !5
  %15398 = call ptr @s2n_strerror_debug(i32 noundef %15397, ptr noundef @.str.4)
  %15399 = call ptr @__errno_location() #12
  %15400 = load i32, ptr %15399, align 4, !tbaa !5
  %15401 = call ptr @strerror(i32 noundef %15400) #11
  %15402 = call ptr @__errno_location() #12
  %15403 = load i32, ptr %15402, align 4, !tbaa !5
  %15404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15391, ptr noundef @.str.5, i32 noundef %15392, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 708, ptr noundef %15395, ptr noundef %15398, ptr noundef %15401, i32 noundef %15403) #11
  br label %15405

15405:                                            ; preds = %15388, %15371
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #11
  br label %15406

15406:                                            ; preds = %15405
  br label %15407

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

15408:                                            ; No predecessors!
  br label %15409

15409:                                            ; preds = %15408
  br label %15410

15410:                                            ; preds = %15409, %15350
  br label %15411

15411:                                            ; preds = %15410
  br label %15412

15412:                                            ; preds = %15411
  br label %15413

15413:                                            ; preds = %15412
  %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 %312, align 8, !tbaa !9
  %15417 = call i32 @s2n_early_data_accept_or_reject(ptr noundef %15416)
  %15418 = getelementptr inbounds %struct.s2n_result, ptr %333, i32 0, i32 0
  store i32 %15417, ptr %15418, align 4
  %15419 = getelementptr inbounds %struct.s2n_result, ptr %333, i32 0, i32 0
  %15420 = load i32, ptr %15419, align 4
  %15421 = call zeroext i1 @s2n_result_is_ok(i32 %15420)
  br i1 %15421, label %15475, label %15422

15422:                                            ; preds = %15413
  br label %15423

15423:                                            ; preds = %15422
  br label %15424

15424:                                            ; preds = %15423
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %15425 = call ptr @__errno_location() #12
  %15426 = load i32, ptr %15425, align 4, !tbaa !5
  store i32 %15426, ptr %334, align 4, !tbaa !5
  %15427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15428 = call i32 @s2n_print_stacktrace(ptr noundef %15427)
  %15429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15430 = trunc i8 %15429 to i1
  br i1 %15430, label %15431, label %15453

15431:                                            ; preds = %15424
  %15432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15433 = call i32 @fileno(ptr noundef %15432) #11
  %15434 = call i32 @isatty(i32 noundef %15433) #11
  %15435 = icmp ne i32 %15434, 0
  br i1 %15435, label %15436, label %15453

15436:                                            ; preds = %15431
  %15437 = load i32, ptr %334, align 4, !tbaa !5
  %15438 = call ptr @__errno_location() #12
  store i32 %15437, ptr %15438, align 4, !tbaa !5
  %15439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15440 = load i32, ptr @test_count, align 4, !tbaa !5
  %15441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15442 = load i32, ptr %15441, align 4, !tbaa !5
  %15443 = call ptr @s2n_strerror(i32 noundef %15442, ptr noundef @.str.4)
  %15444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15445 = load i32, ptr %15444, align 4, !tbaa !5
  %15446 = call ptr @s2n_strerror_debug(i32 noundef %15445, ptr noundef @.str.4)
  %15447 = call ptr @__errno_location() #12
  %15448 = load i32, ptr %15447, align 4, !tbaa !5
  %15449 = call ptr @strerror(i32 noundef %15448) #11
  %15450 = call ptr @__errno_location() #12
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15439, ptr noundef @.str.2, i32 noundef %15440, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 711, ptr noundef %15443, ptr noundef %15446, ptr noundef %15449, i32 noundef %15451) #11
  br label %15470

15453:                                            ; preds = %15431, %15424
  %15454 = load i32, ptr %334, align 4, !tbaa !5
  %15455 = call ptr @__errno_location() #12
  store i32 %15454, ptr %15455, align 4, !tbaa !5
  %15456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15457 = load i32, ptr @test_count, align 4, !tbaa !5
  %15458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15459 = load i32, ptr %15458, align 4, !tbaa !5
  %15460 = call ptr @s2n_strerror(i32 noundef %15459, ptr noundef @.str.4)
  %15461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15462 = load i32, ptr %15461, align 4, !tbaa !5
  %15463 = call ptr @s2n_strerror_debug(i32 noundef %15462, ptr noundef @.str.4)
  %15464 = call ptr @__errno_location() #12
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call ptr @strerror(i32 noundef %15465) #11
  %15467 = call ptr @__errno_location() #12
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15456, ptr noundef @.str.5, i32 noundef %15457, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 711, ptr noundef %15460, ptr noundef %15463, ptr noundef %15466, i32 noundef %15468) #11
  br label %15470

15470:                                            ; preds = %15453, %15436
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %15471

15471:                                            ; preds = %15470
  br label %15472

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

15473:                                            ; No predecessors!
  br label %15474

15474:                                            ; preds = %15473
  br label %15475

15475:                                            ; preds = %15474, %15413
  br label %15476

15476:                                            ; preds = %15475
  br label %15477

15477:                                            ; preds = %15476
  br label %15478

15478:                                            ; preds = %15477
  %15479 = load i32, ptr @test_count, align 4, !tbaa !5
  %15480 = add nsw i32 %15479, 1
  store i32 %15480, ptr @test_count, align 4, !tbaa !5
  %15481 = load ptr, ptr %312, align 8, !tbaa !9
  %15482 = getelementptr inbounds %struct.s2n_connection, ptr %15481, i32 0, i32 89
  %15483 = load i32, ptr %15482, align 8, !tbaa !15
  %15484 = icmp eq i32 %15483, 4
  br i1 %15484, label %15538, label %15485

15485:                                            ; preds = %15478
  br label %15486

15486:                                            ; preds = %15485
  br label %15487

15487:                                            ; preds = %15486
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %15488 = call ptr @__errno_location() #12
  %15489 = load i32, ptr %15488, align 4, !tbaa !5
  store i32 %15489, ptr %335, align 4, !tbaa !5
  %15490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15491 = call i32 @s2n_print_stacktrace(ptr noundef %15490)
  %15492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15493 = trunc i8 %15492 to i1
  br i1 %15493, label %15494, label %15516

15494:                                            ; preds = %15487
  %15495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15496 = call i32 @fileno(ptr noundef %15495) #11
  %15497 = call i32 @isatty(i32 noundef %15496) #11
  %15498 = icmp ne i32 %15497, 0
  br i1 %15498, label %15499, label %15516

15499:                                            ; preds = %15494
  %15500 = load i32, ptr %335, align 4, !tbaa !5
  %15501 = call ptr @__errno_location() #12
  store i32 %15500, ptr %15501, align 4, !tbaa !5
  %15502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15503 = load i32, ptr @test_count, align 4, !tbaa !5
  %15504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15505 = load i32, ptr %15504, align 4, !tbaa !5
  %15506 = call ptr @s2n_strerror(i32 noundef %15505, ptr noundef @.str.4)
  %15507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15508 = load i32, ptr %15507, align 4, !tbaa !5
  %15509 = call ptr @s2n_strerror_debug(i32 noundef %15508, ptr noundef @.str.4)
  %15510 = call ptr @__errno_location() #12
  %15511 = load i32, ptr %15510, align 4, !tbaa !5
  %15512 = call ptr @strerror(i32 noundef %15511) #11
  %15513 = call ptr @__errno_location() #12
  %15514 = load i32, ptr %15513, align 4, !tbaa !5
  %15515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15502, ptr noundef @.str.2, i32 noundef %15503, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 712, ptr noundef %15506, ptr noundef %15509, ptr noundef %15512, i32 noundef %15514) #11
  br label %15533

15516:                                            ; preds = %15494, %15487
  %15517 = load i32, ptr %335, align 4, !tbaa !5
  %15518 = call ptr @__errno_location() #12
  store i32 %15517, ptr %15518, align 4, !tbaa !5
  %15519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15520 = load i32, ptr @test_count, align 4, !tbaa !5
  %15521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15522 = load i32, ptr %15521, align 4, !tbaa !5
  %15523 = call ptr @s2n_strerror(i32 noundef %15522, ptr noundef @.str.4)
  %15524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15525 = load i32, ptr %15524, align 4, !tbaa !5
  %15526 = call ptr @s2n_strerror_debug(i32 noundef %15525, ptr noundef @.str.4)
  %15527 = call ptr @__errno_location() #12
  %15528 = load i32, ptr %15527, align 4, !tbaa !5
  %15529 = call ptr @strerror(i32 noundef %15528) #11
  %15530 = call ptr @__errno_location() #12
  %15531 = load i32, ptr %15530, align 4, !tbaa !5
  %15532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15519, ptr noundef @.str.5, i32 noundef %15520, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 712, ptr noundef %15523, ptr noundef %15526, ptr noundef %15529, i32 noundef %15531) #11
  br label %15533

15533:                                            ; preds = %15516, %15499
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %15534

15534:                                            ; preds = %15533
  br label %15535

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

15536:                                            ; No predecessors!
  br label %15537

15537:                                            ; preds = %15536
  br label %15538

15538:                                            ; preds = %15537, %15478
  br label %15539

15539:                                            ; preds = %15538
  br label %15540

15540:                                            ; preds = %15539
  br label %15541

15541:                                            ; preds = %15540
  %15542 = load i32, ptr @test_count, align 4, !tbaa !5
  %15543 = add nsw i32 %15542, 1
  store i32 %15543, ptr @test_count, align 4, !tbaa !5
  %15544 = load ptr, ptr %312, align 8, !tbaa !9
  %15545 = call i32 @s2n_connection_free(ptr noundef %15544)
  %15546 = icmp eq i32 %15545, -1
  br i1 %15546, label %15547, label %15600

15547:                                            ; preds = %15541
  br label %15548

15548:                                            ; preds = %15547
  br label %15549

15549:                                            ; preds = %15548
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %15550 = call ptr @__errno_location() #12
  %15551 = load i32, ptr %15550, align 4, !tbaa !5
  store i32 %15551, ptr %336, align 4, !tbaa !5
  %15552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15553 = call i32 @s2n_print_stacktrace(ptr noundef %15552)
  %15554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15555 = trunc i8 %15554 to i1
  br i1 %15555, label %15556, label %15578

15556:                                            ; preds = %15549
  %15557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15558 = call i32 @fileno(ptr noundef %15557) #11
  %15559 = call i32 @isatty(i32 noundef %15558) #11
  %15560 = icmp ne i32 %15559, 0
  br i1 %15560, label %15561, label %15578

15561:                                            ; preds = %15556
  %15562 = load i32, ptr %336, align 4, !tbaa !5
  %15563 = call ptr @__errno_location() #12
  store i32 %15562, ptr %15563, align 4, !tbaa !5
  %15564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15565 = load i32, ptr @test_count, align 4, !tbaa !5
  %15566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15567 = load i32, ptr %15566, align 4, !tbaa !5
  %15568 = call ptr @s2n_strerror(i32 noundef %15567, ptr noundef @.str.4)
  %15569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15570 = load i32, ptr %15569, align 4, !tbaa !5
  %15571 = call ptr @s2n_strerror_debug(i32 noundef %15570, ptr noundef @.str.4)
  %15572 = call ptr @__errno_location() #12
  %15573 = load i32, ptr %15572, align 4, !tbaa !5
  %15574 = call ptr @strerror(i32 noundef %15573) #11
  %15575 = call ptr @__errno_location() #12
  %15576 = load i32, ptr %15575, align 4, !tbaa !5
  %15577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15564, ptr noundef @.str.2, i32 noundef %15565, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 714, ptr noundef %15568, ptr noundef %15571, ptr noundef %15574, i32 noundef %15576) #11
  br label %15595

15578:                                            ; preds = %15556, %15549
  %15579 = load i32, ptr %336, align 4, !tbaa !5
  %15580 = call ptr @__errno_location() #12
  store i32 %15579, ptr %15580, align 4, !tbaa !5
  %15581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15582 = load i32, ptr @test_count, align 4, !tbaa !5
  %15583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15584 = load i32, ptr %15583, align 4, !tbaa !5
  %15585 = call ptr @s2n_strerror(i32 noundef %15584, ptr noundef @.str.4)
  %15586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15587 = load i32, ptr %15586, align 4, !tbaa !5
  %15588 = call ptr @s2n_strerror_debug(i32 noundef %15587, ptr noundef @.str.4)
  %15589 = call ptr @__errno_location() #12
  %15590 = load i32, ptr %15589, align 4, !tbaa !5
  %15591 = call ptr @strerror(i32 noundef %15590) #11
  %15592 = call ptr @__errno_location() #12
  %15593 = load i32, ptr %15592, align 4, !tbaa !5
  %15594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15581, ptr noundef @.str.5, i32 noundef %15582, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 714, ptr noundef %15585, ptr noundef %15588, ptr noundef %15591, i32 noundef %15593) #11
  br label %15595

15595:                                            ; preds = %15578, %15561
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %15596

15596:                                            ; preds = %15595
  br label %15597

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

15598:                                            ; No predecessors!
  br label %15599

15599:                                            ; preds = %15598
  br label %15600

15600:                                            ; preds = %15599, %15541
  br label %15601

15601:                                            ; preds = %15600
  br label %15602

15602:                                            ; preds = %15601
  br label %15603

15603:                                            ; preds = %15602
  %15604 = load i32, ptr @test_count, align 4, !tbaa !5
  %15605 = add nsw i32 %15604, 1
  store i32 %15605, ptr @test_count, align 4, !tbaa !5
  %15606 = load ptr, ptr %309, align 8, !tbaa !9
  %15607 = call i32 @s2n_config_free(ptr noundef %15606)
  %15608 = icmp eq i32 %15607, -1
  br i1 %15608, label %15609, label %15662

15609:                                            ; preds = %15603
  br label %15610

15610:                                            ; preds = %15609
  br label %15611

15611:                                            ; preds = %15610
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #11
  %15612 = call ptr @__errno_location() #12
  %15613 = load i32, ptr %15612, align 4, !tbaa !5
  store i32 %15613, ptr %337, align 4, !tbaa !5
  %15614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15615 = call i32 @s2n_print_stacktrace(ptr noundef %15614)
  %15616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15617 = trunc i8 %15616 to i1
  br i1 %15617, label %15618, label %15640

15618:                                            ; preds = %15611
  %15619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15620 = call i32 @fileno(ptr noundef %15619) #11
  %15621 = call i32 @isatty(i32 noundef %15620) #11
  %15622 = icmp ne i32 %15621, 0
  br i1 %15622, label %15623, label %15640

15623:                                            ; preds = %15618
  %15624 = load i32, ptr %337, align 4, !tbaa !5
  %15625 = call ptr @__errno_location() #12
  store i32 %15624, ptr %15625, align 4, !tbaa !5
  %15626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15627 = load i32, ptr @test_count, align 4, !tbaa !5
  %15628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15629 = load i32, ptr %15628, align 4, !tbaa !5
  %15630 = call ptr @s2n_strerror(i32 noundef %15629, ptr noundef @.str.4)
  %15631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15632 = load i32, ptr %15631, align 4, !tbaa !5
  %15633 = call ptr @s2n_strerror_debug(i32 noundef %15632, ptr noundef @.str.4)
  %15634 = call ptr @__errno_location() #12
  %15635 = load i32, ptr %15634, align 4, !tbaa !5
  %15636 = call ptr @strerror(i32 noundef %15635) #11
  %15637 = call ptr @__errno_location() #12
  %15638 = load i32, ptr %15637, align 4, !tbaa !5
  %15639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15626, ptr noundef @.str.2, i32 noundef %15627, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 715, ptr noundef %15630, ptr noundef %15633, ptr noundef %15636, i32 noundef %15638) #11
  br label %15657

15640:                                            ; preds = %15618, %15611
  %15641 = load i32, ptr %337, align 4, !tbaa !5
  %15642 = call ptr @__errno_location() #12
  store i32 %15641, ptr %15642, align 4, !tbaa !5
  %15643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15644 = load i32, ptr @test_count, align 4, !tbaa !5
  %15645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15646 = load i32, ptr %15645, align 4, !tbaa !5
  %15647 = call ptr @s2n_strerror(i32 noundef %15646, ptr noundef @.str.4)
  %15648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15649 = load i32, ptr %15648, align 4, !tbaa !5
  %15650 = call ptr @s2n_strerror_debug(i32 noundef %15649, ptr noundef @.str.4)
  %15651 = call ptr @__errno_location() #12
  %15652 = load i32, ptr %15651, align 4, !tbaa !5
  %15653 = call ptr @strerror(i32 noundef %15652) #11
  %15654 = call ptr @__errno_location() #12
  %15655 = load i32, ptr %15654, align 4, !tbaa !5
  %15656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15643, ptr noundef @.str.5, i32 noundef %15644, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 715, ptr noundef %15647, ptr noundef %15650, ptr noundef %15653, i32 noundef %15655) #11
  br label %15657

15657:                                            ; preds = %15640, %15623
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #11
  br label %15658

15658:                                            ; preds = %15657
  br label %15659

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

15660:                                            ; No predecessors!
  br label %15661

15661:                                            ; preds = %15660
  br label %15662

15662:                                            ; preds = %15661, %15603
  br label %15663

15663:                                            ; preds = %15662
  br label %15664

15664:                                            ; preds = %15663
  call void @llvm.lifetime.end.p0(i64 8, ptr %312) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %309) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  store i32 10, ptr %338, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4184, ptr %339) #11
  call void @llvm.memset.p0.i64(ptr align 8 %339, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #11
  store i32 0, ptr %340, align 4, !tbaa !5
  br label %15665

15665:                                            ; preds = %15664
  br label %15666

15666:                                            ; preds = %15665
  br label %15667

15667:                                            ; preds = %15666
  %15668 = load i32, ptr @test_count, align 4, !tbaa !5
  %15669 = add nsw i32 %15668, 1
  store i32 %15669, ptr @test_count, align 4, !tbaa !5
  %15670 = call i32 @s2n_connection_get_early_data_status(ptr noundef null, ptr noundef %340)
  %15671 = icmp eq i32 %15670, -1
  br i1 %15671, label %15725, label %15672

15672:                                            ; preds = %15667
  br label %15673

15673:                                            ; preds = %15672
  br label %15674

15674:                                            ; preds = %15673
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #11
  %15675 = call ptr @__errno_location() #12
  %15676 = load i32, ptr %15675, align 4, !tbaa !5
  store i32 %15676, ptr %341, align 4, !tbaa !5
  %15677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15678 = call i32 @s2n_print_stacktrace(ptr noundef %15677)
  %15679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15680 = trunc i8 %15679 to i1
  br i1 %15680, label %15681, label %15703

15681:                                            ; preds = %15674
  %15682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15683 = call i32 @fileno(ptr noundef %15682) #11
  %15684 = call i32 @isatty(i32 noundef %15683) #11
  %15685 = icmp ne i32 %15684, 0
  br i1 %15685, label %15686, label %15703

15686:                                            ; preds = %15681
  %15687 = load i32, ptr %341, align 4, !tbaa !5
  %15688 = call ptr @__errno_location() #12
  store i32 %15687, ptr %15688, align 4, !tbaa !5
  %15689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15690 = load i32, ptr @test_count, align 4, !tbaa !5
  %15691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15692 = load i32, ptr %15691, align 4, !tbaa !5
  %15693 = call ptr @s2n_strerror(i32 noundef %15692, ptr noundef @.str.4)
  %15694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15695 = load i32, ptr %15694, align 4, !tbaa !5
  %15696 = call ptr @s2n_strerror_debug(i32 noundef %15695, ptr noundef @.str.4)
  %15697 = call ptr @__errno_location() #12
  %15698 = load i32, ptr %15697, align 4, !tbaa !5
  %15699 = call ptr @strerror(i32 noundef %15698) #11
  %15700 = call ptr @__errno_location() #12
  %15701 = load i32, ptr %15700, align 4, !tbaa !5
  %15702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15689, ptr noundef @.str.2, i32 noundef %15690, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15693, ptr noundef %15696, ptr noundef %15699, i32 noundef %15701) #11
  br label %15720

15703:                                            ; preds = %15681, %15674
  %15704 = load i32, ptr %341, align 4, !tbaa !5
  %15705 = call ptr @__errno_location() #12
  store i32 %15704, ptr %15705, align 4, !tbaa !5
  %15706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15707 = load i32, ptr @test_count, align 4, !tbaa !5
  %15708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15709 = load i32, ptr %15708, align 4, !tbaa !5
  %15710 = call ptr @s2n_strerror(i32 noundef %15709, ptr noundef @.str.4)
  %15711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15712 = load i32, ptr %15711, align 4, !tbaa !5
  %15713 = call ptr @s2n_strerror_debug(i32 noundef %15712, ptr noundef @.str.4)
  %15714 = call ptr @__errno_location() #12
  %15715 = load i32, ptr %15714, align 4, !tbaa !5
  %15716 = call ptr @strerror(i32 noundef %15715) #11
  %15717 = call ptr @__errno_location() #12
  %15718 = load i32, ptr %15717, align 4, !tbaa !5
  %15719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15706, ptr noundef @.str.5, i32 noundef %15707, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15710, ptr noundef %15713, ptr noundef %15716, i32 noundef %15718) #11
  br label %15720

15720:                                            ; preds = %15703, %15686
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #11
  br label %15721

15721:                                            ; preds = %15720
  br label %15722

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

15723:                                            ; No predecessors!
  br label %15724

15724:                                            ; preds = %15723
  br label %15725

15725:                                            ; preds = %15724, %15667
  br label %15726

15726:                                            ; preds = %15725
  br label %15727

15727:                                            ; preds = %15726
  br label %15728

15728:                                            ; preds = %15727
  %15729 = load i32, ptr @test_count, align 4, !tbaa !5
  %15730 = add nsw i32 %15729, 1
  store i32 %15730, ptr @test_count, align 4, !tbaa !5
  %15731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15732 = load i32, ptr %15731, align 4, !tbaa !5
  %15733 = icmp eq i32 %15732, 402653193
  br i1 %15733, label %15787, label %15734

15734:                                            ; preds = %15728
  br label %15735

15735:                                            ; preds = %15734
  br label %15736

15736:                                            ; preds = %15735
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %15737 = call ptr @__errno_location() #12
  %15738 = load i32, ptr %15737, align 4, !tbaa !5
  store i32 %15738, ptr %342, align 4, !tbaa !5
  %15739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15740 = call i32 @s2n_print_stacktrace(ptr noundef %15739)
  %15741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15742 = trunc i8 %15741 to i1
  br i1 %15742, label %15743, label %15765

15743:                                            ; preds = %15736
  %15744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15745 = call i32 @fileno(ptr noundef %15744) #11
  %15746 = call i32 @isatty(i32 noundef %15745) #11
  %15747 = icmp ne i32 %15746, 0
  br i1 %15747, label %15748, label %15765

15748:                                            ; preds = %15743
  %15749 = load i32, ptr %342, align 4, !tbaa !5
  %15750 = call ptr @__errno_location() #12
  store i32 %15749, ptr %15750, align 4, !tbaa !5
  %15751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15752 = load i32, ptr @test_count, align 4, !tbaa !5
  %15753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15754 = load i32, ptr %15753, align 4, !tbaa !5
  %15755 = call ptr @s2n_strerror(i32 noundef %15754, ptr noundef @.str.4)
  %15756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15757 = load i32, ptr %15756, align 4, !tbaa !5
  %15758 = call ptr @s2n_strerror_debug(i32 noundef %15757, ptr noundef @.str.4)
  %15759 = call ptr @__errno_location() #12
  %15760 = load i32, ptr %15759, align 4, !tbaa !5
  %15761 = call ptr @strerror(i32 noundef %15760) #11
  %15762 = call ptr @__errno_location() #12
  %15763 = load i32, ptr %15762, align 4, !tbaa !5
  %15764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15751, ptr noundef @.str.2, i32 noundef %15752, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15755, ptr noundef %15758, ptr noundef %15761, i32 noundef %15763) #11
  br label %15782

15765:                                            ; preds = %15743, %15736
  %15766 = load i32, ptr %342, align 4, !tbaa !5
  %15767 = call ptr @__errno_location() #12
  store i32 %15766, ptr %15767, align 4, !tbaa !5
  %15768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15769 = load i32, ptr @test_count, align 4, !tbaa !5
  %15770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15771 = load i32, ptr %15770, align 4, !tbaa !5
  %15772 = call ptr @s2n_strerror(i32 noundef %15771, ptr noundef @.str.4)
  %15773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15774 = load i32, ptr %15773, align 4, !tbaa !5
  %15775 = call ptr @s2n_strerror_debug(i32 noundef %15774, ptr noundef @.str.4)
  %15776 = call ptr @__errno_location() #12
  %15777 = load i32, ptr %15776, align 4, !tbaa !5
  %15778 = call ptr @strerror(i32 noundef %15777) #11
  %15779 = call ptr @__errno_location() #12
  %15780 = load i32, ptr %15779, align 4, !tbaa !5
  %15781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15768, ptr noundef @.str.5, i32 noundef %15769, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15772, ptr noundef %15775, ptr noundef %15778, i32 noundef %15780) #11
  br label %15782

15782:                                            ; preds = %15765, %15748
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %15783

15783:                                            ; preds = %15782
  br label %15784

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

15785:                                            ; No predecessors!
  br label %15786

15786:                                            ; preds = %15785
  br label %15787

15787:                                            ; preds = %15786, %15728
  br label %15788

15788:                                            ; preds = %15787
  br label %15789

15789:                                            ; preds = %15788
  br label %15790

15790:                                            ; preds = %15789
  %15791 = load i32, ptr @test_count, align 4, !tbaa !5
  %15792 = add nsw i32 %15791, 1
  store i32 %15792, ptr @test_count, align 4, !tbaa !5
  %15793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15794 = load i32, ptr %15793, align 4, !tbaa !5
  %15795 = call ptr @s2n_strerror_debug(i32 noundef %15794, ptr noundef @.str.4)
  %15796 = icmp eq ptr %15795, null
  br i1 %15796, label %15797, label %15850

15797:                                            ; preds = %15790
  br label %15798

15798:                                            ; preds = %15797
  br label %15799

15799:                                            ; preds = %15798
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %15800 = call ptr @__errno_location() #12
  %15801 = load i32, ptr %15800, align 4, !tbaa !5
  store i32 %15801, ptr %343, align 4, !tbaa !5
  %15802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15803 = call i32 @s2n_print_stacktrace(ptr noundef %15802)
  %15804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15805 = trunc i8 %15804 to i1
  br i1 %15805, label %15806, label %15828

15806:                                            ; preds = %15799
  %15807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15808 = call i32 @fileno(ptr noundef %15807) #11
  %15809 = call i32 @isatty(i32 noundef %15808) #11
  %15810 = icmp ne i32 %15809, 0
  br i1 %15810, label %15811, label %15828

15811:                                            ; preds = %15806
  %15812 = load i32, ptr %343, align 4, !tbaa !5
  %15813 = call ptr @__errno_location() #12
  store i32 %15812, ptr %15813, align 4, !tbaa !5
  %15814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15815 = load i32, ptr @test_count, align 4, !tbaa !5
  %15816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15817 = load i32, ptr %15816, align 4, !tbaa !5
  %15818 = call ptr @s2n_strerror(i32 noundef %15817, ptr noundef @.str.4)
  %15819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15820 = load i32, ptr %15819, align 4, !tbaa !5
  %15821 = call ptr @s2n_strerror_debug(i32 noundef %15820, ptr noundef @.str.4)
  %15822 = call ptr @__errno_location() #12
  %15823 = load i32, ptr %15822, align 4, !tbaa !5
  %15824 = call ptr @strerror(i32 noundef %15823) #11
  %15825 = call ptr @__errno_location() #12
  %15826 = load i32, ptr %15825, align 4, !tbaa !5
  %15827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15814, ptr noundef @.str.2, i32 noundef %15815, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15818, ptr noundef %15821, ptr noundef %15824, i32 noundef %15826) #11
  br label %15845

15828:                                            ; preds = %15806, %15799
  %15829 = load i32, ptr %343, align 4, !tbaa !5
  %15830 = call ptr @__errno_location() #12
  store i32 %15829, ptr %15830, align 4, !tbaa !5
  %15831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15832 = load i32, ptr @test_count, align 4, !tbaa !5
  %15833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15834 = load i32, ptr %15833, align 4, !tbaa !5
  %15835 = call ptr @s2n_strerror(i32 noundef %15834, ptr noundef @.str.4)
  %15836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15837 = load i32, ptr %15836, align 4, !tbaa !5
  %15838 = call ptr @s2n_strerror_debug(i32 noundef %15837, ptr noundef @.str.4)
  %15839 = call ptr @__errno_location() #12
  %15840 = load i32, ptr %15839, align 4, !tbaa !5
  %15841 = call ptr @strerror(i32 noundef %15840) #11
  %15842 = call ptr @__errno_location() #12
  %15843 = load i32, ptr %15842, align 4, !tbaa !5
  %15844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15831, ptr noundef @.str.5, i32 noundef %15832, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15835, ptr noundef %15838, ptr noundef %15841, i32 noundef %15843) #11
  br label %15845

15845:                                            ; preds = %15828, %15811
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %15846

15846:                                            ; preds = %15845
  br label %15847

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

15848:                                            ; No predecessors!
  br label %15849

15849:                                            ; preds = %15848
  br label %15850

15850:                                            ; preds = %15849, %15790
  br label %15851

15851:                                            ; preds = %15850
  br label %15852

15852:                                            ; preds = %15851
  br label %15853

15853:                                            ; preds = %15852
  br label %15854

15854:                                            ; preds = %15853
  br label %15855

15855:                                            ; preds = %15854
  %15856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15856, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15857 = call ptr @__errno_location() #12
  store i32 0, ptr %15857, align 4, !tbaa !5
  br label %15858

15858:                                            ; preds = %15855
  br label %15859

15859:                                            ; preds = %15858
  br label %15860

15860:                                            ; preds = %15859
  br label %15861

15861:                                            ; preds = %15860
  br label %15862

15862:                                            ; preds = %15861
  br label %15863

15863:                                            ; preds = %15862
  br label %15864

15864:                                            ; preds = %15863
  %15865 = load i32, ptr @test_count, align 4, !tbaa !5
  %15866 = add nsw i32 %15865, 1
  store i32 %15866, ptr @test_count, align 4, !tbaa !5
  %15867 = call i32 @s2n_connection_get_early_data_status(ptr noundef %339, ptr noundef null)
  %15868 = icmp eq i32 %15867, -1
  br i1 %15868, label %15922, label %15869

15869:                                            ; preds = %15864
  br label %15870

15870:                                            ; preds = %15869
  br label %15871

15871:                                            ; preds = %15870
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %15872 = call ptr @__errno_location() #12
  %15873 = load i32, ptr %15872, align 4, !tbaa !5
  store i32 %15873, ptr %344, align 4, !tbaa !5
  %15874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15875 = call i32 @s2n_print_stacktrace(ptr noundef %15874)
  %15876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15877 = trunc i8 %15876 to i1
  br i1 %15877, label %15878, label %15900

15878:                                            ; preds = %15871
  %15879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15880 = call i32 @fileno(ptr noundef %15879) #11
  %15881 = call i32 @isatty(i32 noundef %15880) #11
  %15882 = icmp ne i32 %15881, 0
  br i1 %15882, label %15883, label %15900

15883:                                            ; preds = %15878
  %15884 = load i32, ptr %344, align 4, !tbaa !5
  %15885 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %15894 = call ptr @__errno_location() #12
  %15895 = load i32, ptr %15894, align 4, !tbaa !5
  %15896 = call ptr @strerror(i32 noundef %15895) #11
  %15897 = call ptr @__errno_location() #12
  %15898 = load i32, ptr %15897, align 4, !tbaa !5
  %15899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15886, ptr noundef @.str.2, i32 noundef %15887, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 728, ptr noundef %15890, ptr noundef %15893, ptr noundef %15896, i32 noundef %15898) #11
  br label %15917

15900:                                            ; preds = %15878, %15871
  %15901 = load i32, ptr %344, align 4, !tbaa !5
  %15902 = call ptr @__errno_location() #12
  store i32 %15901, ptr %15902, align 4, !tbaa !5
  %15903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15904 = load i32, ptr @test_count, align 4, !tbaa !5
  %15905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15906 = load i32, ptr %15905, align 4, !tbaa !5
  %15907 = call ptr @s2n_strerror(i32 noundef %15906, ptr noundef @.str.4)
  %15908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15909 = load i32, ptr %15908, align 4, !tbaa !5
  %15910 = call ptr @s2n_strerror_debug(i32 noundef %15909, ptr noundef @.str.4)
  %15911 = call ptr @__errno_location() #12
  %15912 = load i32, ptr %15911, align 4, !tbaa !5
  %15913 = call ptr @strerror(i32 noundef %15912) #11
  %15914 = call ptr @__errno_location() #12
  %15915 = load i32, ptr %15914, align 4, !tbaa !5
  %15916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15903, ptr noundef @.str.5, i32 noundef %15904, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 728, ptr noundef %15907, ptr noundef %15910, ptr noundef %15913, i32 noundef %15915) #11
  br label %15917

15917:                                            ; preds = %15900, %15883
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %15918

15918:                                            ; preds = %15917
  br label %15919

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

15920:                                            ; No predecessors!
  br label %15921

15921:                                            ; preds = %15920
  br label %15922

15922:                                            ; preds = %15921, %15864
  br label %15923

15923:                                            ; preds = %15922
  br label %15924

15924:                                            ; preds = %15923
  br label %15925

15925:                                            ; preds = %15924
  %15926 = load i32, ptr @test_count, align 4, !tbaa !5
  %15927 = add nsw i32 %15926, 1
  store i32 %15927, ptr @test_count, align 4, !tbaa !5
  %15928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15929 = load i32, ptr %15928, align 4, !tbaa !5
  %15930 = icmp eq i32 %15929, 402653193
  br i1 %15930, label %15984, label %15931

15931:                                            ; preds = %15925
  br label %15932

15932:                                            ; preds = %15931
  br label %15933

15933:                                            ; preds = %15932
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %15934 = call ptr @__errno_location() #12
  %15935 = load i32, ptr %15934, align 4, !tbaa !5
  store i32 %15935, ptr %345, align 4, !tbaa !5
  %15936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15937 = call i32 @s2n_print_stacktrace(ptr noundef %15936)
  %15938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15939 = trunc i8 %15938 to i1
  br i1 %15939, label %15940, label %15962

15940:                                            ; preds = %15933
  %15941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15942 = call i32 @fileno(ptr noundef %15941) #11
  %15943 = call i32 @isatty(i32 noundef %15942) #11
  %15944 = icmp ne i32 %15943, 0
  br i1 %15944, label %15945, label %15962

15945:                                            ; preds = %15940
  %15946 = load i32, ptr %345, align 4, !tbaa !5
  %15947 = call ptr @__errno_location() #12
  store i32 %15946, ptr %15947, align 4, !tbaa !5
  %15948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15949 = load i32, ptr @test_count, align 4, !tbaa !5
  %15950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15951 = load i32, ptr %15950, align 4, !tbaa !5
  %15952 = call ptr @s2n_strerror(i32 noundef %15951, ptr noundef @.str.4)
  %15953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15954 = load i32, ptr %15953, align 4, !tbaa !5
  %15955 = call ptr @s2n_strerror_debug(i32 noundef %15954, ptr noundef @.str.4)
  %15956 = call ptr @__errno_location() #12
  %15957 = load i32, ptr %15956, align 4, !tbaa !5
  %15958 = call ptr @strerror(i32 noundef %15957) #11
  %15959 = call ptr @__errno_location() #12
  %15960 = load i32, ptr %15959, align 4, !tbaa !5
  %15961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15948, ptr noundef @.str.2, i32 noundef %15949, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 728, ptr noundef %15952, ptr noundef %15955, ptr noundef %15958, i32 noundef %15960) #11
  br label %15979

15962:                                            ; preds = %15940, %15933
  %15963 = load i32, ptr %345, align 4, !tbaa !5
  %15964 = call ptr @__errno_location() #12
  store i32 %15963, ptr %15964, align 4, !tbaa !5
  %15965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15966 = load i32, ptr @test_count, align 4, !tbaa !5
  %15967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15968 = load i32, ptr %15967, align 4, !tbaa !5
  %15969 = call ptr @s2n_strerror(i32 noundef %15968, ptr noundef @.str.4)
  %15970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15971 = load i32, ptr %15970, align 4, !tbaa !5
  %15972 = call ptr @s2n_strerror_debug(i32 noundef %15971, ptr noundef @.str.4)
  %15973 = call ptr @__errno_location() #12
  %15974 = load i32, ptr %15973, align 4, !tbaa !5
  %15975 = call ptr @strerror(i32 noundef %15974) #11
  %15976 = call ptr @__errno_location() #12
  %15977 = load i32, ptr %15976, align 4, !tbaa !5
  %15978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15965, ptr noundef @.str.5, i32 noundef %15966, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 728, ptr noundef %15969, ptr noundef %15972, ptr noundef %15975, i32 noundef %15977) #11
  br label %15979

15979:                                            ; preds = %15962, %15945
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %15980

15980:                                            ; preds = %15979
  br label %15981

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

15982:                                            ; No predecessors!
  br label %15983

15983:                                            ; preds = %15982
  br label %15984

15984:                                            ; preds = %15983, %15925
  br label %15985

15985:                                            ; preds = %15984
  br label %15986

15986:                                            ; preds = %15985
  br label %15987

15987:                                            ; preds = %15986
  %15988 = load i32, ptr @test_count, align 4, !tbaa !5
  %15989 = add nsw i32 %15988, 1
  store i32 %15989, ptr @test_count, align 4, !tbaa !5
  %15990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15991 = load i32, ptr %15990, align 4, !tbaa !5
  %15992 = call ptr @s2n_strerror_debug(i32 noundef %15991, ptr noundef @.str.4)
  %15993 = icmp eq ptr %15992, null
  br i1 %15993, label %15994, label %16047

15994:                                            ; preds = %15987
  br label %15995

15995:                                            ; preds = %15994
  br label %15996

15996:                                            ; preds = %15995
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %15997 = call ptr @__errno_location() #12
  %15998 = load i32, ptr %15997, align 4, !tbaa !5
  store i32 %15998, ptr %346, align 4, !tbaa !5
  %15999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16000 = call i32 @s2n_print_stacktrace(ptr noundef %15999)
  %16001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16002 = trunc i8 %16001 to i1
  br i1 %16002, label %16003, label %16025

16003:                                            ; preds = %15996
  %16004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16005 = call i32 @fileno(ptr noundef %16004) #11
  %16006 = call i32 @isatty(i32 noundef %16005) #11
  %16007 = icmp ne i32 %16006, 0
  br i1 %16007, label %16008, label %16025

16008:                                            ; preds = %16003
  %16009 = load i32, ptr %346, align 4, !tbaa !5
  %16010 = call ptr @__errno_location() #12
  store i32 %16009, ptr %16010, align 4, !tbaa !5
  %16011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16012 = load i32, ptr @test_count, align 4, !tbaa !5
  %16013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16014 = load i32, ptr %16013, align 4, !tbaa !5
  %16015 = call ptr @s2n_strerror(i32 noundef %16014, ptr noundef @.str.4)
  %16016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16017 = load i32, ptr %16016, align 4, !tbaa !5
  %16018 = call ptr @s2n_strerror_debug(i32 noundef %16017, ptr noundef @.str.4)
  %16019 = call ptr @__errno_location() #12
  %16020 = load i32, ptr %16019, align 4, !tbaa !5
  %16021 = call ptr @strerror(i32 noundef %16020) #11
  %16022 = call ptr @__errno_location() #12
  %16023 = load i32, ptr %16022, align 4, !tbaa !5
  %16024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16011, ptr noundef @.str.2, i32 noundef %16012, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 728, ptr noundef %16015, ptr noundef %16018, ptr noundef %16021, i32 noundef %16023) #11
  br label %16042

16025:                                            ; preds = %16003, %15996
  %16026 = load i32, ptr %346, align 4, !tbaa !5
  %16027 = call ptr @__errno_location() #12
  store i32 %16026, ptr %16027, align 4, !tbaa !5
  %16028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16029 = load i32, ptr @test_count, align 4, !tbaa !5
  %16030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16031 = load i32, ptr %16030, align 4, !tbaa !5
  %16032 = call ptr @s2n_strerror(i32 noundef %16031, ptr noundef @.str.4)
  %16033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16034 = load i32, ptr %16033, align 4, !tbaa !5
  %16035 = call ptr @s2n_strerror_debug(i32 noundef %16034, ptr noundef @.str.4)
  %16036 = call ptr @__errno_location() #12
  %16037 = load i32, ptr %16036, align 4, !tbaa !5
  %16038 = call ptr @strerror(i32 noundef %16037) #11
  %16039 = call ptr @__errno_location() #12
  %16040 = load i32, ptr %16039, align 4, !tbaa !5
  %16041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16028, ptr noundef @.str.5, i32 noundef %16029, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 728, ptr noundef %16032, ptr noundef %16035, ptr noundef %16038, i32 noundef %16040) #11
  br label %16042

16042:                                            ; preds = %16025, %16008
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %16043

16043:                                            ; preds = %16042
  br label %16044

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

16045:                                            ; No predecessors!
  br label %16046

16046:                                            ; preds = %16045
  br label %16047

16047:                                            ; preds = %16046, %15987
  br label %16048

16048:                                            ; preds = %16047
  br label %16049

16049:                                            ; preds = %16048
  br label %16050

16050:                                            ; preds = %16049
  br label %16051

16051:                                            ; preds = %16050
  br label %16052

16052:                                            ; preds = %16051
  %16053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16053, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16054 = call ptr @__errno_location() #12
  store i32 0, ptr %16054, align 4, !tbaa !5
  br label %16055

16055:                                            ; preds = %16052
  br label %16056

16056:                                            ; preds = %16055
  br label %16057

16057:                                            ; preds = %16056
  br label %16058

16058:                                            ; preds = %16057
  %16059 = getelementptr inbounds %struct.s2n_connection, ptr %339, i32 0, i32 89
  store i32 6, ptr %16059, align 8, !tbaa !15
  br label %16060

16060:                                            ; preds = %16058
  br label %16061

16061:                                            ; preds = %16060
  br label %16062

16062:                                            ; preds = %16061
  %16063 = load i32, ptr @test_count, align 4, !tbaa !5
  %16064 = add nsw i32 %16063, 1
  store i32 %16064, ptr @test_count, align 4, !tbaa !5
  %16065 = call i32 @s2n_connection_get_early_data_status(ptr noundef %339, ptr noundef %340)
  %16066 = icmp eq i32 %16065, -1
  br i1 %16066, label %16120, label %16067

16067:                                            ; preds = %16062
  br label %16068

16068:                                            ; preds = %16067
  br label %16069

16069:                                            ; preds = %16068
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %16070 = call ptr @__errno_location() #12
  %16071 = load i32, ptr %16070, align 4, !tbaa !5
  store i32 %16071, ptr %347, align 4, !tbaa !5
  %16072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16073 = call i32 @s2n_print_stacktrace(ptr noundef %16072)
  %16074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16075 = trunc i8 %16074 to i1
  br i1 %16075, label %16076, label %16098

16076:                                            ; preds = %16069
  %16077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16078 = call i32 @fileno(ptr noundef %16077) #11
  %16079 = call i32 @isatty(i32 noundef %16078) #11
  %16080 = icmp ne i32 %16079, 0
  br i1 %16080, label %16081, label %16098

16081:                                            ; preds = %16076
  %16082 = load i32, ptr %347, align 4, !tbaa !5
  %16083 = call ptr @__errno_location() #12
  store i32 %16082, ptr %16083, align 4, !tbaa !5
  %16084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16085 = load i32, ptr @test_count, align 4, !tbaa !5
  %16086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16087 = load i32, ptr %16086, align 4, !tbaa !5
  %16088 = call ptr @s2n_strerror(i32 noundef %16087, ptr noundef @.str.4)
  %16089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16090 = load i32, ptr %16089, align 4, !tbaa !5
  %16091 = call ptr @s2n_strerror_debug(i32 noundef %16090, ptr noundef @.str.4)
  %16092 = call ptr @__errno_location() #12
  %16093 = load i32, ptr %16092, align 4, !tbaa !5
  %16094 = call ptr @strerror(i32 noundef %16093) #11
  %16095 = call ptr @__errno_location() #12
  %16096 = load i32, ptr %16095, align 4, !tbaa !5
  %16097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16084, ptr noundef @.str.2, i32 noundef %16085, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 731, ptr noundef %16088, ptr noundef %16091, ptr noundef %16094, i32 noundef %16096) #11
  br label %16115

16098:                                            ; preds = %16076, %16069
  %16099 = load i32, ptr %347, align 4, !tbaa !5
  %16100 = call ptr @__errno_location() #12
  store i32 %16099, ptr %16100, align 4, !tbaa !5
  %16101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16102 = load i32, ptr @test_count, align 4, !tbaa !5
  %16103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16104 = load i32, ptr %16103, align 4, !tbaa !5
  %16105 = call ptr @s2n_strerror(i32 noundef %16104, ptr noundef @.str.4)
  %16106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16107 = load i32, ptr %16106, align 4, !tbaa !5
  %16108 = call ptr @s2n_strerror_debug(i32 noundef %16107, ptr noundef @.str.4)
  %16109 = call ptr @__errno_location() #12
  %16110 = load i32, ptr %16109, align 4, !tbaa !5
  %16111 = call ptr @strerror(i32 noundef %16110) #11
  %16112 = call ptr @__errno_location() #12
  %16113 = load i32, ptr %16112, align 4, !tbaa !5
  %16114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16101, ptr noundef @.str.5, i32 noundef %16102, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 731, ptr noundef %16105, ptr noundef %16108, ptr noundef %16111, i32 noundef %16113) #11
  br label %16115

16115:                                            ; preds = %16098, %16081
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %16116

16116:                                            ; preds = %16115
  br label %16117

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

16118:                                            ; No predecessors!
  br label %16119

16119:                                            ; preds = %16118
  br label %16120

16120:                                            ; preds = %16119, %16062
  br label %16121

16121:                                            ; preds = %16120
  br label %16122

16122:                                            ; preds = %16121
  br label %16123

16123:                                            ; preds = %16122
  %16124 = load i32, ptr @test_count, align 4, !tbaa !5
  %16125 = add nsw i32 %16124, 1
  store i32 %16125, ptr @test_count, align 4, !tbaa !5
  %16126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16127 = load i32, ptr %16126, align 4, !tbaa !5
  %16128 = icmp eq i32 %16127, 402653262
  br i1 %16128, label %16182, label %16129

16129:                                            ; preds = %16123
  br label %16130

16130:                                            ; preds = %16129
  br label %16131

16131:                                            ; preds = %16130
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %16132 = call ptr @__errno_location() #12
  %16133 = load i32, ptr %16132, align 4, !tbaa !5
  store i32 %16133, ptr %348, align 4, !tbaa !5
  %16134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16135 = call i32 @s2n_print_stacktrace(ptr noundef %16134)
  %16136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16137 = trunc i8 %16136 to i1
  br i1 %16137, label %16138, label %16160

16138:                                            ; preds = %16131
  %16139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16140 = call i32 @fileno(ptr noundef %16139) #11
  %16141 = call i32 @isatty(i32 noundef %16140) #11
  %16142 = icmp ne i32 %16141, 0
  br i1 %16142, label %16143, label %16160

16143:                                            ; preds = %16138
  %16144 = load i32, ptr %348, align 4, !tbaa !5
  %16145 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %16154 = call ptr @__errno_location() #12
  %16155 = load i32, ptr %16154, align 4, !tbaa !5
  %16156 = call ptr @strerror(i32 noundef %16155) #11
  %16157 = call ptr @__errno_location() #12
  %16158 = load i32, ptr %16157, align 4, !tbaa !5
  %16159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16146, ptr noundef @.str.2, i32 noundef %16147, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 731, ptr noundef %16150, ptr noundef %16153, ptr noundef %16156, i32 noundef %16158) #11
  br label %16177

16160:                                            ; preds = %16138, %16131
  %16161 = load i32, ptr %348, align 4, !tbaa !5
  %16162 = call ptr @__errno_location() #12
  store i32 %16161, ptr %16162, align 4, !tbaa !5
  %16163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16164 = load i32, ptr @test_count, align 4, !tbaa !5
  %16165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16166 = load i32, ptr %16165, align 4, !tbaa !5
  %16167 = call ptr @s2n_strerror(i32 noundef %16166, ptr noundef @.str.4)
  %16168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16169 = load i32, ptr %16168, align 4, !tbaa !5
  %16170 = call ptr @s2n_strerror_debug(i32 noundef %16169, ptr noundef @.str.4)
  %16171 = call ptr @__errno_location() #12
  %16172 = load i32, ptr %16171, align 4, !tbaa !5
  %16173 = call ptr @strerror(i32 noundef %16172) #11
  %16174 = call ptr @__errno_location() #12
  %16175 = load i32, ptr %16174, align 4, !tbaa !5
  %16176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16163, ptr noundef @.str.5, i32 noundef %16164, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 731, ptr noundef %16167, ptr noundef %16170, ptr noundef %16173, i32 noundef %16175) #11
  br label %16177

16177:                                            ; preds = %16160, %16143
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %16178

16178:                                            ; preds = %16177
  br label %16179

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

16180:                                            ; No predecessors!
  br label %16181

16181:                                            ; preds = %16180
  br label %16182

16182:                                            ; preds = %16181, %16123
  br label %16183

16183:                                            ; preds = %16182
  br label %16184

16184:                                            ; preds = %16183
  br label %16185

16185:                                            ; preds = %16184
  %16186 = load i32, ptr @test_count, align 4, !tbaa !5
  %16187 = add nsw i32 %16186, 1
  store i32 %16187, ptr @test_count, align 4, !tbaa !5
  %16188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16189 = load i32, ptr %16188, align 4, !tbaa !5
  %16190 = call ptr @s2n_strerror_debug(i32 noundef %16189, ptr noundef @.str.4)
  %16191 = icmp eq ptr %16190, null
  br i1 %16191, label %16192, label %16245

16192:                                            ; preds = %16185
  br label %16193

16193:                                            ; preds = %16192
  br label %16194

16194:                                            ; preds = %16193
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %16195 = call ptr @__errno_location() #12
  %16196 = load i32, ptr %16195, align 4, !tbaa !5
  store i32 %16196, ptr %349, align 4, !tbaa !5
  %16197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16198 = call i32 @s2n_print_stacktrace(ptr noundef %16197)
  %16199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16200 = trunc i8 %16199 to i1
  br i1 %16200, label %16201, label %16223

16201:                                            ; preds = %16194
  %16202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16203 = call i32 @fileno(ptr noundef %16202) #11
  %16204 = call i32 @isatty(i32 noundef %16203) #11
  %16205 = icmp ne i32 %16204, 0
  br i1 %16205, label %16206, label %16223

16206:                                            ; preds = %16201
  %16207 = load i32, ptr %349, align 4, !tbaa !5
  %16208 = call ptr @__errno_location() #12
  store i32 %16207, ptr %16208, align 4, !tbaa !5
  %16209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16210 = load i32, ptr @test_count, align 4, !tbaa !5
  %16211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16212 = load i32, ptr %16211, align 4, !tbaa !5
  %16213 = call ptr @s2n_strerror(i32 noundef %16212, ptr noundef @.str.4)
  %16214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16215 = load i32, ptr %16214, align 4, !tbaa !5
  %16216 = call ptr @s2n_strerror_debug(i32 noundef %16215, ptr noundef @.str.4)
  %16217 = call ptr @__errno_location() #12
  %16218 = load i32, ptr %16217, align 4, !tbaa !5
  %16219 = call ptr @strerror(i32 noundef %16218) #11
  %16220 = call ptr @__errno_location() #12
  %16221 = load i32, ptr %16220, align 4, !tbaa !5
  %16222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16209, ptr noundef @.str.2, i32 noundef %16210, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 731, ptr noundef %16213, ptr noundef %16216, ptr noundef %16219, i32 noundef %16221) #11
  br label %16240

16223:                                            ; preds = %16201, %16194
  %16224 = load i32, ptr %349, align 4, !tbaa !5
  %16225 = call ptr @__errno_location() #12
  store i32 %16224, ptr %16225, align 4, !tbaa !5
  %16226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16227 = load i32, ptr @test_count, align 4, !tbaa !5
  %16228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16229 = load i32, ptr %16228, align 4, !tbaa !5
  %16230 = call ptr @s2n_strerror(i32 noundef %16229, ptr noundef @.str.4)
  %16231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16232 = load i32, ptr %16231, align 4, !tbaa !5
  %16233 = call ptr @s2n_strerror_debug(i32 noundef %16232, ptr noundef @.str.4)
  %16234 = call ptr @__errno_location() #12
  %16235 = load i32, ptr %16234, align 4, !tbaa !5
  %16236 = call ptr @strerror(i32 noundef %16235) #11
  %16237 = call ptr @__errno_location() #12
  %16238 = load i32, ptr %16237, align 4, !tbaa !5
  %16239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16226, ptr noundef @.str.5, i32 noundef %16227, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 731, ptr noundef %16230, ptr noundef %16233, ptr noundef %16236, i32 noundef %16238) #11
  br label %16240

16240:                                            ; preds = %16223, %16206
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %16241

16241:                                            ; preds = %16240
  br label %16242

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

16243:                                            ; No predecessors!
  br label %16244

16244:                                            ; preds = %16243
  br label %16245

16245:                                            ; preds = %16244, %16185
  br label %16246

16246:                                            ; preds = %16245
  br label %16247

16247:                                            ; preds = %16246
  br label %16248

16248:                                            ; preds = %16247
  br label %16249

16249:                                            ; preds = %16248
  br label %16250

16250:                                            ; preds = %16249
  %16251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16251, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16252 = call ptr @__errno_location() #12
  store i32 0, ptr %16252, align 4, !tbaa !5
  br label %16253

16253:                                            ; preds = %16250
  br label %16254

16254:                                            ; preds = %16253
  br label %16255

16255:                                            ; preds = %16254
  br label %16256

16256:                                            ; preds = %16255
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr %339) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %350) #11
  %16257 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16257, ptr %350, align 8, !tbaa !9
  br label %16258

16258:                                            ; preds = %16256
  %16259 = load i32, ptr @test_count, align 4, !tbaa !5
  %16260 = add nsw i32 %16259, 1
  store i32 %16260, ptr @test_count, align 4, !tbaa !5
  %16261 = load ptr, ptr %350, align 8, !tbaa !9
  %16262 = icmp eq ptr %16261, null
  br i1 %16262, label %16263, label %16316

16263:                                            ; preds = %16258
  br label %16264

16264:                                            ; preds = %16263
  br label %16265

16265:                                            ; preds = %16264
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %16266 = call ptr @__errno_location() #12
  %16267 = load i32, ptr %16266, align 4, !tbaa !5
  store i32 %16267, ptr %351, align 4, !tbaa !5
  %16268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16269 = call i32 @s2n_print_stacktrace(ptr noundef %16268)
  %16270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16271 = trunc i8 %16270 to i1
  br i1 %16271, label %16272, label %16294

16272:                                            ; preds = %16265
  %16273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16274 = call i32 @fileno(ptr noundef %16273) #11
  %16275 = call i32 @isatty(i32 noundef %16274) #11
  %16276 = icmp ne i32 %16275, 0
  br i1 %16276, label %16277, label %16294

16277:                                            ; preds = %16272
  %16278 = load i32, ptr %351, align 4, !tbaa !5
  %16279 = call ptr @__errno_location() #12
  store i32 %16278, ptr %16279, align 4, !tbaa !5
  %16280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16281 = load i32, ptr @test_count, align 4, !tbaa !5
  %16282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16283 = load i32, ptr %16282, align 4, !tbaa !5
  %16284 = call ptr @s2n_strerror(i32 noundef %16283, ptr noundef @.str.4)
  %16285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16286 = load i32, ptr %16285, align 4, !tbaa !5
  %16287 = call ptr @s2n_strerror_debug(i32 noundef %16286, ptr noundef @.str.4)
  %16288 = call ptr @__errno_location() #12
  %16289 = load i32, ptr %16288, align 4, !tbaa !5
  %16290 = call ptr @strerror(i32 noundef %16289) #11
  %16291 = call ptr @__errno_location() #12
  %16292 = load i32, ptr %16291, align 4, !tbaa !5
  %16293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16280, ptr noundef @.str.2, i32 noundef %16281, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 737, ptr noundef %16284, ptr noundef %16287, ptr noundef %16290, i32 noundef %16292) #11
  br label %16311

16294:                                            ; preds = %16272, %16265
  %16295 = load i32, ptr %351, align 4, !tbaa !5
  %16296 = call ptr @__errno_location() #12
  store i32 %16295, ptr %16296, align 4, !tbaa !5
  %16297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16298 = load i32, ptr @test_count, align 4, !tbaa !5
  %16299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16300 = load i32, ptr %16299, align 4, !tbaa !5
  %16301 = call ptr @s2n_strerror(i32 noundef %16300, ptr noundef @.str.4)
  %16302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16303 = load i32, ptr %16302, align 4, !tbaa !5
  %16304 = call ptr @s2n_strerror_debug(i32 noundef %16303, ptr noundef @.str.4)
  %16305 = call ptr @__errno_location() #12
  %16306 = load i32, ptr %16305, align 4, !tbaa !5
  %16307 = call ptr @strerror(i32 noundef %16306) #11
  %16308 = call ptr @__errno_location() #12
  %16309 = load i32, ptr %16308, align 4, !tbaa !5
  %16310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16297, ptr noundef @.str.5, i32 noundef %16298, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 737, ptr noundef %16301, ptr noundef %16304, ptr noundef %16307, i32 noundef %16309) #11
  br label %16311

16311:                                            ; preds = %16294, %16277
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %16312

16312:                                            ; preds = %16311
  br label %16313

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

16314:                                            ; No predecessors!
  br label %16315

16315:                                            ; preds = %16314
  br label %16316

16316:                                            ; preds = %16315, %16258
  br label %16317

16317:                                            ; preds = %16316
  br label %16318

16318:                                            ; preds = %16317
  br label %16319

16319:                                            ; preds = %16318
  %16320 = load i32, ptr @test_count, align 4, !tbaa !5
  %16321 = add nsw i32 %16320, 1
  store i32 %16321, ptr @test_count, align 4, !tbaa !5
  %16322 = load ptr, ptr %350, align 8, !tbaa !9
  %16323 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %16322, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %16324 = getelementptr inbounds %struct.s2n_result, ptr %352, i32 0, i32 0
  store i32 %16323, ptr %16324, align 4
  %16325 = getelementptr inbounds %struct.s2n_result, ptr %352, i32 0, i32 0
  %16326 = load i32, ptr %16325, align 4
  %16327 = call zeroext i1 @s2n_result_is_ok(i32 %16326)
  br i1 %16327, label %16381, label %16328

16328:                                            ; preds = %16319
  br label %16329

16329:                                            ; preds = %16328
  br label %16330

16330:                                            ; preds = %16329
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %16331 = call ptr @__errno_location() #12
  %16332 = load i32, ptr %16331, align 4, !tbaa !5
  store i32 %16332, ptr %353, align 4, !tbaa !5
  %16333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16334 = call i32 @s2n_print_stacktrace(ptr noundef %16333)
  %16335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16336 = trunc i8 %16335 to i1
  br i1 %16336, label %16337, label %16359

16337:                                            ; preds = %16330
  %16338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16339 = call i32 @fileno(ptr noundef %16338) #11
  %16340 = call i32 @isatty(i32 noundef %16339) #11
  %16341 = icmp ne i32 %16340, 0
  br i1 %16341, label %16342, label %16359

16342:                                            ; preds = %16337
  %16343 = load i32, ptr %353, align 4, !tbaa !5
  %16344 = call ptr @__errno_location() #12
  store i32 %16343, ptr %16344, align 4, !tbaa !5
  %16345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16346 = load i32, ptr @test_count, align 4, !tbaa !5
  %16347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16348 = load i32, ptr %16347, align 4, !tbaa !5
  %16349 = call ptr @s2n_strerror(i32 noundef %16348, ptr noundef @.str.4)
  %16350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16351 = load i32, ptr %16350, align 4, !tbaa !5
  %16352 = call ptr @s2n_strerror_debug(i32 noundef %16351, ptr noundef @.str.4)
  %16353 = call ptr @__errno_location() #12
  %16354 = load i32, ptr %16353, align 4, !tbaa !5
  %16355 = call ptr @strerror(i32 noundef %16354) #11
  %16356 = call ptr @__errno_location() #12
  %16357 = load i32, ptr %16356, align 4, !tbaa !5
  %16358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16345, ptr noundef @.str.2, i32 noundef %16346, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 738, ptr noundef %16349, ptr noundef %16352, ptr noundef %16355, i32 noundef %16357) #11
  br label %16376

16359:                                            ; preds = %16337, %16330
  %16360 = load i32, ptr %353, align 4, !tbaa !5
  %16361 = call ptr @__errno_location() #12
  store i32 %16360, ptr %16361, align 4, !tbaa !5
  %16362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16363 = load i32, ptr @test_count, align 4, !tbaa !5
  %16364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16365 = load i32, ptr %16364, align 4, !tbaa !5
  %16366 = call ptr @s2n_strerror(i32 noundef %16365, ptr noundef @.str.4)
  %16367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16368 = load i32, ptr %16367, align 4, !tbaa !5
  %16369 = call ptr @s2n_strerror_debug(i32 noundef %16368, ptr noundef @.str.4)
  %16370 = call ptr @__errno_location() #12
  %16371 = load i32, ptr %16370, align 4, !tbaa !5
  %16372 = call ptr @strerror(i32 noundef %16371) #11
  %16373 = call ptr @__errno_location() #12
  %16374 = load i32, ptr %16373, align 4, !tbaa !5
  %16375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16362, ptr noundef @.str.5, i32 noundef %16363, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 738, ptr noundef %16366, ptr noundef %16369, ptr noundef %16372, i32 noundef %16374) #11
  br label %16376

16376:                                            ; preds = %16359, %16342
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %16377

16377:                                            ; preds = %16376
  br label %16378

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

16379:                                            ; No predecessors!
  br label %16380

16380:                                            ; preds = %16379
  br label %16381

16381:                                            ; preds = %16380, %16319
  br label %16382

16382:                                            ; preds = %16381
  br label %16383

16383:                                            ; preds = %16382
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  store i32 0, ptr %354, align 4, !tbaa !5
  br label %16384

16384:                                            ; preds = %16383
  %16385 = load i32, ptr @test_count, align 4, !tbaa !5
  %16386 = add nsw i32 %16385, 1
  store i32 %16386, ptr @test_count, align 4, !tbaa !5
  %16387 = load ptr, ptr %350, align 8, !tbaa !9
  %16388 = call i32 @s2n_connection_get_early_data_status(ptr noundef %16387, ptr noundef %354)
  %16389 = icmp eq i32 %16388, -1
  br i1 %16389, label %16390, label %16443

16390:                                            ; preds = %16384
  br label %16391

16391:                                            ; preds = %16390
  br label %16392

16392:                                            ; preds = %16391
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %16393 = call ptr @__errno_location() #12
  %16394 = load i32, ptr %16393, align 4, !tbaa !5
  store i32 %16394, ptr %355, align 4, !tbaa !5
  %16395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16396 = call i32 @s2n_print_stacktrace(ptr noundef %16395)
  %16397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16398 = trunc i8 %16397 to i1
  br i1 %16398, label %16399, label %16421

16399:                                            ; preds = %16392
  %16400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16401 = call i32 @fileno(ptr noundef %16400) #11
  %16402 = call i32 @isatty(i32 noundef %16401) #11
  %16403 = icmp ne i32 %16402, 0
  br i1 %16403, label %16404, label %16421

16404:                                            ; preds = %16399
  %16405 = load i32, ptr %355, align 4, !tbaa !5
  %16406 = call ptr @__errno_location() #12
  store i32 %16405, ptr %16406, align 4, !tbaa !5
  %16407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16408 = load i32, ptr @test_count, align 4, !tbaa !5
  %16409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16410 = load i32, ptr %16409, align 4, !tbaa !5
  %16411 = call ptr @s2n_strerror(i32 noundef %16410, ptr noundef @.str.4)
  %16412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16413 = load i32, ptr %16412, align 4, !tbaa !5
  %16414 = call ptr @s2n_strerror_debug(i32 noundef %16413, ptr noundef @.str.4)
  %16415 = call ptr @__errno_location() #12
  %16416 = load i32, ptr %16415, align 4, !tbaa !5
  %16417 = call ptr @strerror(i32 noundef %16416) #11
  %16418 = call ptr @__errno_location() #12
  %16419 = load i32, ptr %16418, align 4, !tbaa !5
  %16420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16407, ptr noundef @.str.2, i32 noundef %16408, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 742, ptr noundef %16411, ptr noundef %16414, ptr noundef %16417, i32 noundef %16419) #11
  br label %16438

16421:                                            ; preds = %16399, %16392
  %16422 = load i32, ptr %355, align 4, !tbaa !5
  %16423 = call ptr @__errno_location() #12
  store i32 %16422, ptr %16423, align 4, !tbaa !5
  %16424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16425 = load i32, ptr @test_count, align 4, !tbaa !5
  %16426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16427 = load i32, ptr %16426, align 4, !tbaa !5
  %16428 = call ptr @s2n_strerror(i32 noundef %16427, ptr noundef @.str.4)
  %16429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16430 = load i32, ptr %16429, align 4, !tbaa !5
  %16431 = call ptr @s2n_strerror_debug(i32 noundef %16430, ptr noundef @.str.4)
  %16432 = call ptr @__errno_location() #12
  %16433 = load i32, ptr %16432, align 4, !tbaa !5
  %16434 = call ptr @strerror(i32 noundef %16433) #11
  %16435 = call ptr @__errno_location() #12
  %16436 = load i32, ptr %16435, align 4, !tbaa !5
  %16437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16424, ptr noundef @.str.5, i32 noundef %16425, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 742, ptr noundef %16428, ptr noundef %16431, ptr noundef %16434, i32 noundef %16436) #11
  br label %16438

16438:                                            ; preds = %16421, %16404
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %16439

16439:                                            ; preds = %16438
  br label %16440

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

16441:                                            ; No predecessors!
  br label %16442

16442:                                            ; preds = %16441
  br label %16443

16443:                                            ; preds = %16442, %16384
  br label %16444

16444:                                            ; preds = %16443
  br label %16445

16445:                                            ; preds = %16444
  br label %16446

16446:                                            ; preds = %16445
  %16447 = load i32, ptr @test_count, align 4, !tbaa !5
  %16448 = add nsw i32 %16447, 1
  store i32 %16448, ptr @test_count, align 4, !tbaa !5
  %16449 = load i32, ptr %354, align 4, !tbaa !5
  %16450 = icmp eq i32 %16449, 0
  br i1 %16450, label %16504, label %16451

16451:                                            ; preds = %16446
  br label %16452

16452:                                            ; preds = %16451
  br label %16453

16453:                                            ; preds = %16452
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %16454 = call ptr @__errno_location() #12
  %16455 = load i32, ptr %16454, align 4, !tbaa !5
  store i32 %16455, ptr %356, align 4, !tbaa !5
  %16456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16457 = call i32 @s2n_print_stacktrace(ptr noundef %16456)
  %16458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16459 = trunc i8 %16458 to i1
  br i1 %16459, label %16460, label %16482

16460:                                            ; preds = %16453
  %16461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16462 = call i32 @fileno(ptr noundef %16461) #11
  %16463 = call i32 @isatty(i32 noundef %16462) #11
  %16464 = icmp ne i32 %16463, 0
  br i1 %16464, label %16465, label %16482

16465:                                            ; preds = %16460
  %16466 = load i32, ptr %356, align 4, !tbaa !5
  %16467 = call ptr @__errno_location() #12
  store i32 %16466, ptr %16467, align 4, !tbaa !5
  %16468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16469 = load i32, ptr @test_count, align 4, !tbaa !5
  %16470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = call ptr @s2n_strerror(i32 noundef %16471, ptr noundef @.str.4)
  %16473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16474 = load i32, ptr %16473, align 4, !tbaa !5
  %16475 = call ptr @s2n_strerror_debug(i32 noundef %16474, ptr noundef @.str.4)
  %16476 = call ptr @__errno_location() #12
  %16477 = load i32, ptr %16476, align 4, !tbaa !5
  %16478 = call ptr @strerror(i32 noundef %16477) #11
  %16479 = call ptr @__errno_location() #12
  %16480 = load i32, ptr %16479, align 4, !tbaa !5
  %16481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16468, ptr noundef @.str.2, i32 noundef %16469, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 743, ptr noundef %16472, ptr noundef %16475, ptr noundef %16478, i32 noundef %16480) #11
  br label %16499

16482:                                            ; preds = %16460, %16453
  %16483 = load i32, ptr %356, align 4, !tbaa !5
  %16484 = call ptr @__errno_location() #12
  store i32 %16483, ptr %16484, align 4, !tbaa !5
  %16485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16486 = load i32, ptr @test_count, align 4, !tbaa !5
  %16487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16488 = load i32, ptr %16487, align 4, !tbaa !5
  %16489 = call ptr @s2n_strerror(i32 noundef %16488, ptr noundef @.str.4)
  %16490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16491 = load i32, ptr %16490, align 4, !tbaa !5
  %16492 = call ptr @s2n_strerror_debug(i32 noundef %16491, ptr noundef @.str.4)
  %16493 = call ptr @__errno_location() #12
  %16494 = load i32, ptr %16493, align 4, !tbaa !5
  %16495 = call ptr @strerror(i32 noundef %16494) #11
  %16496 = call ptr @__errno_location() #12
  %16497 = load i32, ptr %16496, align 4, !tbaa !5
  %16498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16485, ptr noundef @.str.5, i32 noundef %16486, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 743, ptr noundef %16489, ptr noundef %16492, ptr noundef %16495, i32 noundef %16497) #11
  br label %16499

16499:                                            ; preds = %16482, %16465
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %16500

16500:                                            ; preds = %16499
  br label %16501

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

16502:                                            ; No predecessors!
  br label %16503

16503:                                            ; preds = %16502
  br label %16504

16504:                                            ; preds = %16503, %16446
  br label %16505

16505:                                            ; preds = %16504
  br label %16506

16506:                                            ; preds = %16505
  %16507 = load ptr, ptr %350, align 8, !tbaa !9
  %16508 = getelementptr inbounds %struct.s2n_connection, ptr %16507, i32 0, i32 89
  store i32 2, ptr %16508, align 8, !tbaa !15
  br label %16509

16509:                                            ; preds = %16506
  %16510 = load i32, ptr @test_count, align 4, !tbaa !5
  %16511 = add nsw i32 %16510, 1
  store i32 %16511, ptr @test_count, align 4, !tbaa !5
  %16512 = load ptr, ptr %350, align 8, !tbaa !9
  %16513 = call i32 @s2n_connection_get_early_data_status(ptr noundef %16512, ptr noundef %354)
  %16514 = icmp eq i32 %16513, -1
  br i1 %16514, label %16515, label %16568

16515:                                            ; preds = %16509
  br label %16516

16516:                                            ; preds = %16515
  br label %16517

16517:                                            ; preds = %16516
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #11
  %16518 = call ptr @__errno_location() #12
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  store i32 %16519, ptr %357, align 4, !tbaa !5
  %16520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16521 = call i32 @s2n_print_stacktrace(ptr noundef %16520)
  %16522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16523 = trunc i8 %16522 to i1
  br i1 %16523, label %16524, label %16546

16524:                                            ; preds = %16517
  %16525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16526 = call i32 @fileno(ptr noundef %16525) #11
  %16527 = call i32 @isatty(i32 noundef %16526) #11
  %16528 = icmp ne i32 %16527, 0
  br i1 %16528, label %16529, label %16546

16529:                                            ; preds = %16524
  %16530 = load i32, ptr %357, align 4, !tbaa !5
  %16531 = call ptr @__errno_location() #12
  store i32 %16530, ptr %16531, align 4, !tbaa !5
  %16532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16533 = load i32, ptr @test_count, align 4, !tbaa !5
  %16534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16535 = load i32, ptr %16534, align 4, !tbaa !5
  %16536 = call ptr @s2n_strerror(i32 noundef %16535, ptr noundef @.str.4)
  %16537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16538 = load i32, ptr %16537, align 4, !tbaa !5
  %16539 = call ptr @s2n_strerror_debug(i32 noundef %16538, ptr noundef @.str.4)
  %16540 = call ptr @__errno_location() #12
  %16541 = load i32, ptr %16540, align 4, !tbaa !5
  %16542 = call ptr @strerror(i32 noundef %16541) #11
  %16543 = call ptr @__errno_location() #12
  %16544 = load i32, ptr %16543, align 4, !tbaa !5
  %16545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16532, ptr noundef @.str.2, i32 noundef %16533, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 746, ptr noundef %16536, ptr noundef %16539, ptr noundef %16542, i32 noundef %16544) #11
  br label %16563

16546:                                            ; preds = %16524, %16517
  %16547 = load i32, ptr %357, align 4, !tbaa !5
  %16548 = call ptr @__errno_location() #12
  store i32 %16547, ptr %16548, align 4, !tbaa !5
  %16549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16550 = load i32, ptr @test_count, align 4, !tbaa !5
  %16551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16552 = load i32, ptr %16551, align 4, !tbaa !5
  %16553 = call ptr @s2n_strerror(i32 noundef %16552, ptr noundef @.str.4)
  %16554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16555 = load i32, ptr %16554, align 4, !tbaa !5
  %16556 = call ptr @s2n_strerror_debug(i32 noundef %16555, ptr noundef @.str.4)
  %16557 = call ptr @__errno_location() #12
  %16558 = load i32, ptr %16557, align 4, !tbaa !5
  %16559 = call ptr @strerror(i32 noundef %16558) #11
  %16560 = call ptr @__errno_location() #12
  %16561 = load i32, ptr %16560, align 4, !tbaa !5
  %16562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16549, ptr noundef @.str.5, i32 noundef %16550, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 746, ptr noundef %16553, ptr noundef %16556, ptr noundef %16559, i32 noundef %16561) #11
  br label %16563

16563:                                            ; preds = %16546, %16529
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #11
  br label %16564

16564:                                            ; preds = %16563
  br label %16565

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

16566:                                            ; No predecessors!
  br label %16567

16567:                                            ; preds = %16566
  br label %16568

16568:                                            ; preds = %16567, %16509
  br label %16569

16569:                                            ; preds = %16568
  br label %16570

16570:                                            ; preds = %16569
  br label %16571

16571:                                            ; preds = %16570
  %16572 = load i32, ptr @test_count, align 4, !tbaa !5
  %16573 = add nsw i32 %16572, 1
  store i32 %16573, ptr @test_count, align 4, !tbaa !5
  %16574 = load i32, ptr %354, align 4, !tbaa !5
  %16575 = icmp eq i32 %16574, 1
  br i1 %16575, label %16629, label %16576

16576:                                            ; preds = %16571
  br label %16577

16577:                                            ; preds = %16576
  br label %16578

16578:                                            ; preds = %16577
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #11
  %16579 = call ptr @__errno_location() #12
  %16580 = load i32, ptr %16579, align 4, !tbaa !5
  store i32 %16580, ptr %358, align 4, !tbaa !5
  %16581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16582 = call i32 @s2n_print_stacktrace(ptr noundef %16581)
  %16583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16584 = trunc i8 %16583 to i1
  br i1 %16584, label %16585, label %16607

16585:                                            ; preds = %16578
  %16586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16587 = call i32 @fileno(ptr noundef %16586) #11
  %16588 = call i32 @isatty(i32 noundef %16587) #11
  %16589 = icmp ne i32 %16588, 0
  br i1 %16589, label %16590, label %16607

16590:                                            ; preds = %16585
  %16591 = load i32, ptr %358, align 4, !tbaa !5
  %16592 = call ptr @__errno_location() #12
  store i32 %16591, ptr %16592, align 4, !tbaa !5
  %16593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16594 = load i32, ptr @test_count, align 4, !tbaa !5
  %16595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16596 = load i32, ptr %16595, align 4, !tbaa !5
  %16597 = call ptr @s2n_strerror(i32 noundef %16596, ptr noundef @.str.4)
  %16598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16599 = load i32, ptr %16598, align 4, !tbaa !5
  %16600 = call ptr @s2n_strerror_debug(i32 noundef %16599, ptr noundef @.str.4)
  %16601 = call ptr @__errno_location() #12
  %16602 = load i32, ptr %16601, align 4, !tbaa !5
  %16603 = call ptr @strerror(i32 noundef %16602) #11
  %16604 = call ptr @__errno_location() #12
  %16605 = load i32, ptr %16604, align 4, !tbaa !5
  %16606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16593, ptr noundef @.str.2, i32 noundef %16594, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 747, ptr noundef %16597, ptr noundef %16600, ptr noundef %16603, i32 noundef %16605) #11
  br label %16624

16607:                                            ; preds = %16585, %16578
  %16608 = load i32, ptr %358, align 4, !tbaa !5
  %16609 = call ptr @__errno_location() #12
  store i32 %16608, ptr %16609, align 4, !tbaa !5
  %16610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16611 = load i32, ptr @test_count, align 4, !tbaa !5
  %16612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16613 = load i32, ptr %16612, align 4, !tbaa !5
  %16614 = call ptr @s2n_strerror(i32 noundef %16613, ptr noundef @.str.4)
  %16615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16616 = load i32, ptr %16615, align 4, !tbaa !5
  %16617 = call ptr @s2n_strerror_debug(i32 noundef %16616, ptr noundef @.str.4)
  %16618 = call ptr @__errno_location() #12
  %16619 = load i32, ptr %16618, align 4, !tbaa !5
  %16620 = call ptr @strerror(i32 noundef %16619) #11
  %16621 = call ptr @__errno_location() #12
  %16622 = load i32, ptr %16621, align 4, !tbaa !5
  %16623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16610, ptr noundef @.str.5, i32 noundef %16611, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 747, ptr noundef %16614, ptr noundef %16617, ptr noundef %16620, i32 noundef %16622) #11
  br label %16624

16624:                                            ; preds = %16607, %16590
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #11
  br label %16625

16625:                                            ; preds = %16624
  br label %16626

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

16627:                                            ; No predecessors!
  br label %16628

16628:                                            ; preds = %16627
  br label %16629

16629:                                            ; preds = %16628, %16571
  br label %16630

16630:                                            ; preds = %16629
  br label %16631

16631:                                            ; preds = %16630
  %16632 = load ptr, ptr %350, align 8, !tbaa !9
  %16633 = getelementptr inbounds %struct.s2n_connection, ptr %16632, i32 0, i32 89
  store i32 1, ptr %16633, align 8, !tbaa !15
  br label %16634

16634:                                            ; preds = %16631
  %16635 = load i32, ptr @test_count, align 4, !tbaa !5
  %16636 = add nsw i32 %16635, 1
  store i32 %16636, ptr @test_count, align 4, !tbaa !5
  %16637 = load ptr, ptr %350, align 8, !tbaa !9
  %16638 = call i32 @s2n_connection_get_early_data_status(ptr noundef %16637, ptr noundef %354)
  %16639 = icmp eq i32 %16638, -1
  br i1 %16639, label %16640, label %16693

16640:                                            ; preds = %16634
  br label %16641

16641:                                            ; preds = %16640
  br label %16642

16642:                                            ; preds = %16641
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %16643 = call ptr @__errno_location() #12
  %16644 = load i32, ptr %16643, align 4, !tbaa !5
  store i32 %16644, ptr %359, align 4, !tbaa !5
  %16645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16646 = call i32 @s2n_print_stacktrace(ptr noundef %16645)
  %16647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16648 = trunc i8 %16647 to i1
  br i1 %16648, label %16649, label %16671

16649:                                            ; preds = %16642
  %16650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16651 = call i32 @fileno(ptr noundef %16650) #11
  %16652 = call i32 @isatty(i32 noundef %16651) #11
  %16653 = icmp ne i32 %16652, 0
  br i1 %16653, label %16654, label %16671

16654:                                            ; preds = %16649
  %16655 = load i32, ptr %359, align 4, !tbaa !5
  %16656 = call ptr @__errno_location() #12
  store i32 %16655, ptr %16656, align 4, !tbaa !5
  %16657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16658 = load i32, ptr @test_count, align 4, !tbaa !5
  %16659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16660 = load i32, ptr %16659, align 4, !tbaa !5
  %16661 = call ptr @s2n_strerror(i32 noundef %16660, ptr noundef @.str.4)
  %16662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16663 = load i32, ptr %16662, align 4, !tbaa !5
  %16664 = call ptr @s2n_strerror_debug(i32 noundef %16663, ptr noundef @.str.4)
  %16665 = call ptr @__errno_location() #12
  %16666 = load i32, ptr %16665, align 4, !tbaa !5
  %16667 = call ptr @strerror(i32 noundef %16666) #11
  %16668 = call ptr @__errno_location() #12
  %16669 = load i32, ptr %16668, align 4, !tbaa !5
  %16670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16657, ptr noundef @.str.2, i32 noundef %16658, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 750, ptr noundef %16661, ptr noundef %16664, ptr noundef %16667, i32 noundef %16669) #11
  br label %16688

16671:                                            ; preds = %16649, %16642
  %16672 = load i32, ptr %359, align 4, !tbaa !5
  %16673 = call ptr @__errno_location() #12
  store i32 %16672, ptr %16673, align 4, !tbaa !5
  %16674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16675 = load i32, ptr @test_count, align 4, !tbaa !5
  %16676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16677 = load i32, ptr %16676, align 4, !tbaa !5
  %16678 = call ptr @s2n_strerror(i32 noundef %16677, ptr noundef @.str.4)
  %16679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16680 = load i32, ptr %16679, align 4, !tbaa !5
  %16681 = call ptr @s2n_strerror_debug(i32 noundef %16680, ptr noundef @.str.4)
  %16682 = call ptr @__errno_location() #12
  %16683 = load i32, ptr %16682, align 4, !tbaa !5
  %16684 = call ptr @strerror(i32 noundef %16683) #11
  %16685 = call ptr @__errno_location() #12
  %16686 = load i32, ptr %16685, align 4, !tbaa !5
  %16687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16674, ptr noundef @.str.5, i32 noundef %16675, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 750, ptr noundef %16678, ptr noundef %16681, ptr noundef %16684, i32 noundef %16686) #11
  br label %16688

16688:                                            ; preds = %16671, %16654
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %16689

16689:                                            ; preds = %16688
  br label %16690

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

16691:                                            ; No predecessors!
  br label %16692

16692:                                            ; preds = %16691
  br label %16693

16693:                                            ; preds = %16692, %16634
  br label %16694

16694:                                            ; preds = %16693
  br label %16695

16695:                                            ; preds = %16694
  br label %16696

16696:                                            ; preds = %16695
  %16697 = load i32, ptr @test_count, align 4, !tbaa !5
  %16698 = add nsw i32 %16697, 1
  store i32 %16698, ptr @test_count, align 4, !tbaa !5
  %16699 = load i32, ptr %354, align 4, !tbaa !5
  %16700 = icmp eq i32 %16699, 0
  br i1 %16700, label %16754, label %16701

16701:                                            ; preds = %16696
  br label %16702

16702:                                            ; preds = %16701
  br label %16703

16703:                                            ; preds = %16702
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %16704 = call ptr @__errno_location() #12
  %16705 = load i32, ptr %16704, align 4, !tbaa !5
  store i32 %16705, ptr %360, align 4, !tbaa !5
  %16706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16707 = call i32 @s2n_print_stacktrace(ptr noundef %16706)
  %16708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16709 = trunc i8 %16708 to i1
  br i1 %16709, label %16710, label %16732

16710:                                            ; preds = %16703
  %16711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16712 = call i32 @fileno(ptr noundef %16711) #11
  %16713 = call i32 @isatty(i32 noundef %16712) #11
  %16714 = icmp ne i32 %16713, 0
  br i1 %16714, label %16715, label %16732

16715:                                            ; preds = %16710
  %16716 = load i32, ptr %360, align 4, !tbaa !5
  %16717 = call ptr @__errno_location() #12
  store i32 %16716, ptr %16717, align 4, !tbaa !5
  %16718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16719 = load i32, ptr @test_count, align 4, !tbaa !5
  %16720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16721 = load i32, ptr %16720, align 4, !tbaa !5
  %16722 = call ptr @s2n_strerror(i32 noundef %16721, ptr noundef @.str.4)
  %16723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16724 = load i32, ptr %16723, align 4, !tbaa !5
  %16725 = call ptr @s2n_strerror_debug(i32 noundef %16724, ptr noundef @.str.4)
  %16726 = call ptr @__errno_location() #12
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  %16728 = call ptr @strerror(i32 noundef %16727) #11
  %16729 = call ptr @__errno_location() #12
  %16730 = load i32, ptr %16729, align 4, !tbaa !5
  %16731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16718, ptr noundef @.str.2, i32 noundef %16719, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 751, ptr noundef %16722, ptr noundef %16725, ptr noundef %16728, i32 noundef %16730) #11
  br label %16749

16732:                                            ; preds = %16710, %16703
  %16733 = load i32, ptr %360, align 4, !tbaa !5
  %16734 = call ptr @__errno_location() #12
  store i32 %16733, ptr %16734, align 4, !tbaa !5
  %16735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16736 = load i32, ptr @test_count, align 4, !tbaa !5
  %16737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16738 = load i32, ptr %16737, align 4, !tbaa !5
  %16739 = call ptr @s2n_strerror(i32 noundef %16738, ptr noundef @.str.4)
  %16740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16741 = load i32, ptr %16740, align 4, !tbaa !5
  %16742 = call ptr @s2n_strerror_debug(i32 noundef %16741, ptr noundef @.str.4)
  %16743 = call ptr @__errno_location() #12
  %16744 = load i32, ptr %16743, align 4, !tbaa !5
  %16745 = call ptr @strerror(i32 noundef %16744) #11
  %16746 = call ptr @__errno_location() #12
  %16747 = load i32, ptr %16746, align 4, !tbaa !5
  %16748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16735, ptr noundef @.str.5, i32 noundef %16736, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 751, ptr noundef %16739, ptr noundef %16742, ptr noundef %16745, i32 noundef %16747) #11
  br label %16749

16749:                                            ; preds = %16732, %16715
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %16750

16750:                                            ; preds = %16749
  br label %16751

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

16752:                                            ; No predecessors!
  br label %16753

16753:                                            ; preds = %16752
  br label %16754

16754:                                            ; preds = %16753, %16696
  br label %16755

16755:                                            ; preds = %16754
  br label %16756

16756:                                            ; preds = %16755
  %16757 = load ptr, ptr %350, align 8, !tbaa !9
  %16758 = getelementptr inbounds %struct.s2n_connection, ptr %16757, i32 0, i32 89
  store i32 4, ptr %16758, align 8, !tbaa !15
  br label %16759

16759:                                            ; preds = %16756
  %16760 = load i32, ptr @test_count, align 4, !tbaa !5
  %16761 = add nsw i32 %16760, 1
  store i32 %16761, ptr @test_count, align 4, !tbaa !5
  %16762 = load ptr, ptr %350, align 8, !tbaa !9
  %16763 = call i32 @s2n_connection_get_early_data_status(ptr noundef %16762, ptr noundef %354)
  %16764 = icmp eq i32 %16763, -1
  br i1 %16764, label %16765, label %16818

16765:                                            ; preds = %16759
  br label %16766

16766:                                            ; preds = %16765
  br label %16767

16767:                                            ; preds = %16766
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %16768 = call ptr @__errno_location() #12
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  store i32 %16769, ptr %361, align 4, !tbaa !5
  %16770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16771 = call i32 @s2n_print_stacktrace(ptr noundef %16770)
  %16772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16773 = trunc i8 %16772 to i1
  br i1 %16773, label %16774, label %16796

16774:                                            ; preds = %16767
  %16775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16776 = call i32 @fileno(ptr noundef %16775) #11
  %16777 = call i32 @isatty(i32 noundef %16776) #11
  %16778 = icmp ne i32 %16777, 0
  br i1 %16778, label %16779, label %16796

16779:                                            ; preds = %16774
  %16780 = load i32, ptr %361, align 4, !tbaa !5
  %16781 = call ptr @__errno_location() #12
  store i32 %16780, ptr %16781, align 4, !tbaa !5
  %16782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16783 = load i32, ptr @test_count, align 4, !tbaa !5
  %16784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16785 = load i32, ptr %16784, align 4, !tbaa !5
  %16786 = call ptr @s2n_strerror(i32 noundef %16785, ptr noundef @.str.4)
  %16787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16788 = load i32, ptr %16787, align 4, !tbaa !5
  %16789 = call ptr @s2n_strerror_debug(i32 noundef %16788, ptr noundef @.str.4)
  %16790 = call ptr @__errno_location() #12
  %16791 = load i32, ptr %16790, align 4, !tbaa !5
  %16792 = call ptr @strerror(i32 noundef %16791) #11
  %16793 = call ptr @__errno_location() #12
  %16794 = load i32, ptr %16793, align 4, !tbaa !5
  %16795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16782, ptr noundef @.str.2, i32 noundef %16783, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 754, ptr noundef %16786, ptr noundef %16789, ptr noundef %16792, i32 noundef %16794) #11
  br label %16813

16796:                                            ; preds = %16774, %16767
  %16797 = load i32, ptr %361, align 4, !tbaa !5
  %16798 = call ptr @__errno_location() #12
  store i32 %16797, ptr %16798, align 4, !tbaa !5
  %16799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16800 = load i32, ptr @test_count, align 4, !tbaa !5
  %16801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16802 = load i32, ptr %16801, align 4, !tbaa !5
  %16803 = call ptr @s2n_strerror(i32 noundef %16802, ptr noundef @.str.4)
  %16804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16805 = load i32, ptr %16804, align 4, !tbaa !5
  %16806 = call ptr @s2n_strerror_debug(i32 noundef %16805, ptr noundef @.str.4)
  %16807 = call ptr @__errno_location() #12
  %16808 = load i32, ptr %16807, align 4, !tbaa !5
  %16809 = call ptr @strerror(i32 noundef %16808) #11
  %16810 = call ptr @__errno_location() #12
  %16811 = load i32, ptr %16810, align 4, !tbaa !5
  %16812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16799, ptr noundef @.str.5, i32 noundef %16800, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 754, ptr noundef %16803, ptr noundef %16806, ptr noundef %16809, i32 noundef %16811) #11
  br label %16813

16813:                                            ; preds = %16796, %16779
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %16814

16814:                                            ; preds = %16813
  br label %16815

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

16816:                                            ; No predecessors!
  br label %16817

16817:                                            ; preds = %16816
  br label %16818

16818:                                            ; preds = %16817, %16759
  br label %16819

16819:                                            ; preds = %16818
  br label %16820

16820:                                            ; preds = %16819
  br label %16821

16821:                                            ; preds = %16820
  %16822 = load i32, ptr @test_count, align 4, !tbaa !5
  %16823 = add nsw i32 %16822, 1
  store i32 %16823, ptr @test_count, align 4, !tbaa !5
  %16824 = load i32, ptr %354, align 4, !tbaa !5
  %16825 = icmp eq i32 %16824, 2
  br i1 %16825, label %16879, label %16826

16826:                                            ; preds = %16821
  br label %16827

16827:                                            ; preds = %16826
  br label %16828

16828:                                            ; preds = %16827
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #11
  %16829 = call ptr @__errno_location() #12
  %16830 = load i32, ptr %16829, align 4, !tbaa !5
  store i32 %16830, ptr %362, align 4, !tbaa !5
  %16831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16832 = call i32 @s2n_print_stacktrace(ptr noundef %16831)
  %16833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16834 = trunc i8 %16833 to i1
  br i1 %16834, label %16835, label %16857

16835:                                            ; preds = %16828
  %16836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16837 = call i32 @fileno(ptr noundef %16836) #11
  %16838 = call i32 @isatty(i32 noundef %16837) #11
  %16839 = icmp ne i32 %16838, 0
  br i1 %16839, label %16840, label %16857

16840:                                            ; preds = %16835
  %16841 = load i32, ptr %362, align 4, !tbaa !5
  %16842 = call ptr @__errno_location() #12
  store i32 %16841, ptr %16842, align 4, !tbaa !5
  %16843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16844 = load i32, ptr @test_count, align 4, !tbaa !5
  %16845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16846 = load i32, ptr %16845, align 4, !tbaa !5
  %16847 = call ptr @s2n_strerror(i32 noundef %16846, ptr noundef @.str.4)
  %16848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16849 = load i32, ptr %16848, align 4, !tbaa !5
  %16850 = call ptr @s2n_strerror_debug(i32 noundef %16849, ptr noundef @.str.4)
  %16851 = call ptr @__errno_location() #12
  %16852 = load i32, ptr %16851, align 4, !tbaa !5
  %16853 = call ptr @strerror(i32 noundef %16852) #11
  %16854 = call ptr @__errno_location() #12
  %16855 = load i32, ptr %16854, align 4, !tbaa !5
  %16856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16843, ptr noundef @.str.2, i32 noundef %16844, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 755, ptr noundef %16847, ptr noundef %16850, ptr noundef %16853, i32 noundef %16855) #11
  br label %16874

16857:                                            ; preds = %16835, %16828
  %16858 = load i32, ptr %362, align 4, !tbaa !5
  %16859 = call ptr @__errno_location() #12
  store i32 %16858, ptr %16859, align 4, !tbaa !5
  %16860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16861 = load i32, ptr @test_count, align 4, !tbaa !5
  %16862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16863 = load i32, ptr %16862, align 4, !tbaa !5
  %16864 = call ptr @s2n_strerror(i32 noundef %16863, ptr noundef @.str.4)
  %16865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16866 = load i32, ptr %16865, align 4, !tbaa !5
  %16867 = call ptr @s2n_strerror_debug(i32 noundef %16866, ptr noundef @.str.4)
  %16868 = call ptr @__errno_location() #12
  %16869 = load i32, ptr %16868, align 4, !tbaa !5
  %16870 = call ptr @strerror(i32 noundef %16869) #11
  %16871 = call ptr @__errno_location() #12
  %16872 = load i32, ptr %16871, align 4, !tbaa !5
  %16873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16860, ptr noundef @.str.5, i32 noundef %16861, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 755, ptr noundef %16864, ptr noundef %16867, ptr noundef %16870, i32 noundef %16872) #11
  br label %16874

16874:                                            ; preds = %16857, %16840
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #11
  br label %16875

16875:                                            ; preds = %16874
  br label %16876

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

16877:                                            ; No predecessors!
  br label %16878

16878:                                            ; preds = %16877
  br label %16879

16879:                                            ; preds = %16878, %16821
  br label %16880

16880:                                            ; preds = %16879
  br label %16881

16881:                                            ; preds = %16880
  %16882 = load ptr, ptr %350, align 8, !tbaa !9
  %16883 = getelementptr inbounds %struct.s2n_connection, ptr %16882, i32 0, i32 89
  store i32 3, ptr %16883, align 8, !tbaa !15
  br label %16884

16884:                                            ; preds = %16881
  %16885 = load i32, ptr @test_count, align 4, !tbaa !5
  %16886 = add nsw i32 %16885, 1
  store i32 %16886, ptr @test_count, align 4, !tbaa !5
  %16887 = load ptr, ptr %350, align 8, !tbaa !9
  %16888 = call i32 @s2n_connection_get_early_data_status(ptr noundef %16887, ptr noundef %354)
  %16889 = icmp eq i32 %16888, -1
  br i1 %16889, label %16890, label %16943

16890:                                            ; preds = %16884
  br label %16891

16891:                                            ; preds = %16890
  br label %16892

16892:                                            ; preds = %16891
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %16893 = call ptr @__errno_location() #12
  %16894 = load i32, ptr %16893, align 4, !tbaa !5
  store i32 %16894, ptr %363, align 4, !tbaa !5
  %16895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16896 = call i32 @s2n_print_stacktrace(ptr noundef %16895)
  %16897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16898 = trunc i8 %16897 to i1
  br i1 %16898, label %16899, label %16921

16899:                                            ; preds = %16892
  %16900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16901 = call i32 @fileno(ptr noundef %16900) #11
  %16902 = call i32 @isatty(i32 noundef %16901) #11
  %16903 = icmp ne i32 %16902, 0
  br i1 %16903, label %16904, label %16921

16904:                                            ; preds = %16899
  %16905 = load i32, ptr %363, align 4, !tbaa !5
  %16906 = call ptr @__errno_location() #12
  store i32 %16905, ptr %16906, align 4, !tbaa !5
  %16907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16908 = load i32, ptr @test_count, align 4, !tbaa !5
  %16909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16910 = load i32, ptr %16909, align 4, !tbaa !5
  %16911 = call ptr @s2n_strerror(i32 noundef %16910, ptr noundef @.str.4)
  %16912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16913 = load i32, ptr %16912, align 4, !tbaa !5
  %16914 = call ptr @s2n_strerror_debug(i32 noundef %16913, ptr noundef @.str.4)
  %16915 = call ptr @__errno_location() #12
  %16916 = load i32, ptr %16915, align 4, !tbaa !5
  %16917 = call ptr @strerror(i32 noundef %16916) #11
  %16918 = call ptr @__errno_location() #12
  %16919 = load i32, ptr %16918, align 4, !tbaa !5
  %16920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16907, ptr noundef @.str.2, i32 noundef %16908, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 758, ptr noundef %16911, ptr noundef %16914, ptr noundef %16917, i32 noundef %16919) #11
  br label %16938

16921:                                            ; preds = %16899, %16892
  %16922 = load i32, ptr %363, align 4, !tbaa !5
  %16923 = call ptr @__errno_location() #12
  store i32 %16922, ptr %16923, align 4, !tbaa !5
  %16924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16925 = load i32, ptr @test_count, align 4, !tbaa !5
  %16926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16927 = load i32, ptr %16926, align 4, !tbaa !5
  %16928 = call ptr @s2n_strerror(i32 noundef %16927, ptr noundef @.str.4)
  %16929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16930 = load i32, ptr %16929, align 4, !tbaa !5
  %16931 = call ptr @s2n_strerror_debug(i32 noundef %16930, ptr noundef @.str.4)
  %16932 = call ptr @__errno_location() #12
  %16933 = load i32, ptr %16932, align 4, !tbaa !5
  %16934 = call ptr @strerror(i32 noundef %16933) #11
  %16935 = call ptr @__errno_location() #12
  %16936 = load i32, ptr %16935, align 4, !tbaa !5
  %16937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16924, ptr noundef @.str.5, i32 noundef %16925, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 758, ptr noundef %16928, ptr noundef %16931, ptr noundef %16934, i32 noundef %16936) #11
  br label %16938

16938:                                            ; preds = %16921, %16904
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %16939

16939:                                            ; preds = %16938
  br label %16940

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

16941:                                            ; No predecessors!
  br label %16942

16942:                                            ; preds = %16941
  br label %16943

16943:                                            ; preds = %16942, %16884
  br label %16944

16944:                                            ; preds = %16943
  br label %16945

16945:                                            ; preds = %16944
  br label %16946

16946:                                            ; preds = %16945
  %16947 = load i32, ptr @test_count, align 4, !tbaa !5
  %16948 = add nsw i32 %16947, 1
  store i32 %16948, ptr @test_count, align 4, !tbaa !5
  %16949 = load i32, ptr %354, align 4, !tbaa !5
  %16950 = icmp eq i32 %16949, 0
  br i1 %16950, label %17004, label %16951

16951:                                            ; preds = %16946
  br label %16952

16952:                                            ; preds = %16951
  br label %16953

16953:                                            ; preds = %16952
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %16954 = call ptr @__errno_location() #12
  %16955 = load i32, ptr %16954, align 4, !tbaa !5
  store i32 %16955, ptr %364, align 4, !tbaa !5
  %16956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16957 = call i32 @s2n_print_stacktrace(ptr noundef %16956)
  %16958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16959 = trunc i8 %16958 to i1
  br i1 %16959, label %16960, label %16982

16960:                                            ; preds = %16953
  %16961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16962 = call i32 @fileno(ptr noundef %16961) #11
  %16963 = call i32 @isatty(i32 noundef %16962) #11
  %16964 = icmp ne i32 %16963, 0
  br i1 %16964, label %16965, label %16982

16965:                                            ; preds = %16960
  %16966 = load i32, ptr %364, align 4, !tbaa !5
  %16967 = call ptr @__errno_location() #12
  store i32 %16966, ptr %16967, align 4, !tbaa !5
  %16968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16969 = load i32, ptr @test_count, align 4, !tbaa !5
  %16970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16971 = load i32, ptr %16970, align 4, !tbaa !5
  %16972 = call ptr @s2n_strerror(i32 noundef %16971, ptr noundef @.str.4)
  %16973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16974 = load i32, ptr %16973, align 4, !tbaa !5
  %16975 = call ptr @s2n_strerror_debug(i32 noundef %16974, ptr noundef @.str.4)
  %16976 = call ptr @__errno_location() #12
  %16977 = load i32, ptr %16976, align 4, !tbaa !5
  %16978 = call ptr @strerror(i32 noundef %16977) #11
  %16979 = call ptr @__errno_location() #12
  %16980 = load i32, ptr %16979, align 4, !tbaa !5
  %16981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16968, ptr noundef @.str.2, i32 noundef %16969, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 759, ptr noundef %16972, ptr noundef %16975, ptr noundef %16978, i32 noundef %16980) #11
  br label %16999

16982:                                            ; preds = %16960, %16953
  %16983 = load i32, ptr %364, align 4, !tbaa !5
  %16984 = call ptr @__errno_location() #12
  store i32 %16983, ptr %16984, align 4, !tbaa !5
  %16985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16986 = load i32, ptr @test_count, align 4, !tbaa !5
  %16987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16988 = load i32, ptr %16987, align 4, !tbaa !5
  %16989 = call ptr @s2n_strerror(i32 noundef %16988, ptr noundef @.str.4)
  %16990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16991 = load i32, ptr %16990, align 4, !tbaa !5
  %16992 = call ptr @s2n_strerror_debug(i32 noundef %16991, ptr noundef @.str.4)
  %16993 = call ptr @__errno_location() #12
  %16994 = load i32, ptr %16993, align 4, !tbaa !5
  %16995 = call ptr @strerror(i32 noundef %16994) #11
  %16996 = call ptr @__errno_location() #12
  %16997 = load i32, ptr %16996, align 4, !tbaa !5
  %16998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16985, ptr noundef @.str.5, i32 noundef %16986, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 759, ptr noundef %16989, ptr noundef %16992, ptr noundef %16995, i32 noundef %16997) #11
  br label %16999

16999:                                            ; preds = %16982, %16965
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %17000

17000:                                            ; preds = %16999
  br label %17001

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

17002:                                            ; No predecessors!
  br label %17003

17003:                                            ; preds = %17002
  br label %17004

17004:                                            ; preds = %17003, %16946
  br label %17005

17005:                                            ; preds = %17004
  br label %17006

17006:                                            ; preds = %17005
  %17007 = load ptr, ptr %350, align 8, !tbaa !9
  %17008 = getelementptr inbounds %struct.s2n_connection, ptr %17007, i32 0, i32 89
  store i32 5, ptr %17008, align 8, !tbaa !15
  br label %17009

17009:                                            ; preds = %17006
  %17010 = load i32, ptr @test_count, align 4, !tbaa !5
  %17011 = add nsw i32 %17010, 1
  store i32 %17011, ptr @test_count, align 4, !tbaa !5
  %17012 = load ptr, ptr %350, align 8, !tbaa !9
  %17013 = call i32 @s2n_connection_get_early_data_status(ptr noundef %17012, ptr noundef %354)
  %17014 = icmp eq i32 %17013, -1
  br i1 %17014, label %17015, label %17068

17015:                                            ; preds = %17009
  br label %17016

17016:                                            ; preds = %17015
  br label %17017

17017:                                            ; preds = %17016
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %17018 = call ptr @__errno_location() #12
  %17019 = load i32, ptr %17018, align 4, !tbaa !5
  store i32 %17019, ptr %365, 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) #11
  %17027 = call i32 @isatty(i32 noundef %17026) #11
  %17028 = icmp ne i32 %17027, 0
  br i1 %17028, label %17029, label %17046

17029:                                            ; preds = %17024
  %17030 = load i32, ptr %365, align 4, !tbaa !5
  %17031 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %17040 = call ptr @__errno_location() #12
  %17041 = load i32, ptr %17040, align 4, !tbaa !5
  %17042 = call ptr @strerror(i32 noundef %17041) #11
  %17043 = call ptr @__errno_location() #12
  %17044 = load i32, ptr %17043, align 4, !tbaa !5
  %17045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17032, ptr noundef @.str.2, i32 noundef %17033, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 762, ptr noundef %17036, ptr noundef %17039, ptr noundef %17042, i32 noundef %17044) #11
  br label %17063

17046:                                            ; preds = %17024, %17017
  %17047 = load i32, ptr %365, align 4, !tbaa !5
  %17048 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %17057 = call ptr @__errno_location() #12
  %17058 = load i32, ptr %17057, align 4, !tbaa !5
  %17059 = call ptr @strerror(i32 noundef %17058) #11
  %17060 = call ptr @__errno_location() #12
  %17061 = load i32, ptr %17060, align 4, !tbaa !5
  %17062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17049, ptr noundef @.str.5, i32 noundef %17050, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 762, ptr noundef %17053, ptr noundef %17056, ptr noundef %17059, i32 noundef %17061) #11
  br label %17063

17063:                                            ; preds = %17046, %17029
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %17064

17064:                                            ; preds = %17063
  br label %17065

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

17066:                                            ; No predecessors!
  br label %17067

17067:                                            ; preds = %17066
  br label %17068

17068:                                            ; preds = %17067, %17009
  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 i32, ptr %354, align 4, !tbaa !5
  %17075 = icmp eq i32 %17074, 3
  br i1 %17075, label %17129, label %17076

17076:                                            ; preds = %17071
  br label %17077

17077:                                            ; preds = %17076
  br label %17078

17078:                                            ; preds = %17077
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %17079 = call ptr @__errno_location() #12
  %17080 = load i32, ptr %17079, align 4, !tbaa !5
  store i32 %17080, ptr %366, align 4, !tbaa !5
  %17081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17082 = call i32 @s2n_print_stacktrace(ptr noundef %17081)
  %17083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17084 = trunc i8 %17083 to i1
  br i1 %17084, label %17085, label %17107

17085:                                            ; preds = %17078
  %17086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17087 = call i32 @fileno(ptr noundef %17086) #11
  %17088 = call i32 @isatty(i32 noundef %17087) #11
  %17089 = icmp ne i32 %17088, 0
  br i1 %17089, label %17090, label %17107

17090:                                            ; preds = %17085
  %17091 = load i32, ptr %366, align 4, !tbaa !5
  %17092 = call ptr @__errno_location() #12
  store i32 %17091, ptr %17092, align 4, !tbaa !5
  %17093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17094 = load i32, ptr @test_count, align 4, !tbaa !5
  %17095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17096 = load i32, ptr %17095, align 4, !tbaa !5
  %17097 = call ptr @s2n_strerror(i32 noundef %17096, ptr noundef @.str.4)
  %17098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17099 = load i32, ptr %17098, align 4, !tbaa !5
  %17100 = call ptr @s2n_strerror_debug(i32 noundef %17099, ptr noundef @.str.4)
  %17101 = call ptr @__errno_location() #12
  %17102 = load i32, ptr %17101, align 4, !tbaa !5
  %17103 = call ptr @strerror(i32 noundef %17102) #11
  %17104 = call ptr @__errno_location() #12
  %17105 = load i32, ptr %17104, align 4, !tbaa !5
  %17106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17093, ptr noundef @.str.2, i32 noundef %17094, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 763, ptr noundef %17097, ptr noundef %17100, ptr noundef %17103, i32 noundef %17105) #11
  br label %17124

17107:                                            ; preds = %17085, %17078
  %17108 = load i32, ptr %366, align 4, !tbaa !5
  %17109 = call ptr @__errno_location() #12
  store i32 %17108, ptr %17109, align 4, !tbaa !5
  %17110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17111 = load i32, ptr @test_count, align 4, !tbaa !5
  %17112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17113 = load i32, ptr %17112, align 4, !tbaa !5
  %17114 = call ptr @s2n_strerror(i32 noundef %17113, ptr noundef @.str.4)
  %17115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17116 = load i32, ptr %17115, align 4, !tbaa !5
  %17117 = call ptr @s2n_strerror_debug(i32 noundef %17116, ptr noundef @.str.4)
  %17118 = call ptr @__errno_location() #12
  %17119 = load i32, ptr %17118, align 4, !tbaa !5
  %17120 = call ptr @strerror(i32 noundef %17119) #11
  %17121 = call ptr @__errno_location() #12
  %17122 = load i32, ptr %17121, align 4, !tbaa !5
  %17123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17110, ptr noundef @.str.5, i32 noundef %17111, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 763, ptr noundef %17114, ptr noundef %17117, ptr noundef %17120, i32 noundef %17122) #11
  br label %17124

17124:                                            ; preds = %17107, %17090
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %17125

17125:                                            ; preds = %17124
  br label %17126

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

17127:                                            ; No predecessors!
  br label %17128

17128:                                            ; preds = %17127
  br label %17129

17129:                                            ; preds = %17128, %17071
  br label %17130

17130:                                            ; preds = %17129
  br label %17131

17131:                                            ; preds = %17130
  br label %17132

17132:                                            ; preds = %17131
  %17133 = load i32, ptr @test_count, align 4, !tbaa !5
  %17134 = add nsw i32 %17133, 1
  store i32 %17134, ptr @test_count, align 4, !tbaa !5
  %17135 = load ptr, ptr %350, align 8, !tbaa !9
  %17136 = call i32 @s2n_connection_free(ptr noundef %17135)
  %17137 = icmp eq i32 %17136, -1
  br i1 %17137, label %17138, label %17191

17138:                                            ; preds = %17132
  br label %17139

17139:                                            ; preds = %17138
  br label %17140

17140:                                            ; preds = %17139
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %17141 = call ptr @__errno_location() #12
  %17142 = load i32, ptr %17141, align 4, !tbaa !5
  store i32 %17142, ptr %367, align 4, !tbaa !5
  %17143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17144 = call i32 @s2n_print_stacktrace(ptr noundef %17143)
  %17145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17146 = trunc i8 %17145 to i1
  br i1 %17146, label %17147, label %17169

17147:                                            ; preds = %17140
  %17148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17149 = call i32 @fileno(ptr noundef %17148) #11
  %17150 = call i32 @isatty(i32 noundef %17149) #11
  %17151 = icmp ne i32 %17150, 0
  br i1 %17151, label %17152, label %17169

17152:                                            ; preds = %17147
  %17153 = load i32, ptr %367, align 4, !tbaa !5
  %17154 = call ptr @__errno_location() #12
  store i32 %17153, ptr %17154, align 4, !tbaa !5
  %17155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17156 = load i32, ptr @test_count, align 4, !tbaa !5
  %17157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17158 = load i32, ptr %17157, align 4, !tbaa !5
  %17159 = call ptr @s2n_strerror(i32 noundef %17158, ptr noundef @.str.4)
  %17160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17161 = load i32, ptr %17160, align 4, !tbaa !5
  %17162 = call ptr @s2n_strerror_debug(i32 noundef %17161, ptr noundef @.str.4)
  %17163 = call ptr @__errno_location() #12
  %17164 = load i32, ptr %17163, align 4, !tbaa !5
  %17165 = call ptr @strerror(i32 noundef %17164) #11
  %17166 = call ptr @__errno_location() #12
  %17167 = load i32, ptr %17166, align 4, !tbaa !5
  %17168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17155, ptr noundef @.str.2, i32 noundef %17156, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 765, ptr noundef %17159, ptr noundef %17162, ptr noundef %17165, i32 noundef %17167) #11
  br label %17186

17169:                                            ; preds = %17147, %17140
  %17170 = load i32, ptr %367, align 4, !tbaa !5
  %17171 = call ptr @__errno_location() #12
  store i32 %17170, ptr %17171, align 4, !tbaa !5
  %17172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17173 = load i32, ptr @test_count, align 4, !tbaa !5
  %17174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17175 = load i32, ptr %17174, align 4, !tbaa !5
  %17176 = call ptr @s2n_strerror(i32 noundef %17175, ptr noundef @.str.4)
  %17177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17178 = load i32, ptr %17177, align 4, !tbaa !5
  %17179 = call ptr @s2n_strerror_debug(i32 noundef %17178, ptr noundef @.str.4)
  %17180 = call ptr @__errno_location() #12
  %17181 = load i32, ptr %17180, align 4, !tbaa !5
  %17182 = call ptr @strerror(i32 noundef %17181) #11
  %17183 = call ptr @__errno_location() #12
  %17184 = load i32, ptr %17183, align 4, !tbaa !5
  %17185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17172, ptr noundef @.str.5, i32 noundef %17173, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 765, ptr noundef %17176, ptr noundef %17179, ptr noundef %17182, i32 noundef %17184) #11
  br label %17186

17186:                                            ; preds = %17169, %17152
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %17187

17187:                                            ; preds = %17186
  br label %17188

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

17189:                                            ; No predecessors!
  br label %17190

17190:                                            ; preds = %17189
  br label %17191

17191:                                            ; preds = %17190, %17132
  br label %17192

17192:                                            ; preds = %17191
  br label %17193

17193:                                            ; preds = %17192
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %350) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %368) #11
  %17194 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17194, ptr %368, align 8, !tbaa !9
  br label %17195

17195:                                            ; preds = %17193
  %17196 = load i32, ptr @test_count, align 4, !tbaa !5
  %17197 = add nsw i32 %17196, 1
  store i32 %17197, ptr @test_count, align 4, !tbaa !5
  %17198 = load ptr, ptr %368, align 8, !tbaa !9
  %17199 = icmp eq ptr %17198, null
  br i1 %17199, label %17200, label %17253

17200:                                            ; preds = %17195
  br label %17201

17201:                                            ; preds = %17200
  br label %17202

17202:                                            ; preds = %17201
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %17203 = call ptr @__errno_location() #12
  %17204 = load i32, ptr %17203, align 4, !tbaa !5
  store i32 %17204, ptr %369, align 4, !tbaa !5
  %17205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17206 = call i32 @s2n_print_stacktrace(ptr noundef %17205)
  %17207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17208 = trunc i8 %17207 to i1
  br i1 %17208, label %17209, label %17231

17209:                                            ; preds = %17202
  %17210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17211 = call i32 @fileno(ptr noundef %17210) #11
  %17212 = call i32 @isatty(i32 noundef %17211) #11
  %17213 = icmp ne i32 %17212, 0
  br i1 %17213, label %17214, label %17231

17214:                                            ; preds = %17209
  %17215 = load i32, ptr %369, align 4, !tbaa !5
  %17216 = call ptr @__errno_location() #12
  store i32 %17215, ptr %17216, align 4, !tbaa !5
  %17217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17218 = load i32, ptr @test_count, align 4, !tbaa !5
  %17219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17220 = load i32, ptr %17219, align 4, !tbaa !5
  %17221 = call ptr @s2n_strerror(i32 noundef %17220, ptr noundef @.str.4)
  %17222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17223 = load i32, ptr %17222, align 4, !tbaa !5
  %17224 = call ptr @s2n_strerror_debug(i32 noundef %17223, ptr noundef @.str.4)
  %17225 = call ptr @__errno_location() #12
  %17226 = load i32, ptr %17225, align 4, !tbaa !5
  %17227 = call ptr @strerror(i32 noundef %17226) #11
  %17228 = call ptr @__errno_location() #12
  %17229 = load i32, ptr %17228, align 4, !tbaa !5
  %17230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17217, ptr noundef @.str.2, i32 noundef %17218, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 771, ptr noundef %17221, ptr noundef %17224, ptr noundef %17227, i32 noundef %17229) #11
  br label %17248

17231:                                            ; preds = %17209, %17202
  %17232 = load i32, ptr %369, align 4, !tbaa !5
  %17233 = call ptr @__errno_location() #12
  store i32 %17232, ptr %17233, align 4, !tbaa !5
  %17234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17235 = load i32, ptr @test_count, align 4, !tbaa !5
  %17236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17237 = load i32, ptr %17236, align 4, !tbaa !5
  %17238 = call ptr @s2n_strerror(i32 noundef %17237, ptr noundef @.str.4)
  %17239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17240 = load i32, ptr %17239, align 4, !tbaa !5
  %17241 = call ptr @s2n_strerror_debug(i32 noundef %17240, ptr noundef @.str.4)
  %17242 = call ptr @__errno_location() #12
  %17243 = load i32, ptr %17242, align 4, !tbaa !5
  %17244 = call ptr @strerror(i32 noundef %17243) #11
  %17245 = call ptr @__errno_location() #12
  %17246 = load i32, ptr %17245, align 4, !tbaa !5
  %17247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17234, ptr noundef @.str.5, i32 noundef %17235, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 771, ptr noundef %17238, ptr noundef %17241, ptr noundef %17244, i32 noundef %17246) #11
  br label %17248

17248:                                            ; preds = %17231, %17214
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %17249

17249:                                            ; preds = %17248
  br label %17250

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

17251:                                            ; No predecessors!
  br label %17252

17252:                                            ; preds = %17251
  br label %17253

17253:                                            ; preds = %17252, %17195
  br label %17254

17254:                                            ; preds = %17253
  br label %17255

17255:                                            ; preds = %17254
  br label %17256

17256:                                            ; preds = %17255
  %17257 = load i32, ptr @test_count, align 4, !tbaa !5
  %17258 = add nsw i32 %17257, 1
  store i32 %17258, ptr @test_count, align 4, !tbaa !5
  %17259 = load ptr, ptr %368, align 8, !tbaa !9
  %17260 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %17259, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %17261 = getelementptr inbounds %struct.s2n_result, ptr %370, i32 0, i32 0
  store i32 %17260, ptr %17261, align 4
  %17262 = getelementptr inbounds %struct.s2n_result, ptr %370, i32 0, i32 0
  %17263 = load i32, ptr %17262, align 4
  %17264 = call zeroext i1 @s2n_result_is_ok(i32 %17263)
  br i1 %17264, label %17318, label %17265

17265:                                            ; preds = %17256
  br label %17266

17266:                                            ; preds = %17265
  br label %17267

17267:                                            ; preds = %17266
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %17268 = call ptr @__errno_location() #12
  %17269 = load i32, ptr %17268, align 4, !tbaa !5
  store i32 %17269, ptr %371, align 4, !tbaa !5
  %17270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17271 = call i32 @s2n_print_stacktrace(ptr noundef %17270)
  %17272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17273 = trunc i8 %17272 to i1
  br i1 %17273, label %17274, label %17296

17274:                                            ; preds = %17267
  %17275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17276 = call i32 @fileno(ptr noundef %17275) #11
  %17277 = call i32 @isatty(i32 noundef %17276) #11
  %17278 = icmp ne i32 %17277, 0
  br i1 %17278, label %17279, label %17296

17279:                                            ; preds = %17274
  %17280 = load i32, ptr %371, align 4, !tbaa !5
  %17281 = call ptr @__errno_location() #12
  store i32 %17280, ptr %17281, align 4, !tbaa !5
  %17282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17283 = load i32, ptr @test_count, align 4, !tbaa !5
  %17284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17285 = load i32, ptr %17284, align 4, !tbaa !5
  %17286 = call ptr @s2n_strerror(i32 noundef %17285, ptr noundef @.str.4)
  %17287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17288 = load i32, ptr %17287, align 4, !tbaa !5
  %17289 = call ptr @s2n_strerror_debug(i32 noundef %17288, ptr noundef @.str.4)
  %17290 = call ptr @__errno_location() #12
  %17291 = load i32, ptr %17290, align 4, !tbaa !5
  %17292 = call ptr @strerror(i32 noundef %17291) #11
  %17293 = call ptr @__errno_location() #12
  %17294 = load i32, ptr %17293, align 4, !tbaa !5
  %17295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17282, ptr noundef @.str.2, i32 noundef %17283, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 772, ptr noundef %17286, ptr noundef %17289, ptr noundef %17292, i32 noundef %17294) #11
  br label %17313

17296:                                            ; preds = %17274, %17267
  %17297 = load i32, ptr %371, align 4, !tbaa !5
  %17298 = call ptr @__errno_location() #12
  store i32 %17297, ptr %17298, align 4, !tbaa !5
  %17299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17300 = load i32, ptr @test_count, align 4, !tbaa !5
  %17301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17302 = load i32, ptr %17301, align 4, !tbaa !5
  %17303 = call ptr @s2n_strerror(i32 noundef %17302, ptr noundef @.str.4)
  %17304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17305 = load i32, ptr %17304, align 4, !tbaa !5
  %17306 = call ptr @s2n_strerror_debug(i32 noundef %17305, ptr noundef @.str.4)
  %17307 = call ptr @__errno_location() #12
  %17308 = load i32, ptr %17307, align 4, !tbaa !5
  %17309 = call ptr @strerror(i32 noundef %17308) #11
  %17310 = call ptr @__errno_location() #12
  %17311 = load i32, ptr %17310, align 4, !tbaa !5
  %17312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17299, ptr noundef @.str.5, i32 noundef %17300, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 772, ptr noundef %17303, ptr noundef %17306, ptr noundef %17309, i32 noundef %17311) #11
  br label %17313

17313:                                            ; preds = %17296, %17279
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %17314

17314:                                            ; preds = %17313
  br label %17315

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

17316:                                            ; No predecessors!
  br label %17317

17317:                                            ; preds = %17316
  br label %17318

17318:                                            ; preds = %17317, %17256
  br label %17319

17319:                                            ; preds = %17318
  br label %17320

17320:                                            ; preds = %17319
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  store i32 0, ptr %372, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  store i32 1, ptr %373, align 4, !tbaa !5
  br label %17321

17321:                                            ; preds = %17391, %17320
  %17322 = load i32, ptr %373, align 4, !tbaa !5
  %17323 = icmp ult i32 %17322, 6
  br i1 %17323, label %17325, label %17324

17324:                                            ; preds = %17321
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %17394

17325:                                            ; preds = %17321
  %17326 = load i32, ptr %373, align 4, !tbaa !5
  %17327 = load ptr, ptr %368, align 8, !tbaa !9
  %17328 = getelementptr inbounds %struct.s2n_connection, ptr %17327, i32 0, i32 89
  store i32 %17326, ptr %17328, align 8, !tbaa !15
  br label %17329

17329:                                            ; preds = %17325
  %17330 = load i32, ptr @test_count, align 4, !tbaa !5
  %17331 = add nsw i32 %17330, 1
  store i32 %17331, ptr @test_count, align 4, !tbaa !5
  %17332 = load ptr, ptr %368, align 8, !tbaa !9
  %17333 = call i32 @s2n_connection_get_early_data_status(ptr noundef %17332, ptr noundef %372)
  %17334 = icmp eq i32 %17333, -1
  br i1 %17334, label %17335, label %17388

17335:                                            ; preds = %17329
  br label %17336

17336:                                            ; preds = %17335
  br label %17337

17337:                                            ; preds = %17336
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %17338 = call ptr @__errno_location() #12
  %17339 = load i32, ptr %17338, align 4, !tbaa !5
  store i32 %17339, ptr %374, align 4, !tbaa !5
  %17340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17341 = call i32 @s2n_print_stacktrace(ptr noundef %17340)
  %17342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17343 = trunc i8 %17342 to i1
  br i1 %17343, label %17344, label %17366

17344:                                            ; preds = %17337
  %17345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17346 = call i32 @fileno(ptr noundef %17345) #11
  %17347 = call i32 @isatty(i32 noundef %17346) #11
  %17348 = icmp ne i32 %17347, 0
  br i1 %17348, label %17349, label %17366

17349:                                            ; preds = %17344
  %17350 = load i32, ptr %374, align 4, !tbaa !5
  %17351 = call ptr @__errno_location() #12
  store i32 %17350, ptr %17351, align 4, !tbaa !5
  %17352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17353 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17355, ptr noundef @.str.4)
  %17357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17358 = load i32, ptr %17357, align 4, !tbaa !5
  %17359 = call ptr @s2n_strerror_debug(i32 noundef %17358, ptr noundef @.str.4)
  %17360 = call ptr @__errno_location() #12
  %17361 = load i32, ptr %17360, align 4, !tbaa !5
  %17362 = call ptr @strerror(i32 noundef %17361) #11
  %17363 = call ptr @__errno_location() #12
  %17364 = load i32, ptr %17363, align 4, !tbaa !5
  %17365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17352, ptr noundef @.str.2, i32 noundef %17353, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 777, ptr noundef %17356, ptr noundef %17359, ptr noundef %17362, i32 noundef %17364) #11
  br label %17383

17366:                                            ; preds = %17344, %17337
  %17367 = load i32, ptr %374, align 4, !tbaa !5
  %17368 = call ptr @__errno_location() #12
  store i32 %17367, ptr %17368, align 4, !tbaa !5
  %17369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17370 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17372, ptr noundef @.str.4)
  %17374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17375 = load i32, ptr %17374, align 4, !tbaa !5
  %17376 = call ptr @s2n_strerror_debug(i32 noundef %17375, ptr noundef @.str.4)
  %17377 = call ptr @__errno_location() #12
  %17378 = load i32, ptr %17377, align 4, !tbaa !5
  %17379 = call ptr @strerror(i32 noundef %17378) #11
  %17380 = call ptr @__errno_location() #12
  %17381 = load i32, ptr %17380, align 4, !tbaa !5
  %17382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17369, ptr noundef @.str.5, i32 noundef %17370, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 777, ptr noundef %17373, ptr noundef %17376, ptr noundef %17379, i32 noundef %17381) #11
  br label %17383

17383:                                            ; preds = %17366, %17349
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %17384

17384:                                            ; preds = %17383
  br label %17385

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

17386:                                            ; No predecessors!
  br label %17387

17387:                                            ; preds = %17386
  br label %17388

17388:                                            ; preds = %17387, %17329
  br label %17389

17389:                                            ; preds = %17388
  br label %17390

17390:                                            ; preds = %17389
  br label %17391

17391:                                            ; preds = %17390
  %17392 = load i32, ptr %373, align 4, !tbaa !5
  %17393 = add i32 %17392, 1
  store i32 %17393, ptr %373, align 4, !tbaa !5
  br label %17321, !llvm.loop !75

17394:                                            ; preds = %17324
  br label %17395

17395:                                            ; preds = %17394
  %17396 = load i32, ptr @test_count, align 4, !tbaa !5
  %17397 = add nsw i32 %17396, 1
  store i32 %17397, ptr @test_count, align 4, !tbaa !5
  %17398 = load ptr, ptr %368, align 8, !tbaa !9
  %17399 = call i32 @s2n_connection_free(ptr noundef %17398)
  %17400 = icmp eq i32 %17399, -1
  br i1 %17400, label %17401, label %17454

17401:                                            ; preds = %17395
  br label %17402

17402:                                            ; preds = %17401
  br label %17403

17403:                                            ; preds = %17402
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %17404 = call ptr @__errno_location() #12
  %17405 = load i32, ptr %17404, align 4, !tbaa !5
  store i32 %17405, ptr %375, align 4, !tbaa !5
  %17406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17407 = call i32 @s2n_print_stacktrace(ptr noundef %17406)
  %17408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17409 = trunc i8 %17408 to i1
  br i1 %17409, label %17410, label %17432

17410:                                            ; preds = %17403
  %17411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17412 = call i32 @fileno(ptr noundef %17411) #11
  %17413 = call i32 @isatty(i32 noundef %17412) #11
  %17414 = icmp ne i32 %17413, 0
  br i1 %17414, label %17415, label %17432

17415:                                            ; preds = %17410
  %17416 = load i32, ptr %375, align 4, !tbaa !5
  %17417 = call ptr @__errno_location() #12
  store i32 %17416, ptr %17417, align 4, !tbaa !5
  %17418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17419 = load i32, ptr @test_count, align 4, !tbaa !5
  %17420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17421 = load i32, ptr %17420, align 4, !tbaa !5
  %17422 = call ptr @s2n_strerror(i32 noundef %17421, ptr noundef @.str.4)
  %17423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17424 = load i32, ptr %17423, align 4, !tbaa !5
  %17425 = call ptr @s2n_strerror_debug(i32 noundef %17424, ptr noundef @.str.4)
  %17426 = call ptr @__errno_location() #12
  %17427 = load i32, ptr %17426, align 4, !tbaa !5
  %17428 = call ptr @strerror(i32 noundef %17427) #11
  %17429 = call ptr @__errno_location() #12
  %17430 = load i32, ptr %17429, align 4, !tbaa !5
  %17431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17418, ptr noundef @.str.2, i32 noundef %17419, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 780, ptr noundef %17422, ptr noundef %17425, ptr noundef %17428, i32 noundef %17430) #11
  br label %17449

17432:                                            ; preds = %17410, %17403
  %17433 = load i32, ptr %375, align 4, !tbaa !5
  %17434 = call ptr @__errno_location() #12
  store i32 %17433, ptr %17434, align 4, !tbaa !5
  %17435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17436 = load i32, ptr @test_count, align 4, !tbaa !5
  %17437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17438 = load i32, ptr %17437, align 4, !tbaa !5
  %17439 = call ptr @s2n_strerror(i32 noundef %17438, ptr noundef @.str.4)
  %17440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17441 = load i32, ptr %17440, align 4, !tbaa !5
  %17442 = call ptr @s2n_strerror_debug(i32 noundef %17441, ptr noundef @.str.4)
  %17443 = call ptr @__errno_location() #12
  %17444 = load i32, ptr %17443, align 4, !tbaa !5
  %17445 = call ptr @strerror(i32 noundef %17444) #11
  %17446 = call ptr @__errno_location() #12
  %17447 = load i32, ptr %17446, align 4, !tbaa !5
  %17448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17435, ptr noundef @.str.5, i32 noundef %17436, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 780, ptr noundef %17439, ptr noundef %17442, ptr noundef %17445, i32 noundef %17447) #11
  br label %17449

17449:                                            ; preds = %17432, %17415
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %17450

17450:                                            ; preds = %17449
  br label %17451

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

17452:                                            ; No predecessors!
  br label %17453

17453:                                            ; preds = %17452
  br label %17454

17454:                                            ; preds = %17453, %17395
  br label %17455

17455:                                            ; preds = %17454
  br label %17456

17456:                                            ; preds = %17455
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %368) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #11
  store i32 10, ptr %376, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4184, ptr %377) #11
  call void @llvm.memset.p0.i64(ptr align 8 %377, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  store i32 0, ptr %378, align 4, !tbaa !5
  br label %17457

17457:                                            ; preds = %17456
  br label %17458

17458:                                            ; preds = %17457
  br label %17459

17459:                                            ; preds = %17458
  %17460 = load i32, ptr @test_count, align 4, !tbaa !5
  %17461 = add nsw i32 %17460, 1
  store i32 %17461, ptr @test_count, align 4, !tbaa !5
  %17462 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef null, ptr noundef %378)
  %17463 = icmp eq i32 %17462, -1
  br i1 %17463, label %17517, label %17464

17464:                                            ; preds = %17459
  br label %17465

17465:                                            ; preds = %17464
  br label %17466

17466:                                            ; preds = %17465
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %17467 = call ptr @__errno_location() #12
  %17468 = load i32, ptr %17467, align 4, !tbaa !5
  store i32 %17468, ptr %379, align 4, !tbaa !5
  %17469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17470 = call i32 @s2n_print_stacktrace(ptr noundef %17469)
  %17471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17472 = trunc i8 %17471 to i1
  br i1 %17472, label %17473, label %17495

17473:                                            ; preds = %17466
  %17474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17475 = call i32 @fileno(ptr noundef %17474) #11
  %17476 = call i32 @isatty(i32 noundef %17475) #11
  %17477 = icmp ne i32 %17476, 0
  br i1 %17477, label %17478, label %17495

17478:                                            ; preds = %17473
  %17479 = load i32, ptr %379, align 4, !tbaa !5
  %17480 = call ptr @__errno_location() #12
  store i32 %17479, ptr %17480, align 4, !tbaa !5
  %17481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17482 = load i32, ptr @test_count, align 4, !tbaa !5
  %17483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17484 = load i32, ptr %17483, align 4, !tbaa !5
  %17485 = call ptr @s2n_strerror(i32 noundef %17484, ptr noundef @.str.4)
  %17486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17487 = load i32, ptr %17486, align 4, !tbaa !5
  %17488 = call ptr @s2n_strerror_debug(i32 noundef %17487, ptr noundef @.str.4)
  %17489 = call ptr @__errno_location() #12
  %17490 = load i32, ptr %17489, align 4, !tbaa !5
  %17491 = call ptr @strerror(i32 noundef %17490) #11
  %17492 = call ptr @__errno_location() #12
  %17493 = load i32, ptr %17492, align 4, !tbaa !5
  %17494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17481, ptr noundef @.str.2, i32 noundef %17482, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 792, ptr noundef %17485, ptr noundef %17488, ptr noundef %17491, i32 noundef %17493) #11
  br label %17512

17495:                                            ; preds = %17473, %17466
  %17496 = load i32, ptr %379, align 4, !tbaa !5
  %17497 = call ptr @__errno_location() #12
  store i32 %17496, ptr %17497, align 4, !tbaa !5
  %17498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17499 = load i32, ptr @test_count, align 4, !tbaa !5
  %17500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17501 = load i32, ptr %17500, align 4, !tbaa !5
  %17502 = call ptr @s2n_strerror(i32 noundef %17501, ptr noundef @.str.4)
  %17503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17504 = load i32, ptr %17503, align 4, !tbaa !5
  %17505 = call ptr @s2n_strerror_debug(i32 noundef %17504, ptr noundef @.str.4)
  %17506 = call ptr @__errno_location() #12
  %17507 = load i32, ptr %17506, align 4, !tbaa !5
  %17508 = call ptr @strerror(i32 noundef %17507) #11
  %17509 = call ptr @__errno_location() #12
  %17510 = load i32, ptr %17509, align 4, !tbaa !5
  %17511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17498, ptr noundef @.str.5, i32 noundef %17499, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 792, ptr noundef %17502, ptr noundef %17505, ptr noundef %17508, i32 noundef %17510) #11
  br label %17512

17512:                                            ; preds = %17495, %17478
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %17513

17513:                                            ; preds = %17512
  br label %17514

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

17515:                                            ; No predecessors!
  br label %17516

17516:                                            ; preds = %17515
  br label %17517

17517:                                            ; preds = %17516, %17459
  br label %17518

17518:                                            ; preds = %17517
  br label %17519

17519:                                            ; preds = %17518
  br label %17520

17520:                                            ; preds = %17519
  %17521 = load i32, ptr @test_count, align 4, !tbaa !5
  %17522 = add nsw i32 %17521, 1
  store i32 %17522, ptr @test_count, align 4, !tbaa !5
  %17523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17524 = load i32, ptr %17523, align 4, !tbaa !5
  %17525 = icmp eq i32 %17524, 402653193
  br i1 %17525, label %17579, label %17526

17526:                                            ; preds = %17520
  br label %17527

17527:                                            ; preds = %17526
  br label %17528

17528:                                            ; preds = %17527
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %17529 = call ptr @__errno_location() #12
  %17530 = load i32, ptr %17529, align 4, !tbaa !5
  store i32 %17530, ptr %380, align 4, !tbaa !5
  %17531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17532 = call i32 @s2n_print_stacktrace(ptr noundef %17531)
  %17533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17534 = trunc i8 %17533 to i1
  br i1 %17534, label %17535, label %17557

17535:                                            ; preds = %17528
  %17536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17537 = call i32 @fileno(ptr noundef %17536) #11
  %17538 = call i32 @isatty(i32 noundef %17537) #11
  %17539 = icmp ne i32 %17538, 0
  br i1 %17539, label %17540, label %17557

17540:                                            ; preds = %17535
  %17541 = load i32, ptr %380, align 4, !tbaa !5
  %17542 = call ptr @__errno_location() #12
  store i32 %17541, ptr %17542, align 4, !tbaa !5
  %17543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17544 = load i32, ptr @test_count, align 4, !tbaa !5
  %17545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17546 = load i32, ptr %17545, align 4, !tbaa !5
  %17547 = call ptr @s2n_strerror(i32 noundef %17546, ptr noundef @.str.4)
  %17548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17549 = load i32, ptr %17548, align 4, !tbaa !5
  %17550 = call ptr @s2n_strerror_debug(i32 noundef %17549, ptr noundef @.str.4)
  %17551 = call ptr @__errno_location() #12
  %17552 = load i32, ptr %17551, align 4, !tbaa !5
  %17553 = call ptr @strerror(i32 noundef %17552) #11
  %17554 = call ptr @__errno_location() #12
  %17555 = load i32, ptr %17554, align 4, !tbaa !5
  %17556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17543, ptr noundef @.str.2, i32 noundef %17544, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 792, ptr noundef %17547, ptr noundef %17550, ptr noundef %17553, i32 noundef %17555) #11
  br label %17574

17557:                                            ; preds = %17535, %17528
  %17558 = load i32, ptr %380, align 4, !tbaa !5
  %17559 = call ptr @__errno_location() #12
  store i32 %17558, ptr %17559, align 4, !tbaa !5
  %17560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17561 = load i32, ptr @test_count, align 4, !tbaa !5
  %17562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17563 = load i32, ptr %17562, align 4, !tbaa !5
  %17564 = call ptr @s2n_strerror(i32 noundef %17563, ptr noundef @.str.4)
  %17565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17566 = load i32, ptr %17565, align 4, !tbaa !5
  %17567 = call ptr @s2n_strerror_debug(i32 noundef %17566, ptr noundef @.str.4)
  %17568 = call ptr @__errno_location() #12
  %17569 = load i32, ptr %17568, align 4, !tbaa !5
  %17570 = call ptr @strerror(i32 noundef %17569) #11
  %17571 = call ptr @__errno_location() #12
  %17572 = load i32, ptr %17571, align 4, !tbaa !5
  %17573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17560, ptr noundef @.str.5, i32 noundef %17561, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 792, ptr noundef %17564, ptr noundef %17567, ptr noundef %17570, i32 noundef %17572) #11
  br label %17574

17574:                                            ; preds = %17557, %17540
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %17575

17575:                                            ; preds = %17574
  br label %17576

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

17577:                                            ; No predecessors!
  br label %17578

17578:                                            ; preds = %17577
  br label %17579

17579:                                            ; preds = %17578, %17520
  br label %17580

17580:                                            ; preds = %17579
  br label %17581

17581:                                            ; preds = %17580
  br label %17582

17582:                                            ; preds = %17581
  %17583 = load i32, ptr @test_count, align 4, !tbaa !5
  %17584 = add nsw i32 %17583, 1
  store i32 %17584, ptr @test_count, align 4, !tbaa !5
  %17585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17586 = load i32, ptr %17585, align 4, !tbaa !5
  %17587 = call ptr @s2n_strerror_debug(i32 noundef %17586, ptr noundef @.str.4)
  %17588 = icmp eq ptr %17587, null
  br i1 %17588, label %17589, label %17642

17589:                                            ; preds = %17582
  br label %17590

17590:                                            ; preds = %17589
  br label %17591

17591:                                            ; preds = %17590
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #11
  %17592 = call ptr @__errno_location() #12
  %17593 = load i32, ptr %17592, align 4, !tbaa !5
  store i32 %17593, ptr %381, 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) #11
  %17601 = call i32 @isatty(i32 noundef %17600) #11
  %17602 = icmp ne i32 %17601, 0
  br i1 %17602, label %17603, label %17620

17603:                                            ; preds = %17598
  %17604 = load i32, ptr %381, align 4, !tbaa !5
  %17605 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %17614 = call ptr @__errno_location() #12
  %17615 = load i32, ptr %17614, align 4, !tbaa !5
  %17616 = call ptr @strerror(i32 noundef %17615) #11
  %17617 = call ptr @__errno_location() #12
  %17618 = load i32, ptr %17617, align 4, !tbaa !5
  %17619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17606, ptr noundef @.str.2, i32 noundef %17607, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 792, ptr noundef %17610, ptr noundef %17613, ptr noundef %17616, i32 noundef %17618) #11
  br label %17637

17620:                                            ; preds = %17598, %17591
  %17621 = load i32, ptr %381, align 4, !tbaa !5
  %17622 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %17631 = call ptr @__errno_location() #12
  %17632 = load i32, ptr %17631, align 4, !tbaa !5
  %17633 = call ptr @strerror(i32 noundef %17632) #11
  %17634 = call ptr @__errno_location() #12
  %17635 = load i32, ptr %17634, align 4, !tbaa !5
  %17636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17623, ptr noundef @.str.5, i32 noundef %17624, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 792, ptr noundef %17627, ptr noundef %17630, ptr noundef %17633, i32 noundef %17635) #11
  br label %17637

17637:                                            ; preds = %17620, %17603
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #11
  br label %17638

17638:                                            ; preds = %17637
  br label %17639

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

17640:                                            ; No predecessors!
  br label %17641

17641:                                            ; preds = %17640
  br label %17642

17642:                                            ; preds = %17641, %17582
  br label %17643

17643:                                            ; preds = %17642
  br label %17644

17644:                                            ; preds = %17643
  br label %17645

17645:                                            ; preds = %17644
  br label %17646

17646:                                            ; preds = %17645
  br label %17647

17647:                                            ; preds = %17646
  %17648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17648, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17649 = call ptr @__errno_location() #12
  store i32 0, ptr %17649, align 4, !tbaa !5
  br label %17650

17650:                                            ; preds = %17647
  br label %17651

17651:                                            ; preds = %17650
  br label %17652

17652:                                            ; preds = %17651
  br label %17653

17653:                                            ; preds = %17652
  br label %17654

17654:                                            ; preds = %17653
  br label %17655

17655:                                            ; preds = %17654
  br label %17656

17656:                                            ; preds = %17655
  %17657 = load i32, ptr @test_count, align 4, !tbaa !5
  %17658 = add nsw i32 %17657, 1
  store i32 %17658, ptr @test_count, align 4, !tbaa !5
  %17659 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %377, ptr noundef null)
  %17660 = icmp eq i32 %17659, -1
  br i1 %17660, label %17714, label %17661

17661:                                            ; preds = %17656
  br label %17662

17662:                                            ; preds = %17661
  br label %17663

17663:                                            ; preds = %17662
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #11
  %17664 = call ptr @__errno_location() #12
  %17665 = load i32, ptr %17664, align 4, !tbaa !5
  store i32 %17665, ptr %382, align 4, !tbaa !5
  %17666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17667 = call i32 @s2n_print_stacktrace(ptr noundef %17666)
  %17668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17669 = trunc i8 %17668 to i1
  br i1 %17669, label %17670, label %17692

17670:                                            ; preds = %17663
  %17671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17672 = call i32 @fileno(ptr noundef %17671) #11
  %17673 = call i32 @isatty(i32 noundef %17672) #11
  %17674 = icmp ne i32 %17673, 0
  br i1 %17674, label %17675, label %17692

17675:                                            ; preds = %17670
  %17676 = load i32, ptr %382, align 4, !tbaa !5
  %17677 = call ptr @__errno_location() #12
  store i32 %17676, ptr %17677, align 4, !tbaa !5
  %17678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17679 = load i32, ptr @test_count, align 4, !tbaa !5
  %17680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17681 = load i32, ptr %17680, align 4, !tbaa !5
  %17682 = call ptr @s2n_strerror(i32 noundef %17681, ptr noundef @.str.4)
  %17683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17684 = load i32, ptr %17683, align 4, !tbaa !5
  %17685 = call ptr @s2n_strerror_debug(i32 noundef %17684, ptr noundef @.str.4)
  %17686 = call ptr @__errno_location() #12
  %17687 = load i32, ptr %17686, align 4, !tbaa !5
  %17688 = call ptr @strerror(i32 noundef %17687) #11
  %17689 = call ptr @__errno_location() #12
  %17690 = load i32, ptr %17689, align 4, !tbaa !5
  %17691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17678, ptr noundef @.str.2, i32 noundef %17679, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 793, ptr noundef %17682, ptr noundef %17685, ptr noundef %17688, i32 noundef %17690) #11
  br label %17709

17692:                                            ; preds = %17670, %17663
  %17693 = load i32, ptr %382, align 4, !tbaa !5
  %17694 = call ptr @__errno_location() #12
  store i32 %17693, ptr %17694, align 4, !tbaa !5
  %17695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17696 = load i32, ptr @test_count, align 4, !tbaa !5
  %17697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17698 = load i32, ptr %17697, align 4, !tbaa !5
  %17699 = call ptr @s2n_strerror(i32 noundef %17698, ptr noundef @.str.4)
  %17700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17701 = load i32, ptr %17700, align 4, !tbaa !5
  %17702 = call ptr @s2n_strerror_debug(i32 noundef %17701, ptr noundef @.str.4)
  %17703 = call ptr @__errno_location() #12
  %17704 = load i32, ptr %17703, align 4, !tbaa !5
  %17705 = call ptr @strerror(i32 noundef %17704) #11
  %17706 = call ptr @__errno_location() #12
  %17707 = load i32, ptr %17706, align 4, !tbaa !5
  %17708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17695, ptr noundef @.str.5, i32 noundef %17696, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 793, ptr noundef %17699, ptr noundef %17702, ptr noundef %17705, i32 noundef %17707) #11
  br label %17709

17709:                                            ; preds = %17692, %17675
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #11
  br label %17710

17710:                                            ; preds = %17709
  br label %17711

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

17712:                                            ; No predecessors!
  br label %17713

17713:                                            ; preds = %17712
  br label %17714

17714:                                            ; preds = %17713, %17656
  br label %17715

17715:                                            ; preds = %17714
  br label %17716

17716:                                            ; preds = %17715
  br label %17717

17717:                                            ; preds = %17716
  %17718 = load i32, ptr @test_count, align 4, !tbaa !5
  %17719 = add nsw i32 %17718, 1
  store i32 %17719, ptr @test_count, align 4, !tbaa !5
  %17720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17721 = load i32, ptr %17720, align 4, !tbaa !5
  %17722 = icmp eq i32 %17721, 402653193
  br i1 %17722, label %17776, label %17723

17723:                                            ; preds = %17717
  br label %17724

17724:                                            ; preds = %17723
  br label %17725

17725:                                            ; preds = %17724
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #11
  %17726 = call ptr @__errno_location() #12
  %17727 = load i32, ptr %17726, align 4, !tbaa !5
  store i32 %17727, ptr %383, align 4, !tbaa !5
  %17728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17729 = call i32 @s2n_print_stacktrace(ptr noundef %17728)
  %17730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17731 = trunc i8 %17730 to i1
  br i1 %17731, label %17732, label %17754

17732:                                            ; preds = %17725
  %17733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17734 = call i32 @fileno(ptr noundef %17733) #11
  %17735 = call i32 @isatty(i32 noundef %17734) #11
  %17736 = icmp ne i32 %17735, 0
  br i1 %17736, label %17737, label %17754

17737:                                            ; preds = %17732
  %17738 = load i32, ptr %383, align 4, !tbaa !5
  %17739 = call ptr @__errno_location() #12
  store i32 %17738, ptr %17739, align 4, !tbaa !5
  %17740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17741 = load i32, ptr @test_count, align 4, !tbaa !5
  %17742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17743 = load i32, ptr %17742, align 4, !tbaa !5
  %17744 = call ptr @s2n_strerror(i32 noundef %17743, ptr noundef @.str.4)
  %17745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17746 = load i32, ptr %17745, align 4, !tbaa !5
  %17747 = call ptr @s2n_strerror_debug(i32 noundef %17746, ptr noundef @.str.4)
  %17748 = call ptr @__errno_location() #12
  %17749 = load i32, ptr %17748, align 4, !tbaa !5
  %17750 = call ptr @strerror(i32 noundef %17749) #11
  %17751 = call ptr @__errno_location() #12
  %17752 = load i32, ptr %17751, align 4, !tbaa !5
  %17753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17740, ptr noundef @.str.2, i32 noundef %17741, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 793, ptr noundef %17744, ptr noundef %17747, ptr noundef %17750, i32 noundef %17752) #11
  br label %17771

17754:                                            ; preds = %17732, %17725
  %17755 = load i32, ptr %383, align 4, !tbaa !5
  %17756 = call ptr @__errno_location() #12
  store i32 %17755, ptr %17756, align 4, !tbaa !5
  %17757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17758 = load i32, ptr @test_count, align 4, !tbaa !5
  %17759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17760 = load i32, ptr %17759, align 4, !tbaa !5
  %17761 = call ptr @s2n_strerror(i32 noundef %17760, ptr noundef @.str.4)
  %17762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17763 = load i32, ptr %17762, align 4, !tbaa !5
  %17764 = call ptr @s2n_strerror_debug(i32 noundef %17763, ptr noundef @.str.4)
  %17765 = call ptr @__errno_location() #12
  %17766 = load i32, ptr %17765, align 4, !tbaa !5
  %17767 = call ptr @strerror(i32 noundef %17766) #11
  %17768 = call ptr @__errno_location() #12
  %17769 = load i32, ptr %17768, align 4, !tbaa !5
  %17770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17757, ptr noundef @.str.5, i32 noundef %17758, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 793, ptr noundef %17761, ptr noundef %17764, ptr noundef %17767, i32 noundef %17769) #11
  br label %17771

17771:                                            ; preds = %17754, %17737
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #11
  br label %17772

17772:                                            ; preds = %17771
  br label %17773

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

17774:                                            ; No predecessors!
  br label %17775

17775:                                            ; preds = %17774
  br label %17776

17776:                                            ; preds = %17775, %17717
  br label %17777

17777:                                            ; preds = %17776
  br label %17778

17778:                                            ; preds = %17777
  br label %17779

17779:                                            ; preds = %17778
  %17780 = load i32, ptr @test_count, align 4, !tbaa !5
  %17781 = add nsw i32 %17780, 1
  store i32 %17781, ptr @test_count, align 4, !tbaa !5
  %17782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17783 = load i32, ptr %17782, align 4, !tbaa !5
  %17784 = call ptr @s2n_strerror_debug(i32 noundef %17783, ptr noundef @.str.4)
  %17785 = icmp eq ptr %17784, null
  br i1 %17785, label %17786, label %17839

17786:                                            ; preds = %17779
  br label %17787

17787:                                            ; preds = %17786
  br label %17788

17788:                                            ; preds = %17787
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  %17789 = call ptr @__errno_location() #12
  %17790 = load i32, ptr %17789, align 4, !tbaa !5
  store i32 %17790, ptr %384, align 4, !tbaa !5
  %17791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17792 = call i32 @s2n_print_stacktrace(ptr noundef %17791)
  %17793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17794 = trunc i8 %17793 to i1
  br i1 %17794, label %17795, label %17817

17795:                                            ; preds = %17788
  %17796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17797 = call i32 @fileno(ptr noundef %17796) #11
  %17798 = call i32 @isatty(i32 noundef %17797) #11
  %17799 = icmp ne i32 %17798, 0
  br i1 %17799, label %17800, label %17817

17800:                                            ; preds = %17795
  %17801 = load i32, ptr %384, align 4, !tbaa !5
  %17802 = call ptr @__errno_location() #12
  store i32 %17801, ptr %17802, align 4, !tbaa !5
  %17803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17804 = load i32, ptr @test_count, align 4, !tbaa !5
  %17805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17806 = load i32, ptr %17805, align 4, !tbaa !5
  %17807 = call ptr @s2n_strerror(i32 noundef %17806, ptr noundef @.str.4)
  %17808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17809 = load i32, ptr %17808, align 4, !tbaa !5
  %17810 = call ptr @s2n_strerror_debug(i32 noundef %17809, ptr noundef @.str.4)
  %17811 = call ptr @__errno_location() #12
  %17812 = load i32, ptr %17811, align 4, !tbaa !5
  %17813 = call ptr @strerror(i32 noundef %17812) #11
  %17814 = call ptr @__errno_location() #12
  %17815 = load i32, ptr %17814, align 4, !tbaa !5
  %17816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17803, ptr noundef @.str.2, i32 noundef %17804, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 793, ptr noundef %17807, ptr noundef %17810, ptr noundef %17813, i32 noundef %17815) #11
  br label %17834

17817:                                            ; preds = %17795, %17788
  %17818 = load i32, ptr %384, align 4, !tbaa !5
  %17819 = call ptr @__errno_location() #12
  store i32 %17818, ptr %17819, align 4, !tbaa !5
  %17820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17821 = load i32, ptr @test_count, align 4, !tbaa !5
  %17822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17823 = load i32, ptr %17822, align 4, !tbaa !5
  %17824 = call ptr @s2n_strerror(i32 noundef %17823, ptr noundef @.str.4)
  %17825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17826 = load i32, ptr %17825, align 4, !tbaa !5
  %17827 = call ptr @s2n_strerror_debug(i32 noundef %17826, ptr noundef @.str.4)
  %17828 = call ptr @__errno_location() #12
  %17829 = load i32, ptr %17828, align 4, !tbaa !5
  %17830 = call ptr @strerror(i32 noundef %17829) #11
  %17831 = call ptr @__errno_location() #12
  %17832 = load i32, ptr %17831, align 4, !tbaa !5
  %17833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17820, ptr noundef @.str.5, i32 noundef %17821, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 793, ptr noundef %17824, ptr noundef %17827, ptr noundef %17830, i32 noundef %17832) #11
  br label %17834

17834:                                            ; preds = %17817, %17800
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  br label %17835

17835:                                            ; preds = %17834
  br label %17836

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

17837:                                            ; No predecessors!
  br label %17838

17838:                                            ; preds = %17837
  br label %17839

17839:                                            ; preds = %17838, %17779
  br label %17840

17840:                                            ; preds = %17839
  br label %17841

17841:                                            ; preds = %17840
  br label %17842

17842:                                            ; preds = %17841
  br label %17843

17843:                                            ; preds = %17842
  br label %17844

17844:                                            ; preds = %17843
  %17845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17845, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17846 = call ptr @__errno_location() #12
  store i32 0, ptr %17846, align 4, !tbaa !5
  br label %17847

17847:                                            ; preds = %17844
  br label %17848

17848:                                            ; preds = %17847
  br label %17849

17849:                                            ; preds = %17848
  br label %17850

17850:                                            ; preds = %17849
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr %377) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %385) #11
  %17851 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17851, ptr %385, align 8, !tbaa !9
  br label %17852

17852:                                            ; preds = %17850
  %17853 = load i32, ptr @test_count, align 4, !tbaa !5
  %17854 = add nsw i32 %17853, 1
  store i32 %17854, ptr @test_count, align 4, !tbaa !5
  %17855 = load ptr, ptr %385, align 8, !tbaa !9
  %17856 = icmp eq ptr %17855, null
  br i1 %17856, label %17857, label %17910

17857:                                            ; preds = %17852
  br label %17858

17858:                                            ; preds = %17857
  br label %17859

17859:                                            ; preds = %17858
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  %17860 = call ptr @__errno_location() #12
  %17861 = load i32, ptr %17860, align 4, !tbaa !5
  store i32 %17861, ptr %386, align 4, !tbaa !5
  %17862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17863 = call i32 @s2n_print_stacktrace(ptr noundef %17862)
  %17864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17865 = trunc i8 %17864 to i1
  br i1 %17865, label %17866, label %17888

17866:                                            ; preds = %17859
  %17867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17868 = call i32 @fileno(ptr noundef %17867) #11
  %17869 = call i32 @isatty(i32 noundef %17868) #11
  %17870 = icmp ne i32 %17869, 0
  br i1 %17870, label %17871, label %17888

17871:                                            ; preds = %17866
  %17872 = load i32, ptr %386, align 4, !tbaa !5
  %17873 = call ptr @__errno_location() #12
  store i32 %17872, ptr %17873, align 4, !tbaa !5
  %17874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17875 = load i32, ptr @test_count, align 4, !tbaa !5
  %17876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17877 = load i32, ptr %17876, align 4, !tbaa !5
  %17878 = call ptr @s2n_strerror(i32 noundef %17877, ptr noundef @.str.4)
  %17879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17880 = load i32, ptr %17879, align 4, !tbaa !5
  %17881 = call ptr @s2n_strerror_debug(i32 noundef %17880, ptr noundef @.str.4)
  %17882 = call ptr @__errno_location() #12
  %17883 = load i32, ptr %17882, align 4, !tbaa !5
  %17884 = call ptr @strerror(i32 noundef %17883) #11
  %17885 = call ptr @__errno_location() #12
  %17886 = load i32, ptr %17885, align 4, !tbaa !5
  %17887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17874, ptr noundef @.str.2, i32 noundef %17875, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 799, ptr noundef %17878, ptr noundef %17881, ptr noundef %17884, i32 noundef %17886) #11
  br label %17905

17888:                                            ; preds = %17866, %17859
  %17889 = load i32, ptr %386, align 4, !tbaa !5
  %17890 = call ptr @__errno_location() #12
  store i32 %17889, ptr %17890, align 4, !tbaa !5
  %17891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17892 = load i32, ptr @test_count, align 4, !tbaa !5
  %17893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17894 = load i32, ptr %17893, align 4, !tbaa !5
  %17895 = call ptr @s2n_strerror(i32 noundef %17894, ptr noundef @.str.4)
  %17896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17897 = load i32, ptr %17896, align 4, !tbaa !5
  %17898 = call ptr @s2n_strerror_debug(i32 noundef %17897, ptr noundef @.str.4)
  %17899 = call ptr @__errno_location() #12
  %17900 = load i32, ptr %17899, align 4, !tbaa !5
  %17901 = call ptr @strerror(i32 noundef %17900) #11
  %17902 = call ptr @__errno_location() #12
  %17903 = load i32, ptr %17902, align 4, !tbaa !5
  %17904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17891, ptr noundef @.str.5, i32 noundef %17892, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 799, ptr noundef %17895, ptr noundef %17898, ptr noundef %17901, i32 noundef %17903) #11
  br label %17905

17905:                                            ; preds = %17888, %17871
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  br label %17906

17906:                                            ; preds = %17905
  br label %17907

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

17908:                                            ; No predecessors!
  br label %17909

17909:                                            ; preds = %17908
  br label %17910

17910:                                            ; preds = %17909, %17852
  br label %17911

17911:                                            ; preds = %17910
  br label %17912

17912:                                            ; preds = %17911
  br label %17913

17913:                                            ; preds = %17912
  %17914 = load i32, ptr @test_count, align 4, !tbaa !5
  %17915 = add nsw i32 %17914, 1
  store i32 %17915, ptr @test_count, align 4, !tbaa !5
  %17916 = load ptr, ptr %385, align 8, !tbaa !9
  %17917 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %17916, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %17918 = getelementptr inbounds %struct.s2n_result, ptr %387, i32 0, i32 0
  store i32 %17917, ptr %17918, align 4
  %17919 = getelementptr inbounds %struct.s2n_result, ptr %387, i32 0, i32 0
  %17920 = load i32, ptr %17919, align 4
  %17921 = call zeroext i1 @s2n_result_is_ok(i32 %17920)
  br i1 %17921, label %17975, label %17922

17922:                                            ; preds = %17913
  br label %17923

17923:                                            ; preds = %17922
  br label %17924

17924:                                            ; preds = %17923
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %17925 = call ptr @__errno_location() #12
  %17926 = load i32, ptr %17925, align 4, !tbaa !5
  store i32 %17926, ptr %388, align 4, !tbaa !5
  %17927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17928 = call i32 @s2n_print_stacktrace(ptr noundef %17927)
  %17929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17930 = trunc i8 %17929 to i1
  br i1 %17930, label %17931, label %17953

17931:                                            ; preds = %17924
  %17932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17933 = call i32 @fileno(ptr noundef %17932) #11
  %17934 = call i32 @isatty(i32 noundef %17933) #11
  %17935 = icmp ne i32 %17934, 0
  br i1 %17935, label %17936, label %17953

17936:                                            ; preds = %17931
  %17937 = load i32, ptr %388, align 4, !tbaa !5
  %17938 = call ptr @__errno_location() #12
  store i32 %17937, ptr %17938, align 4, !tbaa !5
  %17939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17940 = load i32, ptr @test_count, align 4, !tbaa !5
  %17941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17942 = load i32, ptr %17941, align 4, !tbaa !5
  %17943 = call ptr @s2n_strerror(i32 noundef %17942, ptr noundef @.str.4)
  %17944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17945 = load i32, ptr %17944, align 4, !tbaa !5
  %17946 = call ptr @s2n_strerror_debug(i32 noundef %17945, ptr noundef @.str.4)
  %17947 = call ptr @__errno_location() #12
  %17948 = load i32, ptr %17947, align 4, !tbaa !5
  %17949 = call ptr @strerror(i32 noundef %17948) #11
  %17950 = call ptr @__errno_location() #12
  %17951 = load i32, ptr %17950, align 4, !tbaa !5
  %17952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17939, ptr noundef @.str.2, i32 noundef %17940, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 800, ptr noundef %17943, ptr noundef %17946, ptr noundef %17949, i32 noundef %17951) #11
  br label %17970

17953:                                            ; preds = %17931, %17924
  %17954 = load i32, ptr %388, align 4, !tbaa !5
  %17955 = call ptr @__errno_location() #12
  store i32 %17954, ptr %17955, align 4, !tbaa !5
  %17956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17957 = load i32, ptr @test_count, align 4, !tbaa !5
  %17958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17959 = load i32, ptr %17958, align 4, !tbaa !5
  %17960 = call ptr @s2n_strerror(i32 noundef %17959, ptr noundef @.str.4)
  %17961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17962 = load i32, ptr %17961, align 4, !tbaa !5
  %17963 = call ptr @s2n_strerror_debug(i32 noundef %17962, ptr noundef @.str.4)
  %17964 = call ptr @__errno_location() #12
  %17965 = load i32, ptr %17964, align 4, !tbaa !5
  %17966 = call ptr @strerror(i32 noundef %17965) #11
  %17967 = call ptr @__errno_location() #12
  %17968 = load i32, ptr %17967, align 4, !tbaa !5
  %17969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17956, ptr noundef @.str.5, i32 noundef %17957, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 800, ptr noundef %17960, ptr noundef %17963, ptr noundef %17966, i32 noundef %17968) #11
  br label %17970

17970:                                            ; preds = %17953, %17936
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %17971

17971:                                            ; preds = %17970
  br label %17972

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

17973:                                            ; No predecessors!
  br label %17974

17974:                                            ; preds = %17973
  br label %17975

17975:                                            ; preds = %17974, %17913
  br label %17976

17976:                                            ; preds = %17975
  br label %17977

17977:                                            ; preds = %17976
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  store i32 0, ptr %389, align 4, !tbaa !5
  br label %17978

17978:                                            ; preds = %17977
  %17979 = load i32, ptr @test_count, align 4, !tbaa !5
  %17980 = add nsw i32 %17979, 1
  store i32 %17980, ptr @test_count, align 4, !tbaa !5
  %17981 = load ptr, ptr %385, align 8, !tbaa !9
  %17982 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %17981, ptr noundef %389)
  %17983 = icmp eq i32 %17982, -1
  br i1 %17983, label %17984, label %18037

17984:                                            ; preds = %17978
  br label %17985

17985:                                            ; preds = %17984
  br label %17986

17986:                                            ; preds = %17985
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #11
  %17987 = call ptr @__errno_location() #12
  %17988 = load i32, ptr %17987, align 4, !tbaa !5
  store i32 %17988, ptr %390, align 4, !tbaa !5
  %17989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17990 = call i32 @s2n_print_stacktrace(ptr noundef %17989)
  %17991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17992 = trunc i8 %17991 to i1
  br i1 %17992, label %17993, label %18015

17993:                                            ; preds = %17986
  %17994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17995 = call i32 @fileno(ptr noundef %17994) #11
  %17996 = call i32 @isatty(i32 noundef %17995) #11
  %17997 = icmp ne i32 %17996, 0
  br i1 %17997, label %17998, label %18015

17998:                                            ; preds = %17993
  %17999 = load i32, ptr %390, align 4, !tbaa !5
  %18000 = call ptr @__errno_location() #12
  store i32 %17999, ptr %18000, align 4, !tbaa !5
  %18001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18002 = load i32, ptr @test_count, align 4, !tbaa !5
  %18003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18004 = load i32, ptr %18003, align 4, !tbaa !5
  %18005 = call ptr @s2n_strerror(i32 noundef %18004, ptr noundef @.str.4)
  %18006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18007 = load i32, ptr %18006, align 4, !tbaa !5
  %18008 = call ptr @s2n_strerror_debug(i32 noundef %18007, ptr noundef @.str.4)
  %18009 = call ptr @__errno_location() #12
  %18010 = load i32, ptr %18009, align 4, !tbaa !5
  %18011 = call ptr @strerror(i32 noundef %18010) #11
  %18012 = call ptr @__errno_location() #12
  %18013 = load i32, ptr %18012, align 4, !tbaa !5
  %18014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18001, ptr noundef @.str.2, i32 noundef %18002, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 804, ptr noundef %18005, ptr noundef %18008, ptr noundef %18011, i32 noundef %18013) #11
  br label %18032

18015:                                            ; preds = %17993, %17986
  %18016 = load i32, ptr %390, align 4, !tbaa !5
  %18017 = call ptr @__errno_location() #12
  store i32 %18016, ptr %18017, align 4, !tbaa !5
  %18018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18019 = load i32, ptr @test_count, align 4, !tbaa !5
  %18020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18021 = load i32, ptr %18020, align 4, !tbaa !5
  %18022 = call ptr @s2n_strerror(i32 noundef %18021, ptr noundef @.str.4)
  %18023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18024 = load i32, ptr %18023, align 4, !tbaa !5
  %18025 = call ptr @s2n_strerror_debug(i32 noundef %18024, ptr noundef @.str.4)
  %18026 = call ptr @__errno_location() #12
  %18027 = load i32, ptr %18026, align 4, !tbaa !5
  %18028 = call ptr @strerror(i32 noundef %18027) #11
  %18029 = call ptr @__errno_location() #12
  %18030 = load i32, ptr %18029, align 4, !tbaa !5
  %18031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18018, ptr noundef @.str.5, i32 noundef %18019, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 804, ptr noundef %18022, ptr noundef %18025, ptr noundef %18028, i32 noundef %18030) #11
  br label %18032

18032:                                            ; preds = %18015, %17998
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #11
  br label %18033

18033:                                            ; preds = %18032
  br label %18034

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

18035:                                            ; No predecessors!
  br label %18036

18036:                                            ; preds = %18035
  br label %18037

18037:                                            ; preds = %18036, %17978
  br label %18038

18038:                                            ; preds = %18037
  br label %18039

18039:                                            ; preds = %18038
  br label %18040

18040:                                            ; preds = %18039
  %18041 = load i32, ptr @test_count, align 4, !tbaa !5
  %18042 = add nsw i32 %18041, 1
  store i32 %18042, ptr @test_count, align 4, !tbaa !5
  %18043 = load i32, ptr %389, align 4, !tbaa !5
  %18044 = icmp eq i32 %18043, 10
  br i1 %18044, label %18098, label %18045

18045:                                            ; preds = %18040
  br label %18046

18046:                                            ; preds = %18045
  br label %18047

18047:                                            ; preds = %18046
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #11
  %18048 = call ptr @__errno_location() #12
  %18049 = load i32, ptr %18048, align 4, !tbaa !5
  store i32 %18049, ptr %391, align 4, !tbaa !5
  %18050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18051 = call i32 @s2n_print_stacktrace(ptr noundef %18050)
  %18052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18053 = trunc i8 %18052 to i1
  br i1 %18053, label %18054, label %18076

18054:                                            ; preds = %18047
  %18055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18056 = call i32 @fileno(ptr noundef %18055) #11
  %18057 = call i32 @isatty(i32 noundef %18056) #11
  %18058 = icmp ne i32 %18057, 0
  br i1 %18058, label %18059, label %18076

18059:                                            ; preds = %18054
  %18060 = load i32, ptr %391, align 4, !tbaa !5
  %18061 = call ptr @__errno_location() #12
  store i32 %18060, ptr %18061, align 4, !tbaa !5
  %18062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18063 = load i32, ptr @test_count, align 4, !tbaa !5
  %18064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18065 = load i32, ptr %18064, align 4, !tbaa !5
  %18066 = call ptr @s2n_strerror(i32 noundef %18065, ptr noundef @.str.4)
  %18067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18068 = load i32, ptr %18067, align 4, !tbaa !5
  %18069 = call ptr @s2n_strerror_debug(i32 noundef %18068, ptr noundef @.str.4)
  %18070 = call ptr @__errno_location() #12
  %18071 = load i32, ptr %18070, align 4, !tbaa !5
  %18072 = call ptr @strerror(i32 noundef %18071) #11
  %18073 = call ptr @__errno_location() #12
  %18074 = load i32, ptr %18073, align 4, !tbaa !5
  %18075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18062, ptr noundef @.str.2, i32 noundef %18063, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 805, ptr noundef %18066, ptr noundef %18069, ptr noundef %18072, i32 noundef %18074) #11
  br label %18093

18076:                                            ; preds = %18054, %18047
  %18077 = load i32, ptr %391, align 4, !tbaa !5
  %18078 = call ptr @__errno_location() #12
  store i32 %18077, ptr %18078, align 4, !tbaa !5
  %18079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18080 = load i32, ptr @test_count, align 4, !tbaa !5
  %18081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18082 = load i32, ptr %18081, align 4, !tbaa !5
  %18083 = call ptr @s2n_strerror(i32 noundef %18082, ptr noundef @.str.4)
  %18084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18085 = load i32, ptr %18084, align 4, !tbaa !5
  %18086 = call ptr @s2n_strerror_debug(i32 noundef %18085, ptr noundef @.str.4)
  %18087 = call ptr @__errno_location() #12
  %18088 = load i32, ptr %18087, align 4, !tbaa !5
  %18089 = call ptr @strerror(i32 noundef %18088) #11
  %18090 = call ptr @__errno_location() #12
  %18091 = load i32, ptr %18090, align 4, !tbaa !5
  %18092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18079, ptr noundef @.str.5, i32 noundef %18080, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 805, ptr noundef %18083, ptr noundef %18086, ptr noundef %18089, i32 noundef %18091) #11
  br label %18093

18093:                                            ; preds = %18076, %18059
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #11
  br label %18094

18094:                                            ; preds = %18093
  br label %18095

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

18096:                                            ; No predecessors!
  br label %18097

18097:                                            ; preds = %18096
  br label %18098

18098:                                            ; preds = %18097, %18040
  br label %18099

18099:                                            ; preds = %18098
  br label %18100

18100:                                            ; preds = %18099
  %18101 = load ptr, ptr %385, align 8, !tbaa !9
  %18102 = getelementptr inbounds %struct.s2n_connection, ptr %18101, i32 0, i32 89
  store i32 2, ptr %18102, align 8, !tbaa !15
  br label %18103

18103:                                            ; preds = %18100
  %18104 = load i32, ptr @test_count, align 4, !tbaa !5
  %18105 = add nsw i32 %18104, 1
  store i32 %18105, ptr @test_count, align 4, !tbaa !5
  %18106 = load ptr, ptr %385, align 8, !tbaa !9
  %18107 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %18106, ptr noundef %389)
  %18108 = icmp eq i32 %18107, -1
  br i1 %18108, label %18109, label %18162

18109:                                            ; preds = %18103
  br label %18110

18110:                                            ; preds = %18109
  br label %18111

18111:                                            ; preds = %18110
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %18112 = call ptr @__errno_location() #12
  %18113 = load i32, ptr %18112, align 4, !tbaa !5
  store i32 %18113, ptr %392, align 4, !tbaa !5
  %18114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18115 = call i32 @s2n_print_stacktrace(ptr noundef %18114)
  %18116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18117 = trunc i8 %18116 to i1
  br i1 %18117, label %18118, label %18140

18118:                                            ; preds = %18111
  %18119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18120 = call i32 @fileno(ptr noundef %18119) #11
  %18121 = call i32 @isatty(i32 noundef %18120) #11
  %18122 = icmp ne i32 %18121, 0
  br i1 %18122, label %18123, label %18140

18123:                                            ; preds = %18118
  %18124 = load i32, ptr %392, align 4, !tbaa !5
  %18125 = call ptr @__errno_location() #12
  store i32 %18124, ptr %18125, align 4, !tbaa !5
  %18126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18127 = load i32, ptr @test_count, align 4, !tbaa !5
  %18128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18129 = load i32, ptr %18128, align 4, !tbaa !5
  %18130 = call ptr @s2n_strerror(i32 noundef %18129, ptr noundef @.str.4)
  %18131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18132 = load i32, ptr %18131, align 4, !tbaa !5
  %18133 = call ptr @s2n_strerror_debug(i32 noundef %18132, ptr noundef @.str.4)
  %18134 = call ptr @__errno_location() #12
  %18135 = load i32, ptr %18134, align 4, !tbaa !5
  %18136 = call ptr @strerror(i32 noundef %18135) #11
  %18137 = call ptr @__errno_location() #12
  %18138 = load i32, ptr %18137, align 4, !tbaa !5
  %18139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18126, ptr noundef @.str.2, i32 noundef %18127, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 808, ptr noundef %18130, ptr noundef %18133, ptr noundef %18136, i32 noundef %18138) #11
  br label %18157

18140:                                            ; preds = %18118, %18111
  %18141 = load i32, ptr %392, align 4, !tbaa !5
  %18142 = call ptr @__errno_location() #12
  store i32 %18141, ptr %18142, align 4, !tbaa !5
  %18143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18144 = load i32, ptr @test_count, align 4, !tbaa !5
  %18145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18146 = load i32, ptr %18145, align 4, !tbaa !5
  %18147 = call ptr @s2n_strerror(i32 noundef %18146, ptr noundef @.str.4)
  %18148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18149 = load i32, ptr %18148, align 4, !tbaa !5
  %18150 = call ptr @s2n_strerror_debug(i32 noundef %18149, ptr noundef @.str.4)
  %18151 = call ptr @__errno_location() #12
  %18152 = load i32, ptr %18151, align 4, !tbaa !5
  %18153 = call ptr @strerror(i32 noundef %18152) #11
  %18154 = call ptr @__errno_location() #12
  %18155 = load i32, ptr %18154, align 4, !tbaa !5
  %18156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18143, ptr noundef @.str.5, i32 noundef %18144, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 808, ptr noundef %18147, ptr noundef %18150, ptr noundef %18153, i32 noundef %18155) #11
  br label %18157

18157:                                            ; preds = %18140, %18123
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %18158

18158:                                            ; preds = %18157
  br label %18159

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

18160:                                            ; No predecessors!
  br label %18161

18161:                                            ; preds = %18160
  br label %18162

18162:                                            ; preds = %18161, %18103
  br label %18163

18163:                                            ; preds = %18162
  br label %18164

18164:                                            ; preds = %18163
  br label %18165

18165:                                            ; preds = %18164
  %18166 = load i32, ptr @test_count, align 4, !tbaa !5
  %18167 = add nsw i32 %18166, 1
  store i32 %18167, ptr @test_count, align 4, !tbaa !5
  %18168 = load i32, ptr %389, align 4, !tbaa !5
  %18169 = icmp eq i32 %18168, 0
  br i1 %18169, label %18223, label %18170

18170:                                            ; preds = %18165
  br label %18171

18171:                                            ; preds = %18170
  br label %18172

18172:                                            ; preds = %18171
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %18173 = call ptr @__errno_location() #12
  %18174 = load i32, ptr %18173, align 4, !tbaa !5
  store i32 %18174, ptr %393, align 4, !tbaa !5
  %18175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18176 = call i32 @s2n_print_stacktrace(ptr noundef %18175)
  %18177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18178 = trunc i8 %18177 to i1
  br i1 %18178, label %18179, label %18201

18179:                                            ; preds = %18172
  %18180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18181 = call i32 @fileno(ptr noundef %18180) #11
  %18182 = call i32 @isatty(i32 noundef %18181) #11
  %18183 = icmp ne i32 %18182, 0
  br i1 %18183, label %18184, label %18201

18184:                                            ; preds = %18179
  %18185 = load i32, ptr %393, align 4, !tbaa !5
  %18186 = call ptr @__errno_location() #12
  store i32 %18185, ptr %18186, align 4, !tbaa !5
  %18187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18188 = load i32, ptr @test_count, align 4, !tbaa !5
  %18189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18190 = load i32, ptr %18189, align 4, !tbaa !5
  %18191 = call ptr @s2n_strerror(i32 noundef %18190, ptr noundef @.str.4)
  %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_debug(i32 noundef %18193, ptr noundef @.str.4)
  %18195 = call ptr @__errno_location() #12
  %18196 = load i32, ptr %18195, align 4, !tbaa !5
  %18197 = call ptr @strerror(i32 noundef %18196) #11
  %18198 = call ptr @__errno_location() #12
  %18199 = load i32, ptr %18198, align 4, !tbaa !5
  %18200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18187, ptr noundef @.str.2, i32 noundef %18188, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 809, ptr noundef %18191, ptr noundef %18194, ptr noundef %18197, i32 noundef %18199) #11
  br label %18218

18201:                                            ; preds = %18179, %18172
  %18202 = load i32, ptr %393, align 4, !tbaa !5
  %18203 = call ptr @__errno_location() #12
  store i32 %18202, ptr %18203, align 4, !tbaa !5
  %18204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18205 = load i32, ptr @test_count, align 4, !tbaa !5
  %18206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18207 = load i32, ptr %18206, align 4, !tbaa !5
  %18208 = call ptr @s2n_strerror(i32 noundef %18207, ptr noundef @.str.4)
  %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_debug(i32 noundef %18210, ptr noundef @.str.4)
  %18212 = call ptr @__errno_location() #12
  %18213 = load i32, ptr %18212, align 4, !tbaa !5
  %18214 = call ptr @strerror(i32 noundef %18213) #11
  %18215 = call ptr @__errno_location() #12
  %18216 = load i32, ptr %18215, align 4, !tbaa !5
  %18217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18204, ptr noundef @.str.5, i32 noundef %18205, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 809, ptr noundef %18208, ptr noundef %18211, ptr noundef %18214, i32 noundef %18216) #11
  br label %18218

18218:                                            ; preds = %18201, %18184
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %18219

18219:                                            ; preds = %18218
  br label %18220

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

18221:                                            ; No predecessors!
  br label %18222

18222:                                            ; preds = %18221
  br label %18223

18223:                                            ; preds = %18222, %18165
  br label %18224

18224:                                            ; preds = %18223
  br label %18225

18225:                                            ; preds = %18224
  %18226 = load ptr, ptr %385, align 8, !tbaa !9
  %18227 = getelementptr inbounds %struct.s2n_connection, ptr %18226, i32 0, i32 89
  store i32 1, ptr %18227, align 8, !tbaa !15
  br label %18228

18228:                                            ; preds = %18225
  %18229 = load i32, ptr @test_count, align 4, !tbaa !5
  %18230 = add nsw i32 %18229, 1
  store i32 %18230, ptr @test_count, align 4, !tbaa !5
  %18231 = load ptr, ptr %385, align 8, !tbaa !9
  %18232 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %18231, ptr noundef %389)
  %18233 = icmp eq i32 %18232, -1
  br i1 %18233, label %18234, label %18287

18234:                                            ; preds = %18228
  br label %18235

18235:                                            ; preds = %18234
  br label %18236

18236:                                            ; preds = %18235
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %18237 = call ptr @__errno_location() #12
  %18238 = load i32, ptr %18237, align 4, !tbaa !5
  store i32 %18238, ptr %394, align 4, !tbaa !5
  %18239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18240 = call i32 @s2n_print_stacktrace(ptr noundef %18239)
  %18241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18242 = trunc i8 %18241 to i1
  br i1 %18242, label %18243, label %18265

18243:                                            ; preds = %18236
  %18244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18245 = call i32 @fileno(ptr noundef %18244) #11
  %18246 = call i32 @isatty(i32 noundef %18245) #11
  %18247 = icmp ne i32 %18246, 0
  br i1 %18247, label %18248, label %18265

18248:                                            ; preds = %18243
  %18249 = load i32, ptr %394, align 4, !tbaa !5
  %18250 = call ptr @__errno_location() #12
  store i32 %18249, ptr %18250, align 4, !tbaa !5
  %18251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18252 = load i32, ptr @test_count, align 4, !tbaa !5
  %18253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18254 = load i32, ptr %18253, align 4, !tbaa !5
  %18255 = call ptr @s2n_strerror(i32 noundef %18254, ptr noundef @.str.4)
  %18256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18257 = load i32, ptr %18256, align 4, !tbaa !5
  %18258 = call ptr @s2n_strerror_debug(i32 noundef %18257, ptr noundef @.str.4)
  %18259 = call ptr @__errno_location() #12
  %18260 = load i32, ptr %18259, align 4, !tbaa !5
  %18261 = call ptr @strerror(i32 noundef %18260) #11
  %18262 = call ptr @__errno_location() #12
  %18263 = load i32, ptr %18262, align 4, !tbaa !5
  %18264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18251, ptr noundef @.str.2, i32 noundef %18252, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 812, ptr noundef %18255, ptr noundef %18258, ptr noundef %18261, i32 noundef %18263) #11
  br label %18282

18265:                                            ; preds = %18243, %18236
  %18266 = load i32, ptr %394, align 4, !tbaa !5
  %18267 = call ptr @__errno_location() #12
  store i32 %18266, ptr %18267, align 4, !tbaa !5
  %18268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18269 = load i32, ptr @test_count, align 4, !tbaa !5
  %18270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18271 = load i32, ptr %18270, align 4, !tbaa !5
  %18272 = call ptr @s2n_strerror(i32 noundef %18271, ptr noundef @.str.4)
  %18273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18274 = load i32, ptr %18273, align 4, !tbaa !5
  %18275 = call ptr @s2n_strerror_debug(i32 noundef %18274, ptr noundef @.str.4)
  %18276 = call ptr @__errno_location() #12
  %18277 = load i32, ptr %18276, align 4, !tbaa !5
  %18278 = call ptr @strerror(i32 noundef %18277) #11
  %18279 = call ptr @__errno_location() #12
  %18280 = load i32, ptr %18279, align 4, !tbaa !5
  %18281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18268, ptr noundef @.str.5, i32 noundef %18269, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 812, ptr noundef %18272, ptr noundef %18275, ptr noundef %18278, i32 noundef %18280) #11
  br label %18282

18282:                                            ; preds = %18265, %18248
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %18283

18283:                                            ; preds = %18282
  br label %18284

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

18285:                                            ; No predecessors!
  br label %18286

18286:                                            ; preds = %18285
  br label %18287

18287:                                            ; preds = %18286, %18228
  br label %18288

18288:                                            ; preds = %18287
  br label %18289

18289:                                            ; preds = %18288
  br label %18290

18290:                                            ; preds = %18289
  %18291 = load i32, ptr @test_count, align 4, !tbaa !5
  %18292 = add nsw i32 %18291, 1
  store i32 %18292, ptr @test_count, align 4, !tbaa !5
  %18293 = load i32, ptr %389, align 4, !tbaa !5
  %18294 = icmp eq i32 %18293, 10
  br i1 %18294, label %18348, label %18295

18295:                                            ; preds = %18290
  br label %18296

18296:                                            ; preds = %18295
  br label %18297

18297:                                            ; preds = %18296
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #11
  %18298 = call ptr @__errno_location() #12
  %18299 = load i32, ptr %18298, align 4, !tbaa !5
  store i32 %18299, ptr %395, align 4, !tbaa !5
  %18300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18301 = call i32 @s2n_print_stacktrace(ptr noundef %18300)
  %18302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18303 = trunc i8 %18302 to i1
  br i1 %18303, label %18304, label %18326

18304:                                            ; preds = %18297
  %18305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18306 = call i32 @fileno(ptr noundef %18305) #11
  %18307 = call i32 @isatty(i32 noundef %18306) #11
  %18308 = icmp ne i32 %18307, 0
  br i1 %18308, label %18309, label %18326

18309:                                            ; preds = %18304
  %18310 = load i32, ptr %395, align 4, !tbaa !5
  %18311 = call ptr @__errno_location() #12
  store i32 %18310, ptr %18311, align 4, !tbaa !5
  %18312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18313 = load i32, ptr @test_count, align 4, !tbaa !5
  %18314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18315 = load i32, ptr %18314, align 4, !tbaa !5
  %18316 = call ptr @s2n_strerror(i32 noundef %18315, ptr noundef @.str.4)
  %18317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18318 = load i32, ptr %18317, align 4, !tbaa !5
  %18319 = call ptr @s2n_strerror_debug(i32 noundef %18318, ptr noundef @.str.4)
  %18320 = call ptr @__errno_location() #12
  %18321 = load i32, ptr %18320, align 4, !tbaa !5
  %18322 = call ptr @strerror(i32 noundef %18321) #11
  %18323 = call ptr @__errno_location() #12
  %18324 = load i32, ptr %18323, align 4, !tbaa !5
  %18325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18312, ptr noundef @.str.2, i32 noundef %18313, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 813, ptr noundef %18316, ptr noundef %18319, ptr noundef %18322, i32 noundef %18324) #11
  br label %18343

18326:                                            ; preds = %18304, %18297
  %18327 = load i32, ptr %395, align 4, !tbaa !5
  %18328 = call ptr @__errno_location() #12
  store i32 %18327, ptr %18328, align 4, !tbaa !5
  %18329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18330 = load i32, ptr @test_count, align 4, !tbaa !5
  %18331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18332 = load i32, ptr %18331, align 4, !tbaa !5
  %18333 = call ptr @s2n_strerror(i32 noundef %18332, ptr noundef @.str.4)
  %18334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18335 = load i32, ptr %18334, align 4, !tbaa !5
  %18336 = call ptr @s2n_strerror_debug(i32 noundef %18335, ptr noundef @.str.4)
  %18337 = call ptr @__errno_location() #12
  %18338 = load i32, ptr %18337, align 4, !tbaa !5
  %18339 = call ptr @strerror(i32 noundef %18338) #11
  %18340 = call ptr @__errno_location() #12
  %18341 = load i32, ptr %18340, align 4, !tbaa !5
  %18342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18329, ptr noundef @.str.5, i32 noundef %18330, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 813, ptr noundef %18333, ptr noundef %18336, ptr noundef %18339, i32 noundef %18341) #11
  br label %18343

18343:                                            ; preds = %18326, %18309
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #11
  br label %18344

18344:                                            ; preds = %18343
  br label %18345

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

18346:                                            ; No predecessors!
  br label %18347

18347:                                            ; preds = %18346
  br label %18348

18348:                                            ; preds = %18347, %18290
  br label %18349

18349:                                            ; preds = %18348
  br label %18350

18350:                                            ; preds = %18349
  %18351 = load ptr, ptr %385, align 8, !tbaa !9
  %18352 = getelementptr inbounds %struct.s2n_connection, ptr %18351, i32 0, i32 60
  store i64 9, ptr %18352, align 8, !tbaa !76
  %18353 = load ptr, ptr %385, align 8, !tbaa !9
  %18354 = getelementptr inbounds %struct.s2n_connection, ptr %18353, i32 0, i32 89
  store i32 1, ptr %18354, align 8, !tbaa !15
  br label %18355

18355:                                            ; preds = %18350
  %18356 = load i32, ptr @test_count, align 4, !tbaa !5
  %18357 = add nsw i32 %18356, 1
  store i32 %18357, ptr @test_count, align 4, !tbaa !5
  %18358 = load ptr, ptr %385, align 8, !tbaa !9
  %18359 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %18358, ptr noundef %389)
  %18360 = icmp eq i32 %18359, -1
  br i1 %18360, label %18361, label %18414

18361:                                            ; preds = %18355
  br label %18362

18362:                                            ; preds = %18361
  br label %18363

18363:                                            ; preds = %18362
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %18364 = call ptr @__errno_location() #12
  %18365 = load i32, ptr %18364, align 4, !tbaa !5
  store i32 %18365, ptr %396, align 4, !tbaa !5
  %18366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18367 = call i32 @s2n_print_stacktrace(ptr noundef %18366)
  %18368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18369 = trunc i8 %18368 to i1
  br i1 %18369, label %18370, label %18392

18370:                                            ; preds = %18363
  %18371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18372 = call i32 @fileno(ptr noundef %18371) #11
  %18373 = call i32 @isatty(i32 noundef %18372) #11
  %18374 = icmp ne i32 %18373, 0
  br i1 %18374, label %18375, label %18392

18375:                                            ; preds = %18370
  %18376 = load i32, ptr %396, align 4, !tbaa !5
  %18377 = call ptr @__errno_location() #12
  store i32 %18376, ptr %18377, align 4, !tbaa !5
  %18378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18379 = load i32, ptr @test_count, align 4, !tbaa !5
  %18380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18381 = load i32, ptr %18380, align 4, !tbaa !5
  %18382 = call ptr @s2n_strerror(i32 noundef %18381, ptr noundef @.str.4)
  %18383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18384 = load i32, ptr %18383, align 4, !tbaa !5
  %18385 = call ptr @s2n_strerror_debug(i32 noundef %18384, ptr noundef @.str.4)
  %18386 = call ptr @__errno_location() #12
  %18387 = load i32, ptr %18386, align 4, !tbaa !5
  %18388 = call ptr @strerror(i32 noundef %18387) #11
  %18389 = call ptr @__errno_location() #12
  %18390 = load i32, ptr %18389, align 4, !tbaa !5
  %18391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18378, ptr noundef @.str.2, i32 noundef %18379, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 817, ptr noundef %18382, ptr noundef %18385, ptr noundef %18388, i32 noundef %18390) #11
  br label %18409

18392:                                            ; preds = %18370, %18363
  %18393 = load i32, ptr %396, align 4, !tbaa !5
  %18394 = call ptr @__errno_location() #12
  store i32 %18393, ptr %18394, align 4, !tbaa !5
  %18395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18396 = load i32, ptr @test_count, align 4, !tbaa !5
  %18397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18398 = load i32, ptr %18397, align 4, !tbaa !5
  %18399 = call ptr @s2n_strerror(i32 noundef %18398, ptr noundef @.str.4)
  %18400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18401 = load i32, ptr %18400, align 4, !tbaa !5
  %18402 = call ptr @s2n_strerror_debug(i32 noundef %18401, ptr noundef @.str.4)
  %18403 = call ptr @__errno_location() #12
  %18404 = load i32, ptr %18403, align 4, !tbaa !5
  %18405 = call ptr @strerror(i32 noundef %18404) #11
  %18406 = call ptr @__errno_location() #12
  %18407 = load i32, ptr %18406, align 4, !tbaa !5
  %18408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18395, ptr noundef @.str.5, i32 noundef %18396, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 817, ptr noundef %18399, ptr noundef %18402, ptr noundef %18405, i32 noundef %18407) #11
  br label %18409

18409:                                            ; preds = %18392, %18375
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %18410

18410:                                            ; preds = %18409
  br label %18411

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

18412:                                            ; No predecessors!
  br label %18413

18413:                                            ; preds = %18412
  br label %18414

18414:                                            ; preds = %18413, %18355
  br label %18415

18415:                                            ; preds = %18414
  br label %18416

18416:                                            ; preds = %18415
  br label %18417

18417:                                            ; preds = %18416
  %18418 = load i32, ptr @test_count, align 4, !tbaa !5
  %18419 = add nsw i32 %18418, 1
  store i32 %18419, ptr @test_count, align 4, !tbaa !5
  %18420 = load i32, ptr %389, align 4, !tbaa !5
  %18421 = icmp eq i32 %18420, 1
  br i1 %18421, label %18475, label %18422

18422:                                            ; preds = %18417
  br label %18423

18423:                                            ; preds = %18422
  br label %18424

18424:                                            ; preds = %18423
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #11
  %18425 = call ptr @__errno_location() #12
  %18426 = load i32, ptr %18425, align 4, !tbaa !5
  store i32 %18426, ptr %397, align 4, !tbaa !5
  %18427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18428 = call i32 @s2n_print_stacktrace(ptr noundef %18427)
  %18429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18430 = trunc i8 %18429 to i1
  br i1 %18430, label %18431, label %18453

18431:                                            ; preds = %18424
  %18432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18433 = call i32 @fileno(ptr noundef %18432) #11
  %18434 = call i32 @isatty(i32 noundef %18433) #11
  %18435 = icmp ne i32 %18434, 0
  br i1 %18435, label %18436, label %18453

18436:                                            ; preds = %18431
  %18437 = load i32, ptr %397, align 4, !tbaa !5
  %18438 = call ptr @__errno_location() #12
  store i32 %18437, ptr %18438, align 4, !tbaa !5
  %18439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18440 = load i32, ptr @test_count, align 4, !tbaa !5
  %18441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18442 = load i32, ptr %18441, align 4, !tbaa !5
  %18443 = call ptr @s2n_strerror(i32 noundef %18442, ptr noundef @.str.4)
  %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_debug(i32 noundef %18445, ptr noundef @.str.4)
  %18447 = call ptr @__errno_location() #12
  %18448 = load i32, ptr %18447, align 4, !tbaa !5
  %18449 = call ptr @strerror(i32 noundef %18448) #11
  %18450 = call ptr @__errno_location() #12
  %18451 = load i32, ptr %18450, align 4, !tbaa !5
  %18452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18439, ptr noundef @.str.2, i32 noundef %18440, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 818, ptr noundef %18443, ptr noundef %18446, ptr noundef %18449, i32 noundef %18451) #11
  br label %18470

18453:                                            ; preds = %18431, %18424
  %18454 = load i32, ptr %397, align 4, !tbaa !5
  %18455 = call ptr @__errno_location() #12
  store i32 %18454, ptr %18455, align 4, !tbaa !5
  %18456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18457 = load i32, ptr @test_count, align 4, !tbaa !5
  %18458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18459 = load i32, ptr %18458, align 4, !tbaa !5
  %18460 = call ptr @s2n_strerror(i32 noundef %18459, ptr noundef @.str.4)
  %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_debug(i32 noundef %18462, ptr noundef @.str.4)
  %18464 = call ptr @__errno_location() #12
  %18465 = load i32, ptr %18464, align 4, !tbaa !5
  %18466 = call ptr @strerror(i32 noundef %18465) #11
  %18467 = call ptr @__errno_location() #12
  %18468 = load i32, ptr %18467, align 4, !tbaa !5
  %18469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18456, ptr noundef @.str.5, i32 noundef %18457, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 818, ptr noundef %18460, ptr noundef %18463, ptr noundef %18466, i32 noundef %18468) #11
  br label %18470

18470:                                            ; preds = %18453, %18436
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #11
  br label %18471

18471:                                            ; preds = %18470
  br label %18472

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

18473:                                            ; No predecessors!
  br label %18474

18474:                                            ; preds = %18473
  br label %18475

18475:                                            ; preds = %18474, %18417
  br label %18476

18476:                                            ; preds = %18475
  br label %18477

18477:                                            ; preds = %18476
  %18478 = load ptr, ptr %385, align 8, !tbaa !9
  %18479 = getelementptr inbounds %struct.s2n_connection, ptr %18478, i32 0, i32 60
  store i64 10, ptr %18479, align 8, !tbaa !76
  %18480 = load ptr, ptr %385, align 8, !tbaa !9
  %18481 = getelementptr inbounds %struct.s2n_connection, ptr %18480, i32 0, i32 89
  store i32 1, ptr %18481, align 8, !tbaa !15
  br label %18482

18482:                                            ; preds = %18477
  %18483 = load i32, ptr @test_count, align 4, !tbaa !5
  %18484 = add nsw i32 %18483, 1
  store i32 %18484, ptr @test_count, align 4, !tbaa !5
  %18485 = load ptr, ptr %385, align 8, !tbaa !9
  %18486 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %18485, ptr noundef %389)
  %18487 = icmp eq i32 %18486, -1
  br i1 %18487, label %18488, label %18541

18488:                                            ; preds = %18482
  br label %18489

18489:                                            ; preds = %18488
  br label %18490

18490:                                            ; preds = %18489
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %18491 = call ptr @__errno_location() #12
  %18492 = load i32, ptr %18491, align 4, !tbaa !5
  store i32 %18492, ptr %398, align 4, !tbaa !5
  %18493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18494 = call i32 @s2n_print_stacktrace(ptr noundef %18493)
  %18495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18496 = trunc i8 %18495 to i1
  br i1 %18496, label %18497, label %18519

18497:                                            ; preds = %18490
  %18498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18499 = call i32 @fileno(ptr noundef %18498) #11
  %18500 = call i32 @isatty(i32 noundef %18499) #11
  %18501 = icmp ne i32 %18500, 0
  br i1 %18501, label %18502, label %18519

18502:                                            ; preds = %18497
  %18503 = load i32, ptr %398, align 4, !tbaa !5
  %18504 = call ptr @__errno_location() #12
  store i32 %18503, ptr %18504, align 4, !tbaa !5
  %18505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18506 = load i32, ptr @test_count, align 4, !tbaa !5
  %18507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18508 = load i32, ptr %18507, align 4, !tbaa !5
  %18509 = call ptr @s2n_strerror(i32 noundef %18508, ptr noundef @.str.4)
  %18510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18511 = load i32, ptr %18510, align 4, !tbaa !5
  %18512 = call ptr @s2n_strerror_debug(i32 noundef %18511, ptr noundef @.str.4)
  %18513 = call ptr @__errno_location() #12
  %18514 = load i32, ptr %18513, align 4, !tbaa !5
  %18515 = call ptr @strerror(i32 noundef %18514) #11
  %18516 = call ptr @__errno_location() #12
  %18517 = load i32, ptr %18516, align 4, !tbaa !5
  %18518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18505, ptr noundef @.str.2, i32 noundef %18506, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 822, ptr noundef %18509, ptr noundef %18512, ptr noundef %18515, i32 noundef %18517) #11
  br label %18536

18519:                                            ; preds = %18497, %18490
  %18520 = load i32, ptr %398, align 4, !tbaa !5
  %18521 = call ptr @__errno_location() #12
  store i32 %18520, ptr %18521, align 4, !tbaa !5
  %18522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18523 = load i32, ptr @test_count, align 4, !tbaa !5
  %18524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18525 = load i32, ptr %18524, align 4, !tbaa !5
  %18526 = call ptr @s2n_strerror(i32 noundef %18525, ptr noundef @.str.4)
  %18527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18528 = load i32, ptr %18527, align 4, !tbaa !5
  %18529 = call ptr @s2n_strerror_debug(i32 noundef %18528, ptr noundef @.str.4)
  %18530 = call ptr @__errno_location() #12
  %18531 = load i32, ptr %18530, align 4, !tbaa !5
  %18532 = call ptr @strerror(i32 noundef %18531) #11
  %18533 = call ptr @__errno_location() #12
  %18534 = load i32, ptr %18533, align 4, !tbaa !5
  %18535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18522, ptr noundef @.str.5, i32 noundef %18523, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 822, ptr noundef %18526, ptr noundef %18529, ptr noundef %18532, i32 noundef %18534) #11
  br label %18536

18536:                                            ; preds = %18519, %18502
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %18537

18537:                                            ; preds = %18536
  br label %18538

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

18539:                                            ; No predecessors!
  br label %18540

18540:                                            ; preds = %18539
  br label %18541

18541:                                            ; preds = %18540, %18482
  br label %18542

18542:                                            ; preds = %18541
  br label %18543

18543:                                            ; preds = %18542
  br label %18544

18544:                                            ; preds = %18543
  %18545 = load i32, ptr @test_count, align 4, !tbaa !5
  %18546 = add nsw i32 %18545, 1
  store i32 %18546, ptr @test_count, align 4, !tbaa !5
  %18547 = load i32, ptr %389, align 4, !tbaa !5
  %18548 = icmp eq i32 %18547, 0
  br i1 %18548, label %18602, label %18549

18549:                                            ; preds = %18544
  br label %18550

18550:                                            ; preds = %18549
  br label %18551

18551:                                            ; preds = %18550
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #11
  %18552 = call ptr @__errno_location() #12
  %18553 = load i32, ptr %18552, align 4, !tbaa !5
  store i32 %18553, ptr %399, align 4, !tbaa !5
  %18554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18555 = call i32 @s2n_print_stacktrace(ptr noundef %18554)
  %18556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18557 = trunc i8 %18556 to i1
  br i1 %18557, label %18558, label %18580

18558:                                            ; preds = %18551
  %18559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18560 = call i32 @fileno(ptr noundef %18559) #11
  %18561 = call i32 @isatty(i32 noundef %18560) #11
  %18562 = icmp ne i32 %18561, 0
  br i1 %18562, label %18563, label %18580

18563:                                            ; preds = %18558
  %18564 = load i32, ptr %399, align 4, !tbaa !5
  %18565 = call ptr @__errno_location() #12
  store i32 %18564, ptr %18565, align 4, !tbaa !5
  %18566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18567 = load i32, ptr @test_count, align 4, !tbaa !5
  %18568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18569 = load i32, ptr %18568, align 4, !tbaa !5
  %18570 = call ptr @s2n_strerror(i32 noundef %18569, ptr noundef @.str.4)
  %18571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18572 = load i32, ptr %18571, align 4, !tbaa !5
  %18573 = call ptr @s2n_strerror_debug(i32 noundef %18572, ptr noundef @.str.4)
  %18574 = call ptr @__errno_location() #12
  %18575 = load i32, ptr %18574, align 4, !tbaa !5
  %18576 = call ptr @strerror(i32 noundef %18575) #11
  %18577 = call ptr @__errno_location() #12
  %18578 = load i32, ptr %18577, align 4, !tbaa !5
  %18579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18566, ptr noundef @.str.2, i32 noundef %18567, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 823, ptr noundef %18570, ptr noundef %18573, ptr noundef %18576, i32 noundef %18578) #11
  br label %18597

18580:                                            ; preds = %18558, %18551
  %18581 = load i32, ptr %399, align 4, !tbaa !5
  %18582 = call ptr @__errno_location() #12
  store i32 %18581, ptr %18582, align 4, !tbaa !5
  %18583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18584 = load i32, ptr @test_count, align 4, !tbaa !5
  %18585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18586 = load i32, ptr %18585, align 4, !tbaa !5
  %18587 = call ptr @s2n_strerror(i32 noundef %18586, ptr noundef @.str.4)
  %18588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18589 = load i32, ptr %18588, align 4, !tbaa !5
  %18590 = call ptr @s2n_strerror_debug(i32 noundef %18589, ptr noundef @.str.4)
  %18591 = call ptr @__errno_location() #12
  %18592 = load i32, ptr %18591, align 4, !tbaa !5
  %18593 = call ptr @strerror(i32 noundef %18592) #11
  %18594 = call ptr @__errno_location() #12
  %18595 = load i32, ptr %18594, align 4, !tbaa !5
  %18596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18583, ptr noundef @.str.5, i32 noundef %18584, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 823, ptr noundef %18587, ptr noundef %18590, ptr noundef %18593, i32 noundef %18595) #11
  br label %18597

18597:                                            ; preds = %18580, %18563
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #11
  br label %18598

18598:                                            ; preds = %18597
  br label %18599

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

18600:                                            ; No predecessors!
  br label %18601

18601:                                            ; preds = %18600
  br label %18602

18602:                                            ; preds = %18601, %18544
  br label %18603

18603:                                            ; preds = %18602
  br label %18604

18604:                                            ; preds = %18603
  %18605 = load ptr, ptr %385, align 8, !tbaa !9
  %18606 = getelementptr inbounds %struct.s2n_connection, ptr %18605, i32 0, i32 60
  store i64 11, ptr %18606, align 8, !tbaa !76
  %18607 = load ptr, ptr %385, align 8, !tbaa !9
  %18608 = getelementptr inbounds %struct.s2n_connection, ptr %18607, i32 0, i32 89
  store i32 1, ptr %18608, align 8, !tbaa !15
  br label %18609

18609:                                            ; preds = %18604
  br label %18610

18610:                                            ; preds = %18609
  br label %18611

18611:                                            ; preds = %18610
  %18612 = load i32, ptr @test_count, align 4, !tbaa !5
  %18613 = add nsw i32 %18612, 1
  store i32 %18613, ptr @test_count, align 4, !tbaa !5
  %18614 = load ptr, ptr %385, align 8, !tbaa !9
  %18615 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %18614, ptr noundef %389)
  %18616 = icmp eq i32 %18615, -1
  br i1 %18616, label %18670, label %18617

18617:                                            ; preds = %18611
  br label %18618

18618:                                            ; preds = %18617
  br label %18619

18619:                                            ; preds = %18618
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %18620 = call ptr @__errno_location() #12
  %18621 = load i32, ptr %18620, align 4, !tbaa !5
  store i32 %18621, ptr %400, align 4, !tbaa !5
  %18622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18623 = call i32 @s2n_print_stacktrace(ptr noundef %18622)
  %18624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18625 = trunc i8 %18624 to i1
  br i1 %18625, label %18626, label %18648

18626:                                            ; preds = %18619
  %18627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18628 = call i32 @fileno(ptr noundef %18627) #11
  %18629 = call i32 @isatty(i32 noundef %18628) #11
  %18630 = icmp ne i32 %18629, 0
  br i1 %18630, label %18631, label %18648

18631:                                            ; preds = %18626
  %18632 = load i32, ptr %400, align 4, !tbaa !5
  %18633 = call ptr @__errno_location() #12
  store i32 %18632, ptr %18633, align 4, !tbaa !5
  %18634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18635 = load i32, ptr @test_count, align 4, !tbaa !5
  %18636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18637 = load i32, ptr %18636, align 4, !tbaa !5
  %18638 = call ptr @s2n_strerror(i32 noundef %18637, ptr noundef @.str.4)
  %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_debug(i32 noundef %18640, ptr noundef @.str.4)
  %18642 = call ptr @__errno_location() #12
  %18643 = load i32, ptr %18642, align 4, !tbaa !5
  %18644 = call ptr @strerror(i32 noundef %18643) #11
  %18645 = call ptr @__errno_location() #12
  %18646 = load i32, ptr %18645, align 4, !tbaa !5
  %18647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18634, ptr noundef @.str.2, i32 noundef %18635, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 828, ptr noundef %18638, ptr noundef %18641, ptr noundef %18644, i32 noundef %18646) #11
  br label %18665

18648:                                            ; preds = %18626, %18619
  %18649 = load i32, ptr %400, align 4, !tbaa !5
  %18650 = call ptr @__errno_location() #12
  store i32 %18649, ptr %18650, align 4, !tbaa !5
  %18651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18652 = load i32, ptr @test_count, align 4, !tbaa !5
  %18653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18654 = load i32, ptr %18653, align 4, !tbaa !5
  %18655 = call ptr @s2n_strerror(i32 noundef %18654, ptr noundef @.str.4)
  %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_debug(i32 noundef %18657, ptr noundef @.str.4)
  %18659 = call ptr @__errno_location() #12
  %18660 = load i32, ptr %18659, align 4, !tbaa !5
  %18661 = call ptr @strerror(i32 noundef %18660) #11
  %18662 = call ptr @__errno_location() #12
  %18663 = load i32, ptr %18662, align 4, !tbaa !5
  %18664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18651, ptr noundef @.str.5, i32 noundef %18652, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 828, ptr noundef %18655, ptr noundef %18658, ptr noundef %18661, i32 noundef %18663) #11
  br label %18665

18665:                                            ; preds = %18648, %18631
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %18666

18666:                                            ; preds = %18665
  br label %18667

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

18668:                                            ; No predecessors!
  br label %18669

18669:                                            ; preds = %18668
  br label %18670

18670:                                            ; preds = %18669, %18611
  br label %18671

18671:                                            ; preds = %18670
  br label %18672

18672:                                            ; preds = %18671
  br label %18673

18673:                                            ; preds = %18672
  %18674 = load i32, ptr @test_count, align 4, !tbaa !5
  %18675 = add nsw i32 %18674, 1
  store i32 %18675, ptr @test_count, align 4, !tbaa !5
  %18676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18677 = load i32, ptr %18676, align 4, !tbaa !5
  %18678 = icmp eq i32 %18677, 335544396
  br i1 %18678, label %18732, label %18679

18679:                                            ; preds = %18673
  br label %18680

18680:                                            ; preds = %18679
  br label %18681

18681:                                            ; preds = %18680
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %18682 = call ptr @__errno_location() #12
  %18683 = load i32, ptr %18682, align 4, !tbaa !5
  store i32 %18683, ptr %401, align 4, !tbaa !5
  %18684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18685 = call i32 @s2n_print_stacktrace(ptr noundef %18684)
  %18686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18687 = trunc i8 %18686 to i1
  br i1 %18687, label %18688, label %18710

18688:                                            ; preds = %18681
  %18689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18690 = call i32 @fileno(ptr noundef %18689) #11
  %18691 = call i32 @isatty(i32 noundef %18690) #11
  %18692 = icmp ne i32 %18691, 0
  br i1 %18692, label %18693, label %18710

18693:                                            ; preds = %18688
  %18694 = load i32, ptr %401, align 4, !tbaa !5
  %18695 = call ptr @__errno_location() #12
  store i32 %18694, ptr %18695, align 4, !tbaa !5
  %18696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18697 = load i32, ptr @test_count, align 4, !tbaa !5
  %18698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18699 = load i32, ptr %18698, align 4, !tbaa !5
  %18700 = call ptr @s2n_strerror(i32 noundef %18699, ptr noundef @.str.4)
  %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_debug(i32 noundef %18702, ptr noundef @.str.4)
  %18704 = call ptr @__errno_location() #12
  %18705 = load i32, ptr %18704, align 4, !tbaa !5
  %18706 = call ptr @strerror(i32 noundef %18705) #11
  %18707 = call ptr @__errno_location() #12
  %18708 = load i32, ptr %18707, align 4, !tbaa !5
  %18709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18696, ptr noundef @.str.2, i32 noundef %18697, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 828, ptr noundef %18700, ptr noundef %18703, ptr noundef %18706, i32 noundef %18708) #11
  br label %18727

18710:                                            ; preds = %18688, %18681
  %18711 = load i32, ptr %401, align 4, !tbaa !5
  %18712 = call ptr @__errno_location() #12
  store i32 %18711, ptr %18712, align 4, !tbaa !5
  %18713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18714 = load i32, ptr @test_count, align 4, !tbaa !5
  %18715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18716 = load i32, ptr %18715, align 4, !tbaa !5
  %18717 = call ptr @s2n_strerror(i32 noundef %18716, ptr noundef @.str.4)
  %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_debug(i32 noundef %18719, ptr noundef @.str.4)
  %18721 = call ptr @__errno_location() #12
  %18722 = load i32, ptr %18721, align 4, !tbaa !5
  %18723 = call ptr @strerror(i32 noundef %18722) #11
  %18724 = call ptr @__errno_location() #12
  %18725 = load i32, ptr %18724, align 4, !tbaa !5
  %18726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18713, ptr noundef @.str.5, i32 noundef %18714, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 828, ptr noundef %18717, ptr noundef %18720, ptr noundef %18723, i32 noundef %18725) #11
  br label %18727

18727:                                            ; preds = %18710, %18693
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %18728

18728:                                            ; preds = %18727
  br label %18729

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

18730:                                            ; No predecessors!
  br label %18731

18731:                                            ; preds = %18730
  br label %18732

18732:                                            ; preds = %18731, %18673
  br label %18733

18733:                                            ; preds = %18732
  br label %18734

18734:                                            ; preds = %18733
  br label %18735

18735:                                            ; preds = %18734
  %18736 = load i32, ptr @test_count, align 4, !tbaa !5
  %18737 = add nsw i32 %18736, 1
  store i32 %18737, ptr @test_count, align 4, !tbaa !5
  %18738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18739 = load i32, ptr %18738, align 4, !tbaa !5
  %18740 = call ptr @s2n_strerror_debug(i32 noundef %18739, ptr noundef @.str.4)
  %18741 = icmp eq ptr %18740, null
  br i1 %18741, label %18742, label %18795

18742:                                            ; preds = %18735
  br label %18743

18743:                                            ; preds = %18742
  br label %18744

18744:                                            ; preds = %18743
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %18745 = call ptr @__errno_location() #12
  %18746 = load i32, ptr %18745, align 4, !tbaa !5
  store i32 %18746, ptr %402, align 4, !tbaa !5
  %18747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18748 = call i32 @s2n_print_stacktrace(ptr noundef %18747)
  %18749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18750 = trunc i8 %18749 to i1
  br i1 %18750, label %18751, label %18773

18751:                                            ; preds = %18744
  %18752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18753 = call i32 @fileno(ptr noundef %18752) #11
  %18754 = call i32 @isatty(i32 noundef %18753) #11
  %18755 = icmp ne i32 %18754, 0
  br i1 %18755, label %18756, label %18773

18756:                                            ; preds = %18751
  %18757 = load i32, ptr %402, align 4, !tbaa !5
  %18758 = call ptr @__errno_location() #12
  store i32 %18757, ptr %18758, align 4, !tbaa !5
  %18759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18760 = load i32, ptr @test_count, align 4, !tbaa !5
  %18761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18762 = load i32, ptr %18761, align 4, !tbaa !5
  %18763 = call ptr @s2n_strerror(i32 noundef %18762, ptr noundef @.str.4)
  %18764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18765 = load i32, ptr %18764, align 4, !tbaa !5
  %18766 = call ptr @s2n_strerror_debug(i32 noundef %18765, ptr noundef @.str.4)
  %18767 = call ptr @__errno_location() #12
  %18768 = load i32, ptr %18767, align 4, !tbaa !5
  %18769 = call ptr @strerror(i32 noundef %18768) #11
  %18770 = call ptr @__errno_location() #12
  %18771 = load i32, ptr %18770, align 4, !tbaa !5
  %18772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18759, ptr noundef @.str.2, i32 noundef %18760, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 828, ptr noundef %18763, ptr noundef %18766, ptr noundef %18769, i32 noundef %18771) #11
  br label %18790

18773:                                            ; preds = %18751, %18744
  %18774 = load i32, ptr %402, align 4, !tbaa !5
  %18775 = call ptr @__errno_location() #12
  store i32 %18774, ptr %18775, align 4, !tbaa !5
  %18776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18777 = load i32, ptr @test_count, align 4, !tbaa !5
  %18778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18779 = load i32, ptr %18778, align 4, !tbaa !5
  %18780 = call ptr @s2n_strerror(i32 noundef %18779, ptr noundef @.str.4)
  %18781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18782 = load i32, ptr %18781, align 4, !tbaa !5
  %18783 = call ptr @s2n_strerror_debug(i32 noundef %18782, ptr noundef @.str.4)
  %18784 = call ptr @__errno_location() #12
  %18785 = load i32, ptr %18784, align 4, !tbaa !5
  %18786 = call ptr @strerror(i32 noundef %18785) #11
  %18787 = call ptr @__errno_location() #12
  %18788 = load i32, ptr %18787, align 4, !tbaa !5
  %18789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18776, ptr noundef @.str.5, i32 noundef %18777, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 828, ptr noundef %18780, ptr noundef %18783, ptr noundef %18786, i32 noundef %18788) #11
  br label %18790

18790:                                            ; preds = %18773, %18756
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %18791

18791:                                            ; preds = %18790
  br label %18792

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

18793:                                            ; No predecessors!
  br label %18794

18794:                                            ; preds = %18793
  br label %18795

18795:                                            ; preds = %18794, %18735
  br label %18796

18796:                                            ; preds = %18795
  br label %18797

18797:                                            ; preds = %18796
  br label %18798

18798:                                            ; preds = %18797
  br label %18799

18799:                                            ; preds = %18798
  br label %18800

18800:                                            ; preds = %18799
  %18801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18801, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18802 = call ptr @__errno_location() #12
  store i32 0, ptr %18802, align 4, !tbaa !5
  br label %18803

18803:                                            ; preds = %18800
  br label %18804

18804:                                            ; preds = %18803
  br label %18805

18805:                                            ; preds = %18804
  br label %18806

18806:                                            ; preds = %18805
  br label %18807

18807:                                            ; preds = %18806
  %18808 = load i32, ptr @test_count, align 4, !tbaa !5
  %18809 = add nsw i32 %18808, 1
  store i32 %18809, ptr @test_count, align 4, !tbaa !5
  %18810 = load i32, ptr %389, align 4, !tbaa !5
  %18811 = icmp eq i32 %18810, 0
  br i1 %18811, label %18865, label %18812

18812:                                            ; preds = %18807
  br label %18813

18813:                                            ; preds = %18812
  br label %18814

18814:                                            ; preds = %18813
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  %18815 = call ptr @__errno_location() #12
  %18816 = load i32, ptr %18815, align 4, !tbaa !5
  store i32 %18816, ptr %403, align 4, !tbaa !5
  %18817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18818 = call i32 @s2n_print_stacktrace(ptr noundef %18817)
  %18819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18820 = trunc i8 %18819 to i1
  br i1 %18820, label %18821, label %18843

18821:                                            ; preds = %18814
  %18822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18823 = call i32 @fileno(ptr noundef %18822) #11
  %18824 = call i32 @isatty(i32 noundef %18823) #11
  %18825 = icmp ne i32 %18824, 0
  br i1 %18825, label %18826, label %18843

18826:                                            ; preds = %18821
  %18827 = load i32, ptr %403, align 4, !tbaa !5
  %18828 = call ptr @__errno_location() #12
  store i32 %18827, ptr %18828, align 4, !tbaa !5
  %18829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18830 = load i32, ptr @test_count, align 4, !tbaa !5
  %18831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18832 = load i32, ptr %18831, align 4, !tbaa !5
  %18833 = call ptr @s2n_strerror(i32 noundef %18832, ptr noundef @.str.4)
  %18834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18835 = load i32, ptr %18834, align 4, !tbaa !5
  %18836 = call ptr @s2n_strerror_debug(i32 noundef %18835, ptr noundef @.str.4)
  %18837 = call ptr @__errno_location() #12
  %18838 = load i32, ptr %18837, align 4, !tbaa !5
  %18839 = call ptr @strerror(i32 noundef %18838) #11
  %18840 = call ptr @__errno_location() #12
  %18841 = load i32, ptr %18840, align 4, !tbaa !5
  %18842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18829, ptr noundef @.str.2, i32 noundef %18830, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 829, ptr noundef %18833, ptr noundef %18836, ptr noundef %18839, i32 noundef %18841) #11
  br label %18860

18843:                                            ; preds = %18821, %18814
  %18844 = load i32, ptr %403, align 4, !tbaa !5
  %18845 = call ptr @__errno_location() #12
  store i32 %18844, ptr %18845, align 4, !tbaa !5
  %18846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18847 = load i32, ptr @test_count, align 4, !tbaa !5
  %18848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18849 = load i32, ptr %18848, align 4, !tbaa !5
  %18850 = call ptr @s2n_strerror(i32 noundef %18849, ptr noundef @.str.4)
  %18851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18852 = load i32, ptr %18851, align 4, !tbaa !5
  %18853 = call ptr @s2n_strerror_debug(i32 noundef %18852, ptr noundef @.str.4)
  %18854 = call ptr @__errno_location() #12
  %18855 = load i32, ptr %18854, align 4, !tbaa !5
  %18856 = call ptr @strerror(i32 noundef %18855) #11
  %18857 = call ptr @__errno_location() #12
  %18858 = load i32, ptr %18857, align 4, !tbaa !5
  %18859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18846, ptr noundef @.str.5, i32 noundef %18847, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 829, ptr noundef %18850, ptr noundef %18853, ptr noundef %18856, i32 noundef %18858) #11
  br label %18860

18860:                                            ; preds = %18843, %18826
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  br label %18861

18861:                                            ; preds = %18860
  br label %18862

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

18863:                                            ; No predecessors!
  br label %18864

18864:                                            ; preds = %18863
  br label %18865

18865:                                            ; preds = %18864, %18807
  br label %18866

18866:                                            ; preds = %18865
  br label %18867

18867:                                            ; preds = %18866
  br label %18868

18868:                                            ; preds = %18867
  %18869 = load i32, ptr @test_count, align 4, !tbaa !5
  %18870 = add nsw i32 %18869, 1
  store i32 %18870, ptr @test_count, align 4, !tbaa !5
  %18871 = load ptr, ptr %385, align 8, !tbaa !9
  %18872 = call i32 @s2n_connection_free(ptr noundef %18871)
  %18873 = icmp eq i32 %18872, -1
  br i1 %18873, label %18874, label %18927

18874:                                            ; preds = %18868
  br label %18875

18875:                                            ; preds = %18874
  br label %18876

18876:                                            ; preds = %18875
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %18877 = call ptr @__errno_location() #12
  %18878 = load i32, ptr %18877, align 4, !tbaa !5
  store i32 %18878, ptr %404, 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) #11
  %18886 = call i32 @isatty(i32 noundef %18885) #11
  %18887 = icmp ne i32 %18886, 0
  br i1 %18887, label %18888, label %18905

18888:                                            ; preds = %18883
  %18889 = load i32, ptr %404, align 4, !tbaa !5
  %18890 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %18899 = call ptr @__errno_location() #12
  %18900 = load i32, ptr %18899, align 4, !tbaa !5
  %18901 = call ptr @strerror(i32 noundef %18900) #11
  %18902 = call ptr @__errno_location() #12
  %18903 = load i32, ptr %18902, align 4, !tbaa !5
  %18904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18891, ptr noundef @.str.2, i32 noundef %18892, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 831, ptr noundef %18895, ptr noundef %18898, ptr noundef %18901, i32 noundef %18903) #11
  br label %18922

18905:                                            ; preds = %18883, %18876
  %18906 = load i32, ptr %404, align 4, !tbaa !5
  %18907 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %18916 = call ptr @__errno_location() #12
  %18917 = load i32, ptr %18916, align 4, !tbaa !5
  %18918 = call ptr @strerror(i32 noundef %18917) #11
  %18919 = call ptr @__errno_location() #12
  %18920 = load i32, ptr %18919, align 4, !tbaa !5
  %18921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18908, ptr noundef @.str.5, i32 noundef %18909, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 831, ptr noundef %18912, ptr noundef %18915, ptr noundef %18918, i32 noundef %18920) #11
  br label %18922

18922:                                            ; preds = %18905, %18888
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %18923

18923:                                            ; preds = %18922
  br label %18924

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

18925:                                            ; No predecessors!
  br label %18926

18926:                                            ; preds = %18925
  br label %18927

18927:                                            ; preds = %18926, %18868
  br label %18928

18928:                                            ; preds = %18927
  br label %18929

18929:                                            ; preds = %18928
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %385) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %405) #11
  %18930 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %18930, ptr %405, align 8, !tbaa !9
  br label %18931

18931:                                            ; preds = %18929
  %18932 = load i32, ptr @test_count, align 4, !tbaa !5
  %18933 = add nsw i32 %18932, 1
  store i32 %18933, ptr @test_count, align 4, !tbaa !5
  %18934 = load ptr, ptr %405, align 8, !tbaa !9
  %18935 = icmp eq ptr %18934, null
  br i1 %18935, label %18936, label %18989

18936:                                            ; preds = %18931
  br label %18937

18937:                                            ; preds = %18936
  br label %18938

18938:                                            ; preds = %18937
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #11
  %18939 = call ptr @__errno_location() #12
  %18940 = load i32, ptr %18939, align 4, !tbaa !5
  store i32 %18940, ptr %406, 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) #11
  %18948 = call i32 @isatty(i32 noundef %18947) #11
  %18949 = icmp ne i32 %18948, 0
  br i1 %18949, label %18950, label %18967

18950:                                            ; preds = %18945
  %18951 = load i32, ptr %406, align 4, !tbaa !5
  %18952 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %18961 = call ptr @__errno_location() #12
  %18962 = load i32, ptr %18961, align 4, !tbaa !5
  %18963 = call ptr @strerror(i32 noundef %18962) #11
  %18964 = call ptr @__errno_location() #12
  %18965 = load i32, ptr %18964, align 4, !tbaa !5
  %18966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18953, ptr noundef @.str.2, i32 noundef %18954, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 837, ptr noundef %18957, ptr noundef %18960, ptr noundef %18963, i32 noundef %18965) #11
  br label %18984

18967:                                            ; preds = %18945, %18938
  %18968 = load i32, ptr %406, align 4, !tbaa !5
  %18969 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %18978 = call ptr @__errno_location() #12
  %18979 = load i32, ptr %18978, align 4, !tbaa !5
  %18980 = call ptr @strerror(i32 noundef %18979) #11
  %18981 = call ptr @__errno_location() #12
  %18982 = load i32, ptr %18981, align 4, !tbaa !5
  %18983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18970, ptr noundef @.str.5, i32 noundef %18971, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 837, ptr noundef %18974, ptr noundef %18977, ptr noundef %18980, i32 noundef %18982) #11
  br label %18984

18984:                                            ; preds = %18967, %18950
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #11
  br label %18985

18985:                                            ; preds = %18984
  br label %18986

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

18987:                                            ; No predecessors!
  br label %18988

18988:                                            ; preds = %18987
  br label %18989

18989:                                            ; preds = %18988, %18931
  br label %18990

18990:                                            ; preds = %18989
  br label %18991

18991:                                            ; preds = %18990
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  store i32 0, ptr %407, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #11
  store i32 0, ptr %408, align 4, !tbaa !5
  br label %18992

18992:                                            ; preds = %19123, %18991
  %18993 = load i32, ptr %408, align 4, !tbaa !5
  %18994 = icmp ult i32 %18993, 6
  br i1 %18994, label %18996, label %18995

18995:                                            ; preds = %18992
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #11
  br label %19126

18996:                                            ; preds = %18992
  %18997 = load i32, ptr %408, align 4, !tbaa !5
  %18998 = load ptr, ptr %405, align 8, !tbaa !9
  %18999 = getelementptr inbounds %struct.s2n_connection, ptr %18998, i32 0, i32 89
  store i32 %18997, ptr %18999, align 8, !tbaa !15
  br label %19000

19000:                                            ; preds = %18996
  %19001 = load i32, ptr @test_count, align 4, !tbaa !5
  %19002 = add nsw i32 %19001, 1
  store i32 %19002, ptr @test_count, align 4, !tbaa !5
  %19003 = load ptr, ptr %405, align 8, !tbaa !9
  %19004 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %19003, ptr noundef %407)
  %19005 = icmp eq i32 %19004, -1
  br i1 %19005, label %19006, label %19059

19006:                                            ; preds = %19000
  br label %19007

19007:                                            ; preds = %19006
  br label %19008

19008:                                            ; preds = %19007
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #11
  %19009 = call ptr @__errno_location() #12
  %19010 = load i32, ptr %19009, align 4, !tbaa !5
  store i32 %19010, ptr %409, align 4, !tbaa !5
  %19011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19012 = call i32 @s2n_print_stacktrace(ptr noundef %19011)
  %19013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19014 = trunc i8 %19013 to i1
  br i1 %19014, label %19015, label %19037

19015:                                            ; preds = %19008
  %19016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19017 = call i32 @fileno(ptr noundef %19016) #11
  %19018 = call i32 @isatty(i32 noundef %19017) #11
  %19019 = icmp ne i32 %19018, 0
  br i1 %19019, label %19020, label %19037

19020:                                            ; preds = %19015
  %19021 = load i32, ptr %409, align 4, !tbaa !5
  %19022 = call ptr @__errno_location() #12
  store i32 %19021, ptr %19022, align 4, !tbaa !5
  %19023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19024 = load i32, ptr @test_count, align 4, !tbaa !5
  %19025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19026 = load i32, ptr %19025, align 4, !tbaa !5
  %19027 = call ptr @s2n_strerror(i32 noundef %19026, ptr noundef @.str.4)
  %19028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19029 = load i32, ptr %19028, align 4, !tbaa !5
  %19030 = call ptr @s2n_strerror_debug(i32 noundef %19029, ptr noundef @.str.4)
  %19031 = call ptr @__errno_location() #12
  %19032 = load i32, ptr %19031, align 4, !tbaa !5
  %19033 = call ptr @strerror(i32 noundef %19032) #11
  %19034 = call ptr @__errno_location() #12
  %19035 = load i32, ptr %19034, align 4, !tbaa !5
  %19036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19023, ptr noundef @.str.2, i32 noundef %19024, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 842, ptr noundef %19027, ptr noundef %19030, ptr noundef %19033, i32 noundef %19035) #11
  br label %19054

19037:                                            ; preds = %19015, %19008
  %19038 = load i32, ptr %409, align 4, !tbaa !5
  %19039 = call ptr @__errno_location() #12
  store i32 %19038, ptr %19039, align 4, !tbaa !5
  %19040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19041 = load i32, ptr @test_count, align 4, !tbaa !5
  %19042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19043 = load i32, ptr %19042, align 4, !tbaa !5
  %19044 = call ptr @s2n_strerror(i32 noundef %19043, ptr noundef @.str.4)
  %19045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19046 = load i32, ptr %19045, align 4, !tbaa !5
  %19047 = call ptr @s2n_strerror_debug(i32 noundef %19046, ptr noundef @.str.4)
  %19048 = call ptr @__errno_location() #12
  %19049 = load i32, ptr %19048, align 4, !tbaa !5
  %19050 = call ptr @strerror(i32 noundef %19049) #11
  %19051 = call ptr @__errno_location() #12
  %19052 = load i32, ptr %19051, align 4, !tbaa !5
  %19053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19040, ptr noundef @.str.5, i32 noundef %19041, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 842, ptr noundef %19044, ptr noundef %19047, ptr noundef %19050, i32 noundef %19052) #11
  br label %19054

19054:                                            ; preds = %19037, %19020
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #11
  br label %19055

19055:                                            ; preds = %19054
  br label %19056

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

19057:                                            ; No predecessors!
  br label %19058

19058:                                            ; preds = %19057
  br label %19059

19059:                                            ; preds = %19058, %19000
  br label %19060

19060:                                            ; preds = %19059
  br label %19061

19061:                                            ; preds = %19060
  br label %19062

19062:                                            ; preds = %19061
  %19063 = load i32, ptr @test_count, align 4, !tbaa !5
  %19064 = add nsw i32 %19063, 1
  store i32 %19064, ptr @test_count, align 4, !tbaa !5
  %19065 = load i32, ptr %407, align 4, !tbaa !5
  %19066 = icmp eq i32 %19065, 0
  br i1 %19066, label %19120, label %19067

19067:                                            ; preds = %19062
  br label %19068

19068:                                            ; preds = %19067
  br label %19069

19069:                                            ; preds = %19068
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %19070 = call ptr @__errno_location() #12
  %19071 = load i32, ptr %19070, align 4, !tbaa !5
  store i32 %19071, ptr %410, align 4, !tbaa !5
  %19072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19073 = call i32 @s2n_print_stacktrace(ptr noundef %19072)
  %19074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19075 = trunc i8 %19074 to i1
  br i1 %19075, label %19076, label %19098

19076:                                            ; preds = %19069
  %19077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19078 = call i32 @fileno(ptr noundef %19077) #11
  %19079 = call i32 @isatty(i32 noundef %19078) #11
  %19080 = icmp ne i32 %19079, 0
  br i1 %19080, label %19081, label %19098

19081:                                            ; preds = %19076
  %19082 = load i32, ptr %410, align 4, !tbaa !5
  %19083 = call ptr @__errno_location() #12
  store i32 %19082, ptr %19083, align 4, !tbaa !5
  %19084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19085 = load i32, ptr @test_count, align 4, !tbaa !5
  %19086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19087 = load i32, ptr %19086, align 4, !tbaa !5
  %19088 = call ptr @s2n_strerror(i32 noundef %19087, ptr noundef @.str.4)
  %19089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19090 = load i32, ptr %19089, align 4, !tbaa !5
  %19091 = call ptr @s2n_strerror_debug(i32 noundef %19090, ptr noundef @.str.4)
  %19092 = call ptr @__errno_location() #12
  %19093 = load i32, ptr %19092, align 4, !tbaa !5
  %19094 = call ptr @strerror(i32 noundef %19093) #11
  %19095 = call ptr @__errno_location() #12
  %19096 = load i32, ptr %19095, align 4, !tbaa !5
  %19097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19084, ptr noundef @.str.2, i32 noundef %19085, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 843, ptr noundef %19088, ptr noundef %19091, ptr noundef %19094, i32 noundef %19096) #11
  br label %19115

19098:                                            ; preds = %19076, %19069
  %19099 = load i32, ptr %410, align 4, !tbaa !5
  %19100 = call ptr @__errno_location() #12
  store i32 %19099, ptr %19100, align 4, !tbaa !5
  %19101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19102 = load i32, ptr @test_count, align 4, !tbaa !5
  %19103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19104 = load i32, ptr %19103, align 4, !tbaa !5
  %19105 = call ptr @s2n_strerror(i32 noundef %19104, ptr noundef @.str.4)
  %19106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19107 = load i32, ptr %19106, align 4, !tbaa !5
  %19108 = call ptr @s2n_strerror_debug(i32 noundef %19107, ptr noundef @.str.4)
  %19109 = call ptr @__errno_location() #12
  %19110 = load i32, ptr %19109, align 4, !tbaa !5
  %19111 = call ptr @strerror(i32 noundef %19110) #11
  %19112 = call ptr @__errno_location() #12
  %19113 = load i32, ptr %19112, align 4, !tbaa !5
  %19114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19101, ptr noundef @.str.5, i32 noundef %19102, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 843, ptr noundef %19105, ptr noundef %19108, ptr noundef %19111, i32 noundef %19113) #11
  br label %19115

19115:                                            ; preds = %19098, %19081
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %19116

19116:                                            ; preds = %19115
  br label %19117

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

19118:                                            ; No predecessors!
  br label %19119

19119:                                            ; preds = %19118
  br label %19120

19120:                                            ; preds = %19119, %19062
  br label %19121

19121:                                            ; preds = %19120
  br label %19122

19122:                                            ; preds = %19121
  br label %19123

19123:                                            ; preds = %19122
  %19124 = load i32, ptr %408, align 4, !tbaa !5
  %19125 = add i32 %19124, 1
  store i32 %19125, ptr %408, align 4, !tbaa !5
  br label %18992, !llvm.loop !77

19126:                                            ; preds = %18995
  br label %19127

19127:                                            ; preds = %19126
  %19128 = load i32, ptr @test_count, align 4, !tbaa !5
  %19129 = add nsw i32 %19128, 1
  store i32 %19129, ptr @test_count, align 4, !tbaa !5
  %19130 = load ptr, ptr %405, align 8, !tbaa !9
  %19131 = call i32 @s2n_connection_free(ptr noundef %19130)
  %19132 = icmp eq i32 %19131, -1
  br i1 %19132, label %19133, label %19186

19133:                                            ; preds = %19127
  br label %19134

19134:                                            ; preds = %19133
  br label %19135

19135:                                            ; preds = %19134
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  %19136 = call ptr @__errno_location() #12
  %19137 = load i32, ptr %19136, align 4, !tbaa !5
  store i32 %19137, ptr %411, align 4, !tbaa !5
  %19138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19139 = call i32 @s2n_print_stacktrace(ptr noundef %19138)
  %19140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19141 = trunc i8 %19140 to i1
  br i1 %19141, label %19142, label %19164

19142:                                            ; preds = %19135
  %19143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19144 = call i32 @fileno(ptr noundef %19143) #11
  %19145 = call i32 @isatty(i32 noundef %19144) #11
  %19146 = icmp ne i32 %19145, 0
  br i1 %19146, label %19147, label %19164

19147:                                            ; preds = %19142
  %19148 = load i32, ptr %411, align 4, !tbaa !5
  %19149 = call ptr @__errno_location() #12
  store i32 %19148, ptr %19149, align 4, !tbaa !5
  %19150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19151 = load i32, ptr @test_count, align 4, !tbaa !5
  %19152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19153 = load i32, ptr %19152, align 4, !tbaa !5
  %19154 = call ptr @s2n_strerror(i32 noundef %19153, ptr noundef @.str.4)
  %19155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19156 = load i32, ptr %19155, align 4, !tbaa !5
  %19157 = call ptr @s2n_strerror_debug(i32 noundef %19156, ptr noundef @.str.4)
  %19158 = call ptr @__errno_location() #12
  %19159 = load i32, ptr %19158, align 4, !tbaa !5
  %19160 = call ptr @strerror(i32 noundef %19159) #11
  %19161 = call ptr @__errno_location() #12
  %19162 = load i32, ptr %19161, align 4, !tbaa !5
  %19163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19150, ptr noundef @.str.2, i32 noundef %19151, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 846, ptr noundef %19154, ptr noundef %19157, ptr noundef %19160, i32 noundef %19162) #11
  br label %19181

19164:                                            ; preds = %19142, %19135
  %19165 = load i32, ptr %411, align 4, !tbaa !5
  %19166 = call ptr @__errno_location() #12
  store i32 %19165, ptr %19166, align 4, !tbaa !5
  %19167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19168 = load i32, ptr @test_count, align 4, !tbaa !5
  %19169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19170 = load i32, ptr %19169, align 4, !tbaa !5
  %19171 = call ptr @s2n_strerror(i32 noundef %19170, ptr noundef @.str.4)
  %19172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19173 = load i32, ptr %19172, align 4, !tbaa !5
  %19174 = call ptr @s2n_strerror_debug(i32 noundef %19173, ptr noundef @.str.4)
  %19175 = call ptr @__errno_location() #12
  %19176 = load i32, ptr %19175, align 4, !tbaa !5
  %19177 = call ptr @strerror(i32 noundef %19176) #11
  %19178 = call ptr @__errno_location() #12
  %19179 = load i32, ptr %19178, align 4, !tbaa !5
  %19180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19167, ptr noundef @.str.5, i32 noundef %19168, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 846, ptr noundef %19171, ptr noundef %19174, ptr noundef %19177, i32 noundef %19179) #11
  br label %19181

19181:                                            ; preds = %19164, %19147
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  br label %19182

19182:                                            ; preds = %19181
  br label %19183

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

19184:                                            ; No predecessors!
  br label %19185

19185:                                            ; preds = %19184
  br label %19186

19186:                                            ; preds = %19185, %19127
  br label %19187

19187:                                            ; preds = %19186
  br label %19188

19188:                                            ; preds = %19187
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %405) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %412) #11
  %19189 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %19189, ptr %412, align 8, !tbaa !9
  br label %19190

19190:                                            ; preds = %19188
  %19191 = load i32, ptr @test_count, align 4, !tbaa !5
  %19192 = add nsw i32 %19191, 1
  store i32 %19192, ptr @test_count, align 4, !tbaa !5
  %19193 = load ptr, ptr %412, align 8, !tbaa !9
  %19194 = icmp eq ptr %19193, null
  br i1 %19194, label %19195, label %19248

19195:                                            ; preds = %19190
  br label %19196

19196:                                            ; preds = %19195
  br label %19197

19197:                                            ; preds = %19196
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %19198 = call ptr @__errno_location() #12
  %19199 = load i32, ptr %19198, align 4, !tbaa !5
  store i32 %19199, ptr %413, align 4, !tbaa !5
  %19200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19201 = call i32 @s2n_print_stacktrace(ptr noundef %19200)
  %19202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19203 = trunc i8 %19202 to i1
  br i1 %19203, label %19204, label %19226

19204:                                            ; preds = %19197
  %19205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19206 = call i32 @fileno(ptr noundef %19205) #11
  %19207 = call i32 @isatty(i32 noundef %19206) #11
  %19208 = icmp ne i32 %19207, 0
  br i1 %19208, label %19209, label %19226

19209:                                            ; preds = %19204
  %19210 = load i32, ptr %413, align 4, !tbaa !5
  %19211 = call ptr @__errno_location() #12
  store i32 %19210, ptr %19211, align 4, !tbaa !5
  %19212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19213 = load i32, ptr @test_count, align 4, !tbaa !5
  %19214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19215 = load i32, ptr %19214, align 4, !tbaa !5
  %19216 = call ptr @s2n_strerror(i32 noundef %19215, ptr noundef @.str.4)
  %19217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19218 = load i32, ptr %19217, align 4, !tbaa !5
  %19219 = call ptr @s2n_strerror_debug(i32 noundef %19218, ptr noundef @.str.4)
  %19220 = call ptr @__errno_location() #12
  %19221 = load i32, ptr %19220, align 4, !tbaa !5
  %19222 = call ptr @strerror(i32 noundef %19221) #11
  %19223 = call ptr @__errno_location() #12
  %19224 = load i32, ptr %19223, align 4, !tbaa !5
  %19225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19212, ptr noundef @.str.2, i32 noundef %19213, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 852, ptr noundef %19216, ptr noundef %19219, ptr noundef %19222, i32 noundef %19224) #11
  br label %19243

19226:                                            ; preds = %19204, %19197
  %19227 = load i32, ptr %413, align 4, !tbaa !5
  %19228 = call ptr @__errno_location() #12
  store i32 %19227, ptr %19228, align 4, !tbaa !5
  %19229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19230 = load i32, ptr @test_count, align 4, !tbaa !5
  %19231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19232 = load i32, ptr %19231, align 4, !tbaa !5
  %19233 = call ptr @s2n_strerror(i32 noundef %19232, ptr noundef @.str.4)
  %19234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19235 = load i32, ptr %19234, align 4, !tbaa !5
  %19236 = call ptr @s2n_strerror_debug(i32 noundef %19235, ptr noundef @.str.4)
  %19237 = call ptr @__errno_location() #12
  %19238 = load i32, ptr %19237, align 4, !tbaa !5
  %19239 = call ptr @strerror(i32 noundef %19238) #11
  %19240 = call ptr @__errno_location() #12
  %19241 = load i32, ptr %19240, align 4, !tbaa !5
  %19242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19229, ptr noundef @.str.5, i32 noundef %19230, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 852, ptr noundef %19233, ptr noundef %19236, ptr noundef %19239, i32 noundef %19241) #11
  br label %19243

19243:                                            ; preds = %19226, %19209
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %19244

19244:                                            ; preds = %19243
  br label %19245

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

19246:                                            ; No predecessors!
  br label %19247

19247:                                            ; preds = %19246
  br label %19248

19248:                                            ; preds = %19247, %19190
  br label %19249

19249:                                            ; preds = %19248
  br label %19250

19250:                                            ; preds = %19249
  br label %19251

19251:                                            ; preds = %19250
  %19252 = load i32, ptr @test_count, align 4, !tbaa !5
  %19253 = add nsw i32 %19252, 1
  store i32 %19253, ptr @test_count, align 4, !tbaa !5
  %19254 = load ptr, ptr %412, align 8, !tbaa !9
  %19255 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %19254, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %19256 = getelementptr inbounds %struct.s2n_result, ptr %414, i32 0, i32 0
  store i32 %19255, ptr %19256, align 4
  %19257 = getelementptr inbounds %struct.s2n_result, ptr %414, i32 0, i32 0
  %19258 = load i32, ptr %19257, align 4
  %19259 = call zeroext i1 @s2n_result_is_ok(i32 %19258)
  br i1 %19259, label %19313, label %19260

19260:                                            ; preds = %19251
  br label %19261

19261:                                            ; preds = %19260
  br label %19262

19262:                                            ; preds = %19261
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %19263 = call ptr @__errno_location() #12
  %19264 = load i32, ptr %19263, align 4, !tbaa !5
  store i32 %19264, ptr %415, align 4, !tbaa !5
  %19265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19266 = call i32 @s2n_print_stacktrace(ptr noundef %19265)
  %19267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19268 = trunc i8 %19267 to i1
  br i1 %19268, label %19269, label %19291

19269:                                            ; preds = %19262
  %19270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19271 = call i32 @fileno(ptr noundef %19270) #11
  %19272 = call i32 @isatty(i32 noundef %19271) #11
  %19273 = icmp ne i32 %19272, 0
  br i1 %19273, label %19274, label %19291

19274:                                            ; preds = %19269
  %19275 = load i32, ptr %415, align 4, !tbaa !5
  %19276 = call ptr @__errno_location() #12
  store i32 %19275, ptr %19276, align 4, !tbaa !5
  %19277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19278 = load i32, ptr @test_count, align 4, !tbaa !5
  %19279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19280 = load i32, ptr %19279, align 4, !tbaa !5
  %19281 = call ptr @s2n_strerror(i32 noundef %19280, ptr noundef @.str.4)
  %19282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19283 = load i32, ptr %19282, align 4, !tbaa !5
  %19284 = call ptr @s2n_strerror_debug(i32 noundef %19283, ptr noundef @.str.4)
  %19285 = call ptr @__errno_location() #12
  %19286 = load i32, ptr %19285, align 4, !tbaa !5
  %19287 = call ptr @strerror(i32 noundef %19286) #11
  %19288 = call ptr @__errno_location() #12
  %19289 = load i32, ptr %19288, align 4, !tbaa !5
  %19290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19277, ptr noundef @.str.2, i32 noundef %19278, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 853, ptr noundef %19281, ptr noundef %19284, ptr noundef %19287, i32 noundef %19289) #11
  br label %19308

19291:                                            ; preds = %19269, %19262
  %19292 = load i32, ptr %415, align 4, !tbaa !5
  %19293 = call ptr @__errno_location() #12
  store i32 %19292, ptr %19293, align 4, !tbaa !5
  %19294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19295 = load i32, ptr @test_count, align 4, !tbaa !5
  %19296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19297 = load i32, ptr %19296, align 4, !tbaa !5
  %19298 = call ptr @s2n_strerror(i32 noundef %19297, ptr noundef @.str.4)
  %19299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19300 = load i32, ptr %19299, align 4, !tbaa !5
  %19301 = call ptr @s2n_strerror_debug(i32 noundef %19300, ptr noundef @.str.4)
  %19302 = call ptr @__errno_location() #12
  %19303 = load i32, ptr %19302, align 4, !tbaa !5
  %19304 = call ptr @strerror(i32 noundef %19303) #11
  %19305 = call ptr @__errno_location() #12
  %19306 = load i32, ptr %19305, align 4, !tbaa !5
  %19307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19294, ptr noundef @.str.5, i32 noundef %19295, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 853, ptr noundef %19298, ptr noundef %19301, ptr noundef %19304, i32 noundef %19306) #11
  br label %19308

19308:                                            ; preds = %19291, %19274
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %19309

19309:                                            ; preds = %19308
  br label %19310

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

19311:                                            ; No predecessors!
  br label %19312

19312:                                            ; preds = %19311
  br label %19313

19313:                                            ; preds = %19312, %19251
  br label %19314

19314:                                            ; preds = %19313
  br label %19315

19315:                                            ; preds = %19314
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  store i32 0, ptr %416, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #11
  store i32 0, ptr %417, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  store i32 0, ptr %418, align 4, !tbaa !5
  br label %19316

19316:                                            ; preds = %19575, %19315
  %19317 = load i32, ptr %418, align 4, !tbaa !5
  %19318 = icmp ult i32 %19317, 6
  br i1 %19318, label %19320, label %19319

19319:                                            ; preds = %19316
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %19578

19320:                                            ; preds = %19316
  %19321 = load i32, ptr %418, align 4, !tbaa !5
  %19322 = load ptr, ptr %412, align 8, !tbaa !9
  %19323 = getelementptr inbounds %struct.s2n_connection, ptr %19322, i32 0, i32 89
  store i32 %19321, ptr %19323, align 8, !tbaa !15
  br label %19324

19324:                                            ; preds = %19320
  %19325 = load i32, ptr @test_count, align 4, !tbaa !5
  %19326 = add nsw i32 %19325, 1
  store i32 %19326, ptr @test_count, align 4, !tbaa !5
  %19327 = load ptr, ptr %412, align 8, !tbaa !9
  %19328 = call i32 @s2n_connection_get_early_data_status(ptr noundef %19327, ptr noundef %416)
  %19329 = icmp eq i32 %19328, -1
  br i1 %19329, label %19330, label %19383

19330:                                            ; preds = %19324
  br label %19331

19331:                                            ; preds = %19330
  br label %19332

19332:                                            ; preds = %19331
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %19333 = call ptr @__errno_location() #12
  %19334 = load i32, ptr %19333, align 4, !tbaa !5
  store i32 %19334, ptr %419, align 4, !tbaa !5
  %19335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19336 = call i32 @s2n_print_stacktrace(ptr noundef %19335)
  %19337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19338 = trunc i8 %19337 to i1
  br i1 %19338, label %19339, label %19361

19339:                                            ; preds = %19332
  %19340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19341 = call i32 @fileno(ptr noundef %19340) #11
  %19342 = call i32 @isatty(i32 noundef %19341) #11
  %19343 = icmp ne i32 %19342, 0
  br i1 %19343, label %19344, label %19361

19344:                                            ; preds = %19339
  %19345 = load i32, ptr %419, align 4, !tbaa !5
  %19346 = call ptr @__errno_location() #12
  store i32 %19345, ptr %19346, align 4, !tbaa !5
  %19347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19348 = load i32, ptr @test_count, align 4, !tbaa !5
  %19349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19350 = load i32, ptr %19349, align 4, !tbaa !5
  %19351 = call ptr @s2n_strerror(i32 noundef %19350, ptr noundef @.str.4)
  %19352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19353 = load i32, ptr %19352, align 4, !tbaa !5
  %19354 = call ptr @s2n_strerror_debug(i32 noundef %19353, ptr noundef @.str.4)
  %19355 = call ptr @__errno_location() #12
  %19356 = load i32, ptr %19355, align 4, !tbaa !5
  %19357 = call ptr @strerror(i32 noundef %19356) #11
  %19358 = call ptr @__errno_location() #12
  %19359 = load i32, ptr %19358, align 4, !tbaa !5
  %19360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19347, ptr noundef @.str.2, i32 noundef %19348, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 860, ptr noundef %19351, ptr noundef %19354, ptr noundef %19357, i32 noundef %19359) #11
  br label %19378

19361:                                            ; preds = %19339, %19332
  %19362 = load i32, ptr %419, align 4, !tbaa !5
  %19363 = call ptr @__errno_location() #12
  store i32 %19362, ptr %19363, align 4, !tbaa !5
  %19364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19365 = load i32, ptr @test_count, align 4, !tbaa !5
  %19366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19367 = load i32, ptr %19366, align 4, !tbaa !5
  %19368 = call ptr @s2n_strerror(i32 noundef %19367, ptr noundef @.str.4)
  %19369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19370 = load i32, ptr %19369, align 4, !tbaa !5
  %19371 = call ptr @s2n_strerror_debug(i32 noundef %19370, ptr noundef @.str.4)
  %19372 = call ptr @__errno_location() #12
  %19373 = load i32, ptr %19372, align 4, !tbaa !5
  %19374 = call ptr @strerror(i32 noundef %19373) #11
  %19375 = call ptr @__errno_location() #12
  %19376 = load i32, ptr %19375, align 4, !tbaa !5
  %19377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19364, ptr noundef @.str.5, i32 noundef %19365, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 860, ptr noundef %19368, ptr noundef %19371, ptr noundef %19374, i32 noundef %19376) #11
  br label %19378

19378:                                            ; preds = %19361, %19344
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %19379

19379:                                            ; preds = %19378
  br label %19380

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

19381:                                            ; No predecessors!
  br label %19382

19382:                                            ; preds = %19381
  br label %19383

19383:                                            ; preds = %19382, %19324
  br label %19384

19384:                                            ; preds = %19383
  br label %19385

19385:                                            ; preds = %19384
  br label %19386

19386:                                            ; preds = %19385
  %19387 = load i32, ptr @test_count, align 4, !tbaa !5
  %19388 = add nsw i32 %19387, 1
  store i32 %19388, ptr @test_count, align 4, !tbaa !5
  %19389 = load ptr, ptr %412, align 8, !tbaa !9
  %19390 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef %19389, ptr noundef %417)
  %19391 = icmp eq i32 %19390, -1
  br i1 %19391, label %19392, label %19445

19392:                                            ; preds = %19386
  br label %19393

19393:                                            ; preds = %19392
  br label %19394

19394:                                            ; preds = %19393
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %19395 = call ptr @__errno_location() #12
  %19396 = load i32, ptr %19395, align 4, !tbaa !5
  store i32 %19396, ptr %420, align 4, !tbaa !5
  %19397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19398 = call i32 @s2n_print_stacktrace(ptr noundef %19397)
  %19399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19400 = trunc i8 %19399 to i1
  br i1 %19400, label %19401, label %19423

19401:                                            ; preds = %19394
  %19402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19403 = call i32 @fileno(ptr noundef %19402) #11
  %19404 = call i32 @isatty(i32 noundef %19403) #11
  %19405 = icmp ne i32 %19404, 0
  br i1 %19405, label %19406, label %19423

19406:                                            ; preds = %19401
  %19407 = load i32, ptr %420, align 4, !tbaa !5
  %19408 = call ptr @__errno_location() #12
  store i32 %19407, ptr %19408, align 4, !tbaa !5
  %19409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19410 = load i32, ptr @test_count, align 4, !tbaa !5
  %19411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19412 = load i32, ptr %19411, align 4, !tbaa !5
  %19413 = call ptr @s2n_strerror(i32 noundef %19412, ptr noundef @.str.4)
  %19414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19415 = load i32, ptr %19414, align 4, !tbaa !5
  %19416 = call ptr @s2n_strerror_debug(i32 noundef %19415, ptr noundef @.str.4)
  %19417 = call ptr @__errno_location() #12
  %19418 = load i32, ptr %19417, align 4, !tbaa !5
  %19419 = call ptr @strerror(i32 noundef %19418) #11
  %19420 = call ptr @__errno_location() #12
  %19421 = load i32, ptr %19420, align 4, !tbaa !5
  %19422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19409, ptr noundef @.str.2, i32 noundef %19410, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 861, ptr noundef %19413, ptr noundef %19416, ptr noundef %19419, i32 noundef %19421) #11
  br label %19440

19423:                                            ; preds = %19401, %19394
  %19424 = load i32, ptr %420, align 4, !tbaa !5
  %19425 = call ptr @__errno_location() #12
  store i32 %19424, ptr %19425, align 4, !tbaa !5
  %19426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19427 = load i32, ptr @test_count, align 4, !tbaa !5
  %19428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19429 = load i32, ptr %19428, align 4, !tbaa !5
  %19430 = call ptr @s2n_strerror(i32 noundef %19429, ptr noundef @.str.4)
  %19431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19432 = load i32, ptr %19431, align 4, !tbaa !5
  %19433 = call ptr @s2n_strerror_debug(i32 noundef %19432, ptr noundef @.str.4)
  %19434 = call ptr @__errno_location() #12
  %19435 = load i32, ptr %19434, align 4, !tbaa !5
  %19436 = call ptr @strerror(i32 noundef %19435) #11
  %19437 = call ptr @__errno_location() #12
  %19438 = load i32, ptr %19437, align 4, !tbaa !5
  %19439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19426, ptr noundef @.str.5, i32 noundef %19427, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 861, ptr noundef %19430, ptr noundef %19433, ptr noundef %19436, i32 noundef %19438) #11
  br label %19440

19440:                                            ; preds = %19423, %19406
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %19441

19441:                                            ; preds = %19440
  br label %19442

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

19443:                                            ; No predecessors!
  br label %19444

19444:                                            ; preds = %19443
  br label %19445

19445:                                            ; preds = %19444, %19386
  br label %19446

19446:                                            ; preds = %19445
  br label %19447

19447:                                            ; preds = %19446
  %19448 = load i32, ptr %416, align 4, !tbaa !5
  %19449 = icmp eq i32 %19448, 0
  br i1 %19449, label %19450, label %19512

19450:                                            ; preds = %19447
  br label %19451

19451:                                            ; preds = %19450
  %19452 = load i32, ptr @test_count, align 4, !tbaa !5
  %19453 = add nsw i32 %19452, 1
  store i32 %19453, ptr @test_count, align 4, !tbaa !5
  %19454 = load i32, ptr %417, align 4, !tbaa !5
  %19455 = icmp eq i32 %19454, 10
  br i1 %19455, label %19509, label %19456

19456:                                            ; preds = %19451
  br label %19457

19457:                                            ; preds = %19456
  br label %19458

19458:                                            ; preds = %19457
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %19459 = call ptr @__errno_location() #12
  %19460 = load i32, ptr %19459, align 4, !tbaa !5
  store i32 %19460, ptr %421, align 4, !tbaa !5
  %19461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19462 = call i32 @s2n_print_stacktrace(ptr noundef %19461)
  %19463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19464 = trunc i8 %19463 to i1
  br i1 %19464, label %19465, label %19487

19465:                                            ; preds = %19458
  %19466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19467 = call i32 @fileno(ptr noundef %19466) #11
  %19468 = call i32 @isatty(i32 noundef %19467) #11
  %19469 = icmp ne i32 %19468, 0
  br i1 %19469, label %19470, label %19487

19470:                                            ; preds = %19465
  %19471 = load i32, ptr %421, align 4, !tbaa !5
  %19472 = call ptr @__errno_location() #12
  store i32 %19471, ptr %19472, align 4, !tbaa !5
  %19473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19474 = load i32, ptr @test_count, align 4, !tbaa !5
  %19475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19476 = load i32, ptr %19475, align 4, !tbaa !5
  %19477 = call ptr @s2n_strerror(i32 noundef %19476, ptr noundef @.str.4)
  %19478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19479 = load i32, ptr %19478, align 4, !tbaa !5
  %19480 = call ptr @s2n_strerror_debug(i32 noundef %19479, ptr noundef @.str.4)
  %19481 = call ptr @__errno_location() #12
  %19482 = load i32, ptr %19481, align 4, !tbaa !5
  %19483 = call ptr @strerror(i32 noundef %19482) #11
  %19484 = call ptr @__errno_location() #12
  %19485 = load i32, ptr %19484, align 4, !tbaa !5
  %19486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19473, ptr noundef @.str.2, i32 noundef %19474, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 864, ptr noundef %19477, ptr noundef %19480, ptr noundef %19483, i32 noundef %19485) #11
  br label %19504

19487:                                            ; preds = %19465, %19458
  %19488 = load i32, ptr %421, align 4, !tbaa !5
  %19489 = call ptr @__errno_location() #12
  store i32 %19488, ptr %19489, align 4, !tbaa !5
  %19490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19491 = load i32, ptr @test_count, align 4, !tbaa !5
  %19492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19493 = load i32, ptr %19492, align 4, !tbaa !5
  %19494 = call ptr @s2n_strerror(i32 noundef %19493, ptr noundef @.str.4)
  %19495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19496 = load i32, ptr %19495, align 4, !tbaa !5
  %19497 = call ptr @s2n_strerror_debug(i32 noundef %19496, ptr noundef @.str.4)
  %19498 = call ptr @__errno_location() #12
  %19499 = load i32, ptr %19498, align 4, !tbaa !5
  %19500 = call ptr @strerror(i32 noundef %19499) #11
  %19501 = call ptr @__errno_location() #12
  %19502 = load i32, ptr %19501, align 4, !tbaa !5
  %19503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19490, ptr noundef @.str.5, i32 noundef %19491, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 864, ptr noundef %19494, ptr noundef %19497, ptr noundef %19500, i32 noundef %19502) #11
  br label %19504

19504:                                            ; preds = %19487, %19470
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %19505

19505:                                            ; preds = %19504
  br label %19506

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

19507:                                            ; No predecessors!
  br label %19508

19508:                                            ; preds = %19507
  br label %19509

19509:                                            ; preds = %19508, %19451
  br label %19510

19510:                                            ; preds = %19509
  br label %19511

19511:                                            ; preds = %19510
  br label %19574

19512:                                            ; preds = %19447
  br label %19513

19513:                                            ; preds = %19512
  %19514 = load i32, ptr @test_count, align 4, !tbaa !5
  %19515 = add nsw i32 %19514, 1
  store i32 %19515, ptr @test_count, align 4, !tbaa !5
  %19516 = load i32, ptr %417, align 4, !tbaa !5
  %19517 = icmp eq i32 %19516, 0
  br i1 %19517, label %19571, label %19518

19518:                                            ; preds = %19513
  br label %19519

19519:                                            ; preds = %19518
  br label %19520

19520:                                            ; preds = %19519
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %19521 = call ptr @__errno_location() #12
  %19522 = load i32, ptr %19521, align 4, !tbaa !5
  store i32 %19522, ptr %422, align 4, !tbaa !5
  %19523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19524 = call i32 @s2n_print_stacktrace(ptr noundef %19523)
  %19525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19526 = trunc i8 %19525 to i1
  br i1 %19526, label %19527, label %19549

19527:                                            ; preds = %19520
  %19528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19529 = call i32 @fileno(ptr noundef %19528) #11
  %19530 = call i32 @isatty(i32 noundef %19529) #11
  %19531 = icmp ne i32 %19530, 0
  br i1 %19531, label %19532, label %19549

19532:                                            ; preds = %19527
  %19533 = load i32, ptr %422, align 4, !tbaa !5
  %19534 = call ptr @__errno_location() #12
  store i32 %19533, ptr %19534, align 4, !tbaa !5
  %19535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19536 = load i32, ptr @test_count, align 4, !tbaa !5
  %19537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19538 = load i32, ptr %19537, align 4, !tbaa !5
  %19539 = call ptr @s2n_strerror(i32 noundef %19538, ptr noundef @.str.4)
  %19540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19541 = load i32, ptr %19540, align 4, !tbaa !5
  %19542 = call ptr @s2n_strerror_debug(i32 noundef %19541, ptr noundef @.str.4)
  %19543 = call ptr @__errno_location() #12
  %19544 = load i32, ptr %19543, align 4, !tbaa !5
  %19545 = call ptr @strerror(i32 noundef %19544) #11
  %19546 = call ptr @__errno_location() #12
  %19547 = load i32, ptr %19546, align 4, !tbaa !5
  %19548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19535, ptr noundef @.str.2, i32 noundef %19536, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 866, ptr noundef %19539, ptr noundef %19542, ptr noundef %19545, i32 noundef %19547) #11
  br label %19566

19549:                                            ; preds = %19527, %19520
  %19550 = load i32, ptr %422, align 4, !tbaa !5
  %19551 = call ptr @__errno_location() #12
  store i32 %19550, ptr %19551, align 4, !tbaa !5
  %19552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19553 = load i32, ptr @test_count, align 4, !tbaa !5
  %19554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19555 = load i32, ptr %19554, align 4, !tbaa !5
  %19556 = call ptr @s2n_strerror(i32 noundef %19555, ptr noundef @.str.4)
  %19557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19558 = load i32, ptr %19557, align 4, !tbaa !5
  %19559 = call ptr @s2n_strerror_debug(i32 noundef %19558, ptr noundef @.str.4)
  %19560 = call ptr @__errno_location() #12
  %19561 = load i32, ptr %19560, align 4, !tbaa !5
  %19562 = call ptr @strerror(i32 noundef %19561) #11
  %19563 = call ptr @__errno_location() #12
  %19564 = load i32, ptr %19563, align 4, !tbaa !5
  %19565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19552, ptr noundef @.str.5, i32 noundef %19553, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 866, ptr noundef %19556, ptr noundef %19559, ptr noundef %19562, i32 noundef %19564) #11
  br label %19566

19566:                                            ; preds = %19549, %19532
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %19567

19567:                                            ; preds = %19566
  br label %19568

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

19569:                                            ; No predecessors!
  br label %19570

19570:                                            ; preds = %19569
  br label %19571

19571:                                            ; preds = %19570, %19513
  br label %19572

19572:                                            ; preds = %19571
  br label %19573

19573:                                            ; preds = %19572
  br label %19574

19574:                                            ; preds = %19573, %19511
  br label %19575

19575:                                            ; preds = %19574
  %19576 = load i32, ptr %418, align 4, !tbaa !5
  %19577 = add i32 %19576, 1
  store i32 %19577, ptr %418, align 4, !tbaa !5
  br label %19316, !llvm.loop !78

19578:                                            ; preds = %19319
  br label %19579

19579:                                            ; preds = %19578
  %19580 = load i32, ptr @test_count, align 4, !tbaa !5
  %19581 = add nsw i32 %19580, 1
  store i32 %19581, ptr @test_count, align 4, !tbaa !5
  %19582 = load ptr, ptr %412, align 8, !tbaa !9
  %19583 = call i32 @s2n_connection_free(ptr noundef %19582)
  %19584 = icmp eq i32 %19583, -1
  br i1 %19584, label %19585, label %19638

19585:                                            ; preds = %19579
  br label %19586

19586:                                            ; preds = %19585
  br label %19587

19587:                                            ; preds = %19586
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %19588 = call ptr @__errno_location() #12
  %19589 = load i32, ptr %19588, align 4, !tbaa !5
  store i32 %19589, ptr %423, align 4, !tbaa !5
  %19590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19591 = call i32 @s2n_print_stacktrace(ptr noundef %19590)
  %19592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19593 = trunc i8 %19592 to i1
  br i1 %19593, label %19594, label %19616

19594:                                            ; preds = %19587
  %19595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19596 = call i32 @fileno(ptr noundef %19595) #11
  %19597 = call i32 @isatty(i32 noundef %19596) #11
  %19598 = icmp ne i32 %19597, 0
  br i1 %19598, label %19599, label %19616

19599:                                            ; preds = %19594
  %19600 = load i32, ptr %423, align 4, !tbaa !5
  %19601 = call ptr @__errno_location() #12
  store i32 %19600, ptr %19601, align 4, !tbaa !5
  %19602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19603 = load i32, ptr @test_count, align 4, !tbaa !5
  %19604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19605 = load i32, ptr %19604, align 4, !tbaa !5
  %19606 = call ptr @s2n_strerror(i32 noundef %19605, ptr noundef @.str.4)
  %19607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19608 = load i32, ptr %19607, align 4, !tbaa !5
  %19609 = call ptr @s2n_strerror_debug(i32 noundef %19608, ptr noundef @.str.4)
  %19610 = call ptr @__errno_location() #12
  %19611 = load i32, ptr %19610, align 4, !tbaa !5
  %19612 = call ptr @strerror(i32 noundef %19611) #11
  %19613 = call ptr @__errno_location() #12
  %19614 = load i32, ptr %19613, align 4, !tbaa !5
  %19615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19602, ptr noundef @.str.2, i32 noundef %19603, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 870, ptr noundef %19606, ptr noundef %19609, ptr noundef %19612, i32 noundef %19614) #11
  br label %19633

19616:                                            ; preds = %19594, %19587
  %19617 = load i32, ptr %423, align 4, !tbaa !5
  %19618 = call ptr @__errno_location() #12
  store i32 %19617, ptr %19618, align 4, !tbaa !5
  %19619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19620 = load i32, ptr @test_count, align 4, !tbaa !5
  %19621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19622 = load i32, ptr %19621, align 4, !tbaa !5
  %19623 = call ptr @s2n_strerror(i32 noundef %19622, ptr noundef @.str.4)
  %19624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19625 = load i32, ptr %19624, align 4, !tbaa !5
  %19626 = call ptr @s2n_strerror_debug(i32 noundef %19625, ptr noundef @.str.4)
  %19627 = call ptr @__errno_location() #12
  %19628 = load i32, ptr %19627, align 4, !tbaa !5
  %19629 = call ptr @strerror(i32 noundef %19628) #11
  %19630 = call ptr @__errno_location() #12
  %19631 = load i32, ptr %19630, align 4, !tbaa !5
  %19632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19619, ptr noundef @.str.5, i32 noundef %19620, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 870, ptr noundef %19623, ptr noundef %19626, ptr noundef %19629, i32 noundef %19631) #11
  br label %19633

19633:                                            ; preds = %19616, %19599
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %19634

19634:                                            ; preds = %19633
  br label %19635

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

19636:                                            ; No predecessors!
  br label %19637

19637:                                            ; preds = %19636
  br label %19638

19638:                                            ; preds = %19637, %19579
  br label %19639

19639:                                            ; preds = %19638
  br label %19640

19640:                                            ; preds = %19639
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %412) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #11
  call void @llvm.lifetime.start.p0(i64 4184, ptr %424) #11
  call void @llvm.memset.p0.i64(ptr align 8 %424, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #11
  store i32 0, ptr %425, align 4, !tbaa !5
  br label %19641

19641:                                            ; preds = %19640
  br label %19642

19642:                                            ; preds = %19641
  br label %19643

19643:                                            ; preds = %19642
  %19644 = load i32, ptr @test_count, align 4, !tbaa !5
  %19645 = add nsw i32 %19644, 1
  store i32 %19645, ptr @test_count, align 4, !tbaa !5
  %19646 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %424, ptr noundef null)
  %19647 = icmp eq i32 %19646, -1
  br i1 %19647, label %19701, label %19648

19648:                                            ; preds = %19643
  br label %19649

19649:                                            ; preds = %19648
  br label %19650

19650:                                            ; preds = %19649
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %19651 = call ptr @__errno_location() #12
  %19652 = load i32, ptr %19651, align 4, !tbaa !5
  store i32 %19652, ptr %426, align 4, !tbaa !5
  %19653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19654 = call i32 @s2n_print_stacktrace(ptr noundef %19653)
  %19655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19656 = trunc i8 %19655 to i1
  br i1 %19656, label %19657, label %19679

19657:                                            ; preds = %19650
  %19658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19659 = call i32 @fileno(ptr noundef %19658) #11
  %19660 = call i32 @isatty(i32 noundef %19659) #11
  %19661 = icmp ne i32 %19660, 0
  br i1 %19661, label %19662, label %19679

19662:                                            ; preds = %19657
  %19663 = load i32, ptr %426, align 4, !tbaa !5
  %19664 = call ptr @__errno_location() #12
  store i32 %19663, ptr %19664, align 4, !tbaa !5
  %19665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19666 = load i32, ptr @test_count, align 4, !tbaa !5
  %19667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19668 = load i32, ptr %19667, align 4, !tbaa !5
  %19669 = call ptr @s2n_strerror(i32 noundef %19668, ptr noundef @.str.4)
  %19670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19671 = load i32, ptr %19670, align 4, !tbaa !5
  %19672 = call ptr @s2n_strerror_debug(i32 noundef %19671, ptr noundef @.str.4)
  %19673 = call ptr @__errno_location() #12
  %19674 = load i32, ptr %19673, align 4, !tbaa !5
  %19675 = call ptr @strerror(i32 noundef %19674) #11
  %19676 = call ptr @__errno_location() #12
  %19677 = load i32, ptr %19676, align 4, !tbaa !5
  %19678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19665, ptr noundef @.str.2, i32 noundef %19666, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 880, ptr noundef %19669, ptr noundef %19672, ptr noundef %19675, i32 noundef %19677) #11
  br label %19696

19679:                                            ; preds = %19657, %19650
  %19680 = load i32, ptr %426, align 4, !tbaa !5
  %19681 = call ptr @__errno_location() #12
  store i32 %19680, ptr %19681, align 4, !tbaa !5
  %19682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19683 = load i32, ptr @test_count, align 4, !tbaa !5
  %19684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19685 = load i32, ptr %19684, align 4, !tbaa !5
  %19686 = call ptr @s2n_strerror(i32 noundef %19685, ptr noundef @.str.4)
  %19687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19688 = load i32, ptr %19687, align 4, !tbaa !5
  %19689 = call ptr @s2n_strerror_debug(i32 noundef %19688, ptr noundef @.str.4)
  %19690 = call ptr @__errno_location() #12
  %19691 = load i32, ptr %19690, align 4, !tbaa !5
  %19692 = call ptr @strerror(i32 noundef %19691) #11
  %19693 = call ptr @__errno_location() #12
  %19694 = load i32, ptr %19693, align 4, !tbaa !5
  %19695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19682, ptr noundef @.str.5, i32 noundef %19683, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 880, ptr noundef %19686, ptr noundef %19689, ptr noundef %19692, i32 noundef %19694) #11
  br label %19696

19696:                                            ; preds = %19679, %19662
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %19697

19697:                                            ; preds = %19696
  br label %19698

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

19699:                                            ; No predecessors!
  br label %19700

19700:                                            ; preds = %19699
  br label %19701

19701:                                            ; preds = %19700, %19643
  br label %19702

19702:                                            ; preds = %19701
  br label %19703

19703:                                            ; preds = %19702
  br label %19704

19704:                                            ; preds = %19703
  %19705 = load i32, ptr @test_count, align 4, !tbaa !5
  %19706 = add nsw i32 %19705, 1
  store i32 %19706, ptr @test_count, align 4, !tbaa !5
  %19707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19708 = load i32, ptr %19707, align 4, !tbaa !5
  %19709 = icmp eq i32 %19708, 402653193
  br i1 %19709, label %19763, label %19710

19710:                                            ; preds = %19704
  br label %19711

19711:                                            ; preds = %19710
  br label %19712

19712:                                            ; preds = %19711
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %19713 = call ptr @__errno_location() #12
  %19714 = load i32, ptr %19713, align 4, !tbaa !5
  store i32 %19714, ptr %427, align 4, !tbaa !5
  %19715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19716 = call i32 @s2n_print_stacktrace(ptr noundef %19715)
  %19717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19718 = trunc i8 %19717 to i1
  br i1 %19718, label %19719, label %19741

19719:                                            ; preds = %19712
  %19720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19721 = call i32 @fileno(ptr noundef %19720) #11
  %19722 = call i32 @isatty(i32 noundef %19721) #11
  %19723 = icmp ne i32 %19722, 0
  br i1 %19723, label %19724, label %19741

19724:                                            ; preds = %19719
  %19725 = load i32, ptr %427, align 4, !tbaa !5
  %19726 = call ptr @__errno_location() #12
  store i32 %19725, ptr %19726, align 4, !tbaa !5
  %19727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19728 = load i32, ptr @test_count, align 4, !tbaa !5
  %19729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19730 = load i32, ptr %19729, align 4, !tbaa !5
  %19731 = call ptr @s2n_strerror(i32 noundef %19730, ptr noundef @.str.4)
  %19732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19733 = load i32, ptr %19732, align 4, !tbaa !5
  %19734 = call ptr @s2n_strerror_debug(i32 noundef %19733, ptr noundef @.str.4)
  %19735 = call ptr @__errno_location() #12
  %19736 = load i32, ptr %19735, align 4, !tbaa !5
  %19737 = call ptr @strerror(i32 noundef %19736) #11
  %19738 = call ptr @__errno_location() #12
  %19739 = load i32, ptr %19738, align 4, !tbaa !5
  %19740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19727, ptr noundef @.str.2, i32 noundef %19728, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 880, ptr noundef %19731, ptr noundef %19734, ptr noundef %19737, i32 noundef %19739) #11
  br label %19758

19741:                                            ; preds = %19719, %19712
  %19742 = load i32, ptr %427, align 4, !tbaa !5
  %19743 = call ptr @__errno_location() #12
  store i32 %19742, ptr %19743, align 4, !tbaa !5
  %19744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19745 = load i32, ptr @test_count, align 4, !tbaa !5
  %19746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19747 = load i32, ptr %19746, align 4, !tbaa !5
  %19748 = call ptr @s2n_strerror(i32 noundef %19747, ptr noundef @.str.4)
  %19749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19750 = load i32, ptr %19749, align 4, !tbaa !5
  %19751 = call ptr @s2n_strerror_debug(i32 noundef %19750, ptr noundef @.str.4)
  %19752 = call ptr @__errno_location() #12
  %19753 = load i32, ptr %19752, align 4, !tbaa !5
  %19754 = call ptr @strerror(i32 noundef %19753) #11
  %19755 = call ptr @__errno_location() #12
  %19756 = load i32, ptr %19755, align 4, !tbaa !5
  %19757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19744, ptr noundef @.str.5, i32 noundef %19745, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 880, ptr noundef %19748, ptr noundef %19751, ptr noundef %19754, i32 noundef %19756) #11
  br label %19758

19758:                                            ; preds = %19741, %19724
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %19759

19759:                                            ; preds = %19758
  br label %19760

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

19761:                                            ; No predecessors!
  br label %19762

19762:                                            ; preds = %19761
  br label %19763

19763:                                            ; preds = %19762, %19704
  br label %19764

19764:                                            ; preds = %19763
  br label %19765

19765:                                            ; preds = %19764
  br label %19766

19766:                                            ; preds = %19765
  %19767 = load i32, ptr @test_count, align 4, !tbaa !5
  %19768 = add nsw i32 %19767, 1
  store i32 %19768, ptr @test_count, align 4, !tbaa !5
  %19769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19770 = load i32, ptr %19769, align 4, !tbaa !5
  %19771 = call ptr @s2n_strerror_debug(i32 noundef %19770, ptr noundef @.str.4)
  %19772 = icmp eq ptr %19771, null
  br i1 %19772, label %19773, label %19826

19773:                                            ; preds = %19766
  br label %19774

19774:                                            ; preds = %19773
  br label %19775

19775:                                            ; preds = %19774
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #11
  %19776 = call ptr @__errno_location() #12
  %19777 = load i32, ptr %19776, align 4, !tbaa !5
  store i32 %19777, ptr %428, align 4, !tbaa !5
  %19778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19779 = call i32 @s2n_print_stacktrace(ptr noundef %19778)
  %19780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19781 = trunc i8 %19780 to i1
  br i1 %19781, label %19782, label %19804

19782:                                            ; preds = %19775
  %19783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19784 = call i32 @fileno(ptr noundef %19783) #11
  %19785 = call i32 @isatty(i32 noundef %19784) #11
  %19786 = icmp ne i32 %19785, 0
  br i1 %19786, label %19787, label %19804

19787:                                            ; preds = %19782
  %19788 = load i32, ptr %428, align 4, !tbaa !5
  %19789 = call ptr @__errno_location() #12
  store i32 %19788, ptr %19789, align 4, !tbaa !5
  %19790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19791 = load i32, ptr @test_count, align 4, !tbaa !5
  %19792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19793 = load i32, ptr %19792, align 4, !tbaa !5
  %19794 = call ptr @s2n_strerror(i32 noundef %19793, ptr noundef @.str.4)
  %19795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19796 = load i32, ptr %19795, align 4, !tbaa !5
  %19797 = call ptr @s2n_strerror_debug(i32 noundef %19796, ptr noundef @.str.4)
  %19798 = call ptr @__errno_location() #12
  %19799 = load i32, ptr %19798, align 4, !tbaa !5
  %19800 = call ptr @strerror(i32 noundef %19799) #11
  %19801 = call ptr @__errno_location() #12
  %19802 = load i32, ptr %19801, align 4, !tbaa !5
  %19803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19790, ptr noundef @.str.2, i32 noundef %19791, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 880, ptr noundef %19794, ptr noundef %19797, ptr noundef %19800, i32 noundef %19802) #11
  br label %19821

19804:                                            ; preds = %19782, %19775
  %19805 = load i32, ptr %428, align 4, !tbaa !5
  %19806 = call ptr @__errno_location() #12
  store i32 %19805, ptr %19806, align 4, !tbaa !5
  %19807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19808 = load i32, ptr @test_count, align 4, !tbaa !5
  %19809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19810 = load i32, ptr %19809, align 4, !tbaa !5
  %19811 = call ptr @s2n_strerror(i32 noundef %19810, ptr noundef @.str.4)
  %19812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19813 = load i32, ptr %19812, align 4, !tbaa !5
  %19814 = call ptr @s2n_strerror_debug(i32 noundef %19813, ptr noundef @.str.4)
  %19815 = call ptr @__errno_location() #12
  %19816 = load i32, ptr %19815, align 4, !tbaa !5
  %19817 = call ptr @strerror(i32 noundef %19816) #11
  %19818 = call ptr @__errno_location() #12
  %19819 = load i32, ptr %19818, align 4, !tbaa !5
  %19820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19807, ptr noundef @.str.5, i32 noundef %19808, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 880, ptr noundef %19811, ptr noundef %19814, ptr noundef %19817, i32 noundef %19819) #11
  br label %19821

19821:                                            ; preds = %19804, %19787
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #11
  br label %19822

19822:                                            ; preds = %19821
  br label %19823

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

19824:                                            ; No predecessors!
  br label %19825

19825:                                            ; preds = %19824
  br label %19826

19826:                                            ; preds = %19825, %19766
  br label %19827

19827:                                            ; preds = %19826
  br label %19828

19828:                                            ; preds = %19827
  br label %19829

19829:                                            ; preds = %19828
  br label %19830

19830:                                            ; preds = %19829
  br label %19831

19831:                                            ; preds = %19830
  %19832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19832, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19833 = call ptr @__errno_location() #12
  store i32 0, ptr %19833, align 4, !tbaa !5
  br label %19834

19834:                                            ; preds = %19831
  br label %19835

19835:                                            ; preds = %19834
  br label %19836

19836:                                            ; preds = %19835
  br label %19837

19837:                                            ; preds = %19836
  br label %19838

19838:                                            ; preds = %19837
  br label %19839

19839:                                            ; preds = %19838
  br label %19840

19840:                                            ; preds = %19839
  %19841 = load i32, ptr @test_count, align 4, !tbaa !5
  %19842 = add nsw i32 %19841, 1
  store i32 %19842, ptr @test_count, align 4, !tbaa !5
  %19843 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef null, ptr noundef %425)
  %19844 = icmp eq i32 %19843, -1
  br i1 %19844, label %19898, label %19845

19845:                                            ; preds = %19840
  br label %19846

19846:                                            ; preds = %19845
  br label %19847

19847:                                            ; preds = %19846
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #11
  %19848 = call ptr @__errno_location() #12
  %19849 = load i32, ptr %19848, align 4, !tbaa !5
  store i32 %19849, ptr %429, align 4, !tbaa !5
  %19850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19851 = call i32 @s2n_print_stacktrace(ptr noundef %19850)
  %19852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19853 = trunc i8 %19852 to i1
  br i1 %19853, label %19854, label %19876

19854:                                            ; preds = %19847
  %19855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19856 = call i32 @fileno(ptr noundef %19855) #11
  %19857 = call i32 @isatty(i32 noundef %19856) #11
  %19858 = icmp ne i32 %19857, 0
  br i1 %19858, label %19859, label %19876

19859:                                            ; preds = %19854
  %19860 = load i32, ptr %429, align 4, !tbaa !5
  %19861 = call ptr @__errno_location() #12
  store i32 %19860, ptr %19861, align 4, !tbaa !5
  %19862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19863 = load i32, ptr @test_count, align 4, !tbaa !5
  %19864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19865 = load i32, ptr %19864, align 4, !tbaa !5
  %19866 = call ptr @s2n_strerror(i32 noundef %19865, ptr noundef @.str.4)
  %19867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19868 = load i32, ptr %19867, align 4, !tbaa !5
  %19869 = call ptr @s2n_strerror_debug(i32 noundef %19868, ptr noundef @.str.4)
  %19870 = call ptr @__errno_location() #12
  %19871 = load i32, ptr %19870, align 4, !tbaa !5
  %19872 = call ptr @strerror(i32 noundef %19871) #11
  %19873 = call ptr @__errno_location() #12
  %19874 = load i32, ptr %19873, align 4, !tbaa !5
  %19875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19862, ptr noundef @.str.2, i32 noundef %19863, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 881, ptr noundef %19866, ptr noundef %19869, ptr noundef %19872, i32 noundef %19874) #11
  br label %19893

19876:                                            ; preds = %19854, %19847
  %19877 = load i32, ptr %429, align 4, !tbaa !5
  %19878 = call ptr @__errno_location() #12
  store i32 %19877, ptr %19878, align 4, !tbaa !5
  %19879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19880 = load i32, ptr @test_count, align 4, !tbaa !5
  %19881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19882 = load i32, ptr %19881, align 4, !tbaa !5
  %19883 = call ptr @s2n_strerror(i32 noundef %19882, ptr noundef @.str.4)
  %19884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19885 = load i32, ptr %19884, align 4, !tbaa !5
  %19886 = call ptr @s2n_strerror_debug(i32 noundef %19885, ptr noundef @.str.4)
  %19887 = call ptr @__errno_location() #12
  %19888 = load i32, ptr %19887, align 4, !tbaa !5
  %19889 = call ptr @strerror(i32 noundef %19888) #11
  %19890 = call ptr @__errno_location() #12
  %19891 = load i32, ptr %19890, align 4, !tbaa !5
  %19892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19879, ptr noundef @.str.5, i32 noundef %19880, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 881, ptr noundef %19883, ptr noundef %19886, ptr noundef %19889, i32 noundef %19891) #11
  br label %19893

19893:                                            ; preds = %19876, %19859
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #11
  br label %19894

19894:                                            ; preds = %19893
  br label %19895

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

19896:                                            ; No predecessors!
  br label %19897

19897:                                            ; preds = %19896
  br label %19898

19898:                                            ; preds = %19897, %19840
  br label %19899

19899:                                            ; preds = %19898
  br label %19900

19900:                                            ; preds = %19899
  br label %19901

19901:                                            ; preds = %19900
  %19902 = load i32, ptr @test_count, align 4, !tbaa !5
  %19903 = add nsw i32 %19902, 1
  store i32 %19903, ptr @test_count, align 4, !tbaa !5
  %19904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19905 = load i32, ptr %19904, align 4, !tbaa !5
  %19906 = icmp eq i32 %19905, 402653193
  br i1 %19906, label %19960, label %19907

19907:                                            ; preds = %19901
  br label %19908

19908:                                            ; preds = %19907
  br label %19909

19909:                                            ; preds = %19908
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %19910 = call ptr @__errno_location() #12
  %19911 = load i32, ptr %19910, align 4, !tbaa !5
  store i32 %19911, ptr %430, align 4, !tbaa !5
  %19912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19913 = call i32 @s2n_print_stacktrace(ptr noundef %19912)
  %19914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19915 = trunc i8 %19914 to i1
  br i1 %19915, label %19916, label %19938

19916:                                            ; preds = %19909
  %19917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19918 = call i32 @fileno(ptr noundef %19917) #11
  %19919 = call i32 @isatty(i32 noundef %19918) #11
  %19920 = icmp ne i32 %19919, 0
  br i1 %19920, label %19921, label %19938

19921:                                            ; preds = %19916
  %19922 = load i32, ptr %430, align 4, !tbaa !5
  %19923 = call ptr @__errno_location() #12
  store i32 %19922, ptr %19923, align 4, !tbaa !5
  %19924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19925 = load i32, ptr @test_count, align 4, !tbaa !5
  %19926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19927 = load i32, ptr %19926, align 4, !tbaa !5
  %19928 = call ptr @s2n_strerror(i32 noundef %19927, ptr noundef @.str.4)
  %19929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19930 = load i32, ptr %19929, align 4, !tbaa !5
  %19931 = call ptr @s2n_strerror_debug(i32 noundef %19930, ptr noundef @.str.4)
  %19932 = call ptr @__errno_location() #12
  %19933 = load i32, ptr %19932, align 4, !tbaa !5
  %19934 = call ptr @strerror(i32 noundef %19933) #11
  %19935 = call ptr @__errno_location() #12
  %19936 = load i32, ptr %19935, align 4, !tbaa !5
  %19937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19924, ptr noundef @.str.2, i32 noundef %19925, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 881, ptr noundef %19928, ptr noundef %19931, ptr noundef %19934, i32 noundef %19936) #11
  br label %19955

19938:                                            ; preds = %19916, %19909
  %19939 = load i32, ptr %430, align 4, !tbaa !5
  %19940 = call ptr @__errno_location() #12
  store i32 %19939, ptr %19940, align 4, !tbaa !5
  %19941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19942 = load i32, ptr @test_count, align 4, !tbaa !5
  %19943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19944 = load i32, ptr %19943, align 4, !tbaa !5
  %19945 = call ptr @s2n_strerror(i32 noundef %19944, ptr noundef @.str.4)
  %19946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19947 = load i32, ptr %19946, align 4, !tbaa !5
  %19948 = call ptr @s2n_strerror_debug(i32 noundef %19947, ptr noundef @.str.4)
  %19949 = call ptr @__errno_location() #12
  %19950 = load i32, ptr %19949, align 4, !tbaa !5
  %19951 = call ptr @strerror(i32 noundef %19950) #11
  %19952 = call ptr @__errno_location() #12
  %19953 = load i32, ptr %19952, align 4, !tbaa !5
  %19954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19941, ptr noundef @.str.5, i32 noundef %19942, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 881, ptr noundef %19945, ptr noundef %19948, ptr noundef %19951, i32 noundef %19953) #11
  br label %19955

19955:                                            ; preds = %19938, %19921
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %19956

19956:                                            ; preds = %19955
  br label %19957

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

19958:                                            ; No predecessors!
  br label %19959

19959:                                            ; preds = %19958
  br label %19960

19960:                                            ; preds = %19959, %19901
  br label %19961

19961:                                            ; preds = %19960
  br label %19962

19962:                                            ; preds = %19961
  br label %19963

19963:                                            ; preds = %19962
  %19964 = load i32, ptr @test_count, align 4, !tbaa !5
  %19965 = add nsw i32 %19964, 1
  store i32 %19965, ptr @test_count, align 4, !tbaa !5
  %19966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19967 = load i32, ptr %19966, align 4, !tbaa !5
  %19968 = call ptr @s2n_strerror_debug(i32 noundef %19967, ptr noundef @.str.4)
  %19969 = icmp eq ptr %19968, null
  br i1 %19969, label %19970, label %20023

19970:                                            ; preds = %19963
  br label %19971

19971:                                            ; preds = %19970
  br label %19972

19972:                                            ; preds = %19971
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %19973 = call ptr @__errno_location() #12
  %19974 = load i32, ptr %19973, align 4, !tbaa !5
  store i32 %19974, ptr %431, align 4, !tbaa !5
  %19975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19976 = call i32 @s2n_print_stacktrace(ptr noundef %19975)
  %19977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19978 = trunc i8 %19977 to i1
  br i1 %19978, label %19979, label %20001

19979:                                            ; preds = %19972
  %19980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19981 = call i32 @fileno(ptr noundef %19980) #11
  %19982 = call i32 @isatty(i32 noundef %19981) #11
  %19983 = icmp ne i32 %19982, 0
  br i1 %19983, label %19984, label %20001

19984:                                            ; preds = %19979
  %19985 = load i32, ptr %431, align 4, !tbaa !5
  %19986 = call ptr @__errno_location() #12
  store i32 %19985, ptr %19986, align 4, !tbaa !5
  %19987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19988 = load i32, ptr @test_count, align 4, !tbaa !5
  %19989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19990 = load i32, ptr %19989, align 4, !tbaa !5
  %19991 = call ptr @s2n_strerror(i32 noundef %19990, ptr noundef @.str.4)
  %19992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19993 = load i32, ptr %19992, align 4, !tbaa !5
  %19994 = call ptr @s2n_strerror_debug(i32 noundef %19993, ptr noundef @.str.4)
  %19995 = call ptr @__errno_location() #12
  %19996 = load i32, ptr %19995, align 4, !tbaa !5
  %19997 = call ptr @strerror(i32 noundef %19996) #11
  %19998 = call ptr @__errno_location() #12
  %19999 = load i32, ptr %19998, align 4, !tbaa !5
  %20000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19987, ptr noundef @.str.2, i32 noundef %19988, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 881, ptr noundef %19991, ptr noundef %19994, ptr noundef %19997, i32 noundef %19999) #11
  br label %20018

20001:                                            ; preds = %19979, %19972
  %20002 = load i32, ptr %431, align 4, !tbaa !5
  %20003 = call ptr @__errno_location() #12
  store i32 %20002, ptr %20003, align 4, !tbaa !5
  %20004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20005 = load i32, ptr @test_count, align 4, !tbaa !5
  %20006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20007 = load i32, ptr %20006, align 4, !tbaa !5
  %20008 = call ptr @s2n_strerror(i32 noundef %20007, ptr noundef @.str.4)
  %20009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20010 = load i32, ptr %20009, align 4, !tbaa !5
  %20011 = call ptr @s2n_strerror_debug(i32 noundef %20010, ptr noundef @.str.4)
  %20012 = call ptr @__errno_location() #12
  %20013 = load i32, ptr %20012, align 4, !tbaa !5
  %20014 = call ptr @strerror(i32 noundef %20013) #11
  %20015 = call ptr @__errno_location() #12
  %20016 = load i32, ptr %20015, align 4, !tbaa !5
  %20017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20004, ptr noundef @.str.5, i32 noundef %20005, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 881, ptr noundef %20008, ptr noundef %20011, ptr noundef %20014, i32 noundef %20016) #11
  br label %20018

20018:                                            ; preds = %20001, %19984
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %20019

20019:                                            ; preds = %20018
  br label %20020

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

20021:                                            ; No predecessors!
  br label %20022

20022:                                            ; preds = %20021
  br label %20023

20023:                                            ; preds = %20022, %19963
  br label %20024

20024:                                            ; preds = %20023
  br label %20025

20025:                                            ; preds = %20024
  br label %20026

20026:                                            ; preds = %20025
  br label %20027

20027:                                            ; preds = %20026
  br label %20028

20028:                                            ; preds = %20027
  %20029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20029, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20030 = call ptr @__errno_location() #12
  store i32 0, ptr %20030, align 4, !tbaa !5
  br label %20031

20031:                                            ; preds = %20028
  br label %20032

20032:                                            ; preds = %20031
  br label %20033

20033:                                            ; preds = %20032
  br label %20034

20034:                                            ; preds = %20033
  br label %20035

20035:                                            ; preds = %20034
  %20036 = load i32, ptr @test_count, align 4, !tbaa !5
  %20037 = add nsw i32 %20036, 1
  store i32 %20037, ptr @test_count, align 4, !tbaa !5
  %20038 = load i32, ptr %425, align 4, !tbaa !5
  %20039 = icmp eq i32 %20038, 0
  br i1 %20039, label %20093, label %20040

20040:                                            ; preds = %20035
  br label %20041

20041:                                            ; preds = %20040
  br label %20042

20042:                                            ; preds = %20041
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %20043 = call ptr @__errno_location() #12
  %20044 = load i32, ptr %20043, align 4, !tbaa !5
  store i32 %20044, ptr %432, align 4, !tbaa !5
  %20045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20046 = call i32 @s2n_print_stacktrace(ptr noundef %20045)
  %20047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20048 = trunc i8 %20047 to i1
  br i1 %20048, label %20049, label %20071

20049:                                            ; preds = %20042
  %20050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20051 = call i32 @fileno(ptr noundef %20050) #11
  %20052 = call i32 @isatty(i32 noundef %20051) #11
  %20053 = icmp ne i32 %20052, 0
  br i1 %20053, label %20054, label %20071

20054:                                            ; preds = %20049
  %20055 = load i32, ptr %432, align 4, !tbaa !5
  %20056 = call ptr @__errno_location() #12
  store i32 %20055, ptr %20056, align 4, !tbaa !5
  %20057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20058 = load i32, ptr @test_count, align 4, !tbaa !5
  %20059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20060 = load i32, ptr %20059, align 4, !tbaa !5
  %20061 = call ptr @s2n_strerror(i32 noundef %20060, ptr noundef @.str.4)
  %20062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20063 = load i32, ptr %20062, align 4, !tbaa !5
  %20064 = call ptr @s2n_strerror_debug(i32 noundef %20063, ptr noundef @.str.4)
  %20065 = call ptr @__errno_location() #12
  %20066 = load i32, ptr %20065, align 4, !tbaa !5
  %20067 = call ptr @strerror(i32 noundef %20066) #11
  %20068 = call ptr @__errno_location() #12
  %20069 = load i32, ptr %20068, align 4, !tbaa !5
  %20070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20057, ptr noundef @.str.2, i32 noundef %20058, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 882, ptr noundef %20061, ptr noundef %20064, ptr noundef %20067, i32 noundef %20069) #11
  br label %20088

20071:                                            ; preds = %20049, %20042
  %20072 = load i32, ptr %432, align 4, !tbaa !5
  %20073 = call ptr @__errno_location() #12
  store i32 %20072, ptr %20073, align 4, !tbaa !5
  %20074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20075 = load i32, ptr @test_count, align 4, !tbaa !5
  %20076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20077 = load i32, ptr %20076, align 4, !tbaa !5
  %20078 = call ptr @s2n_strerror(i32 noundef %20077, ptr noundef @.str.4)
  %20079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20080 = load i32, ptr %20079, align 4, !tbaa !5
  %20081 = call ptr @s2n_strerror_debug(i32 noundef %20080, ptr noundef @.str.4)
  %20082 = call ptr @__errno_location() #12
  %20083 = load i32, ptr %20082, align 4, !tbaa !5
  %20084 = call ptr @strerror(i32 noundef %20083) #11
  %20085 = call ptr @__errno_location() #12
  %20086 = load i32, ptr %20085, align 4, !tbaa !5
  %20087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20074, ptr noundef @.str.5, i32 noundef %20075, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 882, ptr noundef %20078, ptr noundef %20081, ptr noundef %20084, i32 noundef %20086) #11
  br label %20088

20088:                                            ; preds = %20071, %20054
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %20089

20089:                                            ; preds = %20088
  br label %20090

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

20091:                                            ; No predecessors!
  br label %20092

20092:                                            ; preds = %20091
  br label %20093

20093:                                            ; preds = %20092, %20035
  br label %20094

20094:                                            ; preds = %20093
  br label %20095

20095:                                            ; preds = %20094
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr %424) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %433) #11
  %20096 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20096, ptr %433, align 8, !tbaa !9
  br label %20097

20097:                                            ; preds = %20095
  %20098 = load i32, ptr @test_count, align 4, !tbaa !5
  %20099 = add nsw i32 %20098, 1
  store i32 %20099, ptr @test_count, align 4, !tbaa !5
  %20100 = load ptr, ptr %433, align 8, !tbaa !9
  %20101 = icmp eq ptr %20100, null
  br i1 %20101, label %20102, label %20155

20102:                                            ; preds = %20097
  br label %20103

20103:                                            ; preds = %20102
  br label %20104

20104:                                            ; preds = %20103
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %20105 = call ptr @__errno_location() #12
  %20106 = load i32, ptr %20105, align 4, !tbaa !5
  store i32 %20106, ptr %434, align 4, !tbaa !5
  %20107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20108 = call i32 @s2n_print_stacktrace(ptr noundef %20107)
  %20109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20110 = trunc i8 %20109 to i1
  br i1 %20110, label %20111, label %20133

20111:                                            ; preds = %20104
  %20112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20113 = call i32 @fileno(ptr noundef %20112) #11
  %20114 = call i32 @isatty(i32 noundef %20113) #11
  %20115 = icmp ne i32 %20114, 0
  br i1 %20115, label %20116, label %20133

20116:                                            ; preds = %20111
  %20117 = load i32, ptr %434, align 4, !tbaa !5
  %20118 = call ptr @__errno_location() #12
  store i32 %20117, ptr %20118, align 4, !tbaa !5
  %20119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20120 = load i32, ptr @test_count, align 4, !tbaa !5
  %20121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20122 = load i32, ptr %20121, align 4, !tbaa !5
  %20123 = call ptr @s2n_strerror(i32 noundef %20122, ptr noundef @.str.4)
  %20124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20125 = load i32, ptr %20124, align 4, !tbaa !5
  %20126 = call ptr @s2n_strerror_debug(i32 noundef %20125, ptr noundef @.str.4)
  %20127 = call ptr @__errno_location() #12
  %20128 = load i32, ptr %20127, align 4, !tbaa !5
  %20129 = call ptr @strerror(i32 noundef %20128) #11
  %20130 = call ptr @__errno_location() #12
  %20131 = load i32, ptr %20130, align 4, !tbaa !5
  %20132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20119, ptr noundef @.str.2, i32 noundef %20120, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 888, ptr noundef %20123, ptr noundef %20126, ptr noundef %20129, i32 noundef %20131) #11
  br label %20150

20133:                                            ; preds = %20111, %20104
  %20134 = load i32, ptr %434, align 4, !tbaa !5
  %20135 = call ptr @__errno_location() #12
  store i32 %20134, ptr %20135, align 4, !tbaa !5
  %20136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20137 = load i32, ptr @test_count, align 4, !tbaa !5
  %20138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20139 = load i32, ptr %20138, align 4, !tbaa !5
  %20140 = call ptr @s2n_strerror(i32 noundef %20139, ptr noundef @.str.4)
  %20141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20142 = load i32, ptr %20141, align 4, !tbaa !5
  %20143 = call ptr @s2n_strerror_debug(i32 noundef %20142, ptr noundef @.str.4)
  %20144 = call ptr @__errno_location() #12
  %20145 = load i32, ptr %20144, align 4, !tbaa !5
  %20146 = call ptr @strerror(i32 noundef %20145) #11
  %20147 = call ptr @__errno_location() #12
  %20148 = load i32, ptr %20147, align 4, !tbaa !5
  %20149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20136, ptr noundef @.str.5, i32 noundef %20137, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 888, ptr noundef %20140, ptr noundef %20143, ptr noundef %20146, i32 noundef %20148) #11
  br label %20150

20150:                                            ; preds = %20133, %20116
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %20151

20151:                                            ; preds = %20150
  br label %20152

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

20153:                                            ; No predecessors!
  br label %20154

20154:                                            ; preds = %20153
  br label %20155

20155:                                            ; preds = %20154, %20097
  br label %20156

20156:                                            ; preds = %20155
  br label %20157

20157:                                            ; preds = %20156
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #11
  store i32 10, ptr %435, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  store i32 10, ptr %436, align 4, !tbaa !5
  br label %20158

20158:                                            ; preds = %20157
  %20159 = load i32, ptr @test_count, align 4, !tbaa !5
  %20160 = add nsw i32 %20159, 1
  store i32 %20160, ptr @test_count, align 4, !tbaa !5
  %20161 = load ptr, ptr %433, align 8, !tbaa !9
  %20162 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %20161, ptr noundef %436)
  %20163 = icmp eq i32 %20162, -1
  br i1 %20163, label %20164, label %20217

20164:                                            ; preds = %20158
  br label %20165

20165:                                            ; preds = %20164
  br label %20166

20166:                                            ; preds = %20165
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  %20167 = call ptr @__errno_location() #12
  %20168 = load i32, ptr %20167, align 4, !tbaa !5
  store i32 %20168, ptr %437, align 4, !tbaa !5
  %20169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20170 = call i32 @s2n_print_stacktrace(ptr noundef %20169)
  %20171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20172 = trunc i8 %20171 to i1
  br i1 %20172, label %20173, label %20195

20173:                                            ; preds = %20166
  %20174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20175 = call i32 @fileno(ptr noundef %20174) #11
  %20176 = call i32 @isatty(i32 noundef %20175) #11
  %20177 = icmp ne i32 %20176, 0
  br i1 %20177, label %20178, label %20195

20178:                                            ; preds = %20173
  %20179 = load i32, ptr %437, align 4, !tbaa !5
  %20180 = call ptr @__errno_location() #12
  store i32 %20179, ptr %20180, align 4, !tbaa !5
  %20181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20182 = load i32, ptr @test_count, align 4, !tbaa !5
  %20183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20184 = load i32, ptr %20183, align 4, !tbaa !5
  %20185 = call ptr @s2n_strerror(i32 noundef %20184, ptr noundef @.str.4)
  %20186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20187 = load i32, ptr %20186, align 4, !tbaa !5
  %20188 = call ptr @s2n_strerror_debug(i32 noundef %20187, ptr noundef @.str.4)
  %20189 = call ptr @__errno_location() #12
  %20190 = load i32, ptr %20189, align 4, !tbaa !5
  %20191 = call ptr @strerror(i32 noundef %20190) #11
  %20192 = call ptr @__errno_location() #12
  %20193 = load i32, ptr %20192, align 4, !tbaa !5
  %20194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20181, ptr noundef @.str.2, i32 noundef %20182, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 894, ptr noundef %20185, ptr noundef %20188, ptr noundef %20191, i32 noundef %20193) #11
  br label %20212

20195:                                            ; preds = %20173, %20166
  %20196 = load i32, ptr %437, align 4, !tbaa !5
  %20197 = call ptr @__errno_location() #12
  store i32 %20196, ptr %20197, align 4, !tbaa !5
  %20198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20199 = load i32, ptr @test_count, align 4, !tbaa !5
  %20200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20201 = load i32, ptr %20200, align 4, !tbaa !5
  %20202 = call ptr @s2n_strerror(i32 noundef %20201, ptr noundef @.str.4)
  %20203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20204 = load i32, ptr %20203, align 4, !tbaa !5
  %20205 = call ptr @s2n_strerror_debug(i32 noundef %20204, ptr noundef @.str.4)
  %20206 = call ptr @__errno_location() #12
  %20207 = load i32, ptr %20206, align 4, !tbaa !5
  %20208 = call ptr @strerror(i32 noundef %20207) #11
  %20209 = call ptr @__errno_location() #12
  %20210 = load i32, ptr %20209, align 4, !tbaa !5
  %20211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20198, ptr noundef @.str.5, i32 noundef %20199, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 894, ptr noundef %20202, ptr noundef %20205, ptr noundef %20208, i32 noundef %20210) #11
  br label %20212

20212:                                            ; preds = %20195, %20178
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  br label %20213

20213:                                            ; preds = %20212
  br label %20214

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

20215:                                            ; No predecessors!
  br label %20216

20216:                                            ; preds = %20215
  br label %20217

20217:                                            ; preds = %20216, %20158
  br label %20218

20218:                                            ; preds = %20217
  br label %20219

20219:                                            ; preds = %20218
  br label %20220

20220:                                            ; preds = %20219
  %20221 = load i32, ptr @test_count, align 4, !tbaa !5
  %20222 = add nsw i32 %20221, 1
  store i32 %20222, ptr @test_count, align 4, !tbaa !5
  %20223 = load i32, ptr %436, align 4, !tbaa !5
  %20224 = icmp eq i32 %20223, 0
  br i1 %20224, label %20278, label %20225

20225:                                            ; preds = %20220
  br label %20226

20226:                                            ; preds = %20225
  br label %20227

20227:                                            ; preds = %20226
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %20228 = call ptr @__errno_location() #12
  %20229 = load i32, ptr %20228, align 4, !tbaa !5
  store i32 %20229, ptr %438, align 4, !tbaa !5
  %20230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20231 = call i32 @s2n_print_stacktrace(ptr noundef %20230)
  %20232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20233 = trunc i8 %20232 to i1
  br i1 %20233, label %20234, label %20256

20234:                                            ; preds = %20227
  %20235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20236 = call i32 @fileno(ptr noundef %20235) #11
  %20237 = call i32 @isatty(i32 noundef %20236) #11
  %20238 = icmp ne i32 %20237, 0
  br i1 %20238, label %20239, label %20256

20239:                                            ; preds = %20234
  %20240 = load i32, ptr %438, align 4, !tbaa !5
  %20241 = call ptr @__errno_location() #12
  store i32 %20240, ptr %20241, align 4, !tbaa !5
  %20242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20243 = load i32, ptr @test_count, align 4, !tbaa !5
  %20244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20245 = load i32, ptr %20244, align 4, !tbaa !5
  %20246 = call ptr @s2n_strerror(i32 noundef %20245, ptr noundef @.str.4)
  %20247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20248 = load i32, ptr %20247, align 4, !tbaa !5
  %20249 = call ptr @s2n_strerror_debug(i32 noundef %20248, ptr noundef @.str.4)
  %20250 = call ptr @__errno_location() #12
  %20251 = load i32, ptr %20250, align 4, !tbaa !5
  %20252 = call ptr @strerror(i32 noundef %20251) #11
  %20253 = call ptr @__errno_location() #12
  %20254 = load i32, ptr %20253, align 4, !tbaa !5
  %20255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20242, ptr noundef @.str.2, i32 noundef %20243, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 895, ptr noundef %20246, ptr noundef %20249, ptr noundef %20252, i32 noundef %20254) #11
  br label %20273

20256:                                            ; preds = %20234, %20227
  %20257 = load i32, ptr %438, align 4, !tbaa !5
  %20258 = call ptr @__errno_location() #12
  store i32 %20257, ptr %20258, align 4, !tbaa !5
  %20259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20260 = load i32, ptr @test_count, align 4, !tbaa !5
  %20261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20262 = load i32, ptr %20261, align 4, !tbaa !5
  %20263 = call ptr @s2n_strerror(i32 noundef %20262, ptr noundef @.str.4)
  %20264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20265 = load i32, ptr %20264, align 4, !tbaa !5
  %20266 = call ptr @s2n_strerror_debug(i32 noundef %20265, ptr noundef @.str.4)
  %20267 = call ptr @__errno_location() #12
  %20268 = load i32, ptr %20267, align 4, !tbaa !5
  %20269 = call ptr @strerror(i32 noundef %20268) #11
  %20270 = call ptr @__errno_location() #12
  %20271 = load i32, ptr %20270, align 4, !tbaa !5
  %20272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20259, ptr noundef @.str.5, i32 noundef %20260, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 895, ptr noundef %20263, ptr noundef %20266, ptr noundef %20269, i32 noundef %20271) #11
  br label %20273

20273:                                            ; preds = %20256, %20239
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %20274

20274:                                            ; preds = %20273
  br label %20275

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

20276:                                            ; No predecessors!
  br label %20277

20277:                                            ; preds = %20276
  br label %20278

20278:                                            ; preds = %20277, %20220
  br label %20279

20279:                                            ; preds = %20278
  br label %20280

20280:                                            ; preds = %20279
  br label %20281

20281:                                            ; preds = %20280
  %20282 = load i32, ptr @test_count, align 4, !tbaa !5
  %20283 = add nsw i32 %20282, 1
  store i32 %20283, ptr @test_count, align 4, !tbaa !5
  %20284 = load ptr, ptr %433, align 8, !tbaa !9
  %20285 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %20284, i32 noundef 0, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %20286 = getelementptr inbounds %struct.s2n_result, ptr %439, i32 0, i32 0
  store i32 %20285, ptr %20286, align 4
  %20287 = getelementptr inbounds %struct.s2n_result, ptr %439, i32 0, i32 0
  %20288 = load i32, ptr %20287, align 4
  %20289 = call zeroext i1 @s2n_result_is_ok(i32 %20288)
  br i1 %20289, label %20343, label %20290

20290:                                            ; preds = %20281
  br label %20291

20291:                                            ; preds = %20290
  br label %20292

20292:                                            ; preds = %20291
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  %20293 = call ptr @__errno_location() #12
  %20294 = load i32, ptr %20293, align 4, !tbaa !5
  store i32 %20294, ptr %440, align 4, !tbaa !5
  %20295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20296 = call i32 @s2n_print_stacktrace(ptr noundef %20295)
  %20297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20298 = trunc i8 %20297 to i1
  br i1 %20298, label %20299, label %20321

20299:                                            ; preds = %20292
  %20300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20301 = call i32 @fileno(ptr noundef %20300) #11
  %20302 = call i32 @isatty(i32 noundef %20301) #11
  %20303 = icmp ne i32 %20302, 0
  br i1 %20303, label %20304, label %20321

20304:                                            ; preds = %20299
  %20305 = load i32, ptr %440, align 4, !tbaa !5
  %20306 = call ptr @__errno_location() #12
  store i32 %20305, ptr %20306, align 4, !tbaa !5
  %20307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20308 = load i32, ptr @test_count, align 4, !tbaa !5
  %20309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20310 = load i32, ptr %20309, align 4, !tbaa !5
  %20311 = call ptr @s2n_strerror(i32 noundef %20310, ptr noundef @.str.4)
  %20312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20313 = load i32, ptr %20312, align 4, !tbaa !5
  %20314 = call ptr @s2n_strerror_debug(i32 noundef %20313, ptr noundef @.str.4)
  %20315 = call ptr @__errno_location() #12
  %20316 = load i32, ptr %20315, align 4, !tbaa !5
  %20317 = call ptr @strerror(i32 noundef %20316) #11
  %20318 = call ptr @__errno_location() #12
  %20319 = load i32, ptr %20318, align 4, !tbaa !5
  %20320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20307, ptr noundef @.str.2, i32 noundef %20308, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 898, ptr noundef %20311, ptr noundef %20314, ptr noundef %20317, i32 noundef %20319) #11
  br label %20338

20321:                                            ; preds = %20299, %20292
  %20322 = load i32, ptr %440, align 4, !tbaa !5
  %20323 = call ptr @__errno_location() #12
  store i32 %20322, ptr %20323, align 4, !tbaa !5
  %20324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20325 = load i32, ptr @test_count, align 4, !tbaa !5
  %20326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20327 = load i32, ptr %20326, align 4, !tbaa !5
  %20328 = call ptr @s2n_strerror(i32 noundef %20327, ptr noundef @.str.4)
  %20329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20330 = load i32, ptr %20329, align 4, !tbaa !5
  %20331 = call ptr @s2n_strerror_debug(i32 noundef %20330, ptr noundef @.str.4)
  %20332 = call ptr @__errno_location() #12
  %20333 = load i32, ptr %20332, align 4, !tbaa !5
  %20334 = call ptr @strerror(i32 noundef %20333) #11
  %20335 = call ptr @__errno_location() #12
  %20336 = load i32, ptr %20335, align 4, !tbaa !5
  %20337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20324, ptr noundef @.str.5, i32 noundef %20325, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 898, ptr noundef %20328, ptr noundef %20331, ptr noundef %20334, i32 noundef %20336) #11
  br label %20338

20338:                                            ; preds = %20321, %20304
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %20339

20339:                                            ; preds = %20338
  br label %20340

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

20341:                                            ; No predecessors!
  br label %20342

20342:                                            ; preds = %20341
  br label %20343

20343:                                            ; preds = %20342, %20281
  br label %20344

20344:                                            ; preds = %20343
  br label %20345

20345:                                            ; preds = %20344
  br label %20346

20346:                                            ; preds = %20345
  %20347 = load i32, ptr @test_count, align 4, !tbaa !5
  %20348 = add nsw i32 %20347, 1
  store i32 %20348, ptr @test_count, align 4, !tbaa !5
  %20349 = load ptr, ptr %433, align 8, !tbaa !9
  %20350 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %20349, ptr noundef %436)
  %20351 = icmp eq i32 %20350, -1
  br i1 %20351, label %20352, label %20405

20352:                                            ; preds = %20346
  br label %20353

20353:                                            ; preds = %20352
  br label %20354

20354:                                            ; preds = %20353
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %20355 = call ptr @__errno_location() #12
  %20356 = load i32, ptr %20355, align 4, !tbaa !5
  store i32 %20356, ptr %441, align 4, !tbaa !5
  %20357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20358 = call i32 @s2n_print_stacktrace(ptr noundef %20357)
  %20359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20360 = trunc i8 %20359 to i1
  br i1 %20360, label %20361, label %20383

20361:                                            ; preds = %20354
  %20362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20363 = call i32 @fileno(ptr noundef %20362) #11
  %20364 = call i32 @isatty(i32 noundef %20363) #11
  %20365 = icmp ne i32 %20364, 0
  br i1 %20365, label %20366, label %20383

20366:                                            ; preds = %20361
  %20367 = load i32, ptr %441, align 4, !tbaa !5
  %20368 = call ptr @__errno_location() #12
  store i32 %20367, ptr %20368, align 4, !tbaa !5
  %20369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20370 = load i32, ptr @test_count, align 4, !tbaa !5
  %20371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20372 = load i32, ptr %20371, align 4, !tbaa !5
  %20373 = call ptr @s2n_strerror(i32 noundef %20372, ptr noundef @.str.4)
  %20374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20375 = load i32, ptr %20374, align 4, !tbaa !5
  %20376 = call ptr @s2n_strerror_debug(i32 noundef %20375, ptr noundef @.str.4)
  %20377 = call ptr @__errno_location() #12
  %20378 = load i32, ptr %20377, align 4, !tbaa !5
  %20379 = call ptr @strerror(i32 noundef %20378) #11
  %20380 = call ptr @__errno_location() #12
  %20381 = load i32, ptr %20380, align 4, !tbaa !5
  %20382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20369, ptr noundef @.str.2, i32 noundef %20370, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 899, ptr noundef %20373, ptr noundef %20376, ptr noundef %20379, i32 noundef %20381) #11
  br label %20400

20383:                                            ; preds = %20361, %20354
  %20384 = load i32, ptr %441, align 4, !tbaa !5
  %20385 = call ptr @__errno_location() #12
  store i32 %20384, ptr %20385, align 4, !tbaa !5
  %20386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20387 = load i32, ptr @test_count, align 4, !tbaa !5
  %20388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20389 = load i32, ptr %20388, align 4, !tbaa !5
  %20390 = call ptr @s2n_strerror(i32 noundef %20389, ptr noundef @.str.4)
  %20391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20392 = load i32, ptr %20391, align 4, !tbaa !5
  %20393 = call ptr @s2n_strerror_debug(i32 noundef %20392, ptr noundef @.str.4)
  %20394 = call ptr @__errno_location() #12
  %20395 = load i32, ptr %20394, align 4, !tbaa !5
  %20396 = call ptr @strerror(i32 noundef %20395) #11
  %20397 = call ptr @__errno_location() #12
  %20398 = load i32, ptr %20397, align 4, !tbaa !5
  %20399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20386, ptr noundef @.str.5, i32 noundef %20387, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 899, ptr noundef %20390, ptr noundef %20393, ptr noundef %20396, i32 noundef %20398) #11
  br label %20400

20400:                                            ; preds = %20383, %20366
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %20401

20401:                                            ; preds = %20400
  br label %20402

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

20403:                                            ; No predecessors!
  br label %20404

20404:                                            ; preds = %20403
  br label %20405

20405:                                            ; preds = %20404, %20346
  br label %20406

20406:                                            ; preds = %20405
  br label %20407

20407:                                            ; preds = %20406
  br label %20408

20408:                                            ; preds = %20407
  %20409 = load i32, ptr @test_count, align 4, !tbaa !5
  %20410 = add nsw i32 %20409, 1
  store i32 %20410, ptr @test_count, align 4, !tbaa !5
  %20411 = load i32, ptr %436, align 4, !tbaa !5
  %20412 = icmp eq i32 %20411, 0
  br i1 %20412, label %20466, label %20413

20413:                                            ; preds = %20408
  br label %20414

20414:                                            ; preds = %20413
  br label %20415

20415:                                            ; preds = %20414
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %20416 = call ptr @__errno_location() #12
  %20417 = load i32, ptr %20416, align 4, !tbaa !5
  store i32 %20417, ptr %442, align 4, !tbaa !5
  %20418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20419 = call i32 @s2n_print_stacktrace(ptr noundef %20418)
  %20420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20421 = trunc i8 %20420 to i1
  br i1 %20421, label %20422, label %20444

20422:                                            ; preds = %20415
  %20423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20424 = call i32 @fileno(ptr noundef %20423) #11
  %20425 = call i32 @isatty(i32 noundef %20424) #11
  %20426 = icmp ne i32 %20425, 0
  br i1 %20426, label %20427, label %20444

20427:                                            ; preds = %20422
  %20428 = load i32, ptr %442, align 4, !tbaa !5
  %20429 = call ptr @__errno_location() #12
  store i32 %20428, ptr %20429, align 4, !tbaa !5
  %20430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20431 = load i32, ptr @test_count, align 4, !tbaa !5
  %20432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20433 = load i32, ptr %20432, align 4, !tbaa !5
  %20434 = call ptr @s2n_strerror(i32 noundef %20433, ptr noundef @.str.4)
  %20435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20436 = load i32, ptr %20435, align 4, !tbaa !5
  %20437 = call ptr @s2n_strerror_debug(i32 noundef %20436, ptr noundef @.str.4)
  %20438 = call ptr @__errno_location() #12
  %20439 = load i32, ptr %20438, align 4, !tbaa !5
  %20440 = call ptr @strerror(i32 noundef %20439) #11
  %20441 = call ptr @__errno_location() #12
  %20442 = load i32, ptr %20441, align 4, !tbaa !5
  %20443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20430, ptr noundef @.str.2, i32 noundef %20431, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 900, ptr noundef %20434, ptr noundef %20437, ptr noundef %20440, i32 noundef %20442) #11
  br label %20461

20444:                                            ; preds = %20422, %20415
  %20445 = load i32, ptr %442, align 4, !tbaa !5
  %20446 = call ptr @__errno_location() #12
  store i32 %20445, ptr %20446, align 4, !tbaa !5
  %20447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20448 = load i32, ptr @test_count, align 4, !tbaa !5
  %20449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20450 = load i32, ptr %20449, align 4, !tbaa !5
  %20451 = call ptr @s2n_strerror(i32 noundef %20450, ptr noundef @.str.4)
  %20452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20453 = load i32, ptr %20452, align 4, !tbaa !5
  %20454 = call ptr @s2n_strerror_debug(i32 noundef %20453, ptr noundef @.str.4)
  %20455 = call ptr @__errno_location() #12
  %20456 = load i32, ptr %20455, align 4, !tbaa !5
  %20457 = call ptr @strerror(i32 noundef %20456) #11
  %20458 = call ptr @__errno_location() #12
  %20459 = load i32, ptr %20458, align 4, !tbaa !5
  %20460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20447, ptr noundef @.str.5, i32 noundef %20448, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 900, ptr noundef %20451, ptr noundef %20454, ptr noundef %20457, i32 noundef %20459) #11
  br label %20461

20461:                                            ; preds = %20444, %20427
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %20462

20462:                                            ; preds = %20461
  br label %20463

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

20464:                                            ; No predecessors!
  br label %20465

20465:                                            ; preds = %20464
  br label %20466

20466:                                            ; preds = %20465, %20408
  br label %20467

20467:                                            ; preds = %20466
  br label %20468

20468:                                            ; preds = %20467
  br label %20469

20469:                                            ; preds = %20468
  %20470 = load i32, ptr @test_count, align 4, !tbaa !5
  %20471 = add nsw i32 %20470, 1
  store i32 %20471, ptr @test_count, align 4, !tbaa !5
  %20472 = load ptr, ptr %433, align 8, !tbaa !9
  %20473 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %20472, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %20474 = getelementptr inbounds %struct.s2n_result, ptr %443, i32 0, i32 0
  store i32 %20473, ptr %20474, align 4
  %20475 = getelementptr inbounds %struct.s2n_result, ptr %443, i32 0, i32 0
  %20476 = load i32, ptr %20475, align 4
  %20477 = call zeroext i1 @s2n_result_is_ok(i32 %20476)
  br i1 %20477, label %20531, label %20478

20478:                                            ; preds = %20469
  br label %20479

20479:                                            ; preds = %20478
  br label %20480

20480:                                            ; preds = %20479
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #11
  %20481 = call ptr @__errno_location() #12
  %20482 = load i32, ptr %20481, align 4, !tbaa !5
  store i32 %20482, ptr %444, align 4, !tbaa !5
  %20483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20484 = call i32 @s2n_print_stacktrace(ptr noundef %20483)
  %20485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20486 = trunc i8 %20485 to i1
  br i1 %20486, label %20487, label %20509

20487:                                            ; preds = %20480
  %20488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20489 = call i32 @fileno(ptr noundef %20488) #11
  %20490 = call i32 @isatty(i32 noundef %20489) #11
  %20491 = icmp ne i32 %20490, 0
  br i1 %20491, label %20492, label %20509

20492:                                            ; preds = %20487
  %20493 = load i32, ptr %444, align 4, !tbaa !5
  %20494 = call ptr @__errno_location() #12
  store i32 %20493, ptr %20494, align 4, !tbaa !5
  %20495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20496 = load i32, ptr @test_count, align 4, !tbaa !5
  %20497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20498 = load i32, ptr %20497, align 4, !tbaa !5
  %20499 = call ptr @s2n_strerror(i32 noundef %20498, ptr noundef @.str.4)
  %20500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20501 = load i32, ptr %20500, align 4, !tbaa !5
  %20502 = call ptr @s2n_strerror_debug(i32 noundef %20501, ptr noundef @.str.4)
  %20503 = call ptr @__errno_location() #12
  %20504 = load i32, ptr %20503, align 4, !tbaa !5
  %20505 = call ptr @strerror(i32 noundef %20504) #11
  %20506 = call ptr @__errno_location() #12
  %20507 = load i32, ptr %20506, align 4, !tbaa !5
  %20508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20495, ptr noundef @.str.2, i32 noundef %20496, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 903, ptr noundef %20499, ptr noundef %20502, ptr noundef %20505, i32 noundef %20507) #11
  br label %20526

20509:                                            ; preds = %20487, %20480
  %20510 = load i32, ptr %444, align 4, !tbaa !5
  %20511 = call ptr @__errno_location() #12
  store i32 %20510, ptr %20511, align 4, !tbaa !5
  %20512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20513 = load i32, ptr @test_count, align 4, !tbaa !5
  %20514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20515 = load i32, ptr %20514, align 4, !tbaa !5
  %20516 = call ptr @s2n_strerror(i32 noundef %20515, ptr noundef @.str.4)
  %20517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20518 = load i32, ptr %20517, align 4, !tbaa !5
  %20519 = call ptr @s2n_strerror_debug(i32 noundef %20518, ptr noundef @.str.4)
  %20520 = call ptr @__errno_location() #12
  %20521 = load i32, ptr %20520, align 4, !tbaa !5
  %20522 = call ptr @strerror(i32 noundef %20521) #11
  %20523 = call ptr @__errno_location() #12
  %20524 = load i32, ptr %20523, align 4, !tbaa !5
  %20525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20512, ptr noundef @.str.5, i32 noundef %20513, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 903, ptr noundef %20516, ptr noundef %20519, ptr noundef %20522, i32 noundef %20524) #11
  br label %20526

20526:                                            ; preds = %20509, %20492
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #11
  br label %20527

20527:                                            ; preds = %20526
  br label %20528

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

20529:                                            ; No predecessors!
  br label %20530

20530:                                            ; preds = %20529
  br label %20531

20531:                                            ; preds = %20530, %20469
  br label %20532

20532:                                            ; preds = %20531
  br label %20533

20533:                                            ; preds = %20532
  br label %20534

20534:                                            ; preds = %20533
  %20535 = load i32, ptr @test_count, align 4, !tbaa !5
  %20536 = add nsw i32 %20535, 1
  store i32 %20536, ptr @test_count, align 4, !tbaa !5
  %20537 = load ptr, ptr %433, align 8, !tbaa !9
  %20538 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %20537, ptr noundef %436)
  %20539 = icmp eq i32 %20538, -1
  br i1 %20539, label %20540, label %20593

20540:                                            ; preds = %20534
  br label %20541

20541:                                            ; preds = %20540
  br label %20542

20542:                                            ; preds = %20541
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #11
  %20543 = call ptr @__errno_location() #12
  %20544 = load i32, ptr %20543, align 4, !tbaa !5
  store i32 %20544, ptr %445, align 4, !tbaa !5
  %20545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20546 = call i32 @s2n_print_stacktrace(ptr noundef %20545)
  %20547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20548 = trunc i8 %20547 to i1
  br i1 %20548, label %20549, label %20571

20549:                                            ; preds = %20542
  %20550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20551 = call i32 @fileno(ptr noundef %20550) #11
  %20552 = call i32 @isatty(i32 noundef %20551) #11
  %20553 = icmp ne i32 %20552, 0
  br i1 %20553, label %20554, label %20571

20554:                                            ; preds = %20549
  %20555 = load i32, ptr %445, align 4, !tbaa !5
  %20556 = call ptr @__errno_location() #12
  store i32 %20555, ptr %20556, align 4, !tbaa !5
  %20557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20558 = load i32, ptr @test_count, align 4, !tbaa !5
  %20559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20560 = load i32, ptr %20559, align 4, !tbaa !5
  %20561 = call ptr @s2n_strerror(i32 noundef %20560, ptr noundef @.str.4)
  %20562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20563 = load i32, ptr %20562, align 4, !tbaa !5
  %20564 = call ptr @s2n_strerror_debug(i32 noundef %20563, ptr noundef @.str.4)
  %20565 = call ptr @__errno_location() #12
  %20566 = load i32, ptr %20565, align 4, !tbaa !5
  %20567 = call ptr @strerror(i32 noundef %20566) #11
  %20568 = call ptr @__errno_location() #12
  %20569 = load i32, ptr %20568, align 4, !tbaa !5
  %20570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20557, ptr noundef @.str.2, i32 noundef %20558, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 904, ptr noundef %20561, ptr noundef %20564, ptr noundef %20567, i32 noundef %20569) #11
  br label %20588

20571:                                            ; preds = %20549, %20542
  %20572 = load i32, ptr %445, align 4, !tbaa !5
  %20573 = call ptr @__errno_location() #12
  store i32 %20572, ptr %20573, align 4, !tbaa !5
  %20574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20575 = load i32, ptr @test_count, align 4, !tbaa !5
  %20576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20577 = load i32, ptr %20576, align 4, !tbaa !5
  %20578 = call ptr @s2n_strerror(i32 noundef %20577, ptr noundef @.str.4)
  %20579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20580 = load i32, ptr %20579, align 4, !tbaa !5
  %20581 = call ptr @s2n_strerror_debug(i32 noundef %20580, ptr noundef @.str.4)
  %20582 = call ptr @__errno_location() #12
  %20583 = load i32, ptr %20582, align 4, !tbaa !5
  %20584 = call ptr @strerror(i32 noundef %20583) #11
  %20585 = call ptr @__errno_location() #12
  %20586 = load i32, ptr %20585, align 4, !tbaa !5
  %20587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20574, ptr noundef @.str.5, i32 noundef %20575, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 904, ptr noundef %20578, ptr noundef %20581, ptr noundef %20584, i32 noundef %20586) #11
  br label %20588

20588:                                            ; preds = %20571, %20554
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #11
  br label %20589

20589:                                            ; preds = %20588
  br label %20590

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

20591:                                            ; No predecessors!
  br label %20592

20592:                                            ; preds = %20591
  br label %20593

20593:                                            ; preds = %20592, %20534
  br label %20594

20594:                                            ; preds = %20593
  br label %20595

20595:                                            ; preds = %20594
  br label %20596

20596:                                            ; preds = %20595
  %20597 = load i32, ptr @test_count, align 4, !tbaa !5
  %20598 = add nsw i32 %20597, 1
  store i32 %20598, ptr @test_count, align 4, !tbaa !5
  %20599 = load i32, ptr %436, align 4, !tbaa !5
  %20600 = icmp eq i32 %20599, 0
  br i1 %20600, label %20654, label %20601

20601:                                            ; preds = %20596
  br label %20602

20602:                                            ; preds = %20601
  br label %20603

20603:                                            ; preds = %20602
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %20604 = call ptr @__errno_location() #12
  %20605 = load i32, ptr %20604, align 4, !tbaa !5
  store i32 %20605, ptr %446, align 4, !tbaa !5
  %20606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20607 = call i32 @s2n_print_stacktrace(ptr noundef %20606)
  %20608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20609 = trunc i8 %20608 to i1
  br i1 %20609, label %20610, label %20632

20610:                                            ; preds = %20603
  %20611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20612 = call i32 @fileno(ptr noundef %20611) #11
  %20613 = call i32 @isatty(i32 noundef %20612) #11
  %20614 = icmp ne i32 %20613, 0
  br i1 %20614, label %20615, label %20632

20615:                                            ; preds = %20610
  %20616 = load i32, ptr %446, align 4, !tbaa !5
  %20617 = call ptr @__errno_location() #12
  store i32 %20616, ptr %20617, align 4, !tbaa !5
  %20618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20619 = load i32, ptr @test_count, align 4, !tbaa !5
  %20620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20621 = load i32, ptr %20620, align 4, !tbaa !5
  %20622 = call ptr @s2n_strerror(i32 noundef %20621, ptr noundef @.str.4)
  %20623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20624 = load i32, ptr %20623, align 4, !tbaa !5
  %20625 = call ptr @s2n_strerror_debug(i32 noundef %20624, ptr noundef @.str.4)
  %20626 = call ptr @__errno_location() #12
  %20627 = load i32, ptr %20626, align 4, !tbaa !5
  %20628 = call ptr @strerror(i32 noundef %20627) #11
  %20629 = call ptr @__errno_location() #12
  %20630 = load i32, ptr %20629, align 4, !tbaa !5
  %20631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20618, ptr noundef @.str.2, i32 noundef %20619, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 905, ptr noundef %20622, ptr noundef %20625, ptr noundef %20628, i32 noundef %20630) #11
  br label %20649

20632:                                            ; preds = %20610, %20603
  %20633 = load i32, ptr %446, align 4, !tbaa !5
  %20634 = call ptr @__errno_location() #12
  store i32 %20633, ptr %20634, align 4, !tbaa !5
  %20635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20636 = load i32, ptr @test_count, align 4, !tbaa !5
  %20637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20638 = load i32, ptr %20637, align 4, !tbaa !5
  %20639 = call ptr @s2n_strerror(i32 noundef %20638, ptr noundef @.str.4)
  %20640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20641 = load i32, ptr %20640, align 4, !tbaa !5
  %20642 = call ptr @s2n_strerror_debug(i32 noundef %20641, ptr noundef @.str.4)
  %20643 = call ptr @__errno_location() #12
  %20644 = load i32, ptr %20643, align 4, !tbaa !5
  %20645 = call ptr @strerror(i32 noundef %20644) #11
  %20646 = call ptr @__errno_location() #12
  %20647 = load i32, ptr %20646, align 4, !tbaa !5
  %20648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20635, ptr noundef @.str.5, i32 noundef %20636, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 905, ptr noundef %20639, ptr noundef %20642, ptr noundef %20645, i32 noundef %20647) #11
  br label %20649

20649:                                            ; preds = %20632, %20615
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %20650

20650:                                            ; preds = %20649
  br label %20651

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

20652:                                            ; No predecessors!
  br label %20653

20653:                                            ; preds = %20652
  br label %20654

20654:                                            ; preds = %20653, %20596
  br label %20655

20655:                                            ; preds = %20654
  br label %20656

20656:                                            ; preds = %20655
  br label %20657

20657:                                            ; preds = %20656
  %20658 = load i32, ptr @test_count, align 4, !tbaa !5
  %20659 = add nsw i32 %20658, 1
  store i32 %20659, ptr @test_count, align 4, !tbaa !5
  %20660 = load ptr, ptr %433, align 8, !tbaa !9
  %20661 = getelementptr inbounds %struct.s2n_connection, ptr %20660, i32 0, i32 33
  %20662 = call i32 @s2n_psk_parameters_wipe(ptr noundef %20661)
  %20663 = getelementptr inbounds %struct.s2n_result, ptr %447, i32 0, i32 0
  store i32 %20662, ptr %20663, align 4
  %20664 = getelementptr inbounds %struct.s2n_result, ptr %447, i32 0, i32 0
  %20665 = load i32, ptr %20664, align 4
  %20666 = call zeroext i1 @s2n_result_is_ok(i32 %20665)
  br i1 %20666, label %20720, label %20667

20667:                                            ; preds = %20657
  br label %20668

20668:                                            ; preds = %20667
  br label %20669

20669:                                            ; preds = %20668
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %20670 = call ptr @__errno_location() #12
  %20671 = load i32, ptr %20670, align 4, !tbaa !5
  store i32 %20671, ptr %448, align 4, !tbaa !5
  %20672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20673 = call i32 @s2n_print_stacktrace(ptr noundef %20672)
  %20674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20675 = trunc i8 %20674 to i1
  br i1 %20675, label %20676, label %20698

20676:                                            ; preds = %20669
  %20677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20678 = call i32 @fileno(ptr noundef %20677) #11
  %20679 = call i32 @isatty(i32 noundef %20678) #11
  %20680 = icmp ne i32 %20679, 0
  br i1 %20680, label %20681, label %20698

20681:                                            ; preds = %20676
  %20682 = load i32, ptr %448, align 4, !tbaa !5
  %20683 = call ptr @__errno_location() #12
  store i32 %20682, ptr %20683, align 4, !tbaa !5
  %20684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20685 = load i32, ptr @test_count, align 4, !tbaa !5
  %20686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20687 = load i32, ptr %20686, align 4, !tbaa !5
  %20688 = call ptr @s2n_strerror(i32 noundef %20687, ptr noundef @.str.4)
  %20689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20690 = load i32, ptr %20689, align 4, !tbaa !5
  %20691 = call ptr @s2n_strerror_debug(i32 noundef %20690, ptr noundef @.str.4)
  %20692 = call ptr @__errno_location() #12
  %20693 = load i32, ptr %20692, align 4, !tbaa !5
  %20694 = call ptr @strerror(i32 noundef %20693) #11
  %20695 = call ptr @__errno_location() #12
  %20696 = load i32, ptr %20695, align 4, !tbaa !5
  %20697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20684, ptr noundef @.str.2, i32 noundef %20685, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 908, ptr noundef %20688, ptr noundef %20691, ptr noundef %20694, i32 noundef %20696) #11
  br label %20715

20698:                                            ; preds = %20676, %20669
  %20699 = load i32, ptr %448, align 4, !tbaa !5
  %20700 = call ptr @__errno_location() #12
  store i32 %20699, ptr %20700, align 4, !tbaa !5
  %20701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20702 = load i32, ptr @test_count, align 4, !tbaa !5
  %20703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20704 = load i32, ptr %20703, align 4, !tbaa !5
  %20705 = call ptr @s2n_strerror(i32 noundef %20704, ptr noundef @.str.4)
  %20706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20707 = load i32, ptr %20706, align 4, !tbaa !5
  %20708 = call ptr @s2n_strerror_debug(i32 noundef %20707, ptr noundef @.str.4)
  %20709 = call ptr @__errno_location() #12
  %20710 = load i32, ptr %20709, align 4, !tbaa !5
  %20711 = call ptr @strerror(i32 noundef %20710) #11
  %20712 = call ptr @__errno_location() #12
  %20713 = load i32, ptr %20712, align 4, !tbaa !5
  %20714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20701, ptr noundef @.str.5, i32 noundef %20702, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 908, ptr noundef %20705, ptr noundef %20708, ptr noundef %20711, i32 noundef %20713) #11
  br label %20715

20715:                                            ; preds = %20698, %20681
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %20716

20716:                                            ; preds = %20715
  br label %20717

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

20718:                                            ; No predecessors!
  br label %20719

20719:                                            ; preds = %20718
  br label %20720

20720:                                            ; preds = %20719, %20657
  br label %20721

20721:                                            ; preds = %20720
  br label %20722

20722:                                            ; preds = %20721
  br label %20723

20723:                                            ; preds = %20722
  %20724 = load i32, ptr @test_count, align 4, !tbaa !5
  %20725 = add nsw i32 %20724, 1
  store i32 %20725, ptr @test_count, align 4, !tbaa !5
  %20726 = load ptr, ptr %433, align 8, !tbaa !9
  %20727 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %20726, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %20728 = getelementptr inbounds %struct.s2n_result, ptr %449, i32 0, i32 0
  store i32 %20727, ptr %20728, align 4
  %20729 = getelementptr inbounds %struct.s2n_result, ptr %449, i32 0, i32 0
  %20730 = load i32, ptr %20729, align 4
  %20731 = call zeroext i1 @s2n_result_is_ok(i32 %20730)
  br i1 %20731, label %20785, label %20732

20732:                                            ; preds = %20723
  br label %20733

20733:                                            ; preds = %20732
  br label %20734

20734:                                            ; preds = %20733
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #11
  %20735 = call ptr @__errno_location() #12
  %20736 = load i32, ptr %20735, align 4, !tbaa !5
  store i32 %20736, ptr %450, align 4, !tbaa !5
  %20737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20738 = call i32 @s2n_print_stacktrace(ptr noundef %20737)
  %20739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20740 = trunc i8 %20739 to i1
  br i1 %20740, label %20741, label %20763

20741:                                            ; preds = %20734
  %20742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20743 = call i32 @fileno(ptr noundef %20742) #11
  %20744 = call i32 @isatty(i32 noundef %20743) #11
  %20745 = icmp ne i32 %20744, 0
  br i1 %20745, label %20746, label %20763

20746:                                            ; preds = %20741
  %20747 = load i32, ptr %450, align 4, !tbaa !5
  %20748 = call ptr @__errno_location() #12
  store i32 %20747, ptr %20748, align 4, !tbaa !5
  %20749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20750 = load i32, ptr @test_count, align 4, !tbaa !5
  %20751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20752 = load i32, ptr %20751, align 4, !tbaa !5
  %20753 = call ptr @s2n_strerror(i32 noundef %20752, ptr noundef @.str.4)
  %20754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20755 = load i32, ptr %20754, align 4, !tbaa !5
  %20756 = call ptr @s2n_strerror_debug(i32 noundef %20755, ptr noundef @.str.4)
  %20757 = call ptr @__errno_location() #12
  %20758 = load i32, ptr %20757, align 4, !tbaa !5
  %20759 = call ptr @strerror(i32 noundef %20758) #11
  %20760 = call ptr @__errno_location() #12
  %20761 = load i32, ptr %20760, align 4, !tbaa !5
  %20762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20749, ptr noundef @.str.2, i32 noundef %20750, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 909, ptr noundef %20753, ptr noundef %20756, ptr noundef %20759, i32 noundef %20761) #11
  br label %20780

20763:                                            ; preds = %20741, %20734
  %20764 = load i32, ptr %450, align 4, !tbaa !5
  %20765 = call ptr @__errno_location() #12
  store i32 %20764, ptr %20765, align 4, !tbaa !5
  %20766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20767 = load i32, ptr @test_count, align 4, !tbaa !5
  %20768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20769 = load i32, ptr %20768, align 4, !tbaa !5
  %20770 = call ptr @s2n_strerror(i32 noundef %20769, ptr noundef @.str.4)
  %20771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20772 = load i32, ptr %20771, align 4, !tbaa !5
  %20773 = call ptr @s2n_strerror_debug(i32 noundef %20772, ptr noundef @.str.4)
  %20774 = call ptr @__errno_location() #12
  %20775 = load i32, ptr %20774, align 4, !tbaa !5
  %20776 = call ptr @strerror(i32 noundef %20775) #11
  %20777 = call ptr @__errno_location() #12
  %20778 = load i32, ptr %20777, align 4, !tbaa !5
  %20779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20766, ptr noundef @.str.5, i32 noundef %20767, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 909, ptr noundef %20770, ptr noundef %20773, ptr noundef %20776, i32 noundef %20778) #11
  br label %20780

20780:                                            ; preds = %20763, %20746
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #11
  br label %20781

20781:                                            ; preds = %20780
  br label %20782

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

20783:                                            ; No predecessors!
  br label %20784

20784:                                            ; preds = %20783
  br label %20785

20785:                                            ; preds = %20784, %20723
  br label %20786

20786:                                            ; preds = %20785
  br label %20787

20787:                                            ; preds = %20786
  br label %20788

20788:                                            ; preds = %20787
  %20789 = load i32, ptr @test_count, align 4, !tbaa !5
  %20790 = add nsw i32 %20789, 1
  store i32 %20790, ptr @test_count, align 4, !tbaa !5
  %20791 = load ptr, ptr %433, align 8, !tbaa !9
  %20792 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %20791, ptr noundef %436)
  %20793 = icmp eq i32 %20792, -1
  br i1 %20793, label %20794, label %20847

20794:                                            ; preds = %20788
  br label %20795

20795:                                            ; preds = %20794
  br label %20796

20796:                                            ; preds = %20795
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %20797 = call ptr @__errno_location() #12
  %20798 = load i32, ptr %20797, align 4, !tbaa !5
  store i32 %20798, ptr %451, align 4, !tbaa !5
  %20799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20800 = call i32 @s2n_print_stacktrace(ptr noundef %20799)
  %20801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20802 = trunc i8 %20801 to i1
  br i1 %20802, label %20803, label %20825

20803:                                            ; preds = %20796
  %20804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20805 = call i32 @fileno(ptr noundef %20804) #11
  %20806 = call i32 @isatty(i32 noundef %20805) #11
  %20807 = icmp ne i32 %20806, 0
  br i1 %20807, label %20808, label %20825

20808:                                            ; preds = %20803
  %20809 = load i32, ptr %451, align 4, !tbaa !5
  %20810 = call ptr @__errno_location() #12
  store i32 %20809, ptr %20810, align 4, !tbaa !5
  %20811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20812 = load i32, ptr @test_count, align 4, !tbaa !5
  %20813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20814 = load i32, ptr %20813, align 4, !tbaa !5
  %20815 = call ptr @s2n_strerror(i32 noundef %20814, ptr noundef @.str.4)
  %20816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20817 = load i32, ptr %20816, align 4, !tbaa !5
  %20818 = call ptr @s2n_strerror_debug(i32 noundef %20817, ptr noundef @.str.4)
  %20819 = call ptr @__errno_location() #12
  %20820 = load i32, ptr %20819, align 4, !tbaa !5
  %20821 = call ptr @strerror(i32 noundef %20820) #11
  %20822 = call ptr @__errno_location() #12
  %20823 = load i32, ptr %20822, align 4, !tbaa !5
  %20824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20811, ptr noundef @.str.2, i32 noundef %20812, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 910, ptr noundef %20815, ptr noundef %20818, ptr noundef %20821, i32 noundef %20823) #11
  br label %20842

20825:                                            ; preds = %20803, %20796
  %20826 = load i32, ptr %451, align 4, !tbaa !5
  %20827 = call ptr @__errno_location() #12
  store i32 %20826, ptr %20827, align 4, !tbaa !5
  %20828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20829 = load i32, ptr @test_count, align 4, !tbaa !5
  %20830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20831 = load i32, ptr %20830, align 4, !tbaa !5
  %20832 = call ptr @s2n_strerror(i32 noundef %20831, ptr noundef @.str.4)
  %20833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20834 = load i32, ptr %20833, align 4, !tbaa !5
  %20835 = call ptr @s2n_strerror_debug(i32 noundef %20834, ptr noundef @.str.4)
  %20836 = call ptr @__errno_location() #12
  %20837 = load i32, ptr %20836, align 4, !tbaa !5
  %20838 = call ptr @strerror(i32 noundef %20837) #11
  %20839 = call ptr @__errno_location() #12
  %20840 = load i32, ptr %20839, align 4, !tbaa !5
  %20841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20828, ptr noundef @.str.5, i32 noundef %20829, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 910, ptr noundef %20832, ptr noundef %20835, ptr noundef %20838, i32 noundef %20840) #11
  br label %20842

20842:                                            ; preds = %20825, %20808
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %20843

20843:                                            ; preds = %20842
  br label %20844

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

20845:                                            ; No predecessors!
  br label %20846

20846:                                            ; preds = %20845
  br label %20847

20847:                                            ; preds = %20846, %20788
  br label %20848

20848:                                            ; preds = %20847
  br label %20849

20849:                                            ; preds = %20848
  br label %20850

20850:                                            ; preds = %20849
  %20851 = load i32, ptr @test_count, align 4, !tbaa !5
  %20852 = add nsw i32 %20851, 1
  store i32 %20852, ptr @test_count, align 4, !tbaa !5
  %20853 = load i32, ptr %436, align 4, !tbaa !5
  %20854 = icmp eq i32 %20853, 10
  br i1 %20854, label %20908, label %20855

20855:                                            ; preds = %20850
  br label %20856

20856:                                            ; preds = %20855
  br label %20857

20857:                                            ; preds = %20856
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %20858 = call ptr @__errno_location() #12
  %20859 = load i32, ptr %20858, align 4, !tbaa !5
  store i32 %20859, ptr %452, align 4, !tbaa !5
  %20860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20861 = call i32 @s2n_print_stacktrace(ptr noundef %20860)
  %20862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20863 = trunc i8 %20862 to i1
  br i1 %20863, label %20864, label %20886

20864:                                            ; preds = %20857
  %20865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20866 = call i32 @fileno(ptr noundef %20865) #11
  %20867 = call i32 @isatty(i32 noundef %20866) #11
  %20868 = icmp ne i32 %20867, 0
  br i1 %20868, label %20869, label %20886

20869:                                            ; preds = %20864
  %20870 = load i32, ptr %452, align 4, !tbaa !5
  %20871 = call ptr @__errno_location() #12
  store i32 %20870, ptr %20871, align 4, !tbaa !5
  %20872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20873 = load i32, ptr @test_count, align 4, !tbaa !5
  %20874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20875 = load i32, ptr %20874, align 4, !tbaa !5
  %20876 = call ptr @s2n_strerror(i32 noundef %20875, ptr noundef @.str.4)
  %20877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20878 = load i32, ptr %20877, align 4, !tbaa !5
  %20879 = call ptr @s2n_strerror_debug(i32 noundef %20878, ptr noundef @.str.4)
  %20880 = call ptr @__errno_location() #12
  %20881 = load i32, ptr %20880, align 4, !tbaa !5
  %20882 = call ptr @strerror(i32 noundef %20881) #11
  %20883 = call ptr @__errno_location() #12
  %20884 = load i32, ptr %20883, align 4, !tbaa !5
  %20885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20872, ptr noundef @.str.2, i32 noundef %20873, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 911, ptr noundef %20876, ptr noundef %20879, ptr noundef %20882, i32 noundef %20884) #11
  br label %20903

20886:                                            ; preds = %20864, %20857
  %20887 = load i32, ptr %452, align 4, !tbaa !5
  %20888 = call ptr @__errno_location() #12
  store i32 %20887, ptr %20888, align 4, !tbaa !5
  %20889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20890 = load i32, ptr @test_count, align 4, !tbaa !5
  %20891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20892 = load i32, ptr %20891, align 4, !tbaa !5
  %20893 = call ptr @s2n_strerror(i32 noundef %20892, ptr noundef @.str.4)
  %20894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20895 = load i32, ptr %20894, align 4, !tbaa !5
  %20896 = call ptr @s2n_strerror_debug(i32 noundef %20895, ptr noundef @.str.4)
  %20897 = call ptr @__errno_location() #12
  %20898 = load i32, ptr %20897, align 4, !tbaa !5
  %20899 = call ptr @strerror(i32 noundef %20898) #11
  %20900 = call ptr @__errno_location() #12
  %20901 = load i32, ptr %20900, align 4, !tbaa !5
  %20902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20889, ptr noundef @.str.5, i32 noundef %20890, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 911, ptr noundef %20893, ptr noundef %20896, ptr noundef %20899, i32 noundef %20901) #11
  br label %20903

20903:                                            ; preds = %20886, %20869
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %20904

20904:                                            ; preds = %20903
  br label %20905

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

20906:                                            ; No predecessors!
  br label %20907

20907:                                            ; preds = %20906
  br label %20908

20908:                                            ; preds = %20907, %20850
  br label %20909

20909:                                            ; preds = %20908
  br label %20910

20910:                                            ; preds = %20909
  br label %20911

20911:                                            ; preds = %20910
  %20912 = load i32, ptr @test_count, align 4, !tbaa !5
  %20913 = add nsw i32 %20912, 1
  store i32 %20913, ptr @test_count, align 4, !tbaa !5
  %20914 = load ptr, ptr %433, align 8, !tbaa !9
  %20915 = call i32 @s2n_connection_free(ptr noundef %20914)
  %20916 = icmp eq i32 %20915, -1
  br i1 %20916, label %20917, label %20970

20917:                                            ; preds = %20911
  br label %20918

20918:                                            ; preds = %20917
  br label %20919

20919:                                            ; preds = %20918
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %20920 = call ptr @__errno_location() #12
  %20921 = load i32, ptr %20920, align 4, !tbaa !5
  store i32 %20921, ptr %453, align 4, !tbaa !5
  %20922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20923 = call i32 @s2n_print_stacktrace(ptr noundef %20922)
  %20924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20925 = trunc i8 %20924 to i1
  br i1 %20925, label %20926, label %20948

20926:                                            ; preds = %20919
  %20927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20928 = call i32 @fileno(ptr noundef %20927) #11
  %20929 = call i32 @isatty(i32 noundef %20928) #11
  %20930 = icmp ne i32 %20929, 0
  br i1 %20930, label %20931, label %20948

20931:                                            ; preds = %20926
  %20932 = load i32, ptr %453, align 4, !tbaa !5
  %20933 = call ptr @__errno_location() #12
  store i32 %20932, ptr %20933, align 4, !tbaa !5
  %20934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20935 = load i32, ptr @test_count, align 4, !tbaa !5
  %20936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20937 = load i32, ptr %20936, align 4, !tbaa !5
  %20938 = call ptr @s2n_strerror(i32 noundef %20937, ptr noundef @.str.4)
  %20939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20940 = load i32, ptr %20939, align 4, !tbaa !5
  %20941 = call ptr @s2n_strerror_debug(i32 noundef %20940, ptr noundef @.str.4)
  %20942 = call ptr @__errno_location() #12
  %20943 = load i32, ptr %20942, align 4, !tbaa !5
  %20944 = call ptr @strerror(i32 noundef %20943) #11
  %20945 = call ptr @__errno_location() #12
  %20946 = load i32, ptr %20945, align 4, !tbaa !5
  %20947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20934, ptr noundef @.str.2, i32 noundef %20935, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20938, ptr noundef %20941, ptr noundef %20944, i32 noundef %20946) #11
  br label %20965

20948:                                            ; preds = %20926, %20919
  %20949 = load i32, ptr %453, align 4, !tbaa !5
  %20950 = call ptr @__errno_location() #12
  store i32 %20949, ptr %20950, align 4, !tbaa !5
  %20951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20952 = load i32, ptr @test_count, align 4, !tbaa !5
  %20953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20954 = load i32, ptr %20953, align 4, !tbaa !5
  %20955 = call ptr @s2n_strerror(i32 noundef %20954, ptr noundef @.str.4)
  %20956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20957 = load i32, ptr %20956, align 4, !tbaa !5
  %20958 = call ptr @s2n_strerror_debug(i32 noundef %20957, ptr noundef @.str.4)
  %20959 = call ptr @__errno_location() #12
  %20960 = load i32, ptr %20959, align 4, !tbaa !5
  %20961 = call ptr @strerror(i32 noundef %20960) #11
  %20962 = call ptr @__errno_location() #12
  %20963 = load i32, ptr %20962, align 4, !tbaa !5
  %20964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20951, ptr noundef @.str.5, i32 noundef %20952, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20955, ptr noundef %20958, ptr noundef %20961, i32 noundef %20963) #11
  br label %20965

20965:                                            ; preds = %20948, %20931
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %20966

20966:                                            ; preds = %20965
  br label %20967

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

20968:                                            ; No predecessors!
  br label %20969

20969:                                            ; preds = %20968
  br label %20970

20970:                                            ; preds = %20969, %20911
  br label %20971

20971:                                            ; preds = %20970
  br label %20972

20972:                                            ; preds = %20971
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %433) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %454) #11
  %20973 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %20973, ptr %454, align 8, !tbaa !9
  br label %20974

20974:                                            ; preds = %20972
  %20975 = load i32, ptr @test_count, align 4, !tbaa !5
  %20976 = add nsw i32 %20975, 1
  store i32 %20976, ptr @test_count, align 4, !tbaa !5
  %20977 = load ptr, ptr %454, align 8, !tbaa !9
  %20978 = icmp eq ptr %20977, null
  br i1 %20978, label %20979, label %21032

20979:                                            ; preds = %20974
  br label %20980

20980:                                            ; preds = %20979
  br label %20981

20981:                                            ; preds = %20980
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #11
  %20982 = call ptr @__errno_location() #12
  %20983 = load i32, ptr %20982, align 4, !tbaa !5
  store i32 %20983, ptr %455, align 4, !tbaa !5
  %20984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20985 = call i32 @s2n_print_stacktrace(ptr noundef %20984)
  %20986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20987 = trunc i8 %20986 to i1
  br i1 %20987, label %20988, label %21010

20988:                                            ; preds = %20981
  %20989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20990 = call i32 @fileno(ptr noundef %20989) #11
  %20991 = call i32 @isatty(i32 noundef %20990) #11
  %20992 = icmp ne i32 %20991, 0
  br i1 %20992, label %20993, label %21010

20993:                                            ; preds = %20988
  %20994 = load i32, ptr %455, align 4, !tbaa !5
  %20995 = call ptr @__errno_location() #12
  store i32 %20994, ptr %20995, align 4, !tbaa !5
  %20996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20997 = load i32, ptr @test_count, align 4, !tbaa !5
  %20998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20999 = load i32, ptr %20998, align 4, !tbaa !5
  %21000 = call ptr @s2n_strerror(i32 noundef %20999, ptr noundef @.str.4)
  %21001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21002 = load i32, ptr %21001, align 4, !tbaa !5
  %21003 = call ptr @s2n_strerror_debug(i32 noundef %21002, ptr noundef @.str.4)
  %21004 = call ptr @__errno_location() #12
  %21005 = load i32, ptr %21004, align 4, !tbaa !5
  %21006 = call ptr @strerror(i32 noundef %21005) #11
  %21007 = call ptr @__errno_location() #12
  %21008 = load i32, ptr %21007, align 4, !tbaa !5
  %21009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20996, ptr noundef @.str.2, i32 noundef %20997, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 919, ptr noundef %21000, ptr noundef %21003, ptr noundef %21006, i32 noundef %21008) #11
  br label %21027

21010:                                            ; preds = %20988, %20981
  %21011 = load i32, ptr %455, align 4, !tbaa !5
  %21012 = call ptr @__errno_location() #12
  store i32 %21011, ptr %21012, align 4, !tbaa !5
  %21013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21014 = load i32, ptr @test_count, align 4, !tbaa !5
  %21015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21016 = load i32, ptr %21015, align 4, !tbaa !5
  %21017 = call ptr @s2n_strerror(i32 noundef %21016, ptr noundef @.str.4)
  %21018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21019 = load i32, ptr %21018, align 4, !tbaa !5
  %21020 = call ptr @s2n_strerror_debug(i32 noundef %21019, ptr noundef @.str.4)
  %21021 = call ptr @__errno_location() #12
  %21022 = load i32, ptr %21021, align 4, !tbaa !5
  %21023 = call ptr @strerror(i32 noundef %21022) #11
  %21024 = call ptr @__errno_location() #12
  %21025 = load i32, ptr %21024, align 4, !tbaa !5
  %21026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21013, ptr noundef @.str.5, i32 noundef %21014, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 919, ptr noundef %21017, ptr noundef %21020, ptr noundef %21023, i32 noundef %21025) #11
  br label %21027

21027:                                            ; preds = %21010, %20993
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #11
  br label %21028

21028:                                            ; preds = %21027
  br label %21029

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

21030:                                            ; No predecessors!
  br label %21031

21031:                                            ; preds = %21030
  br label %21032

21032:                                            ; preds = %21031, %20974
  br label %21033

21033:                                            ; preds = %21032
  br label %21034

21034:                                            ; preds = %21033
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #11
  store i32 10, ptr %456, align 4, !tbaa !5
  br label %21035

21035:                                            ; preds = %21034
  %21036 = load i32, ptr @test_count, align 4, !tbaa !5
  %21037 = add nsw i32 %21036, 1
  store i32 %21037, ptr @test_count, align 4, !tbaa !5
  %21038 = load ptr, ptr %454, align 8, !tbaa !9
  %21039 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef %21038, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %21040 = getelementptr inbounds %struct.s2n_result, ptr %457, i32 0, i32 0
  store i32 %21039, ptr %21040, align 4
  %21041 = getelementptr inbounds %struct.s2n_result, ptr %457, i32 0, i32 0
  %21042 = load i32, ptr %21041, align 4
  %21043 = call zeroext i1 @s2n_result_is_ok(i32 %21042)
  br i1 %21043, label %21097, label %21044

21044:                                            ; preds = %21035
  br label %21045

21045:                                            ; preds = %21044
  br label %21046

21046:                                            ; preds = %21045
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  %21047 = call ptr @__errno_location() #12
  %21048 = load i32, ptr %21047, align 4, !tbaa !5
  store i32 %21048, ptr %458, align 4, !tbaa !5
  %21049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21050 = call i32 @s2n_print_stacktrace(ptr noundef %21049)
  %21051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21052 = trunc i8 %21051 to i1
  br i1 %21052, label %21053, label %21075

21053:                                            ; preds = %21046
  %21054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21055 = call i32 @fileno(ptr noundef %21054) #11
  %21056 = call i32 @isatty(i32 noundef %21055) #11
  %21057 = icmp ne i32 %21056, 0
  br i1 %21057, label %21058, label %21075

21058:                                            ; preds = %21053
  %21059 = load i32, ptr %458, align 4, !tbaa !5
  %21060 = call ptr @__errno_location() #12
  store i32 %21059, ptr %21060, align 4, !tbaa !5
  %21061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21062 = load i32, ptr @test_count, align 4, !tbaa !5
  %21063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21064 = load i32, ptr %21063, align 4, !tbaa !5
  %21065 = call ptr @s2n_strerror(i32 noundef %21064, ptr noundef @.str.4)
  %21066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21067 = load i32, ptr %21066, align 4, !tbaa !5
  %21068 = call ptr @s2n_strerror_debug(i32 noundef %21067, ptr noundef @.str.4)
  %21069 = call ptr @__errno_location() #12
  %21070 = load i32, ptr %21069, align 4, !tbaa !5
  %21071 = call ptr @strerror(i32 noundef %21070) #11
  %21072 = call ptr @__errno_location() #12
  %21073 = load i32, ptr %21072, align 4, !tbaa !5
  %21074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21061, ptr noundef @.str.2, i32 noundef %21062, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 922, ptr noundef %21065, ptr noundef %21068, ptr noundef %21071, i32 noundef %21073) #11
  br label %21092

21075:                                            ; preds = %21053, %21046
  %21076 = load i32, ptr %458, align 4, !tbaa !5
  %21077 = call ptr @__errno_location() #12
  store i32 %21076, ptr %21077, align 4, !tbaa !5
  %21078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21079 = load i32, ptr @test_count, align 4, !tbaa !5
  %21080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21081 = load i32, ptr %21080, align 4, !tbaa !5
  %21082 = call ptr @s2n_strerror(i32 noundef %21081, ptr noundef @.str.4)
  %21083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21084 = load i32, ptr %21083, align 4, !tbaa !5
  %21085 = call ptr @s2n_strerror_debug(i32 noundef %21084, ptr noundef @.str.4)
  %21086 = call ptr @__errno_location() #12
  %21087 = load i32, ptr %21086, align 4, !tbaa !5
  %21088 = call ptr @strerror(i32 noundef %21087) #11
  %21089 = call ptr @__errno_location() #12
  %21090 = load i32, ptr %21089, align 4, !tbaa !5
  %21091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21078, ptr noundef @.str.5, i32 noundef %21079, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 922, ptr noundef %21082, ptr noundef %21085, ptr noundef %21088, i32 noundef %21090) #11
  br label %21092

21092:                                            ; preds = %21075, %21058
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  br label %21093

21093:                                            ; preds = %21092
  br label %21094

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

21095:                                            ; No predecessors!
  br label %21096

21096:                                            ; preds = %21095
  br label %21097

21097:                                            ; preds = %21096, %21035
  br label %21098

21098:                                            ; preds = %21097
  br label %21099

21099:                                            ; preds = %21098
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #11
  store i32 0, ptr %459, align 4, !tbaa !5
  br label %21100

21100:                                            ; preds = %21099
  %21101 = load i32, ptr @test_count, align 4, !tbaa !5
  %21102 = add nsw i32 %21101, 1
  store i32 %21102, ptr @test_count, align 4, !tbaa !5
  %21103 = load ptr, ptr %454, align 8, !tbaa !9
  %21104 = getelementptr inbounds %struct.s2n_connection, ptr %21103, i32 0, i32 33
  %21105 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %21104, i32 0, i32 4
  %21106 = load ptr, ptr %21105, align 8, !tbaa !70
  %21107 = getelementptr inbounds %struct.s2n_psk, ptr %21106, i32 0, i32 0
  %21108 = load i32, ptr %21107, align 8, !tbaa !79
  %21109 = icmp eq i32 %21108, 1
  br i1 %21109, label %21163, label %21110

21110:                                            ; preds = %21100
  br label %21111

21111:                                            ; preds = %21110
  br label %21112

21112:                                            ; preds = %21111
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %21113 = call ptr @__errno_location() #12
  %21114 = load i32, ptr %21113, align 4, !tbaa !5
  store i32 %21114, ptr %460, align 4, !tbaa !5
  %21115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21116 = call i32 @s2n_print_stacktrace(ptr noundef %21115)
  %21117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21118 = trunc i8 %21117 to i1
  br i1 %21118, label %21119, label %21141

21119:                                            ; preds = %21112
  %21120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21121 = call i32 @fileno(ptr noundef %21120) #11
  %21122 = call i32 @isatty(i32 noundef %21121) #11
  %21123 = icmp ne i32 %21122, 0
  br i1 %21123, label %21124, label %21141

21124:                                            ; preds = %21119
  %21125 = load i32, ptr %460, align 4, !tbaa !5
  %21126 = call ptr @__errno_location() #12
  store i32 %21125, ptr %21126, align 4, !tbaa !5
  %21127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21128 = load i32, ptr @test_count, align 4, !tbaa !5
  %21129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21130 = load i32, ptr %21129, align 4, !tbaa !5
  %21131 = call ptr @s2n_strerror(i32 noundef %21130, ptr noundef @.str.4)
  %21132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21133 = load i32, ptr %21132, align 4, !tbaa !5
  %21134 = call ptr @s2n_strerror_debug(i32 noundef %21133, ptr noundef @.str.4)
  %21135 = call ptr @__errno_location() #12
  %21136 = load i32, ptr %21135, align 4, !tbaa !5
  %21137 = call ptr @strerror(i32 noundef %21136) #11
  %21138 = call ptr @__errno_location() #12
  %21139 = load i32, ptr %21138, align 4, !tbaa !5
  %21140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21127, ptr noundef @.str.2, i32 noundef %21128, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 927, ptr noundef %21131, ptr noundef %21134, ptr noundef %21137, i32 noundef %21139) #11
  br label %21158

21141:                                            ; preds = %21119, %21112
  %21142 = load i32, ptr %460, align 4, !tbaa !5
  %21143 = call ptr @__errno_location() #12
  store i32 %21142, ptr %21143, align 4, !tbaa !5
  %21144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21145 = load i32, ptr @test_count, align 4, !tbaa !5
  %21146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21147 = load i32, ptr %21146, align 4, !tbaa !5
  %21148 = call ptr @s2n_strerror(i32 noundef %21147, ptr noundef @.str.4)
  %21149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21150 = load i32, ptr %21149, align 4, !tbaa !5
  %21151 = call ptr @s2n_strerror_debug(i32 noundef %21150, ptr noundef @.str.4)
  %21152 = call ptr @__errno_location() #12
  %21153 = load i32, ptr %21152, align 4, !tbaa !5
  %21154 = call ptr @strerror(i32 noundef %21153) #11
  %21155 = call ptr @__errno_location() #12
  %21156 = load i32, ptr %21155, align 4, !tbaa !5
  %21157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21144, ptr noundef @.str.5, i32 noundef %21145, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 927, ptr noundef %21148, ptr noundef %21151, ptr noundef %21154, i32 noundef %21156) #11
  br label %21158

21158:                                            ; preds = %21141, %21124
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %21159

21159:                                            ; preds = %21158
  br label %21160

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

21161:                                            ; No predecessors!
  br label %21162

21162:                                            ; preds = %21161
  br label %21163

21163:                                            ; preds = %21162, %21100
  br label %21164

21164:                                            ; preds = %21163
  br label %21165

21165:                                            ; preds = %21164
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  store i32 9, ptr %461, align 4, !tbaa !5
  br label %21166

21166:                                            ; preds = %21165
  %21167 = load i32, ptr @test_count, align 4, !tbaa !5
  %21168 = add nsw i32 %21167, 1
  store i32 %21168, ptr @test_count, align 4, !tbaa !5
  %21169 = load ptr, ptr %454, align 8, !tbaa !9
  %21170 = load i32, ptr %461, align 4, !tbaa !5
  %21171 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %21169, i32 noundef %21170)
  %21172 = icmp eq i32 %21171, -1
  br i1 %21172, label %21173, label %21226

21173:                                            ; preds = %21166
  br label %21174

21174:                                            ; preds = %21173
  br label %21175

21175:                                            ; preds = %21174
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %21176 = call ptr @__errno_location() #12
  %21177 = load i32, ptr %21176, align 4, !tbaa !5
  store i32 %21177, ptr %462, align 4, !tbaa !5
  %21178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21179 = call i32 @s2n_print_stacktrace(ptr noundef %21178)
  %21180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21181 = trunc i8 %21180 to i1
  br i1 %21181, label %21182, label %21204

21182:                                            ; preds = %21175
  %21183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21184 = call i32 @fileno(ptr noundef %21183) #11
  %21185 = call i32 @isatty(i32 noundef %21184) #11
  %21186 = icmp ne i32 %21185, 0
  br i1 %21186, label %21187, label %21204

21187:                                            ; preds = %21182
  %21188 = load i32, ptr %462, align 4, !tbaa !5
  %21189 = call ptr @__errno_location() #12
  store i32 %21188, ptr %21189, align 4, !tbaa !5
  %21190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21191 = load i32, ptr @test_count, align 4, !tbaa !5
  %21192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21193 = load i32, ptr %21192, align 4, !tbaa !5
  %21194 = call ptr @s2n_strerror(i32 noundef %21193, ptr noundef @.str.4)
  %21195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21196 = load i32, ptr %21195, align 4, !tbaa !5
  %21197 = call ptr @s2n_strerror_debug(i32 noundef %21196, ptr noundef @.str.4)
  %21198 = call ptr @__errno_location() #12
  %21199 = load i32, ptr %21198, align 4, !tbaa !5
  %21200 = call ptr @strerror(i32 noundef %21199) #11
  %21201 = call ptr @__errno_location() #12
  %21202 = load i32, ptr %21201, align 4, !tbaa !5
  %21203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21190, ptr noundef @.str.2, i32 noundef %21191, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 929, ptr noundef %21194, ptr noundef %21197, ptr noundef %21200, i32 noundef %21202) #11
  br label %21221

21204:                                            ; preds = %21182, %21175
  %21205 = load i32, ptr %462, align 4, !tbaa !5
  %21206 = call ptr @__errno_location() #12
  store i32 %21205, ptr %21206, align 4, !tbaa !5
  %21207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21208 = load i32, ptr @test_count, align 4, !tbaa !5
  %21209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21210 = load i32, ptr %21209, align 4, !tbaa !5
  %21211 = call ptr @s2n_strerror(i32 noundef %21210, ptr noundef @.str.4)
  %21212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21213 = load i32, ptr %21212, align 4, !tbaa !5
  %21214 = call ptr @s2n_strerror_debug(i32 noundef %21213, ptr noundef @.str.4)
  %21215 = call ptr @__errno_location() #12
  %21216 = load i32, ptr %21215, align 4, !tbaa !5
  %21217 = call ptr @strerror(i32 noundef %21216) #11
  %21218 = call ptr @__errno_location() #12
  %21219 = load i32, ptr %21218, align 4, !tbaa !5
  %21220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21207, ptr noundef @.str.5, i32 noundef %21208, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 929, ptr noundef %21211, ptr noundef %21214, ptr noundef %21217, i32 noundef %21219) #11
  br label %21221

21221:                                            ; preds = %21204, %21187
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %21222

21222:                                            ; preds = %21221
  br label %21223

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

21224:                                            ; No predecessors!
  br label %21225

21225:                                            ; preds = %21224
  br label %21226

21226:                                            ; preds = %21225, %21166
  br label %21227

21227:                                            ; preds = %21226
  br label %21228

21228:                                            ; preds = %21227
  br label %21229

21229:                                            ; preds = %21228
  %21230 = load i32, ptr @test_count, align 4, !tbaa !5
  %21231 = add nsw i32 %21230, 1
  store i32 %21231, ptr @test_count, align 4, !tbaa !5
  %21232 = load ptr, ptr %454, align 8, !tbaa !9
  %21233 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %21232, ptr noundef %459)
  %21234 = icmp eq i32 %21233, -1
  br i1 %21234, label %21235, label %21288

21235:                                            ; preds = %21229
  br label %21236

21236:                                            ; preds = %21235
  br label %21237

21237:                                            ; preds = %21236
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %21238 = call ptr @__errno_location() #12
  %21239 = load i32, ptr %21238, align 4, !tbaa !5
  store i32 %21239, ptr %463, align 4, !tbaa !5
  %21240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21241 = call i32 @s2n_print_stacktrace(ptr noundef %21240)
  %21242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21243 = trunc i8 %21242 to i1
  br i1 %21243, label %21244, label %21266

21244:                                            ; preds = %21237
  %21245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21246 = call i32 @fileno(ptr noundef %21245) #11
  %21247 = call i32 @isatty(i32 noundef %21246) #11
  %21248 = icmp ne i32 %21247, 0
  br i1 %21248, label %21249, label %21266

21249:                                            ; preds = %21244
  %21250 = load i32, ptr %463, align 4, !tbaa !5
  %21251 = call ptr @__errno_location() #12
  store i32 %21250, ptr %21251, align 4, !tbaa !5
  %21252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21253 = load i32, ptr @test_count, align 4, !tbaa !5
  %21254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21255 = load i32, ptr %21254, align 4, !tbaa !5
  %21256 = call ptr @s2n_strerror(i32 noundef %21255, ptr noundef @.str.4)
  %21257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21258 = load i32, ptr %21257, align 4, !tbaa !5
  %21259 = call ptr @s2n_strerror_debug(i32 noundef %21258, ptr noundef @.str.4)
  %21260 = call ptr @__errno_location() #12
  %21261 = load i32, ptr %21260, align 4, !tbaa !5
  %21262 = call ptr @strerror(i32 noundef %21261) #11
  %21263 = call ptr @__errno_location() #12
  %21264 = load i32, ptr %21263, align 4, !tbaa !5
  %21265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21252, ptr noundef @.str.2, i32 noundef %21253, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 930, ptr noundef %21256, ptr noundef %21259, ptr noundef %21262, i32 noundef %21264) #11
  br label %21283

21266:                                            ; preds = %21244, %21237
  %21267 = load i32, ptr %463, align 4, !tbaa !5
  %21268 = call ptr @__errno_location() #12
  store i32 %21267, ptr %21268, align 4, !tbaa !5
  %21269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21270 = load i32, ptr @test_count, align 4, !tbaa !5
  %21271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21272 = load i32, ptr %21271, align 4, !tbaa !5
  %21273 = call ptr @s2n_strerror(i32 noundef %21272, ptr noundef @.str.4)
  %21274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21275 = load i32, ptr %21274, align 4, !tbaa !5
  %21276 = call ptr @s2n_strerror_debug(i32 noundef %21275, ptr noundef @.str.4)
  %21277 = call ptr @__errno_location() #12
  %21278 = load i32, ptr %21277, align 4, !tbaa !5
  %21279 = call ptr @strerror(i32 noundef %21278) #11
  %21280 = call ptr @__errno_location() #12
  %21281 = load i32, ptr %21280, align 4, !tbaa !5
  %21282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21269, ptr noundef @.str.5, i32 noundef %21270, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 930, ptr noundef %21273, ptr noundef %21276, ptr noundef %21279, i32 noundef %21281) #11
  br label %21283

21283:                                            ; preds = %21266, %21249
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %21284

21284:                                            ; preds = %21283
  br label %21285

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

21286:                                            ; No predecessors!
  br label %21287

21287:                                            ; preds = %21286
  br label %21288

21288:                                            ; preds = %21287, %21229
  br label %21289

21289:                                            ; preds = %21288
  br label %21290

21290:                                            ; preds = %21289
  br label %21291

21291:                                            ; preds = %21290
  %21292 = load i32, ptr @test_count, align 4, !tbaa !5
  %21293 = add nsw i32 %21292, 1
  store i32 %21293, ptr @test_count, align 4, !tbaa !5
  %21294 = load i32, ptr %459, align 4, !tbaa !5
  %21295 = icmp eq i32 %21294, 10
  br i1 %21295, label %21349, label %21296

21296:                                            ; preds = %21291
  br label %21297

21297:                                            ; preds = %21296
  br label %21298

21298:                                            ; preds = %21297
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #11
  %21299 = call ptr @__errno_location() #12
  %21300 = load i32, ptr %21299, align 4, !tbaa !5
  store i32 %21300, ptr %464, align 4, !tbaa !5
  %21301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21302 = call i32 @s2n_print_stacktrace(ptr noundef %21301)
  %21303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21304 = trunc i8 %21303 to i1
  br i1 %21304, label %21305, label %21327

21305:                                            ; preds = %21298
  %21306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21307 = call i32 @fileno(ptr noundef %21306) #11
  %21308 = call i32 @isatty(i32 noundef %21307) #11
  %21309 = icmp ne i32 %21308, 0
  br i1 %21309, label %21310, label %21327

21310:                                            ; preds = %21305
  %21311 = load i32, ptr %464, align 4, !tbaa !5
  %21312 = call ptr @__errno_location() #12
  store i32 %21311, ptr %21312, align 4, !tbaa !5
  %21313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21314 = load i32, ptr @test_count, align 4, !tbaa !5
  %21315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21316 = load i32, ptr %21315, align 4, !tbaa !5
  %21317 = call ptr @s2n_strerror(i32 noundef %21316, ptr noundef @.str.4)
  %21318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21319 = load i32, ptr %21318, align 4, !tbaa !5
  %21320 = call ptr @s2n_strerror_debug(i32 noundef %21319, ptr noundef @.str.4)
  %21321 = call ptr @__errno_location() #12
  %21322 = load i32, ptr %21321, align 4, !tbaa !5
  %21323 = call ptr @strerror(i32 noundef %21322) #11
  %21324 = call ptr @__errno_location() #12
  %21325 = load i32, ptr %21324, align 4, !tbaa !5
  %21326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21313, ptr noundef @.str.2, i32 noundef %21314, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 931, ptr noundef %21317, ptr noundef %21320, ptr noundef %21323, i32 noundef %21325) #11
  br label %21344

21327:                                            ; preds = %21305, %21298
  %21328 = load i32, ptr %464, align 4, !tbaa !5
  %21329 = call ptr @__errno_location() #12
  store i32 %21328, ptr %21329, align 4, !tbaa !5
  %21330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21331 = load i32, ptr @test_count, align 4, !tbaa !5
  %21332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21333 = load i32, ptr %21332, align 4, !tbaa !5
  %21334 = call ptr @s2n_strerror(i32 noundef %21333, ptr noundef @.str.4)
  %21335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21336 = load i32, ptr %21335, align 4, !tbaa !5
  %21337 = call ptr @s2n_strerror_debug(i32 noundef %21336, ptr noundef @.str.4)
  %21338 = call ptr @__errno_location() #12
  %21339 = load i32, ptr %21338, align 4, !tbaa !5
  %21340 = call ptr @strerror(i32 noundef %21339) #11
  %21341 = call ptr @__errno_location() #12
  %21342 = load i32, ptr %21341, align 4, !tbaa !5
  %21343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21330, ptr noundef @.str.5, i32 noundef %21331, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 931, ptr noundef %21334, ptr noundef %21337, ptr noundef %21340, i32 noundef %21342) #11
  br label %21344

21344:                                            ; preds = %21327, %21310
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #11
  br label %21345

21345:                                            ; preds = %21344
  br label %21346

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

21347:                                            ; No predecessors!
  br label %21348

21348:                                            ; preds = %21347
  br label %21349

21349:                                            ; preds = %21348, %21291
  br label %21350

21350:                                            ; preds = %21349
  br label %21351

21351:                                            ; preds = %21350
  %21352 = load ptr, ptr %454, align 8, !tbaa !9
  %21353 = getelementptr inbounds %struct.s2n_connection, ptr %21352, i32 0, i32 33
  %21354 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %21353, i32 0, i32 4
  %21355 = load ptr, ptr %21354, align 8, !tbaa !70
  %21356 = getelementptr inbounds %struct.s2n_psk, ptr %21355, i32 0, i32 0
  store i32 0, ptr %21356, align 8, !tbaa !79
  store i32 11, ptr %461, align 4, !tbaa !5
  br label %21357

21357:                                            ; preds = %21351
  %21358 = load i32, ptr @test_count, align 4, !tbaa !5
  %21359 = add nsw i32 %21358, 1
  store i32 %21359, ptr @test_count, align 4, !tbaa !5
  %21360 = load ptr, ptr %454, align 8, !tbaa !9
  %21361 = load i32, ptr %461, align 4, !tbaa !5
  %21362 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %21360, i32 noundef %21361)
  %21363 = icmp eq i32 %21362, -1
  br i1 %21363, label %21364, label %21417

21364:                                            ; preds = %21357
  br label %21365

21365:                                            ; preds = %21364
  br label %21366

21366:                                            ; preds = %21365
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %21367 = call ptr @__errno_location() #12
  %21368 = load i32, ptr %21367, align 4, !tbaa !5
  store i32 %21368, ptr %465, align 4, !tbaa !5
  %21369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21370 = call i32 @s2n_print_stacktrace(ptr noundef %21369)
  %21371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21372 = trunc i8 %21371 to i1
  br i1 %21372, label %21373, label %21395

21373:                                            ; preds = %21366
  %21374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21375 = call i32 @fileno(ptr noundef %21374) #11
  %21376 = call i32 @isatty(i32 noundef %21375) #11
  %21377 = icmp ne i32 %21376, 0
  br i1 %21377, label %21378, label %21395

21378:                                            ; preds = %21373
  %21379 = load i32, ptr %465, align 4, !tbaa !5
  %21380 = call ptr @__errno_location() #12
  store i32 %21379, ptr %21380, align 4, !tbaa !5
  %21381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21382 = load i32, ptr @test_count, align 4, !tbaa !5
  %21383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21384 = load i32, ptr %21383, align 4, !tbaa !5
  %21385 = call ptr @s2n_strerror(i32 noundef %21384, ptr noundef @.str.4)
  %21386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21387 = load i32, ptr %21386, align 4, !tbaa !5
  %21388 = call ptr @s2n_strerror_debug(i32 noundef %21387, ptr noundef @.str.4)
  %21389 = call ptr @__errno_location() #12
  %21390 = load i32, ptr %21389, align 4, !tbaa !5
  %21391 = call ptr @strerror(i32 noundef %21390) #11
  %21392 = call ptr @__errno_location() #12
  %21393 = load i32, ptr %21392, align 4, !tbaa !5
  %21394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21381, ptr noundef @.str.2, i32 noundef %21382, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 937, ptr noundef %21385, ptr noundef %21388, ptr noundef %21391, i32 noundef %21393) #11
  br label %21412

21395:                                            ; preds = %21373, %21366
  %21396 = load i32, ptr %465, align 4, !tbaa !5
  %21397 = call ptr @__errno_location() #12
  store i32 %21396, ptr %21397, align 4, !tbaa !5
  %21398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21399 = load i32, ptr @test_count, align 4, !tbaa !5
  %21400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21401 = load i32, ptr %21400, align 4, !tbaa !5
  %21402 = call ptr @s2n_strerror(i32 noundef %21401, ptr noundef @.str.4)
  %21403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21404 = load i32, ptr %21403, align 4, !tbaa !5
  %21405 = call ptr @s2n_strerror_debug(i32 noundef %21404, ptr noundef @.str.4)
  %21406 = call ptr @__errno_location() #12
  %21407 = load i32, ptr %21406, align 4, !tbaa !5
  %21408 = call ptr @strerror(i32 noundef %21407) #11
  %21409 = call ptr @__errno_location() #12
  %21410 = load i32, ptr %21409, align 4, !tbaa !5
  %21411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21398, ptr noundef @.str.5, i32 noundef %21399, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 937, ptr noundef %21402, ptr noundef %21405, ptr noundef %21408, i32 noundef %21410) #11
  br label %21412

21412:                                            ; preds = %21395, %21378
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %21413

21413:                                            ; preds = %21412
  br label %21414

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

21415:                                            ; No predecessors!
  br label %21416

21416:                                            ; preds = %21415
  br label %21417

21417:                                            ; preds = %21416, %21357
  br label %21418

21418:                                            ; preds = %21417
  br label %21419

21419:                                            ; preds = %21418
  br label %21420

21420:                                            ; preds = %21419
  %21421 = load i32, ptr @test_count, align 4, !tbaa !5
  %21422 = add nsw i32 %21421, 1
  store i32 %21422, ptr @test_count, align 4, !tbaa !5
  %21423 = load ptr, ptr %454, align 8, !tbaa !9
  %21424 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %21423, ptr noundef %459)
  %21425 = icmp eq i32 %21424, -1
  br i1 %21425, label %21426, label %21479

21426:                                            ; preds = %21420
  br label %21427

21427:                                            ; preds = %21426
  br label %21428

21428:                                            ; preds = %21427
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %21429 = call ptr @__errno_location() #12
  %21430 = load i32, ptr %21429, align 4, !tbaa !5
  store i32 %21430, ptr %466, align 4, !tbaa !5
  %21431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21432 = call i32 @s2n_print_stacktrace(ptr noundef %21431)
  %21433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21434 = trunc i8 %21433 to i1
  br i1 %21434, label %21435, label %21457

21435:                                            ; preds = %21428
  %21436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21437 = call i32 @fileno(ptr noundef %21436) #11
  %21438 = call i32 @isatty(i32 noundef %21437) #11
  %21439 = icmp ne i32 %21438, 0
  br i1 %21439, label %21440, label %21457

21440:                                            ; preds = %21435
  %21441 = load i32, ptr %466, align 4, !tbaa !5
  %21442 = call ptr @__errno_location() #12
  store i32 %21441, ptr %21442, align 4, !tbaa !5
  %21443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21444 = load i32, ptr @test_count, align 4, !tbaa !5
  %21445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21446 = load i32, ptr %21445, align 4, !tbaa !5
  %21447 = call ptr @s2n_strerror(i32 noundef %21446, ptr noundef @.str.4)
  %21448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21449 = load i32, ptr %21448, align 4, !tbaa !5
  %21450 = call ptr @s2n_strerror_debug(i32 noundef %21449, ptr noundef @.str.4)
  %21451 = call ptr @__errno_location() #12
  %21452 = load i32, ptr %21451, align 4, !tbaa !5
  %21453 = call ptr @strerror(i32 noundef %21452) #11
  %21454 = call ptr @__errno_location() #12
  %21455 = load i32, ptr %21454, align 4, !tbaa !5
  %21456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21443, ptr noundef @.str.2, i32 noundef %21444, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 938, ptr noundef %21447, ptr noundef %21450, ptr noundef %21453, i32 noundef %21455) #11
  br label %21474

21457:                                            ; preds = %21435, %21428
  %21458 = load i32, ptr %466, align 4, !tbaa !5
  %21459 = call ptr @__errno_location() #12
  store i32 %21458, ptr %21459, align 4, !tbaa !5
  %21460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21461 = load i32, ptr @test_count, align 4, !tbaa !5
  %21462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21463 = load i32, ptr %21462, align 4, !tbaa !5
  %21464 = call ptr @s2n_strerror(i32 noundef %21463, ptr noundef @.str.4)
  %21465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21466 = load i32, ptr %21465, align 4, !tbaa !5
  %21467 = call ptr @s2n_strerror_debug(i32 noundef %21466, ptr noundef @.str.4)
  %21468 = call ptr @__errno_location() #12
  %21469 = load i32, ptr %21468, align 4, !tbaa !5
  %21470 = call ptr @strerror(i32 noundef %21469) #11
  %21471 = call ptr @__errno_location() #12
  %21472 = load i32, ptr %21471, align 4, !tbaa !5
  %21473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21460, ptr noundef @.str.5, i32 noundef %21461, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 938, ptr noundef %21464, ptr noundef %21467, ptr noundef %21470, i32 noundef %21472) #11
  br label %21474

21474:                                            ; preds = %21457, %21440
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %21475

21475:                                            ; preds = %21474
  br label %21476

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

21477:                                            ; No predecessors!
  br label %21478

21478:                                            ; preds = %21477
  br label %21479

21479:                                            ; preds = %21478, %21420
  br label %21480

21480:                                            ; preds = %21479
  br label %21481

21481:                                            ; preds = %21480
  br label %21482

21482:                                            ; preds = %21481
  %21483 = load i32, ptr @test_count, align 4, !tbaa !5
  %21484 = add nsw i32 %21483, 1
  store i32 %21484, ptr @test_count, align 4, !tbaa !5
  %21485 = load i32, ptr %459, align 4, !tbaa !5
  %21486 = icmp eq i32 %21485, 10
  br i1 %21486, label %21540, label %21487

21487:                                            ; preds = %21482
  br label %21488

21488:                                            ; preds = %21487
  br label %21489

21489:                                            ; preds = %21488
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #11
  %21490 = call ptr @__errno_location() #12
  %21491 = load i32, ptr %21490, align 4, !tbaa !5
  store i32 %21491, ptr %467, align 4, !tbaa !5
  %21492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21493 = call i32 @s2n_print_stacktrace(ptr noundef %21492)
  %21494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21495 = trunc i8 %21494 to i1
  br i1 %21495, label %21496, label %21518

21496:                                            ; preds = %21489
  %21497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21498 = call i32 @fileno(ptr noundef %21497) #11
  %21499 = call i32 @isatty(i32 noundef %21498) #11
  %21500 = icmp ne i32 %21499, 0
  br i1 %21500, label %21501, label %21518

21501:                                            ; preds = %21496
  %21502 = load i32, ptr %467, align 4, !tbaa !5
  %21503 = call ptr @__errno_location() #12
  store i32 %21502, ptr %21503, align 4, !tbaa !5
  %21504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21505 = load i32, ptr @test_count, align 4, !tbaa !5
  %21506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21507 = load i32, ptr %21506, align 4, !tbaa !5
  %21508 = call ptr @s2n_strerror(i32 noundef %21507, ptr noundef @.str.4)
  %21509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21510 = load i32, ptr %21509, align 4, !tbaa !5
  %21511 = call ptr @s2n_strerror_debug(i32 noundef %21510, ptr noundef @.str.4)
  %21512 = call ptr @__errno_location() #12
  %21513 = load i32, ptr %21512, align 4, !tbaa !5
  %21514 = call ptr @strerror(i32 noundef %21513) #11
  %21515 = call ptr @__errno_location() #12
  %21516 = load i32, ptr %21515, align 4, !tbaa !5
  %21517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21504, ptr noundef @.str.2, i32 noundef %21505, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 939, ptr noundef %21508, ptr noundef %21511, ptr noundef %21514, i32 noundef %21516) #11
  br label %21535

21518:                                            ; preds = %21496, %21489
  %21519 = load i32, ptr %467, align 4, !tbaa !5
  %21520 = call ptr @__errno_location() #12
  store i32 %21519, ptr %21520, align 4, !tbaa !5
  %21521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21522 = load i32, ptr @test_count, align 4, !tbaa !5
  %21523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21524 = load i32, ptr %21523, align 4, !tbaa !5
  %21525 = call ptr @s2n_strerror(i32 noundef %21524, ptr noundef @.str.4)
  %21526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21527 = load i32, ptr %21526, align 4, !tbaa !5
  %21528 = call ptr @s2n_strerror_debug(i32 noundef %21527, ptr noundef @.str.4)
  %21529 = call ptr @__errno_location() #12
  %21530 = load i32, ptr %21529, align 4, !tbaa !5
  %21531 = call ptr @strerror(i32 noundef %21530) #11
  %21532 = call ptr @__errno_location() #12
  %21533 = load i32, ptr %21532, align 4, !tbaa !5
  %21534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21521, ptr noundef @.str.5, i32 noundef %21522, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 939, ptr noundef %21525, ptr noundef %21528, ptr noundef %21531, i32 noundef %21533) #11
  br label %21535

21535:                                            ; preds = %21518, %21501
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #11
  br label %21536

21536:                                            ; preds = %21535
  br label %21537

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

21538:                                            ; No predecessors!
  br label %21539

21539:                                            ; preds = %21538
  br label %21540

21540:                                            ; preds = %21539, %21482
  br label %21541

21541:                                            ; preds = %21540
  br label %21542

21542:                                            ; preds = %21541
  store i32 9, ptr %461, align 4, !tbaa !5
  br label %21543

21543:                                            ; preds = %21542
  %21544 = load i32, ptr @test_count, align 4, !tbaa !5
  %21545 = add nsw i32 %21544, 1
  store i32 %21545, ptr @test_count, align 4, !tbaa !5
  %21546 = load ptr, ptr %454, align 8, !tbaa !9
  %21547 = load i32, ptr %461, align 4, !tbaa !5
  %21548 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %21546, i32 noundef %21547)
  %21549 = icmp eq i32 %21548, -1
  br i1 %21549, label %21550, label %21603

21550:                                            ; preds = %21543
  br label %21551

21551:                                            ; preds = %21550
  br label %21552

21552:                                            ; preds = %21551
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %21553 = call ptr @__errno_location() #12
  %21554 = load i32, ptr %21553, align 4, !tbaa !5
  store i32 %21554, ptr %468, align 4, !tbaa !5
  %21555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21556 = call i32 @s2n_print_stacktrace(ptr noundef %21555)
  %21557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21558 = trunc i8 %21557 to i1
  br i1 %21558, label %21559, label %21581

21559:                                            ; preds = %21552
  %21560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21561 = call i32 @fileno(ptr noundef %21560) #11
  %21562 = call i32 @isatty(i32 noundef %21561) #11
  %21563 = icmp ne i32 %21562, 0
  br i1 %21563, label %21564, label %21581

21564:                                            ; preds = %21559
  %21565 = load i32, ptr %468, align 4, !tbaa !5
  %21566 = call ptr @__errno_location() #12
  store i32 %21565, ptr %21566, align 4, !tbaa !5
  %21567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21568 = load i32, ptr @test_count, align 4, !tbaa !5
  %21569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21570 = load i32, ptr %21569, align 4, !tbaa !5
  %21571 = call ptr @s2n_strerror(i32 noundef %21570, ptr noundef @.str.4)
  %21572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21573 = load i32, ptr %21572, align 4, !tbaa !5
  %21574 = call ptr @s2n_strerror_debug(i32 noundef %21573, ptr noundef @.str.4)
  %21575 = call ptr @__errno_location() #12
  %21576 = load i32, ptr %21575, align 4, !tbaa !5
  %21577 = call ptr @strerror(i32 noundef %21576) #11
  %21578 = call ptr @__errno_location() #12
  %21579 = load i32, ptr %21578, align 4, !tbaa !5
  %21580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21567, ptr noundef @.str.2, i32 noundef %21568, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 943, ptr noundef %21571, ptr noundef %21574, ptr noundef %21577, i32 noundef %21579) #11
  br label %21598

21581:                                            ; preds = %21559, %21552
  %21582 = load i32, ptr %468, align 4, !tbaa !5
  %21583 = call ptr @__errno_location() #12
  store i32 %21582, ptr %21583, align 4, !tbaa !5
  %21584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21585 = load i32, ptr @test_count, align 4, !tbaa !5
  %21586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21587 = load i32, ptr %21586, align 4, !tbaa !5
  %21588 = call ptr @s2n_strerror(i32 noundef %21587, ptr noundef @.str.4)
  %21589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21590 = load i32, ptr %21589, align 4, !tbaa !5
  %21591 = call ptr @s2n_strerror_debug(i32 noundef %21590, ptr noundef @.str.4)
  %21592 = call ptr @__errno_location() #12
  %21593 = load i32, ptr %21592, align 4, !tbaa !5
  %21594 = call ptr @strerror(i32 noundef %21593) #11
  %21595 = call ptr @__errno_location() #12
  %21596 = load i32, ptr %21595, align 4, !tbaa !5
  %21597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21584, ptr noundef @.str.5, i32 noundef %21585, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 943, ptr noundef %21588, ptr noundef %21591, ptr noundef %21594, i32 noundef %21596) #11
  br label %21598

21598:                                            ; preds = %21581, %21564
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %21599

21599:                                            ; preds = %21598
  br label %21600

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

21601:                                            ; No predecessors!
  br label %21602

21602:                                            ; preds = %21601
  br label %21603

21603:                                            ; preds = %21602, %21543
  br label %21604

21604:                                            ; preds = %21603
  br label %21605

21605:                                            ; preds = %21604
  br label %21606

21606:                                            ; preds = %21605
  %21607 = load i32, ptr @test_count, align 4, !tbaa !5
  %21608 = add nsw i32 %21607, 1
  store i32 %21608, ptr @test_count, align 4, !tbaa !5
  %21609 = load ptr, ptr %454, align 8, !tbaa !9
  %21610 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %21609, ptr noundef %459)
  %21611 = icmp eq i32 %21610, -1
  br i1 %21611, label %21612, label %21665

21612:                                            ; preds = %21606
  br label %21613

21613:                                            ; preds = %21612
  br label %21614

21614:                                            ; preds = %21613
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %21615 = call ptr @__errno_location() #12
  %21616 = load i32, ptr %21615, align 4, !tbaa !5
  store i32 %21616, ptr %469, align 4, !tbaa !5
  %21617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21618 = call i32 @s2n_print_stacktrace(ptr noundef %21617)
  %21619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21620 = trunc i8 %21619 to i1
  br i1 %21620, label %21621, label %21643

21621:                                            ; preds = %21614
  %21622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21623 = call i32 @fileno(ptr noundef %21622) #11
  %21624 = call i32 @isatty(i32 noundef %21623) #11
  %21625 = icmp ne i32 %21624, 0
  br i1 %21625, label %21626, label %21643

21626:                                            ; preds = %21621
  %21627 = load i32, ptr %469, align 4, !tbaa !5
  %21628 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %21637 = call ptr @__errno_location() #12
  %21638 = load i32, ptr %21637, align 4, !tbaa !5
  %21639 = call ptr @strerror(i32 noundef %21638) #11
  %21640 = call ptr @__errno_location() #12
  %21641 = load i32, ptr %21640, align 4, !tbaa !5
  %21642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21629, ptr noundef @.str.2, i32 noundef %21630, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 944, ptr noundef %21633, ptr noundef %21636, ptr noundef %21639, i32 noundef %21641) #11
  br label %21660

21643:                                            ; preds = %21621, %21614
  %21644 = load i32, ptr %469, align 4, !tbaa !5
  %21645 = call ptr @__errno_location() #12
  store i32 %21644, ptr %21645, align 4, !tbaa !5
  %21646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21647 = load i32, ptr @test_count, align 4, !tbaa !5
  %21648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21649 = load i32, ptr %21648, align 4, !tbaa !5
  %21650 = call ptr @s2n_strerror(i32 noundef %21649, ptr noundef @.str.4)
  %21651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21652 = load i32, ptr %21651, align 4, !tbaa !5
  %21653 = call ptr @s2n_strerror_debug(i32 noundef %21652, ptr noundef @.str.4)
  %21654 = call ptr @__errno_location() #12
  %21655 = load i32, ptr %21654, align 4, !tbaa !5
  %21656 = call ptr @strerror(i32 noundef %21655) #11
  %21657 = call ptr @__errno_location() #12
  %21658 = load i32, ptr %21657, align 4, !tbaa !5
  %21659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21646, ptr noundef @.str.5, i32 noundef %21647, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 944, ptr noundef %21650, ptr noundef %21653, ptr noundef %21656, i32 noundef %21658) #11
  br label %21660

21660:                                            ; preds = %21643, %21626
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %21661

21661:                                            ; preds = %21660
  br label %21662

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

21663:                                            ; No predecessors!
  br label %21664

21664:                                            ; preds = %21663
  br label %21665

21665:                                            ; preds = %21664, %21606
  br label %21666

21666:                                            ; preds = %21665
  br label %21667

21667:                                            ; preds = %21666
  br label %21668

21668:                                            ; preds = %21667
  %21669 = load i32, ptr @test_count, align 4, !tbaa !5
  %21670 = add nsw i32 %21669, 1
  store i32 %21670, ptr @test_count, align 4, !tbaa !5
  %21671 = load i32, ptr %459, align 4, !tbaa !5
  %21672 = load i32, ptr %461, align 4, !tbaa !5
  %21673 = icmp eq i32 %21671, %21672
  br i1 %21673, label %21727, label %21674

21674:                                            ; preds = %21668
  br label %21675

21675:                                            ; preds = %21674
  br label %21676

21676:                                            ; preds = %21675
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %21677 = call ptr @__errno_location() #12
  %21678 = load i32, ptr %21677, align 4, !tbaa !5
  store i32 %21678, ptr %470, align 4, !tbaa !5
  %21679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21680 = call i32 @s2n_print_stacktrace(ptr noundef %21679)
  %21681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21682 = trunc i8 %21681 to i1
  br i1 %21682, label %21683, label %21705

21683:                                            ; preds = %21676
  %21684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21685 = call i32 @fileno(ptr noundef %21684) #11
  %21686 = call i32 @isatty(i32 noundef %21685) #11
  %21687 = icmp ne i32 %21686, 0
  br i1 %21687, label %21688, label %21705

21688:                                            ; preds = %21683
  %21689 = load i32, ptr %470, align 4, !tbaa !5
  %21690 = call ptr @__errno_location() #12
  store i32 %21689, ptr %21690, align 4, !tbaa !5
  %21691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21692 = load i32, ptr @test_count, align 4, !tbaa !5
  %21693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21694 = load i32, ptr %21693, align 4, !tbaa !5
  %21695 = call ptr @s2n_strerror(i32 noundef %21694, ptr noundef @.str.4)
  %21696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21697 = load i32, ptr %21696, align 4, !tbaa !5
  %21698 = call ptr @s2n_strerror_debug(i32 noundef %21697, ptr noundef @.str.4)
  %21699 = call ptr @__errno_location() #12
  %21700 = load i32, ptr %21699, align 4, !tbaa !5
  %21701 = call ptr @strerror(i32 noundef %21700) #11
  %21702 = call ptr @__errno_location() #12
  %21703 = load i32, ptr %21702, align 4, !tbaa !5
  %21704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21691, ptr noundef @.str.2, i32 noundef %21692, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 945, ptr noundef %21695, ptr noundef %21698, ptr noundef %21701, i32 noundef %21703) #11
  br label %21722

21705:                                            ; preds = %21683, %21676
  %21706 = load i32, ptr %470, align 4, !tbaa !5
  %21707 = call ptr @__errno_location() #12
  store i32 %21706, ptr %21707, align 4, !tbaa !5
  %21708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21709 = load i32, ptr @test_count, align 4, !tbaa !5
  %21710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21711 = load i32, ptr %21710, align 4, !tbaa !5
  %21712 = call ptr @s2n_strerror(i32 noundef %21711, ptr noundef @.str.4)
  %21713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21714 = load i32, ptr %21713, align 4, !tbaa !5
  %21715 = call ptr @s2n_strerror_debug(i32 noundef %21714, ptr noundef @.str.4)
  %21716 = call ptr @__errno_location() #12
  %21717 = load i32, ptr %21716, align 4, !tbaa !5
  %21718 = call ptr @strerror(i32 noundef %21717) #11
  %21719 = call ptr @__errno_location() #12
  %21720 = load i32, ptr %21719, align 4, !tbaa !5
  %21721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21708, ptr noundef @.str.5, i32 noundef %21709, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 945, ptr noundef %21712, ptr noundef %21715, ptr noundef %21718, i32 noundef %21720) #11
  br label %21722

21722:                                            ; preds = %21705, %21688
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %21723

21723:                                            ; preds = %21722
  br label %21724

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

21725:                                            ; No predecessors!
  br label %21726

21726:                                            ; preds = %21725
  br label %21727

21727:                                            ; preds = %21726, %21668
  br label %21728

21728:                                            ; preds = %21727
  br label %21729

21729:                                            ; preds = %21728
  br label %21730

21730:                                            ; preds = %21729
  %21731 = load i32, ptr @test_count, align 4, !tbaa !5
  %21732 = add nsw i32 %21731, 1
  store i32 %21732, ptr @test_count, align 4, !tbaa !5
  %21733 = load ptr, ptr %454, align 8, !tbaa !9
  %21734 = call i32 @s2n_connection_free(ptr noundef %21733)
  %21735 = icmp eq i32 %21734, -1
  br i1 %21735, label %21736, label %21789

21736:                                            ; preds = %21730
  br label %21737

21737:                                            ; preds = %21736
  br label %21738

21738:                                            ; preds = %21737
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %21739 = call ptr @__errno_location() #12
  %21740 = load i32, ptr %21739, align 4, !tbaa !5
  store i32 %21740, ptr %471, align 4, !tbaa !5
  %21741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21742 = call i32 @s2n_print_stacktrace(ptr noundef %21741)
  %21743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21744 = trunc i8 %21743 to i1
  br i1 %21744, label %21745, label %21767

21745:                                            ; preds = %21738
  %21746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21747 = call i32 @fileno(ptr noundef %21746) #11
  %21748 = call i32 @isatty(i32 noundef %21747) #11
  %21749 = icmp ne i32 %21748, 0
  br i1 %21749, label %21750, label %21767

21750:                                            ; preds = %21745
  %21751 = load i32, ptr %471, align 4, !tbaa !5
  %21752 = call ptr @__errno_location() #12
  store i32 %21751, ptr %21752, align 4, !tbaa !5
  %21753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21754 = load i32, ptr @test_count, align 4, !tbaa !5
  %21755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21756 = load i32, ptr %21755, align 4, !tbaa !5
  %21757 = call ptr @s2n_strerror(i32 noundef %21756, ptr noundef @.str.4)
  %21758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21759 = load i32, ptr %21758, align 4, !tbaa !5
  %21760 = call ptr @s2n_strerror_debug(i32 noundef %21759, ptr noundef @.str.4)
  %21761 = call ptr @__errno_location() #12
  %21762 = load i32, ptr %21761, align 4, !tbaa !5
  %21763 = call ptr @strerror(i32 noundef %21762) #11
  %21764 = call ptr @__errno_location() #12
  %21765 = load i32, ptr %21764, align 4, !tbaa !5
  %21766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21753, ptr noundef @.str.2, i32 noundef %21754, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 947, ptr noundef %21757, ptr noundef %21760, ptr noundef %21763, i32 noundef %21765) #11
  br label %21784

21767:                                            ; preds = %21745, %21738
  %21768 = load i32, ptr %471, align 4, !tbaa !5
  %21769 = call ptr @__errno_location() #12
  store i32 %21768, ptr %21769, align 4, !tbaa !5
  %21770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21771 = load i32, ptr @test_count, align 4, !tbaa !5
  %21772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21773 = load i32, ptr %21772, align 4, !tbaa !5
  %21774 = call ptr @s2n_strerror(i32 noundef %21773, ptr noundef @.str.4)
  %21775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21776 = load i32, ptr %21775, align 4, !tbaa !5
  %21777 = call ptr @s2n_strerror_debug(i32 noundef %21776, ptr noundef @.str.4)
  %21778 = call ptr @__errno_location() #12
  %21779 = load i32, ptr %21778, align 4, !tbaa !5
  %21780 = call ptr @strerror(i32 noundef %21779) #11
  %21781 = call ptr @__errno_location() #12
  %21782 = load i32, ptr %21781, align 4, !tbaa !5
  %21783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21770, ptr noundef @.str.5, i32 noundef %21771, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 947, ptr noundef %21774, ptr noundef %21777, ptr noundef %21780, i32 noundef %21782) #11
  br label %21784

21784:                                            ; preds = %21767, %21750
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %21785

21785:                                            ; preds = %21784
  br label %21786

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

21787:                                            ; No predecessors!
  br label %21788

21788:                                            ; preds = %21787
  br label %21789

21789:                                            ; preds = %21788, %21730
  br label %21790

21790:                                            ; preds = %21789
  br label %21791

21791:                                            ; preds = %21790
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %454) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #11
  store i32 15, ptr %472, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #11
  store i32 0, ptr %473, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %474) #11
  %21792 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21792, ptr %474, align 8, !tbaa !9
  br label %21793

21793:                                            ; preds = %21791
  %21794 = load i32, ptr @test_count, align 4, !tbaa !5
  %21795 = add nsw i32 %21794, 1
  store i32 %21795, ptr @test_count, align 4, !tbaa !5
  %21796 = load ptr, ptr %474, align 8, !tbaa !9
  %21797 = icmp eq ptr %21796, null
  br i1 %21797, label %21798, label %21851

21798:                                            ; preds = %21793
  br label %21799

21799:                                            ; preds = %21798
  br label %21800

21800:                                            ; preds = %21799
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #11
  %21801 = call ptr @__errno_location() #12
  %21802 = load i32, ptr %21801, align 4, !tbaa !5
  store i32 %21802, ptr %475, align 4, !tbaa !5
  %21803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21804 = call i32 @s2n_print_stacktrace(ptr noundef %21803)
  %21805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21806 = trunc i8 %21805 to i1
  br i1 %21806, label %21807, label %21829

21807:                                            ; preds = %21800
  %21808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21809 = call i32 @fileno(ptr noundef %21808) #11
  %21810 = call i32 @isatty(i32 noundef %21809) #11
  %21811 = icmp ne i32 %21810, 0
  br i1 %21811, label %21812, label %21829

21812:                                            ; preds = %21807
  %21813 = load i32, ptr %475, align 4, !tbaa !5
  %21814 = call ptr @__errno_location() #12
  store i32 %21813, ptr %21814, align 4, !tbaa !5
  %21815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21816 = load i32, ptr @test_count, align 4, !tbaa !5
  %21817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21818 = load i32, ptr %21817, align 4, !tbaa !5
  %21819 = call ptr @s2n_strerror(i32 noundef %21818, ptr noundef @.str.4)
  %21820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21821 = load i32, ptr %21820, align 4, !tbaa !5
  %21822 = call ptr @s2n_strerror_debug(i32 noundef %21821, ptr noundef @.str.4)
  %21823 = call ptr @__errno_location() #12
  %21824 = load i32, ptr %21823, align 4, !tbaa !5
  %21825 = call ptr @strerror(i32 noundef %21824) #11
  %21826 = call ptr @__errno_location() #12
  %21827 = load i32, ptr %21826, align 4, !tbaa !5
  %21828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21815, ptr noundef @.str.2, i32 noundef %21816, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 956, ptr noundef %21819, ptr noundef %21822, ptr noundef %21825, i32 noundef %21827) #11
  br label %21846

21829:                                            ; preds = %21807, %21800
  %21830 = load i32, ptr %475, align 4, !tbaa !5
  %21831 = call ptr @__errno_location() #12
  store i32 %21830, ptr %21831, align 4, !tbaa !5
  %21832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21833 = load i32, ptr @test_count, align 4, !tbaa !5
  %21834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21835 = load i32, ptr %21834, align 4, !tbaa !5
  %21836 = call ptr @s2n_strerror(i32 noundef %21835, ptr noundef @.str.4)
  %21837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21838 = load i32, ptr %21837, align 4, !tbaa !5
  %21839 = call ptr @s2n_strerror_debug(i32 noundef %21838, ptr noundef @.str.4)
  %21840 = call ptr @__errno_location() #12
  %21841 = load i32, ptr %21840, align 4, !tbaa !5
  %21842 = call ptr @strerror(i32 noundef %21841) #11
  %21843 = call ptr @__errno_location() #12
  %21844 = load i32, ptr %21843, align 4, !tbaa !5
  %21845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21832, ptr noundef @.str.5, i32 noundef %21833, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 956, ptr noundef %21836, ptr noundef %21839, ptr noundef %21842, i32 noundef %21844) #11
  br label %21846

21846:                                            ; preds = %21829, %21812
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #11
  br label %21847

21847:                                            ; preds = %21846
  br label %21848

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

21849:                                            ; No predecessors!
  br label %21850

21850:                                            ; preds = %21849
  br label %21851

21851:                                            ; preds = %21850, %21793
  br label %21852

21852:                                            ; preds = %21851
  br label %21853

21853:                                            ; preds = %21852
  call void @llvm.lifetime.start.p0(i64 8, ptr %476) #11
  %21854 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %21854, ptr %476, align 8, !tbaa !9
  br label %21855

21855:                                            ; preds = %21853
  %21856 = load i32, ptr @test_count, align 4, !tbaa !5
  %21857 = add nsw i32 %21856, 1
  store i32 %21857, ptr @test_count, align 4, !tbaa !5
  %21858 = load ptr, ptr %476, align 8, !tbaa !9
  %21859 = icmp eq ptr %21858, null
  br i1 %21859, label %21860, label %21913

21860:                                            ; preds = %21855
  br label %21861

21861:                                            ; preds = %21860
  br label %21862

21862:                                            ; preds = %21861
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %21863 = call ptr @__errno_location() #12
  %21864 = load i32, ptr %21863, align 4, !tbaa !5
  store i32 %21864, ptr %477, align 4, !tbaa !5
  %21865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21866 = call i32 @s2n_print_stacktrace(ptr noundef %21865)
  %21867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21868 = trunc i8 %21867 to i1
  br i1 %21868, label %21869, label %21891

21869:                                            ; preds = %21862
  %21870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21871 = call i32 @fileno(ptr noundef %21870) #11
  %21872 = call i32 @isatty(i32 noundef %21871) #11
  %21873 = icmp ne i32 %21872, 0
  br i1 %21873, label %21874, label %21891

21874:                                            ; preds = %21869
  %21875 = load i32, ptr %477, align 4, !tbaa !5
  %21876 = call ptr @__errno_location() #12
  store i32 %21875, ptr %21876, align 4, !tbaa !5
  %21877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21878 = load i32, ptr @test_count, align 4, !tbaa !5
  %21879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21880 = load i32, ptr %21879, align 4, !tbaa !5
  %21881 = call ptr @s2n_strerror(i32 noundef %21880, ptr noundef @.str.4)
  %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_debug(i32 noundef %21883, ptr noundef @.str.4)
  %21885 = call ptr @__errno_location() #12
  %21886 = load i32, ptr %21885, align 4, !tbaa !5
  %21887 = call ptr @strerror(i32 noundef %21886) #11
  %21888 = call ptr @__errno_location() #12
  %21889 = load i32, ptr %21888, align 4, !tbaa !5
  %21890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21877, ptr noundef @.str.2, i32 noundef %21878, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 959, ptr noundef %21881, ptr noundef %21884, ptr noundef %21887, i32 noundef %21889) #11
  br label %21908

21891:                                            ; preds = %21869, %21862
  %21892 = load i32, ptr %477, align 4, !tbaa !5
  %21893 = call ptr @__errno_location() #12
  store i32 %21892, ptr %21893, align 4, !tbaa !5
  %21894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21895 = load i32, ptr @test_count, align 4, !tbaa !5
  %21896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21897 = load i32, ptr %21896, align 4, !tbaa !5
  %21898 = call ptr @s2n_strerror(i32 noundef %21897, ptr noundef @.str.4)
  %21899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21900 = load i32, ptr %21899, align 4, !tbaa !5
  %21901 = call ptr @s2n_strerror_debug(i32 noundef %21900, ptr noundef @.str.4)
  %21902 = call ptr @__errno_location() #12
  %21903 = load i32, ptr %21902, align 4, !tbaa !5
  %21904 = call ptr @strerror(i32 noundef %21903) #11
  %21905 = call ptr @__errno_location() #12
  %21906 = load i32, ptr %21905, align 4, !tbaa !5
  %21907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21894, ptr noundef @.str.5, i32 noundef %21895, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 959, ptr noundef %21898, ptr noundef %21901, ptr noundef %21904, i32 noundef %21906) #11
  br label %21908

21908:                                            ; preds = %21891, %21874
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %21909

21909:                                            ; preds = %21908
  br label %21910

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

21911:                                            ; No predecessors!
  br label %21912

21912:                                            ; preds = %21911
  br label %21913

21913:                                            ; preds = %21912, %21855
  br label %21914

21914:                                            ; preds = %21913
  br label %21915

21915:                                            ; preds = %21914
  br label %21916

21916:                                            ; preds = %21915
  %21917 = load i32, ptr @test_count, align 4, !tbaa !5
  %21918 = add nsw i32 %21917, 1
  store i32 %21918, ptr @test_count, align 4, !tbaa !5
  %21919 = load ptr, ptr %474, align 8, !tbaa !9
  %21920 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %21919, i32 noundef 15)
  %21921 = icmp eq i32 %21920, -1
  br i1 %21921, label %21922, label %21975

21922:                                            ; preds = %21916
  br label %21923

21923:                                            ; preds = %21922
  br label %21924

21924:                                            ; preds = %21923
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %21925 = call ptr @__errno_location() #12
  %21926 = load i32, ptr %21925, align 4, !tbaa !5
  store i32 %21926, ptr %478, align 4, !tbaa !5
  %21927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21928 = call i32 @s2n_print_stacktrace(ptr noundef %21927)
  %21929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21930 = trunc i8 %21929 to i1
  br i1 %21930, label %21931, label %21953

21931:                                            ; preds = %21924
  %21932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21933 = call i32 @fileno(ptr noundef %21932) #11
  %21934 = call i32 @isatty(i32 noundef %21933) #11
  %21935 = icmp ne i32 %21934, 0
  br i1 %21935, label %21936, label %21953

21936:                                            ; preds = %21931
  %21937 = load i32, ptr %478, align 4, !tbaa !5
  %21938 = call ptr @__errno_location() #12
  store i32 %21937, ptr %21938, align 4, !tbaa !5
  %21939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21940 = load i32, ptr @test_count, align 4, !tbaa !5
  %21941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21942 = load i32, ptr %21941, align 4, !tbaa !5
  %21943 = call ptr @s2n_strerror(i32 noundef %21942, ptr noundef @.str.4)
  %21944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21945 = load i32, ptr %21944, align 4, !tbaa !5
  %21946 = call ptr @s2n_strerror_debug(i32 noundef %21945, ptr noundef @.str.4)
  %21947 = call ptr @__errno_location() #12
  %21948 = load i32, ptr %21947, align 4, !tbaa !5
  %21949 = call ptr @strerror(i32 noundef %21948) #11
  %21950 = call ptr @__errno_location() #12
  %21951 = load i32, ptr %21950, align 4, !tbaa !5
  %21952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21939, ptr noundef @.str.2, i32 noundef %21940, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 962, ptr noundef %21943, ptr noundef %21946, ptr noundef %21949, i32 noundef %21951) #11
  br label %21970

21953:                                            ; preds = %21931, %21924
  %21954 = load i32, ptr %478, align 4, !tbaa !5
  %21955 = call ptr @__errno_location() #12
  store i32 %21954, ptr %21955, align 4, !tbaa !5
  %21956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21957 = load i32, ptr @test_count, align 4, !tbaa !5
  %21958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21959 = load i32, ptr %21958, align 4, !tbaa !5
  %21960 = call ptr @s2n_strerror(i32 noundef %21959, ptr noundef @.str.4)
  %21961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21962 = load i32, ptr %21961, align 4, !tbaa !5
  %21963 = call ptr @s2n_strerror_debug(i32 noundef %21962, ptr noundef @.str.4)
  %21964 = call ptr @__errno_location() #12
  %21965 = load i32, ptr %21964, align 4, !tbaa !5
  %21966 = call ptr @strerror(i32 noundef %21965) #11
  %21967 = call ptr @__errno_location() #12
  %21968 = load i32, ptr %21967, align 4, !tbaa !5
  %21969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21956, ptr noundef @.str.5, i32 noundef %21957, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 962, ptr noundef %21960, ptr noundef %21963, ptr noundef %21966, i32 noundef %21968) #11
  br label %21970

21970:                                            ; preds = %21953, %21936
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %21971

21971:                                            ; preds = %21970
  br label %21972

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

21973:                                            ; No predecessors!
  br label %21974

21974:                                            ; preds = %21973
  br label %21975

21975:                                            ; preds = %21974, %21916
  br label %21976

21976:                                            ; preds = %21975
  br label %21977

21977:                                            ; preds = %21976
  br label %21978

21978:                                            ; preds = %21977
  %21979 = load i32, ptr @test_count, align 4, !tbaa !5
  %21980 = add nsw i32 %21979, 1
  store i32 %21980, ptr @test_count, align 4, !tbaa !5
  %21981 = load ptr, ptr %474, align 8, !tbaa !9
  %21982 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %21981, ptr noundef %473)
  %21983 = icmp eq i32 %21982, -1
  br i1 %21983, label %21984, label %22037

21984:                                            ; preds = %21978
  br label %21985

21985:                                            ; preds = %21984
  br label %21986

21986:                                            ; preds = %21985
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %21987 = call ptr @__errno_location() #12
  %21988 = load i32, ptr %21987, align 4, !tbaa !5
  store i32 %21988, ptr %479, align 4, !tbaa !5
  %21989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21990 = call i32 @s2n_print_stacktrace(ptr noundef %21989)
  %21991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21992 = trunc i8 %21991 to i1
  br i1 %21992, label %21993, label %22015

21993:                                            ; preds = %21986
  %21994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21995 = call i32 @fileno(ptr noundef %21994) #11
  %21996 = call i32 @isatty(i32 noundef %21995) #11
  %21997 = icmp ne i32 %21996, 0
  br i1 %21997, label %21998, label %22015

21998:                                            ; preds = %21993
  %21999 = load i32, ptr %479, align 4, !tbaa !5
  %22000 = call ptr @__errno_location() #12
  store i32 %21999, ptr %22000, align 4, !tbaa !5
  %22001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22002 = load i32, ptr @test_count, align 4, !tbaa !5
  %22003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22004 = load i32, ptr %22003, align 4, !tbaa !5
  %22005 = call ptr @s2n_strerror(i32 noundef %22004, ptr noundef @.str.4)
  %22006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22007 = load i32, ptr %22006, align 4, !tbaa !5
  %22008 = call ptr @s2n_strerror_debug(i32 noundef %22007, ptr noundef @.str.4)
  %22009 = call ptr @__errno_location() #12
  %22010 = load i32, ptr %22009, align 4, !tbaa !5
  %22011 = call ptr @strerror(i32 noundef %22010) #11
  %22012 = call ptr @__errno_location() #12
  %22013 = load i32, ptr %22012, align 4, !tbaa !5
  %22014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22001, ptr noundef @.str.2, i32 noundef %22002, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 963, ptr noundef %22005, ptr noundef %22008, ptr noundef %22011, i32 noundef %22013) #11
  br label %22032

22015:                                            ; preds = %21993, %21986
  %22016 = load i32, ptr %479, align 4, !tbaa !5
  %22017 = call ptr @__errno_location() #12
  store i32 %22016, ptr %22017, align 4, !tbaa !5
  %22018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22019 = load i32, ptr @test_count, align 4, !tbaa !5
  %22020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22021 = load i32, ptr %22020, align 4, !tbaa !5
  %22022 = call ptr @s2n_strerror(i32 noundef %22021, ptr noundef @.str.4)
  %22023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22024 = load i32, ptr %22023, align 4, !tbaa !5
  %22025 = call ptr @s2n_strerror_debug(i32 noundef %22024, ptr noundef @.str.4)
  %22026 = call ptr @__errno_location() #12
  %22027 = load i32, ptr %22026, align 4, !tbaa !5
  %22028 = call ptr @strerror(i32 noundef %22027) #11
  %22029 = call ptr @__errno_location() #12
  %22030 = load i32, ptr %22029, align 4, !tbaa !5
  %22031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22018, ptr noundef @.str.5, i32 noundef %22019, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 963, ptr noundef %22022, ptr noundef %22025, ptr noundef %22028, i32 noundef %22030) #11
  br label %22032

22032:                                            ; preds = %22015, %21998
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %22033

22033:                                            ; preds = %22032
  br label %22034

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

22035:                                            ; No predecessors!
  br label %22036

22036:                                            ; preds = %22035
  br label %22037

22037:                                            ; preds = %22036, %21978
  br label %22038

22038:                                            ; preds = %22037
  br label %22039

22039:                                            ; preds = %22038
  br label %22040

22040:                                            ; preds = %22039
  %22041 = load i32, ptr @test_count, align 4, !tbaa !5
  %22042 = add nsw i32 %22041, 1
  store i32 %22042, ptr @test_count, align 4, !tbaa !5
  %22043 = load i32, ptr %473, align 4, !tbaa !5
  %22044 = icmp eq i32 %22043, 15
  br i1 %22044, label %22098, label %22045

22045:                                            ; preds = %22040
  br label %22046

22046:                                            ; preds = %22045
  br label %22047

22047:                                            ; preds = %22046
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %22048 = call ptr @__errno_location() #12
  %22049 = load i32, ptr %22048, align 4, !tbaa !5
  store i32 %22049, ptr %480, align 4, !tbaa !5
  %22050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22051 = call i32 @s2n_print_stacktrace(ptr noundef %22050)
  %22052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22053 = trunc i8 %22052 to i1
  br i1 %22053, label %22054, label %22076

22054:                                            ; preds = %22047
  %22055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22056 = call i32 @fileno(ptr noundef %22055) #11
  %22057 = call i32 @isatty(i32 noundef %22056) #11
  %22058 = icmp ne i32 %22057, 0
  br i1 %22058, label %22059, label %22076

22059:                                            ; preds = %22054
  %22060 = load i32, ptr %480, align 4, !tbaa !5
  %22061 = call ptr @__errno_location() #12
  store i32 %22060, ptr %22061, align 4, !tbaa !5
  %22062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22063 = load i32, ptr @test_count, align 4, !tbaa !5
  %22064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22065 = load i32, ptr %22064, align 4, !tbaa !5
  %22066 = call ptr @s2n_strerror(i32 noundef %22065, ptr noundef @.str.4)
  %22067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22068 = load i32, ptr %22067, align 4, !tbaa !5
  %22069 = call ptr @s2n_strerror_debug(i32 noundef %22068, ptr noundef @.str.4)
  %22070 = call ptr @__errno_location() #12
  %22071 = load i32, ptr %22070, align 4, !tbaa !5
  %22072 = call ptr @strerror(i32 noundef %22071) #11
  %22073 = call ptr @__errno_location() #12
  %22074 = load i32, ptr %22073, align 4, !tbaa !5
  %22075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22062, ptr noundef @.str.2, i32 noundef %22063, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 964, ptr noundef %22066, ptr noundef %22069, ptr noundef %22072, i32 noundef %22074) #11
  br label %22093

22076:                                            ; preds = %22054, %22047
  %22077 = load i32, ptr %480, align 4, !tbaa !5
  %22078 = call ptr @__errno_location() #12
  store i32 %22077, ptr %22078, align 4, !tbaa !5
  %22079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22080 = load i32, ptr @test_count, align 4, !tbaa !5
  %22081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22082 = load i32, ptr %22081, align 4, !tbaa !5
  %22083 = call ptr @s2n_strerror(i32 noundef %22082, ptr noundef @.str.4)
  %22084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22085 = load i32, ptr %22084, align 4, !tbaa !5
  %22086 = call ptr @s2n_strerror_debug(i32 noundef %22085, ptr noundef @.str.4)
  %22087 = call ptr @__errno_location() #12
  %22088 = load i32, ptr %22087, align 4, !tbaa !5
  %22089 = call ptr @strerror(i32 noundef %22088) #11
  %22090 = call ptr @__errno_location() #12
  %22091 = load i32, ptr %22090, align 4, !tbaa !5
  %22092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22079, ptr noundef @.str.5, i32 noundef %22080, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 964, ptr noundef %22083, ptr noundef %22086, ptr noundef %22089, i32 noundef %22091) #11
  br label %22093

22093:                                            ; preds = %22076, %22059
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %22094

22094:                                            ; preds = %22093
  br label %22095

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

22096:                                            ; No predecessors!
  br label %22097

22097:                                            ; preds = %22096
  br label %22098

22098:                                            ; preds = %22097, %22040
  br label %22099

22099:                                            ; preds = %22098
  br label %22100

22100:                                            ; preds = %22099
  br label %22101

22101:                                            ; preds = %22100
  %22102 = load i32, ptr @test_count, align 4, !tbaa !5
  %22103 = add nsw i32 %22102, 1
  store i32 %22103, ptr @test_count, align 4, !tbaa !5
  %22104 = load ptr, ptr %476, align 8, !tbaa !9
  %22105 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %22104, i32 noundef 15)
  %22106 = icmp eq i32 %22105, -1
  br i1 %22106, label %22107, label %22160

22107:                                            ; preds = %22101
  br label %22108

22108:                                            ; preds = %22107
  br label %22109

22109:                                            ; preds = %22108
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %22110 = call ptr @__errno_location() #12
  %22111 = load i32, ptr %22110, align 4, !tbaa !5
  store i32 %22111, ptr %481, align 4, !tbaa !5
  %22112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22113 = call i32 @s2n_print_stacktrace(ptr noundef %22112)
  %22114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22115 = trunc i8 %22114 to i1
  br i1 %22115, label %22116, label %22138

22116:                                            ; preds = %22109
  %22117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22118 = call i32 @fileno(ptr noundef %22117) #11
  %22119 = call i32 @isatty(i32 noundef %22118) #11
  %22120 = icmp ne i32 %22119, 0
  br i1 %22120, label %22121, label %22138

22121:                                            ; preds = %22116
  %22122 = load i32, ptr %481, align 4, !tbaa !5
  %22123 = call ptr @__errno_location() #12
  store i32 %22122, ptr %22123, align 4, !tbaa !5
  %22124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22125 = load i32, ptr @test_count, align 4, !tbaa !5
  %22126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22127 = load i32, ptr %22126, align 4, !tbaa !5
  %22128 = call ptr @s2n_strerror(i32 noundef %22127, ptr noundef @.str.4)
  %22129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22130 = load i32, ptr %22129, align 4, !tbaa !5
  %22131 = call ptr @s2n_strerror_debug(i32 noundef %22130, ptr noundef @.str.4)
  %22132 = call ptr @__errno_location() #12
  %22133 = load i32, ptr %22132, align 4, !tbaa !5
  %22134 = call ptr @strerror(i32 noundef %22133) #11
  %22135 = call ptr @__errno_location() #12
  %22136 = load i32, ptr %22135, align 4, !tbaa !5
  %22137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22124, ptr noundef @.str.2, i32 noundef %22125, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 967, ptr noundef %22128, ptr noundef %22131, ptr noundef %22134, i32 noundef %22136) #11
  br label %22155

22138:                                            ; preds = %22116, %22109
  %22139 = load i32, ptr %481, align 4, !tbaa !5
  %22140 = call ptr @__errno_location() #12
  store i32 %22139, ptr %22140, align 4, !tbaa !5
  %22141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22142 = load i32, ptr @test_count, align 4, !tbaa !5
  %22143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22144 = load i32, ptr %22143, align 4, !tbaa !5
  %22145 = call ptr @s2n_strerror(i32 noundef %22144, ptr noundef @.str.4)
  %22146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22147 = load i32, ptr %22146, align 4, !tbaa !5
  %22148 = call ptr @s2n_strerror_debug(i32 noundef %22147, ptr noundef @.str.4)
  %22149 = call ptr @__errno_location() #12
  %22150 = load i32, ptr %22149, align 4, !tbaa !5
  %22151 = call ptr @strerror(i32 noundef %22150) #11
  %22152 = call ptr @__errno_location() #12
  %22153 = load i32, ptr %22152, align 4, !tbaa !5
  %22154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22141, ptr noundef @.str.5, i32 noundef %22142, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 967, ptr noundef %22145, ptr noundef %22148, ptr noundef %22151, i32 noundef %22153) #11
  br label %22155

22155:                                            ; preds = %22138, %22121
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  br label %22156

22156:                                            ; preds = %22155
  br label %22157

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

22158:                                            ; No predecessors!
  br label %22159

22159:                                            ; preds = %22158
  br label %22160

22160:                                            ; preds = %22159, %22101
  br label %22161

22161:                                            ; preds = %22160
  br label %22162

22162:                                            ; preds = %22161
  br label %22163

22163:                                            ; preds = %22162
  %22164 = load i32, ptr @test_count, align 4, !tbaa !5
  %22165 = add nsw i32 %22164, 1
  store i32 %22165, ptr @test_count, align 4, !tbaa !5
  %22166 = load ptr, ptr %476, align 8, !tbaa !9
  %22167 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %22166, ptr noundef %473)
  %22168 = icmp eq i32 %22167, -1
  br i1 %22168, label %22169, label %22222

22169:                                            ; preds = %22163
  br label %22170

22170:                                            ; preds = %22169
  br label %22171

22171:                                            ; preds = %22170
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %22172 = call ptr @__errno_location() #12
  %22173 = load i32, ptr %22172, align 4, !tbaa !5
  store i32 %22173, ptr %482, align 4, !tbaa !5
  %22174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22175 = call i32 @s2n_print_stacktrace(ptr noundef %22174)
  %22176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22177 = trunc i8 %22176 to i1
  br i1 %22177, label %22178, label %22200

22178:                                            ; preds = %22171
  %22179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22180 = call i32 @fileno(ptr noundef %22179) #11
  %22181 = call i32 @isatty(i32 noundef %22180) #11
  %22182 = icmp ne i32 %22181, 0
  br i1 %22182, label %22183, label %22200

22183:                                            ; preds = %22178
  %22184 = load i32, ptr %482, align 4, !tbaa !5
  %22185 = call ptr @__errno_location() #12
  store i32 %22184, ptr %22185, align 4, !tbaa !5
  %22186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22187 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %22189, ptr noundef @.str.4)
  %22191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22192 = load i32, ptr %22191, align 4, !tbaa !5
  %22193 = call ptr @s2n_strerror_debug(i32 noundef %22192, ptr noundef @.str.4)
  %22194 = call ptr @__errno_location() #12
  %22195 = load i32, ptr %22194, align 4, !tbaa !5
  %22196 = call ptr @strerror(i32 noundef %22195) #11
  %22197 = call ptr @__errno_location() #12
  %22198 = load i32, ptr %22197, align 4, !tbaa !5
  %22199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22186, ptr noundef @.str.2, i32 noundef %22187, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 968, ptr noundef %22190, ptr noundef %22193, ptr noundef %22196, i32 noundef %22198) #11
  br label %22217

22200:                                            ; preds = %22178, %22171
  %22201 = load i32, ptr %482, align 4, !tbaa !5
  %22202 = call ptr @__errno_location() #12
  store i32 %22201, ptr %22202, align 4, !tbaa !5
  %22203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22204 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %22206, ptr noundef @.str.4)
  %22208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22209 = load i32, ptr %22208, align 4, !tbaa !5
  %22210 = call ptr @s2n_strerror_debug(i32 noundef %22209, ptr noundef @.str.4)
  %22211 = call ptr @__errno_location() #12
  %22212 = load i32, ptr %22211, align 4, !tbaa !5
  %22213 = call ptr @strerror(i32 noundef %22212) #11
  %22214 = call ptr @__errno_location() #12
  %22215 = load i32, ptr %22214, align 4, !tbaa !5
  %22216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22203, ptr noundef @.str.5, i32 noundef %22204, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 968, ptr noundef %22207, ptr noundef %22210, ptr noundef %22213, i32 noundef %22215) #11
  br label %22217

22217:                                            ; preds = %22200, %22183
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %22218

22218:                                            ; preds = %22217
  br label %22219

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

22220:                                            ; No predecessors!
  br label %22221

22221:                                            ; preds = %22220
  br label %22222

22222:                                            ; preds = %22221, %22163
  br label %22223

22223:                                            ; preds = %22222
  br label %22224

22224:                                            ; preds = %22223
  br label %22225

22225:                                            ; preds = %22224
  %22226 = load i32, ptr @test_count, align 4, !tbaa !5
  %22227 = add nsw i32 %22226, 1
  store i32 %22227, ptr @test_count, align 4, !tbaa !5
  %22228 = load i32, ptr %473, align 4, !tbaa !5
  %22229 = icmp eq i32 %22228, 0
  br i1 %22229, label %22283, label %22230

22230:                                            ; preds = %22225
  br label %22231

22231:                                            ; preds = %22230
  br label %22232

22232:                                            ; preds = %22231
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %22233 = call ptr @__errno_location() #12
  %22234 = load i32, ptr %22233, align 4, !tbaa !5
  store i32 %22234, ptr %483, align 4, !tbaa !5
  %22235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22236 = call i32 @s2n_print_stacktrace(ptr noundef %22235)
  %22237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22238 = trunc i8 %22237 to i1
  br i1 %22238, label %22239, label %22261

22239:                                            ; preds = %22232
  %22240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22241 = call i32 @fileno(ptr noundef %22240) #11
  %22242 = call i32 @isatty(i32 noundef %22241) #11
  %22243 = icmp ne i32 %22242, 0
  br i1 %22243, label %22244, label %22261

22244:                                            ; preds = %22239
  %22245 = load i32, ptr %483, align 4, !tbaa !5
  %22246 = call ptr @__errno_location() #12
  store i32 %22245, ptr %22246, align 4, !tbaa !5
  %22247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22248 = load i32, ptr @test_count, align 4, !tbaa !5
  %22249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22250 = load i32, ptr %22249, align 4, !tbaa !5
  %22251 = call ptr @s2n_strerror(i32 noundef %22250, ptr noundef @.str.4)
  %22252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22253 = load i32, ptr %22252, align 4, !tbaa !5
  %22254 = call ptr @s2n_strerror_debug(i32 noundef %22253, ptr noundef @.str.4)
  %22255 = call ptr @__errno_location() #12
  %22256 = load i32, ptr %22255, align 4, !tbaa !5
  %22257 = call ptr @strerror(i32 noundef %22256) #11
  %22258 = call ptr @__errno_location() #12
  %22259 = load i32, ptr %22258, align 4, !tbaa !5
  %22260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22247, ptr noundef @.str.2, i32 noundef %22248, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 969, ptr noundef %22251, ptr noundef %22254, ptr noundef %22257, i32 noundef %22259) #11
  br label %22278

22261:                                            ; preds = %22239, %22232
  %22262 = load i32, ptr %483, align 4, !tbaa !5
  %22263 = call ptr @__errno_location() #12
  store i32 %22262, ptr %22263, align 4, !tbaa !5
  %22264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22265 = load i32, ptr @test_count, align 4, !tbaa !5
  %22266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22267 = load i32, ptr %22266, align 4, !tbaa !5
  %22268 = call ptr @s2n_strerror(i32 noundef %22267, ptr noundef @.str.4)
  %22269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22270 = load i32, ptr %22269, align 4, !tbaa !5
  %22271 = call ptr @s2n_strerror_debug(i32 noundef %22270, ptr noundef @.str.4)
  %22272 = call ptr @__errno_location() #12
  %22273 = load i32, ptr %22272, align 4, !tbaa !5
  %22274 = call ptr @strerror(i32 noundef %22273) #11
  %22275 = call ptr @__errno_location() #12
  %22276 = load i32, ptr %22275, align 4, !tbaa !5
  %22277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22264, ptr noundef @.str.5, i32 noundef %22265, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 969, ptr noundef %22268, ptr noundef %22271, ptr noundef %22274, i32 noundef %22276) #11
  br label %22278

22278:                                            ; preds = %22261, %22244
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %22279

22279:                                            ; preds = %22278
  br label %22280

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

22281:                                            ; No predecessors!
  br label %22282

22282:                                            ; preds = %22281
  br label %22283

22283:                                            ; preds = %22282, %22225
  br label %22284

22284:                                            ; preds = %22283
  br label %22285

22285:                                            ; preds = %22284
  %22286 = load ptr, ptr %474, align 8, !tbaa !9
  %22287 = getelementptr inbounds %struct.s2n_connection, ptr %22286, i32 0, i32 52
  %22288 = getelementptr inbounds %struct.s2n_handshake, ptr %22287, i32 0, i32 6
  store i32 1, ptr %22288, align 4, !tbaa !80
  br label %22289

22289:                                            ; preds = %22285
  %22290 = load i32, ptr @test_count, align 4, !tbaa !5
  %22291 = add nsw i32 %22290, 1
  store i32 %22291, ptr @test_count, align 4, !tbaa !5
  %22292 = load ptr, ptr %474, align 8, !tbaa !9
  %22293 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef %22292, ptr noundef %473)
  %22294 = icmp eq i32 %22293, -1
  br i1 %22294, label %22295, label %22348

22295:                                            ; preds = %22289
  br label %22296

22296:                                            ; preds = %22295
  br label %22297

22297:                                            ; preds = %22296
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %22298 = call ptr @__errno_location() #12
  %22299 = load i32, ptr %22298, align 4, !tbaa !5
  store i32 %22299, ptr %484, align 4, !tbaa !5
  %22300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22301 = call i32 @s2n_print_stacktrace(ptr noundef %22300)
  %22302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22303 = trunc i8 %22302 to i1
  br i1 %22303, label %22304, label %22326

22304:                                            ; preds = %22297
  %22305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22306 = call i32 @fileno(ptr noundef %22305) #11
  %22307 = call i32 @isatty(i32 noundef %22306) #11
  %22308 = icmp ne i32 %22307, 0
  br i1 %22308, label %22309, label %22326

22309:                                            ; preds = %22304
  %22310 = load i32, ptr %484, align 4, !tbaa !5
  %22311 = call ptr @__errno_location() #12
  store i32 %22310, ptr %22311, align 4, !tbaa !5
  %22312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22313 = load i32, ptr @test_count, align 4, !tbaa !5
  %22314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22315 = load i32, ptr %22314, align 4, !tbaa !5
  %22316 = call ptr @s2n_strerror(i32 noundef %22315, ptr noundef @.str.4)
  %22317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22318 = load i32, ptr %22317, align 4, !tbaa !5
  %22319 = call ptr @s2n_strerror_debug(i32 noundef %22318, ptr noundef @.str.4)
  %22320 = call ptr @__errno_location() #12
  %22321 = load i32, ptr %22320, align 4, !tbaa !5
  %22322 = call ptr @strerror(i32 noundef %22321) #11
  %22323 = call ptr @__errno_location() #12
  %22324 = load i32, ptr %22323, align 4, !tbaa !5
  %22325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22312, ptr noundef @.str.2, i32 noundef %22313, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 973, ptr noundef %22316, ptr noundef %22319, ptr noundef %22322, i32 noundef %22324) #11
  br label %22343

22326:                                            ; preds = %22304, %22297
  %22327 = load i32, ptr %484, align 4, !tbaa !5
  %22328 = call ptr @__errno_location() #12
  store i32 %22327, ptr %22328, align 4, !tbaa !5
  %22329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22330 = load i32, ptr @test_count, align 4, !tbaa !5
  %22331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22332 = load i32, ptr %22331, align 4, !tbaa !5
  %22333 = call ptr @s2n_strerror(i32 noundef %22332, ptr noundef @.str.4)
  %22334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22335 = load i32, ptr %22334, align 4, !tbaa !5
  %22336 = call ptr @s2n_strerror_debug(i32 noundef %22335, ptr noundef @.str.4)
  %22337 = call ptr @__errno_location() #12
  %22338 = load i32, ptr %22337, align 4, !tbaa !5
  %22339 = call ptr @strerror(i32 noundef %22338) #11
  %22340 = call ptr @__errno_location() #12
  %22341 = load i32, ptr %22340, align 4, !tbaa !5
  %22342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22329, ptr noundef @.str.5, i32 noundef %22330, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 973, ptr noundef %22333, ptr noundef %22336, ptr noundef %22339, i32 noundef %22341) #11
  br label %22343

22343:                                            ; preds = %22326, %22309
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %22344

22344:                                            ; preds = %22343
  br label %22345

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

22346:                                            ; No predecessors!
  br label %22347

22347:                                            ; preds = %22346
  br label %22348

22348:                                            ; preds = %22347, %22289
  br label %22349

22349:                                            ; preds = %22348
  br label %22350

22350:                                            ; preds = %22349
  br label %22351

22351:                                            ; preds = %22350
  %22352 = load i32, ptr @test_count, align 4, !tbaa !5
  %22353 = add nsw i32 %22352, 1
  store i32 %22353, ptr @test_count, align 4, !tbaa !5
  %22354 = load i32, ptr %473, align 4, !tbaa !5
  %22355 = icmp eq i32 %22354, 0
  br i1 %22355, label %22409, label %22356

22356:                                            ; preds = %22351
  br label %22357

22357:                                            ; preds = %22356
  br label %22358

22358:                                            ; preds = %22357
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #11
  %22359 = call ptr @__errno_location() #12
  %22360 = load i32, ptr %22359, align 4, !tbaa !5
  store i32 %22360, ptr %485, align 4, !tbaa !5
  %22361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22362 = call i32 @s2n_print_stacktrace(ptr noundef %22361)
  %22363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22364 = trunc i8 %22363 to i1
  br i1 %22364, label %22365, label %22387

22365:                                            ; preds = %22358
  %22366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22367 = call i32 @fileno(ptr noundef %22366) #11
  %22368 = call i32 @isatty(i32 noundef %22367) #11
  %22369 = icmp ne i32 %22368, 0
  br i1 %22369, label %22370, label %22387

22370:                                            ; preds = %22365
  %22371 = load i32, ptr %485, align 4, !tbaa !5
  %22372 = call ptr @__errno_location() #12
  store i32 %22371, ptr %22372, align 4, !tbaa !5
  %22373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22374 = load i32, ptr @test_count, align 4, !tbaa !5
  %22375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22376 = load i32, ptr %22375, align 4, !tbaa !5
  %22377 = call ptr @s2n_strerror(i32 noundef %22376, ptr noundef @.str.4)
  %22378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22379 = load i32, ptr %22378, align 4, !tbaa !5
  %22380 = call ptr @s2n_strerror_debug(i32 noundef %22379, ptr noundef @.str.4)
  %22381 = call ptr @__errno_location() #12
  %22382 = load i32, ptr %22381, align 4, !tbaa !5
  %22383 = call ptr @strerror(i32 noundef %22382) #11
  %22384 = call ptr @__errno_location() #12
  %22385 = load i32, ptr %22384, align 4, !tbaa !5
  %22386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22373, ptr noundef @.str.2, i32 noundef %22374, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 974, ptr noundef %22377, ptr noundef %22380, ptr noundef %22383, i32 noundef %22385) #11
  br label %22404

22387:                                            ; preds = %22365, %22358
  %22388 = load i32, ptr %485, align 4, !tbaa !5
  %22389 = call ptr @__errno_location() #12
  store i32 %22388, ptr %22389, align 4, !tbaa !5
  %22390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22391 = load i32, ptr @test_count, align 4, !tbaa !5
  %22392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22393 = load i32, ptr %22392, align 4, !tbaa !5
  %22394 = call ptr @s2n_strerror(i32 noundef %22393, ptr noundef @.str.4)
  %22395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22396 = load i32, ptr %22395, align 4, !tbaa !5
  %22397 = call ptr @s2n_strerror_debug(i32 noundef %22396, ptr noundef @.str.4)
  %22398 = call ptr @__errno_location() #12
  %22399 = load i32, ptr %22398, align 4, !tbaa !5
  %22400 = call ptr @strerror(i32 noundef %22399) #11
  %22401 = call ptr @__errno_location() #12
  %22402 = load i32, ptr %22401, align 4, !tbaa !5
  %22403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22390, ptr noundef @.str.5, i32 noundef %22391, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 974, ptr noundef %22394, ptr noundef %22397, ptr noundef %22400, i32 noundef %22402) #11
  br label %22404

22404:                                            ; preds = %22387, %22370
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #11
  br label %22405

22405:                                            ; preds = %22404
  br label %22406

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

22407:                                            ; No predecessors!
  br label %22408

22408:                                            ; preds = %22407
  br label %22409

22409:                                            ; preds = %22408, %22351
  br label %22410

22410:                                            ; preds = %22409
  br label %22411

22411:                                            ; preds = %22410
  br label %22412

22412:                                            ; preds = %22411
  %22413 = load i32, ptr @test_count, align 4, !tbaa !5
  %22414 = add nsw i32 %22413, 1
  store i32 %22414, ptr @test_count, align 4, !tbaa !5
  %22415 = load ptr, ptr %476, align 8, !tbaa !9
  %22416 = call i32 @s2n_connection_free(ptr noundef %22415)
  %22417 = icmp eq i32 %22416, -1
  br i1 %22417, label %22418, label %22471

22418:                                            ; preds = %22412
  br label %22419

22419:                                            ; preds = %22418
  br label %22420

22420:                                            ; preds = %22419
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #11
  %22421 = call ptr @__errno_location() #12
  %22422 = load i32, ptr %22421, align 4, !tbaa !5
  store i32 %22422, ptr %486, align 4, !tbaa !5
  %22423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22424 = call i32 @s2n_print_stacktrace(ptr noundef %22423)
  %22425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22426 = trunc i8 %22425 to i1
  br i1 %22426, label %22427, label %22449

22427:                                            ; preds = %22420
  %22428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22429 = call i32 @fileno(ptr noundef %22428) #11
  %22430 = call i32 @isatty(i32 noundef %22429) #11
  %22431 = icmp ne i32 %22430, 0
  br i1 %22431, label %22432, label %22449

22432:                                            ; preds = %22427
  %22433 = load i32, ptr %486, align 4, !tbaa !5
  %22434 = call ptr @__errno_location() #12
  store i32 %22433, ptr %22434, align 4, !tbaa !5
  %22435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22436 = load i32, ptr @test_count, align 4, !tbaa !5
  %22437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22438 = load i32, ptr %22437, align 4, !tbaa !5
  %22439 = call ptr @s2n_strerror(i32 noundef %22438, ptr noundef @.str.4)
  %22440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22441 = load i32, ptr %22440, align 4, !tbaa !5
  %22442 = call ptr @s2n_strerror_debug(i32 noundef %22441, ptr noundef @.str.4)
  %22443 = call ptr @__errno_location() #12
  %22444 = load i32, ptr %22443, align 4, !tbaa !5
  %22445 = call ptr @strerror(i32 noundef %22444) #11
  %22446 = call ptr @__errno_location() #12
  %22447 = load i32, ptr %22446, align 4, !tbaa !5
  %22448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22435, ptr noundef @.str.2, i32 noundef %22436, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 976, ptr noundef %22439, ptr noundef %22442, ptr noundef %22445, i32 noundef %22447) #11
  br label %22466

22449:                                            ; preds = %22427, %22420
  %22450 = load i32, ptr %486, align 4, !tbaa !5
  %22451 = call ptr @__errno_location() #12
  store i32 %22450, ptr %22451, align 4, !tbaa !5
  %22452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22453 = load i32, ptr @test_count, align 4, !tbaa !5
  %22454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22455 = load i32, ptr %22454, align 4, !tbaa !5
  %22456 = call ptr @s2n_strerror(i32 noundef %22455, ptr noundef @.str.4)
  %22457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22458 = load i32, ptr %22457, align 4, !tbaa !5
  %22459 = call ptr @s2n_strerror_debug(i32 noundef %22458, ptr noundef @.str.4)
  %22460 = call ptr @__errno_location() #12
  %22461 = load i32, ptr %22460, align 4, !tbaa !5
  %22462 = call ptr @strerror(i32 noundef %22461) #11
  %22463 = call ptr @__errno_location() #12
  %22464 = load i32, ptr %22463, align 4, !tbaa !5
  %22465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22452, ptr noundef @.str.5, i32 noundef %22453, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 976, ptr noundef %22456, ptr noundef %22459, ptr noundef %22462, i32 noundef %22464) #11
  br label %22466

22466:                                            ; preds = %22449, %22432
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #11
  br label %22467

22467:                                            ; preds = %22466
  br label %22468

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

22469:                                            ; No predecessors!
  br label %22470

22470:                                            ; preds = %22469
  br label %22471

22471:                                            ; preds = %22470, %22412
  br label %22472

22472:                                            ; preds = %22471
  br label %22473

22473:                                            ; preds = %22472
  br label %22474

22474:                                            ; preds = %22473
  %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 = load ptr, ptr %474, align 8, !tbaa !9
  %22478 = call i32 @s2n_connection_free(ptr noundef %22477)
  %22479 = icmp eq i32 %22478, -1
  br i1 %22479, label %22480, label %22533

22480:                                            ; preds = %22474
  br label %22481

22481:                                            ; preds = %22480
  br label %22482

22482:                                            ; preds = %22481
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #11
  %22483 = call ptr @__errno_location() #12
  %22484 = load i32, ptr %22483, align 4, !tbaa !5
  store i32 %22484, ptr %487, align 4, !tbaa !5
  %22485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22486 = call i32 @s2n_print_stacktrace(ptr noundef %22485)
  %22487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22488 = trunc i8 %22487 to i1
  br i1 %22488, label %22489, label %22511

22489:                                            ; preds = %22482
  %22490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22491 = call i32 @fileno(ptr noundef %22490) #11
  %22492 = call i32 @isatty(i32 noundef %22491) #11
  %22493 = icmp ne i32 %22492, 0
  br i1 %22493, label %22494, label %22511

22494:                                            ; preds = %22489
  %22495 = load i32, ptr %487, align 4, !tbaa !5
  %22496 = call ptr @__errno_location() #12
  store i32 %22495, ptr %22496, align 4, !tbaa !5
  %22497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22498 = load i32, ptr @test_count, align 4, !tbaa !5
  %22499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22500 = load i32, ptr %22499, align 4, !tbaa !5
  %22501 = call ptr @s2n_strerror(i32 noundef %22500, ptr noundef @.str.4)
  %22502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22503 = load i32, ptr %22502, align 4, !tbaa !5
  %22504 = call ptr @s2n_strerror_debug(i32 noundef %22503, ptr noundef @.str.4)
  %22505 = call ptr @__errno_location() #12
  %22506 = load i32, ptr %22505, align 4, !tbaa !5
  %22507 = call ptr @strerror(i32 noundef %22506) #11
  %22508 = call ptr @__errno_location() #12
  %22509 = load i32, ptr %22508, align 4, !tbaa !5
  %22510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22497, ptr noundef @.str.2, i32 noundef %22498, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 977, ptr noundef %22501, ptr noundef %22504, ptr noundef %22507, i32 noundef %22509) #11
  br label %22528

22511:                                            ; preds = %22489, %22482
  %22512 = load i32, ptr %487, align 4, !tbaa !5
  %22513 = call ptr @__errno_location() #12
  store i32 %22512, ptr %22513, align 4, !tbaa !5
  %22514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22515 = load i32, ptr @test_count, align 4, !tbaa !5
  %22516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22517 = load i32, ptr %22516, align 4, !tbaa !5
  %22518 = call ptr @s2n_strerror(i32 noundef %22517, ptr noundef @.str.4)
  %22519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22520 = load i32, ptr %22519, align 4, !tbaa !5
  %22521 = call ptr @s2n_strerror_debug(i32 noundef %22520, ptr noundef @.str.4)
  %22522 = call ptr @__errno_location() #12
  %22523 = load i32, ptr %22522, align 4, !tbaa !5
  %22524 = call ptr @strerror(i32 noundef %22523) #11
  %22525 = call ptr @__errno_location() #12
  %22526 = load i32, ptr %22525, align 4, !tbaa !5
  %22527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22514, ptr noundef @.str.5, i32 noundef %22515, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 977, ptr noundef %22518, ptr noundef %22521, ptr noundef %22524, i32 noundef %22526) #11
  br label %22528

22528:                                            ; preds = %22511, %22494
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #11
  br label %22529

22529:                                            ; preds = %22528
  br label %22530

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

22531:                                            ; No predecessors!
  br label %22532

22532:                                            ; preds = %22531
  br label %22533

22533:                                            ; preds = %22532, %22474
  br label %22534

22534:                                            ; preds = %22533
  br label %22535

22535:                                            ; preds = %22534
  call void @llvm.lifetime.end.p0(i64 8, ptr %476) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %474) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #11
  br label %22536

22536:                                            ; preds = %22535
  br label %22537

22537:                                            ; preds = %22536
  br label %22538

22538:                                            ; preds = %22537
  %22539 = load i32, ptr @test_count, align 4, !tbaa !5
  %22540 = add nsw i32 %22539, 1
  store i32 %22540, ptr @test_count, align 4, !tbaa !5
  %22541 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef null, i32 noundef 1)
  %22542 = icmp eq i32 %22541, -1
  br i1 %22542, label %22596, label %22543

22543:                                            ; preds = %22538
  br label %22544

22544:                                            ; preds = %22543
  br label %22545

22545:                                            ; preds = %22544
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #11
  %22546 = call ptr @__errno_location() #12
  %22547 = load i32, ptr %22546, align 4, !tbaa !5
  store i32 %22547, ptr %488, align 4, !tbaa !5
  %22548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22549 = call i32 @s2n_print_stacktrace(ptr noundef %22548)
  %22550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22551 = trunc i8 %22550 to i1
  br i1 %22551, label %22552, label %22574

22552:                                            ; preds = %22545
  %22553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22554 = call i32 @fileno(ptr noundef %22553) #11
  %22555 = call i32 @isatty(i32 noundef %22554) #11
  %22556 = icmp ne i32 %22555, 0
  br i1 %22556, label %22557, label %22574

22557:                                            ; preds = %22552
  %22558 = load i32, ptr %488, align 4, !tbaa !5
  %22559 = call ptr @__errno_location() #12
  store i32 %22558, ptr %22559, align 4, !tbaa !5
  %22560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22561 = load i32, ptr @test_count, align 4, !tbaa !5
  %22562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22563 = load i32, ptr %22562, align 4, !tbaa !5
  %22564 = call ptr @s2n_strerror(i32 noundef %22563, ptr noundef @.str.4)
  %22565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22566 = load i32, ptr %22565, align 4, !tbaa !5
  %22567 = call ptr @s2n_strerror_debug(i32 noundef %22566, ptr noundef @.str.4)
  %22568 = call ptr @__errno_location() #12
  %22569 = load i32, ptr %22568, align 4, !tbaa !5
  %22570 = call ptr @strerror(i32 noundef %22569) #11
  %22571 = call ptr @__errno_location() #12
  %22572 = load i32, ptr %22571, align 4, !tbaa !5
  %22573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22560, ptr noundef @.str.2, i32 noundef %22561, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 984, ptr noundef %22564, ptr noundef %22567, ptr noundef %22570, i32 noundef %22572) #11
  br label %22591

22574:                                            ; preds = %22552, %22545
  %22575 = load i32, ptr %488, align 4, !tbaa !5
  %22576 = call ptr @__errno_location() #12
  store i32 %22575, ptr %22576, align 4, !tbaa !5
  %22577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22578 = load i32, ptr @test_count, align 4, !tbaa !5
  %22579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22580 = load i32, ptr %22579, align 4, !tbaa !5
  %22581 = call ptr @s2n_strerror(i32 noundef %22580, ptr noundef @.str.4)
  %22582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22583 = load i32, ptr %22582, align 4, !tbaa !5
  %22584 = call ptr @s2n_strerror_debug(i32 noundef %22583, ptr noundef @.str.4)
  %22585 = call ptr @__errno_location() #12
  %22586 = load i32, ptr %22585, align 4, !tbaa !5
  %22587 = call ptr @strerror(i32 noundef %22586) #11
  %22588 = call ptr @__errno_location() #12
  %22589 = load i32, ptr %22588, align 4, !tbaa !5
  %22590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22577, ptr noundef @.str.5, i32 noundef %22578, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 984, ptr noundef %22581, ptr noundef %22584, ptr noundef %22587, i32 noundef %22589) #11
  br label %22591

22591:                                            ; preds = %22574, %22557
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #11
  br label %22592

22592:                                            ; preds = %22591
  br label %22593

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

22594:                                            ; No predecessors!
  br label %22595

22595:                                            ; preds = %22594
  br label %22596

22596:                                            ; preds = %22595, %22538
  br label %22597

22597:                                            ; preds = %22596
  br label %22598

22598:                                            ; preds = %22597
  br label %22599

22599:                                            ; preds = %22598
  %22600 = load i32, ptr @test_count, align 4, !tbaa !5
  %22601 = add nsw i32 %22600, 1
  store i32 %22601, ptr @test_count, align 4, !tbaa !5
  %22602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22603 = load i32, ptr %22602, align 4, !tbaa !5
  %22604 = icmp eq i32 %22603, 402653193
  br i1 %22604, label %22658, label %22605

22605:                                            ; preds = %22599
  br label %22606

22606:                                            ; preds = %22605
  br label %22607

22607:                                            ; preds = %22606
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #11
  %22608 = call ptr @__errno_location() #12
  %22609 = load i32, ptr %22608, align 4, !tbaa !5
  store i32 %22609, ptr %489, align 4, !tbaa !5
  %22610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22611 = call i32 @s2n_print_stacktrace(ptr noundef %22610)
  %22612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22613 = trunc i8 %22612 to i1
  br i1 %22613, label %22614, label %22636

22614:                                            ; preds = %22607
  %22615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22616 = call i32 @fileno(ptr noundef %22615) #11
  %22617 = call i32 @isatty(i32 noundef %22616) #11
  %22618 = icmp ne i32 %22617, 0
  br i1 %22618, label %22619, label %22636

22619:                                            ; preds = %22614
  %22620 = load i32, ptr %489, align 4, !tbaa !5
  %22621 = call ptr @__errno_location() #12
  store i32 %22620, ptr %22621, align 4, !tbaa !5
  %22622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22623 = load i32, ptr @test_count, align 4, !tbaa !5
  %22624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22625 = load i32, ptr %22624, align 4, !tbaa !5
  %22626 = call ptr @s2n_strerror(i32 noundef %22625, ptr noundef @.str.4)
  %22627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22628 = load i32, ptr %22627, align 4, !tbaa !5
  %22629 = call ptr @s2n_strerror_debug(i32 noundef %22628, ptr noundef @.str.4)
  %22630 = call ptr @__errno_location() #12
  %22631 = load i32, ptr %22630, align 4, !tbaa !5
  %22632 = call ptr @strerror(i32 noundef %22631) #11
  %22633 = call ptr @__errno_location() #12
  %22634 = load i32, ptr %22633, align 4, !tbaa !5
  %22635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22622, ptr noundef @.str.2, i32 noundef %22623, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 984, ptr noundef %22626, ptr noundef %22629, ptr noundef %22632, i32 noundef %22634) #11
  br label %22653

22636:                                            ; preds = %22614, %22607
  %22637 = load i32, ptr %489, align 4, !tbaa !5
  %22638 = call ptr @__errno_location() #12
  store i32 %22637, ptr %22638, align 4, !tbaa !5
  %22639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22640 = load i32, ptr @test_count, align 4, !tbaa !5
  %22641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22642 = load i32, ptr %22641, align 4, !tbaa !5
  %22643 = call ptr @s2n_strerror(i32 noundef %22642, ptr noundef @.str.4)
  %22644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22645 = load i32, ptr %22644, align 4, !tbaa !5
  %22646 = call ptr @s2n_strerror_debug(i32 noundef %22645, ptr noundef @.str.4)
  %22647 = call ptr @__errno_location() #12
  %22648 = load i32, ptr %22647, align 4, !tbaa !5
  %22649 = call ptr @strerror(i32 noundef %22648) #11
  %22650 = call ptr @__errno_location() #12
  %22651 = load i32, ptr %22650, align 4, !tbaa !5
  %22652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22639, ptr noundef @.str.5, i32 noundef %22640, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 984, ptr noundef %22643, ptr noundef %22646, ptr noundef %22649, i32 noundef %22651) #11
  br label %22653

22653:                                            ; preds = %22636, %22619
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #11
  br label %22654

22654:                                            ; preds = %22653
  br label %22655

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

22656:                                            ; No predecessors!
  br label %22657

22657:                                            ; preds = %22656
  br label %22658

22658:                                            ; preds = %22657, %22599
  br label %22659

22659:                                            ; preds = %22658
  br label %22660

22660:                                            ; preds = %22659
  br label %22661

22661:                                            ; preds = %22660
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22665 = load i32, ptr %22664, align 4, !tbaa !5
  %22666 = call ptr @s2n_strerror_debug(i32 noundef %22665, ptr noundef @.str.4)
  %22667 = icmp eq ptr %22666, null
  br i1 %22667, label %22668, label %22721

22668:                                            ; preds = %22661
  br label %22669

22669:                                            ; preds = %22668
  br label %22670

22670:                                            ; preds = %22669
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #11
  %22671 = call ptr @__errno_location() #12
  %22672 = load i32, ptr %22671, align 4, !tbaa !5
  store i32 %22672, ptr %490, align 4, !tbaa !5
  %22673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22674 = call i32 @s2n_print_stacktrace(ptr noundef %22673)
  %22675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22676 = trunc i8 %22675 to i1
  br i1 %22676, label %22677, label %22699

22677:                                            ; preds = %22670
  %22678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22679 = call i32 @fileno(ptr noundef %22678) #11
  %22680 = call i32 @isatty(i32 noundef %22679) #11
  %22681 = icmp ne i32 %22680, 0
  br i1 %22681, label %22682, label %22699

22682:                                            ; preds = %22677
  %22683 = load i32, ptr %490, align 4, !tbaa !5
  %22684 = call ptr @__errno_location() #12
  store i32 %22683, ptr %22684, align 4, !tbaa !5
  %22685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22686 = load i32, ptr @test_count, align 4, !tbaa !5
  %22687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22688 = load i32, ptr %22687, align 4, !tbaa !5
  %22689 = call ptr @s2n_strerror(i32 noundef %22688, ptr noundef @.str.4)
  %22690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22691 = load i32, ptr %22690, align 4, !tbaa !5
  %22692 = call ptr @s2n_strerror_debug(i32 noundef %22691, ptr noundef @.str.4)
  %22693 = call ptr @__errno_location() #12
  %22694 = load i32, ptr %22693, align 4, !tbaa !5
  %22695 = call ptr @strerror(i32 noundef %22694) #11
  %22696 = call ptr @__errno_location() #12
  %22697 = load i32, ptr %22696, align 4, !tbaa !5
  %22698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22685, ptr noundef @.str.2, i32 noundef %22686, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 984, ptr noundef %22689, ptr noundef %22692, ptr noundef %22695, i32 noundef %22697) #11
  br label %22716

22699:                                            ; preds = %22677, %22670
  %22700 = load i32, ptr %490, align 4, !tbaa !5
  %22701 = call ptr @__errno_location() #12
  store i32 %22700, ptr %22701, align 4, !tbaa !5
  %22702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22703 = load i32, ptr @test_count, align 4, !tbaa !5
  %22704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22705 = load i32, ptr %22704, align 4, !tbaa !5
  %22706 = call ptr @s2n_strerror(i32 noundef %22705, ptr noundef @.str.4)
  %22707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22708 = load i32, ptr %22707, align 4, !tbaa !5
  %22709 = call ptr @s2n_strerror_debug(i32 noundef %22708, ptr noundef @.str.4)
  %22710 = call ptr @__errno_location() #12
  %22711 = load i32, ptr %22710, align 4, !tbaa !5
  %22712 = call ptr @strerror(i32 noundef %22711) #11
  %22713 = call ptr @__errno_location() #12
  %22714 = load i32, ptr %22713, align 4, !tbaa !5
  %22715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22702, ptr noundef @.str.5, i32 noundef %22703, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 984, ptr noundef %22706, ptr noundef %22709, ptr noundef %22712, i32 noundef %22714) #11
  br label %22716

22716:                                            ; preds = %22699, %22682
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #11
  br label %22717

22717:                                            ; preds = %22716
  br label %22718

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

22719:                                            ; No predecessors!
  br label %22720

22720:                                            ; preds = %22719
  br label %22721

22721:                                            ; preds = %22720, %22661
  br label %22722

22722:                                            ; preds = %22721
  br label %22723

22723:                                            ; preds = %22722
  br label %22724

22724:                                            ; preds = %22723
  br label %22725

22725:                                            ; preds = %22724
  br label %22726

22726:                                            ; preds = %22725
  %22727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22727, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22728 = call ptr @__errno_location() #12
  store i32 0, ptr %22728, align 4, !tbaa !5
  br label %22729

22729:                                            ; preds = %22726
  br label %22730

22730:                                            ; preds = %22729
  br label %22731

22731:                                            ; preds = %22730
  br label %22732

22732:                                            ; preds = %22731
  call void @llvm.lifetime.start.p0(i64 8, ptr %491) #11
  %22733 = call ptr @s2n_config_new()
  store ptr %22733, ptr %491, align 8, !tbaa !9
  br label %22734

22734:                                            ; preds = %22732
  %22735 = load i32, ptr @test_count, align 4, !tbaa !5
  %22736 = add nsw i32 %22735, 1
  store i32 %22736, ptr @test_count, align 4, !tbaa !5
  %22737 = load ptr, ptr %491, align 8, !tbaa !9
  %22738 = icmp eq ptr %22737, null
  br i1 %22738, label %22739, label %22792

22739:                                            ; preds = %22734
  br label %22740

22740:                                            ; preds = %22739
  br label %22741

22741:                                            ; preds = %22740
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %22742 = call ptr @__errno_location() #12
  %22743 = load i32, ptr %22742, align 4, !tbaa !5
  store i32 %22743, ptr %492, align 4, !tbaa !5
  %22744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22745 = call i32 @s2n_print_stacktrace(ptr noundef %22744)
  %22746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22747 = trunc i8 %22746 to i1
  br i1 %22747, label %22748, label %22770

22748:                                            ; preds = %22741
  %22749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22750 = call i32 @fileno(ptr noundef %22749) #11
  %22751 = call i32 @isatty(i32 noundef %22750) #11
  %22752 = icmp ne i32 %22751, 0
  br i1 %22752, label %22753, label %22770

22753:                                            ; preds = %22748
  %22754 = load i32, ptr %492, align 4, !tbaa !5
  %22755 = call ptr @__errno_location() #12
  store i32 %22754, ptr %22755, align 4, !tbaa !5
  %22756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22757 = load i32, ptr @test_count, align 4, !tbaa !5
  %22758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22759 = load i32, ptr %22758, align 4, !tbaa !5
  %22760 = call ptr @s2n_strerror(i32 noundef %22759, ptr noundef @.str.4)
  %22761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22762 = load i32, ptr %22761, align 4, !tbaa !5
  %22763 = call ptr @s2n_strerror_debug(i32 noundef %22762, ptr noundef @.str.4)
  %22764 = call ptr @__errno_location() #12
  %22765 = load i32, ptr %22764, align 4, !tbaa !5
  %22766 = call ptr @strerror(i32 noundef %22765) #11
  %22767 = call ptr @__errno_location() #12
  %22768 = load i32, ptr %22767, align 4, !tbaa !5
  %22769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22756, ptr noundef @.str.2, i32 noundef %22757, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 987, ptr noundef %22760, ptr noundef %22763, ptr noundef %22766, i32 noundef %22768) #11
  br label %22787

22770:                                            ; preds = %22748, %22741
  %22771 = load i32, ptr %492, align 4, !tbaa !5
  %22772 = call ptr @__errno_location() #12
  store i32 %22771, ptr %22772, align 4, !tbaa !5
  %22773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22774 = load i32, ptr @test_count, align 4, !tbaa !5
  %22775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22776 = load i32, ptr %22775, align 4, !tbaa !5
  %22777 = call ptr @s2n_strerror(i32 noundef %22776, ptr noundef @.str.4)
  %22778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22779 = load i32, ptr %22778, align 4, !tbaa !5
  %22780 = call ptr @s2n_strerror_debug(i32 noundef %22779, ptr noundef @.str.4)
  %22781 = call ptr @__errno_location() #12
  %22782 = load i32, ptr %22781, align 4, !tbaa !5
  %22783 = call ptr @strerror(i32 noundef %22782) #11
  %22784 = call ptr @__errno_location() #12
  %22785 = load i32, ptr %22784, align 4, !tbaa !5
  %22786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22773, ptr noundef @.str.5, i32 noundef %22774, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 987, ptr noundef %22777, ptr noundef %22780, ptr noundef %22783, i32 noundef %22785) #11
  br label %22787

22787:                                            ; preds = %22770, %22753
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %22788

22788:                                            ; preds = %22787
  br label %22789

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

22790:                                            ; No predecessors!
  br label %22791

22791:                                            ; preds = %22790
  br label %22792

22792:                                            ; preds = %22791, %22734
  br label %22793

22793:                                            ; preds = %22792
  br label %22794

22794:                                            ; preds = %22793
  br label %22795

22795:                                            ; preds = %22794
  %22796 = load i32, ptr @test_count, align 4, !tbaa !5
  %22797 = add nsw i32 %22796, 1
  store i32 %22797, ptr @test_count, align 4, !tbaa !5
  %22798 = load ptr, ptr %491, align 8, !tbaa !9
  %22799 = getelementptr inbounds %struct.s2n_config, ptr %22798, i32 0, i32 47
  %22800 = load i32, ptr %22799, align 8, !tbaa !81
  %22801 = icmp eq i32 %22800, 0
  br i1 %22801, label %22855, label %22802

22802:                                            ; preds = %22795
  br label %22803

22803:                                            ; preds = %22802
  br label %22804

22804:                                            ; preds = %22803
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #11
  %22805 = call ptr @__errno_location() #12
  %22806 = load i32, ptr %22805, align 4, !tbaa !5
  store i32 %22806, ptr %493, align 4, !tbaa !5
  %22807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22808 = call i32 @s2n_print_stacktrace(ptr noundef %22807)
  %22809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22810 = trunc i8 %22809 to i1
  br i1 %22810, label %22811, label %22833

22811:                                            ; preds = %22804
  %22812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22813 = call i32 @fileno(ptr noundef %22812) #11
  %22814 = call i32 @isatty(i32 noundef %22813) #11
  %22815 = icmp ne i32 %22814, 0
  br i1 %22815, label %22816, label %22833

22816:                                            ; preds = %22811
  %22817 = load i32, ptr %493, align 4, !tbaa !5
  %22818 = call ptr @__errno_location() #12
  store i32 %22817, ptr %22818, align 4, !tbaa !5
  %22819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22820 = load i32, ptr @test_count, align 4, !tbaa !5
  %22821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22822 = load i32, ptr %22821, align 4, !tbaa !5
  %22823 = call ptr @s2n_strerror(i32 noundef %22822, ptr noundef @.str.4)
  %22824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22825 = load i32, ptr %22824, align 4, !tbaa !5
  %22826 = call ptr @s2n_strerror_debug(i32 noundef %22825, ptr noundef @.str.4)
  %22827 = call ptr @__errno_location() #12
  %22828 = load i32, ptr %22827, align 4, !tbaa !5
  %22829 = call ptr @strerror(i32 noundef %22828) #11
  %22830 = call ptr @__errno_location() #12
  %22831 = load i32, ptr %22830, align 4, !tbaa !5
  %22832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22819, ptr noundef @.str.2, i32 noundef %22820, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 989, ptr noundef %22823, ptr noundef %22826, ptr noundef %22829, i32 noundef %22831) #11
  br label %22850

22833:                                            ; preds = %22811, %22804
  %22834 = load i32, ptr %493, align 4, !tbaa !5
  %22835 = call ptr @__errno_location() #12
  store i32 %22834, ptr %22835, align 4, !tbaa !5
  %22836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22837 = load i32, ptr @test_count, align 4, !tbaa !5
  %22838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22839 = load i32, ptr %22838, align 4, !tbaa !5
  %22840 = call ptr @s2n_strerror(i32 noundef %22839, ptr noundef @.str.4)
  %22841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22842 = load i32, ptr %22841, align 4, !tbaa !5
  %22843 = call ptr @s2n_strerror_debug(i32 noundef %22842, ptr noundef @.str.4)
  %22844 = call ptr @__errno_location() #12
  %22845 = load i32, ptr %22844, align 4, !tbaa !5
  %22846 = call ptr @strerror(i32 noundef %22845) #11
  %22847 = call ptr @__errno_location() #12
  %22848 = load i32, ptr %22847, align 4, !tbaa !5
  %22849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22836, ptr noundef @.str.5, i32 noundef %22837, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 989, ptr noundef %22840, ptr noundef %22843, ptr noundef %22846, i32 noundef %22848) #11
  br label %22850

22850:                                            ; preds = %22833, %22816
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #11
  br label %22851

22851:                                            ; preds = %22850
  br label %22852

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

22853:                                            ; No predecessors!
  br label %22854

22854:                                            ; preds = %22853
  br label %22855

22855:                                            ; preds = %22854, %22795
  br label %22856

22856:                                            ; preds = %22855
  br label %22857

22857:                                            ; preds = %22856
  br label %22858

22858:                                            ; preds = %22857
  %22859 = load i32, ptr @test_count, align 4, !tbaa !5
  %22860 = add nsw i32 %22859, 1
  store i32 %22860, ptr @test_count, align 4, !tbaa !5
  %22861 = load ptr, ptr %491, align 8, !tbaa !9
  %22862 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef %22861, i32 noundef 1)
  %22863 = icmp eq i32 %22862, -1
  br i1 %22863, label %22864, label %22917

22864:                                            ; preds = %22858
  br label %22865

22865:                                            ; preds = %22864
  br label %22866

22866:                                            ; preds = %22865
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %22867 = call ptr @__errno_location() #12
  %22868 = load i32, ptr %22867, align 4, !tbaa !5
  store i32 %22868, ptr %494, align 4, !tbaa !5
  %22869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22870 = call i32 @s2n_print_stacktrace(ptr noundef %22869)
  %22871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22872 = trunc i8 %22871 to i1
  br i1 %22872, label %22873, label %22895

22873:                                            ; preds = %22866
  %22874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22875 = call i32 @fileno(ptr noundef %22874) #11
  %22876 = call i32 @isatty(i32 noundef %22875) #11
  %22877 = icmp ne i32 %22876, 0
  br i1 %22877, label %22878, label %22895

22878:                                            ; preds = %22873
  %22879 = load i32, ptr %494, align 4, !tbaa !5
  %22880 = call ptr @__errno_location() #12
  store i32 %22879, ptr %22880, align 4, !tbaa !5
  %22881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22882 = load i32, ptr @test_count, align 4, !tbaa !5
  %22883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22884 = load i32, ptr %22883, align 4, !tbaa !5
  %22885 = call ptr @s2n_strerror(i32 noundef %22884, ptr noundef @.str.4)
  %22886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22887 = load i32, ptr %22886, align 4, !tbaa !5
  %22888 = call ptr @s2n_strerror_debug(i32 noundef %22887, ptr noundef @.str.4)
  %22889 = call ptr @__errno_location() #12
  %22890 = load i32, ptr %22889, align 4, !tbaa !5
  %22891 = call ptr @strerror(i32 noundef %22890) #11
  %22892 = call ptr @__errno_location() #12
  %22893 = load i32, ptr %22892, align 4, !tbaa !5
  %22894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22881, ptr noundef @.str.2, i32 noundef %22882, ptr noundef @.str.153, ptr noundef @.str.1, i32 noundef 991, ptr noundef %22885, ptr noundef %22888, ptr noundef %22891, i32 noundef %22893) #11
  br label %22912

22895:                                            ; preds = %22873, %22866
  %22896 = load i32, ptr %494, align 4, !tbaa !5
  %22897 = call ptr @__errno_location() #12
  store i32 %22896, ptr %22897, align 4, !tbaa !5
  %22898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22899 = load i32, ptr @test_count, align 4, !tbaa !5
  %22900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22901 = load i32, ptr %22900, align 4, !tbaa !5
  %22902 = call ptr @s2n_strerror(i32 noundef %22901, ptr noundef @.str.4)
  %22903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22904 = load i32, ptr %22903, align 4, !tbaa !5
  %22905 = call ptr @s2n_strerror_debug(i32 noundef %22904, ptr noundef @.str.4)
  %22906 = call ptr @__errno_location() #12
  %22907 = load i32, ptr %22906, align 4, !tbaa !5
  %22908 = call ptr @strerror(i32 noundef %22907) #11
  %22909 = call ptr @__errno_location() #12
  %22910 = load i32, ptr %22909, align 4, !tbaa !5
  %22911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22898, ptr noundef @.str.5, i32 noundef %22899, ptr noundef @.str.153, ptr noundef @.str.1, i32 noundef 991, ptr noundef %22902, ptr noundef %22905, ptr noundef %22908, i32 noundef %22910) #11
  br label %22912

22912:                                            ; preds = %22895, %22878
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %22913

22913:                                            ; preds = %22912
  br label %22914

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

22915:                                            ; No predecessors!
  br label %22916

22916:                                            ; preds = %22915
  br label %22917

22917:                                            ; preds = %22916, %22858
  br label %22918

22918:                                            ; preds = %22917
  br label %22919

22919:                                            ; preds = %22918
  br label %22920

22920:                                            ; preds = %22919
  %22921 = load i32, ptr @test_count, align 4, !tbaa !5
  %22922 = add nsw i32 %22921, 1
  store i32 %22922, ptr @test_count, align 4, !tbaa !5
  %22923 = load ptr, ptr %491, align 8, !tbaa !9
  %22924 = getelementptr inbounds %struct.s2n_config, ptr %22923, i32 0, i32 47
  %22925 = load i32, ptr %22924, align 8, !tbaa !81
  %22926 = icmp eq i32 %22925, 1
  br i1 %22926, label %22980, label %22927

22927:                                            ; preds = %22920
  br label %22928

22928:                                            ; preds = %22927
  br label %22929

22929:                                            ; preds = %22928
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %22930 = call ptr @__errno_location() #12
  %22931 = load i32, ptr %22930, align 4, !tbaa !5
  store i32 %22931, ptr %495, align 4, !tbaa !5
  %22932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22933 = call i32 @s2n_print_stacktrace(ptr noundef %22932)
  %22934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22935 = trunc i8 %22934 to i1
  br i1 %22935, label %22936, label %22958

22936:                                            ; preds = %22929
  %22937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22938 = call i32 @fileno(ptr noundef %22937) #11
  %22939 = call i32 @isatty(i32 noundef %22938) #11
  %22940 = icmp ne i32 %22939, 0
  br i1 %22940, label %22941, label %22958

22941:                                            ; preds = %22936
  %22942 = load i32, ptr %495, align 4, !tbaa !5
  %22943 = call ptr @__errno_location() #12
  store i32 %22942, ptr %22943, align 4, !tbaa !5
  %22944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22945 = load i32, ptr @test_count, align 4, !tbaa !5
  %22946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22947 = load i32, ptr %22946, align 4, !tbaa !5
  %22948 = call ptr @s2n_strerror(i32 noundef %22947, ptr noundef @.str.4)
  %22949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22950 = load i32, ptr %22949, align 4, !tbaa !5
  %22951 = call ptr @s2n_strerror_debug(i32 noundef %22950, ptr noundef @.str.4)
  %22952 = call ptr @__errno_location() #12
  %22953 = load i32, ptr %22952, align 4, !tbaa !5
  %22954 = call ptr @strerror(i32 noundef %22953) #11
  %22955 = call ptr @__errno_location() #12
  %22956 = load i32, ptr %22955, align 4, !tbaa !5
  %22957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22944, ptr noundef @.str.2, i32 noundef %22945, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 992, ptr noundef %22948, ptr noundef %22951, ptr noundef %22954, i32 noundef %22956) #11
  br label %22975

22958:                                            ; preds = %22936, %22929
  %22959 = load i32, ptr %495, align 4, !tbaa !5
  %22960 = call ptr @__errno_location() #12
  store i32 %22959, ptr %22960, align 4, !tbaa !5
  %22961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22962 = load i32, ptr @test_count, align 4, !tbaa !5
  %22963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22964 = load i32, ptr %22963, align 4, !tbaa !5
  %22965 = call ptr @s2n_strerror(i32 noundef %22964, ptr noundef @.str.4)
  %22966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22967 = load i32, ptr %22966, align 4, !tbaa !5
  %22968 = call ptr @s2n_strerror_debug(i32 noundef %22967, ptr noundef @.str.4)
  %22969 = call ptr @__errno_location() #12
  %22970 = load i32, ptr %22969, align 4, !tbaa !5
  %22971 = call ptr @strerror(i32 noundef %22970) #11
  %22972 = call ptr @__errno_location() #12
  %22973 = load i32, ptr %22972, align 4, !tbaa !5
  %22974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22961, ptr noundef @.str.5, i32 noundef %22962, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 992, ptr noundef %22965, ptr noundef %22968, ptr noundef %22971, i32 noundef %22973) #11
  br label %22975

22975:                                            ; preds = %22958, %22941
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %22976

22976:                                            ; preds = %22975
  br label %22977

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

22978:                                            ; No predecessors!
  br label %22979

22979:                                            ; preds = %22978
  br label %22980

22980:                                            ; preds = %22979, %22920
  br label %22981

22981:                                            ; preds = %22980
  br label %22982

22982:                                            ; preds = %22981
  br label %22983

22983:                                            ; preds = %22982
  %22984 = load i32, ptr @test_count, align 4, !tbaa !5
  %22985 = add nsw i32 %22984, 1
  store i32 %22985, ptr @test_count, align 4, !tbaa !5
  %22986 = load ptr, ptr %491, align 8, !tbaa !9
  %22987 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef %22986, i32 noundef -1)
  %22988 = icmp eq i32 %22987, -1
  br i1 %22988, label %22989, label %23042

22989:                                            ; preds = %22983
  br label %22990

22990:                                            ; preds = %22989
  br label %22991

22991:                                            ; preds = %22990
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #11
  %22992 = call ptr @__errno_location() #12
  %22993 = load i32, ptr %22992, align 4, !tbaa !5
  store i32 %22993, ptr %496, align 4, !tbaa !5
  %22994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22995 = call i32 @s2n_print_stacktrace(ptr noundef %22994)
  %22996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22997 = trunc i8 %22996 to i1
  br i1 %22997, label %22998, label %23020

22998:                                            ; preds = %22991
  %22999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23000 = call i32 @fileno(ptr noundef %22999) #11
  %23001 = call i32 @isatty(i32 noundef %23000) #11
  %23002 = icmp ne i32 %23001, 0
  br i1 %23002, label %23003, label %23020

23003:                                            ; preds = %22998
  %23004 = load i32, ptr %496, align 4, !tbaa !5
  %23005 = call ptr @__errno_location() #12
  store i32 %23004, ptr %23005, align 4, !tbaa !5
  %23006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23007 = load i32, ptr @test_count, align 4, !tbaa !5
  %23008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23009 = load i32, ptr %23008, align 4, !tbaa !5
  %23010 = call ptr @s2n_strerror(i32 noundef %23009, ptr noundef @.str.4)
  %23011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23012 = load i32, ptr %23011, align 4, !tbaa !5
  %23013 = call ptr @s2n_strerror_debug(i32 noundef %23012, ptr noundef @.str.4)
  %23014 = call ptr @__errno_location() #12
  %23015 = load i32, ptr %23014, align 4, !tbaa !5
  %23016 = call ptr @strerror(i32 noundef %23015) #11
  %23017 = call ptr @__errno_location() #12
  %23018 = load i32, ptr %23017, align 4, !tbaa !5
  %23019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23006, ptr noundef @.str.2, i32 noundef %23007, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 994, ptr noundef %23010, ptr noundef %23013, ptr noundef %23016, i32 noundef %23018) #11
  br label %23037

23020:                                            ; preds = %22998, %22991
  %23021 = load i32, ptr %496, align 4, !tbaa !5
  %23022 = call ptr @__errno_location() #12
  store i32 %23021, ptr %23022, align 4, !tbaa !5
  %23023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23024 = load i32, ptr @test_count, align 4, !tbaa !5
  %23025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23026 = load i32, ptr %23025, align 4, !tbaa !5
  %23027 = call ptr @s2n_strerror(i32 noundef %23026, ptr noundef @.str.4)
  %23028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23029 = load i32, ptr %23028, align 4, !tbaa !5
  %23030 = call ptr @s2n_strerror_debug(i32 noundef %23029, ptr noundef @.str.4)
  %23031 = call ptr @__errno_location() #12
  %23032 = load i32, ptr %23031, align 4, !tbaa !5
  %23033 = call ptr @strerror(i32 noundef %23032) #11
  %23034 = call ptr @__errno_location() #12
  %23035 = load i32, ptr %23034, align 4, !tbaa !5
  %23036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23023, ptr noundef @.str.5, i32 noundef %23024, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 994, ptr noundef %23027, ptr noundef %23030, ptr noundef %23033, i32 noundef %23035) #11
  br label %23037

23037:                                            ; preds = %23020, %23003
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #11
  br label %23038

23038:                                            ; preds = %23037
  br label %23039

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

23040:                                            ; No predecessors!
  br label %23041

23041:                                            ; preds = %23040
  br label %23042

23042:                                            ; preds = %23041, %22983
  br label %23043

23043:                                            ; preds = %23042
  br label %23044

23044:                                            ; preds = %23043
  br label %23045

23045:                                            ; preds = %23044
  %23046 = load i32, ptr @test_count, align 4, !tbaa !5
  %23047 = add nsw i32 %23046, 1
  store i32 %23047, ptr @test_count, align 4, !tbaa !5
  %23048 = load ptr, ptr %491, align 8, !tbaa !9
  %23049 = getelementptr inbounds %struct.s2n_config, ptr %23048, i32 0, i32 47
  %23050 = load i32, ptr %23049, align 8, !tbaa !81
  %23051 = icmp eq i32 %23050, -1
  br i1 %23051, label %23105, label %23052

23052:                                            ; preds = %23045
  br label %23053

23053:                                            ; preds = %23052
  br label %23054

23054:                                            ; preds = %23053
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %23055 = call ptr @__errno_location() #12
  %23056 = load i32, ptr %23055, align 4, !tbaa !5
  store i32 %23056, ptr %497, align 4, !tbaa !5
  %23057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23058 = call i32 @s2n_print_stacktrace(ptr noundef %23057)
  %23059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23060 = trunc i8 %23059 to i1
  br i1 %23060, label %23061, label %23083

23061:                                            ; preds = %23054
  %23062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23063 = call i32 @fileno(ptr noundef %23062) #11
  %23064 = call i32 @isatty(i32 noundef %23063) #11
  %23065 = icmp ne i32 %23064, 0
  br i1 %23065, label %23066, label %23083

23066:                                            ; preds = %23061
  %23067 = load i32, ptr %497, align 4, !tbaa !5
  %23068 = call ptr @__errno_location() #12
  store i32 %23067, ptr %23068, align 4, !tbaa !5
  %23069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23070 = load i32, ptr @test_count, align 4, !tbaa !5
  %23071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23072 = load i32, ptr %23071, align 4, !tbaa !5
  %23073 = call ptr @s2n_strerror(i32 noundef %23072, ptr noundef @.str.4)
  %23074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23075 = load i32, ptr %23074, align 4, !tbaa !5
  %23076 = call ptr @s2n_strerror_debug(i32 noundef %23075, ptr noundef @.str.4)
  %23077 = call ptr @__errno_location() #12
  %23078 = load i32, ptr %23077, align 4, !tbaa !5
  %23079 = call ptr @strerror(i32 noundef %23078) #11
  %23080 = call ptr @__errno_location() #12
  %23081 = load i32, ptr %23080, align 4, !tbaa !5
  %23082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23069, ptr noundef @.str.2, i32 noundef %23070, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 995, ptr noundef %23073, ptr noundef %23076, ptr noundef %23079, i32 noundef %23081) #11
  br label %23100

23083:                                            ; preds = %23061, %23054
  %23084 = load i32, ptr %497, align 4, !tbaa !5
  %23085 = call ptr @__errno_location() #12
  store i32 %23084, ptr %23085, align 4, !tbaa !5
  %23086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23087 = load i32, ptr @test_count, align 4, !tbaa !5
  %23088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23089 = load i32, ptr %23088, align 4, !tbaa !5
  %23090 = call ptr @s2n_strerror(i32 noundef %23089, ptr noundef @.str.4)
  %23091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23092 = load i32, ptr %23091, align 4, !tbaa !5
  %23093 = call ptr @s2n_strerror_debug(i32 noundef %23092, ptr noundef @.str.4)
  %23094 = call ptr @__errno_location() #12
  %23095 = load i32, ptr %23094, align 4, !tbaa !5
  %23096 = call ptr @strerror(i32 noundef %23095) #11
  %23097 = call ptr @__errno_location() #12
  %23098 = load i32, ptr %23097, align 4, !tbaa !5
  %23099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23086, ptr noundef @.str.5, i32 noundef %23087, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 995, ptr noundef %23090, ptr noundef %23093, ptr noundef %23096, i32 noundef %23098) #11
  br label %23100

23100:                                            ; preds = %23083, %23066
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %23101

23101:                                            ; preds = %23100
  br label %23102

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

23103:                                            ; No predecessors!
  br label %23104

23104:                                            ; preds = %23103
  br label %23105

23105:                                            ; preds = %23104, %23045
  br label %23106

23106:                                            ; preds = %23105
  br label %23107

23107:                                            ; preds = %23106
  br label %23108

23108:                                            ; preds = %23107
  %23109 = load i32, ptr @test_count, align 4, !tbaa !5
  %23110 = add nsw i32 %23109, 1
  store i32 %23110, ptr @test_count, align 4, !tbaa !5
  %23111 = load ptr, ptr %491, align 8, !tbaa !9
  %23112 = call i32 @s2n_config_free(ptr noundef %23111)
  %23113 = icmp eq i32 %23112, -1
  br i1 %23113, label %23114, label %23167

23114:                                            ; preds = %23108
  br label %23115

23115:                                            ; preds = %23114
  br label %23116

23116:                                            ; preds = %23115
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %23117 = call ptr @__errno_location() #12
  %23118 = load i32, ptr %23117, align 4, !tbaa !5
  store i32 %23118, ptr %498, align 4, !tbaa !5
  %23119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23120 = call i32 @s2n_print_stacktrace(ptr noundef %23119)
  %23121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23122 = trunc i8 %23121 to i1
  br i1 %23122, label %23123, label %23145

23123:                                            ; preds = %23116
  %23124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23125 = call i32 @fileno(ptr noundef %23124) #11
  %23126 = call i32 @isatty(i32 noundef %23125) #11
  %23127 = icmp ne i32 %23126, 0
  br i1 %23127, label %23128, label %23145

23128:                                            ; preds = %23123
  %23129 = load i32, ptr %498, align 4, !tbaa !5
  %23130 = call ptr @__errno_location() #12
  store i32 %23129, ptr %23130, align 4, !tbaa !5
  %23131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23132 = load i32, ptr @test_count, align 4, !tbaa !5
  %23133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23134 = load i32, ptr %23133, align 4, !tbaa !5
  %23135 = call ptr @s2n_strerror(i32 noundef %23134, ptr noundef @.str.4)
  %23136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23137 = load i32, ptr %23136, align 4, !tbaa !5
  %23138 = call ptr @s2n_strerror_debug(i32 noundef %23137, ptr noundef @.str.4)
  %23139 = call ptr @__errno_location() #12
  %23140 = load i32, ptr %23139, align 4, !tbaa !5
  %23141 = call ptr @strerror(i32 noundef %23140) #11
  %23142 = call ptr @__errno_location() #12
  %23143 = load i32, ptr %23142, align 4, !tbaa !5
  %23144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23131, ptr noundef @.str.2, i32 noundef %23132, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 997, ptr noundef %23135, ptr noundef %23138, ptr noundef %23141, i32 noundef %23143) #11
  br label %23162

23145:                                            ; preds = %23123, %23116
  %23146 = load i32, ptr %498, align 4, !tbaa !5
  %23147 = call ptr @__errno_location() #12
  store i32 %23146, ptr %23147, align 4, !tbaa !5
  %23148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23149 = load i32, ptr @test_count, align 4, !tbaa !5
  %23150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23151 = load i32, ptr %23150, align 4, !tbaa !5
  %23152 = call ptr @s2n_strerror(i32 noundef %23151, ptr noundef @.str.4)
  %23153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23154 = load i32, ptr %23153, align 4, !tbaa !5
  %23155 = call ptr @s2n_strerror_debug(i32 noundef %23154, ptr noundef @.str.4)
  %23156 = call ptr @__errno_location() #12
  %23157 = load i32, ptr %23156, align 4, !tbaa !5
  %23158 = call ptr @strerror(i32 noundef %23157) #11
  %23159 = call ptr @__errno_location() #12
  %23160 = load i32, ptr %23159, align 4, !tbaa !5
  %23161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23148, ptr noundef @.str.5, i32 noundef %23149, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 997, ptr noundef %23152, ptr noundef %23155, ptr noundef %23158, i32 noundef %23160) #11
  br label %23162

23162:                                            ; preds = %23145, %23128
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %23163

23163:                                            ; preds = %23162
  br label %23164

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

23165:                                            ; No predecessors!
  br label %23166

23166:                                            ; preds = %23165
  br label %23167

23167:                                            ; preds = %23166, %23108
  br label %23168

23168:                                            ; preds = %23167
  br label %23169

23169:                                            ; preds = %23168
  call void @llvm.lifetime.end.p0(i64 8, ptr %491) #11
  br label %23170

23170:                                            ; preds = %23169
  br label %23171

23171:                                            ; preds = %23170
  br label %23172

23172:                                            ; preds = %23171
  %23173 = load i32, ptr @test_count, align 4, !tbaa !5
  %23174 = add nsw i32 %23173, 1
  store i32 %23174, ptr @test_count, align 4, !tbaa !5
  %23175 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef null, i32 noundef 1)
  %23176 = icmp eq i32 %23175, -1
  br i1 %23176, label %23230, label %23177

23177:                                            ; preds = %23172
  br label %23178

23178:                                            ; preds = %23177
  br label %23179

23179:                                            ; preds = %23178
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  %23180 = call ptr @__errno_location() #12
  %23181 = load i32, ptr %23180, align 4, !tbaa !5
  store i32 %23181, ptr %499, align 4, !tbaa !5
  %23182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23183 = call i32 @s2n_print_stacktrace(ptr noundef %23182)
  %23184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23185 = trunc i8 %23184 to i1
  br i1 %23185, label %23186, label %23208

23186:                                            ; preds = %23179
  %23187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23188 = call i32 @fileno(ptr noundef %23187) #11
  %23189 = call i32 @isatty(i32 noundef %23188) #11
  %23190 = icmp ne i32 %23189, 0
  br i1 %23190, label %23191, label %23208

23191:                                            ; preds = %23186
  %23192 = load i32, ptr %499, align 4, !tbaa !5
  %23193 = call ptr @__errno_location() #12
  store i32 %23192, ptr %23193, align 4, !tbaa !5
  %23194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23195 = load i32, ptr @test_count, align 4, !tbaa !5
  %23196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23197 = load i32, ptr %23196, align 4, !tbaa !5
  %23198 = call ptr @s2n_strerror(i32 noundef %23197, ptr noundef @.str.4)
  %23199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23200 = load i32, ptr %23199, align 4, !tbaa !5
  %23201 = call ptr @s2n_strerror_debug(i32 noundef %23200, ptr noundef @.str.4)
  %23202 = call ptr @__errno_location() #12
  %23203 = load i32, ptr %23202, align 4, !tbaa !5
  %23204 = call ptr @strerror(i32 noundef %23203) #11
  %23205 = call ptr @__errno_location() #12
  %23206 = load i32, ptr %23205, align 4, !tbaa !5
  %23207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23194, ptr noundef @.str.2, i32 noundef %23195, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %23198, ptr noundef %23201, ptr noundef %23204, i32 noundef %23206) #11
  br label %23225

23208:                                            ; preds = %23186, %23179
  %23209 = load i32, ptr %499, align 4, !tbaa !5
  %23210 = call ptr @__errno_location() #12
  store i32 %23209, ptr %23210, align 4, !tbaa !5
  %23211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23212 = load i32, ptr @test_count, align 4, !tbaa !5
  %23213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23214 = load i32, ptr %23213, align 4, !tbaa !5
  %23215 = call ptr @s2n_strerror(i32 noundef %23214, ptr noundef @.str.4)
  %23216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23217 = load i32, ptr %23216, align 4, !tbaa !5
  %23218 = call ptr @s2n_strerror_debug(i32 noundef %23217, ptr noundef @.str.4)
  %23219 = call ptr @__errno_location() #12
  %23220 = load i32, ptr %23219, align 4, !tbaa !5
  %23221 = call ptr @strerror(i32 noundef %23220) #11
  %23222 = call ptr @__errno_location() #12
  %23223 = load i32, ptr %23222, align 4, !tbaa !5
  %23224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23211, ptr noundef @.str.5, i32 noundef %23212, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %23215, ptr noundef %23218, ptr noundef %23221, i32 noundef %23223) #11
  br label %23225

23225:                                            ; preds = %23208, %23191
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %23226

23226:                                            ; preds = %23225
  br label %23227

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

23228:                                            ; No predecessors!
  br label %23229

23229:                                            ; preds = %23228
  br label %23230

23230:                                            ; preds = %23229, %23172
  br label %23231

23231:                                            ; preds = %23230
  br label %23232

23232:                                            ; preds = %23231
  br label %23233

23233:                                            ; preds = %23232
  %23234 = load i32, ptr @test_count, align 4, !tbaa !5
  %23235 = add nsw i32 %23234, 1
  store i32 %23235, ptr @test_count, align 4, !tbaa !5
  %23236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23237 = load i32, ptr %23236, align 4, !tbaa !5
  %23238 = icmp eq i32 %23237, 402653193
  br i1 %23238, label %23292, label %23239

23239:                                            ; preds = %23233
  br label %23240

23240:                                            ; preds = %23239
  br label %23241

23241:                                            ; preds = %23240
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %23242 = call ptr @__errno_location() #12
  %23243 = load i32, ptr %23242, align 4, !tbaa !5
  store i32 %23243, ptr %500, align 4, !tbaa !5
  %23244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23245 = call i32 @s2n_print_stacktrace(ptr noundef %23244)
  %23246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23247 = trunc i8 %23246 to i1
  br i1 %23247, label %23248, label %23270

23248:                                            ; preds = %23241
  %23249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23250 = call i32 @fileno(ptr noundef %23249) #11
  %23251 = call i32 @isatty(i32 noundef %23250) #11
  %23252 = icmp ne i32 %23251, 0
  br i1 %23252, label %23253, label %23270

23253:                                            ; preds = %23248
  %23254 = load i32, ptr %500, align 4, !tbaa !5
  %23255 = call ptr @__errno_location() #12
  store i32 %23254, ptr %23255, align 4, !tbaa !5
  %23256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23257 = load i32, ptr @test_count, align 4, !tbaa !5
  %23258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23259 = load i32, ptr %23258, align 4, !tbaa !5
  %23260 = call ptr @s2n_strerror(i32 noundef %23259, ptr noundef @.str.4)
  %23261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23262 = load i32, ptr %23261, align 4, !tbaa !5
  %23263 = call ptr @s2n_strerror_debug(i32 noundef %23262, ptr noundef @.str.4)
  %23264 = call ptr @__errno_location() #12
  %23265 = load i32, ptr %23264, align 4, !tbaa !5
  %23266 = call ptr @strerror(i32 noundef %23265) #11
  %23267 = call ptr @__errno_location() #12
  %23268 = load i32, ptr %23267, align 4, !tbaa !5
  %23269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23256, ptr noundef @.str.2, i32 noundef %23257, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %23260, ptr noundef %23263, ptr noundef %23266, i32 noundef %23268) #11
  br label %23287

23270:                                            ; preds = %23248, %23241
  %23271 = load i32, ptr %500, align 4, !tbaa !5
  %23272 = call ptr @__errno_location() #12
  store i32 %23271, ptr %23272, align 4, !tbaa !5
  %23273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23274 = load i32, ptr @test_count, align 4, !tbaa !5
  %23275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23276 = load i32, ptr %23275, align 4, !tbaa !5
  %23277 = call ptr @s2n_strerror(i32 noundef %23276, ptr noundef @.str.4)
  %23278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23279 = load i32, ptr %23278, align 4, !tbaa !5
  %23280 = call ptr @s2n_strerror_debug(i32 noundef %23279, ptr noundef @.str.4)
  %23281 = call ptr @__errno_location() #12
  %23282 = load i32, ptr %23281, align 4, !tbaa !5
  %23283 = call ptr @strerror(i32 noundef %23282) #11
  %23284 = call ptr @__errno_location() #12
  %23285 = load i32, ptr %23284, align 4, !tbaa !5
  %23286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23273, ptr noundef @.str.5, i32 noundef %23274, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %23277, ptr noundef %23280, ptr noundef %23283, i32 noundef %23285) #11
  br label %23287

23287:                                            ; preds = %23270, %23253
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %23288

23288:                                            ; preds = %23287
  br label %23289

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

23290:                                            ; No predecessors!
  br label %23291

23291:                                            ; preds = %23290
  br label %23292

23292:                                            ; preds = %23291, %23233
  br label %23293

23293:                                            ; preds = %23292
  br label %23294

23294:                                            ; preds = %23293
  br label %23295

23295:                                            ; preds = %23294
  %23296 = load i32, ptr @test_count, align 4, !tbaa !5
  %23297 = add nsw i32 %23296, 1
  store i32 %23297, ptr @test_count, align 4, !tbaa !5
  %23298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23299 = load i32, ptr %23298, align 4, !tbaa !5
  %23300 = call ptr @s2n_strerror_debug(i32 noundef %23299, ptr noundef @.str.4)
  %23301 = icmp eq ptr %23300, null
  br i1 %23301, label %23302, label %23355

23302:                                            ; preds = %23295
  br label %23303

23303:                                            ; preds = %23302
  br label %23304

23304:                                            ; preds = %23303
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %23305 = call ptr @__errno_location() #12
  %23306 = load i32, ptr %23305, align 4, !tbaa !5
  store i32 %23306, ptr %501, 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) #11
  %23314 = call i32 @isatty(i32 noundef %23313) #11
  %23315 = icmp ne i32 %23314, 0
  br i1 %23315, label %23316, label %23333

23316:                                            ; preds = %23311
  %23317 = load i32, ptr %501, align 4, !tbaa !5
  %23318 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %23327 = call ptr @__errno_location() #12
  %23328 = load i32, ptr %23327, align 4, !tbaa !5
  %23329 = call ptr @strerror(i32 noundef %23328) #11
  %23330 = call ptr @__errno_location() #12
  %23331 = load i32, ptr %23330, align 4, !tbaa !5
  %23332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23319, ptr noundef @.str.2, i32 noundef %23320, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %23323, ptr noundef %23326, ptr noundef %23329, i32 noundef %23331) #11
  br label %23350

23333:                                            ; preds = %23311, %23304
  %23334 = load i32, ptr %501, align 4, !tbaa !5
  %23335 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %23344 = call ptr @__errno_location() #12
  %23345 = load i32, ptr %23344, align 4, !tbaa !5
  %23346 = call ptr @strerror(i32 noundef %23345) #11
  %23347 = call ptr @__errno_location() #12
  %23348 = load i32, ptr %23347, align 4, !tbaa !5
  %23349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23336, ptr noundef @.str.5, i32 noundef %23337, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %23340, ptr noundef %23343, ptr noundef %23346, i32 noundef %23348) #11
  br label %23350

23350:                                            ; preds = %23333, %23316
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %23351

23351:                                            ; preds = %23350
  br label %23352

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

23353:                                            ; No predecessors!
  br label %23354

23354:                                            ; preds = %23353
  br label %23355

23355:                                            ; preds = %23354, %23295
  br label %23356

23356:                                            ; preds = %23355
  br label %23357

23357:                                            ; preds = %23356
  br label %23358

23358:                                            ; preds = %23357
  br label %23359

23359:                                            ; preds = %23358
  br label %23360

23360:                                            ; preds = %23359
  %23361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23361, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23362 = call ptr @__errno_location() #12
  store i32 0, ptr %23362, align 4, !tbaa !5
  br label %23363

23363:                                            ; preds = %23360
  br label %23364

23364:                                            ; preds = %23363
  br label %23365

23365:                                            ; preds = %23364
  br label %23366

23366:                                            ; preds = %23365
  call void @llvm.lifetime.start.p0(i64 8, ptr %502) #11
  %23367 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %23367, ptr %502, align 8, !tbaa !9
  br label %23368

23368:                                            ; preds = %23366
  %23369 = load i32, ptr @test_count, align 4, !tbaa !5
  %23370 = add nsw i32 %23369, 1
  store i32 %23370, ptr @test_count, align 4, !tbaa !5
  %23371 = load ptr, ptr %502, align 8, !tbaa !9
  %23372 = icmp eq ptr %23371, null
  br i1 %23372, label %23373, label %23426

23373:                                            ; preds = %23368
  br label %23374

23374:                                            ; preds = %23373
  br label %23375

23375:                                            ; preds = %23374
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #11
  %23376 = call ptr @__errno_location() #12
  %23377 = load i32, ptr %23376, align 4, !tbaa !5
  store i32 %23377, ptr %503, align 4, !tbaa !5
  %23378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23379 = call i32 @s2n_print_stacktrace(ptr noundef %23378)
  %23380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23381 = trunc i8 %23380 to i1
  br i1 %23381, label %23382, label %23404

23382:                                            ; preds = %23375
  %23383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23384 = call i32 @fileno(ptr noundef %23383) #11
  %23385 = call i32 @isatty(i32 noundef %23384) #11
  %23386 = icmp ne i32 %23385, 0
  br i1 %23386, label %23387, label %23404

23387:                                            ; preds = %23382
  %23388 = load i32, ptr %503, align 4, !tbaa !5
  %23389 = call ptr @__errno_location() #12
  store i32 %23388, ptr %23389, align 4, !tbaa !5
  %23390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23391 = load i32, ptr @test_count, align 4, !tbaa !5
  %23392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23393 = load i32, ptr %23392, align 4, !tbaa !5
  %23394 = call ptr @s2n_strerror(i32 noundef %23393, ptr noundef @.str.4)
  %23395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23396 = load i32, ptr %23395, align 4, !tbaa !5
  %23397 = call ptr @s2n_strerror_debug(i32 noundef %23396, ptr noundef @.str.4)
  %23398 = call ptr @__errno_location() #12
  %23399 = load i32, ptr %23398, align 4, !tbaa !5
  %23400 = call ptr @strerror(i32 noundef %23399) #11
  %23401 = call ptr @__errno_location() #12
  %23402 = load i32, ptr %23401, align 4, !tbaa !5
  %23403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23390, ptr noundef @.str.2, i32 noundef %23391, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %23394, ptr noundef %23397, ptr noundef %23400, i32 noundef %23402) #11
  br label %23421

23404:                                            ; preds = %23382, %23375
  %23405 = load i32, ptr %503, align 4, !tbaa !5
  %23406 = call ptr @__errno_location() #12
  store i32 %23405, ptr %23406, align 4, !tbaa !5
  %23407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23408 = load i32, ptr @test_count, align 4, !tbaa !5
  %23409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23410 = load i32, ptr %23409, align 4, !tbaa !5
  %23411 = call ptr @s2n_strerror(i32 noundef %23410, ptr noundef @.str.4)
  %23412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23413 = load i32, ptr %23412, align 4, !tbaa !5
  %23414 = call ptr @s2n_strerror_debug(i32 noundef %23413, ptr noundef @.str.4)
  %23415 = call ptr @__errno_location() #12
  %23416 = load i32, ptr %23415, align 4, !tbaa !5
  %23417 = call ptr @strerror(i32 noundef %23416) #11
  %23418 = call ptr @__errno_location() #12
  %23419 = load i32, ptr %23418, align 4, !tbaa !5
  %23420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23407, ptr noundef @.str.5, i32 noundef %23408, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %23411, ptr noundef %23414, ptr noundef %23417, i32 noundef %23419) #11
  br label %23421

23421:                                            ; preds = %23404, %23387
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #11
  br label %23422

23422:                                            ; preds = %23421
  br label %23423

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

23424:                                            ; No predecessors!
  br label %23425

23425:                                            ; preds = %23424
  br label %23426

23426:                                            ; preds = %23425, %23368
  br label %23427

23427:                                            ; preds = %23426
  br label %23428

23428:                                            ; preds = %23427
  br label %23429

23429:                                            ; preds = %23428
  %23430 = load i32, ptr @test_count, align 4, !tbaa !5
  %23431 = add nsw i32 %23430, 1
  store i32 %23431, ptr @test_count, align 4, !tbaa !5
  %23432 = load ptr, ptr %502, align 8, !tbaa !9
  %23433 = getelementptr inbounds %struct.s2n_connection, ptr %23432, i32 0, i32 90
  %23434 = load i32, ptr %23433, align 4, !tbaa !85
  %23435 = icmp eq i32 %23434, 0
  br i1 %23435, label %23489, label %23436

23436:                                            ; preds = %23429
  br label %23437

23437:                                            ; preds = %23436
  br label %23438

23438:                                            ; preds = %23437
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %23439 = call ptr @__errno_location() #12
  %23440 = load i32, ptr %23439, align 4, !tbaa !5
  store i32 %23440, ptr %504, align 4, !tbaa !5
  %23441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23442 = call i32 @s2n_print_stacktrace(ptr noundef %23441)
  %23443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23444 = trunc i8 %23443 to i1
  br i1 %23444, label %23445, label %23467

23445:                                            ; preds = %23438
  %23446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23447 = call i32 @fileno(ptr noundef %23446) #11
  %23448 = call i32 @isatty(i32 noundef %23447) #11
  %23449 = icmp ne i32 %23448, 0
  br i1 %23449, label %23450, label %23467

23450:                                            ; preds = %23445
  %23451 = load i32, ptr %504, align 4, !tbaa !5
  %23452 = call ptr @__errno_location() #12
  store i32 %23451, ptr %23452, align 4, !tbaa !5
  %23453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23454 = load i32, ptr @test_count, align 4, !tbaa !5
  %23455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23456 = load i32, ptr %23455, align 4, !tbaa !5
  %23457 = call ptr @s2n_strerror(i32 noundef %23456, ptr noundef @.str.4)
  %23458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23459 = load i32, ptr %23458, align 4, !tbaa !5
  %23460 = call ptr @s2n_strerror_debug(i32 noundef %23459, ptr noundef @.str.4)
  %23461 = call ptr @__errno_location() #12
  %23462 = load i32, ptr %23461, align 4, !tbaa !5
  %23463 = call ptr @strerror(i32 noundef %23462) #11
  %23464 = call ptr @__errno_location() #12
  %23465 = load i32, ptr %23464, align 4, !tbaa !5
  %23466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23453, ptr noundef @.str.2, i32 noundef %23454, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %23457, ptr noundef %23460, ptr noundef %23463, i32 noundef %23465) #11
  br label %23484

23467:                                            ; preds = %23445, %23438
  %23468 = load i32, ptr %504, align 4, !tbaa !5
  %23469 = call ptr @__errno_location() #12
  store i32 %23468, ptr %23469, align 4, !tbaa !5
  %23470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23471 = load i32, ptr @test_count, align 4, !tbaa !5
  %23472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23473 = load i32, ptr %23472, align 4, !tbaa !5
  %23474 = call ptr @s2n_strerror(i32 noundef %23473, ptr noundef @.str.4)
  %23475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23476 = load i32, ptr %23475, align 4, !tbaa !5
  %23477 = call ptr @s2n_strerror_debug(i32 noundef %23476, ptr noundef @.str.4)
  %23478 = call ptr @__errno_location() #12
  %23479 = load i32, ptr %23478, align 4, !tbaa !5
  %23480 = call ptr @strerror(i32 noundef %23479) #11
  %23481 = call ptr @__errno_location() #12
  %23482 = load i32, ptr %23481, align 4, !tbaa !5
  %23483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23470, ptr noundef @.str.5, i32 noundef %23471, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %23474, ptr noundef %23477, ptr noundef %23480, i32 noundef %23482) #11
  br label %23484

23484:                                            ; preds = %23467, %23450
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %23485

23485:                                            ; preds = %23484
  br label %23486

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

23487:                                            ; No predecessors!
  br label %23488

23488:                                            ; preds = %23487
  br label %23489

23489:                                            ; preds = %23488, %23429
  br label %23490

23490:                                            ; preds = %23489
  br label %23491

23491:                                            ; preds = %23490
  br label %23492

23492:                                            ; preds = %23491
  %23493 = load i32, ptr @test_count, align 4, !tbaa !5
  %23494 = add nsw i32 %23493, 1
  store i32 %23494, ptr @test_count, align 4, !tbaa !5
  %23495 = load ptr, ptr %502, align 8, !tbaa !9
  %23496 = load i32, ptr %23495, align 8
  %23497 = lshr i32 %23496, 11
  %23498 = and i32 %23497, 1
  %23499 = icmp ne i32 %23498, 0
  br i1 %23499, label %23500, label %23553

23500:                                            ; preds = %23492
  br label %23501

23501:                                            ; preds = %23500
  br label %23502

23502:                                            ; preds = %23501
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #11
  %23503 = call ptr @__errno_location() #12
  %23504 = load i32, ptr %23503, align 4, !tbaa !5
  store i32 %23504, ptr %505, align 4, !tbaa !5
  %23505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23506 = call i32 @s2n_print_stacktrace(ptr noundef %23505)
  %23507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23508 = trunc i8 %23507 to i1
  br i1 %23508, label %23509, label %23531

23509:                                            ; preds = %23502
  %23510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23511 = call i32 @fileno(ptr noundef %23510) #11
  %23512 = call i32 @isatty(i32 noundef %23511) #11
  %23513 = icmp ne i32 %23512, 0
  br i1 %23513, label %23514, label %23531

23514:                                            ; preds = %23509
  %23515 = load i32, ptr %505, align 4, !tbaa !5
  %23516 = call ptr @__errno_location() #12
  store i32 %23515, ptr %23516, align 4, !tbaa !5
  %23517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23518 = load i32, ptr @test_count, align 4, !tbaa !5
  %23519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23520 = load i32, ptr %23519, align 4, !tbaa !5
  %23521 = call ptr @s2n_strerror(i32 noundef %23520, ptr noundef @.str.4)
  %23522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23523 = load i32, ptr %23522, align 4, !tbaa !5
  %23524 = call ptr @s2n_strerror_debug(i32 noundef %23523, ptr noundef @.str.4)
  %23525 = call ptr @__errno_location() #12
  %23526 = load i32, ptr %23525, align 4, !tbaa !5
  %23527 = call ptr @strerror(i32 noundef %23526) #11
  %23528 = call ptr @__errno_location() #12
  %23529 = load i32, ptr %23528, align 4, !tbaa !5
  %23530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23517, ptr noundef @.str.2, i32 noundef %23518, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 1009, ptr noundef %23521, ptr noundef %23524, ptr noundef %23527, i32 noundef %23529) #11
  br label %23548

23531:                                            ; preds = %23509, %23502
  %23532 = load i32, ptr %505, align 4, !tbaa !5
  %23533 = call ptr @__errno_location() #12
  store i32 %23532, ptr %23533, align 4, !tbaa !5
  %23534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23535 = load i32, ptr @test_count, align 4, !tbaa !5
  %23536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23537 = load i32, ptr %23536, align 4, !tbaa !5
  %23538 = call ptr @s2n_strerror(i32 noundef %23537, ptr noundef @.str.4)
  %23539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23540 = load i32, ptr %23539, align 4, !tbaa !5
  %23541 = call ptr @s2n_strerror_debug(i32 noundef %23540, ptr noundef @.str.4)
  %23542 = call ptr @__errno_location() #12
  %23543 = load i32, ptr %23542, align 4, !tbaa !5
  %23544 = call ptr @strerror(i32 noundef %23543) #11
  %23545 = call ptr @__errno_location() #12
  %23546 = load i32, ptr %23545, align 4, !tbaa !5
  %23547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23534, ptr noundef @.str.5, i32 noundef %23535, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 1009, ptr noundef %23538, ptr noundef %23541, ptr noundef %23544, i32 noundef %23546) #11
  br label %23548

23548:                                            ; preds = %23531, %23514
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #11
  br label %23549

23549:                                            ; preds = %23548
  br label %23550

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

23551:                                            ; No predecessors!
  br label %23552

23552:                                            ; preds = %23551
  br label %23553

23553:                                            ; preds = %23552, %23492
  br label %23554

23554:                                            ; preds = %23553
  br label %23555

23555:                                            ; preds = %23554
  br label %23556

23556:                                            ; preds = %23555
  %23557 = load i32, ptr @test_count, align 4, !tbaa !5
  %23558 = add nsw i32 %23557, 1
  store i32 %23558, ptr @test_count, align 4, !tbaa !5
  %23559 = load ptr, ptr %502, align 8, !tbaa !9
  %23560 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %23559, i32 noundef 1)
  %23561 = icmp eq i32 %23560, -1
  br i1 %23561, label %23562, label %23615

23562:                                            ; preds = %23556
  br label %23563

23563:                                            ; preds = %23562
  br label %23564

23564:                                            ; preds = %23563
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #11
  %23565 = call ptr @__errno_location() #12
  %23566 = load i32, ptr %23565, align 4, !tbaa !5
  store i32 %23566, ptr %506, align 4, !tbaa !5
  %23567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23568 = call i32 @s2n_print_stacktrace(ptr noundef %23567)
  %23569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23570 = trunc i8 %23569 to i1
  br i1 %23570, label %23571, label %23593

23571:                                            ; preds = %23564
  %23572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23573 = call i32 @fileno(ptr noundef %23572) #11
  %23574 = call i32 @isatty(i32 noundef %23573) #11
  %23575 = icmp ne i32 %23574, 0
  br i1 %23575, label %23576, label %23593

23576:                                            ; preds = %23571
  %23577 = load i32, ptr %506, align 4, !tbaa !5
  %23578 = call ptr @__errno_location() #12
  store i32 %23577, ptr %23578, align 4, !tbaa !5
  %23579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23580 = load i32, ptr @test_count, align 4, !tbaa !5
  %23581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23582 = load i32, ptr %23581, align 4, !tbaa !5
  %23583 = call ptr @s2n_strerror(i32 noundef %23582, ptr noundef @.str.4)
  %23584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23585 = load i32, ptr %23584, align 4, !tbaa !5
  %23586 = call ptr @s2n_strerror_debug(i32 noundef %23585, ptr noundef @.str.4)
  %23587 = call ptr @__errno_location() #12
  %23588 = load i32, ptr %23587, align 4, !tbaa !5
  %23589 = call ptr @strerror(i32 noundef %23588) #11
  %23590 = call ptr @__errno_location() #12
  %23591 = load i32, ptr %23590, align 4, !tbaa !5
  %23592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23579, ptr noundef @.str.2, i32 noundef %23580, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %23583, ptr noundef %23586, ptr noundef %23589, i32 noundef %23591) #11
  br label %23610

23593:                                            ; preds = %23571, %23564
  %23594 = load i32, ptr %506, align 4, !tbaa !5
  %23595 = call ptr @__errno_location() #12
  store i32 %23594, ptr %23595, align 4, !tbaa !5
  %23596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23597 = load i32, ptr @test_count, align 4, !tbaa !5
  %23598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23599 = load i32, ptr %23598, align 4, !tbaa !5
  %23600 = call ptr @s2n_strerror(i32 noundef %23599, ptr noundef @.str.4)
  %23601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23602 = load i32, ptr %23601, align 4, !tbaa !5
  %23603 = call ptr @s2n_strerror_debug(i32 noundef %23602, ptr noundef @.str.4)
  %23604 = call ptr @__errno_location() #12
  %23605 = load i32, ptr %23604, align 4, !tbaa !5
  %23606 = call ptr @strerror(i32 noundef %23605) #11
  %23607 = call ptr @__errno_location() #12
  %23608 = load i32, ptr %23607, align 4, !tbaa !5
  %23609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23596, ptr noundef @.str.5, i32 noundef %23597, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %23600, ptr noundef %23603, ptr noundef %23606, i32 noundef %23608) #11
  br label %23610

23610:                                            ; preds = %23593, %23576
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #11
  br label %23611

23611:                                            ; preds = %23610
  br label %23612

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

23613:                                            ; No predecessors!
  br label %23614

23614:                                            ; preds = %23613
  br label %23615

23615:                                            ; preds = %23614, %23556
  br label %23616

23616:                                            ; preds = %23615
  br label %23617

23617:                                            ; preds = %23616
  br label %23618

23618:                                            ; preds = %23617
  %23619 = load i32, ptr @test_count, align 4, !tbaa !5
  %23620 = add nsw i32 %23619, 1
  store i32 %23620, ptr @test_count, align 4, !tbaa !5
  %23621 = load ptr, ptr %502, align 8, !tbaa !9
  %23622 = getelementptr inbounds %struct.s2n_connection, ptr %23621, i32 0, i32 90
  %23623 = load i32, ptr %23622, align 4, !tbaa !85
  %23624 = icmp eq i32 %23623, 1
  br i1 %23624, label %23678, label %23625

23625:                                            ; preds = %23618
  br label %23626

23626:                                            ; preds = %23625
  br label %23627

23627:                                            ; preds = %23626
  call void @llvm.lifetime.start.p0(i64 4, ptr %507) #11
  %23628 = call ptr @__errno_location() #12
  %23629 = load i32, ptr %23628, align 4, !tbaa !5
  store i32 %23629, ptr %507, align 4, !tbaa !5
  %23630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23631 = call i32 @s2n_print_stacktrace(ptr noundef %23630)
  %23632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23633 = trunc i8 %23632 to i1
  br i1 %23633, label %23634, label %23656

23634:                                            ; preds = %23627
  %23635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23636 = call i32 @fileno(ptr noundef %23635) #11
  %23637 = call i32 @isatty(i32 noundef %23636) #11
  %23638 = icmp ne i32 %23637, 0
  br i1 %23638, label %23639, label %23656

23639:                                            ; preds = %23634
  %23640 = load i32, ptr %507, align 4, !tbaa !5
  %23641 = call ptr @__errno_location() #12
  store i32 %23640, ptr %23641, align 4, !tbaa !5
  %23642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23643 = load i32, ptr @test_count, align 4, !tbaa !5
  %23644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23645 = load i32, ptr %23644, align 4, !tbaa !5
  %23646 = call ptr @s2n_strerror(i32 noundef %23645, ptr noundef @.str.4)
  %23647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23648 = load i32, ptr %23647, align 4, !tbaa !5
  %23649 = call ptr @s2n_strerror_debug(i32 noundef %23648, ptr noundef @.str.4)
  %23650 = call ptr @__errno_location() #12
  %23651 = load i32, ptr %23650, align 4, !tbaa !5
  %23652 = call ptr @strerror(i32 noundef %23651) #11
  %23653 = call ptr @__errno_location() #12
  %23654 = load i32, ptr %23653, align 4, !tbaa !5
  %23655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23642, ptr noundef @.str.2, i32 noundef %23643, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %23646, ptr noundef %23649, ptr noundef %23652, i32 noundef %23654) #11
  br label %23673

23656:                                            ; preds = %23634, %23627
  %23657 = load i32, ptr %507, align 4, !tbaa !5
  %23658 = call ptr @__errno_location() #12
  store i32 %23657, ptr %23658, align 4, !tbaa !5
  %23659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23660 = load i32, ptr @test_count, align 4, !tbaa !5
  %23661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23662 = load i32, ptr %23661, align 4, !tbaa !5
  %23663 = call ptr @s2n_strerror(i32 noundef %23662, ptr noundef @.str.4)
  %23664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23665 = load i32, ptr %23664, align 4, !tbaa !5
  %23666 = call ptr @s2n_strerror_debug(i32 noundef %23665, ptr noundef @.str.4)
  %23667 = call ptr @__errno_location() #12
  %23668 = load i32, ptr %23667, align 4, !tbaa !5
  %23669 = call ptr @strerror(i32 noundef %23668) #11
  %23670 = call ptr @__errno_location() #12
  %23671 = load i32, ptr %23670, align 4, !tbaa !5
  %23672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23659, ptr noundef @.str.5, i32 noundef %23660, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %23663, ptr noundef %23666, ptr noundef %23669, i32 noundef %23671) #11
  br label %23673

23673:                                            ; preds = %23656, %23639
  call void @llvm.lifetime.end.p0(i64 4, ptr %507) #11
  br label %23674

23674:                                            ; preds = %23673
  br label %23675

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

23676:                                            ; No predecessors!
  br label %23677

23677:                                            ; preds = %23676
  br label %23678

23678:                                            ; preds = %23677, %23618
  br label %23679

23679:                                            ; preds = %23678
  br label %23680

23680:                                            ; preds = %23679
  br label %23681

23681:                                            ; preds = %23680
  %23682 = load i32, ptr @test_count, align 4, !tbaa !5
  %23683 = add nsw i32 %23682, 1
  store i32 %23683, ptr @test_count, align 4, !tbaa !5
  %23684 = load ptr, ptr %502, align 8, !tbaa !9
  %23685 = load i32, ptr %23684, align 8
  %23686 = lshr i32 %23685, 11
  %23687 = and i32 %23686, 1
  %23688 = icmp ne i32 %23687, 0
  br i1 %23688, label %23742, label %23689

23689:                                            ; preds = %23681
  br label %23690

23690:                                            ; preds = %23689
  br label %23691

23691:                                            ; preds = %23690
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %23692 = call ptr @__errno_location() #12
  %23693 = load i32, ptr %23692, align 4, !tbaa !5
  store i32 %23693, ptr %508, align 4, !tbaa !5
  %23694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23695 = call i32 @s2n_print_stacktrace(ptr noundef %23694)
  %23696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23697 = trunc i8 %23696 to i1
  br i1 %23697, label %23698, label %23720

23698:                                            ; preds = %23691
  %23699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23700 = call i32 @fileno(ptr noundef %23699) #11
  %23701 = call i32 @isatty(i32 noundef %23700) #11
  %23702 = icmp ne i32 %23701, 0
  br i1 %23702, label %23703, label %23720

23703:                                            ; preds = %23698
  %23704 = load i32, ptr %508, align 4, !tbaa !5
  %23705 = call ptr @__errno_location() #12
  store i32 %23704, ptr %23705, align 4, !tbaa !5
  %23706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23707 = load i32, ptr @test_count, align 4, !tbaa !5
  %23708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23709 = load i32, ptr %23708, align 4, !tbaa !5
  %23710 = call ptr @s2n_strerror(i32 noundef %23709, ptr noundef @.str.4)
  %23711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23712 = load i32, ptr %23711, align 4, !tbaa !5
  %23713 = call ptr @s2n_strerror_debug(i32 noundef %23712, ptr noundef @.str.4)
  %23714 = call ptr @__errno_location() #12
  %23715 = load i32, ptr %23714, align 4, !tbaa !5
  %23716 = call ptr @strerror(i32 noundef %23715) #11
  %23717 = call ptr @__errno_location() #12
  %23718 = load i32, ptr %23717, align 4, !tbaa !5
  %23719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23706, ptr noundef @.str.2, i32 noundef %23707, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 1013, ptr noundef %23710, ptr noundef %23713, ptr noundef %23716, i32 noundef %23718) #11
  br label %23737

23720:                                            ; preds = %23698, %23691
  %23721 = load i32, ptr %508, align 4, !tbaa !5
  %23722 = call ptr @__errno_location() #12
  store i32 %23721, ptr %23722, align 4, !tbaa !5
  %23723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23724 = load i32, ptr @test_count, align 4, !tbaa !5
  %23725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23726 = load i32, ptr %23725, align 4, !tbaa !5
  %23727 = call ptr @s2n_strerror(i32 noundef %23726, ptr noundef @.str.4)
  %23728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23729 = load i32, ptr %23728, align 4, !tbaa !5
  %23730 = call ptr @s2n_strerror_debug(i32 noundef %23729, ptr noundef @.str.4)
  %23731 = call ptr @__errno_location() #12
  %23732 = load i32, ptr %23731, align 4, !tbaa !5
  %23733 = call ptr @strerror(i32 noundef %23732) #11
  %23734 = call ptr @__errno_location() #12
  %23735 = load i32, ptr %23734, align 4, !tbaa !5
  %23736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23723, ptr noundef @.str.5, i32 noundef %23724, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 1013, ptr noundef %23727, ptr noundef %23730, ptr noundef %23733, i32 noundef %23735) #11
  br label %23737

23737:                                            ; preds = %23720, %23703
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %23738

23738:                                            ; preds = %23737
  br label %23739

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

23740:                                            ; No predecessors!
  br label %23741

23741:                                            ; preds = %23740
  br label %23742

23742:                                            ; preds = %23741, %23681
  br label %23743

23743:                                            ; preds = %23742
  br label %23744

23744:                                            ; preds = %23743
  %23745 = load ptr, ptr %502, align 8, !tbaa !9
  %23746 = load i32, ptr %23745, align 8
  %23747 = and i32 %23746, -2049
  %23748 = or i32 %23747, 0
  store i32 %23748, ptr %23745, align 8
  br label %23749

23749:                                            ; preds = %23744
  %23750 = load i32, ptr @test_count, align 4, !tbaa !5
  %23751 = add nsw i32 %23750, 1
  store i32 %23751, ptr @test_count, align 4, !tbaa !5
  %23752 = load ptr, ptr %502, align 8, !tbaa !9
  %23753 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %23752, i32 noundef -1)
  %23754 = icmp eq i32 %23753, -1
  br i1 %23754, label %23755, label %23808

23755:                                            ; preds = %23749
  br label %23756

23756:                                            ; preds = %23755
  br label %23757

23757:                                            ; preds = %23756
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #11
  %23758 = call ptr @__errno_location() #12
  %23759 = load i32, ptr %23758, align 4, !tbaa !5
  store i32 %23759, ptr %509, align 4, !tbaa !5
  %23760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23761 = call i32 @s2n_print_stacktrace(ptr noundef %23760)
  %23762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23763 = trunc i8 %23762 to i1
  br i1 %23763, label %23764, label %23786

23764:                                            ; preds = %23757
  %23765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23766 = call i32 @fileno(ptr noundef %23765) #11
  %23767 = call i32 @isatty(i32 noundef %23766) #11
  %23768 = icmp ne i32 %23767, 0
  br i1 %23768, label %23769, label %23786

23769:                                            ; preds = %23764
  %23770 = load i32, ptr %509, align 4, !tbaa !5
  %23771 = call ptr @__errno_location() #12
  store i32 %23770, ptr %23771, align 4, !tbaa !5
  %23772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23773 = load i32, ptr @test_count, align 4, !tbaa !5
  %23774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23775 = load i32, ptr %23774, align 4, !tbaa !5
  %23776 = call ptr @s2n_strerror(i32 noundef %23775, ptr noundef @.str.4)
  %23777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23778 = load i32, ptr %23777, align 4, !tbaa !5
  %23779 = call ptr @s2n_strerror_debug(i32 noundef %23778, ptr noundef @.str.4)
  %23780 = call ptr @__errno_location() #12
  %23781 = load i32, ptr %23780, align 4, !tbaa !5
  %23782 = call ptr @strerror(i32 noundef %23781) #11
  %23783 = call ptr @__errno_location() #12
  %23784 = load i32, ptr %23783, align 4, !tbaa !5
  %23785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23772, ptr noundef @.str.2, i32 noundef %23773, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 1017, ptr noundef %23776, ptr noundef %23779, ptr noundef %23782, i32 noundef %23784) #11
  br label %23803

23786:                                            ; preds = %23764, %23757
  %23787 = load i32, ptr %509, align 4, !tbaa !5
  %23788 = call ptr @__errno_location() #12
  store i32 %23787, ptr %23788, align 4, !tbaa !5
  %23789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23790 = load i32, ptr @test_count, align 4, !tbaa !5
  %23791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23792 = load i32, ptr %23791, align 4, !tbaa !5
  %23793 = call ptr @s2n_strerror(i32 noundef %23792, ptr noundef @.str.4)
  %23794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23795 = load i32, ptr %23794, align 4, !tbaa !5
  %23796 = call ptr @s2n_strerror_debug(i32 noundef %23795, ptr noundef @.str.4)
  %23797 = call ptr @__errno_location() #12
  %23798 = load i32, ptr %23797, align 4, !tbaa !5
  %23799 = call ptr @strerror(i32 noundef %23798) #11
  %23800 = call ptr @__errno_location() #12
  %23801 = load i32, ptr %23800, align 4, !tbaa !5
  %23802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23789, ptr noundef @.str.5, i32 noundef %23790, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 1017, ptr noundef %23793, ptr noundef %23796, ptr noundef %23799, i32 noundef %23801) #11
  br label %23803

23803:                                            ; preds = %23786, %23769
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #11
  br label %23804

23804:                                            ; preds = %23803
  br label %23805

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

23806:                                            ; No predecessors!
  br label %23807

23807:                                            ; preds = %23806
  br label %23808

23808:                                            ; preds = %23807, %23749
  br label %23809

23809:                                            ; preds = %23808
  br label %23810

23810:                                            ; preds = %23809
  br label %23811

23811:                                            ; preds = %23810
  %23812 = load i32, ptr @test_count, align 4, !tbaa !5
  %23813 = add nsw i32 %23812, 1
  store i32 %23813, ptr @test_count, align 4, !tbaa !5
  %23814 = load ptr, ptr %502, align 8, !tbaa !9
  %23815 = getelementptr inbounds %struct.s2n_connection, ptr %23814, i32 0, i32 90
  %23816 = load i32, ptr %23815, align 4, !tbaa !85
  %23817 = icmp eq i32 %23816, -1
  br i1 %23817, label %23871, label %23818

23818:                                            ; preds = %23811
  br label %23819

23819:                                            ; preds = %23818
  br label %23820

23820:                                            ; preds = %23819
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #11
  %23821 = call ptr @__errno_location() #12
  %23822 = load i32, ptr %23821, align 4, !tbaa !5
  store i32 %23822, ptr %510, align 4, !tbaa !5
  %23823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23824 = call i32 @s2n_print_stacktrace(ptr noundef %23823)
  %23825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23826 = trunc i8 %23825 to i1
  br i1 %23826, label %23827, label %23849

23827:                                            ; preds = %23820
  %23828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23829 = call i32 @fileno(ptr noundef %23828) #11
  %23830 = call i32 @isatty(i32 noundef %23829) #11
  %23831 = icmp ne i32 %23830, 0
  br i1 %23831, label %23832, label %23849

23832:                                            ; preds = %23827
  %23833 = load i32, ptr %510, align 4, !tbaa !5
  %23834 = call ptr @__errno_location() #12
  store i32 %23833, ptr %23834, align 4, !tbaa !5
  %23835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23836 = load i32, ptr @test_count, align 4, !tbaa !5
  %23837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23838 = load i32, ptr %23837, align 4, !tbaa !5
  %23839 = call ptr @s2n_strerror(i32 noundef %23838, ptr noundef @.str.4)
  %23840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23841 = load i32, ptr %23840, align 4, !tbaa !5
  %23842 = call ptr @s2n_strerror_debug(i32 noundef %23841, ptr noundef @.str.4)
  %23843 = call ptr @__errno_location() #12
  %23844 = load i32, ptr %23843, align 4, !tbaa !5
  %23845 = call ptr @strerror(i32 noundef %23844) #11
  %23846 = call ptr @__errno_location() #12
  %23847 = load i32, ptr %23846, align 4, !tbaa !5
  %23848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23835, ptr noundef @.str.2, i32 noundef %23836, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 1018, ptr noundef %23839, ptr noundef %23842, ptr noundef %23845, i32 noundef %23847) #11
  br label %23866

23849:                                            ; preds = %23827, %23820
  %23850 = load i32, ptr %510, align 4, !tbaa !5
  %23851 = call ptr @__errno_location() #12
  store i32 %23850, ptr %23851, align 4, !tbaa !5
  %23852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23853 = load i32, ptr @test_count, align 4, !tbaa !5
  %23854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23855 = load i32, ptr %23854, align 4, !tbaa !5
  %23856 = call ptr @s2n_strerror(i32 noundef %23855, ptr noundef @.str.4)
  %23857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23858 = load i32, ptr %23857, align 4, !tbaa !5
  %23859 = call ptr @s2n_strerror_debug(i32 noundef %23858, ptr noundef @.str.4)
  %23860 = call ptr @__errno_location() #12
  %23861 = load i32, ptr %23860, align 4, !tbaa !5
  %23862 = call ptr @strerror(i32 noundef %23861) #11
  %23863 = call ptr @__errno_location() #12
  %23864 = load i32, ptr %23863, align 4, !tbaa !5
  %23865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23852, ptr noundef @.str.5, i32 noundef %23853, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 1018, ptr noundef %23856, ptr noundef %23859, ptr noundef %23862, i32 noundef %23864) #11
  br label %23866

23866:                                            ; preds = %23849, %23832
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #11
  br label %23867

23867:                                            ; preds = %23866
  br label %23868

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

23869:                                            ; No predecessors!
  br label %23870

23870:                                            ; preds = %23869
  br label %23871

23871:                                            ; preds = %23870, %23811
  br label %23872

23872:                                            ; preds = %23871
  br label %23873

23873:                                            ; preds = %23872
  br label %23874

23874:                                            ; preds = %23873
  %23875 = load i32, ptr @test_count, align 4, !tbaa !5
  %23876 = add nsw i32 %23875, 1
  store i32 %23876, ptr @test_count, align 4, !tbaa !5
  %23877 = load ptr, ptr %502, align 8, !tbaa !9
  %23878 = load i32, ptr %23877, align 8
  %23879 = lshr i32 %23878, 11
  %23880 = and i32 %23879, 1
  %23881 = icmp ne i32 %23880, 0
  br i1 %23881, label %23935, label %23882

23882:                                            ; preds = %23874
  br label %23883

23883:                                            ; preds = %23882
  br label %23884

23884:                                            ; preds = %23883
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %23885 = call ptr @__errno_location() #12
  %23886 = load i32, ptr %23885, align 4, !tbaa !5
  store i32 %23886, ptr %511, align 4, !tbaa !5
  %23887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23888 = call i32 @s2n_print_stacktrace(ptr noundef %23887)
  %23889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23890 = trunc i8 %23889 to i1
  br i1 %23890, label %23891, label %23913

23891:                                            ; preds = %23884
  %23892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23893 = call i32 @fileno(ptr noundef %23892) #11
  %23894 = call i32 @isatty(i32 noundef %23893) #11
  %23895 = icmp ne i32 %23894, 0
  br i1 %23895, label %23896, label %23913

23896:                                            ; preds = %23891
  %23897 = load i32, ptr %511, align 4, !tbaa !5
  %23898 = call ptr @__errno_location() #12
  store i32 %23897, ptr %23898, align 4, !tbaa !5
  %23899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23900 = load i32, ptr @test_count, align 4, !tbaa !5
  %23901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23902 = load i32, ptr %23901, align 4, !tbaa !5
  %23903 = call ptr @s2n_strerror(i32 noundef %23902, ptr noundef @.str.4)
  %23904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23905 = load i32, ptr %23904, align 4, !tbaa !5
  %23906 = call ptr @s2n_strerror_debug(i32 noundef %23905, ptr noundef @.str.4)
  %23907 = call ptr @__errno_location() #12
  %23908 = load i32, ptr %23907, align 4, !tbaa !5
  %23909 = call ptr @strerror(i32 noundef %23908) #11
  %23910 = call ptr @__errno_location() #12
  %23911 = load i32, ptr %23910, align 4, !tbaa !5
  %23912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23899, ptr noundef @.str.2, i32 noundef %23900, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 1019, ptr noundef %23903, ptr noundef %23906, ptr noundef %23909, i32 noundef %23911) #11
  br label %23930

23913:                                            ; preds = %23891, %23884
  %23914 = load i32, ptr %511, align 4, !tbaa !5
  %23915 = call ptr @__errno_location() #12
  store i32 %23914, ptr %23915, align 4, !tbaa !5
  %23916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23917 = load i32, ptr @test_count, align 4, !tbaa !5
  %23918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23919 = load i32, ptr %23918, align 4, !tbaa !5
  %23920 = call ptr @s2n_strerror(i32 noundef %23919, ptr noundef @.str.4)
  %23921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23922 = load i32, ptr %23921, align 4, !tbaa !5
  %23923 = call ptr @s2n_strerror_debug(i32 noundef %23922, ptr noundef @.str.4)
  %23924 = call ptr @__errno_location() #12
  %23925 = load i32, ptr %23924, align 4, !tbaa !5
  %23926 = call ptr @strerror(i32 noundef %23925) #11
  %23927 = call ptr @__errno_location() #12
  %23928 = load i32, ptr %23927, align 4, !tbaa !5
  %23929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23916, ptr noundef @.str.5, i32 noundef %23917, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 1019, ptr noundef %23920, ptr noundef %23923, ptr noundef %23926, i32 noundef %23928) #11
  br label %23930

23930:                                            ; preds = %23913, %23896
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %23931

23931:                                            ; preds = %23930
  br label %23932

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

23933:                                            ; No predecessors!
  br label %23934

23934:                                            ; preds = %23933
  br label %23935

23935:                                            ; preds = %23934, %23874
  br label %23936

23936:                                            ; preds = %23935
  br label %23937

23937:                                            ; preds = %23936
  br label %23938

23938:                                            ; preds = %23937
  %23939 = load i32, ptr @test_count, align 4, !tbaa !5
  %23940 = add nsw i32 %23939, 1
  store i32 %23940, ptr @test_count, align 4, !tbaa !5
  %23941 = load ptr, ptr %502, align 8, !tbaa !9
  %23942 = call i32 @s2n_connection_free(ptr noundef %23941)
  %23943 = icmp eq i32 %23942, -1
  br i1 %23943, label %23944, label %23997

23944:                                            ; preds = %23938
  br label %23945

23945:                                            ; preds = %23944
  br label %23946

23946:                                            ; preds = %23945
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #11
  %23947 = call ptr @__errno_location() #12
  %23948 = load i32, ptr %23947, align 4, !tbaa !5
  store i32 %23948, ptr %512, align 4, !tbaa !5
  %23949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23950 = call i32 @s2n_print_stacktrace(ptr noundef %23949)
  %23951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23952 = trunc i8 %23951 to i1
  br i1 %23952, label %23953, label %23975

23953:                                            ; preds = %23946
  %23954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23955 = call i32 @fileno(ptr noundef %23954) #11
  %23956 = call i32 @isatty(i32 noundef %23955) #11
  %23957 = icmp ne i32 %23956, 0
  br i1 %23957, label %23958, label %23975

23958:                                            ; preds = %23953
  %23959 = load i32, ptr %512, align 4, !tbaa !5
  %23960 = call ptr @__errno_location() #12
  store i32 %23959, ptr %23960, align 4, !tbaa !5
  %23961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23962 = load i32, ptr @test_count, align 4, !tbaa !5
  %23963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23964 = load i32, ptr %23963, align 4, !tbaa !5
  %23965 = call ptr @s2n_strerror(i32 noundef %23964, ptr noundef @.str.4)
  %23966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23967 = load i32, ptr %23966, align 4, !tbaa !5
  %23968 = call ptr @s2n_strerror_debug(i32 noundef %23967, ptr noundef @.str.4)
  %23969 = call ptr @__errno_location() #12
  %23970 = load i32, ptr %23969, align 4, !tbaa !5
  %23971 = call ptr @strerror(i32 noundef %23970) #11
  %23972 = call ptr @__errno_location() #12
  %23973 = load i32, ptr %23972, align 4, !tbaa !5
  %23974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23961, ptr noundef @.str.2, i32 noundef %23962, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1021, ptr noundef %23965, ptr noundef %23968, ptr noundef %23971, i32 noundef %23973) #11
  br label %23992

23975:                                            ; preds = %23953, %23946
  %23976 = load i32, ptr %512, align 4, !tbaa !5
  %23977 = call ptr @__errno_location() #12
  store i32 %23976, ptr %23977, align 4, !tbaa !5
  %23978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23979 = load i32, ptr @test_count, align 4, !tbaa !5
  %23980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23981 = load i32, ptr %23980, align 4, !tbaa !5
  %23982 = call ptr @s2n_strerror(i32 noundef %23981, ptr noundef @.str.4)
  %23983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23984 = load i32, ptr %23983, align 4, !tbaa !5
  %23985 = call ptr @s2n_strerror_debug(i32 noundef %23984, ptr noundef @.str.4)
  %23986 = call ptr @__errno_location() #12
  %23987 = load i32, ptr %23986, align 4, !tbaa !5
  %23988 = call ptr @strerror(i32 noundef %23987) #11
  %23989 = call ptr @__errno_location() #12
  %23990 = load i32, ptr %23989, align 4, !tbaa !5
  %23991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23978, ptr noundef @.str.5, i32 noundef %23979, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1021, ptr noundef %23982, ptr noundef %23985, ptr noundef %23988, i32 noundef %23990) #11
  br label %23992

23992:                                            ; preds = %23975, %23958
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #11
  br label %23993

23993:                                            ; preds = %23992
  br label %23994

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

23995:                                            ; No predecessors!
  br label %23996

23996:                                            ; preds = %23995
  br label %23997

23997:                                            ; preds = %23996, %23938
  br label %23998

23998:                                            ; preds = %23997
  br label %23999

23999:                                            ; preds = %23998
  call void @llvm.lifetime.end.p0(i64 8, ptr %502) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  store i32 0, ptr %513, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  store i32 10, ptr %514, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  store i32 5, ptr %515, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %516) #11
  %24000 = call ptr @s2n_config_new()
  store ptr %24000, ptr %516, align 8, !tbaa !9
  br label %24001

24001:                                            ; preds = %23999
  %24002 = load i32, ptr @test_count, align 4, !tbaa !5
  %24003 = add nsw i32 %24002, 1
  store i32 %24003, ptr @test_count, align 4, !tbaa !5
  %24004 = load ptr, ptr %516, align 8, !tbaa !9
  %24005 = icmp eq ptr %24004, null
  br i1 %24005, label %24006, label %24059

24006:                                            ; preds = %24001
  br label %24007

24007:                                            ; preds = %24006
  br label %24008

24008:                                            ; preds = %24007
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %24009 = call ptr @__errno_location() #12
  %24010 = load i32, ptr %24009, align 4, !tbaa !5
  store i32 %24010, ptr %517, align 4, !tbaa !5
  %24011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24012 = call i32 @s2n_print_stacktrace(ptr noundef %24011)
  %24013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24014 = trunc i8 %24013 to i1
  br i1 %24014, label %24015, label %24037

24015:                                            ; preds = %24008
  %24016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24017 = call i32 @fileno(ptr noundef %24016) #11
  %24018 = call i32 @isatty(i32 noundef %24017) #11
  %24019 = icmp ne i32 %24018, 0
  br i1 %24019, label %24020, label %24037

24020:                                            ; preds = %24015
  %24021 = load i32, ptr %517, align 4, !tbaa !5
  %24022 = call ptr @__errno_location() #12
  store i32 %24021, ptr %24022, align 4, !tbaa !5
  %24023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24024 = load i32, ptr @test_count, align 4, !tbaa !5
  %24025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24026 = load i32, ptr %24025, align 4, !tbaa !5
  %24027 = call ptr @s2n_strerror(i32 noundef %24026, ptr noundef @.str.4)
  %24028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24029 = load i32, ptr %24028, align 4, !tbaa !5
  %24030 = call ptr @s2n_strerror_debug(i32 noundef %24029, ptr noundef @.str.4)
  %24031 = call ptr @__errno_location() #12
  %24032 = load i32, ptr %24031, align 4, !tbaa !5
  %24033 = call ptr @strerror(i32 noundef %24032) #11
  %24034 = call ptr @__errno_location() #12
  %24035 = load i32, ptr %24034, align 4, !tbaa !5
  %24036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24023, ptr noundef @.str.2, i32 noundef %24024, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1031, ptr noundef %24027, ptr noundef %24030, ptr noundef %24033, i32 noundef %24035) #11
  br label %24054

24037:                                            ; preds = %24015, %24008
  %24038 = load i32, ptr %517, align 4, !tbaa !5
  %24039 = call ptr @__errno_location() #12
  store i32 %24038, ptr %24039, align 4, !tbaa !5
  %24040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24041 = load i32, ptr @test_count, align 4, !tbaa !5
  %24042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24043 = load i32, ptr %24042, align 4, !tbaa !5
  %24044 = call ptr @s2n_strerror(i32 noundef %24043, ptr noundef @.str.4)
  %24045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24046 = load i32, ptr %24045, align 4, !tbaa !5
  %24047 = call ptr @s2n_strerror_debug(i32 noundef %24046, ptr noundef @.str.4)
  %24048 = call ptr @__errno_location() #12
  %24049 = load i32, ptr %24048, align 4, !tbaa !5
  %24050 = call ptr @strerror(i32 noundef %24049) #11
  %24051 = call ptr @__errno_location() #12
  %24052 = load i32, ptr %24051, align 4, !tbaa !5
  %24053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24040, ptr noundef @.str.5, i32 noundef %24041, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1031, ptr noundef %24044, ptr noundef %24047, ptr noundef %24050, i32 noundef %24052) #11
  br label %24054

24054:                                            ; preds = %24037, %24020
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %24055

24055:                                            ; preds = %24054
  br label %24056

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

24057:                                            ; No predecessors!
  br label %24058

24058:                                            ; preds = %24057
  br label %24059

24059:                                            ; preds = %24058, %24001
  br label %24060

24060:                                            ; preds = %24059
  br label %24061

24061:                                            ; preds = %24060
  br label %24062

24062:                                            ; preds = %24061
  %24063 = load i32, ptr @test_count, align 4, !tbaa !5
  %24064 = add nsw i32 %24063, 1
  store i32 %24064, ptr @test_count, align 4, !tbaa !5
  %24065 = load ptr, ptr %516, align 8, !tbaa !9
  %24066 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef %24065, i32 noundef 5)
  %24067 = icmp eq i32 %24066, -1
  br i1 %24067, label %24068, label %24121

24068:                                            ; preds = %24062
  br label %24069

24069:                                            ; preds = %24068
  br label %24070

24070:                                            ; preds = %24069
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %24071 = call ptr @__errno_location() #12
  %24072 = load i32, ptr %24071, align 4, !tbaa !5
  store i32 %24072, ptr %518, align 4, !tbaa !5
  %24073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24074 = call i32 @s2n_print_stacktrace(ptr noundef %24073)
  %24075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24076 = trunc i8 %24075 to i1
  br i1 %24076, label %24077, label %24099

24077:                                            ; preds = %24070
  %24078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24079 = call i32 @fileno(ptr noundef %24078) #11
  %24080 = call i32 @isatty(i32 noundef %24079) #11
  %24081 = icmp ne i32 %24080, 0
  br i1 %24081, label %24082, label %24099

24082:                                            ; preds = %24077
  %24083 = load i32, ptr %518, align 4, !tbaa !5
  %24084 = call ptr @__errno_location() #12
  store i32 %24083, ptr %24084, align 4, !tbaa !5
  %24085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24086 = load i32, ptr @test_count, align 4, !tbaa !5
  %24087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24088 = load i32, ptr %24087, align 4, !tbaa !5
  %24089 = call ptr @s2n_strerror(i32 noundef %24088, ptr noundef @.str.4)
  %24090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24091 = load i32, ptr %24090, align 4, !tbaa !5
  %24092 = call ptr @s2n_strerror_debug(i32 noundef %24091, ptr noundef @.str.4)
  %24093 = call ptr @__errno_location() #12
  %24094 = load i32, ptr %24093, align 4, !tbaa !5
  %24095 = call ptr @strerror(i32 noundef %24094) #11
  %24096 = call ptr @__errno_location() #12
  %24097 = load i32, ptr %24096, align 4, !tbaa !5
  %24098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24085, ptr noundef @.str.2, i32 noundef %24086, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %24089, ptr noundef %24092, ptr noundef %24095, i32 noundef %24097) #11
  br label %24116

24099:                                            ; preds = %24077, %24070
  %24100 = load i32, ptr %518, align 4, !tbaa !5
  %24101 = call ptr @__errno_location() #12
  store i32 %24100, ptr %24101, align 4, !tbaa !5
  %24102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24103 = load i32, ptr @test_count, align 4, !tbaa !5
  %24104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24105 = load i32, ptr %24104, align 4, !tbaa !5
  %24106 = call ptr @s2n_strerror(i32 noundef %24105, ptr noundef @.str.4)
  %24107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24108 = load i32, ptr %24107, align 4, !tbaa !5
  %24109 = call ptr @s2n_strerror_debug(i32 noundef %24108, ptr noundef @.str.4)
  %24110 = call ptr @__errno_location() #12
  %24111 = load i32, ptr %24110, align 4, !tbaa !5
  %24112 = call ptr @strerror(i32 noundef %24111) #11
  %24113 = call ptr @__errno_location() #12
  %24114 = load i32, ptr %24113, align 4, !tbaa !5
  %24115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24102, ptr noundef @.str.5, i32 noundef %24103, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %24106, ptr noundef %24109, ptr noundef %24112, i32 noundef %24114) #11
  br label %24116

24116:                                            ; preds = %24099, %24082
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %24117

24117:                                            ; preds = %24116
  br label %24118

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

24119:                                            ; No predecessors!
  br label %24120

24120:                                            ; preds = %24119
  br label %24121

24121:                                            ; preds = %24120, %24062
  br label %24122

24122:                                            ; preds = %24121
  br label %24123

24123:                                            ; preds = %24122
  call void @llvm.lifetime.start.p0(i64 8, ptr %519) #11
  %24124 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %24124, ptr %519, align 8, !tbaa !9
  br label %24125

24125:                                            ; preds = %24123
  %24126 = load i32, ptr @test_count, align 4, !tbaa !5
  %24127 = add nsw i32 %24126, 1
  store i32 %24127, ptr @test_count, align 4, !tbaa !5
  %24128 = load ptr, ptr %519, align 8, !tbaa !9
  %24129 = icmp eq ptr %24128, null
  br i1 %24129, label %24130, label %24183

24130:                                            ; preds = %24125
  br label %24131

24131:                                            ; preds = %24130
  br label %24132

24132:                                            ; preds = %24131
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %24133 = call ptr @__errno_location() #12
  %24134 = load i32, ptr %24133, align 4, !tbaa !5
  store i32 %24134, ptr %520, 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) #11
  %24142 = call i32 @isatty(i32 noundef %24141) #11
  %24143 = icmp ne i32 %24142, 0
  br i1 %24143, label %24144, label %24161

24144:                                            ; preds = %24139
  %24145 = load i32, ptr %520, align 4, !tbaa !5
  %24146 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %24155 = call ptr @__errno_location() #12
  %24156 = load i32, ptr %24155, align 4, !tbaa !5
  %24157 = call ptr @strerror(i32 noundef %24156) #11
  %24158 = call ptr @__errno_location() #12
  %24159 = load i32, ptr %24158, align 4, !tbaa !5
  %24160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24147, ptr noundef @.str.2, i32 noundef %24148, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %24151, ptr noundef %24154, ptr noundef %24157, i32 noundef %24159) #11
  br label %24178

24161:                                            ; preds = %24139, %24132
  %24162 = load i32, ptr %520, align 4, !tbaa !5
  %24163 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %24172 = call ptr @__errno_location() #12
  %24173 = load i32, ptr %24172, align 4, !tbaa !5
  %24174 = call ptr @strerror(i32 noundef %24173) #11
  %24175 = call ptr @__errno_location() #12
  %24176 = load i32, ptr %24175, align 4, !tbaa !5
  %24177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24164, ptr noundef @.str.5, i32 noundef %24165, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %24168, ptr noundef %24171, ptr noundef %24174, i32 noundef %24176) #11
  br label %24178

24178:                                            ; preds = %24161, %24144
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %24179

24179:                                            ; preds = %24178
  br label %24180

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

24181:                                            ; No predecessors!
  br label %24182

24182:                                            ; preds = %24181
  br label %24183

24183:                                            ; preds = %24182, %24125
  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 %519, align 8, !tbaa !9
  %24190 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %24189, i32 noundef 10)
  %24191 = icmp eq i32 %24190, -1
  br i1 %24191, label %24192, label %24245

24192:                                            ; preds = %24186
  br label %24193

24193:                                            ; preds = %24192
  br label %24194

24194:                                            ; preds = %24193
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %24195 = call ptr @__errno_location() #12
  %24196 = load i32, ptr %24195, align 4, !tbaa !5
  store i32 %24196, ptr %521, align 4, !tbaa !5
  %24197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24198 = call i32 @s2n_print_stacktrace(ptr noundef %24197)
  %24199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24200 = trunc i8 %24199 to i1
  br i1 %24200, label %24201, label %24223

24201:                                            ; preds = %24194
  %24202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24203 = call i32 @fileno(ptr noundef %24202) #11
  %24204 = call i32 @isatty(i32 noundef %24203) #11
  %24205 = icmp ne i32 %24204, 0
  br i1 %24205, label %24206, label %24223

24206:                                            ; preds = %24201
  %24207 = load i32, ptr %521, align 4, !tbaa !5
  %24208 = call ptr @__errno_location() #12
  store i32 %24207, ptr %24208, align 4, !tbaa !5
  %24209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24210 = load i32, ptr @test_count, align 4, !tbaa !5
  %24211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24212 = load i32, ptr %24211, align 4, !tbaa !5
  %24213 = call ptr @s2n_strerror(i32 noundef %24212, ptr noundef @.str.4)
  %24214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24215 = load i32, ptr %24214, align 4, !tbaa !5
  %24216 = call ptr @s2n_strerror_debug(i32 noundef %24215, ptr noundef @.str.4)
  %24217 = call ptr @__errno_location() #12
  %24218 = load i32, ptr %24217, align 4, !tbaa !5
  %24219 = call ptr @strerror(i32 noundef %24218) #11
  %24220 = call ptr @__errno_location() #12
  %24221 = load i32, ptr %24220, align 4, !tbaa !5
  %24222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24209, ptr noundef @.str.2, i32 noundef %24210, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1036, ptr noundef %24213, ptr noundef %24216, ptr noundef %24219, i32 noundef %24221) #11
  br label %24240

24223:                                            ; preds = %24201, %24194
  %24224 = load i32, ptr %521, align 4, !tbaa !5
  %24225 = call ptr @__errno_location() #12
  store i32 %24224, ptr %24225, align 4, !tbaa !5
  %24226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24227 = load i32, ptr @test_count, align 4, !tbaa !5
  %24228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24229 = load i32, ptr %24228, align 4, !tbaa !5
  %24230 = call ptr @s2n_strerror(i32 noundef %24229, ptr noundef @.str.4)
  %24231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24232 = load i32, ptr %24231, align 4, !tbaa !5
  %24233 = call ptr @s2n_strerror_debug(i32 noundef %24232, ptr noundef @.str.4)
  %24234 = call ptr @__errno_location() #12
  %24235 = load i32, ptr %24234, align 4, !tbaa !5
  %24236 = call ptr @strerror(i32 noundef %24235) #11
  %24237 = call ptr @__errno_location() #12
  %24238 = load i32, ptr %24237, align 4, !tbaa !5
  %24239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24226, ptr noundef @.str.5, i32 noundef %24227, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1036, ptr noundef %24230, ptr noundef %24233, ptr noundef %24236, i32 noundef %24238) #11
  br label %24240

24240:                                            ; preds = %24223, %24206
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %24241

24241:                                            ; preds = %24240
  br label %24242

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

24243:                                            ; No predecessors!
  br label %24244

24244:                                            ; preds = %24243
  br label %24245

24245:                                            ; preds = %24244, %24186
  br label %24246

24246:                                            ; preds = %24245
  br label %24247

24247:                                            ; preds = %24246
  br label %24248

24248:                                            ; preds = %24247
  br label %24249

24249:                                            ; preds = %24248
  br label %24250

24250:                                            ; preds = %24249
  %24251 = load i32, ptr @test_count, align 4, !tbaa !5
  %24252 = add nsw i32 %24251, 1
  store i32 %24252, ptr @test_count, align 4, !tbaa !5
  %24253 = call i32 @s2n_early_data_get_server_max_size(ptr noundef null, ptr noundef %513)
  %24254 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  store i32 %24253, ptr %24254, align 4
  %24255 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  %24256 = load i32, ptr %24255, align 4
  %24257 = call zeroext i1 @s2n_result_is_error(i32 %24256)
  br i1 %24257, label %24311, label %24258

24258:                                            ; preds = %24250
  br label %24259

24259:                                            ; preds = %24258
  br label %24260

24260:                                            ; preds = %24259
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %24261 = call ptr @__errno_location() #12
  %24262 = load i32, ptr %24261, align 4, !tbaa !5
  store i32 %24262, ptr %523, align 4, !tbaa !5
  %24263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24264 = call i32 @s2n_print_stacktrace(ptr noundef %24263)
  %24265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24266 = trunc i8 %24265 to i1
  br i1 %24266, label %24267, label %24289

24267:                                            ; preds = %24260
  %24268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24269 = call i32 @fileno(ptr noundef %24268) #11
  %24270 = call i32 @isatty(i32 noundef %24269) #11
  %24271 = icmp ne i32 %24270, 0
  br i1 %24271, label %24272, label %24289

24272:                                            ; preds = %24267
  %24273 = load i32, ptr %523, align 4, !tbaa !5
  %24274 = call ptr @__errno_location() #12
  store i32 %24273, ptr %24274, align 4, !tbaa !5
  %24275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24276 = load i32, ptr @test_count, align 4, !tbaa !5
  %24277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24278 = load i32, ptr %24277, align 4, !tbaa !5
  %24279 = call ptr @s2n_strerror(i32 noundef %24278, ptr noundef @.str.4)
  %24280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24281 = load i32, ptr %24280, align 4, !tbaa !5
  %24282 = call ptr @s2n_strerror_debug(i32 noundef %24281, ptr noundef @.str.4)
  %24283 = call ptr @__errno_location() #12
  %24284 = load i32, ptr %24283, align 4, !tbaa !5
  %24285 = call ptr @strerror(i32 noundef %24284) #11
  %24286 = call ptr @__errno_location() #12
  %24287 = load i32, ptr %24286, align 4, !tbaa !5
  %24288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24275, ptr noundef @.str.2, i32 noundef %24276, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %24279, ptr noundef %24282, ptr noundef %24285, i32 noundef %24287) #11
  br label %24306

24289:                                            ; preds = %24267, %24260
  %24290 = load i32, ptr %523, align 4, !tbaa !5
  %24291 = call ptr @__errno_location() #12
  store i32 %24290, ptr %24291, align 4, !tbaa !5
  %24292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24293 = load i32, ptr @test_count, align 4, !tbaa !5
  %24294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24295 = load i32, ptr %24294, align 4, !tbaa !5
  %24296 = call ptr @s2n_strerror(i32 noundef %24295, ptr noundef @.str.4)
  %24297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24298 = load i32, ptr %24297, align 4, !tbaa !5
  %24299 = call ptr @s2n_strerror_debug(i32 noundef %24298, ptr noundef @.str.4)
  %24300 = call ptr @__errno_location() #12
  %24301 = load i32, ptr %24300, align 4, !tbaa !5
  %24302 = call ptr @strerror(i32 noundef %24301) #11
  %24303 = call ptr @__errno_location() #12
  %24304 = load i32, ptr %24303, align 4, !tbaa !5
  %24305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24292, ptr noundef @.str.5, i32 noundef %24293, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %24296, ptr noundef %24299, ptr noundef %24302, i32 noundef %24304) #11
  br label %24306

24306:                                            ; preds = %24289, %24272
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %24307

24307:                                            ; preds = %24306
  br label %24308

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

24309:                                            ; No predecessors!
  br label %24310

24310:                                            ; preds = %24309
  br label %24311

24311:                                            ; preds = %24310, %24250
  br label %24312

24312:                                            ; preds = %24311
  br label %24313

24313:                                            ; preds = %24312
  br label %24314

24314:                                            ; preds = %24313
  %24315 = load i32, ptr @test_count, align 4, !tbaa !5
  %24316 = add nsw i32 %24315, 1
  store i32 %24316, ptr @test_count, align 4, !tbaa !5
  %24317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24318 = load i32, ptr %24317, align 4, !tbaa !5
  %24319 = icmp eq i32 %24318, 402653193
  br i1 %24319, label %24373, label %24320

24320:                                            ; preds = %24314
  br label %24321

24321:                                            ; preds = %24320
  br label %24322

24322:                                            ; preds = %24321
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  %24323 = call ptr @__errno_location() #12
  %24324 = load i32, ptr %24323, align 4, !tbaa !5
  store i32 %24324, ptr %524, align 4, !tbaa !5
  %24325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24326 = call i32 @s2n_print_stacktrace(ptr noundef %24325)
  %24327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24328 = trunc i8 %24327 to i1
  br i1 %24328, label %24329, label %24351

24329:                                            ; preds = %24322
  %24330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24331 = call i32 @fileno(ptr noundef %24330) #11
  %24332 = call i32 @isatty(i32 noundef %24331) #11
  %24333 = icmp ne i32 %24332, 0
  br i1 %24333, label %24334, label %24351

24334:                                            ; preds = %24329
  %24335 = load i32, ptr %524, align 4, !tbaa !5
  %24336 = call ptr @__errno_location() #12
  store i32 %24335, ptr %24336, align 4, !tbaa !5
  %24337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24338 = load i32, ptr @test_count, align 4, !tbaa !5
  %24339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24340 = load i32, ptr %24339, align 4, !tbaa !5
  %24341 = call ptr @s2n_strerror(i32 noundef %24340, ptr noundef @.str.4)
  %24342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24343 = load i32, ptr %24342, align 4, !tbaa !5
  %24344 = call ptr @s2n_strerror_debug(i32 noundef %24343, ptr noundef @.str.4)
  %24345 = call ptr @__errno_location() #12
  %24346 = load i32, ptr %24345, align 4, !tbaa !5
  %24347 = call ptr @strerror(i32 noundef %24346) #11
  %24348 = call ptr @__errno_location() #12
  %24349 = load i32, ptr %24348, align 4, !tbaa !5
  %24350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24337, ptr noundef @.str.2, i32 noundef %24338, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %24341, ptr noundef %24344, ptr noundef %24347, i32 noundef %24349) #11
  br label %24368

24351:                                            ; preds = %24329, %24322
  %24352 = load i32, ptr %524, align 4, !tbaa !5
  %24353 = call ptr @__errno_location() #12
  store i32 %24352, ptr %24353, align 4, !tbaa !5
  %24354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24355 = load i32, ptr @test_count, align 4, !tbaa !5
  %24356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24357 = load i32, ptr %24356, align 4, !tbaa !5
  %24358 = call ptr @s2n_strerror(i32 noundef %24357, ptr noundef @.str.4)
  %24359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24360 = load i32, ptr %24359, align 4, !tbaa !5
  %24361 = call ptr @s2n_strerror_debug(i32 noundef %24360, ptr noundef @.str.4)
  %24362 = call ptr @__errno_location() #12
  %24363 = load i32, ptr %24362, align 4, !tbaa !5
  %24364 = call ptr @strerror(i32 noundef %24363) #11
  %24365 = call ptr @__errno_location() #12
  %24366 = load i32, ptr %24365, align 4, !tbaa !5
  %24367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24354, ptr noundef @.str.5, i32 noundef %24355, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %24358, ptr noundef %24361, ptr noundef %24364, i32 noundef %24366) #11
  br label %24368

24368:                                            ; preds = %24351, %24334
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  br label %24369

24369:                                            ; preds = %24368
  br label %24370

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

24371:                                            ; No predecessors!
  br label %24372

24372:                                            ; preds = %24371
  br label %24373

24373:                                            ; preds = %24372, %24314
  br label %24374

24374:                                            ; preds = %24373
  br label %24375

24375:                                            ; preds = %24374
  br label %24376

24376:                                            ; preds = %24375
  %24377 = load i32, ptr @test_count, align 4, !tbaa !5
  %24378 = add nsw i32 %24377, 1
  store i32 %24378, ptr @test_count, align 4, !tbaa !5
  %24379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24380 = load i32, ptr %24379, align 4, !tbaa !5
  %24381 = call ptr @s2n_strerror_debug(i32 noundef %24380, ptr noundef @.str.4)
  %24382 = icmp eq ptr %24381, null
  br i1 %24382, label %24383, label %24436

24383:                                            ; preds = %24376
  br label %24384

24384:                                            ; preds = %24383
  br label %24385

24385:                                            ; preds = %24384
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %24386 = call ptr @__errno_location() #12
  %24387 = load i32, ptr %24386, align 4, !tbaa !5
  store i32 %24387, ptr %525, align 4, !tbaa !5
  %24388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24389 = call i32 @s2n_print_stacktrace(ptr noundef %24388)
  %24390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24391 = trunc i8 %24390 to i1
  br i1 %24391, label %24392, label %24414

24392:                                            ; preds = %24385
  %24393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24394 = call i32 @fileno(ptr noundef %24393) #11
  %24395 = call i32 @isatty(i32 noundef %24394) #11
  %24396 = icmp ne i32 %24395, 0
  br i1 %24396, label %24397, label %24414

24397:                                            ; preds = %24392
  %24398 = load i32, ptr %525, align 4, !tbaa !5
  %24399 = call ptr @__errno_location() #12
  store i32 %24398, ptr %24399, align 4, !tbaa !5
  %24400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24401 = load i32, ptr @test_count, align 4, !tbaa !5
  %24402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24403 = load i32, ptr %24402, align 4, !tbaa !5
  %24404 = call ptr @s2n_strerror(i32 noundef %24403, ptr noundef @.str.4)
  %24405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24406 = load i32, ptr %24405, align 4, !tbaa !5
  %24407 = call ptr @s2n_strerror_debug(i32 noundef %24406, ptr noundef @.str.4)
  %24408 = call ptr @__errno_location() #12
  %24409 = load i32, ptr %24408, align 4, !tbaa !5
  %24410 = call ptr @strerror(i32 noundef %24409) #11
  %24411 = call ptr @__errno_location() #12
  %24412 = load i32, ptr %24411, align 4, !tbaa !5
  %24413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24400, ptr noundef @.str.2, i32 noundef %24401, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %24404, ptr noundef %24407, ptr noundef %24410, i32 noundef %24412) #11
  br label %24431

24414:                                            ; preds = %24392, %24385
  %24415 = load i32, ptr %525, align 4, !tbaa !5
  %24416 = call ptr @__errno_location() #12
  store i32 %24415, ptr %24416, align 4, !tbaa !5
  %24417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24418 = load i32, ptr @test_count, align 4, !tbaa !5
  %24419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24420 = load i32, ptr %24419, align 4, !tbaa !5
  %24421 = call ptr @s2n_strerror(i32 noundef %24420, ptr noundef @.str.4)
  %24422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24423 = load i32, ptr %24422, align 4, !tbaa !5
  %24424 = call ptr @s2n_strerror_debug(i32 noundef %24423, ptr noundef @.str.4)
  %24425 = call ptr @__errno_location() #12
  %24426 = load i32, ptr %24425, align 4, !tbaa !5
  %24427 = call ptr @strerror(i32 noundef %24426) #11
  %24428 = call ptr @__errno_location() #12
  %24429 = load i32, ptr %24428, align 4, !tbaa !5
  %24430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24417, ptr noundef @.str.5, i32 noundef %24418, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %24421, ptr noundef %24424, ptr noundef %24427, i32 noundef %24429) #11
  br label %24431

24431:                                            ; preds = %24414, %24397
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #11
  br label %24432

24432:                                            ; preds = %24431
  br label %24433

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

24434:                                            ; No predecessors!
  br label %24435

24435:                                            ; preds = %24434
  br label %24436

24436:                                            ; preds = %24435, %24376
  br label %24437

24437:                                            ; preds = %24436
  br label %24438

24438:                                            ; preds = %24437
  br label %24439

24439:                                            ; preds = %24438
  br label %24440

24440:                                            ; preds = %24439
  br label %24441

24441:                                            ; preds = %24440
  %24442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24442, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24443 = call ptr @__errno_location() #12
  store i32 0, ptr %24443, align 4, !tbaa !5
  br label %24444

24444:                                            ; preds = %24441
  br label %24445

24445:                                            ; preds = %24444
  br label %24446

24446:                                            ; preds = %24445
  br label %24447

24447:                                            ; preds = %24446
  br label %24448

24448:                                            ; preds = %24447
  br label %24449

24449:                                            ; preds = %24448
  br label %24450

24450:                                            ; preds = %24449
  %24451 = load i32, ptr @test_count, align 4, !tbaa !5
  %24452 = add nsw i32 %24451, 1
  store i32 %24452, ptr @test_count, align 4, !tbaa !5
  %24453 = load ptr, ptr %519, align 8, !tbaa !9
  %24454 = call i32 @s2n_early_data_get_server_max_size(ptr noundef %24453, ptr noundef null)
  %24455 = getelementptr inbounds %struct.s2n_result, ptr %526, i32 0, i32 0
  store i32 %24454, ptr %24455, align 4
  %24456 = getelementptr inbounds %struct.s2n_result, ptr %526, i32 0, i32 0
  %24457 = load i32, ptr %24456, align 4
  %24458 = call zeroext i1 @s2n_result_is_error(i32 %24457)
  br i1 %24458, label %24512, label %24459

24459:                                            ; preds = %24450
  br label %24460

24460:                                            ; preds = %24459
  br label %24461

24461:                                            ; preds = %24460
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #11
  %24462 = call ptr @__errno_location() #12
  %24463 = load i32, ptr %24462, align 4, !tbaa !5
  store i32 %24463, ptr %527, align 4, !tbaa !5
  %24464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24465 = call i32 @s2n_print_stacktrace(ptr noundef %24464)
  %24466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24467 = trunc i8 %24466 to i1
  br i1 %24467, label %24468, label %24490

24468:                                            ; preds = %24461
  %24469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24470 = call i32 @fileno(ptr noundef %24469) #11
  %24471 = call i32 @isatty(i32 noundef %24470) #11
  %24472 = icmp ne i32 %24471, 0
  br i1 %24472, label %24473, label %24490

24473:                                            ; preds = %24468
  %24474 = load i32, ptr %527, align 4, !tbaa !5
  %24475 = call ptr @__errno_location() #12
  store i32 %24474, ptr %24475, align 4, !tbaa !5
  %24476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24477 = load i32, ptr @test_count, align 4, !tbaa !5
  %24478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24479 = load i32, ptr %24478, align 4, !tbaa !5
  %24480 = call ptr @s2n_strerror(i32 noundef %24479, ptr noundef @.str.4)
  %24481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24482 = load i32, ptr %24481, align 4, !tbaa !5
  %24483 = call ptr @s2n_strerror_debug(i32 noundef %24482, ptr noundef @.str.4)
  %24484 = call ptr @__errno_location() #12
  %24485 = load i32, ptr %24484, align 4, !tbaa !5
  %24486 = call ptr @strerror(i32 noundef %24485) #11
  %24487 = call ptr @__errno_location() #12
  %24488 = load i32, ptr %24487, align 4, !tbaa !5
  %24489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24476, ptr noundef @.str.2, i32 noundef %24477, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %24480, ptr noundef %24483, ptr noundef %24486, i32 noundef %24488) #11
  br label %24507

24490:                                            ; preds = %24468, %24461
  %24491 = load i32, ptr %527, align 4, !tbaa !5
  %24492 = call ptr @__errno_location() #12
  store i32 %24491, ptr %24492, align 4, !tbaa !5
  %24493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24494 = load i32, ptr @test_count, align 4, !tbaa !5
  %24495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24496 = load i32, ptr %24495, align 4, !tbaa !5
  %24497 = call ptr @s2n_strerror(i32 noundef %24496, ptr noundef @.str.4)
  %24498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24499 = load i32, ptr %24498, align 4, !tbaa !5
  %24500 = call ptr @s2n_strerror_debug(i32 noundef %24499, ptr noundef @.str.4)
  %24501 = call ptr @__errno_location() #12
  %24502 = load i32, ptr %24501, align 4, !tbaa !5
  %24503 = call ptr @strerror(i32 noundef %24502) #11
  %24504 = call ptr @__errno_location() #12
  %24505 = load i32, ptr %24504, align 4, !tbaa !5
  %24506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24493, ptr noundef @.str.5, i32 noundef %24494, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %24497, ptr noundef %24500, ptr noundef %24503, i32 noundef %24505) #11
  br label %24507

24507:                                            ; preds = %24490, %24473
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #11
  br label %24508

24508:                                            ; preds = %24507
  br label %24509

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

24510:                                            ; No predecessors!
  br label %24511

24511:                                            ; preds = %24510
  br label %24512

24512:                                            ; preds = %24511, %24450
  br label %24513

24513:                                            ; preds = %24512
  br label %24514

24514:                                            ; preds = %24513
  br label %24515

24515:                                            ; preds = %24514
  %24516 = load i32, ptr @test_count, align 4, !tbaa !5
  %24517 = add nsw i32 %24516, 1
  store i32 %24517, ptr @test_count, align 4, !tbaa !5
  %24518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24519 = load i32, ptr %24518, align 4, !tbaa !5
  %24520 = icmp eq i32 %24519, 402653193
  br i1 %24520, label %24574, label %24521

24521:                                            ; preds = %24515
  br label %24522

24522:                                            ; preds = %24521
  br label %24523

24523:                                            ; preds = %24522
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #11
  %24524 = call ptr @__errno_location() #12
  %24525 = load i32, ptr %24524, align 4, !tbaa !5
  store i32 %24525, ptr %528, align 4, !tbaa !5
  %24526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24527 = call i32 @s2n_print_stacktrace(ptr noundef %24526)
  %24528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24529 = trunc i8 %24528 to i1
  br i1 %24529, label %24530, label %24552

24530:                                            ; preds = %24523
  %24531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24532 = call i32 @fileno(ptr noundef %24531) #11
  %24533 = call i32 @isatty(i32 noundef %24532) #11
  %24534 = icmp ne i32 %24533, 0
  br i1 %24534, label %24535, label %24552

24535:                                            ; preds = %24530
  %24536 = load i32, ptr %528, align 4, !tbaa !5
  %24537 = call ptr @__errno_location() #12
  store i32 %24536, ptr %24537, align 4, !tbaa !5
  %24538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24539 = load i32, ptr @test_count, align 4, !tbaa !5
  %24540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24541 = load i32, ptr %24540, align 4, !tbaa !5
  %24542 = call ptr @s2n_strerror(i32 noundef %24541, ptr noundef @.str.4)
  %24543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24544 = load i32, ptr %24543, align 4, !tbaa !5
  %24545 = call ptr @s2n_strerror_debug(i32 noundef %24544, ptr noundef @.str.4)
  %24546 = call ptr @__errno_location() #12
  %24547 = load i32, ptr %24546, align 4, !tbaa !5
  %24548 = call ptr @strerror(i32 noundef %24547) #11
  %24549 = call ptr @__errno_location() #12
  %24550 = load i32, ptr %24549, align 4, !tbaa !5
  %24551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24538, ptr noundef @.str.2, i32 noundef %24539, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %24542, ptr noundef %24545, ptr noundef %24548, i32 noundef %24550) #11
  br label %24569

24552:                                            ; preds = %24530, %24523
  %24553 = load i32, ptr %528, align 4, !tbaa !5
  %24554 = call ptr @__errno_location() #12
  store i32 %24553, ptr %24554, align 4, !tbaa !5
  %24555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24556 = load i32, ptr @test_count, align 4, !tbaa !5
  %24557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24558 = load i32, ptr %24557, align 4, !tbaa !5
  %24559 = call ptr @s2n_strerror(i32 noundef %24558, ptr noundef @.str.4)
  %24560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24561 = load i32, ptr %24560, align 4, !tbaa !5
  %24562 = call ptr @s2n_strerror_debug(i32 noundef %24561, ptr noundef @.str.4)
  %24563 = call ptr @__errno_location() #12
  %24564 = load i32, ptr %24563, align 4, !tbaa !5
  %24565 = call ptr @strerror(i32 noundef %24564) #11
  %24566 = call ptr @__errno_location() #12
  %24567 = load i32, ptr %24566, align 4, !tbaa !5
  %24568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24555, ptr noundef @.str.5, i32 noundef %24556, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %24559, ptr noundef %24562, ptr noundef %24565, i32 noundef %24567) #11
  br label %24569

24569:                                            ; preds = %24552, %24535
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #11
  br label %24570

24570:                                            ; preds = %24569
  br label %24571

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

24572:                                            ; No predecessors!
  br label %24573

24573:                                            ; preds = %24572
  br label %24574

24574:                                            ; preds = %24573, %24515
  br label %24575

24575:                                            ; preds = %24574
  br label %24576

24576:                                            ; preds = %24575
  br label %24577

24577:                                            ; preds = %24576
  %24578 = load i32, ptr @test_count, align 4, !tbaa !5
  %24579 = add nsw i32 %24578, 1
  store i32 %24579, ptr @test_count, align 4, !tbaa !5
  %24580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24581 = load i32, ptr %24580, align 4, !tbaa !5
  %24582 = call ptr @s2n_strerror_debug(i32 noundef %24581, ptr noundef @.str.4)
  %24583 = icmp eq ptr %24582, null
  br i1 %24583, label %24584, label %24637

24584:                                            ; preds = %24577
  br label %24585

24585:                                            ; preds = %24584
  br label %24586

24586:                                            ; preds = %24585
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %24587 = call ptr @__errno_location() #12
  %24588 = load i32, ptr %24587, align 4, !tbaa !5
  store i32 %24588, ptr %529, align 4, !tbaa !5
  %24589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24590 = call i32 @s2n_print_stacktrace(ptr noundef %24589)
  %24591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24592 = trunc i8 %24591 to i1
  br i1 %24592, label %24593, label %24615

24593:                                            ; preds = %24586
  %24594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24595 = call i32 @fileno(ptr noundef %24594) #11
  %24596 = call i32 @isatty(i32 noundef %24595) #11
  %24597 = icmp ne i32 %24596, 0
  br i1 %24597, label %24598, label %24615

24598:                                            ; preds = %24593
  %24599 = load i32, ptr %529, align 4, !tbaa !5
  %24600 = call ptr @__errno_location() #12
  store i32 %24599, ptr %24600, align 4, !tbaa !5
  %24601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24602 = load i32, ptr @test_count, align 4, !tbaa !5
  %24603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24604 = load i32, ptr %24603, align 4, !tbaa !5
  %24605 = call ptr @s2n_strerror(i32 noundef %24604, ptr noundef @.str.4)
  %24606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24607 = load i32, ptr %24606, align 4, !tbaa !5
  %24608 = call ptr @s2n_strerror_debug(i32 noundef %24607, ptr noundef @.str.4)
  %24609 = call ptr @__errno_location() #12
  %24610 = load i32, ptr %24609, align 4, !tbaa !5
  %24611 = call ptr @strerror(i32 noundef %24610) #11
  %24612 = call ptr @__errno_location() #12
  %24613 = load i32, ptr %24612, align 4, !tbaa !5
  %24614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24601, ptr noundef @.str.2, i32 noundef %24602, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %24605, ptr noundef %24608, ptr noundef %24611, i32 noundef %24613) #11
  br label %24632

24615:                                            ; preds = %24593, %24586
  %24616 = load i32, ptr %529, align 4, !tbaa !5
  %24617 = call ptr @__errno_location() #12
  store i32 %24616, ptr %24617, align 4, !tbaa !5
  %24618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24619 = load i32, ptr @test_count, align 4, !tbaa !5
  %24620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24621 = load i32, ptr %24620, align 4, !tbaa !5
  %24622 = call ptr @s2n_strerror(i32 noundef %24621, ptr noundef @.str.4)
  %24623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24624 = load i32, ptr %24623, align 4, !tbaa !5
  %24625 = call ptr @s2n_strerror_debug(i32 noundef %24624, ptr noundef @.str.4)
  %24626 = call ptr @__errno_location() #12
  %24627 = load i32, ptr %24626, align 4, !tbaa !5
  %24628 = call ptr @strerror(i32 noundef %24627) #11
  %24629 = call ptr @__errno_location() #12
  %24630 = load i32, ptr %24629, align 4, !tbaa !5
  %24631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24618, ptr noundef @.str.5, i32 noundef %24619, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %24622, ptr noundef %24625, ptr noundef %24628, i32 noundef %24630) #11
  br label %24632

24632:                                            ; preds = %24615, %24598
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %24633

24633:                                            ; preds = %24632
  br label %24634

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

24635:                                            ; No predecessors!
  br label %24636

24636:                                            ; preds = %24635
  br label %24637

24637:                                            ; preds = %24636, %24577
  br label %24638

24638:                                            ; preds = %24637
  br label %24639

24639:                                            ; preds = %24638
  br label %24640

24640:                                            ; preds = %24639
  br label %24641

24641:                                            ; preds = %24640
  br label %24642

24642:                                            ; preds = %24641
  %24643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24643, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24644 = call ptr @__errno_location() #12
  store i32 0, ptr %24644, align 4, !tbaa !5
  br label %24645

24645:                                            ; preds = %24642
  br label %24646

24646:                                            ; preds = %24645
  br label %24647

24647:                                            ; preds = %24646
  br label %24648

24648:                                            ; preds = %24647
  %24649 = load ptr, ptr %519, align 8, !tbaa !9
  %24650 = getelementptr inbounds %struct.s2n_connection, ptr %24649, i32 0, i32 1
  store ptr null, ptr %24650, align 8, !tbaa !86
  %24651 = load ptr, ptr %519, align 8, !tbaa !9
  %24652 = load i32, ptr %24651, align 8
  %24653 = and i32 %24652, -2049
  %24654 = or i32 %24653, 0
  store i32 %24654, ptr %24651, align 8
  br label %24655

24655:                                            ; preds = %24648
  br label %24656

24656:                                            ; preds = %24655
  br label %24657

24657:                                            ; preds = %24656
  %24658 = load i32, ptr @test_count, align 4, !tbaa !5
  %24659 = add nsw i32 %24658, 1
  store i32 %24659, ptr @test_count, align 4, !tbaa !5
  %24660 = load ptr, ptr %519, align 8, !tbaa !9
  %24661 = call i32 @s2n_early_data_get_server_max_size(ptr noundef %24660, ptr noundef %513)
  %24662 = getelementptr inbounds %struct.s2n_result, ptr %530, i32 0, i32 0
  store i32 %24661, ptr %24662, align 4
  %24663 = getelementptr inbounds %struct.s2n_result, ptr %530, i32 0, i32 0
  %24664 = load i32, ptr %24663, align 4
  %24665 = call zeroext i1 @s2n_result_is_error(i32 %24664)
  br i1 %24665, label %24719, label %24666

24666:                                            ; preds = %24657
  br label %24667

24667:                                            ; preds = %24666
  br label %24668

24668:                                            ; preds = %24667
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #11
  %24669 = call ptr @__errno_location() #12
  %24670 = load i32, ptr %24669, align 4, !tbaa !5
  store i32 %24670, ptr %531, align 4, !tbaa !5
  %24671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24672 = call i32 @s2n_print_stacktrace(ptr noundef %24671)
  %24673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24674 = trunc i8 %24673 to i1
  br i1 %24674, label %24675, label %24697

24675:                                            ; preds = %24668
  %24676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24677 = call i32 @fileno(ptr noundef %24676) #11
  %24678 = call i32 @isatty(i32 noundef %24677) #11
  %24679 = icmp ne i32 %24678, 0
  br i1 %24679, label %24680, label %24697

24680:                                            ; preds = %24675
  %24681 = load i32, ptr %531, align 4, !tbaa !5
  %24682 = call ptr @__errno_location() #12
  store i32 %24681, ptr %24682, align 4, !tbaa !5
  %24683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24684 = load i32, ptr @test_count, align 4, !tbaa !5
  %24685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24686 = load i32, ptr %24685, align 4, !tbaa !5
  %24687 = call ptr @s2n_strerror(i32 noundef %24686, ptr noundef @.str.4)
  %24688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24689 = load i32, ptr %24688, align 4, !tbaa !5
  %24690 = call ptr @s2n_strerror_debug(i32 noundef %24689, ptr noundef @.str.4)
  %24691 = call ptr @__errno_location() #12
  %24692 = load i32, ptr %24691, align 4, !tbaa !5
  %24693 = call ptr @strerror(i32 noundef %24692) #11
  %24694 = call ptr @__errno_location() #12
  %24695 = load i32, ptr %24694, align 4, !tbaa !5
  %24696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24683, ptr noundef @.str.2, i32 noundef %24684, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %24687, ptr noundef %24690, ptr noundef %24693, i32 noundef %24695) #11
  br label %24714

24697:                                            ; preds = %24675, %24668
  %24698 = load i32, ptr %531, align 4, !tbaa !5
  %24699 = call ptr @__errno_location() #12
  store i32 %24698, ptr %24699, align 4, !tbaa !5
  %24700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24701 = load i32, ptr @test_count, align 4, !tbaa !5
  %24702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24703 = load i32, ptr %24702, align 4, !tbaa !5
  %24704 = call ptr @s2n_strerror(i32 noundef %24703, ptr noundef @.str.4)
  %24705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24706 = load i32, ptr %24705, align 4, !tbaa !5
  %24707 = call ptr @s2n_strerror_debug(i32 noundef %24706, ptr noundef @.str.4)
  %24708 = call ptr @__errno_location() #12
  %24709 = load i32, ptr %24708, align 4, !tbaa !5
  %24710 = call ptr @strerror(i32 noundef %24709) #11
  %24711 = call ptr @__errno_location() #12
  %24712 = load i32, ptr %24711, align 4, !tbaa !5
  %24713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24700, ptr noundef @.str.5, i32 noundef %24701, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %24704, ptr noundef %24707, ptr noundef %24710, i32 noundef %24712) #11
  br label %24714

24714:                                            ; preds = %24697, %24680
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #11
  br label %24715

24715:                                            ; preds = %24714
  br label %24716

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

24717:                                            ; No predecessors!
  br label %24718

24718:                                            ; preds = %24717
  br label %24719

24719:                                            ; preds = %24718, %24657
  br label %24720

24720:                                            ; preds = %24719
  br label %24721

24721:                                            ; preds = %24720
  br label %24722

24722:                                            ; preds = %24721
  %24723 = load i32, ptr @test_count, align 4, !tbaa !5
  %24724 = add nsw i32 %24723, 1
  store i32 %24724, ptr @test_count, align 4, !tbaa !5
  %24725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24726 = load i32, ptr %24725, align 4, !tbaa !5
  %24727 = icmp eq i32 %24726, 402653193
  br i1 %24727, label %24781, label %24728

24728:                                            ; preds = %24722
  br label %24729

24729:                                            ; preds = %24728
  br label %24730

24730:                                            ; preds = %24729
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %24731 = call ptr @__errno_location() #12
  %24732 = load i32, ptr %24731, align 4, !tbaa !5
  store i32 %24732, ptr %532, align 4, !tbaa !5
  %24733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24734 = call i32 @s2n_print_stacktrace(ptr noundef %24733)
  %24735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24736 = trunc i8 %24735 to i1
  br i1 %24736, label %24737, label %24759

24737:                                            ; preds = %24730
  %24738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24739 = call i32 @fileno(ptr noundef %24738) #11
  %24740 = call i32 @isatty(i32 noundef %24739) #11
  %24741 = icmp ne i32 %24740, 0
  br i1 %24741, label %24742, label %24759

24742:                                            ; preds = %24737
  %24743 = load i32, ptr %532, align 4, !tbaa !5
  %24744 = call ptr @__errno_location() #12
  store i32 %24743, ptr %24744, align 4, !tbaa !5
  %24745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24746 = load i32, ptr @test_count, align 4, !tbaa !5
  %24747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24748 = load i32, ptr %24747, align 4, !tbaa !5
  %24749 = call ptr @s2n_strerror(i32 noundef %24748, ptr noundef @.str.4)
  %24750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24751 = load i32, ptr %24750, align 4, !tbaa !5
  %24752 = call ptr @s2n_strerror_debug(i32 noundef %24751, ptr noundef @.str.4)
  %24753 = call ptr @__errno_location() #12
  %24754 = load i32, ptr %24753, align 4, !tbaa !5
  %24755 = call ptr @strerror(i32 noundef %24754) #11
  %24756 = call ptr @__errno_location() #12
  %24757 = load i32, ptr %24756, align 4, !tbaa !5
  %24758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24745, ptr noundef @.str.2, i32 noundef %24746, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %24749, ptr noundef %24752, ptr noundef %24755, i32 noundef %24757) #11
  br label %24776

24759:                                            ; preds = %24737, %24730
  %24760 = load i32, ptr %532, align 4, !tbaa !5
  %24761 = call ptr @__errno_location() #12
  store i32 %24760, ptr %24761, align 4, !tbaa !5
  %24762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24763 = load i32, ptr @test_count, align 4, !tbaa !5
  %24764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24765 = load i32, ptr %24764, align 4, !tbaa !5
  %24766 = call ptr @s2n_strerror(i32 noundef %24765, ptr noundef @.str.4)
  %24767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24768 = load i32, ptr %24767, align 4, !tbaa !5
  %24769 = call ptr @s2n_strerror_debug(i32 noundef %24768, ptr noundef @.str.4)
  %24770 = call ptr @__errno_location() #12
  %24771 = load i32, ptr %24770, align 4, !tbaa !5
  %24772 = call ptr @strerror(i32 noundef %24771) #11
  %24773 = call ptr @__errno_location() #12
  %24774 = load i32, ptr %24773, align 4, !tbaa !5
  %24775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24762, ptr noundef @.str.5, i32 noundef %24763, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %24766, ptr noundef %24769, ptr noundef %24772, i32 noundef %24774) #11
  br label %24776

24776:                                            ; preds = %24759, %24742
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %24777

24777:                                            ; preds = %24776
  br label %24778

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

24779:                                            ; No predecessors!
  br label %24780

24780:                                            ; preds = %24779
  br label %24781

24781:                                            ; preds = %24780, %24722
  br label %24782

24782:                                            ; preds = %24781
  br label %24783

24783:                                            ; preds = %24782
  br label %24784

24784:                                            ; preds = %24783
  %24785 = load i32, ptr @test_count, align 4, !tbaa !5
  %24786 = add nsw i32 %24785, 1
  store i32 %24786, ptr @test_count, align 4, !tbaa !5
  %24787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24788 = load i32, ptr %24787, align 4, !tbaa !5
  %24789 = call ptr @s2n_strerror_debug(i32 noundef %24788, ptr noundef @.str.4)
  %24790 = icmp eq ptr %24789, null
  br i1 %24790, label %24791, label %24844

24791:                                            ; preds = %24784
  br label %24792

24792:                                            ; preds = %24791
  br label %24793

24793:                                            ; preds = %24792
  call void @llvm.lifetime.start.p0(i64 4, ptr %533) #11
  %24794 = call ptr @__errno_location() #12
  %24795 = load i32, ptr %24794, align 4, !tbaa !5
  store i32 %24795, ptr %533, align 4, !tbaa !5
  %24796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24797 = call i32 @s2n_print_stacktrace(ptr noundef %24796)
  %24798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24799 = trunc i8 %24798 to i1
  br i1 %24799, label %24800, label %24822

24800:                                            ; preds = %24793
  %24801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24802 = call i32 @fileno(ptr noundef %24801) #11
  %24803 = call i32 @isatty(i32 noundef %24802) #11
  %24804 = icmp ne i32 %24803, 0
  br i1 %24804, label %24805, label %24822

24805:                                            ; preds = %24800
  %24806 = load i32, ptr %533, align 4, !tbaa !5
  %24807 = call ptr @__errno_location() #12
  store i32 %24806, ptr %24807, align 4, !tbaa !5
  %24808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24809 = load i32, ptr @test_count, align 4, !tbaa !5
  %24810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24811 = load i32, ptr %24810, align 4, !tbaa !5
  %24812 = call ptr @s2n_strerror(i32 noundef %24811, ptr noundef @.str.4)
  %24813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24814 = load i32, ptr %24813, align 4, !tbaa !5
  %24815 = call ptr @s2n_strerror_debug(i32 noundef %24814, ptr noundef @.str.4)
  %24816 = call ptr @__errno_location() #12
  %24817 = load i32, ptr %24816, align 4, !tbaa !5
  %24818 = call ptr @strerror(i32 noundef %24817) #11
  %24819 = call ptr @__errno_location() #12
  %24820 = load i32, ptr %24819, align 4, !tbaa !5
  %24821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24808, ptr noundef @.str.2, i32 noundef %24809, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %24812, ptr noundef %24815, ptr noundef %24818, i32 noundef %24820) #11
  br label %24839

24822:                                            ; preds = %24800, %24793
  %24823 = load i32, ptr %533, align 4, !tbaa !5
  %24824 = call ptr @__errno_location() #12
  store i32 %24823, ptr %24824, align 4, !tbaa !5
  %24825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24826 = load i32, ptr @test_count, align 4, !tbaa !5
  %24827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24828 = load i32, ptr %24827, align 4, !tbaa !5
  %24829 = call ptr @s2n_strerror(i32 noundef %24828, ptr noundef @.str.4)
  %24830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24831 = load i32, ptr %24830, align 4, !tbaa !5
  %24832 = call ptr @s2n_strerror_debug(i32 noundef %24831, ptr noundef @.str.4)
  %24833 = call ptr @__errno_location() #12
  %24834 = load i32, ptr %24833, align 4, !tbaa !5
  %24835 = call ptr @strerror(i32 noundef %24834) #11
  %24836 = call ptr @__errno_location() #12
  %24837 = load i32, ptr %24836, align 4, !tbaa !5
  %24838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24825, ptr noundef @.str.5, i32 noundef %24826, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %24829, ptr noundef %24832, ptr noundef %24835, i32 noundef %24837) #11
  br label %24839

24839:                                            ; preds = %24822, %24805
  call void @llvm.lifetime.end.p0(i64 4, ptr %533) #11
  br label %24840

24840:                                            ; preds = %24839
  br label %24841

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

24842:                                            ; No predecessors!
  br label %24843

24843:                                            ; preds = %24842
  br label %24844

24844:                                            ; preds = %24843, %24784
  br label %24845

24845:                                            ; preds = %24844
  br label %24846

24846:                                            ; preds = %24845
  br label %24847

24847:                                            ; preds = %24846
  br label %24848

24848:                                            ; preds = %24847
  br label %24849

24849:                                            ; preds = %24848
  %24850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24850, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24851 = call ptr @__errno_location() #12
  store i32 0, ptr %24851, align 4, !tbaa !5
  br label %24852

24852:                                            ; preds = %24849
  br label %24853

24853:                                            ; preds = %24852
  br label %24854

24854:                                            ; preds = %24853
  br label %24855

24855:                                            ; preds = %24854
  br label %24856

24856:                                            ; preds = %24855
  %24857 = load i32, ptr @test_count, align 4, !tbaa !5
  %24858 = add nsw i32 %24857, 1
  store i32 %24858, ptr @test_count, align 4, !tbaa !5
  %24859 = load ptr, ptr %519, align 8, !tbaa !9
  %24860 = getelementptr inbounds %struct.s2n_connection, ptr %24859, i32 0, i32 1
  %24861 = load ptr, ptr %24860, align 8, !tbaa !86
  %24862 = icmp eq ptr %24861, null
  br i1 %24862, label %24916, label %24863

24863:                                            ; preds = %24856
  br label %24864

24864:                                            ; preds = %24863
  br label %24865

24865:                                            ; preds = %24864
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #11
  %24866 = call ptr @__errno_location() #12
  %24867 = load i32, ptr %24866, align 4, !tbaa !5
  store i32 %24867, ptr %534, align 4, !tbaa !5
  %24868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24869 = call i32 @s2n_print_stacktrace(ptr noundef %24868)
  %24870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24871 = trunc i8 %24870 to i1
  br i1 %24871, label %24872, label %24894

24872:                                            ; preds = %24865
  %24873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24874 = call i32 @fileno(ptr noundef %24873) #11
  %24875 = call i32 @isatty(i32 noundef %24874) #11
  %24876 = icmp ne i32 %24875, 0
  br i1 %24876, label %24877, label %24894

24877:                                            ; preds = %24872
  %24878 = load i32, ptr %534, align 4, !tbaa !5
  %24879 = call ptr @__errno_location() #12
  store i32 %24878, ptr %24879, align 4, !tbaa !5
  %24880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24881 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %24883, ptr noundef @.str.4)
  %24885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24886 = load i32, ptr %24885, align 4, !tbaa !5
  %24887 = call ptr @s2n_strerror_debug(i32 noundef %24886, ptr noundef @.str.4)
  %24888 = call ptr @__errno_location() #12
  %24889 = load i32, ptr %24888, align 4, !tbaa !5
  %24890 = call ptr @strerror(i32 noundef %24889) #11
  %24891 = call ptr @__errno_location() #12
  %24892 = load i32, ptr %24891, align 4, !tbaa !5
  %24893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24880, ptr noundef @.str.2, i32 noundef %24881, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %24884, ptr noundef %24887, ptr noundef %24890, i32 noundef %24892) #11
  br label %24911

24894:                                            ; preds = %24872, %24865
  %24895 = load i32, ptr %534, align 4, !tbaa !5
  %24896 = call ptr @__errno_location() #12
  store i32 %24895, ptr %24896, align 4, !tbaa !5
  %24897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24898 = load i32, ptr @test_count, align 4, !tbaa !5
  %24899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24900 = load i32, ptr %24899, align 4, !tbaa !5
  %24901 = call ptr @s2n_strerror(i32 noundef %24900, ptr noundef @.str.4)
  %24902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24903 = load i32, ptr %24902, align 4, !tbaa !5
  %24904 = call ptr @s2n_strerror_debug(i32 noundef %24903, ptr noundef @.str.4)
  %24905 = call ptr @__errno_location() #12
  %24906 = load i32, ptr %24905, align 4, !tbaa !5
  %24907 = call ptr @strerror(i32 noundef %24906) #11
  %24908 = call ptr @__errno_location() #12
  %24909 = load i32, ptr %24908, align 4, !tbaa !5
  %24910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24897, ptr noundef @.str.5, i32 noundef %24898, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %24901, ptr noundef %24904, ptr noundef %24907, i32 noundef %24909) #11
  br label %24911

24911:                                            ; preds = %24894, %24877
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #11
  br label %24912

24912:                                            ; preds = %24911
  br label %24913

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

24914:                                            ; No predecessors!
  br label %24915

24915:                                            ; preds = %24914
  br label %24916

24916:                                            ; preds = %24915, %24856
  br label %24917

24917:                                            ; preds = %24916
  br label %24918

24918:                                            ; preds = %24917
  %24919 = load ptr, ptr %519, align 8, !tbaa !9
  %24920 = load i32, ptr %24919, align 8
  %24921 = and i32 %24920, -2049
  %24922 = or i32 %24921, 2048
  store i32 %24922, ptr %24919, align 8
  br label %24923

24923:                                            ; preds = %24918
  %24924 = load i32, ptr @test_count, align 4, !tbaa !5
  %24925 = add nsw i32 %24924, 1
  store i32 %24925, ptr @test_count, align 4, !tbaa !5
  %24926 = load ptr, ptr %519, align 8, !tbaa !9
  %24927 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %24926, i32 noundef 10)
  %24928 = icmp eq i32 %24927, -1
  br i1 %24928, label %24929, label %24982

24929:                                            ; preds = %24923
  br label %24930

24930:                                            ; preds = %24929
  br label %24931

24931:                                            ; preds = %24930
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %24932 = call ptr @__errno_location() #12
  %24933 = load i32, ptr %24932, align 4, !tbaa !5
  store i32 %24933, ptr %535, align 4, !tbaa !5
  %24934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24935 = call i32 @s2n_print_stacktrace(ptr noundef %24934)
  %24936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24937 = trunc i8 %24936 to i1
  br i1 %24937, label %24938, label %24960

24938:                                            ; preds = %24931
  %24939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24940 = call i32 @fileno(ptr noundef %24939) #11
  %24941 = call i32 @isatty(i32 noundef %24940) #11
  %24942 = icmp ne i32 %24941, 0
  br i1 %24942, label %24943, label %24960

24943:                                            ; preds = %24938
  %24944 = load i32, ptr %535, align 4, !tbaa !5
  %24945 = call ptr @__errno_location() #12
  store i32 %24944, ptr %24945, align 4, !tbaa !5
  %24946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24947 = load i32, ptr @test_count, align 4, !tbaa !5
  %24948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24949 = load i32, ptr %24948, align 4, !tbaa !5
  %24950 = call ptr @s2n_strerror(i32 noundef %24949, ptr noundef @.str.4)
  %24951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24952 = load i32, ptr %24951, align 4, !tbaa !5
  %24953 = call ptr @s2n_strerror_debug(i32 noundef %24952, ptr noundef @.str.4)
  %24954 = call ptr @__errno_location() #12
  %24955 = load i32, ptr %24954, align 4, !tbaa !5
  %24956 = call ptr @strerror(i32 noundef %24955) #11
  %24957 = call ptr @__errno_location() #12
  %24958 = load i32, ptr %24957, align 4, !tbaa !5
  %24959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24946, ptr noundef @.str.2, i32 noundef %24947, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %24950, ptr noundef %24953, ptr noundef %24956, i32 noundef %24958) #11
  br label %24977

24960:                                            ; preds = %24938, %24931
  %24961 = load i32, ptr %535, align 4, !tbaa !5
  %24962 = call ptr @__errno_location() #12
  store i32 %24961, ptr %24962, align 4, !tbaa !5
  %24963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24964 = load i32, ptr @test_count, align 4, !tbaa !5
  %24965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24966 = load i32, ptr %24965, align 4, !tbaa !5
  %24967 = call ptr @s2n_strerror(i32 noundef %24966, ptr noundef @.str.4)
  %24968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24969 = load i32, ptr %24968, align 4, !tbaa !5
  %24970 = call ptr @s2n_strerror_debug(i32 noundef %24969, ptr noundef @.str.4)
  %24971 = call ptr @__errno_location() #12
  %24972 = load i32, ptr %24971, align 4, !tbaa !5
  %24973 = call ptr @strerror(i32 noundef %24972) #11
  %24974 = call ptr @__errno_location() #12
  %24975 = load i32, ptr %24974, align 4, !tbaa !5
  %24976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24963, ptr noundef @.str.5, i32 noundef %24964, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %24967, ptr noundef %24970, ptr noundef %24973, i32 noundef %24975) #11
  br label %24977

24977:                                            ; preds = %24960, %24943
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %24978

24978:                                            ; preds = %24977
  br label %24979

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

24980:                                            ; No predecessors!
  br label %24981

24981:                                            ; preds = %24980
  br label %24982

24982:                                            ; preds = %24981, %24923
  br label %24983

24983:                                            ; preds = %24982
  br label %24984

24984:                                            ; preds = %24983
  br label %24985

24985:                                            ; preds = %24984
  %24986 = load i32, ptr @test_count, align 4, !tbaa !5
  %24987 = add nsw i32 %24986, 1
  store i32 %24987, ptr @test_count, align 4, !tbaa !5
  %24988 = load ptr, ptr %519, align 8, !tbaa !9
  %24989 = call i32 @s2n_early_data_get_server_max_size(ptr noundef %24988, ptr noundef %513)
  %24990 = getelementptr inbounds %struct.s2n_result, ptr %536, i32 0, i32 0
  store i32 %24989, ptr %24990, align 4
  %24991 = getelementptr inbounds %struct.s2n_result, ptr %536, i32 0, i32 0
  %24992 = load i32, ptr %24991, align 4
  %24993 = call zeroext i1 @s2n_result_is_ok(i32 %24992)
  br i1 %24993, label %25047, label %24994

24994:                                            ; preds = %24985
  br label %24995

24995:                                            ; preds = %24994
  br label %24996

24996:                                            ; preds = %24995
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %24997 = call ptr @__errno_location() #12
  %24998 = load i32, ptr %24997, align 4, !tbaa !5
  store i32 %24998, ptr %537, align 4, !tbaa !5
  %24999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25000 = call i32 @s2n_print_stacktrace(ptr noundef %24999)
  %25001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25002 = trunc i8 %25001 to i1
  br i1 %25002, label %25003, label %25025

25003:                                            ; preds = %24996
  %25004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25005 = call i32 @fileno(ptr noundef %25004) #11
  %25006 = call i32 @isatty(i32 noundef %25005) #11
  %25007 = icmp ne i32 %25006, 0
  br i1 %25007, label %25008, label %25025

25008:                                            ; preds = %25003
  %25009 = load i32, ptr %537, align 4, !tbaa !5
  %25010 = call ptr @__errno_location() #12
  store i32 %25009, ptr %25010, align 4, !tbaa !5
  %25011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25012 = load i32, ptr @test_count, align 4, !tbaa !5
  %25013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25014 = load i32, ptr %25013, align 4, !tbaa !5
  %25015 = call ptr @s2n_strerror(i32 noundef %25014, ptr noundef @.str.4)
  %25016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25017 = load i32, ptr %25016, align 4, !tbaa !5
  %25018 = call ptr @s2n_strerror_debug(i32 noundef %25017, ptr noundef @.str.4)
  %25019 = call ptr @__errno_location() #12
  %25020 = load i32, ptr %25019, align 4, !tbaa !5
  %25021 = call ptr @strerror(i32 noundef %25020) #11
  %25022 = call ptr @__errno_location() #12
  %25023 = load i32, ptr %25022, align 4, !tbaa !5
  %25024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25011, ptr noundef @.str.2, i32 noundef %25012, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %25015, ptr noundef %25018, ptr noundef %25021, i32 noundef %25023) #11
  br label %25042

25025:                                            ; preds = %25003, %24996
  %25026 = load i32, ptr %537, align 4, !tbaa !5
  %25027 = call ptr @__errno_location() #12
  store i32 %25026, ptr %25027, align 4, !tbaa !5
  %25028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25029 = load i32, ptr @test_count, align 4, !tbaa !5
  %25030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25031 = load i32, ptr %25030, align 4, !tbaa !5
  %25032 = call ptr @s2n_strerror(i32 noundef %25031, ptr noundef @.str.4)
  %25033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25034 = load i32, ptr %25033, align 4, !tbaa !5
  %25035 = call ptr @s2n_strerror_debug(i32 noundef %25034, ptr noundef @.str.4)
  %25036 = call ptr @__errno_location() #12
  %25037 = load i32, ptr %25036, align 4, !tbaa !5
  %25038 = call ptr @strerror(i32 noundef %25037) #11
  %25039 = call ptr @__errno_location() #12
  %25040 = load i32, ptr %25039, align 4, !tbaa !5
  %25041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25028, ptr noundef @.str.5, i32 noundef %25029, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %25032, ptr noundef %25035, ptr noundef %25038, i32 noundef %25040) #11
  br label %25042

25042:                                            ; preds = %25025, %25008
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %25043

25043:                                            ; preds = %25042
  br label %25044

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

25045:                                            ; No predecessors!
  br label %25046

25046:                                            ; preds = %25045
  br label %25047

25047:                                            ; preds = %25046, %24985
  br label %25048

25048:                                            ; preds = %25047
  br label %25049

25049:                                            ; preds = %25048
  br label %25050

25050:                                            ; preds = %25049
  %25051 = load i32, ptr @test_count, align 4, !tbaa !5
  %25052 = add nsw i32 %25051, 1
  store i32 %25052, ptr @test_count, align 4, !tbaa !5
  %25053 = load i32, ptr %513, align 4, !tbaa !5
  %25054 = icmp eq i32 %25053, 10
  br i1 %25054, label %25108, label %25055

25055:                                            ; preds = %25050
  br label %25056

25056:                                            ; preds = %25055
  br label %25057

25057:                                            ; preds = %25056
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %25058 = call ptr @__errno_location() #12
  %25059 = load i32, ptr %25058, align 4, !tbaa !5
  store i32 %25059, ptr %538, align 4, !tbaa !5
  %25060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25061 = call i32 @s2n_print_stacktrace(ptr noundef %25060)
  %25062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25063 = trunc i8 %25062 to i1
  br i1 %25063, label %25064, label %25086

25064:                                            ; preds = %25057
  %25065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25066 = call i32 @fileno(ptr noundef %25065) #11
  %25067 = call i32 @isatty(i32 noundef %25066) #11
  %25068 = icmp ne i32 %25067, 0
  br i1 %25068, label %25069, label %25086

25069:                                            ; preds = %25064
  %25070 = load i32, ptr %538, align 4, !tbaa !5
  %25071 = call ptr @__errno_location() #12
  store i32 %25070, ptr %25071, align 4, !tbaa !5
  %25072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25073 = load i32, ptr @test_count, align 4, !tbaa !5
  %25074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25075 = load i32, ptr %25074, align 4, !tbaa !5
  %25076 = call ptr @s2n_strerror(i32 noundef %25075, ptr noundef @.str.4)
  %25077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25078 = load i32, ptr %25077, align 4, !tbaa !5
  %25079 = call ptr @s2n_strerror_debug(i32 noundef %25078, ptr noundef @.str.4)
  %25080 = call ptr @__errno_location() #12
  %25081 = load i32, ptr %25080, align 4, !tbaa !5
  %25082 = call ptr @strerror(i32 noundef %25081) #11
  %25083 = call ptr @__errno_location() #12
  %25084 = load i32, ptr %25083, align 4, !tbaa !5
  %25085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25072, ptr noundef @.str.2, i32 noundef %25073, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %25076, ptr noundef %25079, ptr noundef %25082, i32 noundef %25084) #11
  br label %25103

25086:                                            ; preds = %25064, %25057
  %25087 = load i32, ptr %538, align 4, !tbaa !5
  %25088 = call ptr @__errno_location() #12
  store i32 %25087, ptr %25088, align 4, !tbaa !5
  %25089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25090 = load i32, ptr @test_count, align 4, !tbaa !5
  %25091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25092 = load i32, ptr %25091, align 4, !tbaa !5
  %25093 = call ptr @s2n_strerror(i32 noundef %25092, ptr noundef @.str.4)
  %25094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25095 = load i32, ptr %25094, align 4, !tbaa !5
  %25096 = call ptr @s2n_strerror_debug(i32 noundef %25095, ptr noundef @.str.4)
  %25097 = call ptr @__errno_location() #12
  %25098 = load i32, ptr %25097, align 4, !tbaa !5
  %25099 = call ptr @strerror(i32 noundef %25098) #11
  %25100 = call ptr @__errno_location() #12
  %25101 = load i32, ptr %25100, align 4, !tbaa !5
  %25102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25089, ptr noundef @.str.5, i32 noundef %25090, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %25093, ptr noundef %25096, ptr noundef %25099, i32 noundef %25101) #11
  br label %25103

25103:                                            ; preds = %25086, %25069
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %25104

25104:                                            ; preds = %25103
  br label %25105

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

25106:                                            ; No predecessors!
  br label %25107

25107:                                            ; preds = %25106
  br label %25108

25108:                                            ; preds = %25107, %25050
  br label %25109

25109:                                            ; preds = %25108
  br label %25110

25110:                                            ; preds = %25109
  br label %25111

25111:                                            ; preds = %25110
  %25112 = load i32, ptr @test_count, align 4, !tbaa !5
  %25113 = add nsw i32 %25112, 1
  store i32 %25113, ptr @test_count, align 4, !tbaa !5
  %25114 = load ptr, ptr %519, align 8, !tbaa !9
  %25115 = load ptr, ptr %516, align 8, !tbaa !9
  %25116 = call i32 @s2n_connection_set_config(ptr noundef %25114, ptr noundef %25115)
  %25117 = icmp eq i32 %25116, -1
  br i1 %25117, label %25118, label %25171

25118:                                            ; preds = %25111
  br label %25119

25119:                                            ; preds = %25118
  br label %25120

25120:                                            ; preds = %25119
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %25121 = call ptr @__errno_location() #12
  %25122 = load i32, ptr %25121, align 4, !tbaa !5
  store i32 %25122, ptr %539, align 4, !tbaa !5
  %25123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25124 = call i32 @s2n_print_stacktrace(ptr noundef %25123)
  %25125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25126 = trunc i8 %25125 to i1
  br i1 %25126, label %25127, label %25149

25127:                                            ; preds = %25120
  %25128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25129 = call i32 @fileno(ptr noundef %25128) #11
  %25130 = call i32 @isatty(i32 noundef %25129) #11
  %25131 = icmp ne i32 %25130, 0
  br i1 %25131, label %25132, label %25149

25132:                                            ; preds = %25127
  %25133 = load i32, ptr %539, align 4, !tbaa !5
  %25134 = call ptr @__errno_location() #12
  store i32 %25133, ptr %25134, align 4, !tbaa !5
  %25135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25136 = load i32, ptr @test_count, align 4, !tbaa !5
  %25137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25138 = load i32, ptr %25137, align 4, !tbaa !5
  %25139 = call ptr @s2n_strerror(i32 noundef %25138, ptr noundef @.str.4)
  %25140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25141 = load i32, ptr %25140, align 4, !tbaa !5
  %25142 = call ptr @s2n_strerror_debug(i32 noundef %25141, ptr noundef @.str.4)
  %25143 = call ptr @__errno_location() #12
  %25144 = load i32, ptr %25143, align 4, !tbaa !5
  %25145 = call ptr @strerror(i32 noundef %25144) #11
  %25146 = call ptr @__errno_location() #12
  %25147 = load i32, ptr %25146, align 4, !tbaa !5
  %25148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25135, ptr noundef @.str.2, i32 noundef %25136, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %25139, ptr noundef %25142, ptr noundef %25145, i32 noundef %25147) #11
  br label %25166

25149:                                            ; preds = %25127, %25120
  %25150 = load i32, ptr %539, align 4, !tbaa !5
  %25151 = call ptr @__errno_location() #12
  store i32 %25150, ptr %25151, align 4, !tbaa !5
  %25152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25153 = load i32, ptr @test_count, align 4, !tbaa !5
  %25154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25155 = load i32, ptr %25154, align 4, !tbaa !5
  %25156 = call ptr @s2n_strerror(i32 noundef %25155, ptr noundef @.str.4)
  %25157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25158 = load i32, ptr %25157, align 4, !tbaa !5
  %25159 = call ptr @s2n_strerror_debug(i32 noundef %25158, ptr noundef @.str.4)
  %25160 = call ptr @__errno_location() #12
  %25161 = load i32, ptr %25160, align 4, !tbaa !5
  %25162 = call ptr @strerror(i32 noundef %25161) #11
  %25163 = call ptr @__errno_location() #12
  %25164 = load i32, ptr %25163, align 4, !tbaa !5
  %25165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25152, ptr noundef @.str.5, i32 noundef %25153, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %25156, ptr noundef %25159, ptr noundef %25162, i32 noundef %25164) #11
  br label %25166

25166:                                            ; preds = %25149, %25132
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %25167

25167:                                            ; preds = %25166
  br label %25168

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

25169:                                            ; No predecessors!
  br label %25170

25170:                                            ; preds = %25169
  br label %25171

25171:                                            ; preds = %25170, %25111
  br label %25172

25172:                                            ; preds = %25171
  br label %25173

25173:                                            ; preds = %25172
  %25174 = load ptr, ptr %519, align 8, !tbaa !9
  %25175 = load i32, ptr %25174, align 8
  %25176 = and i32 %25175, -2049
  %25177 = or i32 %25176, 0
  store i32 %25177, ptr %25174, align 8
  br label %25178

25178:                                            ; preds = %25173
  %25179 = load i32, ptr @test_count, align 4, !tbaa !5
  %25180 = add nsw i32 %25179, 1
  store i32 %25180, ptr @test_count, align 4, !tbaa !5
  %25181 = load ptr, ptr %519, align 8, !tbaa !9
  %25182 = call i32 @s2n_early_data_get_server_max_size(ptr noundef %25181, ptr noundef %513)
  %25183 = getelementptr inbounds %struct.s2n_result, ptr %540, i32 0, i32 0
  store i32 %25182, ptr %25183, align 4
  %25184 = getelementptr inbounds %struct.s2n_result, ptr %540, i32 0, i32 0
  %25185 = load i32, ptr %25184, align 4
  %25186 = call zeroext i1 @s2n_result_is_ok(i32 %25185)
  br i1 %25186, label %25240, label %25187

25187:                                            ; preds = %25178
  br label %25188

25188:                                            ; preds = %25187
  br label %25189

25189:                                            ; preds = %25188
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #11
  %25190 = call ptr @__errno_location() #12
  %25191 = load i32, ptr %25190, align 4, !tbaa !5
  store i32 %25191, ptr %541, align 4, !tbaa !5
  %25192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25193 = call i32 @s2n_print_stacktrace(ptr noundef %25192)
  %25194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25195 = trunc i8 %25194 to i1
  br i1 %25195, label %25196, label %25218

25196:                                            ; preds = %25189
  %25197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25198 = call i32 @fileno(ptr noundef %25197) #11
  %25199 = call i32 @isatty(i32 noundef %25198) #11
  %25200 = icmp ne i32 %25199, 0
  br i1 %25200, label %25201, label %25218

25201:                                            ; preds = %25196
  %25202 = load i32, ptr %541, align 4, !tbaa !5
  %25203 = call ptr @__errno_location() #12
  store i32 %25202, ptr %25203, align 4, !tbaa !5
  %25204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25205 = load i32, ptr @test_count, align 4, !tbaa !5
  %25206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25207 = load i32, ptr %25206, align 4, !tbaa !5
  %25208 = call ptr @s2n_strerror(i32 noundef %25207, ptr noundef @.str.4)
  %25209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25210 = load i32, ptr %25209, align 4, !tbaa !5
  %25211 = call ptr @s2n_strerror_debug(i32 noundef %25210, ptr noundef @.str.4)
  %25212 = call ptr @__errno_location() #12
  %25213 = load i32, ptr %25212, align 4, !tbaa !5
  %25214 = call ptr @strerror(i32 noundef %25213) #11
  %25215 = call ptr @__errno_location() #12
  %25216 = load i32, ptr %25215, align 4, !tbaa !5
  %25217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25204, ptr noundef @.str.2, i32 noundef %25205, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1058, ptr noundef %25208, ptr noundef %25211, ptr noundef %25214, i32 noundef %25216) #11
  br label %25235

25218:                                            ; preds = %25196, %25189
  %25219 = load i32, ptr %541, align 4, !tbaa !5
  %25220 = call ptr @__errno_location() #12
  store i32 %25219, ptr %25220, align 4, !tbaa !5
  %25221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25222 = load i32, ptr @test_count, align 4, !tbaa !5
  %25223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25224 = load i32, ptr %25223, align 4, !tbaa !5
  %25225 = call ptr @s2n_strerror(i32 noundef %25224, ptr noundef @.str.4)
  %25226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25227 = load i32, ptr %25226, align 4, !tbaa !5
  %25228 = call ptr @s2n_strerror_debug(i32 noundef %25227, ptr noundef @.str.4)
  %25229 = call ptr @__errno_location() #12
  %25230 = load i32, ptr %25229, align 4, !tbaa !5
  %25231 = call ptr @strerror(i32 noundef %25230) #11
  %25232 = call ptr @__errno_location() #12
  %25233 = load i32, ptr %25232, align 4, !tbaa !5
  %25234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25221, ptr noundef @.str.5, i32 noundef %25222, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1058, ptr noundef %25225, ptr noundef %25228, ptr noundef %25231, i32 noundef %25233) #11
  br label %25235

25235:                                            ; preds = %25218, %25201
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #11
  br label %25236

25236:                                            ; preds = %25235
  br label %25237

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

25238:                                            ; No predecessors!
  br label %25239

25239:                                            ; preds = %25238
  br label %25240

25240:                                            ; preds = %25239, %25178
  br label %25241

25241:                                            ; preds = %25240
  br label %25242

25242:                                            ; preds = %25241
  br label %25243

25243:                                            ; preds = %25242
  %25244 = load i32, ptr @test_count, align 4, !tbaa !5
  %25245 = add nsw i32 %25244, 1
  store i32 %25245, ptr @test_count, align 4, !tbaa !5
  %25246 = load i32, ptr %513, align 4, !tbaa !5
  %25247 = icmp eq i32 %25246, 5
  br i1 %25247, label %25301, label %25248

25248:                                            ; preds = %25243
  br label %25249

25249:                                            ; preds = %25248
  br label %25250

25250:                                            ; preds = %25249
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #11
  %25251 = call ptr @__errno_location() #12
  %25252 = load i32, ptr %25251, align 4, !tbaa !5
  store i32 %25252, ptr %542, align 4, !tbaa !5
  %25253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25254 = call i32 @s2n_print_stacktrace(ptr noundef %25253)
  %25255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25256 = trunc i8 %25255 to i1
  br i1 %25256, label %25257, label %25279

25257:                                            ; preds = %25250
  %25258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25259 = call i32 @fileno(ptr noundef %25258) #11
  %25260 = call i32 @isatty(i32 noundef %25259) #11
  %25261 = icmp ne i32 %25260, 0
  br i1 %25261, label %25262, label %25279

25262:                                            ; preds = %25257
  %25263 = load i32, ptr %542, align 4, !tbaa !5
  %25264 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %25273 = call ptr @__errno_location() #12
  %25274 = load i32, ptr %25273, align 4, !tbaa !5
  %25275 = call ptr @strerror(i32 noundef %25274) #11
  %25276 = call ptr @__errno_location() #12
  %25277 = load i32, ptr %25276, align 4, !tbaa !5
  %25278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25265, ptr noundef @.str.2, i32 noundef %25266, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 1059, ptr noundef %25269, ptr noundef %25272, ptr noundef %25275, i32 noundef %25277) #11
  br label %25296

25279:                                            ; preds = %25257, %25250
  %25280 = load i32, ptr %542, align 4, !tbaa !5
  %25281 = call ptr @__errno_location() #12
  store i32 %25280, ptr %25281, align 4, !tbaa !5
  %25282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25283 = load i32, ptr @test_count, align 4, !tbaa !5
  %25284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25285 = load i32, ptr %25284, align 4, !tbaa !5
  %25286 = call ptr @s2n_strerror(i32 noundef %25285, ptr noundef @.str.4)
  %25287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25288 = load i32, ptr %25287, align 4, !tbaa !5
  %25289 = call ptr @s2n_strerror_debug(i32 noundef %25288, ptr noundef @.str.4)
  %25290 = call ptr @__errno_location() #12
  %25291 = load i32, ptr %25290, align 4, !tbaa !5
  %25292 = call ptr @strerror(i32 noundef %25291) #11
  %25293 = call ptr @__errno_location() #12
  %25294 = load i32, ptr %25293, align 4, !tbaa !5
  %25295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25282, ptr noundef @.str.5, i32 noundef %25283, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 1059, ptr noundef %25286, ptr noundef %25289, ptr noundef %25292, i32 noundef %25294) #11
  br label %25296

25296:                                            ; preds = %25279, %25262
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #11
  br label %25297

25297:                                            ; preds = %25296
  br label %25298

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

25299:                                            ; No predecessors!
  br label %25300

25300:                                            ; preds = %25299
  br label %25301

25301:                                            ; preds = %25300, %25243
  br label %25302

25302:                                            ; preds = %25301
  br label %25303

25303:                                            ; preds = %25302
  %25304 = load ptr, ptr %519, align 8, !tbaa !9
  %25305 = load i32, ptr %25304, align 8
  %25306 = and i32 %25305, -2049
  %25307 = or i32 %25306, 2048
  store i32 %25307, ptr %25304, align 8
  br label %25308

25308:                                            ; preds = %25303
  %25309 = load i32, ptr @test_count, align 4, !tbaa !5
  %25310 = add nsw i32 %25309, 1
  store i32 %25310, ptr @test_count, align 4, !tbaa !5
  %25311 = load ptr, ptr %519, align 8, !tbaa !9
  %25312 = call i32 @s2n_early_data_get_server_max_size(ptr noundef %25311, ptr noundef %513)
  %25313 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  store i32 %25312, ptr %25313, align 4
  %25314 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  %25315 = load i32, ptr %25314, align 4
  %25316 = call zeroext i1 @s2n_result_is_ok(i32 %25315)
  br i1 %25316, label %25370, label %25317

25317:                                            ; preds = %25308
  br label %25318

25318:                                            ; preds = %25317
  br label %25319

25319:                                            ; preds = %25318
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #11
  %25320 = call ptr @__errno_location() #12
  %25321 = load i32, ptr %25320, align 4, !tbaa !5
  store i32 %25321, ptr %544, align 4, !tbaa !5
  %25322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25323 = call i32 @s2n_print_stacktrace(ptr noundef %25322)
  %25324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25325 = trunc i8 %25324 to i1
  br i1 %25325, label %25326, label %25348

25326:                                            ; preds = %25319
  %25327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25328 = call i32 @fileno(ptr noundef %25327) #11
  %25329 = call i32 @isatty(i32 noundef %25328) #11
  %25330 = icmp ne i32 %25329, 0
  br i1 %25330, label %25331, label %25348

25331:                                            ; preds = %25326
  %25332 = load i32, ptr %544, align 4, !tbaa !5
  %25333 = call ptr @__errno_location() #12
  store i32 %25332, ptr %25333, align 4, !tbaa !5
  %25334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25335 = load i32, ptr @test_count, align 4, !tbaa !5
  %25336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25337 = load i32, ptr %25336, align 4, !tbaa !5
  %25338 = call ptr @s2n_strerror(i32 noundef %25337, ptr noundef @.str.4)
  %25339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25340 = load i32, ptr %25339, align 4, !tbaa !5
  %25341 = call ptr @s2n_strerror_debug(i32 noundef %25340, ptr noundef @.str.4)
  %25342 = call ptr @__errno_location() #12
  %25343 = load i32, ptr %25342, align 4, !tbaa !5
  %25344 = call ptr @strerror(i32 noundef %25343) #11
  %25345 = call ptr @__errno_location() #12
  %25346 = load i32, ptr %25345, align 4, !tbaa !5
  %25347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25334, ptr noundef @.str.2, i32 noundef %25335, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1063, ptr noundef %25338, ptr noundef %25341, ptr noundef %25344, i32 noundef %25346) #11
  br label %25365

25348:                                            ; preds = %25326, %25319
  %25349 = load i32, ptr %544, align 4, !tbaa !5
  %25350 = call ptr @__errno_location() #12
  store i32 %25349, ptr %25350, align 4, !tbaa !5
  %25351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25352 = load i32, ptr @test_count, align 4, !tbaa !5
  %25353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25354 = load i32, ptr %25353, align 4, !tbaa !5
  %25355 = call ptr @s2n_strerror(i32 noundef %25354, ptr noundef @.str.4)
  %25356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25357 = load i32, ptr %25356, align 4, !tbaa !5
  %25358 = call ptr @s2n_strerror_debug(i32 noundef %25357, ptr noundef @.str.4)
  %25359 = call ptr @__errno_location() #12
  %25360 = load i32, ptr %25359, align 4, !tbaa !5
  %25361 = call ptr @strerror(i32 noundef %25360) #11
  %25362 = call ptr @__errno_location() #12
  %25363 = load i32, ptr %25362, align 4, !tbaa !5
  %25364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25351, ptr noundef @.str.5, i32 noundef %25352, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1063, ptr noundef %25355, ptr noundef %25358, ptr noundef %25361, i32 noundef %25363) #11
  br label %25365

25365:                                            ; preds = %25348, %25331
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #11
  br label %25366

25366:                                            ; preds = %25365
  br label %25367

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

25368:                                            ; No predecessors!
  br label %25369

25369:                                            ; preds = %25368
  br label %25370

25370:                                            ; preds = %25369, %25308
  br label %25371

25371:                                            ; preds = %25370
  br label %25372

25372:                                            ; preds = %25371
  br label %25373

25373:                                            ; preds = %25372
  %25374 = load i32, ptr @test_count, align 4, !tbaa !5
  %25375 = add nsw i32 %25374, 1
  store i32 %25375, ptr @test_count, align 4, !tbaa !5
  %25376 = load i32, ptr %513, align 4, !tbaa !5
  %25377 = icmp eq i32 %25376, 10
  br i1 %25377, label %25431, label %25378

25378:                                            ; preds = %25373
  br label %25379

25379:                                            ; preds = %25378
  br label %25380

25380:                                            ; preds = %25379
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #11
  %25381 = call ptr @__errno_location() #12
  %25382 = load i32, ptr %25381, align 4, !tbaa !5
  store i32 %25382, ptr %545, align 4, !tbaa !5
  %25383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25384 = call i32 @s2n_print_stacktrace(ptr noundef %25383)
  %25385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25386 = trunc i8 %25385 to i1
  br i1 %25386, label %25387, label %25409

25387:                                            ; preds = %25380
  %25388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25389 = call i32 @fileno(ptr noundef %25388) #11
  %25390 = call i32 @isatty(i32 noundef %25389) #11
  %25391 = icmp ne i32 %25390, 0
  br i1 %25391, label %25392, label %25409

25392:                                            ; preds = %25387
  %25393 = load i32, ptr %545, align 4, !tbaa !5
  %25394 = call ptr @__errno_location() #12
  store i32 %25393, ptr %25394, align 4, !tbaa !5
  %25395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25396 = load i32, ptr @test_count, align 4, !tbaa !5
  %25397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25398 = load i32, ptr %25397, align 4, !tbaa !5
  %25399 = call ptr @s2n_strerror(i32 noundef %25398, ptr noundef @.str.4)
  %25400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25401 = load i32, ptr %25400, align 4, !tbaa !5
  %25402 = call ptr @s2n_strerror_debug(i32 noundef %25401, ptr noundef @.str.4)
  %25403 = call ptr @__errno_location() #12
  %25404 = load i32, ptr %25403, align 4, !tbaa !5
  %25405 = call ptr @strerror(i32 noundef %25404) #11
  %25406 = call ptr @__errno_location() #12
  %25407 = load i32, ptr %25406, align 4, !tbaa !5
  %25408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25395, ptr noundef @.str.2, i32 noundef %25396, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 1064, ptr noundef %25399, ptr noundef %25402, ptr noundef %25405, i32 noundef %25407) #11
  br label %25426

25409:                                            ; preds = %25387, %25380
  %25410 = load i32, ptr %545, align 4, !tbaa !5
  %25411 = call ptr @__errno_location() #12
  store i32 %25410, ptr %25411, align 4, !tbaa !5
  %25412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25413 = load i32, ptr @test_count, align 4, !tbaa !5
  %25414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25415 = load i32, ptr %25414, align 4, !tbaa !5
  %25416 = call ptr @s2n_strerror(i32 noundef %25415, ptr noundef @.str.4)
  %25417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25418 = load i32, ptr %25417, align 4, !tbaa !5
  %25419 = call ptr @s2n_strerror_debug(i32 noundef %25418, ptr noundef @.str.4)
  %25420 = call ptr @__errno_location() #12
  %25421 = load i32, ptr %25420, align 4, !tbaa !5
  %25422 = call ptr @strerror(i32 noundef %25421) #11
  %25423 = call ptr @__errno_location() #12
  %25424 = load i32, ptr %25423, align 4, !tbaa !5
  %25425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25412, ptr noundef @.str.5, i32 noundef %25413, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 1064, ptr noundef %25416, ptr noundef %25419, ptr noundef %25422, i32 noundef %25424) #11
  br label %25426

25426:                                            ; preds = %25409, %25392
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #11
  br label %25427

25427:                                            ; preds = %25426
  br label %25428

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

25429:                                            ; No predecessors!
  br label %25430

25430:                                            ; preds = %25429
  br label %25431

25431:                                            ; preds = %25430, %25373
  br label %25432

25432:                                            ; preds = %25431
  br label %25433

25433:                                            ; preds = %25432
  br label %25434

25434:                                            ; preds = %25433
  %25435 = load i32, ptr @test_count, align 4, !tbaa !5
  %25436 = add nsw i32 %25435, 1
  store i32 %25436, ptr @test_count, align 4, !tbaa !5
  %25437 = load ptr, ptr %519, align 8, !tbaa !9
  %25438 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %25437, i32 noundef 0)
  %25439 = icmp eq i32 %25438, -1
  br i1 %25439, label %25440, label %25493

25440:                                            ; preds = %25434
  br label %25441

25441:                                            ; preds = %25440
  br label %25442

25442:                                            ; preds = %25441
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %25443 = call ptr @__errno_location() #12
  %25444 = load i32, ptr %25443, align 4, !tbaa !5
  store i32 %25444, ptr %546, align 4, !tbaa !5
  %25445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25446 = call i32 @s2n_print_stacktrace(ptr noundef %25445)
  %25447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25448 = trunc i8 %25447 to i1
  br i1 %25448, label %25449, label %25471

25449:                                            ; preds = %25442
  %25450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25451 = call i32 @fileno(ptr noundef %25450) #11
  %25452 = call i32 @isatty(i32 noundef %25451) #11
  %25453 = icmp ne i32 %25452, 0
  br i1 %25453, label %25454, label %25471

25454:                                            ; preds = %25449
  %25455 = load i32, ptr %546, align 4, !tbaa !5
  %25456 = call ptr @__errno_location() #12
  store i32 %25455, ptr %25456, align 4, !tbaa !5
  %25457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25458 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %25460, ptr noundef @.str.4)
  %25462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25463 = load i32, ptr %25462, align 4, !tbaa !5
  %25464 = call ptr @s2n_strerror_debug(i32 noundef %25463, ptr noundef @.str.4)
  %25465 = call ptr @__errno_location() #12
  %25466 = load i32, ptr %25465, align 4, !tbaa !5
  %25467 = call ptr @strerror(i32 noundef %25466) #11
  %25468 = call ptr @__errno_location() #12
  %25469 = load i32, ptr %25468, align 4, !tbaa !5
  %25470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25457, ptr noundef @.str.2, i32 noundef %25458, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %25461, ptr noundef %25464, ptr noundef %25467, i32 noundef %25469) #11
  br label %25488

25471:                                            ; preds = %25449, %25442
  %25472 = load i32, ptr %546, align 4, !tbaa !5
  %25473 = call ptr @__errno_location() #12
  store i32 %25472, ptr %25473, align 4, !tbaa !5
  %25474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25475 = load i32, ptr @test_count, align 4, !tbaa !5
  %25476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25477 = load i32, ptr %25476, align 4, !tbaa !5
  %25478 = call ptr @s2n_strerror(i32 noundef %25477, ptr noundef @.str.4)
  %25479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25480 = load i32, ptr %25479, align 4, !tbaa !5
  %25481 = call ptr @s2n_strerror_debug(i32 noundef %25480, ptr noundef @.str.4)
  %25482 = call ptr @__errno_location() #12
  %25483 = load i32, ptr %25482, align 4, !tbaa !5
  %25484 = call ptr @strerror(i32 noundef %25483) #11
  %25485 = call ptr @__errno_location() #12
  %25486 = load i32, ptr %25485, align 4, !tbaa !5
  %25487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25474, ptr noundef @.str.5, i32 noundef %25475, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %25478, ptr noundef %25481, ptr noundef %25484, i32 noundef %25486) #11
  br label %25488

25488:                                            ; preds = %25471, %25454
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %25489

25489:                                            ; preds = %25488
  br label %25490

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

25491:                                            ; No predecessors!
  br label %25492

25492:                                            ; preds = %25491
  br label %25493

25493:                                            ; preds = %25492, %25434
  br label %25494

25494:                                            ; preds = %25493
  br label %25495

25495:                                            ; preds = %25494
  br label %25496

25496:                                            ; preds = %25495
  %25497 = load i32, ptr @test_count, align 4, !tbaa !5
  %25498 = add nsw i32 %25497, 1
  store i32 %25498, ptr @test_count, align 4, !tbaa !5
  %25499 = load ptr, ptr %519, align 8, !tbaa !9
  %25500 = call i32 @s2n_early_data_get_server_max_size(ptr noundef %25499, ptr noundef %513)
  %25501 = getelementptr inbounds %struct.s2n_result, ptr %547, i32 0, i32 0
  store i32 %25500, ptr %25501, align 4
  %25502 = getelementptr inbounds %struct.s2n_result, ptr %547, i32 0, i32 0
  %25503 = load i32, ptr %25502, align 4
  %25504 = call zeroext i1 @s2n_result_is_ok(i32 %25503)
  br i1 %25504, label %25558, label %25505

25505:                                            ; preds = %25496
  br label %25506

25506:                                            ; preds = %25505
  br label %25507

25507:                                            ; preds = %25506
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #11
  %25508 = call ptr @__errno_location() #12
  %25509 = load i32, ptr %25508, align 4, !tbaa !5
  store i32 %25509, ptr %548, align 4, !tbaa !5
  %25510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25511 = call i32 @s2n_print_stacktrace(ptr noundef %25510)
  %25512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25513 = trunc i8 %25512 to i1
  br i1 %25513, label %25514, label %25536

25514:                                            ; preds = %25507
  %25515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25516 = call i32 @fileno(ptr noundef %25515) #11
  %25517 = call i32 @isatty(i32 noundef %25516) #11
  %25518 = icmp ne i32 %25517, 0
  br i1 %25518, label %25519, label %25536

25519:                                            ; preds = %25514
  %25520 = load i32, ptr %548, align 4, !tbaa !5
  %25521 = call ptr @__errno_location() #12
  store i32 %25520, ptr %25521, align 4, !tbaa !5
  %25522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25523 = load i32, ptr @test_count, align 4, !tbaa !5
  %25524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25525 = load i32, ptr %25524, align 4, !tbaa !5
  %25526 = call ptr @s2n_strerror(i32 noundef %25525, ptr noundef @.str.4)
  %25527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25528 = load i32, ptr %25527, align 4, !tbaa !5
  %25529 = call ptr @s2n_strerror_debug(i32 noundef %25528, ptr noundef @.str.4)
  %25530 = call ptr @__errno_location() #12
  %25531 = load i32, ptr %25530, align 4, !tbaa !5
  %25532 = call ptr @strerror(i32 noundef %25531) #11
  %25533 = call ptr @__errno_location() #12
  %25534 = load i32, ptr %25533, align 4, !tbaa !5
  %25535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25522, ptr noundef @.str.2, i32 noundef %25523, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1068, ptr noundef %25526, ptr noundef %25529, ptr noundef %25532, i32 noundef %25534) #11
  br label %25553

25536:                                            ; preds = %25514, %25507
  %25537 = load i32, ptr %548, align 4, !tbaa !5
  %25538 = call ptr @__errno_location() #12
  store i32 %25537, ptr %25538, align 4, !tbaa !5
  %25539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25540 = load i32, ptr @test_count, align 4, !tbaa !5
  %25541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25542 = load i32, ptr %25541, align 4, !tbaa !5
  %25543 = call ptr @s2n_strerror(i32 noundef %25542, ptr noundef @.str.4)
  %25544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25545 = load i32, ptr %25544, align 4, !tbaa !5
  %25546 = call ptr @s2n_strerror_debug(i32 noundef %25545, ptr noundef @.str.4)
  %25547 = call ptr @__errno_location() #12
  %25548 = load i32, ptr %25547, align 4, !tbaa !5
  %25549 = call ptr @strerror(i32 noundef %25548) #11
  %25550 = call ptr @__errno_location() #12
  %25551 = load i32, ptr %25550, align 4, !tbaa !5
  %25552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25539, ptr noundef @.str.5, i32 noundef %25540, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1068, ptr noundef %25543, ptr noundef %25546, ptr noundef %25549, i32 noundef %25551) #11
  br label %25553

25553:                                            ; preds = %25536, %25519
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #11
  br label %25554

25554:                                            ; preds = %25553
  br label %25555

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

25556:                                            ; No predecessors!
  br label %25557

25557:                                            ; preds = %25556
  br label %25558

25558:                                            ; preds = %25557, %25496
  br label %25559

25559:                                            ; preds = %25558
  br label %25560

25560:                                            ; preds = %25559
  br label %25561

25561:                                            ; preds = %25560
  %25562 = load i32, ptr @test_count, align 4, !tbaa !5
  %25563 = add nsw i32 %25562, 1
  store i32 %25563, ptr @test_count, align 4, !tbaa !5
  %25564 = load i32, ptr %513, align 4, !tbaa !5
  %25565 = icmp eq i32 %25564, 0
  br i1 %25565, label %25619, label %25566

25566:                                            ; preds = %25561
  br label %25567

25567:                                            ; preds = %25566
  br label %25568

25568:                                            ; preds = %25567
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #11
  %25569 = call ptr @__errno_location() #12
  %25570 = load i32, ptr %25569, align 4, !tbaa !5
  store i32 %25570, ptr %549, align 4, !tbaa !5
  %25571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25572 = call i32 @s2n_print_stacktrace(ptr noundef %25571)
  %25573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25574 = trunc i8 %25573 to i1
  br i1 %25574, label %25575, label %25597

25575:                                            ; preds = %25568
  %25576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25577 = call i32 @fileno(ptr noundef %25576) #11
  %25578 = call i32 @isatty(i32 noundef %25577) #11
  %25579 = icmp ne i32 %25578, 0
  br i1 %25579, label %25580, label %25597

25580:                                            ; preds = %25575
  %25581 = load i32, ptr %549, align 4, !tbaa !5
  %25582 = call ptr @__errno_location() #12
  store i32 %25581, ptr %25582, align 4, !tbaa !5
  %25583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25584 = load i32, ptr @test_count, align 4, !tbaa !5
  %25585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25586 = load i32, ptr %25585, align 4, !tbaa !5
  %25587 = call ptr @s2n_strerror(i32 noundef %25586, ptr noundef @.str.4)
  %25588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25589 = load i32, ptr %25588, align 4, !tbaa !5
  %25590 = call ptr @s2n_strerror_debug(i32 noundef %25589, ptr noundef @.str.4)
  %25591 = call ptr @__errno_location() #12
  %25592 = load i32, ptr %25591, align 4, !tbaa !5
  %25593 = call ptr @strerror(i32 noundef %25592) #11
  %25594 = call ptr @__errno_location() #12
  %25595 = load i32, ptr %25594, align 4, !tbaa !5
  %25596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25583, ptr noundef @.str.2, i32 noundef %25584, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 1069, ptr noundef %25587, ptr noundef %25590, ptr noundef %25593, i32 noundef %25595) #11
  br label %25614

25597:                                            ; preds = %25575, %25568
  %25598 = load i32, ptr %549, align 4, !tbaa !5
  %25599 = call ptr @__errno_location() #12
  store i32 %25598, ptr %25599, align 4, !tbaa !5
  %25600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25601 = load i32, ptr @test_count, align 4, !tbaa !5
  %25602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25603 = load i32, ptr %25602, align 4, !tbaa !5
  %25604 = call ptr @s2n_strerror(i32 noundef %25603, ptr noundef @.str.4)
  %25605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25606 = load i32, ptr %25605, align 4, !tbaa !5
  %25607 = call ptr @s2n_strerror_debug(i32 noundef %25606, ptr noundef @.str.4)
  %25608 = call ptr @__errno_location() #12
  %25609 = load i32, ptr %25608, align 4, !tbaa !5
  %25610 = call ptr @strerror(i32 noundef %25609) #11
  %25611 = call ptr @__errno_location() #12
  %25612 = load i32, ptr %25611, align 4, !tbaa !5
  %25613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25600, ptr noundef @.str.5, i32 noundef %25601, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 1069, ptr noundef %25604, ptr noundef %25607, ptr noundef %25610, i32 noundef %25612) #11
  br label %25614

25614:                                            ; preds = %25597, %25580
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #11
  br label %25615

25615:                                            ; preds = %25614
  br label %25616

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

25617:                                            ; No predecessors!
  br label %25618

25618:                                            ; preds = %25617
  br label %25619

25619:                                            ; preds = %25618, %25561
  br label %25620

25620:                                            ; preds = %25619
  br label %25621

25621:                                            ; preds = %25620
  br label %25622

25622:                                            ; preds = %25621
  %25623 = load i32, ptr @test_count, align 4, !tbaa !5
  %25624 = add nsw i32 %25623, 1
  store i32 %25624, ptr @test_count, align 4, !tbaa !5
  %25625 = load ptr, ptr %516, align 8, !tbaa !9
  %25626 = call i32 @s2n_config_free(ptr noundef %25625)
  %25627 = icmp eq i32 %25626, -1
  br i1 %25627, label %25628, label %25681

25628:                                            ; preds = %25622
  br label %25629

25629:                                            ; preds = %25628
  br label %25630

25630:                                            ; preds = %25629
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #11
  %25631 = call ptr @__errno_location() #12
  %25632 = load i32, ptr %25631, align 4, !tbaa !5
  store i32 %25632, ptr %550, align 4, !tbaa !5
  %25633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25634 = call i32 @s2n_print_stacktrace(ptr noundef %25633)
  %25635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25636 = trunc i8 %25635 to i1
  br i1 %25636, label %25637, label %25659

25637:                                            ; preds = %25630
  %25638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25639 = call i32 @fileno(ptr noundef %25638) #11
  %25640 = call i32 @isatty(i32 noundef %25639) #11
  %25641 = icmp ne i32 %25640, 0
  br i1 %25641, label %25642, label %25659

25642:                                            ; preds = %25637
  %25643 = load i32, ptr %550, align 4, !tbaa !5
  %25644 = call ptr @__errno_location() #12
  store i32 %25643, ptr %25644, align 4, !tbaa !5
  %25645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25646 = load i32, ptr @test_count, align 4, !tbaa !5
  %25647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25648 = load i32, ptr %25647, align 4, !tbaa !5
  %25649 = call ptr @s2n_strerror(i32 noundef %25648, ptr noundef @.str.4)
  %25650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25651 = load i32, ptr %25650, align 4, !tbaa !5
  %25652 = call ptr @s2n_strerror_debug(i32 noundef %25651, ptr noundef @.str.4)
  %25653 = call ptr @__errno_location() #12
  %25654 = load i32, ptr %25653, align 4, !tbaa !5
  %25655 = call ptr @strerror(i32 noundef %25654) #11
  %25656 = call ptr @__errno_location() #12
  %25657 = load i32, ptr %25656, align 4, !tbaa !5
  %25658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25645, ptr noundef @.str.2, i32 noundef %25646, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1071, ptr noundef %25649, ptr noundef %25652, ptr noundef %25655, i32 noundef %25657) #11
  br label %25676

25659:                                            ; preds = %25637, %25630
  %25660 = load i32, ptr %550, align 4, !tbaa !5
  %25661 = call ptr @__errno_location() #12
  store i32 %25660, ptr %25661, align 4, !tbaa !5
  %25662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25663 = load i32, ptr @test_count, align 4, !tbaa !5
  %25664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25665 = load i32, ptr %25664, align 4, !tbaa !5
  %25666 = call ptr @s2n_strerror(i32 noundef %25665, ptr noundef @.str.4)
  %25667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25668 = load i32, ptr %25667, align 4, !tbaa !5
  %25669 = call ptr @s2n_strerror_debug(i32 noundef %25668, ptr noundef @.str.4)
  %25670 = call ptr @__errno_location() #12
  %25671 = load i32, ptr %25670, align 4, !tbaa !5
  %25672 = call ptr @strerror(i32 noundef %25671) #11
  %25673 = call ptr @__errno_location() #12
  %25674 = load i32, ptr %25673, align 4, !tbaa !5
  %25675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25662, ptr noundef @.str.5, i32 noundef %25663, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1071, ptr noundef %25666, ptr noundef %25669, ptr noundef %25672, i32 noundef %25674) #11
  br label %25676

25676:                                            ; preds = %25659, %25642
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #11
  br label %25677

25677:                                            ; preds = %25676
  br label %25678

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

25679:                                            ; No predecessors!
  br label %25680

25680:                                            ; preds = %25679
  br label %25681

25681:                                            ; preds = %25680, %25622
  br label %25682

25682:                                            ; preds = %25681
  br label %25683

25683:                                            ; preds = %25682
  br label %25684

25684:                                            ; preds = %25683
  %25685 = load i32, ptr @test_count, align 4, !tbaa !5
  %25686 = add nsw i32 %25685, 1
  store i32 %25686, ptr @test_count, align 4, !tbaa !5
  %25687 = load ptr, ptr %519, align 8, !tbaa !9
  %25688 = call i32 @s2n_connection_free(ptr noundef %25687)
  %25689 = icmp eq i32 %25688, -1
  br i1 %25689, label %25690, label %25743

25690:                                            ; preds = %25684
  br label %25691

25691:                                            ; preds = %25690
  br label %25692

25692:                                            ; preds = %25691
  call void @llvm.lifetime.start.p0(i64 4, ptr %551) #11
  %25693 = call ptr @__errno_location() #12
  %25694 = load i32, ptr %25693, align 4, !tbaa !5
  store i32 %25694, ptr %551, align 4, !tbaa !5
  %25695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25696 = call i32 @s2n_print_stacktrace(ptr noundef %25695)
  %25697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25698 = trunc i8 %25697 to i1
  br i1 %25698, label %25699, label %25721

25699:                                            ; preds = %25692
  %25700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25701 = call i32 @fileno(ptr noundef %25700) #11
  %25702 = call i32 @isatty(i32 noundef %25701) #11
  %25703 = icmp ne i32 %25702, 0
  br i1 %25703, label %25704, label %25721

25704:                                            ; preds = %25699
  %25705 = load i32, ptr %551, align 4, !tbaa !5
  %25706 = call ptr @__errno_location() #12
  store i32 %25705, ptr %25706, align 4, !tbaa !5
  %25707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25708 = load i32, ptr @test_count, align 4, !tbaa !5
  %25709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25710 = load i32, ptr %25709, align 4, !tbaa !5
  %25711 = call ptr @s2n_strerror(i32 noundef %25710, ptr noundef @.str.4)
  %25712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25713 = load i32, ptr %25712, align 4, !tbaa !5
  %25714 = call ptr @s2n_strerror_debug(i32 noundef %25713, ptr noundef @.str.4)
  %25715 = call ptr @__errno_location() #12
  %25716 = load i32, ptr %25715, align 4, !tbaa !5
  %25717 = call ptr @strerror(i32 noundef %25716) #11
  %25718 = call ptr @__errno_location() #12
  %25719 = load i32, ptr %25718, align 4, !tbaa !5
  %25720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25707, ptr noundef @.str.2, i32 noundef %25708, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1072, ptr noundef %25711, ptr noundef %25714, ptr noundef %25717, i32 noundef %25719) #11
  br label %25738

25721:                                            ; preds = %25699, %25692
  %25722 = load i32, ptr %551, align 4, !tbaa !5
  %25723 = call ptr @__errno_location() #12
  store i32 %25722, ptr %25723, align 4, !tbaa !5
  %25724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25725 = load i32, ptr @test_count, align 4, !tbaa !5
  %25726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25727 = load i32, ptr %25726, align 4, !tbaa !5
  %25728 = call ptr @s2n_strerror(i32 noundef %25727, ptr noundef @.str.4)
  %25729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25730 = load i32, ptr %25729, align 4, !tbaa !5
  %25731 = call ptr @s2n_strerror_debug(i32 noundef %25730, ptr noundef @.str.4)
  %25732 = call ptr @__errno_location() #12
  %25733 = load i32, ptr %25732, align 4, !tbaa !5
  %25734 = call ptr @strerror(i32 noundef %25733) #11
  %25735 = call ptr @__errno_location() #12
  %25736 = load i32, ptr %25735, align 4, !tbaa !5
  %25737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25724, ptr noundef @.str.5, i32 noundef %25725, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1072, ptr noundef %25728, ptr noundef %25731, ptr noundef %25734, i32 noundef %25736) #11
  br label %25738

25738:                                            ; preds = %25721, %25704
  call void @llvm.lifetime.end.p0(i64 4, ptr %551) #11
  br label %25739

25739:                                            ; preds = %25738
  br label %25740

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

25741:                                            ; No predecessors!
  br label %25742

25742:                                            ; preds = %25741
  br label %25743

25743:                                            ; preds = %25742, %25684
  br label %25744

25744:                                            ; preds = %25743
  br label %25745

25745:                                            ; preds = %25744
  call void @llvm.lifetime.end.p0(i64 8, ptr %519) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %516) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %552) #11
  %25746 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %25746, ptr %552, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 12, ptr %553) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %553, ptr align 1 @__const.main.data, i64 12, i1 false)
  br label %25747

25747:                                            ; preds = %25745
  br label %25748

25748:                                            ; preds = %25747
  br label %25749

25749:                                            ; preds = %25748
  %25750 = load i32, ptr @test_count, align 4, !tbaa !5
  %25751 = add nsw i32 %25750, 1
  store i32 %25751, ptr @test_count, align 4, !tbaa !5
  %25752 = getelementptr inbounds [12 x i8], ptr %553, i64 0, i64 0
  %25753 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef null, ptr noundef %25752, i16 noundef zeroext 1)
  %25754 = icmp eq i32 %25753, -1
  br i1 %25754, label %25808, label %25755

25755:                                            ; preds = %25749
  br label %25756

25756:                                            ; preds = %25755
  br label %25757

25757:                                            ; preds = %25756
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #11
  %25758 = call ptr @__errno_location() #12
  %25759 = load i32, ptr %25758, align 4, !tbaa !5
  store i32 %25759, ptr %554, align 4, !tbaa !5
  %25760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25761 = call i32 @s2n_print_stacktrace(ptr noundef %25760)
  %25762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25763 = trunc i8 %25762 to i1
  br i1 %25763, label %25764, label %25786

25764:                                            ; preds = %25757
  %25765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25766 = call i32 @fileno(ptr noundef %25765) #11
  %25767 = call i32 @isatty(i32 noundef %25766) #11
  %25768 = icmp ne i32 %25767, 0
  br i1 %25768, label %25769, label %25786

25769:                                            ; preds = %25764
  %25770 = load i32, ptr %554, align 4, !tbaa !5
  %25771 = call ptr @__errno_location() #12
  store i32 %25770, ptr %25771, align 4, !tbaa !5
  %25772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25773 = load i32, ptr @test_count, align 4, !tbaa !5
  %25774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25775 = load i32, ptr %25774, align 4, !tbaa !5
  %25776 = call ptr @s2n_strerror(i32 noundef %25775, ptr noundef @.str.4)
  %25777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25778 = load i32, ptr %25777, align 4, !tbaa !5
  %25779 = call ptr @s2n_strerror_debug(i32 noundef %25778, ptr noundef @.str.4)
  %25780 = call ptr @__errno_location() #12
  %25781 = load i32, ptr %25780, align 4, !tbaa !5
  %25782 = call ptr @strerror(i32 noundef %25781) #11
  %25783 = call ptr @__errno_location() #12
  %25784 = load i32, ptr %25783, align 4, !tbaa !5
  %25785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25772, ptr noundef @.str.2, i32 noundef %25773, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %25776, ptr noundef %25779, ptr noundef %25782, i32 noundef %25784) #11
  br label %25803

25786:                                            ; preds = %25764, %25757
  %25787 = load i32, ptr %554, align 4, !tbaa !5
  %25788 = call ptr @__errno_location() #12
  store i32 %25787, ptr %25788, align 4, !tbaa !5
  %25789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25790 = load i32, ptr @test_count, align 4, !tbaa !5
  %25791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25792 = load i32, ptr %25791, align 4, !tbaa !5
  %25793 = call ptr @s2n_strerror(i32 noundef %25792, ptr noundef @.str.4)
  %25794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25795 = load i32, ptr %25794, align 4, !tbaa !5
  %25796 = call ptr @s2n_strerror_debug(i32 noundef %25795, ptr noundef @.str.4)
  %25797 = call ptr @__errno_location() #12
  %25798 = load i32, ptr %25797, align 4, !tbaa !5
  %25799 = call ptr @strerror(i32 noundef %25798) #11
  %25800 = call ptr @__errno_location() #12
  %25801 = load i32, ptr %25800, align 4, !tbaa !5
  %25802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25789, ptr noundef @.str.5, i32 noundef %25790, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %25793, ptr noundef %25796, ptr noundef %25799, i32 noundef %25801) #11
  br label %25803

25803:                                            ; preds = %25786, %25769
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #11
  br label %25804

25804:                                            ; preds = %25803
  br label %25805

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

25806:                                            ; No predecessors!
  br label %25807

25807:                                            ; preds = %25806
  br label %25808

25808:                                            ; preds = %25807, %25749
  br label %25809

25809:                                            ; preds = %25808
  br label %25810

25810:                                            ; preds = %25809
  br label %25811

25811:                                            ; preds = %25810
  %25812 = load i32, ptr @test_count, align 4, !tbaa !5
  %25813 = add nsw i32 %25812, 1
  store i32 %25813, ptr @test_count, align 4, !tbaa !5
  %25814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25815 = load i32, ptr %25814, align 4, !tbaa !5
  %25816 = icmp eq i32 %25815, 402653193
  br i1 %25816, label %25870, label %25817

25817:                                            ; preds = %25811
  br label %25818

25818:                                            ; preds = %25817
  br label %25819

25819:                                            ; preds = %25818
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #11
  %25820 = call ptr @__errno_location() #12
  %25821 = load i32, ptr %25820, align 4, !tbaa !5
  store i32 %25821, ptr %555, align 4, !tbaa !5
  %25822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25823 = call i32 @s2n_print_stacktrace(ptr noundef %25822)
  %25824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25825 = trunc i8 %25824 to i1
  br i1 %25825, label %25826, label %25848

25826:                                            ; preds = %25819
  %25827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25828 = call i32 @fileno(ptr noundef %25827) #11
  %25829 = call i32 @isatty(i32 noundef %25828) #11
  %25830 = icmp ne i32 %25829, 0
  br i1 %25830, label %25831, label %25848

25831:                                            ; preds = %25826
  %25832 = load i32, ptr %555, align 4, !tbaa !5
  %25833 = call ptr @__errno_location() #12
  store i32 %25832, ptr %25833, align 4, !tbaa !5
  %25834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25835 = load i32, ptr @test_count, align 4, !tbaa !5
  %25836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25837 = load i32, ptr %25836, align 4, !tbaa !5
  %25838 = call ptr @s2n_strerror(i32 noundef %25837, ptr noundef @.str.4)
  %25839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25840 = load i32, ptr %25839, align 4, !tbaa !5
  %25841 = call ptr @s2n_strerror_debug(i32 noundef %25840, ptr noundef @.str.4)
  %25842 = call ptr @__errno_location() #12
  %25843 = load i32, ptr %25842, align 4, !tbaa !5
  %25844 = call ptr @strerror(i32 noundef %25843) #11
  %25845 = call ptr @__errno_location() #12
  %25846 = load i32, ptr %25845, align 4, !tbaa !5
  %25847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25834, ptr noundef @.str.2, i32 noundef %25835, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %25838, ptr noundef %25841, ptr noundef %25844, i32 noundef %25846) #11
  br label %25865

25848:                                            ; preds = %25826, %25819
  %25849 = load i32, ptr %555, align 4, !tbaa !5
  %25850 = call ptr @__errno_location() #12
  store i32 %25849, ptr %25850, align 4, !tbaa !5
  %25851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25852 = load i32, ptr @test_count, align 4, !tbaa !5
  %25853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25854 = load i32, ptr %25853, align 4, !tbaa !5
  %25855 = call ptr @s2n_strerror(i32 noundef %25854, ptr noundef @.str.4)
  %25856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25857 = load i32, ptr %25856, align 4, !tbaa !5
  %25858 = call ptr @s2n_strerror_debug(i32 noundef %25857, ptr noundef @.str.4)
  %25859 = call ptr @__errno_location() #12
  %25860 = load i32, ptr %25859, align 4, !tbaa !5
  %25861 = call ptr @strerror(i32 noundef %25860) #11
  %25862 = call ptr @__errno_location() #12
  %25863 = load i32, ptr %25862, align 4, !tbaa !5
  %25864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25851, ptr noundef @.str.5, i32 noundef %25852, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %25855, ptr noundef %25858, ptr noundef %25861, i32 noundef %25863) #11
  br label %25865

25865:                                            ; preds = %25848, %25831
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #11
  br label %25866

25866:                                            ; preds = %25865
  br label %25867

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

25868:                                            ; No predecessors!
  br label %25869

25869:                                            ; preds = %25868
  br label %25870

25870:                                            ; preds = %25869, %25811
  br label %25871

25871:                                            ; preds = %25870
  br label %25872

25872:                                            ; preds = %25871
  br label %25873

25873:                                            ; preds = %25872
  %25874 = load i32, ptr @test_count, align 4, !tbaa !5
  %25875 = add nsw i32 %25874, 1
  store i32 %25875, ptr @test_count, align 4, !tbaa !5
  %25876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25877 = load i32, ptr %25876, align 4, !tbaa !5
  %25878 = call ptr @s2n_strerror_debug(i32 noundef %25877, ptr noundef @.str.4)
  %25879 = icmp eq ptr %25878, null
  br i1 %25879, label %25880, label %25933

25880:                                            ; preds = %25873
  br label %25881

25881:                                            ; preds = %25880
  br label %25882

25882:                                            ; preds = %25881
  call void @llvm.lifetime.start.p0(i64 4, ptr %556) #11
  %25883 = call ptr @__errno_location() #12
  %25884 = load i32, ptr %25883, align 4, !tbaa !5
  store i32 %25884, ptr %556, align 4, !tbaa !5
  %25885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25886 = call i32 @s2n_print_stacktrace(ptr noundef %25885)
  %25887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25888 = trunc i8 %25887 to i1
  br i1 %25888, label %25889, label %25911

25889:                                            ; preds = %25882
  %25890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25891 = call i32 @fileno(ptr noundef %25890) #11
  %25892 = call i32 @isatty(i32 noundef %25891) #11
  %25893 = icmp ne i32 %25892, 0
  br i1 %25893, label %25894, label %25911

25894:                                            ; preds = %25889
  %25895 = load i32, ptr %556, align 4, !tbaa !5
  %25896 = call ptr @__errno_location() #12
  store i32 %25895, ptr %25896, align 4, !tbaa !5
  %25897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25898 = load i32, ptr @test_count, align 4, !tbaa !5
  %25899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25900 = load i32, ptr %25899, align 4, !tbaa !5
  %25901 = call ptr @s2n_strerror(i32 noundef %25900, ptr noundef @.str.4)
  %25902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25903 = load i32, ptr %25902, align 4, !tbaa !5
  %25904 = call ptr @s2n_strerror_debug(i32 noundef %25903, ptr noundef @.str.4)
  %25905 = call ptr @__errno_location() #12
  %25906 = load i32, ptr %25905, align 4, !tbaa !5
  %25907 = call ptr @strerror(i32 noundef %25906) #11
  %25908 = call ptr @__errno_location() #12
  %25909 = load i32, ptr %25908, align 4, !tbaa !5
  %25910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25897, ptr noundef @.str.2, i32 noundef %25898, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %25901, ptr noundef %25904, ptr noundef %25907, i32 noundef %25909) #11
  br label %25928

25911:                                            ; preds = %25889, %25882
  %25912 = load i32, ptr %556, align 4, !tbaa !5
  %25913 = call ptr @__errno_location() #12
  store i32 %25912, ptr %25913, align 4, !tbaa !5
  %25914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25915 = load i32, ptr @test_count, align 4, !tbaa !5
  %25916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25917 = load i32, ptr %25916, align 4, !tbaa !5
  %25918 = call ptr @s2n_strerror(i32 noundef %25917, ptr noundef @.str.4)
  %25919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25920 = load i32, ptr %25919, align 4, !tbaa !5
  %25921 = call ptr @s2n_strerror_debug(i32 noundef %25920, ptr noundef @.str.4)
  %25922 = call ptr @__errno_location() #12
  %25923 = load i32, ptr %25922, align 4, !tbaa !5
  %25924 = call ptr @strerror(i32 noundef %25923) #11
  %25925 = call ptr @__errno_location() #12
  %25926 = load i32, ptr %25925, align 4, !tbaa !5
  %25927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25914, ptr noundef @.str.5, i32 noundef %25915, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %25918, ptr noundef %25921, ptr noundef %25924, i32 noundef %25926) #11
  br label %25928

25928:                                            ; preds = %25911, %25894
  call void @llvm.lifetime.end.p0(i64 4, ptr %556) #11
  br label %25929

25929:                                            ; preds = %25928
  br label %25930

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

25931:                                            ; No predecessors!
  br label %25932

25932:                                            ; preds = %25931
  br label %25933

25933:                                            ; preds = %25932, %25873
  br label %25934

25934:                                            ; preds = %25933
  br label %25935

25935:                                            ; preds = %25934
  br label %25936

25936:                                            ; preds = %25935
  br label %25937

25937:                                            ; preds = %25936
  br label %25938

25938:                                            ; preds = %25937
  %25939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25939, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25940 = call ptr @__errno_location() #12
  store i32 0, ptr %25940, align 4, !tbaa !5
  br label %25941

25941:                                            ; preds = %25938
  br label %25942

25942:                                            ; preds = %25941
  br label %25943

25943:                                            ; preds = %25942
  br label %25944

25944:                                            ; preds = %25943
  br label %25945

25945:                                            ; preds = %25944
  br label %25946

25946:                                            ; preds = %25945
  br label %25947

25947:                                            ; preds = %25946
  %25948 = load i32, ptr @test_count, align 4, !tbaa !5
  %25949 = add nsw i32 %25948, 1
  store i32 %25949, ptr @test_count, align 4, !tbaa !5
  %25950 = load ptr, ptr %552, align 8, !tbaa !9
  %25951 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %25950, ptr noundef null, i16 noundef zeroext 1)
  %25952 = icmp eq i32 %25951, -1
  br i1 %25952, label %26006, label %25953

25953:                                            ; preds = %25947
  br label %25954

25954:                                            ; preds = %25953
  br label %25955

25955:                                            ; preds = %25954
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %25956 = call ptr @__errno_location() #12
  %25957 = load i32, ptr %25956, align 4, !tbaa !5
  store i32 %25957, ptr %557, align 4, !tbaa !5
  %25958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25959 = call i32 @s2n_print_stacktrace(ptr noundef %25958)
  %25960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25961 = trunc i8 %25960 to i1
  br i1 %25961, label %25962, label %25984

25962:                                            ; preds = %25955
  %25963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25964 = call i32 @fileno(ptr noundef %25963) #11
  %25965 = call i32 @isatty(i32 noundef %25964) #11
  %25966 = icmp ne i32 %25965, 0
  br i1 %25966, label %25967, label %25984

25967:                                            ; preds = %25962
  %25968 = load i32, ptr %557, align 4, !tbaa !5
  %25969 = call ptr @__errno_location() #12
  store i32 %25968, ptr %25969, align 4, !tbaa !5
  %25970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25971 = load i32, ptr @test_count, align 4, !tbaa !5
  %25972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25973 = load i32, ptr %25972, align 4, !tbaa !5
  %25974 = call ptr @s2n_strerror(i32 noundef %25973, ptr noundef @.str.4)
  %25975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25976 = load i32, ptr %25975, align 4, !tbaa !5
  %25977 = call ptr @s2n_strerror_debug(i32 noundef %25976, ptr noundef @.str.4)
  %25978 = call ptr @__errno_location() #12
  %25979 = load i32, ptr %25978, align 4, !tbaa !5
  %25980 = call ptr @strerror(i32 noundef %25979) #11
  %25981 = call ptr @__errno_location() #12
  %25982 = load i32, ptr %25981, align 4, !tbaa !5
  %25983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25970, ptr noundef @.str.2, i32 noundef %25971, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1082, ptr noundef %25974, ptr noundef %25977, ptr noundef %25980, i32 noundef %25982) #11
  br label %26001

25984:                                            ; preds = %25962, %25955
  %25985 = load i32, ptr %557, align 4, !tbaa !5
  %25986 = call ptr @__errno_location() #12
  store i32 %25985, ptr %25986, align 4, !tbaa !5
  %25987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25988 = load i32, ptr @test_count, align 4, !tbaa !5
  %25989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25990 = load i32, ptr %25989, align 4, !tbaa !5
  %25991 = call ptr @s2n_strerror(i32 noundef %25990, ptr noundef @.str.4)
  %25992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25993 = load i32, ptr %25992, align 4, !tbaa !5
  %25994 = call ptr @s2n_strerror_debug(i32 noundef %25993, ptr noundef @.str.4)
  %25995 = call ptr @__errno_location() #12
  %25996 = load i32, ptr %25995, align 4, !tbaa !5
  %25997 = call ptr @strerror(i32 noundef %25996) #11
  %25998 = call ptr @__errno_location() #12
  %25999 = load i32, ptr %25998, align 4, !tbaa !5
  %26000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25987, ptr noundef @.str.5, i32 noundef %25988, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1082, ptr noundef %25991, ptr noundef %25994, ptr noundef %25997, i32 noundef %25999) #11
  br label %26001

26001:                                            ; preds = %25984, %25967
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %26002

26002:                                            ; preds = %26001
  br label %26003

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

26004:                                            ; No predecessors!
  br label %26005

26005:                                            ; preds = %26004
  br label %26006

26006:                                            ; preds = %26005, %25947
  br label %26007

26007:                                            ; preds = %26006
  br label %26008

26008:                                            ; preds = %26007
  br label %26009

26009:                                            ; preds = %26008
  %26010 = load i32, ptr @test_count, align 4, !tbaa !5
  %26011 = add nsw i32 %26010, 1
  store i32 %26011, ptr @test_count, align 4, !tbaa !5
  %26012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26013 = load i32, ptr %26012, align 4, !tbaa !5
  %26014 = icmp eq i32 %26013, 402653193
  br i1 %26014, label %26068, label %26015

26015:                                            ; preds = %26009
  br label %26016

26016:                                            ; preds = %26015
  br label %26017

26017:                                            ; preds = %26016
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #11
  %26018 = call ptr @__errno_location() #12
  %26019 = load i32, ptr %26018, align 4, !tbaa !5
  store i32 %26019, ptr %558, align 4, !tbaa !5
  %26020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26021 = call i32 @s2n_print_stacktrace(ptr noundef %26020)
  %26022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26023 = trunc i8 %26022 to i1
  br i1 %26023, label %26024, label %26046

26024:                                            ; preds = %26017
  %26025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26026 = call i32 @fileno(ptr noundef %26025) #11
  %26027 = call i32 @isatty(i32 noundef %26026) #11
  %26028 = icmp ne i32 %26027, 0
  br i1 %26028, label %26029, label %26046

26029:                                            ; preds = %26024
  %26030 = load i32, ptr %558, align 4, !tbaa !5
  %26031 = call ptr @__errno_location() #12
  store i32 %26030, ptr %26031, align 4, !tbaa !5
  %26032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26033 = load i32, ptr @test_count, align 4, !tbaa !5
  %26034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26035 = load i32, ptr %26034, align 4, !tbaa !5
  %26036 = call ptr @s2n_strerror(i32 noundef %26035, ptr noundef @.str.4)
  %26037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26038 = load i32, ptr %26037, align 4, !tbaa !5
  %26039 = call ptr @s2n_strerror_debug(i32 noundef %26038, ptr noundef @.str.4)
  %26040 = call ptr @__errno_location() #12
  %26041 = load i32, ptr %26040, align 4, !tbaa !5
  %26042 = call ptr @strerror(i32 noundef %26041) #11
  %26043 = call ptr @__errno_location() #12
  %26044 = load i32, ptr %26043, align 4, !tbaa !5
  %26045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26032, ptr noundef @.str.2, i32 noundef %26033, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1082, ptr noundef %26036, ptr noundef %26039, ptr noundef %26042, i32 noundef %26044) #11
  br label %26063

26046:                                            ; preds = %26024, %26017
  %26047 = load i32, ptr %558, align 4, !tbaa !5
  %26048 = call ptr @__errno_location() #12
  store i32 %26047, ptr %26048, align 4, !tbaa !5
  %26049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26050 = load i32, ptr @test_count, align 4, !tbaa !5
  %26051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26052 = load i32, ptr %26051, align 4, !tbaa !5
  %26053 = call ptr @s2n_strerror(i32 noundef %26052, ptr noundef @.str.4)
  %26054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26055 = load i32, ptr %26054, align 4, !tbaa !5
  %26056 = call ptr @s2n_strerror_debug(i32 noundef %26055, ptr noundef @.str.4)
  %26057 = call ptr @__errno_location() #12
  %26058 = load i32, ptr %26057, align 4, !tbaa !5
  %26059 = call ptr @strerror(i32 noundef %26058) #11
  %26060 = call ptr @__errno_location() #12
  %26061 = load i32, ptr %26060, align 4, !tbaa !5
  %26062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26049, ptr noundef @.str.5, i32 noundef %26050, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1082, ptr noundef %26053, ptr noundef %26056, ptr noundef %26059, i32 noundef %26061) #11
  br label %26063

26063:                                            ; preds = %26046, %26029
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #11
  br label %26064

26064:                                            ; preds = %26063
  br label %26065

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

26066:                                            ; No predecessors!
  br label %26067

26067:                                            ; preds = %26066
  br label %26068

26068:                                            ; preds = %26067, %26009
  br label %26069

26069:                                            ; preds = %26068
  br label %26070

26070:                                            ; preds = %26069
  br label %26071

26071:                                            ; preds = %26070
  %26072 = load i32, ptr @test_count, align 4, !tbaa !5
  %26073 = add nsw i32 %26072, 1
  store i32 %26073, ptr @test_count, align 4, !tbaa !5
  %26074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26075 = load i32, ptr %26074, align 4, !tbaa !5
  %26076 = call ptr @s2n_strerror_debug(i32 noundef %26075, ptr noundef @.str.4)
  %26077 = icmp eq ptr %26076, null
  br i1 %26077, label %26078, label %26131

26078:                                            ; preds = %26071
  br label %26079

26079:                                            ; preds = %26078
  br label %26080

26080:                                            ; preds = %26079
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  %26081 = call ptr @__errno_location() #12
  %26082 = load i32, ptr %26081, align 4, !tbaa !5
  store i32 %26082, ptr %559, align 4, !tbaa !5
  %26083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26084 = call i32 @s2n_print_stacktrace(ptr noundef %26083)
  %26085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26086 = trunc i8 %26085 to i1
  br i1 %26086, label %26087, label %26109

26087:                                            ; preds = %26080
  %26088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26089 = call i32 @fileno(ptr noundef %26088) #11
  %26090 = call i32 @isatty(i32 noundef %26089) #11
  %26091 = icmp ne i32 %26090, 0
  br i1 %26091, label %26092, label %26109

26092:                                            ; preds = %26087
  %26093 = load i32, ptr %559, align 4, !tbaa !5
  %26094 = call ptr @__errno_location() #12
  store i32 %26093, ptr %26094, align 4, !tbaa !5
  %26095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26096 = load i32, ptr @test_count, align 4, !tbaa !5
  %26097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26098 = load i32, ptr %26097, align 4, !tbaa !5
  %26099 = call ptr @s2n_strerror(i32 noundef %26098, ptr noundef @.str.4)
  %26100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26101 = load i32, ptr %26100, align 4, !tbaa !5
  %26102 = call ptr @s2n_strerror_debug(i32 noundef %26101, ptr noundef @.str.4)
  %26103 = call ptr @__errno_location() #12
  %26104 = load i32, ptr %26103, align 4, !tbaa !5
  %26105 = call ptr @strerror(i32 noundef %26104) #11
  %26106 = call ptr @__errno_location() #12
  %26107 = load i32, ptr %26106, align 4, !tbaa !5
  %26108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26095, ptr noundef @.str.2, i32 noundef %26096, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1082, ptr noundef %26099, ptr noundef %26102, ptr noundef %26105, i32 noundef %26107) #11
  br label %26126

26109:                                            ; preds = %26087, %26080
  %26110 = load i32, ptr %559, align 4, !tbaa !5
  %26111 = call ptr @__errno_location() #12
  store i32 %26110, ptr %26111, align 4, !tbaa !5
  %26112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26113 = load i32, ptr @test_count, align 4, !tbaa !5
  %26114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26115 = load i32, ptr %26114, align 4, !tbaa !5
  %26116 = call ptr @s2n_strerror(i32 noundef %26115, ptr noundef @.str.4)
  %26117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26118 = load i32, ptr %26117, align 4, !tbaa !5
  %26119 = call ptr @s2n_strerror_debug(i32 noundef %26118, ptr noundef @.str.4)
  %26120 = call ptr @__errno_location() #12
  %26121 = load i32, ptr %26120, align 4, !tbaa !5
  %26122 = call ptr @strerror(i32 noundef %26121) #11
  %26123 = call ptr @__errno_location() #12
  %26124 = load i32, ptr %26123, align 4, !tbaa !5
  %26125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26112, ptr noundef @.str.5, i32 noundef %26113, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1082, ptr noundef %26116, ptr noundef %26119, ptr noundef %26122, i32 noundef %26124) #11
  br label %26126

26126:                                            ; preds = %26109, %26092
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  br label %26127

26127:                                            ; preds = %26126
  br label %26128

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

26129:                                            ; No predecessors!
  br label %26130

26130:                                            ; preds = %26129
  br label %26131

26131:                                            ; preds = %26130, %26071
  br label %26132

26132:                                            ; preds = %26131
  br label %26133

26133:                                            ; preds = %26132
  br label %26134

26134:                                            ; preds = %26133
  br label %26135

26135:                                            ; preds = %26134
  br label %26136

26136:                                            ; preds = %26135
  %26137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26137, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26138 = call ptr @__errno_location() #12
  store i32 0, ptr %26138, align 4, !tbaa !5
  br label %26139

26139:                                            ; preds = %26136
  br label %26140

26140:                                            ; preds = %26139
  br label %26141

26141:                                            ; preds = %26140
  br label %26142

26142:                                            ; preds = %26141
  br label %26143

26143:                                            ; preds = %26142
  %26144 = load i32, ptr @test_count, align 4, !tbaa !5
  %26145 = add nsw i32 %26144, 1
  store i32 %26145, ptr @test_count, align 4, !tbaa !5
  %26146 = load ptr, ptr %552, align 8, !tbaa !9
  %26147 = getelementptr inbounds %struct.s2n_connection, ptr %26146, i32 0, i32 91
  %26148 = getelementptr inbounds %struct.s2n_blob, ptr %26147, i32 0, i32 1
  %26149 = load i32, ptr %26148, align 8, !tbaa !87
  %26150 = icmp eq i32 %26149, 0
  br i1 %26150, label %26204, label %26151

26151:                                            ; preds = %26143
  br label %26152

26152:                                            ; preds = %26151
  br label %26153

26153:                                            ; preds = %26152
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #11
  %26154 = call ptr @__errno_location() #12
  %26155 = load i32, ptr %26154, align 4, !tbaa !5
  store i32 %26155, ptr %560, align 4, !tbaa !5
  %26156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26157 = call i32 @s2n_print_stacktrace(ptr noundef %26156)
  %26158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26159 = trunc i8 %26158 to i1
  br i1 %26159, label %26160, label %26182

26160:                                            ; preds = %26153
  %26161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26162 = call i32 @fileno(ptr noundef %26161) #11
  %26163 = call i32 @isatty(i32 noundef %26162) #11
  %26164 = icmp ne i32 %26163, 0
  br i1 %26164, label %26165, label %26182

26165:                                            ; preds = %26160
  %26166 = load i32, ptr %560, align 4, !tbaa !5
  %26167 = call ptr @__errno_location() #12
  store i32 %26166, ptr %26167, align 4, !tbaa !5
  %26168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26169 = load i32, ptr @test_count, align 4, !tbaa !5
  %26170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26171 = load i32, ptr %26170, align 4, !tbaa !5
  %26172 = call ptr @s2n_strerror(i32 noundef %26171, ptr noundef @.str.4)
  %26173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26174 = load i32, ptr %26173, align 4, !tbaa !5
  %26175 = call ptr @s2n_strerror_debug(i32 noundef %26174, ptr noundef @.str.4)
  %26176 = call ptr @__errno_location() #12
  %26177 = load i32, ptr %26176, align 4, !tbaa !5
  %26178 = call ptr @strerror(i32 noundef %26177) #11
  %26179 = call ptr @__errno_location() #12
  %26180 = load i32, ptr %26179, align 4, !tbaa !5
  %26181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26168, ptr noundef @.str.2, i32 noundef %26169, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %26172, ptr noundef %26175, ptr noundef %26178, i32 noundef %26180) #11
  br label %26199

26182:                                            ; preds = %26160, %26153
  %26183 = load i32, ptr %560, align 4, !tbaa !5
  %26184 = call ptr @__errno_location() #12
  store i32 %26183, ptr %26184, align 4, !tbaa !5
  %26185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26186 = load i32, ptr @test_count, align 4, !tbaa !5
  %26187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26188 = load i32, ptr %26187, align 4, !tbaa !5
  %26189 = call ptr @s2n_strerror(i32 noundef %26188, ptr noundef @.str.4)
  %26190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26191 = load i32, ptr %26190, align 4, !tbaa !5
  %26192 = call ptr @s2n_strerror_debug(i32 noundef %26191, ptr noundef @.str.4)
  %26193 = call ptr @__errno_location() #12
  %26194 = load i32, ptr %26193, align 4, !tbaa !5
  %26195 = call ptr @strerror(i32 noundef %26194) #11
  %26196 = call ptr @__errno_location() #12
  %26197 = load i32, ptr %26196, align 4, !tbaa !5
  %26198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26185, ptr noundef @.str.5, i32 noundef %26186, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %26189, ptr noundef %26192, ptr noundef %26195, i32 noundef %26197) #11
  br label %26199

26199:                                            ; preds = %26182, %26165
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #11
  br label %26200

26200:                                            ; preds = %26199
  br label %26201

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

26202:                                            ; No predecessors!
  br label %26203

26203:                                            ; preds = %26202
  br label %26204

26204:                                            ; preds = %26203, %26143
  br label %26205

26205:                                            ; preds = %26204
  br label %26206

26206:                                            ; preds = %26205
  br label %26207

26207:                                            ; preds = %26206
  %26208 = load i32, ptr @test_count, align 4, !tbaa !5
  %26209 = add nsw i32 %26208, 1
  store i32 %26209, ptr @test_count, align 4, !tbaa !5
  %26210 = load ptr, ptr %552, align 8, !tbaa !9
  %26211 = getelementptr inbounds %struct.s2n_connection, ptr %26210, i32 0, i32 91
  %26212 = getelementptr inbounds %struct.s2n_blob, ptr %26211, i32 0, i32 2
  %26213 = load i32, ptr %26212, align 4, !tbaa !88
  %26214 = icmp eq i32 %26213, 0
  br i1 %26214, label %26268, label %26215

26215:                                            ; preds = %26207
  br label %26216

26216:                                            ; preds = %26215
  br label %26217

26217:                                            ; preds = %26216
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %26218 = call ptr @__errno_location() #12
  %26219 = load i32, ptr %26218, align 4, !tbaa !5
  store i32 %26219, ptr %561, align 4, !tbaa !5
  %26220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26221 = call i32 @s2n_print_stacktrace(ptr noundef %26220)
  %26222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26223 = trunc i8 %26222 to i1
  br i1 %26223, label %26224, label %26246

26224:                                            ; preds = %26217
  %26225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26226 = call i32 @fileno(ptr noundef %26225) #11
  %26227 = call i32 @isatty(i32 noundef %26226) #11
  %26228 = icmp ne i32 %26227, 0
  br i1 %26228, label %26229, label %26246

26229:                                            ; preds = %26224
  %26230 = load i32, ptr %561, align 4, !tbaa !5
  %26231 = call ptr @__errno_location() #12
  store i32 %26230, ptr %26231, align 4, !tbaa !5
  %26232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26233 = load i32, ptr @test_count, align 4, !tbaa !5
  %26234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26235 = load i32, ptr %26234, align 4, !tbaa !5
  %26236 = call ptr @s2n_strerror(i32 noundef %26235, ptr noundef @.str.4)
  %26237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26238 = load i32, ptr %26237, align 4, !tbaa !5
  %26239 = call ptr @s2n_strerror_debug(i32 noundef %26238, ptr noundef @.str.4)
  %26240 = call ptr @__errno_location() #12
  %26241 = load i32, ptr %26240, align 4, !tbaa !5
  %26242 = call ptr @strerror(i32 noundef %26241) #11
  %26243 = call ptr @__errno_location() #12
  %26244 = load i32, ptr %26243, align 4, !tbaa !5
  %26245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26232, ptr noundef @.str.2, i32 noundef %26233, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %26236, ptr noundef %26239, ptr noundef %26242, i32 noundef %26244) #11
  br label %26263

26246:                                            ; preds = %26224, %26217
  %26247 = load i32, ptr %561, align 4, !tbaa !5
  %26248 = call ptr @__errno_location() #12
  store i32 %26247, ptr %26248, align 4, !tbaa !5
  %26249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26250 = load i32, ptr @test_count, align 4, !tbaa !5
  %26251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26252 = load i32, ptr %26251, align 4, !tbaa !5
  %26253 = call ptr @s2n_strerror(i32 noundef %26252, ptr noundef @.str.4)
  %26254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26255 = load i32, ptr %26254, align 4, !tbaa !5
  %26256 = call ptr @s2n_strerror_debug(i32 noundef %26255, ptr noundef @.str.4)
  %26257 = call ptr @__errno_location() #12
  %26258 = load i32, ptr %26257, align 4, !tbaa !5
  %26259 = call ptr @strerror(i32 noundef %26258) #11
  %26260 = call ptr @__errno_location() #12
  %26261 = load i32, ptr %26260, align 4, !tbaa !5
  %26262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26249, ptr noundef @.str.5, i32 noundef %26250, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %26253, ptr noundef %26256, ptr noundef %26259, i32 noundef %26261) #11
  br label %26263

26263:                                            ; preds = %26246, %26229
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %26264

26264:                                            ; preds = %26263
  br label %26265

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

26266:                                            ; No predecessors!
  br label %26267

26267:                                            ; preds = %26266
  br label %26268

26268:                                            ; preds = %26267, %26207
  br label %26269

26269:                                            ; preds = %26268
  br label %26270

26270:                                            ; preds = %26269
  br label %26271

26271:                                            ; preds = %26270
  %26272 = load i32, ptr @test_count, align 4, !tbaa !5
  %26273 = add nsw i32 %26272, 1
  store i32 %26273, ptr @test_count, align 4, !tbaa !5
  %26274 = load ptr, ptr %552, align 8, !tbaa !9
  %26275 = getelementptr inbounds [12 x i8], ptr %553, i64 0, i64 0
  %26276 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %26274, ptr noundef %26275, i16 noundef zeroext 12)
  %26277 = icmp eq i32 %26276, -1
  br i1 %26277, label %26278, label %26331

26278:                                            ; preds = %26271
  br label %26279

26279:                                            ; preds = %26278
  br label %26280

26280:                                            ; preds = %26279
  call void @llvm.lifetime.start.p0(i64 4, ptr %562) #11
  %26281 = call ptr @__errno_location() #12
  %26282 = load i32, ptr %26281, align 4, !tbaa !5
  store i32 %26282, ptr %562, align 4, !tbaa !5
  %26283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26284 = call i32 @s2n_print_stacktrace(ptr noundef %26283)
  %26285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26286 = trunc i8 %26285 to i1
  br i1 %26286, label %26287, label %26309

26287:                                            ; preds = %26280
  %26288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26289 = call i32 @fileno(ptr noundef %26288) #11
  %26290 = call i32 @isatty(i32 noundef %26289) #11
  %26291 = icmp ne i32 %26290, 0
  br i1 %26291, label %26292, label %26309

26292:                                            ; preds = %26287
  %26293 = load i32, ptr %562, align 4, !tbaa !5
  %26294 = call ptr @__errno_location() #12
  store i32 %26293, ptr %26294, align 4, !tbaa !5
  %26295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26296 = load i32, ptr @test_count, align 4, !tbaa !5
  %26297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26298 = load i32, ptr %26297, align 4, !tbaa !5
  %26299 = call ptr @s2n_strerror(i32 noundef %26298, ptr noundef @.str.4)
  %26300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26301 = load i32, ptr %26300, align 4, !tbaa !5
  %26302 = call ptr @s2n_strerror_debug(i32 noundef %26301, ptr noundef @.str.4)
  %26303 = call ptr @__errno_location() #12
  %26304 = load i32, ptr %26303, align 4, !tbaa !5
  %26305 = call ptr @strerror(i32 noundef %26304) #11
  %26306 = call ptr @__errno_location() #12
  %26307 = load i32, ptr %26306, align 4, !tbaa !5
  %26308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26295, ptr noundef @.str.2, i32 noundef %26296, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1087, ptr noundef %26299, ptr noundef %26302, ptr noundef %26305, i32 noundef %26307) #11
  br label %26326

26309:                                            ; preds = %26287, %26280
  %26310 = load i32, ptr %562, align 4, !tbaa !5
  %26311 = call ptr @__errno_location() #12
  store i32 %26310, ptr %26311, align 4, !tbaa !5
  %26312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26313 = load i32, ptr @test_count, align 4, !tbaa !5
  %26314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26315 = load i32, ptr %26314, align 4, !tbaa !5
  %26316 = call ptr @s2n_strerror(i32 noundef %26315, ptr noundef @.str.4)
  %26317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26318 = load i32, ptr %26317, align 4, !tbaa !5
  %26319 = call ptr @s2n_strerror_debug(i32 noundef %26318, ptr noundef @.str.4)
  %26320 = call ptr @__errno_location() #12
  %26321 = load i32, ptr %26320, align 4, !tbaa !5
  %26322 = call ptr @strerror(i32 noundef %26321) #11
  %26323 = call ptr @__errno_location() #12
  %26324 = load i32, ptr %26323, align 4, !tbaa !5
  %26325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26312, ptr noundef @.str.5, i32 noundef %26313, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1087, ptr noundef %26316, ptr noundef %26319, ptr noundef %26322, i32 noundef %26324) #11
  br label %26326

26326:                                            ; preds = %26309, %26292
  call void @llvm.lifetime.end.p0(i64 4, ptr %562) #11
  br label %26327

26327:                                            ; preds = %26326
  br label %26328

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

26329:                                            ; No predecessors!
  br label %26330

26330:                                            ; preds = %26329
  br label %26331

26331:                                            ; preds = %26330, %26271
  br label %26332

26332:                                            ; preds = %26331
  br label %26333

26333:                                            ; preds = %26332
  br label %26334

26334:                                            ; preds = %26333
  %26335 = load i32, ptr @test_count, align 4, !tbaa !5
  %26336 = add nsw i32 %26335, 1
  store i32 %26336, ptr @test_count, align 4, !tbaa !5
  %26337 = load ptr, ptr %552, align 8, !tbaa !9
  %26338 = getelementptr inbounds %struct.s2n_connection, ptr %26337, i32 0, i32 91
  %26339 = getelementptr inbounds %struct.s2n_blob, ptr %26338, i32 0, i32 1
  %26340 = load i32, ptr %26339, align 8, !tbaa !87
  %26341 = zext i32 %26340 to i64
  %26342 = icmp eq i64 %26341, 12
  br i1 %26342, label %26396, label %26343

26343:                                            ; preds = %26334
  br label %26344

26344:                                            ; preds = %26343
  br label %26345

26345:                                            ; preds = %26344
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #11
  %26346 = call ptr @__errno_location() #12
  %26347 = load i32, ptr %26346, align 4, !tbaa !5
  store i32 %26347, ptr %563, align 4, !tbaa !5
  %26348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26349 = call i32 @s2n_print_stacktrace(ptr noundef %26348)
  %26350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26351 = trunc i8 %26350 to i1
  br i1 %26351, label %26352, label %26374

26352:                                            ; preds = %26345
  %26353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26354 = call i32 @fileno(ptr noundef %26353) #11
  %26355 = call i32 @isatty(i32 noundef %26354) #11
  %26356 = icmp ne i32 %26355, 0
  br i1 %26356, label %26357, label %26374

26357:                                            ; preds = %26352
  %26358 = load i32, ptr %563, align 4, !tbaa !5
  %26359 = call ptr @__errno_location() #12
  store i32 %26358, ptr %26359, align 4, !tbaa !5
  %26360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26361 = load i32, ptr @test_count, align 4, !tbaa !5
  %26362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26363 = load i32, ptr %26362, align 4, !tbaa !5
  %26364 = call ptr @s2n_strerror(i32 noundef %26363, ptr noundef @.str.4)
  %26365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26366 = load i32, ptr %26365, align 4, !tbaa !5
  %26367 = call ptr @s2n_strerror_debug(i32 noundef %26366, ptr noundef @.str.4)
  %26368 = call ptr @__errno_location() #12
  %26369 = load i32, ptr %26368, align 4, !tbaa !5
  %26370 = call ptr @strerror(i32 noundef %26369) #11
  %26371 = call ptr @__errno_location() #12
  %26372 = load i32, ptr %26371, align 4, !tbaa !5
  %26373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26360, ptr noundef @.str.2, i32 noundef %26361, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 1088, ptr noundef %26364, ptr noundef %26367, ptr noundef %26370, i32 noundef %26372) #11
  br label %26391

26374:                                            ; preds = %26352, %26345
  %26375 = load i32, ptr %563, align 4, !tbaa !5
  %26376 = call ptr @__errno_location() #12
  store i32 %26375, ptr %26376, align 4, !tbaa !5
  %26377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26378 = load i32, ptr @test_count, align 4, !tbaa !5
  %26379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26380 = load i32, ptr %26379, align 4, !tbaa !5
  %26381 = call ptr @s2n_strerror(i32 noundef %26380, ptr noundef @.str.4)
  %26382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26383 = load i32, ptr %26382, align 4, !tbaa !5
  %26384 = call ptr @s2n_strerror_debug(i32 noundef %26383, ptr noundef @.str.4)
  %26385 = call ptr @__errno_location() #12
  %26386 = load i32, ptr %26385, align 4, !tbaa !5
  %26387 = call ptr @strerror(i32 noundef %26386) #11
  %26388 = call ptr @__errno_location() #12
  %26389 = load i32, ptr %26388, align 4, !tbaa !5
  %26390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26377, ptr noundef @.str.5, i32 noundef %26378, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 1088, ptr noundef %26381, ptr noundef %26384, ptr noundef %26387, i32 noundef %26389) #11
  br label %26391

26391:                                            ; preds = %26374, %26357
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #11
  br label %26392

26392:                                            ; preds = %26391
  br label %26393

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

26394:                                            ; No predecessors!
  br label %26395

26395:                                            ; preds = %26394
  br label %26396

26396:                                            ; preds = %26395, %26334
  br label %26397

26397:                                            ; preds = %26396
  br label %26398

26398:                                            ; preds = %26397
  br label %26399

26399:                                            ; preds = %26398
  br label %26400

26400:                                            ; preds = %26399
  %26401 = load i32, ptr @test_count, align 4, !tbaa !5
  %26402 = add nsw i32 %26401, 1
  store i32 %26402, ptr @test_count, align 4, !tbaa !5
  %26403 = load ptr, ptr %552, align 8, !tbaa !9
  %26404 = getelementptr inbounds %struct.s2n_connection, ptr %26403, i32 0, i32 91
  %26405 = getelementptr inbounds %struct.s2n_blob, ptr %26404, i32 0, i32 0
  %26406 = load ptr, ptr %26405, align 8, !tbaa !89
  %26407 = getelementptr inbounds [12 x i8], ptr %553, i64 0, i64 0
  %26408 = call i32 @memcmp(ptr noundef %26406, ptr noundef %26407, i64 noundef 12) #14
  %26409 = icmp eq i32 %26408, 0
  br i1 %26409, label %26463, label %26410

26410:                                            ; preds = %26400
  br label %26411

26411:                                            ; preds = %26410
  br label %26412

26412:                                            ; preds = %26411
  call void @llvm.lifetime.start.p0(i64 4, ptr %564) #11
  %26413 = call ptr @__errno_location() #12
  %26414 = load i32, ptr %26413, align 4, !tbaa !5
  store i32 %26414, ptr %564, align 4, !tbaa !5
  %26415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26416 = call i32 @s2n_print_stacktrace(ptr noundef %26415)
  %26417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26418 = trunc i8 %26417 to i1
  br i1 %26418, label %26419, label %26441

26419:                                            ; preds = %26412
  %26420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26421 = call i32 @fileno(ptr noundef %26420) #11
  %26422 = call i32 @isatty(i32 noundef %26421) #11
  %26423 = icmp ne i32 %26422, 0
  br i1 %26423, label %26424, label %26441

26424:                                            ; preds = %26419
  %26425 = load i32, ptr %564, align 4, !tbaa !5
  %26426 = call ptr @__errno_location() #12
  store i32 %26425, ptr %26426, align 4, !tbaa !5
  %26427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26428 = load i32, ptr @test_count, align 4, !tbaa !5
  %26429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26430 = load i32, ptr %26429, align 4, !tbaa !5
  %26431 = call ptr @s2n_strerror(i32 noundef %26430, ptr noundef @.str.4)
  %26432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26433 = load i32, ptr %26432, align 4, !tbaa !5
  %26434 = call ptr @s2n_strerror_debug(i32 noundef %26433, ptr noundef @.str.4)
  %26435 = call ptr @__errno_location() #12
  %26436 = load i32, ptr %26435, align 4, !tbaa !5
  %26437 = call ptr @strerror(i32 noundef %26436) #11
  %26438 = call ptr @__errno_location() #12
  %26439 = load i32, ptr %26438, align 4, !tbaa !5
  %26440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26427, ptr noundef @.str.2, i32 noundef %26428, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1089, ptr noundef %26431, ptr noundef %26434, ptr noundef %26437, i32 noundef %26439) #11
  br label %26458

26441:                                            ; preds = %26419, %26412
  %26442 = load i32, ptr %564, align 4, !tbaa !5
  %26443 = call ptr @__errno_location() #12
  store i32 %26442, ptr %26443, align 4, !tbaa !5
  %26444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26445 = load i32, ptr @test_count, align 4, !tbaa !5
  %26446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26447 = load i32, ptr %26446, align 4, !tbaa !5
  %26448 = call ptr @s2n_strerror(i32 noundef %26447, ptr noundef @.str.4)
  %26449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26450 = load i32, ptr %26449, align 4, !tbaa !5
  %26451 = call ptr @s2n_strerror_debug(i32 noundef %26450, ptr noundef @.str.4)
  %26452 = call ptr @__errno_location() #12
  %26453 = load i32, ptr %26452, align 4, !tbaa !5
  %26454 = call ptr @strerror(i32 noundef %26453) #11
  %26455 = call ptr @__errno_location() #12
  %26456 = load i32, ptr %26455, align 4, !tbaa !5
  %26457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26444, ptr noundef @.str.5, i32 noundef %26445, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1089, ptr noundef %26448, ptr noundef %26451, ptr noundef %26454, i32 noundef %26456) #11
  br label %26458

26458:                                            ; preds = %26441, %26424
  call void @llvm.lifetime.end.p0(i64 4, ptr %564) #11
  br label %26459

26459:                                            ; preds = %26458
  br label %26460

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

26461:                                            ; No predecessors!
  br label %26462

26462:                                            ; preds = %26461
  br label %26463

26463:                                            ; preds = %26462, %26400
  br label %26464

26464:                                            ; preds = %26463
  br label %26465

26465:                                            ; preds = %26464
  br label %26466

26466:                                            ; preds = %26465
  br label %26467

26467:                                            ; preds = %26466
  br label %26468

26468:                                            ; preds = %26467
  %26469 = load i32, ptr @test_count, align 4, !tbaa !5
  %26470 = add nsw i32 %26469, 1
  store i32 %26470, ptr @test_count, align 4, !tbaa !5
  %26471 = load ptr, ptr %552, align 8, !tbaa !9
  %26472 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %26471, ptr noundef null, i16 noundef zeroext 0)
  %26473 = icmp eq i32 %26472, -1
  br i1 %26473, label %26474, label %26527

26474:                                            ; preds = %26468
  br label %26475

26475:                                            ; preds = %26474
  br label %26476

26476:                                            ; preds = %26475
  call void @llvm.lifetime.start.p0(i64 4, ptr %565) #11
  %26477 = call ptr @__errno_location() #12
  %26478 = load i32, ptr %26477, align 4, !tbaa !5
  store i32 %26478, ptr %565, align 4, !tbaa !5
  %26479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26480 = call i32 @s2n_print_stacktrace(ptr noundef %26479)
  %26481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26482 = trunc i8 %26481 to i1
  br i1 %26482, label %26483, label %26505

26483:                                            ; preds = %26476
  %26484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26485 = call i32 @fileno(ptr noundef %26484) #11
  %26486 = call i32 @isatty(i32 noundef %26485) #11
  %26487 = icmp ne i32 %26486, 0
  br i1 %26487, label %26488, label %26505

26488:                                            ; preds = %26483
  %26489 = load i32, ptr %565, align 4, !tbaa !5
  %26490 = call ptr @__errno_location() #12
  store i32 %26489, ptr %26490, align 4, !tbaa !5
  %26491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26492 = load i32, ptr @test_count, align 4, !tbaa !5
  %26493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26494 = load i32, ptr %26493, align 4, !tbaa !5
  %26495 = call ptr @s2n_strerror(i32 noundef %26494, ptr noundef @.str.4)
  %26496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26497 = load i32, ptr %26496, align 4, !tbaa !5
  %26498 = call ptr @s2n_strerror_debug(i32 noundef %26497, ptr noundef @.str.4)
  %26499 = call ptr @__errno_location() #12
  %26500 = load i32, ptr %26499, align 4, !tbaa !5
  %26501 = call ptr @strerror(i32 noundef %26500) #11
  %26502 = call ptr @__errno_location() #12
  %26503 = load i32, ptr %26502, align 4, !tbaa !5
  %26504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26491, ptr noundef @.str.2, i32 noundef %26492, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 1092, ptr noundef %26495, ptr noundef %26498, ptr noundef %26501, i32 noundef %26503) #11
  br label %26522

26505:                                            ; preds = %26483, %26476
  %26506 = load i32, ptr %565, align 4, !tbaa !5
  %26507 = call ptr @__errno_location() #12
  store i32 %26506, ptr %26507, align 4, !tbaa !5
  %26508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26509 = load i32, ptr @test_count, align 4, !tbaa !5
  %26510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26511 = load i32, ptr %26510, align 4, !tbaa !5
  %26512 = call ptr @s2n_strerror(i32 noundef %26511, ptr noundef @.str.4)
  %26513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26514 = load i32, ptr %26513, align 4, !tbaa !5
  %26515 = call ptr @s2n_strerror_debug(i32 noundef %26514, ptr noundef @.str.4)
  %26516 = call ptr @__errno_location() #12
  %26517 = load i32, ptr %26516, align 4, !tbaa !5
  %26518 = call ptr @strerror(i32 noundef %26517) #11
  %26519 = call ptr @__errno_location() #12
  %26520 = load i32, ptr %26519, align 4, !tbaa !5
  %26521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26508, ptr noundef @.str.5, i32 noundef %26509, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 1092, ptr noundef %26512, ptr noundef %26515, ptr noundef %26518, i32 noundef %26520) #11
  br label %26522

26522:                                            ; preds = %26505, %26488
  call void @llvm.lifetime.end.p0(i64 4, ptr %565) #11
  br label %26523

26523:                                            ; preds = %26522
  br label %26524

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

26525:                                            ; No predecessors!
  br label %26526

26526:                                            ; preds = %26525
  br label %26527

26527:                                            ; preds = %26526, %26468
  br label %26528

26528:                                            ; preds = %26527
  br label %26529

26529:                                            ; preds = %26528
  br label %26530

26530:                                            ; preds = %26529
  %26531 = load i32, ptr @test_count, align 4, !tbaa !5
  %26532 = add nsw i32 %26531, 1
  store i32 %26532, ptr @test_count, align 4, !tbaa !5
  %26533 = load ptr, ptr %552, align 8, !tbaa !9
  %26534 = getelementptr inbounds %struct.s2n_connection, ptr %26533, i32 0, i32 91
  %26535 = getelementptr inbounds %struct.s2n_blob, ptr %26534, i32 0, i32 1
  %26536 = load i32, ptr %26535, align 8, !tbaa !87
  %26537 = icmp eq i32 %26536, 0
  br i1 %26537, label %26591, label %26538

26538:                                            ; preds = %26530
  br label %26539

26539:                                            ; preds = %26538
  br label %26540

26540:                                            ; preds = %26539
  call void @llvm.lifetime.start.p0(i64 4, ptr %566) #11
  %26541 = call ptr @__errno_location() #12
  %26542 = load i32, ptr %26541, align 4, !tbaa !5
  store i32 %26542, ptr %566, align 4, !tbaa !5
  %26543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26544 = call i32 @s2n_print_stacktrace(ptr noundef %26543)
  %26545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26546 = trunc i8 %26545 to i1
  br i1 %26546, label %26547, label %26569

26547:                                            ; preds = %26540
  %26548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26549 = call i32 @fileno(ptr noundef %26548) #11
  %26550 = call i32 @isatty(i32 noundef %26549) #11
  %26551 = icmp ne i32 %26550, 0
  br i1 %26551, label %26552, label %26569

26552:                                            ; preds = %26547
  %26553 = load i32, ptr %566, align 4, !tbaa !5
  %26554 = call ptr @__errno_location() #12
  store i32 %26553, ptr %26554, align 4, !tbaa !5
  %26555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26556 = load i32, ptr @test_count, align 4, !tbaa !5
  %26557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26558 = load i32, ptr %26557, align 4, !tbaa !5
  %26559 = call ptr @s2n_strerror(i32 noundef %26558, ptr noundef @.str.4)
  %26560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26561 = load i32, ptr %26560, align 4, !tbaa !5
  %26562 = call ptr @s2n_strerror_debug(i32 noundef %26561, ptr noundef @.str.4)
  %26563 = call ptr @__errno_location() #12
  %26564 = load i32, ptr %26563, align 4, !tbaa !5
  %26565 = call ptr @strerror(i32 noundef %26564) #11
  %26566 = call ptr @__errno_location() #12
  %26567 = load i32, ptr %26566, align 4, !tbaa !5
  %26568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26555, ptr noundef @.str.2, i32 noundef %26556, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %26559, ptr noundef %26562, ptr noundef %26565, i32 noundef %26567) #11
  br label %26586

26569:                                            ; preds = %26547, %26540
  %26570 = load i32, ptr %566, align 4, !tbaa !5
  %26571 = call ptr @__errno_location() #12
  store i32 %26570, ptr %26571, align 4, !tbaa !5
  %26572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26573 = load i32, ptr @test_count, align 4, !tbaa !5
  %26574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26575 = load i32, ptr %26574, align 4, !tbaa !5
  %26576 = call ptr @s2n_strerror(i32 noundef %26575, ptr noundef @.str.4)
  %26577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26578 = load i32, ptr %26577, align 4, !tbaa !5
  %26579 = call ptr @s2n_strerror_debug(i32 noundef %26578, ptr noundef @.str.4)
  %26580 = call ptr @__errno_location() #12
  %26581 = load i32, ptr %26580, align 4, !tbaa !5
  %26582 = call ptr @strerror(i32 noundef %26581) #11
  %26583 = call ptr @__errno_location() #12
  %26584 = load i32, ptr %26583, align 4, !tbaa !5
  %26585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26572, ptr noundef @.str.5, i32 noundef %26573, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %26576, ptr noundef %26579, ptr noundef %26582, i32 noundef %26584) #11
  br label %26586

26586:                                            ; preds = %26569, %26552
  call void @llvm.lifetime.end.p0(i64 4, ptr %566) #11
  br label %26587

26587:                                            ; preds = %26586
  br label %26588

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

26589:                                            ; No predecessors!
  br label %26590

26590:                                            ; preds = %26589
  br label %26591

26591:                                            ; preds = %26590, %26530
  br label %26592

26592:                                            ; preds = %26591
  br label %26593

26593:                                            ; preds = %26592
  br label %26594

26594:                                            ; preds = %26593
  %26595 = load i32, ptr @test_count, align 4, !tbaa !5
  %26596 = add nsw i32 %26595, 1
  store i32 %26596, ptr @test_count, align 4, !tbaa !5
  %26597 = load ptr, ptr %552, align 8, !tbaa !9
  %26598 = getelementptr inbounds [12 x i8], ptr %553, i64 0, i64 0
  %26599 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %26597, ptr noundef %26598, i16 noundef zeroext 1)
  %26600 = icmp eq i32 %26599, -1
  br i1 %26600, label %26601, label %26654

26601:                                            ; preds = %26594
  br label %26602

26602:                                            ; preds = %26601
  br label %26603

26603:                                            ; preds = %26602
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #11
  %26604 = call ptr @__errno_location() #12
  %26605 = load i32, ptr %26604, align 4, !tbaa !5
  store i32 %26605, ptr %567, align 4, !tbaa !5
  %26606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26607 = call i32 @s2n_print_stacktrace(ptr noundef %26606)
  %26608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26609 = trunc i8 %26608 to i1
  br i1 %26609, label %26610, label %26632

26610:                                            ; preds = %26603
  %26611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26612 = call i32 @fileno(ptr noundef %26611) #11
  %26613 = call i32 @isatty(i32 noundef %26612) #11
  %26614 = icmp ne i32 %26613, 0
  br i1 %26614, label %26615, label %26632

26615:                                            ; preds = %26610
  %26616 = load i32, ptr %567, align 4, !tbaa !5
  %26617 = call ptr @__errno_location() #12
  store i32 %26616, ptr %26617, align 4, !tbaa !5
  %26618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26619 = load i32, ptr @test_count, align 4, !tbaa !5
  %26620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26621 = load i32, ptr %26620, align 4, !tbaa !5
  %26622 = call ptr @s2n_strerror(i32 noundef %26621, ptr noundef @.str.4)
  %26623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26624 = load i32, ptr %26623, align 4, !tbaa !5
  %26625 = call ptr @s2n_strerror_debug(i32 noundef %26624, ptr noundef @.str.4)
  %26626 = call ptr @__errno_location() #12
  %26627 = load i32, ptr %26626, align 4, !tbaa !5
  %26628 = call ptr @strerror(i32 noundef %26627) #11
  %26629 = call ptr @__errno_location() #12
  %26630 = load i32, ptr %26629, align 4, !tbaa !5
  %26631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26618, ptr noundef @.str.2, i32 noundef %26619, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1096, ptr noundef %26622, ptr noundef %26625, ptr noundef %26628, i32 noundef %26630) #11
  br label %26649

26632:                                            ; preds = %26610, %26603
  %26633 = load i32, ptr %567, align 4, !tbaa !5
  %26634 = call ptr @__errno_location() #12
  store i32 %26633, ptr %26634, align 4, !tbaa !5
  %26635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26636 = load i32, ptr @test_count, align 4, !tbaa !5
  %26637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26638 = load i32, ptr %26637, align 4, !tbaa !5
  %26639 = call ptr @s2n_strerror(i32 noundef %26638, ptr noundef @.str.4)
  %26640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26641 = load i32, ptr %26640, align 4, !tbaa !5
  %26642 = call ptr @s2n_strerror_debug(i32 noundef %26641, ptr noundef @.str.4)
  %26643 = call ptr @__errno_location() #12
  %26644 = load i32, ptr %26643, align 4, !tbaa !5
  %26645 = call ptr @strerror(i32 noundef %26644) #11
  %26646 = call ptr @__errno_location() #12
  %26647 = load i32, ptr %26646, align 4, !tbaa !5
  %26648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26635, ptr noundef @.str.5, i32 noundef %26636, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1096, ptr noundef %26639, ptr noundef %26642, ptr noundef %26645, i32 noundef %26647) #11
  br label %26649

26649:                                            ; preds = %26632, %26615
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #11
  br label %26650

26650:                                            ; preds = %26649
  br label %26651

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

26652:                                            ; No predecessors!
  br label %26653

26653:                                            ; preds = %26652
  br label %26654

26654:                                            ; preds = %26653, %26594
  br label %26655

26655:                                            ; preds = %26654
  br label %26656

26656:                                            ; preds = %26655
  br label %26657

26657:                                            ; preds = %26656
  %26658 = load i32, ptr @test_count, align 4, !tbaa !5
  %26659 = add nsw i32 %26658, 1
  store i32 %26659, ptr @test_count, align 4, !tbaa !5
  %26660 = load ptr, ptr %552, align 8, !tbaa !9
  %26661 = getelementptr inbounds %struct.s2n_connection, ptr %26660, i32 0, i32 91
  %26662 = getelementptr inbounds %struct.s2n_blob, ptr %26661, i32 0, i32 1
  %26663 = load i32, ptr %26662, align 8, !tbaa !87
  %26664 = icmp eq i32 %26663, 1
  br i1 %26664, label %26718, label %26665

26665:                                            ; preds = %26657
  br label %26666

26666:                                            ; preds = %26665
  br label %26667

26667:                                            ; preds = %26666
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #11
  %26668 = call ptr @__errno_location() #12
  %26669 = load i32, ptr %26668, align 4, !tbaa !5
  store i32 %26669, ptr %568, align 4, !tbaa !5
  %26670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26671 = call i32 @s2n_print_stacktrace(ptr noundef %26670)
  %26672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26673 = trunc i8 %26672 to i1
  br i1 %26673, label %26674, label %26696

26674:                                            ; preds = %26667
  %26675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26676 = call i32 @fileno(ptr noundef %26675) #11
  %26677 = call i32 @isatty(i32 noundef %26676) #11
  %26678 = icmp ne i32 %26677, 0
  br i1 %26678, label %26679, label %26696

26679:                                            ; preds = %26674
  %26680 = load i32, ptr %568, align 4, !tbaa !5
  %26681 = call ptr @__errno_location() #12
  store i32 %26680, ptr %26681, align 4, !tbaa !5
  %26682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26683 = load i32, ptr @test_count, align 4, !tbaa !5
  %26684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26685 = load i32, ptr %26684, align 4, !tbaa !5
  %26686 = call ptr @s2n_strerror(i32 noundef %26685, ptr noundef @.str.4)
  %26687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26688 = load i32, ptr %26687, align 4, !tbaa !5
  %26689 = call ptr @s2n_strerror_debug(i32 noundef %26688, ptr noundef @.str.4)
  %26690 = call ptr @__errno_location() #12
  %26691 = load i32, ptr %26690, align 4, !tbaa !5
  %26692 = call ptr @strerror(i32 noundef %26691) #11
  %26693 = call ptr @__errno_location() #12
  %26694 = load i32, ptr %26693, align 4, !tbaa !5
  %26695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26682, ptr noundef @.str.2, i32 noundef %26683, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 1097, ptr noundef %26686, ptr noundef %26689, ptr noundef %26692, i32 noundef %26694) #11
  br label %26713

26696:                                            ; preds = %26674, %26667
  %26697 = load i32, ptr %568, align 4, !tbaa !5
  %26698 = call ptr @__errno_location() #12
  store i32 %26697, ptr %26698, align 4, !tbaa !5
  %26699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26700 = load i32, ptr @test_count, align 4, !tbaa !5
  %26701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26702 = load i32, ptr %26701, align 4, !tbaa !5
  %26703 = call ptr @s2n_strerror(i32 noundef %26702, ptr noundef @.str.4)
  %26704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26705 = load i32, ptr %26704, align 4, !tbaa !5
  %26706 = call ptr @s2n_strerror_debug(i32 noundef %26705, ptr noundef @.str.4)
  %26707 = call ptr @__errno_location() #12
  %26708 = load i32, ptr %26707, align 4, !tbaa !5
  %26709 = call ptr @strerror(i32 noundef %26708) #11
  %26710 = call ptr @__errno_location() #12
  %26711 = load i32, ptr %26710, align 4, !tbaa !5
  %26712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26699, ptr noundef @.str.5, i32 noundef %26700, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 1097, ptr noundef %26703, ptr noundef %26706, ptr noundef %26709, i32 noundef %26711) #11
  br label %26713

26713:                                            ; preds = %26696, %26679
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #11
  br label %26714

26714:                                            ; preds = %26713
  br label %26715

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

26716:                                            ; No predecessors!
  br label %26717

26717:                                            ; preds = %26716
  br label %26718

26718:                                            ; preds = %26717, %26657
  br label %26719

26719:                                            ; preds = %26718
  br label %26720

26720:                                            ; preds = %26719
  br label %26721

26721:                                            ; preds = %26720
  br label %26722

26722:                                            ; preds = %26721
  %26723 = load i32, ptr @test_count, align 4, !tbaa !5
  %26724 = add nsw i32 %26723, 1
  store i32 %26724, ptr @test_count, align 4, !tbaa !5
  %26725 = load ptr, ptr %552, align 8, !tbaa !9
  %26726 = getelementptr inbounds %struct.s2n_connection, ptr %26725, i32 0, i32 91
  %26727 = getelementptr inbounds %struct.s2n_blob, ptr %26726, i32 0, i32 0
  %26728 = load ptr, ptr %26727, align 8, !tbaa !89
  %26729 = getelementptr inbounds [12 x i8], ptr %553, i64 0, i64 0
  %26730 = call i32 @memcmp(ptr noundef %26728, ptr noundef %26729, i64 noundef 1) #14
  %26731 = icmp eq i32 %26730, 0
  br i1 %26731, label %26785, label %26732

26732:                                            ; preds = %26722
  br label %26733

26733:                                            ; preds = %26732
  br label %26734

26734:                                            ; preds = %26733
  call void @llvm.lifetime.start.p0(i64 4, ptr %569) #11
  %26735 = call ptr @__errno_location() #12
  %26736 = load i32, ptr %26735, align 4, !tbaa !5
  store i32 %26736, ptr %569, align 4, !tbaa !5
  %26737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26738 = call i32 @s2n_print_stacktrace(ptr noundef %26737)
  %26739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26740 = trunc i8 %26739 to i1
  br i1 %26740, label %26741, label %26763

26741:                                            ; preds = %26734
  %26742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26743 = call i32 @fileno(ptr noundef %26742) #11
  %26744 = call i32 @isatty(i32 noundef %26743) #11
  %26745 = icmp ne i32 %26744, 0
  br i1 %26745, label %26746, label %26763

26746:                                            ; preds = %26741
  %26747 = load i32, ptr %569, align 4, !tbaa !5
  %26748 = call ptr @__errno_location() #12
  store i32 %26747, ptr %26748, align 4, !tbaa !5
  %26749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26750 = load i32, ptr @test_count, align 4, !tbaa !5
  %26751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26752 = load i32, ptr %26751, align 4, !tbaa !5
  %26753 = call ptr @s2n_strerror(i32 noundef %26752, ptr noundef @.str.4)
  %26754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26755 = load i32, ptr %26754, align 4, !tbaa !5
  %26756 = call ptr @s2n_strerror_debug(i32 noundef %26755, ptr noundef @.str.4)
  %26757 = call ptr @__errno_location() #12
  %26758 = load i32, ptr %26757, align 4, !tbaa !5
  %26759 = call ptr @strerror(i32 noundef %26758) #11
  %26760 = call ptr @__errno_location() #12
  %26761 = load i32, ptr %26760, align 4, !tbaa !5
  %26762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26749, ptr noundef @.str.2, i32 noundef %26750, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 1098, ptr noundef %26753, ptr noundef %26756, ptr noundef %26759, i32 noundef %26761) #11
  br label %26780

26763:                                            ; preds = %26741, %26734
  %26764 = load i32, ptr %569, align 4, !tbaa !5
  %26765 = call ptr @__errno_location() #12
  store i32 %26764, ptr %26765, align 4, !tbaa !5
  %26766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26767 = load i32, ptr @test_count, align 4, !tbaa !5
  %26768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26769 = load i32, ptr %26768, align 4, !tbaa !5
  %26770 = call ptr @s2n_strerror(i32 noundef %26769, ptr noundef @.str.4)
  %26771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26772 = load i32, ptr %26771, align 4, !tbaa !5
  %26773 = call ptr @s2n_strerror_debug(i32 noundef %26772, ptr noundef @.str.4)
  %26774 = call ptr @__errno_location() #12
  %26775 = load i32, ptr %26774, align 4, !tbaa !5
  %26776 = call ptr @strerror(i32 noundef %26775) #11
  %26777 = call ptr @__errno_location() #12
  %26778 = load i32, ptr %26777, align 4, !tbaa !5
  %26779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26766, ptr noundef @.str.5, i32 noundef %26767, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 1098, ptr noundef %26770, ptr noundef %26773, ptr noundef %26776, i32 noundef %26778) #11
  br label %26780

26780:                                            ; preds = %26763, %26746
  call void @llvm.lifetime.end.p0(i64 4, ptr %569) #11
  br label %26781

26781:                                            ; preds = %26780
  br label %26782

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

26783:                                            ; No predecessors!
  br label %26784

26784:                                            ; preds = %26783
  br label %26785

26785:                                            ; preds = %26784, %26722
  br label %26786

26786:                                            ; preds = %26785
  br label %26787

26787:                                            ; preds = %26786
  br label %26788

26788:                                            ; preds = %26787
  br label %26789

26789:                                            ; preds = %26788
  br label %26790

26790:                                            ; preds = %26789
  %26791 = load i32, ptr @test_count, align 4, !tbaa !5
  %26792 = add nsw i32 %26791, 1
  store i32 %26792, ptr @test_count, align 4, !tbaa !5
  %26793 = load ptr, ptr %552, align 8, !tbaa !9
  %26794 = call i32 @s2n_connection_free(ptr noundef %26793)
  %26795 = icmp eq i32 %26794, -1
  br i1 %26795, label %26796, label %26849

26796:                                            ; preds = %26790
  br label %26797

26797:                                            ; preds = %26796
  br label %26798

26798:                                            ; preds = %26797
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #11
  %26799 = call ptr @__errno_location() #12
  %26800 = load i32, ptr %26799, align 4, !tbaa !5
  store i32 %26800, ptr %570, align 4, !tbaa !5
  %26801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26802 = call i32 @s2n_print_stacktrace(ptr noundef %26801)
  %26803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26804 = trunc i8 %26803 to i1
  br i1 %26804, label %26805, label %26827

26805:                                            ; preds = %26798
  %26806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26807 = call i32 @fileno(ptr noundef %26806) #11
  %26808 = call i32 @isatty(i32 noundef %26807) #11
  %26809 = icmp ne i32 %26808, 0
  br i1 %26809, label %26810, label %26827

26810:                                            ; preds = %26805
  %26811 = load i32, ptr %570, align 4, !tbaa !5
  %26812 = call ptr @__errno_location() #12
  store i32 %26811, ptr %26812, align 4, !tbaa !5
  %26813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26814 = load i32, ptr @test_count, align 4, !tbaa !5
  %26815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26816 = load i32, ptr %26815, align 4, !tbaa !5
  %26817 = call ptr @s2n_strerror(i32 noundef %26816, ptr noundef @.str.4)
  %26818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26819 = load i32, ptr %26818, align 4, !tbaa !5
  %26820 = call ptr @s2n_strerror_debug(i32 noundef %26819, ptr noundef @.str.4)
  %26821 = call ptr @__errno_location() #12
  %26822 = load i32, ptr %26821, align 4, !tbaa !5
  %26823 = call ptr @strerror(i32 noundef %26822) #11
  %26824 = call ptr @__errno_location() #12
  %26825 = load i32, ptr %26824, align 4, !tbaa !5
  %26826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26813, ptr noundef @.str.2, i32 noundef %26814, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1100, ptr noundef %26817, ptr noundef %26820, ptr noundef %26823, i32 noundef %26825) #11
  br label %26844

26827:                                            ; preds = %26805, %26798
  %26828 = load i32, ptr %570, align 4, !tbaa !5
  %26829 = call ptr @__errno_location() #12
  store i32 %26828, ptr %26829, align 4, !tbaa !5
  %26830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26831 = load i32, ptr @test_count, align 4, !tbaa !5
  %26832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26833 = load i32, ptr %26832, align 4, !tbaa !5
  %26834 = call ptr @s2n_strerror(i32 noundef %26833, ptr noundef @.str.4)
  %26835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26836 = load i32, ptr %26835, align 4, !tbaa !5
  %26837 = call ptr @s2n_strerror_debug(i32 noundef %26836, ptr noundef @.str.4)
  %26838 = call ptr @__errno_location() #12
  %26839 = load i32, ptr %26838, align 4, !tbaa !5
  %26840 = call ptr @strerror(i32 noundef %26839) #11
  %26841 = call ptr @__errno_location() #12
  %26842 = load i32, ptr %26841, align 4, !tbaa !5
  %26843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26830, ptr noundef @.str.5, i32 noundef %26831, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1100, ptr noundef %26834, ptr noundef %26837, ptr noundef %26840, i32 noundef %26842) #11
  br label %26844

26844:                                            ; preds = %26827, %26810
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #11
  br label %26845

26845:                                            ; preds = %26844
  br label %26846

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

26847:                                            ; No predecessors!
  br label %26848

26848:                                            ; preds = %26847
  br label %26849

26849:                                            ; preds = %26848, %26790
  br label %26850

26850:                                            ; preds = %26849
  br label %26851

26851:                                            ; preds = %26850
  call void @llvm.lifetime.end.p0(i64 12, ptr %553) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %552) #11
  br label %26852

26852:                                            ; preds = %26851
  br label %26853

26853:                                            ; preds = %26852
  br label %26854

26854:                                            ; preds = %26853
  %26855 = load i32, ptr @test_count, align 4, !tbaa !5
  %26856 = add nsw i32 %26855, 1
  store i32 %26856, ptr @test_count, align 4, !tbaa !5
  %26857 = call i32 @s2n_early_data_record_bytes(ptr noundef null, i64 noundef 1)
  %26858 = getelementptr inbounds %struct.s2n_result, ptr %571, i32 0, i32 0
  store i32 %26857, ptr %26858, align 4
  %26859 = getelementptr inbounds %struct.s2n_result, ptr %571, i32 0, i32 0
  %26860 = load i32, ptr %26859, align 4
  %26861 = call zeroext i1 @s2n_result_is_error(i32 %26860)
  br i1 %26861, label %26915, label %26862

26862:                                            ; preds = %26854
  br label %26863

26863:                                            ; preds = %26862
  br label %26864

26864:                                            ; preds = %26863
  call void @llvm.lifetime.start.p0(i64 4, ptr %572) #11
  %26865 = call ptr @__errno_location() #12
  %26866 = load i32, ptr %26865, align 4, !tbaa !5
  store i32 %26866, ptr %572, align 4, !tbaa !5
  %26867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26868 = call i32 @s2n_print_stacktrace(ptr noundef %26867)
  %26869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26870 = trunc i8 %26869 to i1
  br i1 %26870, label %26871, label %26893

26871:                                            ; preds = %26864
  %26872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26873 = call i32 @fileno(ptr noundef %26872) #11
  %26874 = call i32 @isatty(i32 noundef %26873) #11
  %26875 = icmp ne i32 %26874, 0
  br i1 %26875, label %26876, label %26893

26876:                                            ; preds = %26871
  %26877 = load i32, ptr %572, align 4, !tbaa !5
  %26878 = call ptr @__errno_location() #12
  store i32 %26877, ptr %26878, align 4, !tbaa !5
  %26879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26880 = load i32, ptr @test_count, align 4, !tbaa !5
  %26881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26882 = load i32, ptr %26881, align 4, !tbaa !5
  %26883 = call ptr @s2n_strerror(i32 noundef %26882, ptr noundef @.str.4)
  %26884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26885 = load i32, ptr %26884, align 4, !tbaa !5
  %26886 = call ptr @s2n_strerror_debug(i32 noundef %26885, ptr noundef @.str.4)
  %26887 = call ptr @__errno_location() #12
  %26888 = load i32, ptr %26887, align 4, !tbaa !5
  %26889 = call ptr @strerror(i32 noundef %26888) #11
  %26890 = call ptr @__errno_location() #12
  %26891 = load i32, ptr %26890, align 4, !tbaa !5
  %26892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26879, ptr noundef @.str.2, i32 noundef %26880, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %26883, ptr noundef %26886, ptr noundef %26889, i32 noundef %26891) #11
  br label %26910

26893:                                            ; preds = %26871, %26864
  %26894 = load i32, ptr %572, align 4, !tbaa !5
  %26895 = call ptr @__errno_location() #12
  store i32 %26894, ptr %26895, align 4, !tbaa !5
  %26896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26897 = load i32, ptr @test_count, align 4, !tbaa !5
  %26898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26899 = load i32, ptr %26898, align 4, !tbaa !5
  %26900 = call ptr @s2n_strerror(i32 noundef %26899, ptr noundef @.str.4)
  %26901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26902 = load i32, ptr %26901, align 4, !tbaa !5
  %26903 = call ptr @s2n_strerror_debug(i32 noundef %26902, ptr noundef @.str.4)
  %26904 = call ptr @__errno_location() #12
  %26905 = load i32, ptr %26904, align 4, !tbaa !5
  %26906 = call ptr @strerror(i32 noundef %26905) #11
  %26907 = call ptr @__errno_location() #12
  %26908 = load i32, ptr %26907, align 4, !tbaa !5
  %26909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26896, ptr noundef @.str.5, i32 noundef %26897, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %26900, ptr noundef %26903, ptr noundef %26906, i32 noundef %26908) #11
  br label %26910

26910:                                            ; preds = %26893, %26876
  call void @llvm.lifetime.end.p0(i64 4, ptr %572) #11
  br label %26911

26911:                                            ; preds = %26910
  br label %26912

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

26913:                                            ; No predecessors!
  br label %26914

26914:                                            ; preds = %26913
  br label %26915

26915:                                            ; preds = %26914, %26854
  br label %26916

26916:                                            ; preds = %26915
  br label %26917

26917:                                            ; preds = %26916
  br label %26918

26918:                                            ; preds = %26917
  %26919 = load i32, ptr @test_count, align 4, !tbaa !5
  %26920 = add nsw i32 %26919, 1
  store i32 %26920, ptr @test_count, align 4, !tbaa !5
  %26921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26922 = load i32, ptr %26921, align 4, !tbaa !5
  %26923 = icmp eq i32 %26922, 402653193
  br i1 %26923, label %26977, label %26924

26924:                                            ; preds = %26918
  br label %26925

26925:                                            ; preds = %26924
  br label %26926

26926:                                            ; preds = %26925
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %26927 = call ptr @__errno_location() #12
  %26928 = load i32, ptr %26927, align 4, !tbaa !5
  store i32 %26928, ptr %573, align 4, !tbaa !5
  %26929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26930 = call i32 @s2n_print_stacktrace(ptr noundef %26929)
  %26931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26932 = trunc i8 %26931 to i1
  br i1 %26932, label %26933, label %26955

26933:                                            ; preds = %26926
  %26934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26935 = call i32 @fileno(ptr noundef %26934) #11
  %26936 = call i32 @isatty(i32 noundef %26935) #11
  %26937 = icmp ne i32 %26936, 0
  br i1 %26937, label %26938, label %26955

26938:                                            ; preds = %26933
  %26939 = load i32, ptr %573, align 4, !tbaa !5
  %26940 = call ptr @__errno_location() #12
  store i32 %26939, ptr %26940, align 4, !tbaa !5
  %26941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26942 = load i32, ptr @test_count, align 4, !tbaa !5
  %26943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26944 = load i32, ptr %26943, align 4, !tbaa !5
  %26945 = call ptr @s2n_strerror(i32 noundef %26944, ptr noundef @.str.4)
  %26946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26947 = load i32, ptr %26946, align 4, !tbaa !5
  %26948 = call ptr @s2n_strerror_debug(i32 noundef %26947, ptr noundef @.str.4)
  %26949 = call ptr @__errno_location() #12
  %26950 = load i32, ptr %26949, align 4, !tbaa !5
  %26951 = call ptr @strerror(i32 noundef %26950) #11
  %26952 = call ptr @__errno_location() #12
  %26953 = load i32, ptr %26952, align 4, !tbaa !5
  %26954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26941, ptr noundef @.str.2, i32 noundef %26942, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %26945, ptr noundef %26948, ptr noundef %26951, i32 noundef %26953) #11
  br label %26972

26955:                                            ; preds = %26933, %26926
  %26956 = load i32, ptr %573, align 4, !tbaa !5
  %26957 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %26966 = call ptr @__errno_location() #12
  %26967 = load i32, ptr %26966, align 4, !tbaa !5
  %26968 = call ptr @strerror(i32 noundef %26967) #11
  %26969 = call ptr @__errno_location() #12
  %26970 = load i32, ptr %26969, align 4, !tbaa !5
  %26971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26958, ptr noundef @.str.5, i32 noundef %26959, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %26962, ptr noundef %26965, ptr noundef %26968, i32 noundef %26970) #11
  br label %26972

26972:                                            ; preds = %26955, %26938
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %26973

26973:                                            ; preds = %26972
  br label %26974

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

26975:                                            ; No predecessors!
  br label %26976

26976:                                            ; preds = %26975
  br label %26977

26977:                                            ; preds = %26976, %26918
  br label %26978

26978:                                            ; preds = %26977
  br label %26979

26979:                                            ; preds = %26978
  br label %26980

26980:                                            ; preds = %26979
  %26981 = load i32, ptr @test_count, align 4, !tbaa !5
  %26982 = add nsw i32 %26981, 1
  store i32 %26982, ptr @test_count, align 4, !tbaa !5
  %26983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26984 = load i32, ptr %26983, align 4, !tbaa !5
  %26985 = call ptr @s2n_strerror_debug(i32 noundef %26984, ptr noundef @.str.4)
  %26986 = icmp eq ptr %26985, null
  br i1 %26986, label %26987, label %27040

26987:                                            ; preds = %26980
  br label %26988

26988:                                            ; preds = %26987
  br label %26989

26989:                                            ; preds = %26988
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #11
  %26990 = call ptr @__errno_location() #12
  %26991 = load i32, ptr %26990, align 4, !tbaa !5
  store i32 %26991, ptr %574, align 4, !tbaa !5
  %26992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26993 = call i32 @s2n_print_stacktrace(ptr noundef %26992)
  %26994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26995 = trunc i8 %26994 to i1
  br i1 %26995, label %26996, label %27018

26996:                                            ; preds = %26989
  %26997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26998 = call i32 @fileno(ptr noundef %26997) #11
  %26999 = call i32 @isatty(i32 noundef %26998) #11
  %27000 = icmp ne i32 %26999, 0
  br i1 %27000, label %27001, label %27018

27001:                                            ; preds = %26996
  %27002 = load i32, ptr %574, align 4, !tbaa !5
  %27003 = call ptr @__errno_location() #12
  store i32 %27002, ptr %27003, align 4, !tbaa !5
  %27004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27005 = load i32, ptr @test_count, align 4, !tbaa !5
  %27006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27007 = load i32, ptr %27006, align 4, !tbaa !5
  %27008 = call ptr @s2n_strerror(i32 noundef %27007, ptr noundef @.str.4)
  %27009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27010 = load i32, ptr %27009, align 4, !tbaa !5
  %27011 = call ptr @s2n_strerror_debug(i32 noundef %27010, ptr noundef @.str.4)
  %27012 = call ptr @__errno_location() #12
  %27013 = load i32, ptr %27012, align 4, !tbaa !5
  %27014 = call ptr @strerror(i32 noundef %27013) #11
  %27015 = call ptr @__errno_location() #12
  %27016 = load i32, ptr %27015, align 4, !tbaa !5
  %27017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27004, ptr noundef @.str.2, i32 noundef %27005, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %27008, ptr noundef %27011, ptr noundef %27014, i32 noundef %27016) #11
  br label %27035

27018:                                            ; preds = %26996, %26989
  %27019 = load i32, ptr %574, align 4, !tbaa !5
  %27020 = call ptr @__errno_location() #12
  store i32 %27019, ptr %27020, align 4, !tbaa !5
  %27021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27022 = load i32, ptr @test_count, align 4, !tbaa !5
  %27023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27024 = load i32, ptr %27023, align 4, !tbaa !5
  %27025 = call ptr @s2n_strerror(i32 noundef %27024, ptr noundef @.str.4)
  %27026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27027 = load i32, ptr %27026, align 4, !tbaa !5
  %27028 = call ptr @s2n_strerror_debug(i32 noundef %27027, ptr noundef @.str.4)
  %27029 = call ptr @__errno_location() #12
  %27030 = load i32, ptr %27029, align 4, !tbaa !5
  %27031 = call ptr @strerror(i32 noundef %27030) #11
  %27032 = call ptr @__errno_location() #12
  %27033 = load i32, ptr %27032, align 4, !tbaa !5
  %27034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27021, ptr noundef @.str.5, i32 noundef %27022, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %27025, ptr noundef %27028, ptr noundef %27031, i32 noundef %27033) #11
  br label %27035

27035:                                            ; preds = %27018, %27001
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #11
  br label %27036

27036:                                            ; preds = %27035
  br label %27037

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

27038:                                            ; No predecessors!
  br label %27039

27039:                                            ; preds = %27038
  br label %27040

27040:                                            ; preds = %27039, %26980
  br label %27041

27041:                                            ; preds = %27040
  br label %27042

27042:                                            ; preds = %27041
  br label %27043

27043:                                            ; preds = %27042
  br label %27044

27044:                                            ; preds = %27043
  br label %27045

27045:                                            ; preds = %27044
  %27046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27046, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27047 = call ptr @__errno_location() #12
  store i32 0, ptr %27047, align 4, !tbaa !5
  br label %27048

27048:                                            ; preds = %27045
  br label %27049

27049:                                            ; preds = %27048
  br label %27050

27050:                                            ; preds = %27049
  br label %27051

27051:                                            ; preds = %27050
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  store i32 10, ptr %575, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %576) #11
  %27052 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %27052, ptr %576, align 8, !tbaa !9
  br label %27053

27053:                                            ; preds = %27051
  %27054 = load i32, ptr @test_count, align 4, !tbaa !5
  %27055 = add nsw i32 %27054, 1
  store i32 %27055, ptr @test_count, align 4, !tbaa !5
  %27056 = load ptr, ptr %576, align 8, !tbaa !9
  %27057 = icmp eq ptr %27056, null
  br i1 %27057, label %27058, label %27111

27058:                                            ; preds = %27053
  br label %27059

27059:                                            ; preds = %27058
  br label %27060

27060:                                            ; preds = %27059
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #11
  %27061 = call ptr @__errno_location() #12
  %27062 = load i32, ptr %27061, align 4, !tbaa !5
  store i32 %27062, ptr %577, align 4, !tbaa !5
  %27063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27064 = call i32 @s2n_print_stacktrace(ptr noundef %27063)
  %27065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27066 = trunc i8 %27065 to i1
  br i1 %27066, label %27067, label %27089

27067:                                            ; preds = %27060
  %27068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27069 = call i32 @fileno(ptr noundef %27068) #11
  %27070 = call i32 @isatty(i32 noundef %27069) #11
  %27071 = icmp ne i32 %27070, 0
  br i1 %27071, label %27072, label %27089

27072:                                            ; preds = %27067
  %27073 = load i32, ptr %577, align 4, !tbaa !5
  %27074 = call ptr @__errno_location() #12
  store i32 %27073, ptr %27074, align 4, !tbaa !5
  %27075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27076 = load i32, ptr @test_count, align 4, !tbaa !5
  %27077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27078 = load i32, ptr %27077, align 4, !tbaa !5
  %27079 = call ptr @s2n_strerror(i32 noundef %27078, ptr noundef @.str.4)
  %27080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27081 = load i32, ptr %27080, align 4, !tbaa !5
  %27082 = call ptr @s2n_strerror_debug(i32 noundef %27081, ptr noundef @.str.4)
  %27083 = call ptr @__errno_location() #12
  %27084 = load i32, ptr %27083, align 4, !tbaa !5
  %27085 = call ptr @strerror(i32 noundef %27084) #11
  %27086 = call ptr @__errno_location() #12
  %27087 = load i32, ptr %27086, align 4, !tbaa !5
  %27088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27075, ptr noundef @.str.2, i32 noundef %27076, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1111, ptr noundef %27079, ptr noundef %27082, ptr noundef %27085, i32 noundef %27087) #11
  br label %27106

27089:                                            ; preds = %27067, %27060
  %27090 = load i32, ptr %577, align 4, !tbaa !5
  %27091 = call ptr @__errno_location() #12
  store i32 %27090, ptr %27091, align 4, !tbaa !5
  %27092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27093 = load i32, ptr @test_count, align 4, !tbaa !5
  %27094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27095 = load i32, ptr %27094, align 4, !tbaa !5
  %27096 = call ptr @s2n_strerror(i32 noundef %27095, ptr noundef @.str.4)
  %27097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27098 = load i32, ptr %27097, align 4, !tbaa !5
  %27099 = call ptr @s2n_strerror_debug(i32 noundef %27098, ptr noundef @.str.4)
  %27100 = call ptr @__errno_location() #12
  %27101 = load i32, ptr %27100, align 4, !tbaa !5
  %27102 = call ptr @strerror(i32 noundef %27101) #11
  %27103 = call ptr @__errno_location() #12
  %27104 = load i32, ptr %27103, align 4, !tbaa !5
  %27105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27092, ptr noundef @.str.5, i32 noundef %27093, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1111, ptr noundef %27096, ptr noundef %27099, ptr noundef %27102, i32 noundef %27104) #11
  br label %27106

27106:                                            ; preds = %27089, %27072
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #11
  br label %27107

27107:                                            ; preds = %27106
  br label %27108

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

27109:                                            ; No predecessors!
  br label %27110

27110:                                            ; preds = %27109
  br label %27111

27111:                                            ; preds = %27110, %27053
  br label %27112

27112:                                            ; preds = %27111
  br label %27113

27113:                                            ; preds = %27112
  br label %27114

27114:                                            ; preds = %27113
  %27115 = load i32, ptr @test_count, align 4, !tbaa !5
  %27116 = add nsw i32 %27115, 1
  store i32 %27116, ptr @test_count, align 4, !tbaa !5
  %27117 = load ptr, ptr %576, align 8, !tbaa !9
  %27118 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %27117, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %27119 = getelementptr inbounds %struct.s2n_result, ptr %578, i32 0, i32 0
  store i32 %27118, ptr %27119, align 4
  %27120 = getelementptr inbounds %struct.s2n_result, ptr %578, i32 0, i32 0
  %27121 = load i32, ptr %27120, align 4
  %27122 = call zeroext i1 @s2n_result_is_ok(i32 %27121)
  br i1 %27122, label %27176, label %27123

27123:                                            ; preds = %27114
  br label %27124

27124:                                            ; preds = %27123
  br label %27125

27125:                                            ; preds = %27124
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #11
  %27126 = call ptr @__errno_location() #12
  %27127 = load i32, ptr %27126, align 4, !tbaa !5
  store i32 %27127, ptr %579, align 4, !tbaa !5
  %27128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27129 = call i32 @s2n_print_stacktrace(ptr noundef %27128)
  %27130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27131 = trunc i8 %27130 to i1
  br i1 %27131, label %27132, label %27154

27132:                                            ; preds = %27125
  %27133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27134 = call i32 @fileno(ptr noundef %27133) #11
  %27135 = call i32 @isatty(i32 noundef %27134) #11
  %27136 = icmp ne i32 %27135, 0
  br i1 %27136, label %27137, label %27154

27137:                                            ; preds = %27132
  %27138 = load i32, ptr %579, align 4, !tbaa !5
  %27139 = call ptr @__errno_location() #12
  store i32 %27138, ptr %27139, align 4, !tbaa !5
  %27140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27141 = load i32, ptr @test_count, align 4, !tbaa !5
  %27142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27143 = load i32, ptr %27142, align 4, !tbaa !5
  %27144 = call ptr @s2n_strerror(i32 noundef %27143, ptr noundef @.str.4)
  %27145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27146 = load i32, ptr %27145, align 4, !tbaa !5
  %27147 = call ptr @s2n_strerror_debug(i32 noundef %27146, ptr noundef @.str.4)
  %27148 = call ptr @__errno_location() #12
  %27149 = load i32, ptr %27148, align 4, !tbaa !5
  %27150 = call ptr @strerror(i32 noundef %27149) #11
  %27151 = call ptr @__errno_location() #12
  %27152 = load i32, ptr %27151, align 4, !tbaa !5
  %27153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27140, ptr noundef @.str.2, i32 noundef %27141, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 1112, ptr noundef %27144, ptr noundef %27147, ptr noundef %27150, i32 noundef %27152) #11
  br label %27171

27154:                                            ; preds = %27132, %27125
  %27155 = load i32, ptr %579, align 4, !tbaa !5
  %27156 = call ptr @__errno_location() #12
  store i32 %27155, ptr %27156, align 4, !tbaa !5
  %27157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27158 = load i32, ptr @test_count, align 4, !tbaa !5
  %27159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27160 = load i32, ptr %27159, align 4, !tbaa !5
  %27161 = call ptr @s2n_strerror(i32 noundef %27160, ptr noundef @.str.4)
  %27162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27163 = load i32, ptr %27162, align 4, !tbaa !5
  %27164 = call ptr @s2n_strerror_debug(i32 noundef %27163, ptr noundef @.str.4)
  %27165 = call ptr @__errno_location() #12
  %27166 = load i32, ptr %27165, align 4, !tbaa !5
  %27167 = call ptr @strerror(i32 noundef %27166) #11
  %27168 = call ptr @__errno_location() #12
  %27169 = load i32, ptr %27168, align 4, !tbaa !5
  %27170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27157, ptr noundef @.str.5, i32 noundef %27158, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 1112, ptr noundef %27161, ptr noundef %27164, ptr noundef %27167, i32 noundef %27169) #11
  br label %27171

27171:                                            ; preds = %27154, %27137
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #11
  br label %27172

27172:                                            ; preds = %27171
  br label %27173

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

27174:                                            ; No predecessors!
  br label %27175

27175:                                            ; preds = %27174
  br label %27176

27176:                                            ; preds = %27175, %27114
  br label %27177

27177:                                            ; preds = %27176
  br label %27178

27178:                                            ; preds = %27177
  %27179 = load ptr, ptr %576, align 8, !tbaa !9
  %27180 = getelementptr inbounds %struct.s2n_connection, ptr %27179, i32 0, i32 60
  store i64 0, ptr %27180, align 8, !tbaa !76
  br label %27181

27181:                                            ; preds = %27178
  %27182 = load i32, ptr @test_count, align 4, !tbaa !5
  %27183 = add nsw i32 %27182, 1
  store i32 %27183, ptr @test_count, align 4, !tbaa !5
  %27184 = load ptr, ptr %576, align 8, !tbaa !9
  %27185 = call i32 @s2n_early_data_record_bytes(ptr noundef %27184, i64 noundef 11)
  %27186 = getelementptr inbounds %struct.s2n_result, ptr %580, i32 0, i32 0
  store i32 %27185, ptr %27186, align 4
  %27187 = getelementptr inbounds %struct.s2n_result, ptr %580, i32 0, i32 0
  %27188 = load i32, ptr %27187, align 4
  %27189 = call zeroext i1 @s2n_result_is_ok(i32 %27188)
  br i1 %27189, label %27243, label %27190

27190:                                            ; preds = %27181
  br label %27191

27191:                                            ; preds = %27190
  br label %27192

27192:                                            ; preds = %27191
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #11
  %27193 = call ptr @__errno_location() #12
  %27194 = load i32, ptr %27193, align 4, !tbaa !5
  store i32 %27194, ptr %581, align 4, !tbaa !5
  %27195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27196 = call i32 @s2n_print_stacktrace(ptr noundef %27195)
  %27197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27198 = trunc i8 %27197 to i1
  br i1 %27198, label %27199, label %27221

27199:                                            ; preds = %27192
  %27200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27201 = call i32 @fileno(ptr noundef %27200) #11
  %27202 = call i32 @isatty(i32 noundef %27201) #11
  %27203 = icmp ne i32 %27202, 0
  br i1 %27203, label %27204, label %27221

27204:                                            ; preds = %27199
  %27205 = load i32, ptr %581, align 4, !tbaa !5
  %27206 = call ptr @__errno_location() #12
  store i32 %27205, ptr %27206, align 4, !tbaa !5
  %27207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27208 = load i32, ptr @test_count, align 4, !tbaa !5
  %27209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27210 = load i32, ptr %27209, align 4, !tbaa !5
  %27211 = call ptr @s2n_strerror(i32 noundef %27210, ptr noundef @.str.4)
  %27212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27213 = load i32, ptr %27212, align 4, !tbaa !5
  %27214 = call ptr @s2n_strerror_debug(i32 noundef %27213, ptr noundef @.str.4)
  %27215 = call ptr @__errno_location() #12
  %27216 = load i32, ptr %27215, align 4, !tbaa !5
  %27217 = call ptr @strerror(i32 noundef %27216) #11
  %27218 = call ptr @__errno_location() #12
  %27219 = load i32, ptr %27218, align 4, !tbaa !5
  %27220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27207, ptr noundef @.str.2, i32 noundef %27208, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 1116, ptr noundef %27211, ptr noundef %27214, ptr noundef %27217, i32 noundef %27219) #11
  br label %27238

27221:                                            ; preds = %27199, %27192
  %27222 = load i32, ptr %581, align 4, !tbaa !5
  %27223 = call ptr @__errno_location() #12
  store i32 %27222, ptr %27223, align 4, !tbaa !5
  %27224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27225 = load i32, ptr @test_count, align 4, !tbaa !5
  %27226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27227 = load i32, ptr %27226, align 4, !tbaa !5
  %27228 = call ptr @s2n_strerror(i32 noundef %27227, ptr noundef @.str.4)
  %27229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27230 = load i32, ptr %27229, align 4, !tbaa !5
  %27231 = call ptr @s2n_strerror_debug(i32 noundef %27230, ptr noundef @.str.4)
  %27232 = call ptr @__errno_location() #12
  %27233 = load i32, ptr %27232, align 4, !tbaa !5
  %27234 = call ptr @strerror(i32 noundef %27233) #11
  %27235 = call ptr @__errno_location() #12
  %27236 = load i32, ptr %27235, align 4, !tbaa !5
  %27237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27224, ptr noundef @.str.5, i32 noundef %27225, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 1116, ptr noundef %27228, ptr noundef %27231, ptr noundef %27234, i32 noundef %27236) #11
  br label %27238

27238:                                            ; preds = %27221, %27204
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #11
  br label %27239

27239:                                            ; preds = %27238
  br label %27240

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

27241:                                            ; No predecessors!
  br label %27242

27242:                                            ; preds = %27241
  br label %27243

27243:                                            ; preds = %27242, %27181
  br label %27244

27244:                                            ; preds = %27243
  br label %27245

27245:                                            ; preds = %27244
  br label %27246

27246:                                            ; preds = %27245
  %27247 = load i32, ptr @test_count, align 4, !tbaa !5
  %27248 = add nsw i32 %27247, 1
  store i32 %27248, ptr @test_count, align 4, !tbaa !5
  %27249 = load ptr, ptr %576, align 8, !tbaa !9
  %27250 = getelementptr inbounds %struct.s2n_connection, ptr %27249, i32 0, i32 60
  %27251 = load i64, ptr %27250, align 8, !tbaa !76
  %27252 = icmp eq i64 %27251, 0
  br i1 %27252, label %27306, label %27253

27253:                                            ; preds = %27246
  br label %27254

27254:                                            ; preds = %27253
  br label %27255

27255:                                            ; preds = %27254
  call void @llvm.lifetime.start.p0(i64 4, ptr %582) #11
  %27256 = call ptr @__errno_location() #12
  %27257 = load i32, ptr %27256, align 4, !tbaa !5
  store i32 %27257, ptr %582, align 4, !tbaa !5
  %27258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27259 = call i32 @s2n_print_stacktrace(ptr noundef %27258)
  %27260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27261 = trunc i8 %27260 to i1
  br i1 %27261, label %27262, label %27284

27262:                                            ; preds = %27255
  %27263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27264 = call i32 @fileno(ptr noundef %27263) #11
  %27265 = call i32 @isatty(i32 noundef %27264) #11
  %27266 = icmp ne i32 %27265, 0
  br i1 %27266, label %27267, label %27284

27267:                                            ; preds = %27262
  %27268 = load i32, ptr %582, align 4, !tbaa !5
  %27269 = call ptr @__errno_location() #12
  store i32 %27268, ptr %27269, align 4, !tbaa !5
  %27270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27271 = load i32, ptr @test_count, align 4, !tbaa !5
  %27272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27273 = load i32, ptr %27272, align 4, !tbaa !5
  %27274 = call ptr @s2n_strerror(i32 noundef %27273, ptr noundef @.str.4)
  %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_debug(i32 noundef %27276, ptr noundef @.str.4)
  %27278 = call ptr @__errno_location() #12
  %27279 = load i32, ptr %27278, align 4, !tbaa !5
  %27280 = call ptr @strerror(i32 noundef %27279) #11
  %27281 = call ptr @__errno_location() #12
  %27282 = load i32, ptr %27281, align 4, !tbaa !5
  %27283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27270, ptr noundef @.str.2, i32 noundef %27271, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1117, ptr noundef %27274, ptr noundef %27277, ptr noundef %27280, i32 noundef %27282) #11
  br label %27301

27284:                                            ; preds = %27262, %27255
  %27285 = load i32, ptr %582, align 4, !tbaa !5
  %27286 = call ptr @__errno_location() #12
  store i32 %27285, ptr %27286, align 4, !tbaa !5
  %27287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27288 = load i32, ptr @test_count, align 4, !tbaa !5
  %27289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27290 = load i32, ptr %27289, align 4, !tbaa !5
  %27291 = call ptr @s2n_strerror(i32 noundef %27290, ptr noundef @.str.4)
  %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_debug(i32 noundef %27293, ptr noundef @.str.4)
  %27295 = call ptr @__errno_location() #12
  %27296 = load i32, ptr %27295, align 4, !tbaa !5
  %27297 = call ptr @strerror(i32 noundef %27296) #11
  %27298 = call ptr @__errno_location() #12
  %27299 = load i32, ptr %27298, align 4, !tbaa !5
  %27300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27287, ptr noundef @.str.5, i32 noundef %27288, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1117, ptr noundef %27291, ptr noundef %27294, ptr noundef %27297, i32 noundef %27299) #11
  br label %27301

27301:                                            ; preds = %27284, %27267
  call void @llvm.lifetime.end.p0(i64 4, ptr %582) #11
  br label %27302

27302:                                            ; preds = %27301
  br label %27303

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

27304:                                            ; No predecessors!
  br label %27305

27305:                                            ; preds = %27304
  br label %27306

27306:                                            ; preds = %27305, %27246
  br label %27307

27307:                                            ; preds = %27306
  br label %27308

27308:                                            ; preds = %27307
  br label %27309

27309:                                            ; preds = %27308
  %27310 = load i32, ptr @test_count, align 4, !tbaa !5
  %27311 = add nsw i32 %27310, 1
  store i32 %27311, ptr @test_count, align 4, !tbaa !5
  %27312 = load ptr, ptr %576, align 8, !tbaa !9
  %27313 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %27312)
  %27314 = icmp eq i32 %27313, -1
  br i1 %27314, label %27315, label %27368

27315:                                            ; preds = %27309
  br label %27316

27316:                                            ; preds = %27315
  br label %27317

27317:                                            ; preds = %27316
  call void @llvm.lifetime.start.p0(i64 4, ptr %583) #11
  %27318 = call ptr @__errno_location() #12
  %27319 = load i32, ptr %27318, align 4, !tbaa !5
  store i32 %27319, ptr %583, align 4, !tbaa !5
  %27320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27321 = call i32 @s2n_print_stacktrace(ptr noundef %27320)
  %27322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27323 = trunc i8 %27322 to i1
  br i1 %27323, label %27324, label %27346

27324:                                            ; preds = %27317
  %27325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27326 = call i32 @fileno(ptr noundef %27325) #11
  %27327 = call i32 @isatty(i32 noundef %27326) #11
  %27328 = icmp ne i32 %27327, 0
  br i1 %27328, label %27329, label %27346

27329:                                            ; preds = %27324
  %27330 = load i32, ptr %583, align 4, !tbaa !5
  %27331 = call ptr @__errno_location() #12
  store i32 %27330, ptr %27331, align 4, !tbaa !5
  %27332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27333 = load i32, ptr @test_count, align 4, !tbaa !5
  %27334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27335 = load i32, ptr %27334, align 4, !tbaa !5
  %27336 = call ptr @s2n_strerror(i32 noundef %27335, ptr noundef @.str.4)
  %27337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27338 = load i32, ptr %27337, align 4, !tbaa !5
  %27339 = call ptr @s2n_strerror_debug(i32 noundef %27338, ptr noundef @.str.4)
  %27340 = call ptr @__errno_location() #12
  %27341 = load i32, ptr %27340, align 4, !tbaa !5
  %27342 = call ptr @strerror(i32 noundef %27341) #11
  %27343 = call ptr @__errno_location() #12
  %27344 = load i32, ptr %27343, align 4, !tbaa !5
  %27345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27332, ptr noundef @.str.2, i32 noundef %27333, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1119, ptr noundef %27336, ptr noundef %27339, ptr noundef %27342, i32 noundef %27344) #11
  br label %27363

27346:                                            ; preds = %27324, %27317
  %27347 = load i32, ptr %583, align 4, !tbaa !5
  %27348 = call ptr @__errno_location() #12
  store i32 %27347, ptr %27348, align 4, !tbaa !5
  %27349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27350 = load i32, ptr @test_count, align 4, !tbaa !5
  %27351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27352 = load i32, ptr %27351, align 4, !tbaa !5
  %27353 = call ptr @s2n_strerror(i32 noundef %27352, ptr noundef @.str.4)
  %27354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27355 = load i32, ptr %27354, align 4, !tbaa !5
  %27356 = call ptr @s2n_strerror_debug(i32 noundef %27355, ptr noundef @.str.4)
  %27357 = call ptr @__errno_location() #12
  %27358 = load i32, ptr %27357, align 4, !tbaa !5
  %27359 = call ptr @strerror(i32 noundef %27358) #11
  %27360 = call ptr @__errno_location() #12
  %27361 = load i32, ptr %27360, align 4, !tbaa !5
  %27362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27349, ptr noundef @.str.5, i32 noundef %27350, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1119, ptr noundef %27353, ptr noundef %27356, ptr noundef %27359, i32 noundef %27361) #11
  br label %27363

27363:                                            ; preds = %27346, %27329
  call void @llvm.lifetime.end.p0(i64 4, ptr %583) #11
  br label %27364

27364:                                            ; preds = %27363
  br label %27365

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

27366:                                            ; No predecessors!
  br label %27367

27367:                                            ; preds = %27366
  br label %27368

27368:                                            ; preds = %27367, %27309
  br label %27369

27369:                                            ; preds = %27368
  br label %27370

27370:                                            ; preds = %27369
  %27371 = load ptr, ptr %576, align 8, !tbaa !9
  %27372 = getelementptr inbounds %struct.s2n_connection, ptr %27371, i32 0, i32 60
  store i64 0, ptr %27372, align 8, !tbaa !76
  br label %27373

27373:                                            ; preds = %27370
  %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 = load ptr, ptr %576, align 8, !tbaa !9
  %27377 = call i32 @s2n_early_data_record_bytes(ptr noundef %27376, i64 noundef 1)
  %27378 = getelementptr inbounds %struct.s2n_result, ptr %584, i32 0, i32 0
  store i32 %27377, ptr %27378, align 4
  %27379 = getelementptr inbounds %struct.s2n_result, ptr %584, i32 0, i32 0
  %27380 = load i32, ptr %27379, align 4
  %27381 = call zeroext i1 @s2n_result_is_ok(i32 %27380)
  br i1 %27381, label %27435, label %27382

27382:                                            ; preds = %27373
  br label %27383

27383:                                            ; preds = %27382
  br label %27384

27384:                                            ; preds = %27383
  call void @llvm.lifetime.start.p0(i64 4, ptr %585) #11
  %27385 = call ptr @__errno_location() #12
  %27386 = load i32, ptr %27385, align 4, !tbaa !5
  store i32 %27386, ptr %585, align 4, !tbaa !5
  %27387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27388 = call i32 @s2n_print_stacktrace(ptr noundef %27387)
  %27389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27390 = trunc i8 %27389 to i1
  br i1 %27390, label %27391, label %27413

27391:                                            ; preds = %27384
  %27392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27393 = call i32 @fileno(ptr noundef %27392) #11
  %27394 = call i32 @isatty(i32 noundef %27393) #11
  %27395 = icmp ne i32 %27394, 0
  br i1 %27395, label %27396, label %27413

27396:                                            ; preds = %27391
  %27397 = load i32, ptr %585, align 4, !tbaa !5
  %27398 = call ptr @__errno_location() #12
  store i32 %27397, ptr %27398, align 4, !tbaa !5
  %27399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27400 = load i32, ptr @test_count, align 4, !tbaa !5
  %27401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27402 = load i32, ptr %27401, align 4, !tbaa !5
  %27403 = call ptr @s2n_strerror(i32 noundef %27402, ptr noundef @.str.4)
  %27404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27405 = load i32, ptr %27404, align 4, !tbaa !5
  %27406 = call ptr @s2n_strerror_debug(i32 noundef %27405, ptr noundef @.str.4)
  %27407 = call ptr @__errno_location() #12
  %27408 = load i32, ptr %27407, align 4, !tbaa !5
  %27409 = call ptr @strerror(i32 noundef %27408) #11
  %27410 = call ptr @__errno_location() #12
  %27411 = load i32, ptr %27410, align 4, !tbaa !5
  %27412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27399, ptr noundef @.str.2, i32 noundef %27400, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1124, ptr noundef %27403, ptr noundef %27406, ptr noundef %27409, i32 noundef %27411) #11
  br label %27430

27413:                                            ; preds = %27391, %27384
  %27414 = load i32, ptr %585, align 4, !tbaa !5
  %27415 = call ptr @__errno_location() #12
  store i32 %27414, ptr %27415, align 4, !tbaa !5
  %27416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27417 = load i32, ptr @test_count, align 4, !tbaa !5
  %27418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27419 = load i32, ptr %27418, align 4, !tbaa !5
  %27420 = call ptr @s2n_strerror(i32 noundef %27419, ptr noundef @.str.4)
  %27421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27422 = load i32, ptr %27421, align 4, !tbaa !5
  %27423 = call ptr @s2n_strerror_debug(i32 noundef %27422, ptr noundef @.str.4)
  %27424 = call ptr @__errno_location() #12
  %27425 = load i32, ptr %27424, align 4, !tbaa !5
  %27426 = call ptr @strerror(i32 noundef %27425) #11
  %27427 = call ptr @__errno_location() #12
  %27428 = load i32, ptr %27427, align 4, !tbaa !5
  %27429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27416, ptr noundef @.str.5, i32 noundef %27417, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1124, ptr noundef %27420, ptr noundef %27423, ptr noundef %27426, i32 noundef %27428) #11
  br label %27430

27430:                                            ; preds = %27413, %27396
  call void @llvm.lifetime.end.p0(i64 4, ptr %585) #11
  br label %27431

27431:                                            ; preds = %27430
  br label %27432

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

27433:                                            ; No predecessors!
  br label %27434

27434:                                            ; preds = %27433
  br label %27435

27435:                                            ; preds = %27434, %27373
  br label %27436

27436:                                            ; preds = %27435
  br label %27437

27437:                                            ; preds = %27436
  br label %27438

27438:                                            ; preds = %27437
  %27439 = load i32, ptr @test_count, align 4, !tbaa !5
  %27440 = add nsw i32 %27439, 1
  store i32 %27440, ptr @test_count, align 4, !tbaa !5
  %27441 = load ptr, ptr %576, align 8, !tbaa !9
  %27442 = getelementptr inbounds %struct.s2n_connection, ptr %27441, i32 0, i32 60
  %27443 = load i64, ptr %27442, align 8, !tbaa !76
  %27444 = icmp eq i64 %27443, 1
  br i1 %27444, label %27498, label %27445

27445:                                            ; preds = %27438
  br label %27446

27446:                                            ; preds = %27445
  br label %27447

27447:                                            ; preds = %27446
  call void @llvm.lifetime.start.p0(i64 4, ptr %586) #11
  %27448 = call ptr @__errno_location() #12
  %27449 = load i32, ptr %27448, align 4, !tbaa !5
  store i32 %27449, ptr %586, align 4, !tbaa !5
  %27450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27451 = call i32 @s2n_print_stacktrace(ptr noundef %27450)
  %27452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27453 = trunc i8 %27452 to i1
  br i1 %27453, label %27454, label %27476

27454:                                            ; preds = %27447
  %27455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27456 = call i32 @fileno(ptr noundef %27455) #11
  %27457 = call i32 @isatty(i32 noundef %27456) #11
  %27458 = icmp ne i32 %27457, 0
  br i1 %27458, label %27459, label %27476

27459:                                            ; preds = %27454
  %27460 = load i32, ptr %586, align 4, !tbaa !5
  %27461 = call ptr @__errno_location() #12
  store i32 %27460, ptr %27461, align 4, !tbaa !5
  %27462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27463 = load i32, ptr @test_count, align 4, !tbaa !5
  %27464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27465 = load i32, ptr %27464, align 4, !tbaa !5
  %27466 = call ptr @s2n_strerror(i32 noundef %27465, ptr noundef @.str.4)
  %27467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27468 = load i32, ptr %27467, align 4, !tbaa !5
  %27469 = call ptr @s2n_strerror_debug(i32 noundef %27468, ptr noundef @.str.4)
  %27470 = call ptr @__errno_location() #12
  %27471 = load i32, ptr %27470, align 4, !tbaa !5
  %27472 = call ptr @strerror(i32 noundef %27471) #11
  %27473 = call ptr @__errno_location() #12
  %27474 = load i32, ptr %27473, align 4, !tbaa !5
  %27475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27462, ptr noundef @.str.2, i32 noundef %27463, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 1125, ptr noundef %27466, ptr noundef %27469, ptr noundef %27472, i32 noundef %27474) #11
  br label %27493

27476:                                            ; preds = %27454, %27447
  %27477 = load i32, ptr %586, align 4, !tbaa !5
  %27478 = call ptr @__errno_location() #12
  store i32 %27477, ptr %27478, align 4, !tbaa !5
  %27479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27480 = load i32, ptr @test_count, align 4, !tbaa !5
  %27481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27482 = load i32, ptr %27481, align 4, !tbaa !5
  %27483 = call ptr @s2n_strerror(i32 noundef %27482, ptr noundef @.str.4)
  %27484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27485 = load i32, ptr %27484, align 4, !tbaa !5
  %27486 = call ptr @s2n_strerror_debug(i32 noundef %27485, ptr noundef @.str.4)
  %27487 = call ptr @__errno_location() #12
  %27488 = load i32, ptr %27487, align 4, !tbaa !5
  %27489 = call ptr @strerror(i32 noundef %27488) #11
  %27490 = call ptr @__errno_location() #12
  %27491 = load i32, ptr %27490, align 4, !tbaa !5
  %27492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27479, ptr noundef @.str.5, i32 noundef %27480, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 1125, ptr noundef %27483, ptr noundef %27486, ptr noundef %27489, i32 noundef %27491) #11
  br label %27493

27493:                                            ; preds = %27476, %27459
  call void @llvm.lifetime.end.p0(i64 4, ptr %586) #11
  br label %27494

27494:                                            ; preds = %27493
  br label %27495

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

27496:                                            ; No predecessors!
  br label %27497

27497:                                            ; preds = %27496
  br label %27498

27498:                                            ; preds = %27497, %27438
  br label %27499

27499:                                            ; preds = %27498
  br label %27500

27500:                                            ; preds = %27499
  %27501 = load ptr, ptr %576, align 8, !tbaa !9
  %27502 = getelementptr inbounds %struct.s2n_connection, ptr %27501, i32 0, i32 60
  store i64 1, ptr %27502, align 8, !tbaa !76
  br label %27503

27503:                                            ; preds = %27500
  %27504 = load i32, ptr @test_count, align 4, !tbaa !5
  %27505 = add nsw i32 %27504, 1
  store i32 %27505, ptr @test_count, align 4, !tbaa !5
  %27506 = load ptr, ptr %576, align 8, !tbaa !9
  %27507 = call i32 @s2n_early_data_record_bytes(ptr noundef %27506, i64 noundef 1)
  %27508 = getelementptr inbounds %struct.s2n_result, ptr %587, i32 0, i32 0
  store i32 %27507, ptr %27508, align 4
  %27509 = getelementptr inbounds %struct.s2n_result, ptr %587, i32 0, i32 0
  %27510 = load i32, ptr %27509, align 4
  %27511 = call zeroext i1 @s2n_result_is_ok(i32 %27510)
  br i1 %27511, label %27565, label %27512

27512:                                            ; preds = %27503
  br label %27513

27513:                                            ; preds = %27512
  br label %27514

27514:                                            ; preds = %27513
  call void @llvm.lifetime.start.p0(i64 4, ptr %588) #11
  %27515 = call ptr @__errno_location() #12
  %27516 = load i32, ptr %27515, align 4, !tbaa !5
  store i32 %27516, ptr %588, align 4, !tbaa !5
  %27517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27518 = call i32 @s2n_print_stacktrace(ptr noundef %27517)
  %27519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27520 = trunc i8 %27519 to i1
  br i1 %27520, label %27521, label %27543

27521:                                            ; preds = %27514
  %27522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27523 = call i32 @fileno(ptr noundef %27522) #11
  %27524 = call i32 @isatty(i32 noundef %27523) #11
  %27525 = icmp ne i32 %27524, 0
  br i1 %27525, label %27526, label %27543

27526:                                            ; preds = %27521
  %27527 = load i32, ptr %588, align 4, !tbaa !5
  %27528 = call ptr @__errno_location() #12
  store i32 %27527, ptr %27528, align 4, !tbaa !5
  %27529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27530 = load i32, ptr @test_count, align 4, !tbaa !5
  %27531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27532 = load i32, ptr %27531, align 4, !tbaa !5
  %27533 = call ptr @s2n_strerror(i32 noundef %27532, ptr noundef @.str.4)
  %27534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27535 = load i32, ptr %27534, align 4, !tbaa !5
  %27536 = call ptr @s2n_strerror_debug(i32 noundef %27535, ptr noundef @.str.4)
  %27537 = call ptr @__errno_location() #12
  %27538 = load i32, ptr %27537, align 4, !tbaa !5
  %27539 = call ptr @strerror(i32 noundef %27538) #11
  %27540 = call ptr @__errno_location() #12
  %27541 = load i32, ptr %27540, align 4, !tbaa !5
  %27542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27529, ptr noundef @.str.2, i32 noundef %27530, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1128, ptr noundef %27533, ptr noundef %27536, ptr noundef %27539, i32 noundef %27541) #11
  br label %27560

27543:                                            ; preds = %27521, %27514
  %27544 = load i32, ptr %588, align 4, !tbaa !5
  %27545 = call ptr @__errno_location() #12
  store i32 %27544, ptr %27545, align 4, !tbaa !5
  %27546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27547 = load i32, ptr @test_count, align 4, !tbaa !5
  %27548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27549 = load i32, ptr %27548, align 4, !tbaa !5
  %27550 = call ptr @s2n_strerror(i32 noundef %27549, ptr noundef @.str.4)
  %27551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27552 = load i32, ptr %27551, align 4, !tbaa !5
  %27553 = call ptr @s2n_strerror_debug(i32 noundef %27552, ptr noundef @.str.4)
  %27554 = call ptr @__errno_location() #12
  %27555 = load i32, ptr %27554, align 4, !tbaa !5
  %27556 = call ptr @strerror(i32 noundef %27555) #11
  %27557 = call ptr @__errno_location() #12
  %27558 = load i32, ptr %27557, align 4, !tbaa !5
  %27559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27546, ptr noundef @.str.5, i32 noundef %27547, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1128, ptr noundef %27550, ptr noundef %27553, ptr noundef %27556, i32 noundef %27558) #11
  br label %27560

27560:                                            ; preds = %27543, %27526
  call void @llvm.lifetime.end.p0(i64 4, ptr %588) #11
  br label %27561

27561:                                            ; preds = %27560
  br label %27562

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

27563:                                            ; No predecessors!
  br label %27564

27564:                                            ; preds = %27563
  br label %27565

27565:                                            ; preds = %27564, %27503
  br label %27566

27566:                                            ; preds = %27565
  br label %27567

27567:                                            ; preds = %27566
  br label %27568

27568:                                            ; preds = %27567
  %27569 = load i32, ptr @test_count, align 4, !tbaa !5
  %27570 = add nsw i32 %27569, 1
  store i32 %27570, ptr @test_count, align 4, !tbaa !5
  %27571 = load ptr, ptr %576, align 8, !tbaa !9
  %27572 = getelementptr inbounds %struct.s2n_connection, ptr %27571, i32 0, i32 60
  %27573 = load i64, ptr %27572, align 8, !tbaa !76
  %27574 = icmp eq i64 %27573, 2
  br i1 %27574, label %27628, label %27575

27575:                                            ; preds = %27568
  br label %27576

27576:                                            ; preds = %27575
  br label %27577

27577:                                            ; preds = %27576
  call void @llvm.lifetime.start.p0(i64 4, ptr %589) #11
  %27578 = call ptr @__errno_location() #12
  %27579 = load i32, ptr %27578, align 4, !tbaa !5
  store i32 %27579, ptr %589, align 4, !tbaa !5
  %27580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27581 = call i32 @s2n_print_stacktrace(ptr noundef %27580)
  %27582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27583 = trunc i8 %27582 to i1
  br i1 %27583, label %27584, label %27606

27584:                                            ; preds = %27577
  %27585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27586 = call i32 @fileno(ptr noundef %27585) #11
  %27587 = call i32 @isatty(i32 noundef %27586) #11
  %27588 = icmp ne i32 %27587, 0
  br i1 %27588, label %27589, label %27606

27589:                                            ; preds = %27584
  %27590 = load i32, ptr %589, align 4, !tbaa !5
  %27591 = call ptr @__errno_location() #12
  store i32 %27590, ptr %27591, align 4, !tbaa !5
  %27592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27593 = load i32, ptr @test_count, align 4, !tbaa !5
  %27594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27595 = load i32, ptr %27594, align 4, !tbaa !5
  %27596 = call ptr @s2n_strerror(i32 noundef %27595, ptr noundef @.str.4)
  %27597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27598 = load i32, ptr %27597, align 4, !tbaa !5
  %27599 = call ptr @s2n_strerror_debug(i32 noundef %27598, ptr noundef @.str.4)
  %27600 = call ptr @__errno_location() #12
  %27601 = load i32, ptr %27600, align 4, !tbaa !5
  %27602 = call ptr @strerror(i32 noundef %27601) #11
  %27603 = call ptr @__errno_location() #12
  %27604 = load i32, ptr %27603, align 4, !tbaa !5
  %27605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27592, ptr noundef @.str.2, i32 noundef %27593, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 1129, ptr noundef %27596, ptr noundef %27599, ptr noundef %27602, i32 noundef %27604) #11
  br label %27623

27606:                                            ; preds = %27584, %27577
  %27607 = load i32, ptr %589, align 4, !tbaa !5
  %27608 = call ptr @__errno_location() #12
  store i32 %27607, ptr %27608, align 4, !tbaa !5
  %27609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27610 = load i32, ptr @test_count, align 4, !tbaa !5
  %27611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27612 = load i32, ptr %27611, align 4, !tbaa !5
  %27613 = call ptr @s2n_strerror(i32 noundef %27612, ptr noundef @.str.4)
  %27614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27615 = load i32, ptr %27614, align 4, !tbaa !5
  %27616 = call ptr @s2n_strerror_debug(i32 noundef %27615, ptr noundef @.str.4)
  %27617 = call ptr @__errno_location() #12
  %27618 = load i32, ptr %27617, align 4, !tbaa !5
  %27619 = call ptr @strerror(i32 noundef %27618) #11
  %27620 = call ptr @__errno_location() #12
  %27621 = load i32, ptr %27620, align 4, !tbaa !5
  %27622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27609, ptr noundef @.str.5, i32 noundef %27610, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 1129, ptr noundef %27613, ptr noundef %27616, ptr noundef %27619, i32 noundef %27621) #11
  br label %27623

27623:                                            ; preds = %27606, %27589
  call void @llvm.lifetime.end.p0(i64 4, ptr %589) #11
  br label %27624

27624:                                            ; preds = %27623
  br label %27625

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

27626:                                            ; No predecessors!
  br label %27627

27627:                                            ; preds = %27626
  br label %27628

27628:                                            ; preds = %27627, %27568
  br label %27629

27629:                                            ; preds = %27628
  br label %27630

27630:                                            ; preds = %27629
  %27631 = load ptr, ptr %576, align 8, !tbaa !9
  %27632 = getelementptr inbounds %struct.s2n_connection, ptr %27631, i32 0, i32 60
  store i64 0, ptr %27632, align 8, !tbaa !76
  br label %27633

27633:                                            ; preds = %27630
  %27634 = load i32, ptr @test_count, align 4, !tbaa !5
  %27635 = add nsw i32 %27634, 1
  store i32 %27635, ptr @test_count, align 4, !tbaa !5
  %27636 = load ptr, ptr %576, align 8, !tbaa !9
  %27637 = call i32 @s2n_early_data_record_bytes(ptr noundef %27636, i64 noundef 10)
  %27638 = getelementptr inbounds %struct.s2n_result, ptr %590, i32 0, i32 0
  store i32 %27637, ptr %27638, align 4
  %27639 = getelementptr inbounds %struct.s2n_result, ptr %590, i32 0, i32 0
  %27640 = load i32, ptr %27639, align 4
  %27641 = call zeroext i1 @s2n_result_is_ok(i32 %27640)
  br i1 %27641, label %27695, label %27642

27642:                                            ; preds = %27633
  br label %27643

27643:                                            ; preds = %27642
  br label %27644

27644:                                            ; preds = %27643
  call void @llvm.lifetime.start.p0(i64 4, ptr %591) #11
  %27645 = call ptr @__errno_location() #12
  %27646 = load i32, ptr %27645, align 4, !tbaa !5
  store i32 %27646, ptr %591, align 4, !tbaa !5
  %27647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27648 = call i32 @s2n_print_stacktrace(ptr noundef %27647)
  %27649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27650 = trunc i8 %27649 to i1
  br i1 %27650, label %27651, label %27673

27651:                                            ; preds = %27644
  %27652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27653 = call i32 @fileno(ptr noundef %27652) #11
  %27654 = call i32 @isatty(i32 noundef %27653) #11
  %27655 = icmp ne i32 %27654, 0
  br i1 %27655, label %27656, label %27673

27656:                                            ; preds = %27651
  %27657 = load i32, ptr %591, align 4, !tbaa !5
  %27658 = call ptr @__errno_location() #12
  store i32 %27657, ptr %27658, align 4, !tbaa !5
  %27659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27660 = load i32, ptr @test_count, align 4, !tbaa !5
  %27661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27662 = load i32, ptr %27661, align 4, !tbaa !5
  %27663 = call ptr @s2n_strerror(i32 noundef %27662, ptr noundef @.str.4)
  %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_debug(i32 noundef %27665, ptr noundef @.str.4)
  %27667 = call ptr @__errno_location() #12
  %27668 = load i32, ptr %27667, align 4, !tbaa !5
  %27669 = call ptr @strerror(i32 noundef %27668) #11
  %27670 = call ptr @__errno_location() #12
  %27671 = load i32, ptr %27670, align 4, !tbaa !5
  %27672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27659, ptr noundef @.str.2, i32 noundef %27660, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 1135, ptr noundef %27663, ptr noundef %27666, ptr noundef %27669, i32 noundef %27671) #11
  br label %27690

27673:                                            ; preds = %27651, %27644
  %27674 = load i32, ptr %591, align 4, !tbaa !5
  %27675 = call ptr @__errno_location() #12
  store i32 %27674, ptr %27675, align 4, !tbaa !5
  %27676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27677 = load i32, ptr @test_count, align 4, !tbaa !5
  %27678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27679 = load i32, ptr %27678, align 4, !tbaa !5
  %27680 = call ptr @s2n_strerror(i32 noundef %27679, ptr noundef @.str.4)
  %27681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27682 = load i32, ptr %27681, align 4, !tbaa !5
  %27683 = call ptr @s2n_strerror_debug(i32 noundef %27682, ptr noundef @.str.4)
  %27684 = call ptr @__errno_location() #12
  %27685 = load i32, ptr %27684, align 4, !tbaa !5
  %27686 = call ptr @strerror(i32 noundef %27685) #11
  %27687 = call ptr @__errno_location() #12
  %27688 = load i32, ptr %27687, align 4, !tbaa !5
  %27689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27676, ptr noundef @.str.5, i32 noundef %27677, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 1135, ptr noundef %27680, ptr noundef %27683, ptr noundef %27686, i32 noundef %27688) #11
  br label %27690

27690:                                            ; preds = %27673, %27656
  call void @llvm.lifetime.end.p0(i64 4, ptr %591) #11
  br label %27691

27691:                                            ; preds = %27690
  br label %27692

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

27693:                                            ; No predecessors!
  br label %27694

27694:                                            ; preds = %27693
  br label %27695

27695:                                            ; preds = %27694, %27633
  br label %27696

27696:                                            ; preds = %27695
  br label %27697

27697:                                            ; preds = %27696
  br label %27698

27698:                                            ; preds = %27697
  %27699 = load i32, ptr @test_count, align 4, !tbaa !5
  %27700 = add nsw i32 %27699, 1
  store i32 %27700, ptr @test_count, align 4, !tbaa !5
  %27701 = load ptr, ptr %576, align 8, !tbaa !9
  %27702 = getelementptr inbounds %struct.s2n_connection, ptr %27701, i32 0, i32 60
  %27703 = load i64, ptr %27702, align 8, !tbaa !76
  %27704 = icmp eq i64 %27703, 10
  br i1 %27704, label %27758, label %27705

27705:                                            ; preds = %27698
  br label %27706

27706:                                            ; preds = %27705
  br label %27707

27707:                                            ; preds = %27706
  call void @llvm.lifetime.start.p0(i64 4, ptr %592) #11
  %27708 = call ptr @__errno_location() #12
  %27709 = load i32, ptr %27708, align 4, !tbaa !5
  store i32 %27709, ptr %592, align 4, !tbaa !5
  %27710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27711 = call i32 @s2n_print_stacktrace(ptr noundef %27710)
  %27712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27713 = trunc i8 %27712 to i1
  br i1 %27713, label %27714, label %27736

27714:                                            ; preds = %27707
  %27715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27716 = call i32 @fileno(ptr noundef %27715) #11
  %27717 = call i32 @isatty(i32 noundef %27716) #11
  %27718 = icmp ne i32 %27717, 0
  br i1 %27718, label %27719, label %27736

27719:                                            ; preds = %27714
  %27720 = load i32, ptr %592, align 4, !tbaa !5
  %27721 = call ptr @__errno_location() #12
  store i32 %27720, ptr %27721, align 4, !tbaa !5
  %27722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27723 = load i32, ptr @test_count, align 4, !tbaa !5
  %27724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27725 = load i32, ptr %27724, align 4, !tbaa !5
  %27726 = call ptr @s2n_strerror(i32 noundef %27725, ptr noundef @.str.4)
  %27727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27728 = load i32, ptr %27727, align 4, !tbaa !5
  %27729 = call ptr @s2n_strerror_debug(i32 noundef %27728, ptr noundef @.str.4)
  %27730 = call ptr @__errno_location() #12
  %27731 = load i32, ptr %27730, align 4, !tbaa !5
  %27732 = call ptr @strerror(i32 noundef %27731) #11
  %27733 = call ptr @__errno_location() #12
  %27734 = load i32, ptr %27733, align 4, !tbaa !5
  %27735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27722, ptr noundef @.str.2, i32 noundef %27723, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1136, ptr noundef %27726, ptr noundef %27729, ptr noundef %27732, i32 noundef %27734) #11
  br label %27753

27736:                                            ; preds = %27714, %27707
  %27737 = load i32, ptr %592, align 4, !tbaa !5
  %27738 = call ptr @__errno_location() #12
  store i32 %27737, ptr %27738, align 4, !tbaa !5
  %27739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27740 = load i32, ptr @test_count, align 4, !tbaa !5
  %27741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27742 = load i32, ptr %27741, align 4, !tbaa !5
  %27743 = call ptr @s2n_strerror(i32 noundef %27742, ptr noundef @.str.4)
  %27744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27745 = load i32, ptr %27744, align 4, !tbaa !5
  %27746 = call ptr @s2n_strerror_debug(i32 noundef %27745, ptr noundef @.str.4)
  %27747 = call ptr @__errno_location() #12
  %27748 = load i32, ptr %27747, align 4, !tbaa !5
  %27749 = call ptr @strerror(i32 noundef %27748) #11
  %27750 = call ptr @__errno_location() #12
  %27751 = load i32, ptr %27750, align 4, !tbaa !5
  %27752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27739, ptr noundef @.str.5, i32 noundef %27740, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1136, ptr noundef %27743, ptr noundef %27746, ptr noundef %27749, i32 noundef %27751) #11
  br label %27753

27753:                                            ; preds = %27736, %27719
  call void @llvm.lifetime.end.p0(i64 4, ptr %592) #11
  br label %27754

27754:                                            ; preds = %27753
  br label %27755

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

27756:                                            ; No predecessors!
  br label %27757

27757:                                            ; preds = %27756
  br label %27758

27758:                                            ; preds = %27757, %27698
  br label %27759

27759:                                            ; preds = %27758
  br label %27760

27760:                                            ; preds = %27759
  %27761 = load ptr, ptr %576, align 8, !tbaa !9
  %27762 = getelementptr inbounds %struct.s2n_connection, ptr %27761, i32 0, i32 60
  store i64 1, ptr %27762, align 8, !tbaa !76
  br label %27763

27763:                                            ; preds = %27760
  br label %27764

27764:                                            ; preds = %27763
  br label %27765

27765:                                            ; preds = %27764
  %27766 = load i32, ptr @test_count, align 4, !tbaa !5
  %27767 = add nsw i32 %27766, 1
  store i32 %27767, ptr @test_count, align 4, !tbaa !5
  %27768 = load ptr, ptr %576, align 8, !tbaa !9
  %27769 = call i32 @s2n_early_data_record_bytes(ptr noundef %27768, i64 noundef 10)
  %27770 = getelementptr inbounds %struct.s2n_result, ptr %593, i32 0, i32 0
  store i32 %27769, ptr %27770, align 4
  %27771 = getelementptr inbounds %struct.s2n_result, ptr %593, i32 0, i32 0
  %27772 = load i32, ptr %27771, align 4
  %27773 = call zeroext i1 @s2n_result_is_error(i32 %27772)
  br i1 %27773, label %27827, label %27774

27774:                                            ; preds = %27765
  br label %27775

27775:                                            ; preds = %27774
  br label %27776

27776:                                            ; preds = %27775
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #11
  %27777 = call ptr @__errno_location() #12
  %27778 = load i32, ptr %27777, align 4, !tbaa !5
  store i32 %27778, ptr %594, align 4, !tbaa !5
  %27779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27780 = call i32 @s2n_print_stacktrace(ptr noundef %27779)
  %27781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27782 = trunc i8 %27781 to i1
  br i1 %27782, label %27783, label %27805

27783:                                            ; preds = %27776
  %27784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27785 = call i32 @fileno(ptr noundef %27784) #11
  %27786 = call i32 @isatty(i32 noundef %27785) #11
  %27787 = icmp ne i32 %27786, 0
  br i1 %27787, label %27788, label %27805

27788:                                            ; preds = %27783
  %27789 = load i32, ptr %594, align 4, !tbaa !5
  %27790 = call ptr @__errno_location() #12
  store i32 %27789, ptr %27790, align 4, !tbaa !5
  %27791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27792 = load i32, ptr @test_count, align 4, !tbaa !5
  %27793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27794 = load i32, ptr %27793, align 4, !tbaa !5
  %27795 = call ptr @s2n_strerror(i32 noundef %27794, ptr noundef @.str.4)
  %27796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27797 = load i32, ptr %27796, align 4, !tbaa !5
  %27798 = call ptr @s2n_strerror_debug(i32 noundef %27797, ptr noundef @.str.4)
  %27799 = call ptr @__errno_location() #12
  %27800 = load i32, ptr %27799, align 4, !tbaa !5
  %27801 = call ptr @strerror(i32 noundef %27800) #11
  %27802 = call ptr @__errno_location() #12
  %27803 = load i32, ptr %27802, align 4, !tbaa !5
  %27804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27791, ptr noundef @.str.2, i32 noundef %27792, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %27795, ptr noundef %27798, ptr noundef %27801, i32 noundef %27803) #11
  br label %27822

27805:                                            ; preds = %27783, %27776
  %27806 = load i32, ptr %594, align 4, !tbaa !5
  %27807 = call ptr @__errno_location() #12
  store i32 %27806, ptr %27807, align 4, !tbaa !5
  %27808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27809 = load i32, ptr @test_count, align 4, !tbaa !5
  %27810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27811 = load i32, ptr %27810, align 4, !tbaa !5
  %27812 = call ptr @s2n_strerror(i32 noundef %27811, ptr noundef @.str.4)
  %27813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27814 = load i32, ptr %27813, align 4, !tbaa !5
  %27815 = call ptr @s2n_strerror_debug(i32 noundef %27814, ptr noundef @.str.4)
  %27816 = call ptr @__errno_location() #12
  %27817 = load i32, ptr %27816, align 4, !tbaa !5
  %27818 = call ptr @strerror(i32 noundef %27817) #11
  %27819 = call ptr @__errno_location() #12
  %27820 = load i32, ptr %27819, align 4, !tbaa !5
  %27821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27808, ptr noundef @.str.5, i32 noundef %27809, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %27812, ptr noundef %27815, ptr noundef %27818, i32 noundef %27820) #11
  br label %27822

27822:                                            ; preds = %27805, %27788
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #11
  br label %27823

27823:                                            ; preds = %27822
  br label %27824

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

27825:                                            ; No predecessors!
  br label %27826

27826:                                            ; preds = %27825
  br label %27827

27827:                                            ; preds = %27826, %27765
  br label %27828

27828:                                            ; preds = %27827
  br label %27829

27829:                                            ; preds = %27828
  br label %27830

27830:                                            ; preds = %27829
  %27831 = load i32, ptr @test_count, align 4, !tbaa !5
  %27832 = add nsw i32 %27831, 1
  store i32 %27832, ptr @test_count, align 4, !tbaa !5
  %27833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27834 = load i32, ptr %27833, align 4, !tbaa !5
  %27835 = icmp eq i32 %27834, 335544396
  br i1 %27835, label %27889, label %27836

27836:                                            ; preds = %27830
  br label %27837

27837:                                            ; preds = %27836
  br label %27838

27838:                                            ; preds = %27837
  call void @llvm.lifetime.start.p0(i64 4, ptr %595) #11
  %27839 = call ptr @__errno_location() #12
  %27840 = load i32, ptr %27839, align 4, !tbaa !5
  store i32 %27840, ptr %595, align 4, !tbaa !5
  %27841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27842 = call i32 @s2n_print_stacktrace(ptr noundef %27841)
  %27843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27844 = trunc i8 %27843 to i1
  br i1 %27844, label %27845, label %27867

27845:                                            ; preds = %27838
  %27846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27847 = call i32 @fileno(ptr noundef %27846) #11
  %27848 = call i32 @isatty(i32 noundef %27847) #11
  %27849 = icmp ne i32 %27848, 0
  br i1 %27849, label %27850, label %27867

27850:                                            ; preds = %27845
  %27851 = load i32, ptr %595, align 4, !tbaa !5
  %27852 = call ptr @__errno_location() #12
  store i32 %27851, ptr %27852, align 4, !tbaa !5
  %27853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27854 = load i32, ptr @test_count, align 4, !tbaa !5
  %27855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27856 = load i32, ptr %27855, align 4, !tbaa !5
  %27857 = call ptr @s2n_strerror(i32 noundef %27856, ptr noundef @.str.4)
  %27858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27859 = load i32, ptr %27858, align 4, !tbaa !5
  %27860 = call ptr @s2n_strerror_debug(i32 noundef %27859, ptr noundef @.str.4)
  %27861 = call ptr @__errno_location() #12
  %27862 = load i32, ptr %27861, align 4, !tbaa !5
  %27863 = call ptr @strerror(i32 noundef %27862) #11
  %27864 = call ptr @__errno_location() #12
  %27865 = load i32, ptr %27864, align 4, !tbaa !5
  %27866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27853, ptr noundef @.str.2, i32 noundef %27854, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %27857, ptr noundef %27860, ptr noundef %27863, i32 noundef %27865) #11
  br label %27884

27867:                                            ; preds = %27845, %27838
  %27868 = load i32, ptr %595, align 4, !tbaa !5
  %27869 = call ptr @__errno_location() #12
  store i32 %27868, ptr %27869, align 4, !tbaa !5
  %27870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27871 = load i32, ptr @test_count, align 4, !tbaa !5
  %27872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27873 = load i32, ptr %27872, align 4, !tbaa !5
  %27874 = call ptr @s2n_strerror(i32 noundef %27873, ptr noundef @.str.4)
  %27875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27876 = load i32, ptr %27875, align 4, !tbaa !5
  %27877 = call ptr @s2n_strerror_debug(i32 noundef %27876, ptr noundef @.str.4)
  %27878 = call ptr @__errno_location() #12
  %27879 = load i32, ptr %27878, align 4, !tbaa !5
  %27880 = call ptr @strerror(i32 noundef %27879) #11
  %27881 = call ptr @__errno_location() #12
  %27882 = load i32, ptr %27881, align 4, !tbaa !5
  %27883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27870, ptr noundef @.str.5, i32 noundef %27871, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %27874, ptr noundef %27877, ptr noundef %27880, i32 noundef %27882) #11
  br label %27884

27884:                                            ; preds = %27867, %27850
  call void @llvm.lifetime.end.p0(i64 4, ptr %595) #11
  br label %27885

27885:                                            ; preds = %27884
  br label %27886

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

27887:                                            ; No predecessors!
  br label %27888

27888:                                            ; preds = %27887
  br label %27889

27889:                                            ; preds = %27888, %27830
  br label %27890

27890:                                            ; preds = %27889
  br label %27891

27891:                                            ; preds = %27890
  br label %27892

27892:                                            ; preds = %27891
  %27893 = load i32, ptr @test_count, align 4, !tbaa !5
  %27894 = add nsw i32 %27893, 1
  store i32 %27894, ptr @test_count, align 4, !tbaa !5
  %27895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27896 = load i32, ptr %27895, align 4, !tbaa !5
  %27897 = call ptr @s2n_strerror_debug(i32 noundef %27896, ptr noundef @.str.4)
  %27898 = icmp eq ptr %27897, null
  br i1 %27898, label %27899, label %27952

27899:                                            ; preds = %27892
  br label %27900

27900:                                            ; preds = %27899
  br label %27901

27901:                                            ; preds = %27900
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #11
  %27902 = call ptr @__errno_location() #12
  %27903 = load i32, ptr %27902, align 4, !tbaa !5
  store i32 %27903, ptr %596, align 4, !tbaa !5
  %27904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27905 = call i32 @s2n_print_stacktrace(ptr noundef %27904)
  %27906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27907 = trunc i8 %27906 to i1
  br i1 %27907, label %27908, label %27930

27908:                                            ; preds = %27901
  %27909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27910 = call i32 @fileno(ptr noundef %27909) #11
  %27911 = call i32 @isatty(i32 noundef %27910) #11
  %27912 = icmp ne i32 %27911, 0
  br i1 %27912, label %27913, label %27930

27913:                                            ; preds = %27908
  %27914 = load i32, ptr %596, align 4, !tbaa !5
  %27915 = call ptr @__errno_location() #12
  store i32 %27914, ptr %27915, align 4, !tbaa !5
  %27916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27917 = load i32, ptr @test_count, align 4, !tbaa !5
  %27918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27919 = load i32, ptr %27918, align 4, !tbaa !5
  %27920 = call ptr @s2n_strerror(i32 noundef %27919, ptr noundef @.str.4)
  %27921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27922 = load i32, ptr %27921, align 4, !tbaa !5
  %27923 = call ptr @s2n_strerror_debug(i32 noundef %27922, ptr noundef @.str.4)
  %27924 = call ptr @__errno_location() #12
  %27925 = load i32, ptr %27924, align 4, !tbaa !5
  %27926 = call ptr @strerror(i32 noundef %27925) #11
  %27927 = call ptr @__errno_location() #12
  %27928 = load i32, ptr %27927, align 4, !tbaa !5
  %27929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27916, ptr noundef @.str.2, i32 noundef %27917, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %27920, ptr noundef %27923, ptr noundef %27926, i32 noundef %27928) #11
  br label %27947

27930:                                            ; preds = %27908, %27901
  %27931 = load i32, ptr %596, align 4, !tbaa !5
  %27932 = call ptr @__errno_location() #12
  store i32 %27931, ptr %27932, align 4, !tbaa !5
  %27933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27934 = load i32, ptr @test_count, align 4, !tbaa !5
  %27935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27936 = load i32, ptr %27935, align 4, !tbaa !5
  %27937 = call ptr @s2n_strerror(i32 noundef %27936, ptr noundef @.str.4)
  %27938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27939 = load i32, ptr %27938, align 4, !tbaa !5
  %27940 = call ptr @s2n_strerror_debug(i32 noundef %27939, ptr noundef @.str.4)
  %27941 = call ptr @__errno_location() #12
  %27942 = load i32, ptr %27941, align 4, !tbaa !5
  %27943 = call ptr @strerror(i32 noundef %27942) #11
  %27944 = call ptr @__errno_location() #12
  %27945 = load i32, ptr %27944, align 4, !tbaa !5
  %27946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27933, ptr noundef @.str.5, i32 noundef %27934, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %27937, ptr noundef %27940, ptr noundef %27943, i32 noundef %27945) #11
  br label %27947

27947:                                            ; preds = %27930, %27913
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #11
  br label %27948

27948:                                            ; preds = %27947
  br label %27949

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

27950:                                            ; No predecessors!
  br label %27951

27951:                                            ; preds = %27950
  br label %27952

27952:                                            ; preds = %27951, %27892
  br label %27953

27953:                                            ; preds = %27952
  br label %27954

27954:                                            ; preds = %27953
  br label %27955

27955:                                            ; preds = %27954
  br label %27956

27956:                                            ; preds = %27955
  br label %27957

27957:                                            ; preds = %27956
  %27958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27958, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27959 = call ptr @__errno_location() #12
  store i32 0, ptr %27959, align 4, !tbaa !5
  br label %27960

27960:                                            ; preds = %27957
  br label %27961

27961:                                            ; preds = %27960
  br label %27962

27962:                                            ; preds = %27961
  br label %27963

27963:                                            ; preds = %27962
  br label %27964

27964:                                            ; preds = %27963
  %27965 = load i32, ptr @test_count, align 4, !tbaa !5
  %27966 = add nsw i32 %27965, 1
  store i32 %27966, ptr @test_count, align 4, !tbaa !5
  %27967 = load ptr, ptr %576, align 8, !tbaa !9
  %27968 = getelementptr inbounds %struct.s2n_connection, ptr %27967, i32 0, i32 60
  %27969 = load i64, ptr %27968, align 8, !tbaa !76
  %27970 = icmp eq i64 %27969, 11
  br i1 %27970, label %28024, label %27971

27971:                                            ; preds = %27964
  br label %27972

27972:                                            ; preds = %27971
  br label %27973

27973:                                            ; preds = %27972
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #11
  %27974 = call ptr @__errno_location() #12
  %27975 = load i32, ptr %27974, align 4, !tbaa !5
  store i32 %27975, ptr %597, align 4, !tbaa !5
  %27976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27977 = call i32 @s2n_print_stacktrace(ptr noundef %27976)
  %27978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27979 = trunc i8 %27978 to i1
  br i1 %27979, label %27980, label %28002

27980:                                            ; preds = %27973
  %27981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27982 = call i32 @fileno(ptr noundef %27981) #11
  %27983 = call i32 @isatty(i32 noundef %27982) #11
  %27984 = icmp ne i32 %27983, 0
  br i1 %27984, label %27985, label %28002

27985:                                            ; preds = %27980
  %27986 = load i32, ptr %597, align 4, !tbaa !5
  %27987 = call ptr @__errno_location() #12
  store i32 %27986, ptr %27987, align 4, !tbaa !5
  %27988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27989 = load i32, ptr @test_count, align 4, !tbaa !5
  %27990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27991 = load i32, ptr %27990, align 4, !tbaa !5
  %27992 = call ptr @s2n_strerror(i32 noundef %27991, ptr noundef @.str.4)
  %27993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27994 = load i32, ptr %27993, align 4, !tbaa !5
  %27995 = call ptr @s2n_strerror_debug(i32 noundef %27994, ptr noundef @.str.4)
  %27996 = call ptr @__errno_location() #12
  %27997 = load i32, ptr %27996, align 4, !tbaa !5
  %27998 = call ptr @strerror(i32 noundef %27997) #11
  %27999 = call ptr @__errno_location() #12
  %28000 = load i32, ptr %27999, align 4, !tbaa !5
  %28001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27988, ptr noundef @.str.2, i32 noundef %27989, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1140, ptr noundef %27992, ptr noundef %27995, ptr noundef %27998, i32 noundef %28000) #11
  br label %28019

28002:                                            ; preds = %27980, %27973
  %28003 = load i32, ptr %597, align 4, !tbaa !5
  %28004 = call ptr @__errno_location() #12
  store i32 %28003, ptr %28004, align 4, !tbaa !5
  %28005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28006 = load i32, ptr @test_count, align 4, !tbaa !5
  %28007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28008 = load i32, ptr %28007, align 4, !tbaa !5
  %28009 = call ptr @s2n_strerror(i32 noundef %28008, ptr noundef @.str.4)
  %28010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28011 = load i32, ptr %28010, align 4, !tbaa !5
  %28012 = call ptr @s2n_strerror_debug(i32 noundef %28011, ptr noundef @.str.4)
  %28013 = call ptr @__errno_location() #12
  %28014 = load i32, ptr %28013, align 4, !tbaa !5
  %28015 = call ptr @strerror(i32 noundef %28014) #11
  %28016 = call ptr @__errno_location() #12
  %28017 = load i32, ptr %28016, align 4, !tbaa !5
  %28018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28005, ptr noundef @.str.5, i32 noundef %28006, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1140, ptr noundef %28009, ptr noundef %28012, ptr noundef %28015, i32 noundef %28017) #11
  br label %28019

28019:                                            ; preds = %28002, %27985
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #11
  br label %28020

28020:                                            ; preds = %28019
  br label %28021

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

28022:                                            ; No predecessors!
  br label %28023

28023:                                            ; preds = %28022
  br label %28024

28024:                                            ; preds = %28023, %27964
  br label %28025

28025:                                            ; preds = %28024
  br label %28026

28026:                                            ; preds = %28025
  %28027 = load ptr, ptr %576, align 8, !tbaa !9
  %28028 = getelementptr inbounds %struct.s2n_connection, ptr %28027, i32 0, i32 60
  store i64 -3, ptr %28028, align 8, !tbaa !76
  br label %28029

28029:                                            ; preds = %28026
  br label %28030

28030:                                            ; preds = %28029
  br label %28031

28031:                                            ; preds = %28030
  %28032 = load i32, ptr @test_count, align 4, !tbaa !5
  %28033 = add nsw i32 %28032, 1
  store i32 %28033, ptr @test_count, align 4, !tbaa !5
  %28034 = load ptr, ptr %576, align 8, !tbaa !9
  %28035 = call i32 @s2n_early_data_record_bytes(ptr noundef %28034, i64 noundef 1)
  %28036 = getelementptr inbounds %struct.s2n_result, ptr %598, i32 0, i32 0
  store i32 %28035, ptr %28036, align 4
  %28037 = getelementptr inbounds %struct.s2n_result, ptr %598, i32 0, i32 0
  %28038 = load i32, ptr %28037, align 4
  %28039 = call zeroext i1 @s2n_result_is_error(i32 %28038)
  br i1 %28039, label %28093, label %28040

28040:                                            ; preds = %28031
  br label %28041

28041:                                            ; preds = %28040
  br label %28042

28042:                                            ; preds = %28041
  call void @llvm.lifetime.start.p0(i64 4, ptr %599) #11
  %28043 = call ptr @__errno_location() #12
  %28044 = load i32, ptr %28043, align 4, !tbaa !5
  store i32 %28044, ptr %599, align 4, !tbaa !5
  %28045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28046 = call i32 @s2n_print_stacktrace(ptr noundef %28045)
  %28047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28048 = trunc i8 %28047 to i1
  br i1 %28048, label %28049, label %28071

28049:                                            ; preds = %28042
  %28050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28051 = call i32 @fileno(ptr noundef %28050) #11
  %28052 = call i32 @isatty(i32 noundef %28051) #11
  %28053 = icmp ne i32 %28052, 0
  br i1 %28053, label %28054, label %28071

28054:                                            ; preds = %28049
  %28055 = load i32, ptr %599, align 4, !tbaa !5
  %28056 = call ptr @__errno_location() #12
  store i32 %28055, ptr %28056, align 4, !tbaa !5
  %28057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28058 = load i32, ptr @test_count, align 4, !tbaa !5
  %28059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28060 = load i32, ptr %28059, align 4, !tbaa !5
  %28061 = call ptr @s2n_strerror(i32 noundef %28060, ptr noundef @.str.4)
  %28062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28063 = load i32, ptr %28062, align 4, !tbaa !5
  %28064 = call ptr @s2n_strerror_debug(i32 noundef %28063, ptr noundef @.str.4)
  %28065 = call ptr @__errno_location() #12
  %28066 = load i32, ptr %28065, align 4, !tbaa !5
  %28067 = call ptr @strerror(i32 noundef %28066) #11
  %28068 = call ptr @__errno_location() #12
  %28069 = load i32, ptr %28068, align 4, !tbaa !5
  %28070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28057, ptr noundef @.str.2, i32 noundef %28058, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1146, ptr noundef %28061, ptr noundef %28064, ptr noundef %28067, i32 noundef %28069) #11
  br label %28088

28071:                                            ; preds = %28049, %28042
  %28072 = load i32, ptr %599, align 4, !tbaa !5
  %28073 = call ptr @__errno_location() #12
  store i32 %28072, ptr %28073, align 4, !tbaa !5
  %28074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28075 = load i32, ptr @test_count, align 4, !tbaa !5
  %28076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28077 = load i32, ptr %28076, align 4, !tbaa !5
  %28078 = call ptr @s2n_strerror(i32 noundef %28077, ptr noundef @.str.4)
  %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_debug(i32 noundef %28080, ptr noundef @.str.4)
  %28082 = call ptr @__errno_location() #12
  %28083 = load i32, ptr %28082, align 4, !tbaa !5
  %28084 = call ptr @strerror(i32 noundef %28083) #11
  %28085 = call ptr @__errno_location() #12
  %28086 = load i32, ptr %28085, align 4, !tbaa !5
  %28087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28074, ptr noundef @.str.5, i32 noundef %28075, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1146, ptr noundef %28078, ptr noundef %28081, ptr noundef %28084, i32 noundef %28086) #11
  br label %28088

28088:                                            ; preds = %28071, %28054
  call void @llvm.lifetime.end.p0(i64 4, ptr %599) #11
  br label %28089

28089:                                            ; preds = %28088
  br label %28090

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

28091:                                            ; No predecessors!
  br label %28092

28092:                                            ; preds = %28091
  br label %28093

28093:                                            ; preds = %28092, %28031
  br label %28094

28094:                                            ; preds = %28093
  br label %28095

28095:                                            ; preds = %28094
  br label %28096

28096:                                            ; preds = %28095
  %28097 = load i32, ptr @test_count, align 4, !tbaa !5
  %28098 = add nsw i32 %28097, 1
  store i32 %28098, ptr @test_count, align 4, !tbaa !5
  %28099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28100 = load i32, ptr %28099, align 4, !tbaa !5
  %28101 = icmp eq i32 %28100, 335544396
  br i1 %28101, label %28155, label %28102

28102:                                            ; preds = %28096
  br label %28103

28103:                                            ; preds = %28102
  br label %28104

28104:                                            ; preds = %28103
  call void @llvm.lifetime.start.p0(i64 4, ptr %600) #11
  %28105 = call ptr @__errno_location() #12
  %28106 = load i32, ptr %28105, align 4, !tbaa !5
  store i32 %28106, ptr %600, align 4, !tbaa !5
  %28107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28108 = call i32 @s2n_print_stacktrace(ptr noundef %28107)
  %28109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28110 = trunc i8 %28109 to i1
  br i1 %28110, label %28111, label %28133

28111:                                            ; preds = %28104
  %28112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28113 = call i32 @fileno(ptr noundef %28112) #11
  %28114 = call i32 @isatty(i32 noundef %28113) #11
  %28115 = icmp ne i32 %28114, 0
  br i1 %28115, label %28116, label %28133

28116:                                            ; preds = %28111
  %28117 = load i32, ptr %600, align 4, !tbaa !5
  %28118 = call ptr @__errno_location() #12
  store i32 %28117, ptr %28118, align 4, !tbaa !5
  %28119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28120 = load i32, ptr @test_count, align 4, !tbaa !5
  %28121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28122 = load i32, ptr %28121, align 4, !tbaa !5
  %28123 = call ptr @s2n_strerror(i32 noundef %28122, ptr noundef @.str.4)
  %28124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28125 = load i32, ptr %28124, align 4, !tbaa !5
  %28126 = call ptr @s2n_strerror_debug(i32 noundef %28125, ptr noundef @.str.4)
  %28127 = call ptr @__errno_location() #12
  %28128 = load i32, ptr %28127, align 4, !tbaa !5
  %28129 = call ptr @strerror(i32 noundef %28128) #11
  %28130 = call ptr @__errno_location() #12
  %28131 = load i32, ptr %28130, align 4, !tbaa !5
  %28132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28119, ptr noundef @.str.2, i32 noundef %28120, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1146, ptr noundef %28123, ptr noundef %28126, ptr noundef %28129, i32 noundef %28131) #11
  br label %28150

28133:                                            ; preds = %28111, %28104
  %28134 = load i32, ptr %600, align 4, !tbaa !5
  %28135 = call ptr @__errno_location() #12
  store i32 %28134, ptr %28135, align 4, !tbaa !5
  %28136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28137 = load i32, ptr @test_count, align 4, !tbaa !5
  %28138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28139 = load i32, ptr %28138, align 4, !tbaa !5
  %28140 = call ptr @s2n_strerror(i32 noundef %28139, ptr noundef @.str.4)
  %28141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28142 = load i32, ptr %28141, align 4, !tbaa !5
  %28143 = call ptr @s2n_strerror_debug(i32 noundef %28142, ptr noundef @.str.4)
  %28144 = call ptr @__errno_location() #12
  %28145 = load i32, ptr %28144, align 4, !tbaa !5
  %28146 = call ptr @strerror(i32 noundef %28145) #11
  %28147 = call ptr @__errno_location() #12
  %28148 = load i32, ptr %28147, align 4, !tbaa !5
  %28149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28136, ptr noundef @.str.5, i32 noundef %28137, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1146, ptr noundef %28140, ptr noundef %28143, ptr noundef %28146, i32 noundef %28148) #11
  br label %28150

28150:                                            ; preds = %28133, %28116
  call void @llvm.lifetime.end.p0(i64 4, ptr %600) #11
  br label %28151

28151:                                            ; preds = %28150
  br label %28152

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

28153:                                            ; No predecessors!
  br label %28154

28154:                                            ; preds = %28153
  br label %28155

28155:                                            ; preds = %28154, %28096
  br label %28156

28156:                                            ; preds = %28155
  br label %28157

28157:                                            ; preds = %28156
  br label %28158

28158:                                            ; preds = %28157
  %28159 = load i32, ptr @test_count, align 4, !tbaa !5
  %28160 = add nsw i32 %28159, 1
  store i32 %28160, ptr @test_count, align 4, !tbaa !5
  %28161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28162 = load i32, ptr %28161, align 4, !tbaa !5
  %28163 = call ptr @s2n_strerror_debug(i32 noundef %28162, ptr noundef @.str.4)
  %28164 = icmp eq ptr %28163, null
  br i1 %28164, label %28165, label %28218

28165:                                            ; preds = %28158
  br label %28166

28166:                                            ; preds = %28165
  br label %28167

28167:                                            ; preds = %28166
  call void @llvm.lifetime.start.p0(i64 4, ptr %601) #11
  %28168 = call ptr @__errno_location() #12
  %28169 = load i32, ptr %28168, align 4, !tbaa !5
  store i32 %28169, ptr %601, align 4, !tbaa !5
  %28170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28171 = call i32 @s2n_print_stacktrace(ptr noundef %28170)
  %28172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28173 = trunc i8 %28172 to i1
  br i1 %28173, label %28174, label %28196

28174:                                            ; preds = %28167
  %28175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28176 = call i32 @fileno(ptr noundef %28175) #11
  %28177 = call i32 @isatty(i32 noundef %28176) #11
  %28178 = icmp ne i32 %28177, 0
  br i1 %28178, label %28179, label %28196

28179:                                            ; preds = %28174
  %28180 = load i32, ptr %601, align 4, !tbaa !5
  %28181 = call ptr @__errno_location() #12
  store i32 %28180, ptr %28181, align 4, !tbaa !5
  %28182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28183 = load i32, ptr @test_count, align 4, !tbaa !5
  %28184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28185 = load i32, ptr %28184, align 4, !tbaa !5
  %28186 = call ptr @s2n_strerror(i32 noundef %28185, ptr noundef @.str.4)
  %28187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28188 = load i32, ptr %28187, align 4, !tbaa !5
  %28189 = call ptr @s2n_strerror_debug(i32 noundef %28188, ptr noundef @.str.4)
  %28190 = call ptr @__errno_location() #12
  %28191 = load i32, ptr %28190, align 4, !tbaa !5
  %28192 = call ptr @strerror(i32 noundef %28191) #11
  %28193 = call ptr @__errno_location() #12
  %28194 = load i32, ptr %28193, align 4, !tbaa !5
  %28195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28182, ptr noundef @.str.2, i32 noundef %28183, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1146, ptr noundef %28186, ptr noundef %28189, ptr noundef %28192, i32 noundef %28194) #11
  br label %28213

28196:                                            ; preds = %28174, %28167
  %28197 = load i32, ptr %601, align 4, !tbaa !5
  %28198 = call ptr @__errno_location() #12
  store i32 %28197, ptr %28198, align 4, !tbaa !5
  %28199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28200 = load i32, ptr @test_count, align 4, !tbaa !5
  %28201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28202 = load i32, ptr %28201, align 4, !tbaa !5
  %28203 = call ptr @s2n_strerror(i32 noundef %28202, ptr noundef @.str.4)
  %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_debug(i32 noundef %28205, ptr noundef @.str.4)
  %28207 = call ptr @__errno_location() #12
  %28208 = load i32, ptr %28207, align 4, !tbaa !5
  %28209 = call ptr @strerror(i32 noundef %28208) #11
  %28210 = call ptr @__errno_location() #12
  %28211 = load i32, ptr %28210, align 4, !tbaa !5
  %28212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28199, ptr noundef @.str.5, i32 noundef %28200, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1146, ptr noundef %28203, ptr noundef %28206, ptr noundef %28209, i32 noundef %28211) #11
  br label %28213

28213:                                            ; preds = %28196, %28179
  call void @llvm.lifetime.end.p0(i64 4, ptr %601) #11
  br label %28214

28214:                                            ; preds = %28213
  br label %28215

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

28216:                                            ; No predecessors!
  br label %28217

28217:                                            ; preds = %28216
  br label %28218

28218:                                            ; preds = %28217, %28158
  br label %28219

28219:                                            ; preds = %28218
  br label %28220

28220:                                            ; preds = %28219
  br label %28221

28221:                                            ; preds = %28220
  br label %28222

28222:                                            ; preds = %28221
  br label %28223

28223:                                            ; preds = %28222
  %28224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28224, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28225 = call ptr @__errno_location() #12
  store i32 0, ptr %28225, align 4, !tbaa !5
  br label %28226

28226:                                            ; preds = %28223
  br label %28227

28227:                                            ; preds = %28226
  br label %28228

28228:                                            ; preds = %28227
  br label %28229

28229:                                            ; preds = %28228
  br label %28230

28230:                                            ; preds = %28229
  %28231 = load i32, ptr @test_count, align 4, !tbaa !5
  %28232 = add nsw i32 %28231, 1
  store i32 %28232, ptr @test_count, align 4, !tbaa !5
  %28233 = load ptr, ptr %576, align 8, !tbaa !9
  %28234 = getelementptr inbounds %struct.s2n_connection, ptr %28233, i32 0, i32 60
  %28235 = load i64, ptr %28234, align 8, !tbaa !76
  %28236 = icmp eq i64 %28235, -2
  br i1 %28236, label %28290, label %28237

28237:                                            ; preds = %28230
  br label %28238

28238:                                            ; preds = %28237
  br label %28239

28239:                                            ; preds = %28238
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #11
  %28240 = call ptr @__errno_location() #12
  %28241 = load i32, ptr %28240, align 4, !tbaa !5
  store i32 %28241, ptr %602, align 4, !tbaa !5
  %28242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28243 = call i32 @s2n_print_stacktrace(ptr noundef %28242)
  %28244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28245 = trunc i8 %28244 to i1
  br i1 %28245, label %28246, label %28268

28246:                                            ; preds = %28239
  %28247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28248 = call i32 @fileno(ptr noundef %28247) #11
  %28249 = call i32 @isatty(i32 noundef %28248) #11
  %28250 = icmp ne i32 %28249, 0
  br i1 %28250, label %28251, label %28268

28251:                                            ; preds = %28246
  %28252 = load i32, ptr %602, align 4, !tbaa !5
  %28253 = call ptr @__errno_location() #12
  store i32 %28252, ptr %28253, align 4, !tbaa !5
  %28254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28255 = load i32, ptr @test_count, align 4, !tbaa !5
  %28256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28257 = load i32, ptr %28256, align 4, !tbaa !5
  %28258 = call ptr @s2n_strerror(i32 noundef %28257, ptr noundef @.str.4)
  %28259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28260 = load i32, ptr %28259, align 4, !tbaa !5
  %28261 = call ptr @s2n_strerror_debug(i32 noundef %28260, ptr noundef @.str.4)
  %28262 = call ptr @__errno_location() #12
  %28263 = load i32, ptr %28262, align 4, !tbaa !5
  %28264 = call ptr @strerror(i32 noundef %28263) #11
  %28265 = call ptr @__errno_location() #12
  %28266 = load i32, ptr %28265, align 4, !tbaa !5
  %28267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28254, ptr noundef @.str.2, i32 noundef %28255, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 1147, ptr noundef %28258, ptr noundef %28261, ptr noundef %28264, i32 noundef %28266) #11
  br label %28285

28268:                                            ; preds = %28246, %28239
  %28269 = load i32, ptr %602, align 4, !tbaa !5
  %28270 = call ptr @__errno_location() #12
  store i32 %28269, ptr %28270, align 4, !tbaa !5
  %28271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28272 = load i32, ptr @test_count, align 4, !tbaa !5
  %28273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28274 = load i32, ptr %28273, align 4, !tbaa !5
  %28275 = call ptr @s2n_strerror(i32 noundef %28274, ptr noundef @.str.4)
  %28276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28277 = load i32, ptr %28276, align 4, !tbaa !5
  %28278 = call ptr @s2n_strerror_debug(i32 noundef %28277, ptr noundef @.str.4)
  %28279 = call ptr @__errno_location() #12
  %28280 = load i32, ptr %28279, align 4, !tbaa !5
  %28281 = call ptr @strerror(i32 noundef %28280) #11
  %28282 = call ptr @__errno_location() #12
  %28283 = load i32, ptr %28282, align 4, !tbaa !5
  %28284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28271, ptr noundef @.str.5, i32 noundef %28272, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 1147, ptr noundef %28275, ptr noundef %28278, ptr noundef %28281, i32 noundef %28283) #11
  br label %28285

28285:                                            ; preds = %28268, %28251
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #11
  br label %28286

28286:                                            ; preds = %28285
  br label %28287

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

28288:                                            ; No predecessors!
  br label %28289

28289:                                            ; preds = %28288
  br label %28290

28290:                                            ; preds = %28289, %28230
  br label %28291

28291:                                            ; preds = %28290
  br label %28292

28292:                                            ; preds = %28291
  %28293 = load ptr, ptr %576, align 8, !tbaa !9
  %28294 = getelementptr inbounds %struct.s2n_connection, ptr %28293, i32 0, i32 60
  store i64 -2, ptr %28294, align 8, !tbaa !76
  br label %28295

28295:                                            ; preds = %28292
  br label %28296

28296:                                            ; preds = %28295
  br label %28297

28297:                                            ; preds = %28296
  %28298 = load i32, ptr @test_count, align 4, !tbaa !5
  %28299 = add nsw i32 %28298, 1
  store i32 %28299, ptr @test_count, align 4, !tbaa !5
  %28300 = load ptr, ptr %576, align 8, !tbaa !9
  %28301 = call i32 @s2n_early_data_record_bytes(ptr noundef %28300, i64 noundef 1)
  %28302 = getelementptr inbounds %struct.s2n_result, ptr %603, i32 0, i32 0
  store i32 %28301, ptr %28302, align 4
  %28303 = getelementptr inbounds %struct.s2n_result, ptr %603, i32 0, i32 0
  %28304 = load i32, ptr %28303, align 4
  %28305 = call zeroext i1 @s2n_result_is_error(i32 %28304)
  br i1 %28305, label %28359, label %28306

28306:                                            ; preds = %28297
  br label %28307

28307:                                            ; preds = %28306
  br label %28308

28308:                                            ; preds = %28307
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #11
  %28309 = call ptr @__errno_location() #12
  %28310 = load i32, ptr %28309, align 4, !tbaa !5
  store i32 %28310, ptr %604, align 4, !tbaa !5
  %28311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28312 = call i32 @s2n_print_stacktrace(ptr noundef %28311)
  %28313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28314 = trunc i8 %28313 to i1
  br i1 %28314, label %28315, label %28337

28315:                                            ; preds = %28308
  %28316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28317 = call i32 @fileno(ptr noundef %28316) #11
  %28318 = call i32 @isatty(i32 noundef %28317) #11
  %28319 = icmp ne i32 %28318, 0
  br i1 %28319, label %28320, label %28337

28320:                                            ; preds = %28315
  %28321 = load i32, ptr %604, align 4, !tbaa !5
  %28322 = call ptr @__errno_location() #12
  store i32 %28321, ptr %28322, align 4, !tbaa !5
  %28323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28324 = load i32, ptr @test_count, align 4, !tbaa !5
  %28325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28326 = load i32, ptr %28325, align 4, !tbaa !5
  %28327 = call ptr @s2n_strerror(i32 noundef %28326, ptr noundef @.str.4)
  %28328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28329 = load i32, ptr %28328, align 4, !tbaa !5
  %28330 = call ptr @s2n_strerror_debug(i32 noundef %28329, ptr noundef @.str.4)
  %28331 = call ptr @__errno_location() #12
  %28332 = load i32, ptr %28331, align 4, !tbaa !5
  %28333 = call ptr @strerror(i32 noundef %28332) #11
  %28334 = call ptr @__errno_location() #12
  %28335 = load i32, ptr %28334, align 4, !tbaa !5
  %28336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28323, ptr noundef @.str.2, i32 noundef %28324, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %28327, ptr noundef %28330, ptr noundef %28333, i32 noundef %28335) #11
  br label %28354

28337:                                            ; preds = %28315, %28308
  %28338 = load i32, ptr %604, align 4, !tbaa !5
  %28339 = call ptr @__errno_location() #12
  store i32 %28338, ptr %28339, align 4, !tbaa !5
  %28340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28341 = load i32, ptr @test_count, align 4, !tbaa !5
  %28342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28343 = load i32, ptr %28342, align 4, !tbaa !5
  %28344 = call ptr @s2n_strerror(i32 noundef %28343, ptr noundef @.str.4)
  %28345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28346 = load i32, ptr %28345, align 4, !tbaa !5
  %28347 = call ptr @s2n_strerror_debug(i32 noundef %28346, ptr noundef @.str.4)
  %28348 = call ptr @__errno_location() #12
  %28349 = load i32, ptr %28348, align 4, !tbaa !5
  %28350 = call ptr @strerror(i32 noundef %28349) #11
  %28351 = call ptr @__errno_location() #12
  %28352 = load i32, ptr %28351, align 4, !tbaa !5
  %28353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28340, ptr noundef @.str.5, i32 noundef %28341, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %28344, ptr noundef %28347, ptr noundef %28350, i32 noundef %28352) #11
  br label %28354

28354:                                            ; preds = %28337, %28320
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #11
  br label %28355

28355:                                            ; preds = %28354
  br label %28356

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

28357:                                            ; No predecessors!
  br label %28358

28358:                                            ; preds = %28357
  br label %28359

28359:                                            ; preds = %28358, %28297
  br label %28360

28360:                                            ; preds = %28359
  br label %28361

28361:                                            ; preds = %28360
  br label %28362

28362:                                            ; preds = %28361
  %28363 = load i32, ptr @test_count, align 4, !tbaa !5
  %28364 = add nsw i32 %28363, 1
  store i32 %28364, ptr @test_count, align 4, !tbaa !5
  %28365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28366 = load i32, ptr %28365, align 4, !tbaa !5
  %28367 = icmp eq i32 %28366, 335544396
  br i1 %28367, label %28421, label %28368

28368:                                            ; preds = %28362
  br label %28369

28369:                                            ; preds = %28368
  br label %28370

28370:                                            ; preds = %28369
  call void @llvm.lifetime.start.p0(i64 4, ptr %605) #11
  %28371 = call ptr @__errno_location() #12
  %28372 = load i32, ptr %28371, align 4, !tbaa !5
  store i32 %28372, ptr %605, align 4, !tbaa !5
  %28373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28374 = call i32 @s2n_print_stacktrace(ptr noundef %28373)
  %28375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28376 = trunc i8 %28375 to i1
  br i1 %28376, label %28377, label %28399

28377:                                            ; preds = %28370
  %28378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28379 = call i32 @fileno(ptr noundef %28378) #11
  %28380 = call i32 @isatty(i32 noundef %28379) #11
  %28381 = icmp ne i32 %28380, 0
  br i1 %28381, label %28382, label %28399

28382:                                            ; preds = %28377
  %28383 = load i32, ptr %605, align 4, !tbaa !5
  %28384 = call ptr @__errno_location() #12
  store i32 %28383, ptr %28384, align 4, !tbaa !5
  %28385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28386 = load i32, ptr @test_count, align 4, !tbaa !5
  %28387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28388 = load i32, ptr %28387, align 4, !tbaa !5
  %28389 = call ptr @s2n_strerror(i32 noundef %28388, ptr noundef @.str.4)
  %28390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28391 = load i32, ptr %28390, align 4, !tbaa !5
  %28392 = call ptr @s2n_strerror_debug(i32 noundef %28391, ptr noundef @.str.4)
  %28393 = call ptr @__errno_location() #12
  %28394 = load i32, ptr %28393, align 4, !tbaa !5
  %28395 = call ptr @strerror(i32 noundef %28394) #11
  %28396 = call ptr @__errno_location() #12
  %28397 = load i32, ptr %28396, align 4, !tbaa !5
  %28398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28385, ptr noundef @.str.2, i32 noundef %28386, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %28389, ptr noundef %28392, ptr noundef %28395, i32 noundef %28397) #11
  br label %28416

28399:                                            ; preds = %28377, %28370
  %28400 = load i32, ptr %605, align 4, !tbaa !5
  %28401 = call ptr @__errno_location() #12
  store i32 %28400, ptr %28401, align 4, !tbaa !5
  %28402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28403 = load i32, ptr @test_count, align 4, !tbaa !5
  %28404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28405 = load i32, ptr %28404, align 4, !tbaa !5
  %28406 = call ptr @s2n_strerror(i32 noundef %28405, ptr noundef @.str.4)
  %28407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28408 = load i32, ptr %28407, align 4, !tbaa !5
  %28409 = call ptr @s2n_strerror_debug(i32 noundef %28408, ptr noundef @.str.4)
  %28410 = call ptr @__errno_location() #12
  %28411 = load i32, ptr %28410, align 4, !tbaa !5
  %28412 = call ptr @strerror(i32 noundef %28411) #11
  %28413 = call ptr @__errno_location() #12
  %28414 = load i32, ptr %28413, align 4, !tbaa !5
  %28415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28402, ptr noundef @.str.5, i32 noundef %28403, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %28406, ptr noundef %28409, ptr noundef %28412, i32 noundef %28414) #11
  br label %28416

28416:                                            ; preds = %28399, %28382
  call void @llvm.lifetime.end.p0(i64 4, ptr %605) #11
  br label %28417

28417:                                            ; preds = %28416
  br label %28418

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

28419:                                            ; No predecessors!
  br label %28420

28420:                                            ; preds = %28419
  br label %28421

28421:                                            ; preds = %28420, %28362
  br label %28422

28422:                                            ; preds = %28421
  br label %28423

28423:                                            ; preds = %28422
  br label %28424

28424:                                            ; preds = %28423
  %28425 = load i32, ptr @test_count, align 4, !tbaa !5
  %28426 = add nsw i32 %28425, 1
  store i32 %28426, ptr @test_count, align 4, !tbaa !5
  %28427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28428 = load i32, ptr %28427, align 4, !tbaa !5
  %28429 = call ptr @s2n_strerror_debug(i32 noundef %28428, ptr noundef @.str.4)
  %28430 = icmp eq ptr %28429, null
  br i1 %28430, label %28431, label %28484

28431:                                            ; preds = %28424
  br label %28432

28432:                                            ; preds = %28431
  br label %28433

28433:                                            ; preds = %28432
  call void @llvm.lifetime.start.p0(i64 4, ptr %606) #11
  %28434 = call ptr @__errno_location() #12
  %28435 = load i32, ptr %28434, align 4, !tbaa !5
  store i32 %28435, ptr %606, align 4, !tbaa !5
  %28436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28437 = call i32 @s2n_print_stacktrace(ptr noundef %28436)
  %28438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28439 = trunc i8 %28438 to i1
  br i1 %28439, label %28440, label %28462

28440:                                            ; preds = %28433
  %28441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28442 = call i32 @fileno(ptr noundef %28441) #11
  %28443 = call i32 @isatty(i32 noundef %28442) #11
  %28444 = icmp ne i32 %28443, 0
  br i1 %28444, label %28445, label %28462

28445:                                            ; preds = %28440
  %28446 = load i32, ptr %606, align 4, !tbaa !5
  %28447 = call ptr @__errno_location() #12
  store i32 %28446, ptr %28447, align 4, !tbaa !5
  %28448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28449 = load i32, ptr @test_count, align 4, !tbaa !5
  %28450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28451 = load i32, ptr %28450, align 4, !tbaa !5
  %28452 = call ptr @s2n_strerror(i32 noundef %28451, ptr noundef @.str.4)
  %28453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28454 = load i32, ptr %28453, align 4, !tbaa !5
  %28455 = call ptr @s2n_strerror_debug(i32 noundef %28454, ptr noundef @.str.4)
  %28456 = call ptr @__errno_location() #12
  %28457 = load i32, ptr %28456, align 4, !tbaa !5
  %28458 = call ptr @strerror(i32 noundef %28457) #11
  %28459 = call ptr @__errno_location() #12
  %28460 = load i32, ptr %28459, align 4, !tbaa !5
  %28461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28448, ptr noundef @.str.2, i32 noundef %28449, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %28452, ptr noundef %28455, ptr noundef %28458, i32 noundef %28460) #11
  br label %28479

28462:                                            ; preds = %28440, %28433
  %28463 = load i32, ptr %606, align 4, !tbaa !5
  %28464 = call ptr @__errno_location() #12
  store i32 %28463, ptr %28464, align 4, !tbaa !5
  %28465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28466 = load i32, ptr @test_count, align 4, !tbaa !5
  %28467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28468 = load i32, ptr %28467, align 4, !tbaa !5
  %28469 = call ptr @s2n_strerror(i32 noundef %28468, ptr noundef @.str.4)
  %28470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28471 = load i32, ptr %28470, align 4, !tbaa !5
  %28472 = call ptr @s2n_strerror_debug(i32 noundef %28471, ptr noundef @.str.4)
  %28473 = call ptr @__errno_location() #12
  %28474 = load i32, ptr %28473, align 4, !tbaa !5
  %28475 = call ptr @strerror(i32 noundef %28474) #11
  %28476 = call ptr @__errno_location() #12
  %28477 = load i32, ptr %28476, align 4, !tbaa !5
  %28478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28465, ptr noundef @.str.5, i32 noundef %28466, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %28469, ptr noundef %28472, ptr noundef %28475, i32 noundef %28477) #11
  br label %28479

28479:                                            ; preds = %28462, %28445
  call void @llvm.lifetime.end.p0(i64 4, ptr %606) #11
  br label %28480

28480:                                            ; preds = %28479
  br label %28481

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

28482:                                            ; No predecessors!
  br label %28483

28483:                                            ; preds = %28482
  br label %28484

28484:                                            ; preds = %28483, %28424
  br label %28485

28485:                                            ; preds = %28484
  br label %28486

28486:                                            ; preds = %28485
  br label %28487

28487:                                            ; preds = %28486
  br label %28488

28488:                                            ; preds = %28487
  br label %28489

28489:                                            ; preds = %28488
  %28490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28490, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28491 = call ptr @__errno_location() #12
  store i32 0, ptr %28491, align 4, !tbaa !5
  br label %28492

28492:                                            ; preds = %28489
  br label %28493

28493:                                            ; preds = %28492
  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 %576, align 8, !tbaa !9
  %28500 = getelementptr inbounds %struct.s2n_connection, ptr %28499, i32 0, i32 60
  %28501 = load i64, ptr %28500, align 8, !tbaa !76
  %28502 = icmp eq i64 %28501, -1
  br i1 %28502, label %28556, label %28503

28503:                                            ; preds = %28496
  br label %28504

28504:                                            ; preds = %28503
  br label %28505

28505:                                            ; preds = %28504
  call void @llvm.lifetime.start.p0(i64 4, ptr %607) #11
  %28506 = call ptr @__errno_location() #12
  %28507 = load i32, ptr %28506, align 4, !tbaa !5
  store i32 %28507, ptr %607, 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) #11
  %28515 = call i32 @isatty(i32 noundef %28514) #11
  %28516 = icmp ne i32 %28515, 0
  br i1 %28516, label %28517, label %28534

28517:                                            ; preds = %28512
  %28518 = load i32, ptr %607, align 4, !tbaa !5
  %28519 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %28528 = call ptr @__errno_location() #12
  %28529 = load i32, ptr %28528, align 4, !tbaa !5
  %28530 = call ptr @strerror(i32 noundef %28529) #11
  %28531 = call ptr @__errno_location() #12
  %28532 = load i32, ptr %28531, align 4, !tbaa !5
  %28533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28520, ptr noundef @.str.2, i32 noundef %28521, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1151, ptr noundef %28524, ptr noundef %28527, ptr noundef %28530, i32 noundef %28532) #11
  br label %28551

28534:                                            ; preds = %28512, %28505
  %28535 = load i32, ptr %607, align 4, !tbaa !5
  %28536 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %28545 = call ptr @__errno_location() #12
  %28546 = load i32, ptr %28545, align 4, !tbaa !5
  %28547 = call ptr @strerror(i32 noundef %28546) #11
  %28548 = call ptr @__errno_location() #12
  %28549 = load i32, ptr %28548, align 4, !tbaa !5
  %28550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28537, ptr noundef @.str.5, i32 noundef %28538, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1151, ptr noundef %28541, ptr noundef %28544, ptr noundef %28547, i32 noundef %28549) #11
  br label %28551

28551:                                            ; preds = %28534, %28517
  call void @llvm.lifetime.end.p0(i64 4, ptr %607) #11
  br label %28552

28552:                                            ; preds = %28551
  br label %28553

28553:                                            ; preds = %28552
  call void @exit(i32 noundef 1) #13
  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
  %28559 = load ptr, ptr %576, align 8, !tbaa !9
  %28560 = getelementptr inbounds %struct.s2n_connection, ptr %28559, i32 0, i32 60
  store i64 -1, ptr %28560, align 8, !tbaa !76
  br label %28561

28561:                                            ; preds = %28558
  br label %28562

28562:                                            ; preds = %28561
  br label %28563

28563:                                            ; preds = %28562
  %28564 = load i32, ptr @test_count, align 4, !tbaa !5
  %28565 = add nsw i32 %28564, 1
  store i32 %28565, ptr @test_count, align 4, !tbaa !5
  %28566 = load ptr, ptr %576, align 8, !tbaa !9
  %28567 = call i32 @s2n_early_data_record_bytes(ptr noundef %28566, i64 noundef 1)
  %28568 = getelementptr inbounds %struct.s2n_result, ptr %608, i32 0, i32 0
  store i32 %28567, ptr %28568, align 4
  %28569 = getelementptr inbounds %struct.s2n_result, ptr %608, i32 0, i32 0
  %28570 = load i32, ptr %28569, align 4
  %28571 = call zeroext i1 @s2n_result_is_error(i32 %28570)
  br i1 %28571, label %28625, label %28572

28572:                                            ; preds = %28563
  br label %28573

28573:                                            ; preds = %28572
  br label %28574

28574:                                            ; preds = %28573
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #11
  %28575 = call ptr @__errno_location() #12
  %28576 = load i32, ptr %28575, align 4, !tbaa !5
  store i32 %28576, ptr %609, align 4, !tbaa !5
  %28577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28578 = call i32 @s2n_print_stacktrace(ptr noundef %28577)
  %28579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28580 = trunc i8 %28579 to i1
  br i1 %28580, label %28581, label %28603

28581:                                            ; preds = %28574
  %28582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28583 = call i32 @fileno(ptr noundef %28582) #11
  %28584 = call i32 @isatty(i32 noundef %28583) #11
  %28585 = icmp ne i32 %28584, 0
  br i1 %28585, label %28586, label %28603

28586:                                            ; preds = %28581
  %28587 = load i32, ptr %609, align 4, !tbaa !5
  %28588 = call ptr @__errno_location() #12
  store i32 %28587, ptr %28588, align 4, !tbaa !5
  %28589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28590 = load i32, ptr @test_count, align 4, !tbaa !5
  %28591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28592 = load i32, ptr %28591, align 4, !tbaa !5
  %28593 = call ptr @s2n_strerror(i32 noundef %28592, ptr noundef @.str.4)
  %28594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28595 = load i32, ptr %28594, align 4, !tbaa !5
  %28596 = call ptr @s2n_strerror_debug(i32 noundef %28595, ptr noundef @.str.4)
  %28597 = call ptr @__errno_location() #12
  %28598 = load i32, ptr %28597, align 4, !tbaa !5
  %28599 = call ptr @strerror(i32 noundef %28598) #11
  %28600 = call ptr @__errno_location() #12
  %28601 = load i32, ptr %28600, align 4, !tbaa !5
  %28602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28589, ptr noundef @.str.2, i32 noundef %28590, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1154, ptr noundef %28593, ptr noundef %28596, ptr noundef %28599, i32 noundef %28601) #11
  br label %28620

28603:                                            ; preds = %28581, %28574
  %28604 = load i32, ptr %609, align 4, !tbaa !5
  %28605 = call ptr @__errno_location() #12
  store i32 %28604, ptr %28605, align 4, !tbaa !5
  %28606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28607 = load i32, ptr @test_count, align 4, !tbaa !5
  %28608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28609 = load i32, ptr %28608, align 4, !tbaa !5
  %28610 = call ptr @s2n_strerror(i32 noundef %28609, ptr noundef @.str.4)
  %28611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28612 = load i32, ptr %28611, align 4, !tbaa !5
  %28613 = call ptr @s2n_strerror_debug(i32 noundef %28612, ptr noundef @.str.4)
  %28614 = call ptr @__errno_location() #12
  %28615 = load i32, ptr %28614, align 4, !tbaa !5
  %28616 = call ptr @strerror(i32 noundef %28615) #11
  %28617 = call ptr @__errno_location() #12
  %28618 = load i32, ptr %28617, align 4, !tbaa !5
  %28619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28606, ptr noundef @.str.5, i32 noundef %28607, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1154, ptr noundef %28610, ptr noundef %28613, ptr noundef %28616, i32 noundef %28618) #11
  br label %28620

28620:                                            ; preds = %28603, %28586
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #11
  br label %28621

28621:                                            ; preds = %28620
  br label %28622

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

28623:                                            ; No predecessors!
  br label %28624

28624:                                            ; preds = %28623
  br label %28625

28625:                                            ; preds = %28624, %28563
  br label %28626

28626:                                            ; preds = %28625
  br label %28627

28627:                                            ; preds = %28626
  br label %28628

28628:                                            ; preds = %28627
  %28629 = load i32, ptr @test_count, align 4, !tbaa !5
  %28630 = add nsw i32 %28629, 1
  store i32 %28630, ptr @test_count, align 4, !tbaa !5
  %28631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28632 = load i32, ptr %28631, align 4, !tbaa !5
  %28633 = icmp eq i32 %28632, 402653251
  br i1 %28633, label %28687, label %28634

28634:                                            ; preds = %28628
  br label %28635

28635:                                            ; preds = %28634
  br label %28636

28636:                                            ; preds = %28635
  call void @llvm.lifetime.start.p0(i64 4, ptr %610) #11
  %28637 = call ptr @__errno_location() #12
  %28638 = load i32, ptr %28637, align 4, !tbaa !5
  store i32 %28638, ptr %610, align 4, !tbaa !5
  %28639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28640 = call i32 @s2n_print_stacktrace(ptr noundef %28639)
  %28641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28642 = trunc i8 %28641 to i1
  br i1 %28642, label %28643, label %28665

28643:                                            ; preds = %28636
  %28644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28645 = call i32 @fileno(ptr noundef %28644) #11
  %28646 = call i32 @isatty(i32 noundef %28645) #11
  %28647 = icmp ne i32 %28646, 0
  br i1 %28647, label %28648, label %28665

28648:                                            ; preds = %28643
  %28649 = load i32, ptr %610, align 4, !tbaa !5
  %28650 = call ptr @__errno_location() #12
  store i32 %28649, ptr %28650, align 4, !tbaa !5
  %28651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28652 = load i32, ptr @test_count, align 4, !tbaa !5
  %28653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28654 = load i32, ptr %28653, align 4, !tbaa !5
  %28655 = call ptr @s2n_strerror(i32 noundef %28654, ptr noundef @.str.4)
  %28656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28657 = load i32, ptr %28656, align 4, !tbaa !5
  %28658 = call ptr @s2n_strerror_debug(i32 noundef %28657, ptr noundef @.str.4)
  %28659 = call ptr @__errno_location() #12
  %28660 = load i32, ptr %28659, align 4, !tbaa !5
  %28661 = call ptr @strerror(i32 noundef %28660) #11
  %28662 = call ptr @__errno_location() #12
  %28663 = load i32, ptr %28662, align 4, !tbaa !5
  %28664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28651, ptr noundef @.str.2, i32 noundef %28652, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 1154, ptr noundef %28655, ptr noundef %28658, ptr noundef %28661, i32 noundef %28663) #11
  br label %28682

28665:                                            ; preds = %28643, %28636
  %28666 = load i32, ptr %610, align 4, !tbaa !5
  %28667 = call ptr @__errno_location() #12
  store i32 %28666, ptr %28667, align 4, !tbaa !5
  %28668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28669 = load i32, ptr @test_count, align 4, !tbaa !5
  %28670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28671 = load i32, ptr %28670, align 4, !tbaa !5
  %28672 = call ptr @s2n_strerror(i32 noundef %28671, ptr noundef @.str.4)
  %28673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28674 = load i32, ptr %28673, align 4, !tbaa !5
  %28675 = call ptr @s2n_strerror_debug(i32 noundef %28674, ptr noundef @.str.4)
  %28676 = call ptr @__errno_location() #12
  %28677 = load i32, ptr %28676, align 4, !tbaa !5
  %28678 = call ptr @strerror(i32 noundef %28677) #11
  %28679 = call ptr @__errno_location() #12
  %28680 = load i32, ptr %28679, align 4, !tbaa !5
  %28681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28668, ptr noundef @.str.5, i32 noundef %28669, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 1154, ptr noundef %28672, ptr noundef %28675, ptr noundef %28678, i32 noundef %28680) #11
  br label %28682

28682:                                            ; preds = %28665, %28648
  call void @llvm.lifetime.end.p0(i64 4, ptr %610) #11
  br label %28683

28683:                                            ; preds = %28682
  br label %28684

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

28685:                                            ; No predecessors!
  br label %28686

28686:                                            ; preds = %28685
  br label %28687

28687:                                            ; preds = %28686, %28628
  br label %28688

28688:                                            ; preds = %28687
  br label %28689

28689:                                            ; preds = %28688
  br label %28690

28690:                                            ; preds = %28689
  %28691 = load i32, ptr @test_count, align 4, !tbaa !5
  %28692 = add nsw i32 %28691, 1
  store i32 %28692, ptr @test_count, align 4, !tbaa !5
  %28693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28694 = load i32, ptr %28693, align 4, !tbaa !5
  %28695 = call ptr @s2n_strerror_debug(i32 noundef %28694, ptr noundef @.str.4)
  %28696 = icmp eq ptr %28695, null
  br i1 %28696, label %28697, label %28750

28697:                                            ; preds = %28690
  br label %28698

28698:                                            ; preds = %28697
  br label %28699

28699:                                            ; preds = %28698
  call void @llvm.lifetime.start.p0(i64 4, ptr %611) #11
  %28700 = call ptr @__errno_location() #12
  %28701 = load i32, ptr %28700, align 4, !tbaa !5
  store i32 %28701, ptr %611, align 4, !tbaa !5
  %28702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28703 = call i32 @s2n_print_stacktrace(ptr noundef %28702)
  %28704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28705 = trunc i8 %28704 to i1
  br i1 %28705, label %28706, label %28728

28706:                                            ; preds = %28699
  %28707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28708 = call i32 @fileno(ptr noundef %28707) #11
  %28709 = call i32 @isatty(i32 noundef %28708) #11
  %28710 = icmp ne i32 %28709, 0
  br i1 %28710, label %28711, label %28728

28711:                                            ; preds = %28706
  %28712 = load i32, ptr %611, align 4, !tbaa !5
  %28713 = call ptr @__errno_location() #12
  store i32 %28712, ptr %28713, align 4, !tbaa !5
  %28714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28715 = load i32, ptr @test_count, align 4, !tbaa !5
  %28716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28717 = load i32, ptr %28716, align 4, !tbaa !5
  %28718 = call ptr @s2n_strerror(i32 noundef %28717, ptr noundef @.str.4)
  %28719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28720 = load i32, ptr %28719, align 4, !tbaa !5
  %28721 = call ptr @s2n_strerror_debug(i32 noundef %28720, ptr noundef @.str.4)
  %28722 = call ptr @__errno_location() #12
  %28723 = load i32, ptr %28722, align 4, !tbaa !5
  %28724 = call ptr @strerror(i32 noundef %28723) #11
  %28725 = call ptr @__errno_location() #12
  %28726 = load i32, ptr %28725, align 4, !tbaa !5
  %28727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28714, ptr noundef @.str.2, i32 noundef %28715, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1154, ptr noundef %28718, ptr noundef %28721, ptr noundef %28724, i32 noundef %28726) #11
  br label %28745

28728:                                            ; preds = %28706, %28699
  %28729 = load i32, ptr %611, align 4, !tbaa !5
  %28730 = call ptr @__errno_location() #12
  store i32 %28729, ptr %28730, align 4, !tbaa !5
  %28731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28732 = load i32, ptr @test_count, align 4, !tbaa !5
  %28733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28734 = load i32, ptr %28733, align 4, !tbaa !5
  %28735 = call ptr @s2n_strerror(i32 noundef %28734, ptr noundef @.str.4)
  %28736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28737 = load i32, ptr %28736, align 4, !tbaa !5
  %28738 = call ptr @s2n_strerror_debug(i32 noundef %28737, ptr noundef @.str.4)
  %28739 = call ptr @__errno_location() #12
  %28740 = load i32, ptr %28739, align 4, !tbaa !5
  %28741 = call ptr @strerror(i32 noundef %28740) #11
  %28742 = call ptr @__errno_location() #12
  %28743 = load i32, ptr %28742, align 4, !tbaa !5
  %28744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28731, ptr noundef @.str.5, i32 noundef %28732, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1154, ptr noundef %28735, ptr noundef %28738, ptr noundef %28741, i32 noundef %28743) #11
  br label %28745

28745:                                            ; preds = %28728, %28711
  call void @llvm.lifetime.end.p0(i64 4, ptr %611) #11
  br label %28746

28746:                                            ; preds = %28745
  br label %28747

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

28748:                                            ; No predecessors!
  br label %28749

28749:                                            ; preds = %28748
  br label %28750

28750:                                            ; preds = %28749, %28690
  br label %28751

28751:                                            ; preds = %28750
  br label %28752

28752:                                            ; preds = %28751
  br label %28753

28753:                                            ; preds = %28752
  br label %28754

28754:                                            ; preds = %28753
  br label %28755

28755:                                            ; preds = %28754
  %28756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28756, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28757 = call ptr @__errno_location() #12
  store i32 0, ptr %28757, align 4, !tbaa !5
  br label %28758

28758:                                            ; preds = %28755
  br label %28759

28759:                                            ; preds = %28758
  br label %28760

28760:                                            ; preds = %28759
  br label %28761

28761:                                            ; preds = %28760
  br label %28762

28762:                                            ; preds = %28761
  %28763 = load i32, ptr @test_count, align 4, !tbaa !5
  %28764 = add nsw i32 %28763, 1
  store i32 %28764, ptr @test_count, align 4, !tbaa !5
  %28765 = load ptr, ptr %576, align 8, !tbaa !9
  %28766 = getelementptr inbounds %struct.s2n_connection, ptr %28765, i32 0, i32 60
  %28767 = load i64, ptr %28766, align 8, !tbaa !76
  %28768 = icmp eq i64 %28767, -1
  br i1 %28768, label %28822, label %28769

28769:                                            ; preds = %28762
  br label %28770

28770:                                            ; preds = %28769
  br label %28771

28771:                                            ; preds = %28770
  call void @llvm.lifetime.start.p0(i64 4, ptr %612) #11
  %28772 = call ptr @__errno_location() #12
  %28773 = load i32, ptr %28772, align 4, !tbaa !5
  store i32 %28773, ptr %612, align 4, !tbaa !5
  %28774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28775 = call i32 @s2n_print_stacktrace(ptr noundef %28774)
  %28776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28777 = trunc i8 %28776 to i1
  br i1 %28777, label %28778, label %28800

28778:                                            ; preds = %28771
  %28779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28780 = call i32 @fileno(ptr noundef %28779) #11
  %28781 = call i32 @isatty(i32 noundef %28780) #11
  %28782 = icmp ne i32 %28781, 0
  br i1 %28782, label %28783, label %28800

28783:                                            ; preds = %28778
  %28784 = load i32, ptr %612, align 4, !tbaa !5
  %28785 = call ptr @__errno_location() #12
  store i32 %28784, ptr %28785, align 4, !tbaa !5
  %28786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28787 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %28789, ptr noundef @.str.4)
  %28791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28792 = load i32, ptr %28791, align 4, !tbaa !5
  %28793 = call ptr @s2n_strerror_debug(i32 noundef %28792, ptr noundef @.str.4)
  %28794 = call ptr @__errno_location() #12
  %28795 = load i32, ptr %28794, align 4, !tbaa !5
  %28796 = call ptr @strerror(i32 noundef %28795) #11
  %28797 = call ptr @__errno_location() #12
  %28798 = load i32, ptr %28797, align 4, !tbaa !5
  %28799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28786, ptr noundef @.str.2, i32 noundef %28787, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1155, ptr noundef %28790, ptr noundef %28793, ptr noundef %28796, i32 noundef %28798) #11
  br label %28817

28800:                                            ; preds = %28778, %28771
  %28801 = load i32, ptr %612, align 4, !tbaa !5
  %28802 = call ptr @__errno_location() #12
  store i32 %28801, ptr %28802, align 4, !tbaa !5
  %28803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28804 = load i32, ptr @test_count, align 4, !tbaa !5
  %28805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28806 = load i32, ptr %28805, align 4, !tbaa !5
  %28807 = call ptr @s2n_strerror(i32 noundef %28806, ptr noundef @.str.4)
  %28808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28809 = load i32, ptr %28808, align 4, !tbaa !5
  %28810 = call ptr @s2n_strerror_debug(i32 noundef %28809, ptr noundef @.str.4)
  %28811 = call ptr @__errno_location() #12
  %28812 = load i32, ptr %28811, align 4, !tbaa !5
  %28813 = call ptr @strerror(i32 noundef %28812) #11
  %28814 = call ptr @__errno_location() #12
  %28815 = load i32, ptr %28814, align 4, !tbaa !5
  %28816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28803, ptr noundef @.str.5, i32 noundef %28804, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1155, ptr noundef %28807, ptr noundef %28810, ptr noundef %28813, i32 noundef %28815) #11
  br label %28817

28817:                                            ; preds = %28800, %28783
  call void @llvm.lifetime.end.p0(i64 4, ptr %612) #11
  br label %28818

28818:                                            ; preds = %28817
  br label %28819

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

28820:                                            ; No predecessors!
  br label %28821

28821:                                            ; preds = %28820
  br label %28822

28822:                                            ; preds = %28821, %28762
  br label %28823

28823:                                            ; preds = %28822
  br label %28824

28824:                                            ; preds = %28823
  %28825 = load ptr, ptr %576, align 8, !tbaa !9
  %28826 = getelementptr inbounds %struct.s2n_connection, ptr %28825, i32 0, i32 60
  store i64 0, ptr %28826, align 8, !tbaa !76
  br label %28827

28827:                                            ; preds = %28824
  %28828 = load i32, ptr @test_count, align 4, !tbaa !5
  %28829 = add nsw i32 %28828, 1
  store i32 %28829, ptr @test_count, align 4, !tbaa !5
  %28830 = load ptr, ptr %576, align 8, !tbaa !9
  %28831 = call i32 @s2n_early_data_record_bytes(ptr noundef %28830, i64 noundef 0)
  %28832 = getelementptr inbounds %struct.s2n_result, ptr %613, i32 0, i32 0
  store i32 %28831, ptr %28832, align 4
  %28833 = getelementptr inbounds %struct.s2n_result, ptr %613, i32 0, i32 0
  %28834 = load i32, ptr %28833, align 4
  %28835 = call zeroext i1 @s2n_result_is_ok(i32 %28834)
  br i1 %28835, label %28889, label %28836

28836:                                            ; preds = %28827
  br label %28837

28837:                                            ; preds = %28836
  br label %28838

28838:                                            ; preds = %28837
  call void @llvm.lifetime.start.p0(i64 4, ptr %614) #11
  %28839 = call ptr @__errno_location() #12
  %28840 = load i32, ptr %28839, align 4, !tbaa !5
  store i32 %28840, ptr %614, align 4, !tbaa !5
  %28841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28842 = call i32 @s2n_print_stacktrace(ptr noundef %28841)
  %28843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28844 = trunc i8 %28843 to i1
  br i1 %28844, label %28845, label %28867

28845:                                            ; preds = %28838
  %28846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28847 = call i32 @fileno(ptr noundef %28846) #11
  %28848 = call i32 @isatty(i32 noundef %28847) #11
  %28849 = icmp ne i32 %28848, 0
  br i1 %28849, label %28850, label %28867

28850:                                            ; preds = %28845
  %28851 = load i32, ptr %614, align 4, !tbaa !5
  %28852 = call ptr @__errno_location() #12
  store i32 %28851, ptr %28852, align 4, !tbaa !5
  %28853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28854 = load i32, ptr @test_count, align 4, !tbaa !5
  %28855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28856 = load i32, ptr %28855, align 4, !tbaa !5
  %28857 = call ptr @s2n_strerror(i32 noundef %28856, ptr noundef @.str.4)
  %28858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28859 = load i32, ptr %28858, align 4, !tbaa !5
  %28860 = call ptr @s2n_strerror_debug(i32 noundef %28859, ptr noundef @.str.4)
  %28861 = call ptr @__errno_location() #12
  %28862 = load i32, ptr %28861, align 4, !tbaa !5
  %28863 = call ptr @strerror(i32 noundef %28862) #11
  %28864 = call ptr @__errno_location() #12
  %28865 = load i32, ptr %28864, align 4, !tbaa !5
  %28866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28853, ptr noundef @.str.2, i32 noundef %28854, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 1161, ptr noundef %28857, ptr noundef %28860, ptr noundef %28863, i32 noundef %28865) #11
  br label %28884

28867:                                            ; preds = %28845, %28838
  %28868 = load i32, ptr %614, align 4, !tbaa !5
  %28869 = call ptr @__errno_location() #12
  store i32 %28868, ptr %28869, align 4, !tbaa !5
  %28870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28871 = load i32, ptr @test_count, align 4, !tbaa !5
  %28872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28873 = load i32, ptr %28872, align 4, !tbaa !5
  %28874 = call ptr @s2n_strerror(i32 noundef %28873, ptr noundef @.str.4)
  %28875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28876 = load i32, ptr %28875, align 4, !tbaa !5
  %28877 = call ptr @s2n_strerror_debug(i32 noundef %28876, ptr noundef @.str.4)
  %28878 = call ptr @__errno_location() #12
  %28879 = load i32, ptr %28878, align 4, !tbaa !5
  %28880 = call ptr @strerror(i32 noundef %28879) #11
  %28881 = call ptr @__errno_location() #12
  %28882 = load i32, ptr %28881, align 4, !tbaa !5
  %28883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28870, ptr noundef @.str.5, i32 noundef %28871, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 1161, ptr noundef %28874, ptr noundef %28877, ptr noundef %28880, i32 noundef %28882) #11
  br label %28884

28884:                                            ; preds = %28867, %28850
  call void @llvm.lifetime.end.p0(i64 4, ptr %614) #11
  br label %28885

28885:                                            ; preds = %28884
  br label %28886

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

28887:                                            ; No predecessors!
  br label %28888

28888:                                            ; preds = %28887
  br label %28889

28889:                                            ; preds = %28888, %28827
  br label %28890

28890:                                            ; preds = %28889
  br label %28891

28891:                                            ; preds = %28890
  br label %28892

28892:                                            ; preds = %28891
  %28893 = load i32, ptr @test_count, align 4, !tbaa !5
  %28894 = add nsw i32 %28893, 1
  store i32 %28894, ptr @test_count, align 4, !tbaa !5
  %28895 = load ptr, ptr %576, align 8, !tbaa !9
  %28896 = getelementptr inbounds %struct.s2n_connection, ptr %28895, i32 0, i32 60
  %28897 = load i64, ptr %28896, align 8, !tbaa !76
  %28898 = icmp eq i64 %28897, 0
  br i1 %28898, label %28952, label %28899

28899:                                            ; preds = %28892
  br label %28900

28900:                                            ; preds = %28899
  br label %28901

28901:                                            ; preds = %28900
  call void @llvm.lifetime.start.p0(i64 4, ptr %615) #11
  %28902 = call ptr @__errno_location() #12
  %28903 = load i32, ptr %28902, align 4, !tbaa !5
  store i32 %28903, ptr %615, align 4, !tbaa !5
  %28904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28905 = call i32 @s2n_print_stacktrace(ptr noundef %28904)
  %28906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28907 = trunc i8 %28906 to i1
  br i1 %28907, label %28908, label %28930

28908:                                            ; preds = %28901
  %28909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28910 = call i32 @fileno(ptr noundef %28909) #11
  %28911 = call i32 @isatty(i32 noundef %28910) #11
  %28912 = icmp ne i32 %28911, 0
  br i1 %28912, label %28913, label %28930

28913:                                            ; preds = %28908
  %28914 = load i32, ptr %615, align 4, !tbaa !5
  %28915 = call ptr @__errno_location() #12
  store i32 %28914, ptr %28915, align 4, !tbaa !5
  %28916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28917 = load i32, ptr @test_count, align 4, !tbaa !5
  %28918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28919 = load i32, ptr %28918, align 4, !tbaa !5
  %28920 = call ptr @s2n_strerror(i32 noundef %28919, ptr noundef @.str.4)
  %28921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28922 = load i32, ptr %28921, align 4, !tbaa !5
  %28923 = call ptr @s2n_strerror_debug(i32 noundef %28922, ptr noundef @.str.4)
  %28924 = call ptr @__errno_location() #12
  %28925 = load i32, ptr %28924, align 4, !tbaa !5
  %28926 = call ptr @strerror(i32 noundef %28925) #11
  %28927 = call ptr @__errno_location() #12
  %28928 = load i32, ptr %28927, align 4, !tbaa !5
  %28929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28916, ptr noundef @.str.2, i32 noundef %28917, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1162, ptr noundef %28920, ptr noundef %28923, ptr noundef %28926, i32 noundef %28928) #11
  br label %28947

28930:                                            ; preds = %28908, %28901
  %28931 = load i32, ptr %615, align 4, !tbaa !5
  %28932 = call ptr @__errno_location() #12
  store i32 %28931, ptr %28932, align 4, !tbaa !5
  %28933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28934 = load i32, ptr @test_count, align 4, !tbaa !5
  %28935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28936 = load i32, ptr %28935, align 4, !tbaa !5
  %28937 = call ptr @s2n_strerror(i32 noundef %28936, ptr noundef @.str.4)
  %28938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28939 = load i32, ptr %28938, align 4, !tbaa !5
  %28940 = call ptr @s2n_strerror_debug(i32 noundef %28939, ptr noundef @.str.4)
  %28941 = call ptr @__errno_location() #12
  %28942 = load i32, ptr %28941, align 4, !tbaa !5
  %28943 = call ptr @strerror(i32 noundef %28942) #11
  %28944 = call ptr @__errno_location() #12
  %28945 = load i32, ptr %28944, align 4, !tbaa !5
  %28946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28933, ptr noundef @.str.5, i32 noundef %28934, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1162, ptr noundef %28937, ptr noundef %28940, ptr noundef %28943, i32 noundef %28945) #11
  br label %28947

28947:                                            ; preds = %28930, %28913
  call void @llvm.lifetime.end.p0(i64 4, ptr %615) #11
  br label %28948

28948:                                            ; preds = %28947
  br label %28949

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

28950:                                            ; No predecessors!
  br label %28951

28951:                                            ; preds = %28950
  br label %28952

28952:                                            ; preds = %28951, %28892
  br label %28953

28953:                                            ; preds = %28952
  br label %28954

28954:                                            ; preds = %28953
  %28955 = load ptr, ptr %576, align 8, !tbaa !9
  %28956 = getelementptr inbounds %struct.s2n_connection, ptr %28955, i32 0, i32 60
  store i64 10, ptr %28956, align 8, !tbaa !76
  br label %28957

28957:                                            ; preds = %28954
  %28958 = load i32, ptr @test_count, align 4, !tbaa !5
  %28959 = add nsw i32 %28958, 1
  store i32 %28959, ptr @test_count, align 4, !tbaa !5
  %28960 = load ptr, ptr %576, align 8, !tbaa !9
  %28961 = call i32 @s2n_early_data_record_bytes(ptr noundef %28960, i64 noundef 0)
  %28962 = getelementptr inbounds %struct.s2n_result, ptr %616, i32 0, i32 0
  store i32 %28961, ptr %28962, align 4
  %28963 = getelementptr inbounds %struct.s2n_result, ptr %616, i32 0, i32 0
  %28964 = load i32, ptr %28963, align 4
  %28965 = call zeroext i1 @s2n_result_is_ok(i32 %28964)
  br i1 %28965, label %29019, label %28966

28966:                                            ; preds = %28957
  br label %28967

28967:                                            ; preds = %28966
  br label %28968

28968:                                            ; preds = %28967
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #11
  %28969 = call ptr @__errno_location() #12
  %28970 = load i32, ptr %28969, align 4, !tbaa !5
  store i32 %28970, ptr %617, align 4, !tbaa !5
  %28971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28972 = call i32 @s2n_print_stacktrace(ptr noundef %28971)
  %28973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28974 = trunc i8 %28973 to i1
  br i1 %28974, label %28975, label %28997

28975:                                            ; preds = %28968
  %28976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28977 = call i32 @fileno(ptr noundef %28976) #11
  %28978 = call i32 @isatty(i32 noundef %28977) #11
  %28979 = icmp ne i32 %28978, 0
  br i1 %28979, label %28980, label %28997

28980:                                            ; preds = %28975
  %28981 = load i32, ptr %617, align 4, !tbaa !5
  %28982 = call ptr @__errno_location() #12
  store i32 %28981, ptr %28982, align 4, !tbaa !5
  %28983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28984 = load i32, ptr @test_count, align 4, !tbaa !5
  %28985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28986 = load i32, ptr %28985, align 4, !tbaa !5
  %28987 = call ptr @s2n_strerror(i32 noundef %28986, ptr noundef @.str.4)
  %28988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28989 = load i32, ptr %28988, align 4, !tbaa !5
  %28990 = call ptr @s2n_strerror_debug(i32 noundef %28989, ptr noundef @.str.4)
  %28991 = call ptr @__errno_location() #12
  %28992 = load i32, ptr %28991, align 4, !tbaa !5
  %28993 = call ptr @strerror(i32 noundef %28992) #11
  %28994 = call ptr @__errno_location() #12
  %28995 = load i32, ptr %28994, align 4, !tbaa !5
  %28996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28983, ptr noundef @.str.2, i32 noundef %28984, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 1165, ptr noundef %28987, ptr noundef %28990, ptr noundef %28993, i32 noundef %28995) #11
  br label %29014

28997:                                            ; preds = %28975, %28968
  %28998 = load i32, ptr %617, align 4, !tbaa !5
  %28999 = call ptr @__errno_location() #12
  store i32 %28998, ptr %28999, align 4, !tbaa !5
  %29000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29001 = load i32, ptr @test_count, align 4, !tbaa !5
  %29002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29003 = load i32, ptr %29002, align 4, !tbaa !5
  %29004 = call ptr @s2n_strerror(i32 noundef %29003, ptr noundef @.str.4)
  %29005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29006 = load i32, ptr %29005, align 4, !tbaa !5
  %29007 = call ptr @s2n_strerror_debug(i32 noundef %29006, ptr noundef @.str.4)
  %29008 = call ptr @__errno_location() #12
  %29009 = load i32, ptr %29008, align 4, !tbaa !5
  %29010 = call ptr @strerror(i32 noundef %29009) #11
  %29011 = call ptr @__errno_location() #12
  %29012 = load i32, ptr %29011, align 4, !tbaa !5
  %29013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29000, ptr noundef @.str.5, i32 noundef %29001, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 1165, ptr noundef %29004, ptr noundef %29007, ptr noundef %29010, i32 noundef %29012) #11
  br label %29014

29014:                                            ; preds = %28997, %28980
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #11
  br label %29015

29015:                                            ; preds = %29014
  br label %29016

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

29017:                                            ; No predecessors!
  br label %29018

29018:                                            ; preds = %29017
  br label %29019

29019:                                            ; preds = %29018, %28957
  br label %29020

29020:                                            ; preds = %29019
  br label %29021

29021:                                            ; preds = %29020
  br label %29022

29022:                                            ; preds = %29021
  %29023 = load i32, ptr @test_count, align 4, !tbaa !5
  %29024 = add nsw i32 %29023, 1
  store i32 %29024, ptr @test_count, align 4, !tbaa !5
  %29025 = load ptr, ptr %576, align 8, !tbaa !9
  %29026 = getelementptr inbounds %struct.s2n_connection, ptr %29025, i32 0, i32 60
  %29027 = load i64, ptr %29026, align 8, !tbaa !76
  %29028 = icmp eq i64 %29027, 10
  br i1 %29028, label %29082, label %29029

29029:                                            ; preds = %29022
  br label %29030

29030:                                            ; preds = %29029
  br label %29031

29031:                                            ; preds = %29030
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #11
  %29032 = call ptr @__errno_location() #12
  %29033 = load i32, ptr %29032, align 4, !tbaa !5
  store i32 %29033, ptr %618, align 4, !tbaa !5
  %29034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29035 = call i32 @s2n_print_stacktrace(ptr noundef %29034)
  %29036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29037 = trunc i8 %29036 to i1
  br i1 %29037, label %29038, label %29060

29038:                                            ; preds = %29031
  %29039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29040 = call i32 @fileno(ptr noundef %29039) #11
  %29041 = call i32 @isatty(i32 noundef %29040) #11
  %29042 = icmp ne i32 %29041, 0
  br i1 %29042, label %29043, label %29060

29043:                                            ; preds = %29038
  %29044 = load i32, ptr %618, align 4, !tbaa !5
  %29045 = call ptr @__errno_location() #12
  store i32 %29044, ptr %29045, align 4, !tbaa !5
  %29046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29047 = load i32, ptr @test_count, align 4, !tbaa !5
  %29048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29049 = load i32, ptr %29048, align 4, !tbaa !5
  %29050 = call ptr @s2n_strerror(i32 noundef %29049, ptr noundef @.str.4)
  %29051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29052 = load i32, ptr %29051, align 4, !tbaa !5
  %29053 = call ptr @s2n_strerror_debug(i32 noundef %29052, ptr noundef @.str.4)
  %29054 = call ptr @__errno_location() #12
  %29055 = load i32, ptr %29054, align 4, !tbaa !5
  %29056 = call ptr @strerror(i32 noundef %29055) #11
  %29057 = call ptr @__errno_location() #12
  %29058 = load i32, ptr %29057, align 4, !tbaa !5
  %29059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29046, ptr noundef @.str.2, i32 noundef %29047, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1166, ptr noundef %29050, ptr noundef %29053, ptr noundef %29056, i32 noundef %29058) #11
  br label %29077

29060:                                            ; preds = %29038, %29031
  %29061 = load i32, ptr %618, align 4, !tbaa !5
  %29062 = call ptr @__errno_location() #12
  store i32 %29061, ptr %29062, align 4, !tbaa !5
  %29063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29064 = load i32, ptr @test_count, align 4, !tbaa !5
  %29065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29066 = load i32, ptr %29065, align 4, !tbaa !5
  %29067 = call ptr @s2n_strerror(i32 noundef %29066, ptr noundef @.str.4)
  %29068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29069 = load i32, ptr %29068, align 4, !tbaa !5
  %29070 = call ptr @s2n_strerror_debug(i32 noundef %29069, ptr noundef @.str.4)
  %29071 = call ptr @__errno_location() #12
  %29072 = load i32, ptr %29071, align 4, !tbaa !5
  %29073 = call ptr @strerror(i32 noundef %29072) #11
  %29074 = call ptr @__errno_location() #12
  %29075 = load i32, ptr %29074, align 4, !tbaa !5
  %29076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29063, ptr noundef @.str.5, i32 noundef %29064, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1166, ptr noundef %29067, ptr noundef %29070, ptr noundef %29073, i32 noundef %29075) #11
  br label %29077

29077:                                            ; preds = %29060, %29043
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #11
  br label %29078

29078:                                            ; preds = %29077
  br label %29079

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

29080:                                            ; No predecessors!
  br label %29081

29081:                                            ; preds = %29080
  br label %29082

29082:                                            ; preds = %29081, %29022
  br label %29083

29083:                                            ; preds = %29082
  br label %29084

29084:                                            ; preds = %29083
  %29085 = load ptr, ptr %576, align 8, !tbaa !9
  %29086 = getelementptr inbounds %struct.s2n_connection, ptr %29085, i32 0, i32 60
  store i64 11, ptr %29086, align 8, !tbaa !76
  br label %29087

29087:                                            ; preds = %29084
  br label %29088

29088:                                            ; preds = %29087
  br label %29089

29089:                                            ; preds = %29088
  %29090 = load i32, ptr @test_count, align 4, !tbaa !5
  %29091 = add nsw i32 %29090, 1
  store i32 %29091, ptr @test_count, align 4, !tbaa !5
  %29092 = load ptr, ptr %576, align 8, !tbaa !9
  %29093 = call i32 @s2n_early_data_record_bytes(ptr noundef %29092, i64 noundef 0)
  %29094 = getelementptr inbounds %struct.s2n_result, ptr %619, i32 0, i32 0
  store i32 %29093, ptr %29094, align 4
  %29095 = getelementptr inbounds %struct.s2n_result, ptr %619, i32 0, i32 0
  %29096 = load i32, ptr %29095, align 4
  %29097 = call zeroext i1 @s2n_result_is_error(i32 %29096)
  br i1 %29097, label %29151, label %29098

29098:                                            ; preds = %29089
  br label %29099

29099:                                            ; preds = %29098
  br label %29100

29100:                                            ; preds = %29099
  call void @llvm.lifetime.start.p0(i64 4, ptr %620) #11
  %29101 = call ptr @__errno_location() #12
  %29102 = load i32, ptr %29101, align 4, !tbaa !5
  store i32 %29102, ptr %620, align 4, !tbaa !5
  %29103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29104 = call i32 @s2n_print_stacktrace(ptr noundef %29103)
  %29105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29106 = trunc i8 %29105 to i1
  br i1 %29106, label %29107, label %29129

29107:                                            ; preds = %29100
  %29108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29109 = call i32 @fileno(ptr noundef %29108) #11
  %29110 = call i32 @isatty(i32 noundef %29109) #11
  %29111 = icmp ne i32 %29110, 0
  br i1 %29111, label %29112, label %29129

29112:                                            ; preds = %29107
  %29113 = load i32, ptr %620, align 4, !tbaa !5
  %29114 = call ptr @__errno_location() #12
  store i32 %29113, ptr %29114, align 4, !tbaa !5
  %29115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29116 = load i32, ptr @test_count, align 4, !tbaa !5
  %29117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29118 = load i32, ptr %29117, align 4, !tbaa !5
  %29119 = call ptr @s2n_strerror(i32 noundef %29118, ptr noundef @.str.4)
  %29120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29121 = load i32, ptr %29120, align 4, !tbaa !5
  %29122 = call ptr @s2n_strerror_debug(i32 noundef %29121, ptr noundef @.str.4)
  %29123 = call ptr @__errno_location() #12
  %29124 = load i32, ptr %29123, align 4, !tbaa !5
  %29125 = call ptr @strerror(i32 noundef %29124) #11
  %29126 = call ptr @__errno_location() #12
  %29127 = load i32, ptr %29126, align 4, !tbaa !5
  %29128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29115, ptr noundef @.str.2, i32 noundef %29116, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %29119, ptr noundef %29122, ptr noundef %29125, i32 noundef %29127) #11
  br label %29146

29129:                                            ; preds = %29107, %29100
  %29130 = load i32, ptr %620, align 4, !tbaa !5
  %29131 = call ptr @__errno_location() #12
  store i32 %29130, ptr %29131, align 4, !tbaa !5
  %29132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29133 = load i32, ptr @test_count, align 4, !tbaa !5
  %29134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29135 = load i32, ptr %29134, align 4, !tbaa !5
  %29136 = call ptr @s2n_strerror(i32 noundef %29135, ptr noundef @.str.4)
  %29137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29138 = load i32, ptr %29137, align 4, !tbaa !5
  %29139 = call ptr @s2n_strerror_debug(i32 noundef %29138, ptr noundef @.str.4)
  %29140 = call ptr @__errno_location() #12
  %29141 = load i32, ptr %29140, align 4, !tbaa !5
  %29142 = call ptr @strerror(i32 noundef %29141) #11
  %29143 = call ptr @__errno_location() #12
  %29144 = load i32, ptr %29143, align 4, !tbaa !5
  %29145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29132, ptr noundef @.str.5, i32 noundef %29133, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %29136, ptr noundef %29139, ptr noundef %29142, i32 noundef %29144) #11
  br label %29146

29146:                                            ; preds = %29129, %29112
  call void @llvm.lifetime.end.p0(i64 4, ptr %620) #11
  br label %29147

29147:                                            ; preds = %29146
  br label %29148

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

29149:                                            ; No predecessors!
  br label %29150

29150:                                            ; preds = %29149
  br label %29151

29151:                                            ; preds = %29150, %29089
  br label %29152

29152:                                            ; preds = %29151
  br label %29153

29153:                                            ; preds = %29152
  br label %29154

29154:                                            ; preds = %29153
  %29155 = load i32, ptr @test_count, align 4, !tbaa !5
  %29156 = add nsw i32 %29155, 1
  store i32 %29156, ptr @test_count, align 4, !tbaa !5
  %29157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29158 = load i32, ptr %29157, align 4, !tbaa !5
  %29159 = icmp eq i32 %29158, 335544396
  br i1 %29159, label %29213, label %29160

29160:                                            ; preds = %29154
  br label %29161

29161:                                            ; preds = %29160
  br label %29162

29162:                                            ; preds = %29161
  call void @llvm.lifetime.start.p0(i64 4, ptr %621) #11
  %29163 = call ptr @__errno_location() #12
  %29164 = load i32, ptr %29163, align 4, !tbaa !5
  store i32 %29164, ptr %621, align 4, !tbaa !5
  %29165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29166 = call i32 @s2n_print_stacktrace(ptr noundef %29165)
  %29167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29168 = trunc i8 %29167 to i1
  br i1 %29168, label %29169, label %29191

29169:                                            ; preds = %29162
  %29170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29171 = call i32 @fileno(ptr noundef %29170) #11
  %29172 = call i32 @isatty(i32 noundef %29171) #11
  %29173 = icmp ne i32 %29172, 0
  br i1 %29173, label %29174, label %29191

29174:                                            ; preds = %29169
  %29175 = load i32, ptr %621, align 4, !tbaa !5
  %29176 = call ptr @__errno_location() #12
  store i32 %29175, ptr %29176, align 4, !tbaa !5
  %29177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29178 = load i32, ptr @test_count, align 4, !tbaa !5
  %29179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29180 = load i32, ptr %29179, align 4, !tbaa !5
  %29181 = call ptr @s2n_strerror(i32 noundef %29180, ptr noundef @.str.4)
  %29182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29183 = load i32, ptr %29182, align 4, !tbaa !5
  %29184 = call ptr @s2n_strerror_debug(i32 noundef %29183, ptr noundef @.str.4)
  %29185 = call ptr @__errno_location() #12
  %29186 = load i32, ptr %29185, align 4, !tbaa !5
  %29187 = call ptr @strerror(i32 noundef %29186) #11
  %29188 = call ptr @__errno_location() #12
  %29189 = load i32, ptr %29188, align 4, !tbaa !5
  %29190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29177, ptr noundef @.str.2, i32 noundef %29178, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %29181, ptr noundef %29184, ptr noundef %29187, i32 noundef %29189) #11
  br label %29208

29191:                                            ; preds = %29169, %29162
  %29192 = load i32, ptr %621, align 4, !tbaa !5
  %29193 = call ptr @__errno_location() #12
  store i32 %29192, ptr %29193, align 4, !tbaa !5
  %29194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29195 = load i32, ptr @test_count, align 4, !tbaa !5
  %29196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29197 = load i32, ptr %29196, align 4, !tbaa !5
  %29198 = call ptr @s2n_strerror(i32 noundef %29197, ptr noundef @.str.4)
  %29199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29200 = load i32, ptr %29199, align 4, !tbaa !5
  %29201 = call ptr @s2n_strerror_debug(i32 noundef %29200, ptr noundef @.str.4)
  %29202 = call ptr @__errno_location() #12
  %29203 = load i32, ptr %29202, align 4, !tbaa !5
  %29204 = call ptr @strerror(i32 noundef %29203) #11
  %29205 = call ptr @__errno_location() #12
  %29206 = load i32, ptr %29205, align 4, !tbaa !5
  %29207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29194, ptr noundef @.str.5, i32 noundef %29195, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %29198, ptr noundef %29201, ptr noundef %29204, i32 noundef %29206) #11
  br label %29208

29208:                                            ; preds = %29191, %29174
  call void @llvm.lifetime.end.p0(i64 4, ptr %621) #11
  br label %29209

29209:                                            ; preds = %29208
  br label %29210

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

29211:                                            ; No predecessors!
  br label %29212

29212:                                            ; preds = %29211
  br label %29213

29213:                                            ; preds = %29212, %29154
  br label %29214

29214:                                            ; preds = %29213
  br label %29215

29215:                                            ; preds = %29214
  br label %29216

29216:                                            ; preds = %29215
  %29217 = load i32, ptr @test_count, align 4, !tbaa !5
  %29218 = add nsw i32 %29217, 1
  store i32 %29218, ptr @test_count, align 4, !tbaa !5
  %29219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29220 = load i32, ptr %29219, align 4, !tbaa !5
  %29221 = call ptr @s2n_strerror_debug(i32 noundef %29220, ptr noundef @.str.4)
  %29222 = icmp eq ptr %29221, null
  br i1 %29222, label %29223, label %29276

29223:                                            ; preds = %29216
  br label %29224

29224:                                            ; preds = %29223
  br label %29225

29225:                                            ; preds = %29224
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #11
  %29226 = call ptr @__errno_location() #12
  %29227 = load i32, ptr %29226, align 4, !tbaa !5
  store i32 %29227, ptr %622, align 4, !tbaa !5
  %29228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29229 = call i32 @s2n_print_stacktrace(ptr noundef %29228)
  %29230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29231 = trunc i8 %29230 to i1
  br i1 %29231, label %29232, label %29254

29232:                                            ; preds = %29225
  %29233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29234 = call i32 @fileno(ptr noundef %29233) #11
  %29235 = call i32 @isatty(i32 noundef %29234) #11
  %29236 = icmp ne i32 %29235, 0
  br i1 %29236, label %29237, label %29254

29237:                                            ; preds = %29232
  %29238 = load i32, ptr %622, align 4, !tbaa !5
  %29239 = call ptr @__errno_location() #12
  store i32 %29238, ptr %29239, align 4, !tbaa !5
  %29240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29241 = load i32, ptr @test_count, align 4, !tbaa !5
  %29242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29243 = load i32, ptr %29242, align 4, !tbaa !5
  %29244 = call ptr @s2n_strerror(i32 noundef %29243, ptr noundef @.str.4)
  %29245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29246 = load i32, ptr %29245, align 4, !tbaa !5
  %29247 = call ptr @s2n_strerror_debug(i32 noundef %29246, ptr noundef @.str.4)
  %29248 = call ptr @__errno_location() #12
  %29249 = load i32, ptr %29248, align 4, !tbaa !5
  %29250 = call ptr @strerror(i32 noundef %29249) #11
  %29251 = call ptr @__errno_location() #12
  %29252 = load i32, ptr %29251, align 4, !tbaa !5
  %29253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29240, ptr noundef @.str.2, i32 noundef %29241, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %29244, ptr noundef %29247, ptr noundef %29250, i32 noundef %29252) #11
  br label %29271

29254:                                            ; preds = %29232, %29225
  %29255 = load i32, ptr %622, align 4, !tbaa !5
  %29256 = call ptr @__errno_location() #12
  store i32 %29255, ptr %29256, align 4, !tbaa !5
  %29257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29258 = load i32, ptr @test_count, align 4, !tbaa !5
  %29259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29260 = load i32, ptr %29259, align 4, !tbaa !5
  %29261 = call ptr @s2n_strerror(i32 noundef %29260, ptr noundef @.str.4)
  %29262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29263 = load i32, ptr %29262, align 4, !tbaa !5
  %29264 = call ptr @s2n_strerror_debug(i32 noundef %29263, ptr noundef @.str.4)
  %29265 = call ptr @__errno_location() #12
  %29266 = load i32, ptr %29265, align 4, !tbaa !5
  %29267 = call ptr @strerror(i32 noundef %29266) #11
  %29268 = call ptr @__errno_location() #12
  %29269 = load i32, ptr %29268, align 4, !tbaa !5
  %29270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29257, ptr noundef @.str.5, i32 noundef %29258, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %29261, ptr noundef %29264, ptr noundef %29267, i32 noundef %29269) #11
  br label %29271

29271:                                            ; preds = %29254, %29237
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #11
  br label %29272

29272:                                            ; preds = %29271
  br label %29273

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

29274:                                            ; No predecessors!
  br label %29275

29275:                                            ; preds = %29274
  br label %29276

29276:                                            ; preds = %29275, %29216
  br label %29277

29277:                                            ; preds = %29276
  br label %29278

29278:                                            ; preds = %29277
  br label %29279

29279:                                            ; preds = %29278
  br label %29280

29280:                                            ; preds = %29279
  br label %29281

29281:                                            ; preds = %29280
  %29282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %29282, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %29283 = call ptr @__errno_location() #12
  store i32 0, ptr %29283, align 4, !tbaa !5
  br label %29284

29284:                                            ; preds = %29281
  br label %29285

29285:                                            ; preds = %29284
  br label %29286

29286:                                            ; preds = %29285
  br label %29287

29287:                                            ; preds = %29286
  br label %29288

29288:                                            ; preds = %29287
  %29289 = load i32, ptr @test_count, align 4, !tbaa !5
  %29290 = add nsw i32 %29289, 1
  store i32 %29290, ptr @test_count, align 4, !tbaa !5
  %29291 = load ptr, ptr %576, align 8, !tbaa !9
  %29292 = getelementptr inbounds %struct.s2n_connection, ptr %29291, i32 0, i32 60
  %29293 = load i64, ptr %29292, align 8, !tbaa !76
  %29294 = icmp eq i64 %29293, 11
  br i1 %29294, label %29348, label %29295

29295:                                            ; preds = %29288
  br label %29296

29296:                                            ; preds = %29295
  br label %29297

29297:                                            ; preds = %29296
  call void @llvm.lifetime.start.p0(i64 4, ptr %623) #11
  %29298 = call ptr @__errno_location() #12
  %29299 = load i32, ptr %29298, align 4, !tbaa !5
  store i32 %29299, ptr %623, align 4, !tbaa !5
  %29300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29301 = call i32 @s2n_print_stacktrace(ptr noundef %29300)
  %29302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29303 = trunc i8 %29302 to i1
  br i1 %29303, label %29304, label %29326

29304:                                            ; preds = %29297
  %29305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29306 = call i32 @fileno(ptr noundef %29305) #11
  %29307 = call i32 @isatty(i32 noundef %29306) #11
  %29308 = icmp ne i32 %29307, 0
  br i1 %29308, label %29309, label %29326

29309:                                            ; preds = %29304
  %29310 = load i32, ptr %623, align 4, !tbaa !5
  %29311 = call ptr @__errno_location() #12
  store i32 %29310, ptr %29311, align 4, !tbaa !5
  %29312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29313 = load i32, ptr @test_count, align 4, !tbaa !5
  %29314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29315 = load i32, ptr %29314, align 4, !tbaa !5
  %29316 = call ptr @s2n_strerror(i32 noundef %29315, ptr noundef @.str.4)
  %29317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29318 = load i32, ptr %29317, align 4, !tbaa !5
  %29319 = call ptr @s2n_strerror_debug(i32 noundef %29318, ptr noundef @.str.4)
  %29320 = call ptr @__errno_location() #12
  %29321 = load i32, ptr %29320, align 4, !tbaa !5
  %29322 = call ptr @strerror(i32 noundef %29321) #11
  %29323 = call ptr @__errno_location() #12
  %29324 = load i32, ptr %29323, align 4, !tbaa !5
  %29325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29312, ptr noundef @.str.2, i32 noundef %29313, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %29316, ptr noundef %29319, ptr noundef %29322, i32 noundef %29324) #11
  br label %29343

29326:                                            ; preds = %29304, %29297
  %29327 = load i32, ptr %623, align 4, !tbaa !5
  %29328 = call ptr @__errno_location() #12
  store i32 %29327, ptr %29328, align 4, !tbaa !5
  %29329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29330 = load i32, ptr @test_count, align 4, !tbaa !5
  %29331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29332 = load i32, ptr %29331, align 4, !tbaa !5
  %29333 = call ptr @s2n_strerror(i32 noundef %29332, ptr noundef @.str.4)
  %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_debug(i32 noundef %29335, ptr noundef @.str.4)
  %29337 = call ptr @__errno_location() #12
  %29338 = load i32, ptr %29337, align 4, !tbaa !5
  %29339 = call ptr @strerror(i32 noundef %29338) #11
  %29340 = call ptr @__errno_location() #12
  %29341 = load i32, ptr %29340, align 4, !tbaa !5
  %29342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29329, ptr noundef @.str.5, i32 noundef %29330, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %29333, ptr noundef %29336, ptr noundef %29339, i32 noundef %29341) #11
  br label %29343

29343:                                            ; preds = %29326, %29309
  call void @llvm.lifetime.end.p0(i64 4, ptr %623) #11
  br label %29344

29344:                                            ; preds = %29343
  br label %29345

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

29346:                                            ; No predecessors!
  br label %29347

29347:                                            ; preds = %29346
  br label %29348

29348:                                            ; preds = %29347, %29288
  br label %29349

29349:                                            ; preds = %29348
  br label %29350

29350:                                            ; preds = %29349
  %29351 = load ptr, ptr %576, align 8, !tbaa !9
  %29352 = getelementptr inbounds %struct.s2n_connection, ptr %29351, i32 0, i32 60
  store i64 0, ptr %29352, align 8, !tbaa !76
  br label %29353

29353:                                            ; preds = %29350
  %29354 = load i32, ptr @test_count, align 4, !tbaa !5
  %29355 = add nsw i32 %29354, 1
  store i32 %29355, ptr @test_count, align 4, !tbaa !5
  %29356 = load ptr, ptr %576, align 8, !tbaa !9
  %29357 = call i32 @s2n_early_data_record_bytes(ptr noundef %29356, i64 noundef -1)
  %29358 = getelementptr inbounds %struct.s2n_result, ptr %624, i32 0, i32 0
  store i32 %29357, ptr %29358, align 4
  %29359 = getelementptr inbounds %struct.s2n_result, ptr %624, i32 0, i32 0
  %29360 = load i32, ptr %29359, align 4
  %29361 = call zeroext i1 @s2n_result_is_ok(i32 %29360)
  br i1 %29361, label %29415, label %29362

29362:                                            ; preds = %29353
  br label %29363

29363:                                            ; preds = %29362
  br label %29364

29364:                                            ; preds = %29363
  call void @llvm.lifetime.start.p0(i64 4, ptr %625) #11
  %29365 = call ptr @__errno_location() #12
  %29366 = load i32, ptr %29365, align 4, !tbaa !5
  store i32 %29366, ptr %625, align 4, !tbaa !5
  %29367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29368 = call i32 @s2n_print_stacktrace(ptr noundef %29367)
  %29369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29370 = trunc i8 %29369 to i1
  br i1 %29370, label %29371, label %29393

29371:                                            ; preds = %29364
  %29372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29373 = call i32 @fileno(ptr noundef %29372) #11
  %29374 = call i32 @isatty(i32 noundef %29373) #11
  %29375 = icmp ne i32 %29374, 0
  br i1 %29375, label %29376, label %29393

29376:                                            ; preds = %29371
  %29377 = load i32, ptr %625, align 4, !tbaa !5
  %29378 = call ptr @__errno_location() #12
  store i32 %29377, ptr %29378, align 4, !tbaa !5
  %29379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29380 = load i32, ptr @test_count, align 4, !tbaa !5
  %29381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29382 = load i32, ptr %29381, align 4, !tbaa !5
  %29383 = call ptr @s2n_strerror(i32 noundef %29382, ptr noundef @.str.4)
  %29384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29385 = load i32, ptr %29384, align 4, !tbaa !5
  %29386 = call ptr @s2n_strerror_debug(i32 noundef %29385, ptr noundef @.str.4)
  %29387 = call ptr @__errno_location() #12
  %29388 = load i32, ptr %29387, align 4, !tbaa !5
  %29389 = call ptr @strerror(i32 noundef %29388) #11
  %29390 = call ptr @__errno_location() #12
  %29391 = load i32, ptr %29390, align 4, !tbaa !5
  %29392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29379, ptr noundef @.str.2, i32 noundef %29380, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1176, ptr noundef %29383, ptr noundef %29386, ptr noundef %29389, i32 noundef %29391) #11
  br label %29410

29393:                                            ; preds = %29371, %29364
  %29394 = load i32, ptr %625, align 4, !tbaa !5
  %29395 = call ptr @__errno_location() #12
  store i32 %29394, ptr %29395, align 4, !tbaa !5
  %29396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29397 = load i32, ptr @test_count, align 4, !tbaa !5
  %29398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29399 = load i32, ptr %29398, align 4, !tbaa !5
  %29400 = call ptr @s2n_strerror(i32 noundef %29399, ptr noundef @.str.4)
  %29401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29402 = load i32, ptr %29401, align 4, !tbaa !5
  %29403 = call ptr @s2n_strerror_debug(i32 noundef %29402, ptr noundef @.str.4)
  %29404 = call ptr @__errno_location() #12
  %29405 = load i32, ptr %29404, align 4, !tbaa !5
  %29406 = call ptr @strerror(i32 noundef %29405) #11
  %29407 = call ptr @__errno_location() #12
  %29408 = load i32, ptr %29407, align 4, !tbaa !5
  %29409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29396, ptr noundef @.str.5, i32 noundef %29397, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1176, ptr noundef %29400, ptr noundef %29403, ptr noundef %29406, i32 noundef %29408) #11
  br label %29410

29410:                                            ; preds = %29393, %29376
  call void @llvm.lifetime.end.p0(i64 4, ptr %625) #11
  br label %29411

29411:                                            ; preds = %29410
  br label %29412

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

29413:                                            ; No predecessors!
  br label %29414

29414:                                            ; preds = %29413
  br label %29415

29415:                                            ; preds = %29414, %29353
  br label %29416

29416:                                            ; preds = %29415
  br label %29417

29417:                                            ; preds = %29416
  br label %29418

29418:                                            ; preds = %29417
  %29419 = load i32, ptr @test_count, align 4, !tbaa !5
  %29420 = add nsw i32 %29419, 1
  store i32 %29420, ptr @test_count, align 4, !tbaa !5
  %29421 = load ptr, ptr %576, align 8, !tbaa !9
  %29422 = getelementptr inbounds %struct.s2n_connection, ptr %29421, i32 0, i32 60
  %29423 = load i64, ptr %29422, align 8, !tbaa !76
  %29424 = icmp eq i64 %29423, 0
  br i1 %29424, label %29478, label %29425

29425:                                            ; preds = %29418
  br label %29426

29426:                                            ; preds = %29425
  br label %29427

29427:                                            ; preds = %29426
  call void @llvm.lifetime.start.p0(i64 4, ptr %626) #11
  %29428 = call ptr @__errno_location() #12
  %29429 = load i32, ptr %29428, align 4, !tbaa !5
  store i32 %29429, ptr %626, align 4, !tbaa !5
  %29430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29431 = call i32 @s2n_print_stacktrace(ptr noundef %29430)
  %29432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29433 = trunc i8 %29432 to i1
  br i1 %29433, label %29434, label %29456

29434:                                            ; preds = %29427
  %29435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29436 = call i32 @fileno(ptr noundef %29435) #11
  %29437 = call i32 @isatty(i32 noundef %29436) #11
  %29438 = icmp ne i32 %29437, 0
  br i1 %29438, label %29439, label %29456

29439:                                            ; preds = %29434
  %29440 = load i32, ptr %626, align 4, !tbaa !5
  %29441 = call ptr @__errno_location() #12
  store i32 %29440, ptr %29441, align 4, !tbaa !5
  %29442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29443 = load i32, ptr @test_count, align 4, !tbaa !5
  %29444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29445 = load i32, ptr %29444, align 4, !tbaa !5
  %29446 = call ptr @s2n_strerror(i32 noundef %29445, ptr noundef @.str.4)
  %29447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29448 = load i32, ptr %29447, align 4, !tbaa !5
  %29449 = call ptr @s2n_strerror_debug(i32 noundef %29448, ptr noundef @.str.4)
  %29450 = call ptr @__errno_location() #12
  %29451 = load i32, ptr %29450, align 4, !tbaa !5
  %29452 = call ptr @strerror(i32 noundef %29451) #11
  %29453 = call ptr @__errno_location() #12
  %29454 = load i32, ptr %29453, align 4, !tbaa !5
  %29455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29442, ptr noundef @.str.2, i32 noundef %29443, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1177, ptr noundef %29446, ptr noundef %29449, ptr noundef %29452, i32 noundef %29454) #11
  br label %29473

29456:                                            ; preds = %29434, %29427
  %29457 = load i32, ptr %626, align 4, !tbaa !5
  %29458 = call ptr @__errno_location() #12
  store i32 %29457, ptr %29458, align 4, !tbaa !5
  %29459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29460 = load i32, ptr @test_count, align 4, !tbaa !5
  %29461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29462 = load i32, ptr %29461, align 4, !tbaa !5
  %29463 = call ptr @s2n_strerror(i32 noundef %29462, ptr noundef @.str.4)
  %29464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29465 = load i32, ptr %29464, align 4, !tbaa !5
  %29466 = call ptr @s2n_strerror_debug(i32 noundef %29465, ptr noundef @.str.4)
  %29467 = call ptr @__errno_location() #12
  %29468 = load i32, ptr %29467, align 4, !tbaa !5
  %29469 = call ptr @strerror(i32 noundef %29468) #11
  %29470 = call ptr @__errno_location() #12
  %29471 = load i32, ptr %29470, align 4, !tbaa !5
  %29472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29459, ptr noundef @.str.5, i32 noundef %29460, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1177, ptr noundef %29463, ptr noundef %29466, ptr noundef %29469, i32 noundef %29471) #11
  br label %29473

29473:                                            ; preds = %29456, %29439
  call void @llvm.lifetime.end.p0(i64 4, ptr %626) #11
  br label %29474

29474:                                            ; preds = %29473
  br label %29475

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

29476:                                            ; No predecessors!
  br label %29477

29477:                                            ; preds = %29476
  br label %29478

29478:                                            ; preds = %29477, %29418
  br label %29479

29479:                                            ; preds = %29478
  br label %29480

29480:                                            ; preds = %29479
  %29481 = load ptr, ptr %576, align 8, !tbaa !9
  %29482 = getelementptr inbounds %struct.s2n_connection, ptr %29481, i32 0, i32 60
  store i64 5, ptr %29482, align 8, !tbaa !76
  br label %29483

29483:                                            ; preds = %29480
  %29484 = load i32, ptr @test_count, align 4, !tbaa !5
  %29485 = add nsw i32 %29484, 1
  store i32 %29485, ptr @test_count, align 4, !tbaa !5
  %29486 = load ptr, ptr %576, align 8, !tbaa !9
  %29487 = call i32 @s2n_early_data_record_bytes(ptr noundef %29486, i64 noundef -1)
  %29488 = getelementptr inbounds %struct.s2n_result, ptr %627, i32 0, i32 0
  store i32 %29487, ptr %29488, align 4
  %29489 = getelementptr inbounds %struct.s2n_result, ptr %627, i32 0, i32 0
  %29490 = load i32, ptr %29489, align 4
  %29491 = call zeroext i1 @s2n_result_is_ok(i32 %29490)
  br i1 %29491, label %29545, label %29492

29492:                                            ; preds = %29483
  br label %29493

29493:                                            ; preds = %29492
  br label %29494

29494:                                            ; preds = %29493
  call void @llvm.lifetime.start.p0(i64 4, ptr %628) #11
  %29495 = call ptr @__errno_location() #12
  %29496 = load i32, ptr %29495, align 4, !tbaa !5
  store i32 %29496, ptr %628, align 4, !tbaa !5
  %29497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29498 = call i32 @s2n_print_stacktrace(ptr noundef %29497)
  %29499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29500 = trunc i8 %29499 to i1
  br i1 %29500, label %29501, label %29523

29501:                                            ; preds = %29494
  %29502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29503 = call i32 @fileno(ptr noundef %29502) #11
  %29504 = call i32 @isatty(i32 noundef %29503) #11
  %29505 = icmp ne i32 %29504, 0
  br i1 %29505, label %29506, label %29523

29506:                                            ; preds = %29501
  %29507 = load i32, ptr %628, align 4, !tbaa !5
  %29508 = call ptr @__errno_location() #12
  store i32 %29507, ptr %29508, align 4, !tbaa !5
  %29509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29510 = load i32, ptr @test_count, align 4, !tbaa !5
  %29511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29512 = load i32, ptr %29511, align 4, !tbaa !5
  %29513 = call ptr @s2n_strerror(i32 noundef %29512, ptr noundef @.str.4)
  %29514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29515 = load i32, ptr %29514, align 4, !tbaa !5
  %29516 = call ptr @s2n_strerror_debug(i32 noundef %29515, ptr noundef @.str.4)
  %29517 = call ptr @__errno_location() #12
  %29518 = load i32, ptr %29517, align 4, !tbaa !5
  %29519 = call ptr @strerror(i32 noundef %29518) #11
  %29520 = call ptr @__errno_location() #12
  %29521 = load i32, ptr %29520, align 4, !tbaa !5
  %29522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29509, ptr noundef @.str.2, i32 noundef %29510, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %29513, ptr noundef %29516, ptr noundef %29519, i32 noundef %29521) #11
  br label %29540

29523:                                            ; preds = %29501, %29494
  %29524 = load i32, ptr %628, align 4, !tbaa !5
  %29525 = call ptr @__errno_location() #12
  store i32 %29524, ptr %29525, align 4, !tbaa !5
  %29526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29527 = load i32, ptr @test_count, align 4, !tbaa !5
  %29528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29529 = load i32, ptr %29528, align 4, !tbaa !5
  %29530 = call ptr @s2n_strerror(i32 noundef %29529, ptr noundef @.str.4)
  %29531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29532 = load i32, ptr %29531, align 4, !tbaa !5
  %29533 = call ptr @s2n_strerror_debug(i32 noundef %29532, ptr noundef @.str.4)
  %29534 = call ptr @__errno_location() #12
  %29535 = load i32, ptr %29534, align 4, !tbaa !5
  %29536 = call ptr @strerror(i32 noundef %29535) #11
  %29537 = call ptr @__errno_location() #12
  %29538 = load i32, ptr %29537, align 4, !tbaa !5
  %29539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29526, ptr noundef @.str.5, i32 noundef %29527, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %29530, ptr noundef %29533, ptr noundef %29536, i32 noundef %29538) #11
  br label %29540

29540:                                            ; preds = %29523, %29506
  call void @llvm.lifetime.end.p0(i64 4, ptr %628) #11
  br label %29541

29541:                                            ; preds = %29540
  br label %29542

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

29543:                                            ; No predecessors!
  br label %29544

29544:                                            ; preds = %29543
  br label %29545

29545:                                            ; preds = %29544, %29483
  br label %29546

29546:                                            ; preds = %29545
  br label %29547

29547:                                            ; preds = %29546
  br label %29548

29548:                                            ; preds = %29547
  %29549 = load i32, ptr @test_count, align 4, !tbaa !5
  %29550 = add nsw i32 %29549, 1
  store i32 %29550, ptr @test_count, align 4, !tbaa !5
  %29551 = load ptr, ptr %576, align 8, !tbaa !9
  %29552 = getelementptr inbounds %struct.s2n_connection, ptr %29551, i32 0, i32 60
  %29553 = load i64, ptr %29552, align 8, !tbaa !76
  %29554 = icmp eq i64 %29553, 5
  br i1 %29554, label %29608, label %29555

29555:                                            ; preds = %29548
  br label %29556

29556:                                            ; preds = %29555
  br label %29557

29557:                                            ; preds = %29556
  call void @llvm.lifetime.start.p0(i64 4, ptr %629) #11
  %29558 = call ptr @__errno_location() #12
  %29559 = load i32, ptr %29558, align 4, !tbaa !5
  store i32 %29559, ptr %629, align 4, !tbaa !5
  %29560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29561 = call i32 @s2n_print_stacktrace(ptr noundef %29560)
  %29562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29563 = trunc i8 %29562 to i1
  br i1 %29563, label %29564, label %29586

29564:                                            ; preds = %29557
  %29565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29566 = call i32 @fileno(ptr noundef %29565) #11
  %29567 = call i32 @isatty(i32 noundef %29566) #11
  %29568 = icmp ne i32 %29567, 0
  br i1 %29568, label %29569, label %29586

29569:                                            ; preds = %29564
  %29570 = load i32, ptr %629, align 4, !tbaa !5
  %29571 = call ptr @__errno_location() #12
  store i32 %29570, ptr %29571, align 4, !tbaa !5
  %29572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29573 = load i32, ptr @test_count, align 4, !tbaa !5
  %29574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29575 = load i32, ptr %29574, align 4, !tbaa !5
  %29576 = call ptr @s2n_strerror(i32 noundef %29575, ptr noundef @.str.4)
  %29577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29578 = load i32, ptr %29577, align 4, !tbaa !5
  %29579 = call ptr @s2n_strerror_debug(i32 noundef %29578, ptr noundef @.str.4)
  %29580 = call ptr @__errno_location() #12
  %29581 = load i32, ptr %29580, align 4, !tbaa !5
  %29582 = call ptr @strerror(i32 noundef %29581) #11
  %29583 = call ptr @__errno_location() #12
  %29584 = load i32, ptr %29583, align 4, !tbaa !5
  %29585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29572, ptr noundef @.str.2, i32 noundef %29573, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 1181, ptr noundef %29576, ptr noundef %29579, ptr noundef %29582, i32 noundef %29584) #11
  br label %29603

29586:                                            ; preds = %29564, %29557
  %29587 = load i32, ptr %629, align 4, !tbaa !5
  %29588 = call ptr @__errno_location() #12
  store i32 %29587, ptr %29588, align 4, !tbaa !5
  %29589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29590 = load i32, ptr @test_count, align 4, !tbaa !5
  %29591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29592 = load i32, ptr %29591, align 4, !tbaa !5
  %29593 = call ptr @s2n_strerror(i32 noundef %29592, ptr noundef @.str.4)
  %29594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29595 = load i32, ptr %29594, align 4, !tbaa !5
  %29596 = call ptr @s2n_strerror_debug(i32 noundef %29595, ptr noundef @.str.4)
  %29597 = call ptr @__errno_location() #12
  %29598 = load i32, ptr %29597, align 4, !tbaa !5
  %29599 = call ptr @strerror(i32 noundef %29598) #11
  %29600 = call ptr @__errno_location() #12
  %29601 = load i32, ptr %29600, align 4, !tbaa !5
  %29602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29589, ptr noundef @.str.5, i32 noundef %29590, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 1181, ptr noundef %29593, ptr noundef %29596, ptr noundef %29599, i32 noundef %29601) #11
  br label %29603

29603:                                            ; preds = %29586, %29569
  call void @llvm.lifetime.end.p0(i64 4, ptr %629) #11
  br label %29604

29604:                                            ; preds = %29603
  br label %29605

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

29606:                                            ; No predecessors!
  br label %29607

29607:                                            ; preds = %29606
  br label %29608

29608:                                            ; preds = %29607, %29548
  br label %29609

29609:                                            ; preds = %29608
  br label %29610

29610:                                            ; preds = %29609
  %29611 = load ptr, ptr %576, align 8, !tbaa !9
  %29612 = getelementptr inbounds %struct.s2n_connection, ptr %29611, i32 0, i32 60
  store i64 10, ptr %29612, align 8, !tbaa !76
  br label %29613

29613:                                            ; preds = %29610
  %29614 = load i32, ptr @test_count, align 4, !tbaa !5
  %29615 = add nsw i32 %29614, 1
  store i32 %29615, ptr @test_count, align 4, !tbaa !5
  %29616 = load ptr, ptr %576, align 8, !tbaa !9
  %29617 = call i32 @s2n_early_data_record_bytes(ptr noundef %29616, i64 noundef -1)
  %29618 = getelementptr inbounds %struct.s2n_result, ptr %630, i32 0, i32 0
  store i32 %29617, ptr %29618, align 4
  %29619 = getelementptr inbounds %struct.s2n_result, ptr %630, i32 0, i32 0
  %29620 = load i32, ptr %29619, align 4
  %29621 = call zeroext i1 @s2n_result_is_ok(i32 %29620)
  br i1 %29621, label %29675, label %29622

29622:                                            ; preds = %29613
  br label %29623

29623:                                            ; preds = %29622
  br label %29624

29624:                                            ; preds = %29623
  call void @llvm.lifetime.start.p0(i64 4, ptr %631) #11
  %29625 = call ptr @__errno_location() #12
  %29626 = load i32, ptr %29625, align 4, !tbaa !5
  store i32 %29626, ptr %631, align 4, !tbaa !5
  %29627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29628 = call i32 @s2n_print_stacktrace(ptr noundef %29627)
  %29629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29630 = trunc i8 %29629 to i1
  br i1 %29630, label %29631, label %29653

29631:                                            ; preds = %29624
  %29632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29633 = call i32 @fileno(ptr noundef %29632) #11
  %29634 = call i32 @isatty(i32 noundef %29633) #11
  %29635 = icmp ne i32 %29634, 0
  br i1 %29635, label %29636, label %29653

29636:                                            ; preds = %29631
  %29637 = load i32, ptr %631, align 4, !tbaa !5
  %29638 = call ptr @__errno_location() #12
  store i32 %29637, ptr %29638, align 4, !tbaa !5
  %29639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29640 = load i32, ptr @test_count, align 4, !tbaa !5
  %29641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29642 = load i32, ptr %29641, align 4, !tbaa !5
  %29643 = call ptr @s2n_strerror(i32 noundef %29642, ptr noundef @.str.4)
  %29644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29645 = load i32, ptr %29644, align 4, !tbaa !5
  %29646 = call ptr @s2n_strerror_debug(i32 noundef %29645, ptr noundef @.str.4)
  %29647 = call ptr @__errno_location() #12
  %29648 = load i32, ptr %29647, align 4, !tbaa !5
  %29649 = call ptr @strerror(i32 noundef %29648) #11
  %29650 = call ptr @__errno_location() #12
  %29651 = load i32, ptr %29650, align 4, !tbaa !5
  %29652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29639, ptr noundef @.str.2, i32 noundef %29640, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1184, ptr noundef %29643, ptr noundef %29646, ptr noundef %29649, i32 noundef %29651) #11
  br label %29670

29653:                                            ; preds = %29631, %29624
  %29654 = load i32, ptr %631, align 4, !tbaa !5
  %29655 = call ptr @__errno_location() #12
  store i32 %29654, ptr %29655, align 4, !tbaa !5
  %29656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29657 = load i32, ptr @test_count, align 4, !tbaa !5
  %29658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29659 = load i32, ptr %29658, align 4, !tbaa !5
  %29660 = call ptr @s2n_strerror(i32 noundef %29659, ptr noundef @.str.4)
  %29661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29662 = load i32, ptr %29661, align 4, !tbaa !5
  %29663 = call ptr @s2n_strerror_debug(i32 noundef %29662, ptr noundef @.str.4)
  %29664 = call ptr @__errno_location() #12
  %29665 = load i32, ptr %29664, align 4, !tbaa !5
  %29666 = call ptr @strerror(i32 noundef %29665) #11
  %29667 = call ptr @__errno_location() #12
  %29668 = load i32, ptr %29667, align 4, !tbaa !5
  %29669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29656, ptr noundef @.str.5, i32 noundef %29657, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1184, ptr noundef %29660, ptr noundef %29663, ptr noundef %29666, i32 noundef %29668) #11
  br label %29670

29670:                                            ; preds = %29653, %29636
  call void @llvm.lifetime.end.p0(i64 4, ptr %631) #11
  br label %29671

29671:                                            ; preds = %29670
  br label %29672

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

29673:                                            ; No predecessors!
  br label %29674

29674:                                            ; preds = %29673
  br label %29675

29675:                                            ; preds = %29674, %29613
  br label %29676

29676:                                            ; preds = %29675
  br label %29677

29677:                                            ; preds = %29676
  br label %29678

29678:                                            ; preds = %29677
  %29679 = load i32, ptr @test_count, align 4, !tbaa !5
  %29680 = add nsw i32 %29679, 1
  store i32 %29680, ptr @test_count, align 4, !tbaa !5
  %29681 = load ptr, ptr %576, align 8, !tbaa !9
  %29682 = getelementptr inbounds %struct.s2n_connection, ptr %29681, i32 0, i32 60
  %29683 = load i64, ptr %29682, align 8, !tbaa !76
  %29684 = icmp eq i64 %29683, 10
  br i1 %29684, label %29738, label %29685

29685:                                            ; preds = %29678
  br label %29686

29686:                                            ; preds = %29685
  br label %29687

29687:                                            ; preds = %29686
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #11
  %29688 = call ptr @__errno_location() #12
  %29689 = load i32, ptr %29688, align 4, !tbaa !5
  store i32 %29689, ptr %632, align 4, !tbaa !5
  %29690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29691 = call i32 @s2n_print_stacktrace(ptr noundef %29690)
  %29692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29693 = trunc i8 %29692 to i1
  br i1 %29693, label %29694, label %29716

29694:                                            ; preds = %29687
  %29695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29696 = call i32 @fileno(ptr noundef %29695) #11
  %29697 = call i32 @isatty(i32 noundef %29696) #11
  %29698 = icmp ne i32 %29697, 0
  br i1 %29698, label %29699, label %29716

29699:                                            ; preds = %29694
  %29700 = load i32, ptr %632, align 4, !tbaa !5
  %29701 = call ptr @__errno_location() #12
  store i32 %29700, ptr %29701, align 4, !tbaa !5
  %29702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29703 = load i32, ptr @test_count, align 4, !tbaa !5
  %29704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29705 = load i32, ptr %29704, align 4, !tbaa !5
  %29706 = call ptr @s2n_strerror(i32 noundef %29705, ptr noundef @.str.4)
  %29707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29708 = load i32, ptr %29707, align 4, !tbaa !5
  %29709 = call ptr @s2n_strerror_debug(i32 noundef %29708, ptr noundef @.str.4)
  %29710 = call ptr @__errno_location() #12
  %29711 = load i32, ptr %29710, align 4, !tbaa !5
  %29712 = call ptr @strerror(i32 noundef %29711) #11
  %29713 = call ptr @__errno_location() #12
  %29714 = load i32, ptr %29713, align 4, !tbaa !5
  %29715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29702, ptr noundef @.str.2, i32 noundef %29703, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %29706, ptr noundef %29709, ptr noundef %29712, i32 noundef %29714) #11
  br label %29733

29716:                                            ; preds = %29694, %29687
  %29717 = load i32, ptr %632, align 4, !tbaa !5
  %29718 = call ptr @__errno_location() #12
  store i32 %29717, ptr %29718, align 4, !tbaa !5
  %29719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29720 = load i32, ptr @test_count, align 4, !tbaa !5
  %29721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29722 = load i32, ptr %29721, align 4, !tbaa !5
  %29723 = call ptr @s2n_strerror(i32 noundef %29722, ptr noundef @.str.4)
  %29724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29725 = load i32, ptr %29724, align 4, !tbaa !5
  %29726 = call ptr @s2n_strerror_debug(i32 noundef %29725, ptr noundef @.str.4)
  %29727 = call ptr @__errno_location() #12
  %29728 = load i32, ptr %29727, align 4, !tbaa !5
  %29729 = call ptr @strerror(i32 noundef %29728) #11
  %29730 = call ptr @__errno_location() #12
  %29731 = load i32, ptr %29730, align 4, !tbaa !5
  %29732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29719, ptr noundef @.str.5, i32 noundef %29720, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %29723, ptr noundef %29726, ptr noundef %29729, i32 noundef %29731) #11
  br label %29733

29733:                                            ; preds = %29716, %29699
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #11
  br label %29734

29734:                                            ; preds = %29733
  br label %29735

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

29736:                                            ; No predecessors!
  br label %29737

29737:                                            ; preds = %29736
  br label %29738

29738:                                            ; preds = %29737, %29678
  br label %29739

29739:                                            ; preds = %29738
  br label %29740

29740:                                            ; preds = %29739
  %29741 = load ptr, ptr %576, align 8, !tbaa !9
  %29742 = getelementptr inbounds %struct.s2n_connection, ptr %29741, i32 0, i32 60
  store i64 11, ptr %29742, align 8, !tbaa !76
  br label %29743

29743:                                            ; preds = %29740
  %29744 = load i32, ptr @test_count, align 4, !tbaa !5
  %29745 = add nsw i32 %29744, 1
  store i32 %29745, ptr @test_count, align 4, !tbaa !5
  %29746 = load ptr, ptr %576, align 8, !tbaa !9
  %29747 = call i32 @s2n_early_data_record_bytes(ptr noundef %29746, i64 noundef -1)
  %29748 = getelementptr inbounds %struct.s2n_result, ptr %633, i32 0, i32 0
  store i32 %29747, ptr %29748, align 4
  %29749 = getelementptr inbounds %struct.s2n_result, ptr %633, i32 0, i32 0
  %29750 = load i32, ptr %29749, align 4
  %29751 = call zeroext i1 @s2n_result_is_ok(i32 %29750)
  br i1 %29751, label %29805, label %29752

29752:                                            ; preds = %29743
  br label %29753

29753:                                            ; preds = %29752
  br label %29754

29754:                                            ; preds = %29753
  call void @llvm.lifetime.start.p0(i64 4, ptr %634) #11
  %29755 = call ptr @__errno_location() #12
  %29756 = load i32, ptr %29755, align 4, !tbaa !5
  store i32 %29756, ptr %634, align 4, !tbaa !5
  %29757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29758 = call i32 @s2n_print_stacktrace(ptr noundef %29757)
  %29759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29760 = trunc i8 %29759 to i1
  br i1 %29760, label %29761, label %29783

29761:                                            ; preds = %29754
  %29762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29763 = call i32 @fileno(ptr noundef %29762) #11
  %29764 = call i32 @isatty(i32 noundef %29763) #11
  %29765 = icmp ne i32 %29764, 0
  br i1 %29765, label %29766, label %29783

29766:                                            ; preds = %29761
  %29767 = load i32, ptr %634, align 4, !tbaa !5
  %29768 = call ptr @__errno_location() #12
  store i32 %29767, ptr %29768, align 4, !tbaa !5
  %29769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29770 = load i32, ptr @test_count, align 4, !tbaa !5
  %29771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29772 = load i32, ptr %29771, align 4, !tbaa !5
  %29773 = call ptr @s2n_strerror(i32 noundef %29772, ptr noundef @.str.4)
  %29774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29775 = load i32, ptr %29774, align 4, !tbaa !5
  %29776 = call ptr @s2n_strerror_debug(i32 noundef %29775, ptr noundef @.str.4)
  %29777 = call ptr @__errno_location() #12
  %29778 = load i32, ptr %29777, align 4, !tbaa !5
  %29779 = call ptr @strerror(i32 noundef %29778) #11
  %29780 = call ptr @__errno_location() #12
  %29781 = load i32, ptr %29780, align 4, !tbaa !5
  %29782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29769, ptr noundef @.str.2, i32 noundef %29770, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1191, ptr noundef %29773, ptr noundef %29776, ptr noundef %29779, i32 noundef %29781) #11
  br label %29800

29783:                                            ; preds = %29761, %29754
  %29784 = load i32, ptr %634, align 4, !tbaa !5
  %29785 = call ptr @__errno_location() #12
  store i32 %29784, ptr %29785, align 4, !tbaa !5
  %29786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29787 = load i32, ptr @test_count, align 4, !tbaa !5
  %29788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29789 = load i32, ptr %29788, align 4, !tbaa !5
  %29790 = call ptr @s2n_strerror(i32 noundef %29789, ptr noundef @.str.4)
  %29791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29792 = load i32, ptr %29791, align 4, !tbaa !5
  %29793 = call ptr @s2n_strerror_debug(i32 noundef %29792, ptr noundef @.str.4)
  %29794 = call ptr @__errno_location() #12
  %29795 = load i32, ptr %29794, align 4, !tbaa !5
  %29796 = call ptr @strerror(i32 noundef %29795) #11
  %29797 = call ptr @__errno_location() #12
  %29798 = load i32, ptr %29797, align 4, !tbaa !5
  %29799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29786, ptr noundef @.str.5, i32 noundef %29787, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1191, ptr noundef %29790, ptr noundef %29793, ptr noundef %29796, i32 noundef %29798) #11
  br label %29800

29800:                                            ; preds = %29783, %29766
  call void @llvm.lifetime.end.p0(i64 4, ptr %634) #11
  br label %29801

29801:                                            ; preds = %29800
  br label %29802

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

29803:                                            ; No predecessors!
  br label %29804

29804:                                            ; preds = %29803
  br label %29805

29805:                                            ; preds = %29804, %29743
  br label %29806

29806:                                            ; preds = %29805
  br label %29807

29807:                                            ; preds = %29806
  br label %29808

29808:                                            ; preds = %29807
  %29809 = load i32, ptr @test_count, align 4, !tbaa !5
  %29810 = add nsw i32 %29809, 1
  store i32 %29810, ptr @test_count, align 4, !tbaa !5
  %29811 = load ptr, ptr %576, align 8, !tbaa !9
  %29812 = getelementptr inbounds %struct.s2n_connection, ptr %29811, i32 0, i32 60
  %29813 = load i64, ptr %29812, align 8, !tbaa !76
  %29814 = icmp eq i64 %29813, 11
  br i1 %29814, label %29868, label %29815

29815:                                            ; preds = %29808
  br label %29816

29816:                                            ; preds = %29815
  br label %29817

29817:                                            ; preds = %29816
  call void @llvm.lifetime.start.p0(i64 4, ptr %635) #11
  %29818 = call ptr @__errno_location() #12
  %29819 = load i32, ptr %29818, align 4, !tbaa !5
  store i32 %29819, ptr %635, align 4, !tbaa !5
  %29820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29821 = call i32 @s2n_print_stacktrace(ptr noundef %29820)
  %29822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29823 = trunc i8 %29822 to i1
  br i1 %29823, label %29824, label %29846

29824:                                            ; preds = %29817
  %29825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29826 = call i32 @fileno(ptr noundef %29825) #11
  %29827 = call i32 @isatty(i32 noundef %29826) #11
  %29828 = icmp ne i32 %29827, 0
  br i1 %29828, label %29829, label %29846

29829:                                            ; preds = %29824
  %29830 = load i32, ptr %635, align 4, !tbaa !5
  %29831 = call ptr @__errno_location() #12
  store i32 %29830, ptr %29831, align 4, !tbaa !5
  %29832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29833 = load i32, ptr @test_count, align 4, !tbaa !5
  %29834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29835 = load i32, ptr %29834, align 4, !tbaa !5
  %29836 = call ptr @s2n_strerror(i32 noundef %29835, ptr noundef @.str.4)
  %29837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29838 = load i32, ptr %29837, align 4, !tbaa !5
  %29839 = call ptr @s2n_strerror_debug(i32 noundef %29838, ptr noundef @.str.4)
  %29840 = call ptr @__errno_location() #12
  %29841 = load i32, ptr %29840, align 4, !tbaa !5
  %29842 = call ptr @strerror(i32 noundef %29841) #11
  %29843 = call ptr @__errno_location() #12
  %29844 = load i32, ptr %29843, align 4, !tbaa !5
  %29845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29832, ptr noundef @.str.2, i32 noundef %29833, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1192, ptr noundef %29836, ptr noundef %29839, ptr noundef %29842, i32 noundef %29844) #11
  br label %29863

29846:                                            ; preds = %29824, %29817
  %29847 = load i32, ptr %635, align 4, !tbaa !5
  %29848 = call ptr @__errno_location() #12
  store i32 %29847, ptr %29848, align 4, !tbaa !5
  %29849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29850 = load i32, ptr @test_count, align 4, !tbaa !5
  %29851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29852 = load i32, ptr %29851, align 4, !tbaa !5
  %29853 = call ptr @s2n_strerror(i32 noundef %29852, ptr noundef @.str.4)
  %29854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29855 = load i32, ptr %29854, align 4, !tbaa !5
  %29856 = call ptr @s2n_strerror_debug(i32 noundef %29855, ptr noundef @.str.4)
  %29857 = call ptr @__errno_location() #12
  %29858 = load i32, ptr %29857, align 4, !tbaa !5
  %29859 = call ptr @strerror(i32 noundef %29858) #11
  %29860 = call ptr @__errno_location() #12
  %29861 = load i32, ptr %29860, align 4, !tbaa !5
  %29862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29849, ptr noundef @.str.5, i32 noundef %29850, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1192, ptr noundef %29853, ptr noundef %29856, ptr noundef %29859, i32 noundef %29861) #11
  br label %29863

29863:                                            ; preds = %29846, %29829
  call void @llvm.lifetime.end.p0(i64 4, ptr %635) #11
  br label %29864

29864:                                            ; preds = %29863
  br label %29865

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

29866:                                            ; No predecessors!
  br label %29867

29867:                                            ; preds = %29866
  br label %29868

29868:                                            ; preds = %29867, %29808
  br label %29869

29869:                                            ; preds = %29868
  br label %29870

29870:                                            ; preds = %29869
  br label %29871

29871:                                            ; preds = %29870
  %29872 = load i32, ptr @test_count, align 4, !tbaa !5
  %29873 = add nsw i32 %29872, 1
  store i32 %29873, ptr @test_count, align 4, !tbaa !5
  %29874 = load ptr, ptr %576, align 8, !tbaa !9
  %29875 = call i32 @s2n_connection_free(ptr noundef %29874)
  %29876 = icmp eq i32 %29875, -1
  br i1 %29876, label %29877, label %29930

29877:                                            ; preds = %29871
  br label %29878

29878:                                            ; preds = %29877
  br label %29879

29879:                                            ; preds = %29878
  call void @llvm.lifetime.start.p0(i64 4, ptr %636) #11
  %29880 = call ptr @__errno_location() #12
  %29881 = load i32, ptr %29880, align 4, !tbaa !5
  store i32 %29881, ptr %636, align 4, !tbaa !5
  %29882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29883 = call i32 @s2n_print_stacktrace(ptr noundef %29882)
  %29884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29885 = trunc i8 %29884 to i1
  br i1 %29885, label %29886, label %29908

29886:                                            ; preds = %29879
  %29887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29888 = call i32 @fileno(ptr noundef %29887) #11
  %29889 = call i32 @isatty(i32 noundef %29888) #11
  %29890 = icmp ne i32 %29889, 0
  br i1 %29890, label %29891, label %29908

29891:                                            ; preds = %29886
  %29892 = load i32, ptr %636, align 4, !tbaa !5
  %29893 = call ptr @__errno_location() #12
  store i32 %29892, ptr %29893, align 4, !tbaa !5
  %29894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29895 = load i32, ptr @test_count, align 4, !tbaa !5
  %29896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29897 = load i32, ptr %29896, align 4, !tbaa !5
  %29898 = call ptr @s2n_strerror(i32 noundef %29897, ptr noundef @.str.4)
  %29899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29900 = load i32, ptr %29899, align 4, !tbaa !5
  %29901 = call ptr @s2n_strerror_debug(i32 noundef %29900, ptr noundef @.str.4)
  %29902 = call ptr @__errno_location() #12
  %29903 = load i32, ptr %29902, align 4, !tbaa !5
  %29904 = call ptr @strerror(i32 noundef %29903) #11
  %29905 = call ptr @__errno_location() #12
  %29906 = load i32, ptr %29905, align 4, !tbaa !5
  %29907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29894, ptr noundef @.str.2, i32 noundef %29895, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1195, ptr noundef %29898, ptr noundef %29901, ptr noundef %29904, i32 noundef %29906) #11
  br label %29925

29908:                                            ; preds = %29886, %29879
  %29909 = load i32, ptr %636, align 4, !tbaa !5
  %29910 = call ptr @__errno_location() #12
  store i32 %29909, ptr %29910, align 4, !tbaa !5
  %29911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29912 = load i32, ptr @test_count, align 4, !tbaa !5
  %29913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29914 = load i32, ptr %29913, align 4, !tbaa !5
  %29915 = call ptr @s2n_strerror(i32 noundef %29914, ptr noundef @.str.4)
  %29916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29917 = load i32, ptr %29916, align 4, !tbaa !5
  %29918 = call ptr @s2n_strerror_debug(i32 noundef %29917, ptr noundef @.str.4)
  %29919 = call ptr @__errno_location() #12
  %29920 = load i32, ptr %29919, align 4, !tbaa !5
  %29921 = call ptr @strerror(i32 noundef %29920) #11
  %29922 = call ptr @__errno_location() #12
  %29923 = load i32, ptr %29922, align 4, !tbaa !5
  %29924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29911, ptr noundef @.str.5, i32 noundef %29912, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1195, ptr noundef %29915, ptr noundef %29918, ptr noundef %29921, i32 noundef %29923) #11
  br label %29925

29925:                                            ; preds = %29908, %29891
  call void @llvm.lifetime.end.p0(i64 4, ptr %636) #11
  br label %29926

29926:                                            ; preds = %29925
  br label %29927

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

29928:                                            ; No predecessors!
  br label %29929

29929:                                            ; preds = %29928
  br label %29930

29930:                                            ; preds = %29929, %29871
  br label %29931

29931:                                            ; preds = %29930
  br label %29932

29932:                                            ; preds = %29931
  call void @llvm.lifetime.end.p0(i64 8, ptr %576) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %29933

29933:                                            ; preds = %29932
  br label %29934

29934:                                            ; preds = %29933
  br label %29935

29935:                                            ; preds = %29934
  %29936 = load i32, ptr @test_count, align 4, !tbaa !5
  %29937 = add nsw i32 %29936, 1
  store i32 %29937, ptr @test_count, align 4, !tbaa !5
  %29938 = call i32 @s2n_early_data_validate_send(ptr noundef null, i32 noundef 1)
  %29939 = getelementptr inbounds %struct.s2n_result, ptr %637, i32 0, i32 0
  store i32 %29938, ptr %29939, align 4
  %29940 = getelementptr inbounds %struct.s2n_result, ptr %637, i32 0, i32 0
  %29941 = load i32, ptr %29940, align 4
  %29942 = call zeroext i1 @s2n_result_is_error(i32 %29941)
  br i1 %29942, label %29996, label %29943

29943:                                            ; preds = %29935
  br label %29944

29944:                                            ; preds = %29943
  br label %29945

29945:                                            ; preds = %29944
  call void @llvm.lifetime.start.p0(i64 4, ptr %638) #11
  %29946 = call ptr @__errno_location() #12
  %29947 = load i32, ptr %29946, align 4, !tbaa !5
  store i32 %29947, ptr %638, align 4, !tbaa !5
  %29948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29949 = call i32 @s2n_print_stacktrace(ptr noundef %29948)
  %29950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29951 = trunc i8 %29950 to i1
  br i1 %29951, label %29952, label %29974

29952:                                            ; preds = %29945
  %29953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29954 = call i32 @fileno(ptr noundef %29953) #11
  %29955 = call i32 @isatty(i32 noundef %29954) #11
  %29956 = icmp ne i32 %29955, 0
  br i1 %29956, label %29957, label %29974

29957:                                            ; preds = %29952
  %29958 = load i32, ptr %638, align 4, !tbaa !5
  %29959 = call ptr @__errno_location() #12
  store i32 %29958, ptr %29959, align 4, !tbaa !5
  %29960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29961 = load i32, ptr @test_count, align 4, !tbaa !5
  %29962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29963 = load i32, ptr %29962, align 4, !tbaa !5
  %29964 = call ptr @s2n_strerror(i32 noundef %29963, ptr noundef @.str.4)
  %29965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29966 = load i32, ptr %29965, align 4, !tbaa !5
  %29967 = call ptr @s2n_strerror_debug(i32 noundef %29966, ptr noundef @.str.4)
  %29968 = call ptr @__errno_location() #12
  %29969 = load i32, ptr %29968, align 4, !tbaa !5
  %29970 = call ptr @strerror(i32 noundef %29969) #11
  %29971 = call ptr @__errno_location() #12
  %29972 = load i32, ptr %29971, align 4, !tbaa !5
  %29973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29960, ptr noundef @.str.2, i32 noundef %29961, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %29964, ptr noundef %29967, ptr noundef %29970, i32 noundef %29972) #11
  br label %29991

29974:                                            ; preds = %29952, %29945
  %29975 = load i32, ptr %638, align 4, !tbaa !5
  %29976 = call ptr @__errno_location() #12
  store i32 %29975, ptr %29976, align 4, !tbaa !5
  %29977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29978 = load i32, ptr @test_count, align 4, !tbaa !5
  %29979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29980 = load i32, ptr %29979, align 4, !tbaa !5
  %29981 = call ptr @s2n_strerror(i32 noundef %29980, ptr noundef @.str.4)
  %29982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29983 = load i32, ptr %29982, align 4, !tbaa !5
  %29984 = call ptr @s2n_strerror_debug(i32 noundef %29983, ptr noundef @.str.4)
  %29985 = call ptr @__errno_location() #12
  %29986 = load i32, ptr %29985, align 4, !tbaa !5
  %29987 = call ptr @strerror(i32 noundef %29986) #11
  %29988 = call ptr @__errno_location() #12
  %29989 = load i32, ptr %29988, align 4, !tbaa !5
  %29990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29977, ptr noundef @.str.5, i32 noundef %29978, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %29981, ptr noundef %29984, ptr noundef %29987, i32 noundef %29989) #11
  br label %29991

29991:                                            ; preds = %29974, %29957
  call void @llvm.lifetime.end.p0(i64 4, ptr %638) #11
  br label %29992

29992:                                            ; preds = %29991
  br label %29993

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

29994:                                            ; No predecessors!
  br label %29995

29995:                                            ; preds = %29994
  br label %29996

29996:                                            ; preds = %29995, %29935
  br label %29997

29997:                                            ; preds = %29996
  br label %29998

29998:                                            ; preds = %29997
  br label %29999

29999:                                            ; preds = %29998
  %30000 = load i32, ptr @test_count, align 4, !tbaa !5
  %30001 = add nsw i32 %30000, 1
  store i32 %30001, ptr @test_count, align 4, !tbaa !5
  %30002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30003 = load i32, ptr %30002, align 4, !tbaa !5
  %30004 = icmp eq i32 %30003, 402653193
  br i1 %30004, label %30058, label %30005

30005:                                            ; preds = %29999
  br label %30006

30006:                                            ; preds = %30005
  br label %30007

30007:                                            ; preds = %30006
  call void @llvm.lifetime.start.p0(i64 4, ptr %639) #11
  %30008 = call ptr @__errno_location() #12
  %30009 = load i32, ptr %30008, align 4, !tbaa !5
  store i32 %30009, ptr %639, align 4, !tbaa !5
  %30010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30011 = call i32 @s2n_print_stacktrace(ptr noundef %30010)
  %30012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30013 = trunc i8 %30012 to i1
  br i1 %30013, label %30014, label %30036

30014:                                            ; preds = %30007
  %30015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30016 = call i32 @fileno(ptr noundef %30015) #11
  %30017 = call i32 @isatty(i32 noundef %30016) #11
  %30018 = icmp ne i32 %30017, 0
  br i1 %30018, label %30019, label %30036

30019:                                            ; preds = %30014
  %30020 = load i32, ptr %639, align 4, !tbaa !5
  %30021 = call ptr @__errno_location() #12
  store i32 %30020, ptr %30021, align 4, !tbaa !5
  %30022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30023 = load i32, ptr @test_count, align 4, !tbaa !5
  %30024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30025 = load i32, ptr %30024, align 4, !tbaa !5
  %30026 = call ptr @s2n_strerror(i32 noundef %30025, ptr noundef @.str.4)
  %30027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30028 = load i32, ptr %30027, align 4, !tbaa !5
  %30029 = call ptr @s2n_strerror_debug(i32 noundef %30028, ptr noundef @.str.4)
  %30030 = call ptr @__errno_location() #12
  %30031 = load i32, ptr %30030, align 4, !tbaa !5
  %30032 = call ptr @strerror(i32 noundef %30031) #11
  %30033 = call ptr @__errno_location() #12
  %30034 = load i32, ptr %30033, align 4, !tbaa !5
  %30035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30022, ptr noundef @.str.2, i32 noundef %30023, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %30026, ptr noundef %30029, ptr noundef %30032, i32 noundef %30034) #11
  br label %30053

30036:                                            ; preds = %30014, %30007
  %30037 = load i32, ptr %639, align 4, !tbaa !5
  %30038 = call ptr @__errno_location() #12
  store i32 %30037, ptr %30038, align 4, !tbaa !5
  %30039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30040 = load i32, ptr @test_count, align 4, !tbaa !5
  %30041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30042 = load i32, ptr %30041, align 4, !tbaa !5
  %30043 = call ptr @s2n_strerror(i32 noundef %30042, ptr noundef @.str.4)
  %30044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30045 = load i32, ptr %30044, align 4, !tbaa !5
  %30046 = call ptr @s2n_strerror_debug(i32 noundef %30045, ptr noundef @.str.4)
  %30047 = call ptr @__errno_location() #12
  %30048 = load i32, ptr %30047, align 4, !tbaa !5
  %30049 = call ptr @strerror(i32 noundef %30048) #11
  %30050 = call ptr @__errno_location() #12
  %30051 = load i32, ptr %30050, align 4, !tbaa !5
  %30052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30039, ptr noundef @.str.5, i32 noundef %30040, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %30043, ptr noundef %30046, ptr noundef %30049, i32 noundef %30051) #11
  br label %30053

30053:                                            ; preds = %30036, %30019
  call void @llvm.lifetime.end.p0(i64 4, ptr %639) #11
  br label %30054

30054:                                            ; preds = %30053
  br label %30055

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

30056:                                            ; No predecessors!
  br label %30057

30057:                                            ; preds = %30056
  br label %30058

30058:                                            ; preds = %30057, %29999
  br label %30059

30059:                                            ; preds = %30058
  br label %30060

30060:                                            ; preds = %30059
  br label %30061

30061:                                            ; preds = %30060
  %30062 = load i32, ptr @test_count, align 4, !tbaa !5
  %30063 = add nsw i32 %30062, 1
  store i32 %30063, ptr @test_count, align 4, !tbaa !5
  %30064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30065 = load i32, ptr %30064, align 4, !tbaa !5
  %30066 = call ptr @s2n_strerror_debug(i32 noundef %30065, ptr noundef @.str.4)
  %30067 = icmp eq ptr %30066, null
  br i1 %30067, label %30068, label %30121

30068:                                            ; preds = %30061
  br label %30069

30069:                                            ; preds = %30068
  br label %30070

30070:                                            ; preds = %30069
  call void @llvm.lifetime.start.p0(i64 4, ptr %640) #11
  %30071 = call ptr @__errno_location() #12
  %30072 = load i32, ptr %30071, align 4, !tbaa !5
  store i32 %30072, ptr %640, align 4, !tbaa !5
  %30073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30074 = call i32 @s2n_print_stacktrace(ptr noundef %30073)
  %30075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30076 = trunc i8 %30075 to i1
  br i1 %30076, label %30077, label %30099

30077:                                            ; preds = %30070
  %30078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30079 = call i32 @fileno(ptr noundef %30078) #11
  %30080 = call i32 @isatty(i32 noundef %30079) #11
  %30081 = icmp ne i32 %30080, 0
  br i1 %30081, label %30082, label %30099

30082:                                            ; preds = %30077
  %30083 = load i32, ptr %640, align 4, !tbaa !5
  %30084 = call ptr @__errno_location() #12
  store i32 %30083, ptr %30084, align 4, !tbaa !5
  %30085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30086 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30088, ptr noundef @.str.4)
  %30090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30091 = load i32, ptr %30090, align 4, !tbaa !5
  %30092 = call ptr @s2n_strerror_debug(i32 noundef %30091, ptr noundef @.str.4)
  %30093 = call ptr @__errno_location() #12
  %30094 = load i32, ptr %30093, align 4, !tbaa !5
  %30095 = call ptr @strerror(i32 noundef %30094) #11
  %30096 = call ptr @__errno_location() #12
  %30097 = load i32, ptr %30096, align 4, !tbaa !5
  %30098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30085, ptr noundef @.str.2, i32 noundef %30086, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %30089, ptr noundef %30092, ptr noundef %30095, i32 noundef %30097) #11
  br label %30116

30099:                                            ; preds = %30077, %30070
  %30100 = load i32, ptr %640, align 4, !tbaa !5
  %30101 = call ptr @__errno_location() #12
  store i32 %30100, ptr %30101, align 4, !tbaa !5
  %30102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30103 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30105, ptr noundef @.str.4)
  %30107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30108 = load i32, ptr %30107, align 4, !tbaa !5
  %30109 = call ptr @s2n_strerror_debug(i32 noundef %30108, ptr noundef @.str.4)
  %30110 = call ptr @__errno_location() #12
  %30111 = load i32, ptr %30110, align 4, !tbaa !5
  %30112 = call ptr @strerror(i32 noundef %30111) #11
  %30113 = call ptr @__errno_location() #12
  %30114 = load i32, ptr %30113, align 4, !tbaa !5
  %30115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30102, ptr noundef @.str.5, i32 noundef %30103, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %30106, ptr noundef %30109, ptr noundef %30112, i32 noundef %30114) #11
  br label %30116

30116:                                            ; preds = %30099, %30082
  call void @llvm.lifetime.end.p0(i64 4, ptr %640) #11
  br label %30117

30117:                                            ; preds = %30116
  br label %30118

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

30119:                                            ; No predecessors!
  br label %30120

30120:                                            ; preds = %30119
  br label %30121

30121:                                            ; preds = %30120, %30061
  br label %30122

30122:                                            ; preds = %30121
  br label %30123

30123:                                            ; preds = %30122
  br label %30124

30124:                                            ; preds = %30123
  br label %30125

30125:                                            ; preds = %30124
  br label %30126

30126:                                            ; preds = %30125
  %30127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30127, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30128 = call ptr @__errno_location() #12
  store i32 0, ptr %30128, align 4, !tbaa !5
  br label %30129

30129:                                            ; preds = %30126
  br label %30130

30130:                                            ; preds = %30129
  br label %30131

30131:                                            ; preds = %30130
  br label %30132

30132:                                            ; preds = %30131
  call void @llvm.lifetime.start.p0(i64 4, ptr %641) #11
  store i32 10, ptr %641, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %642) #11
  %30133 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %30133, ptr %642, align 8, !tbaa !9
  br label %30134

30134:                                            ; preds = %30132
  %30135 = load i32, ptr @test_count, align 4, !tbaa !5
  %30136 = add nsw i32 %30135, 1
  store i32 %30136, ptr @test_count, align 4, !tbaa !5
  %30137 = load ptr, ptr %642, align 8, !tbaa !9
  %30138 = icmp eq ptr %30137, null
  br i1 %30138, label %30139, label %30192

30139:                                            ; preds = %30134
  br label %30140

30140:                                            ; preds = %30139
  br label %30141

30141:                                            ; preds = %30140
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #11
  %30142 = call ptr @__errno_location() #12
  %30143 = load i32, ptr %30142, align 4, !tbaa !5
  store i32 %30143, ptr %643, align 4, !tbaa !5
  %30144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30145 = call i32 @s2n_print_stacktrace(ptr noundef %30144)
  %30146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30147 = trunc i8 %30146 to i1
  br i1 %30147, label %30148, label %30170

30148:                                            ; preds = %30141
  %30149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30150 = call i32 @fileno(ptr noundef %30149) #11
  %30151 = call i32 @isatty(i32 noundef %30150) #11
  %30152 = icmp ne i32 %30151, 0
  br i1 %30152, label %30153, label %30170

30153:                                            ; preds = %30148
  %30154 = load i32, ptr %643, align 4, !tbaa !5
  %30155 = call ptr @__errno_location() #12
  store i32 %30154, ptr %30155, align 4, !tbaa !5
  %30156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30157 = load i32, ptr @test_count, align 4, !tbaa !5
  %30158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30159 = load i32, ptr %30158, align 4, !tbaa !5
  %30160 = call ptr @s2n_strerror(i32 noundef %30159, ptr noundef @.str.4)
  %30161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30162 = load i32, ptr %30161, align 4, !tbaa !5
  %30163 = call ptr @s2n_strerror_debug(i32 noundef %30162, ptr noundef @.str.4)
  %30164 = call ptr @__errno_location() #12
  %30165 = load i32, ptr %30164, align 4, !tbaa !5
  %30166 = call ptr @strerror(i32 noundef %30165) #11
  %30167 = call ptr @__errno_location() #12
  %30168 = load i32, ptr %30167, align 4, !tbaa !5
  %30169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30156, ptr noundef @.str.2, i32 noundef %30157, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1205, ptr noundef %30160, ptr noundef %30163, ptr noundef %30166, i32 noundef %30168) #11
  br label %30187

30170:                                            ; preds = %30148, %30141
  %30171 = load i32, ptr %643, align 4, !tbaa !5
  %30172 = call ptr @__errno_location() #12
  store i32 %30171, ptr %30172, align 4, !tbaa !5
  %30173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30174 = load i32, ptr @test_count, align 4, !tbaa !5
  %30175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30176 = load i32, ptr %30175, align 4, !tbaa !5
  %30177 = call ptr @s2n_strerror(i32 noundef %30176, ptr noundef @.str.4)
  %30178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30179 = load i32, ptr %30178, align 4, !tbaa !5
  %30180 = call ptr @s2n_strerror_debug(i32 noundef %30179, ptr noundef @.str.4)
  %30181 = call ptr @__errno_location() #12
  %30182 = load i32, ptr %30181, align 4, !tbaa !5
  %30183 = call ptr @strerror(i32 noundef %30182) #11
  %30184 = call ptr @__errno_location() #12
  %30185 = load i32, ptr %30184, align 4, !tbaa !5
  %30186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30173, ptr noundef @.str.5, i32 noundef %30174, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1205, ptr noundef %30177, ptr noundef %30180, ptr noundef %30183, i32 noundef %30185) #11
  br label %30187

30187:                                            ; preds = %30170, %30153
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #11
  br label %30188

30188:                                            ; preds = %30187
  br label %30189

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

30190:                                            ; No predecessors!
  br label %30191

30191:                                            ; preds = %30190
  br label %30192

30192:                                            ; preds = %30191, %30134
  br label %30193

30193:                                            ; preds = %30192
  br label %30194

30194:                                            ; preds = %30193
  br label %30195

30195:                                            ; preds = %30194
  %30196 = load i32, ptr @test_count, align 4, !tbaa !5
  %30197 = add nsw i32 %30196, 1
  store i32 %30197, ptr @test_count, align 4, !tbaa !5
  %30198 = load ptr, ptr %642, align 8, !tbaa !9
  %30199 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %30198, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %30200 = getelementptr inbounds %struct.s2n_result, ptr %644, i32 0, i32 0
  store i32 %30199, ptr %30200, align 4
  %30201 = getelementptr inbounds %struct.s2n_result, ptr %644, i32 0, i32 0
  %30202 = load i32, ptr %30201, align 4
  %30203 = call zeroext i1 @s2n_result_is_ok(i32 %30202)
  br i1 %30203, label %30257, label %30204

30204:                                            ; preds = %30195
  br label %30205

30205:                                            ; preds = %30204
  br label %30206

30206:                                            ; preds = %30205
  call void @llvm.lifetime.start.p0(i64 4, ptr %645) #11
  %30207 = call ptr @__errno_location() #12
  %30208 = load i32, ptr %30207, align 4, !tbaa !5
  store i32 %30208, ptr %645, align 4, !tbaa !5
  %30209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30210 = call i32 @s2n_print_stacktrace(ptr noundef %30209)
  %30211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30212 = trunc i8 %30211 to i1
  br i1 %30212, label %30213, label %30235

30213:                                            ; preds = %30206
  %30214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30215 = call i32 @fileno(ptr noundef %30214) #11
  %30216 = call i32 @isatty(i32 noundef %30215) #11
  %30217 = icmp ne i32 %30216, 0
  br i1 %30217, label %30218, label %30235

30218:                                            ; preds = %30213
  %30219 = load i32, ptr %645, align 4, !tbaa !5
  %30220 = call ptr @__errno_location() #12
  store i32 %30219, ptr %30220, align 4, !tbaa !5
  %30221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30222 = load i32, ptr @test_count, align 4, !tbaa !5
  %30223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30224 = load i32, ptr %30223, align 4, !tbaa !5
  %30225 = call ptr @s2n_strerror(i32 noundef %30224, ptr noundef @.str.4)
  %30226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30227 = load i32, ptr %30226, align 4, !tbaa !5
  %30228 = call ptr @s2n_strerror_debug(i32 noundef %30227, ptr noundef @.str.4)
  %30229 = call ptr @__errno_location() #12
  %30230 = load i32, ptr %30229, align 4, !tbaa !5
  %30231 = call ptr @strerror(i32 noundef %30230) #11
  %30232 = call ptr @__errno_location() #12
  %30233 = load i32, ptr %30232, align 4, !tbaa !5
  %30234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30221, ptr noundef @.str.2, i32 noundef %30222, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1206, ptr noundef %30225, ptr noundef %30228, ptr noundef %30231, i32 noundef %30233) #11
  br label %30252

30235:                                            ; preds = %30213, %30206
  %30236 = load i32, ptr %645, align 4, !tbaa !5
  %30237 = call ptr @__errno_location() #12
  store i32 %30236, ptr %30237, align 4, !tbaa !5
  %30238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30239 = load i32, ptr @test_count, align 4, !tbaa !5
  %30240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30241 = load i32, ptr %30240, align 4, !tbaa !5
  %30242 = call ptr @s2n_strerror(i32 noundef %30241, ptr noundef @.str.4)
  %30243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30244 = load i32, ptr %30243, align 4, !tbaa !5
  %30245 = call ptr @s2n_strerror_debug(i32 noundef %30244, ptr noundef @.str.4)
  %30246 = call ptr @__errno_location() #12
  %30247 = load i32, ptr %30246, align 4, !tbaa !5
  %30248 = call ptr @strerror(i32 noundef %30247) #11
  %30249 = call ptr @__errno_location() #12
  %30250 = load i32, ptr %30249, align 4, !tbaa !5
  %30251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30238, ptr noundef @.str.5, i32 noundef %30239, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1206, ptr noundef %30242, ptr noundef %30245, ptr noundef %30248, i32 noundef %30250) #11
  br label %30252

30252:                                            ; preds = %30235, %30218
  call void @llvm.lifetime.end.p0(i64 4, ptr %645) #11
  br label %30253

30253:                                            ; preds = %30252
  br label %30254

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

30255:                                            ; No predecessors!
  br label %30256

30256:                                            ; preds = %30255
  br label %30257

30257:                                            ; preds = %30256, %30195
  br label %30258

30258:                                            ; preds = %30257
  br label %30259

30259:                                            ; preds = %30258
  br label %30260

30260:                                            ; preds = %30259
  %30261 = load i32, ptr @test_count, align 4, !tbaa !5
  %30262 = add nsw i32 %30261, 1
  store i32 %30262, ptr @test_count, align 4, !tbaa !5
  %30263 = load ptr, ptr %642, align 8, !tbaa !9
  %30264 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %30263)
  %30265 = icmp eq i32 %30264, -1
  br i1 %30265, label %30266, label %30319

30266:                                            ; preds = %30260
  br label %30267

30267:                                            ; preds = %30266
  br label %30268

30268:                                            ; preds = %30267
  call void @llvm.lifetime.start.p0(i64 4, ptr %646) #11
  %30269 = call ptr @__errno_location() #12
  %30270 = load i32, ptr %30269, align 4, !tbaa !5
  store i32 %30270, ptr %646, align 4, !tbaa !5
  %30271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30272 = call i32 @s2n_print_stacktrace(ptr noundef %30271)
  %30273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30274 = trunc i8 %30273 to i1
  br i1 %30274, label %30275, label %30297

30275:                                            ; preds = %30268
  %30276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30277 = call i32 @fileno(ptr noundef %30276) #11
  %30278 = call i32 @isatty(i32 noundef %30277) #11
  %30279 = icmp ne i32 %30278, 0
  br i1 %30279, label %30280, label %30297

30280:                                            ; preds = %30275
  %30281 = load i32, ptr %646, align 4, !tbaa !5
  %30282 = call ptr @__errno_location() #12
  store i32 %30281, ptr %30282, align 4, !tbaa !5
  %30283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30284 = load i32, ptr @test_count, align 4, !tbaa !5
  %30285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30286 = load i32, ptr %30285, align 4, !tbaa !5
  %30287 = call ptr @s2n_strerror(i32 noundef %30286, ptr noundef @.str.4)
  %30288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30289 = load i32, ptr %30288, align 4, !tbaa !5
  %30290 = call ptr @s2n_strerror_debug(i32 noundef %30289, ptr noundef @.str.4)
  %30291 = call ptr @__errno_location() #12
  %30292 = load i32, ptr %30291, align 4, !tbaa !5
  %30293 = call ptr @strerror(i32 noundef %30292) #11
  %30294 = call ptr @__errno_location() #12
  %30295 = load i32, ptr %30294, align 4, !tbaa !5
  %30296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30283, ptr noundef @.str.2, i32 noundef %30284, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1207, ptr noundef %30287, ptr noundef %30290, ptr noundef %30293, i32 noundef %30295) #11
  br label %30314

30297:                                            ; preds = %30275, %30268
  %30298 = load i32, ptr %646, align 4, !tbaa !5
  %30299 = call ptr @__errno_location() #12
  store i32 %30298, ptr %30299, align 4, !tbaa !5
  %30300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30301 = load i32, ptr @test_count, align 4, !tbaa !5
  %30302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30303 = load i32, ptr %30302, align 4, !tbaa !5
  %30304 = call ptr @s2n_strerror(i32 noundef %30303, ptr noundef @.str.4)
  %30305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30306 = load i32, ptr %30305, align 4, !tbaa !5
  %30307 = call ptr @s2n_strerror_debug(i32 noundef %30306, ptr noundef @.str.4)
  %30308 = call ptr @__errno_location() #12
  %30309 = load i32, ptr %30308, align 4, !tbaa !5
  %30310 = call ptr @strerror(i32 noundef %30309) #11
  %30311 = call ptr @__errno_location() #12
  %30312 = load i32, ptr %30311, align 4, !tbaa !5
  %30313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30300, ptr noundef @.str.5, i32 noundef %30301, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1207, ptr noundef %30304, ptr noundef %30307, ptr noundef %30310, i32 noundef %30312) #11
  br label %30314

30314:                                            ; preds = %30297, %30280
  call void @llvm.lifetime.end.p0(i64 4, ptr %646) #11
  br label %30315

30315:                                            ; preds = %30314
  br label %30316

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

30317:                                            ; No predecessors!
  br label %30318

30318:                                            ; preds = %30317
  br label %30319

30319:                                            ; preds = %30318, %30260
  br label %30320

30320:                                            ; preds = %30319
  br label %30321

30321:                                            ; preds = %30320
  %30322 = load ptr, ptr %642, align 8, !tbaa !9
  %30323 = getelementptr inbounds %struct.s2n_connection, ptr %30322, i32 0, i32 13
  store i32 1, ptr %30323, align 4, !tbaa !90
  %30324 = load ptr, ptr %642, align 8, !tbaa !9
  %30325 = getelementptr inbounds %struct.s2n_connection, ptr %30324, i32 0, i32 89
  store i32 1, ptr %30325, align 8, !tbaa !15
  %30326 = load ptr, ptr %642, align 8, !tbaa !9
  %30327 = getelementptr inbounds %struct.s2n_connection, ptr %30326, i32 0, i32 60
  store i64 0, ptr %30327, align 8, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 4184, ptr %647) #11
  %30328 = load ptr, ptr %642, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %647, ptr align 8 %30328, i64 4184, i1 false), !tbaa.struct !91
  %30329 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 13
  store i32 0, ptr %30329, align 4, !tbaa !90
  br label %30330

30330:                                            ; preds = %30321
  br label %30331

30331:                                            ; preds = %30330
  br label %30332

30332:                                            ; preds = %30331
  %30333 = load i32, ptr @test_count, align 4, !tbaa !5
  %30334 = add nsw i32 %30333, 1
  store i32 %30334, ptr @test_count, align 4, !tbaa !5
  %30335 = call i32 @s2n_early_data_validate_send(ptr noundef %647, i32 noundef 1)
  %30336 = getelementptr inbounds %struct.s2n_result, ptr %648, i32 0, i32 0
  store i32 %30335, ptr %30336, align 4
  %30337 = getelementptr inbounds %struct.s2n_result, ptr %648, i32 0, i32 0
  %30338 = load i32, ptr %30337, align 4
  %30339 = call zeroext i1 @s2n_result_is_error(i32 %30338)
  br i1 %30339, label %30393, label %30340

30340:                                            ; preds = %30332
  br label %30341

30341:                                            ; preds = %30340
  br label %30342

30342:                                            ; preds = %30341
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #11
  %30343 = call ptr @__errno_location() #12
  %30344 = load i32, ptr %30343, align 4, !tbaa !5
  store i32 %30344, ptr %649, align 4, !tbaa !5
  %30345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30346 = call i32 @s2n_print_stacktrace(ptr noundef %30345)
  %30347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30348 = trunc i8 %30347 to i1
  br i1 %30348, label %30349, label %30371

30349:                                            ; preds = %30342
  %30350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30351 = call i32 @fileno(ptr noundef %30350) #11
  %30352 = call i32 @isatty(i32 noundef %30351) #11
  %30353 = icmp ne i32 %30352, 0
  br i1 %30353, label %30354, label %30371

30354:                                            ; preds = %30349
  %30355 = load i32, ptr %649, align 4, !tbaa !5
  %30356 = call ptr @__errno_location() #12
  store i32 %30355, ptr %30356, align 4, !tbaa !5
  %30357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30358 = load i32, ptr @test_count, align 4, !tbaa !5
  %30359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30360 = load i32, ptr %30359, align 4, !tbaa !5
  %30361 = call ptr @s2n_strerror(i32 noundef %30360, ptr noundef @.str.4)
  %30362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30363 = load i32, ptr %30362, align 4, !tbaa !5
  %30364 = call ptr @s2n_strerror_debug(i32 noundef %30363, ptr noundef @.str.4)
  %30365 = call ptr @__errno_location() #12
  %30366 = load i32, ptr %30365, align 4, !tbaa !5
  %30367 = call ptr @strerror(i32 noundef %30366) #11
  %30368 = call ptr @__errno_location() #12
  %30369 = load i32, ptr %30368, align 4, !tbaa !5
  %30370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30357, ptr noundef @.str.2, i32 noundef %30358, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %30361, ptr noundef %30364, ptr noundef %30367, i32 noundef %30369) #11
  br label %30388

30371:                                            ; preds = %30349, %30342
  %30372 = load i32, ptr %649, align 4, !tbaa !5
  %30373 = call ptr @__errno_location() #12
  store i32 %30372, ptr %30373, align 4, !tbaa !5
  %30374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30375 = load i32, ptr @test_count, align 4, !tbaa !5
  %30376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30377 = load i32, ptr %30376, align 4, !tbaa !5
  %30378 = call ptr @s2n_strerror(i32 noundef %30377, ptr noundef @.str.4)
  %30379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30380 = load i32, ptr %30379, align 4, !tbaa !5
  %30381 = call ptr @s2n_strerror_debug(i32 noundef %30380, ptr noundef @.str.4)
  %30382 = call ptr @__errno_location() #12
  %30383 = load i32, ptr %30382, align 4, !tbaa !5
  %30384 = call ptr @strerror(i32 noundef %30383) #11
  %30385 = call ptr @__errno_location() #12
  %30386 = load i32, ptr %30385, align 4, !tbaa !5
  %30387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30374, ptr noundef @.str.5, i32 noundef %30375, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %30378, ptr noundef %30381, ptr noundef %30384, i32 noundef %30386) #11
  br label %30388

30388:                                            ; preds = %30371, %30354
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #11
  br label %30389

30389:                                            ; preds = %30388
  br label %30390

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

30391:                                            ; No predecessors!
  br label %30392

30392:                                            ; preds = %30391
  br label %30393

30393:                                            ; preds = %30392, %30332
  br label %30394

30394:                                            ; preds = %30393
  br label %30395

30395:                                            ; preds = %30394
  br label %30396

30396:                                            ; preds = %30395
  %30397 = load i32, ptr @test_count, align 4, !tbaa !5
  %30398 = add nsw i32 %30397, 1
  store i32 %30398, ptr @test_count, align 4, !tbaa !5
  %30399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30400 = load i32, ptr %30399, align 4, !tbaa !5
  %30401 = icmp eq i32 %30400, 469762113
  br i1 %30401, label %30455, label %30402

30402:                                            ; preds = %30396
  br label %30403

30403:                                            ; preds = %30402
  br label %30404

30404:                                            ; preds = %30403
  call void @llvm.lifetime.start.p0(i64 4, ptr %650) #11
  %30405 = call ptr @__errno_location() #12
  %30406 = load i32, ptr %30405, align 4, !tbaa !5
  store i32 %30406, ptr %650, align 4, !tbaa !5
  %30407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30408 = call i32 @s2n_print_stacktrace(ptr noundef %30407)
  %30409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30410 = trunc i8 %30409 to i1
  br i1 %30410, label %30411, label %30433

30411:                                            ; preds = %30404
  %30412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30413 = call i32 @fileno(ptr noundef %30412) #11
  %30414 = call i32 @isatty(i32 noundef %30413) #11
  %30415 = icmp ne i32 %30414, 0
  br i1 %30415, label %30416, label %30433

30416:                                            ; preds = %30411
  %30417 = load i32, ptr %650, align 4, !tbaa !5
  %30418 = call ptr @__errno_location() #12
  store i32 %30417, ptr %30418, align 4, !tbaa !5
  %30419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30420 = load i32, ptr @test_count, align 4, !tbaa !5
  %30421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30422 = load i32, ptr %30421, align 4, !tbaa !5
  %30423 = call ptr @s2n_strerror(i32 noundef %30422, ptr noundef @.str.4)
  %30424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30425 = load i32, ptr %30424, align 4, !tbaa !5
  %30426 = call ptr @s2n_strerror_debug(i32 noundef %30425, ptr noundef @.str.4)
  %30427 = call ptr @__errno_location() #12
  %30428 = load i32, ptr %30427, align 4, !tbaa !5
  %30429 = call ptr @strerror(i32 noundef %30428) #11
  %30430 = call ptr @__errno_location() #12
  %30431 = load i32, ptr %30430, align 4, !tbaa !5
  %30432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30419, ptr noundef @.str.2, i32 noundef %30420, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %30423, ptr noundef %30426, ptr noundef %30429, i32 noundef %30431) #11
  br label %30450

30433:                                            ; preds = %30411, %30404
  %30434 = load i32, ptr %650, align 4, !tbaa !5
  %30435 = call ptr @__errno_location() #12
  store i32 %30434, ptr %30435, align 4, !tbaa !5
  %30436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30437 = load i32, ptr @test_count, align 4, !tbaa !5
  %30438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30439 = load i32, ptr %30438, align 4, !tbaa !5
  %30440 = call ptr @s2n_strerror(i32 noundef %30439, ptr noundef @.str.4)
  %30441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30442 = load i32, ptr %30441, align 4, !tbaa !5
  %30443 = call ptr @s2n_strerror_debug(i32 noundef %30442, ptr noundef @.str.4)
  %30444 = call ptr @__errno_location() #12
  %30445 = load i32, ptr %30444, align 4, !tbaa !5
  %30446 = call ptr @strerror(i32 noundef %30445) #11
  %30447 = call ptr @__errno_location() #12
  %30448 = load i32, ptr %30447, align 4, !tbaa !5
  %30449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30436, ptr noundef @.str.5, i32 noundef %30437, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %30440, ptr noundef %30443, ptr noundef %30446, i32 noundef %30448) #11
  br label %30450

30450:                                            ; preds = %30433, %30416
  call void @llvm.lifetime.end.p0(i64 4, ptr %650) #11
  br label %30451

30451:                                            ; preds = %30450
  br label %30452

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

30453:                                            ; No predecessors!
  br label %30454

30454:                                            ; preds = %30453
  br label %30455

30455:                                            ; preds = %30454, %30396
  br label %30456

30456:                                            ; preds = %30455
  br label %30457

30457:                                            ; preds = %30456
  br label %30458

30458:                                            ; preds = %30457
  %30459 = load i32, ptr @test_count, align 4, !tbaa !5
  %30460 = add nsw i32 %30459, 1
  store i32 %30460, ptr @test_count, align 4, !tbaa !5
  %30461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30462 = load i32, ptr %30461, align 4, !tbaa !5
  %30463 = call ptr @s2n_strerror_debug(i32 noundef %30462, ptr noundef @.str.4)
  %30464 = icmp eq ptr %30463, null
  br i1 %30464, label %30465, label %30518

30465:                                            ; preds = %30458
  br label %30466

30466:                                            ; preds = %30465
  br label %30467

30467:                                            ; preds = %30466
  call void @llvm.lifetime.start.p0(i64 4, ptr %651) #11
  %30468 = call ptr @__errno_location() #12
  %30469 = load i32, ptr %30468, align 4, !tbaa !5
  store i32 %30469, ptr %651, align 4, !tbaa !5
  %30470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30471 = call i32 @s2n_print_stacktrace(ptr noundef %30470)
  %30472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30473 = trunc i8 %30472 to i1
  br i1 %30473, label %30474, label %30496

30474:                                            ; preds = %30467
  %30475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30476 = call i32 @fileno(ptr noundef %30475) #11
  %30477 = call i32 @isatty(i32 noundef %30476) #11
  %30478 = icmp ne i32 %30477, 0
  br i1 %30478, label %30479, label %30496

30479:                                            ; preds = %30474
  %30480 = load i32, ptr %651, align 4, !tbaa !5
  %30481 = call ptr @__errno_location() #12
  store i32 %30480, ptr %30481, align 4, !tbaa !5
  %30482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30483 = load i32, ptr @test_count, align 4, !tbaa !5
  %30484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30485 = load i32, ptr %30484, align 4, !tbaa !5
  %30486 = call ptr @s2n_strerror(i32 noundef %30485, ptr noundef @.str.4)
  %30487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30488 = load i32, ptr %30487, align 4, !tbaa !5
  %30489 = call ptr @s2n_strerror_debug(i32 noundef %30488, ptr noundef @.str.4)
  %30490 = call ptr @__errno_location() #12
  %30491 = load i32, ptr %30490, align 4, !tbaa !5
  %30492 = call ptr @strerror(i32 noundef %30491) #11
  %30493 = call ptr @__errno_location() #12
  %30494 = load i32, ptr %30493, align 4, !tbaa !5
  %30495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30482, ptr noundef @.str.2, i32 noundef %30483, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %30486, ptr noundef %30489, ptr noundef %30492, i32 noundef %30494) #11
  br label %30513

30496:                                            ; preds = %30474, %30467
  %30497 = load i32, ptr %651, align 4, !tbaa !5
  %30498 = call ptr @__errno_location() #12
  store i32 %30497, ptr %30498, align 4, !tbaa !5
  %30499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30500 = load i32, ptr @test_count, align 4, !tbaa !5
  %30501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30502 = load i32, ptr %30501, align 4, !tbaa !5
  %30503 = call ptr @s2n_strerror(i32 noundef %30502, ptr noundef @.str.4)
  %30504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30505 = load i32, ptr %30504, align 4, !tbaa !5
  %30506 = call ptr @s2n_strerror_debug(i32 noundef %30505, ptr noundef @.str.4)
  %30507 = call ptr @__errno_location() #12
  %30508 = load i32, ptr %30507, align 4, !tbaa !5
  %30509 = call ptr @strerror(i32 noundef %30508) #11
  %30510 = call ptr @__errno_location() #12
  %30511 = load i32, ptr %30510, align 4, !tbaa !5
  %30512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30499, ptr noundef @.str.5, i32 noundef %30500, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %30503, ptr noundef %30506, ptr noundef %30509, i32 noundef %30511) #11
  br label %30513

30513:                                            ; preds = %30496, %30479
  call void @llvm.lifetime.end.p0(i64 4, ptr %651) #11
  br label %30514

30514:                                            ; preds = %30513
  br label %30515

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

30516:                                            ; No predecessors!
  br label %30517

30517:                                            ; preds = %30516
  br label %30518

30518:                                            ; preds = %30517, %30458
  br label %30519

30519:                                            ; preds = %30518
  br label %30520

30520:                                            ; preds = %30519
  br label %30521

30521:                                            ; preds = %30520
  br label %30522

30522:                                            ; preds = %30521
  br label %30523

30523:                                            ; preds = %30522
  %30524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30524, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30525 = call ptr @__errno_location() #12
  store i32 0, ptr %30525, align 4, !tbaa !5
  br label %30526

30526:                                            ; preds = %30523
  br label %30527

30527:                                            ; preds = %30526
  br label %30528

30528:                                            ; preds = %30527
  br label %30529

30529:                                            ; preds = %30528
  %30530 = load ptr, ptr %642, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %647, ptr align 8 %30530, i64 4184, i1 false), !tbaa.struct !91
  %30531 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 89
  store i32 5, ptr %30531, align 8, !tbaa !15
  br label %30532

30532:                                            ; preds = %30529
  br label %30533

30533:                                            ; preds = %30532
  br label %30534

30534:                                            ; preds = %30533
  %30535 = load i32, ptr @test_count, align 4, !tbaa !5
  %30536 = add nsw i32 %30535, 1
  store i32 %30536, ptr @test_count, align 4, !tbaa !5
  %30537 = call i32 @s2n_early_data_validate_send(ptr noundef %647, i32 noundef 1)
  %30538 = getelementptr inbounds %struct.s2n_result, ptr %652, i32 0, i32 0
  store i32 %30537, ptr %30538, align 4
  %30539 = getelementptr inbounds %struct.s2n_result, ptr %652, i32 0, i32 0
  %30540 = load i32, ptr %30539, align 4
  %30541 = call zeroext i1 @s2n_result_is_error(i32 %30540)
  br i1 %30541, label %30595, label %30542

30542:                                            ; preds = %30534
  br label %30543

30543:                                            ; preds = %30542
  br label %30544

30544:                                            ; preds = %30543
  call void @llvm.lifetime.start.p0(i64 4, ptr %653) #11
  %30545 = call ptr @__errno_location() #12
  %30546 = load i32, ptr %30545, align 4, !tbaa !5
  store i32 %30546, ptr %653, align 4, !tbaa !5
  %30547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30548 = call i32 @s2n_print_stacktrace(ptr noundef %30547)
  %30549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30550 = trunc i8 %30549 to i1
  br i1 %30550, label %30551, label %30573

30551:                                            ; preds = %30544
  %30552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30553 = call i32 @fileno(ptr noundef %30552) #11
  %30554 = call i32 @isatty(i32 noundef %30553) #11
  %30555 = icmp ne i32 %30554, 0
  br i1 %30555, label %30556, label %30573

30556:                                            ; preds = %30551
  %30557 = load i32, ptr %653, align 4, !tbaa !5
  %30558 = call ptr @__errno_location() #12
  store i32 %30557, ptr %30558, align 4, !tbaa !5
  %30559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30560 = load i32, ptr @test_count, align 4, !tbaa !5
  %30561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30562 = load i32, ptr %30561, align 4, !tbaa !5
  %30563 = call ptr @s2n_strerror(i32 noundef %30562, ptr noundef @.str.4)
  %30564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30565 = load i32, ptr %30564, align 4, !tbaa !5
  %30566 = call ptr @s2n_strerror_debug(i32 noundef %30565, ptr noundef @.str.4)
  %30567 = call ptr @__errno_location() #12
  %30568 = load i32, ptr %30567, align 4, !tbaa !5
  %30569 = call ptr @strerror(i32 noundef %30568) #11
  %30570 = call ptr @__errno_location() #12
  %30571 = load i32, ptr %30570, align 4, !tbaa !5
  %30572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30559, ptr noundef @.str.2, i32 noundef %30560, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %30563, ptr noundef %30566, ptr noundef %30569, i32 noundef %30571) #11
  br label %30590

30573:                                            ; preds = %30551, %30544
  %30574 = load i32, ptr %653, align 4, !tbaa !5
  %30575 = call ptr @__errno_location() #12
  store i32 %30574, ptr %30575, align 4, !tbaa !5
  %30576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30577 = load i32, ptr @test_count, align 4, !tbaa !5
  %30578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30579 = load i32, ptr %30578, align 4, !tbaa !5
  %30580 = call ptr @s2n_strerror(i32 noundef %30579, ptr noundef @.str.4)
  %30581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30582 = load i32, ptr %30581, align 4, !tbaa !5
  %30583 = call ptr @s2n_strerror_debug(i32 noundef %30582, ptr noundef @.str.4)
  %30584 = call ptr @__errno_location() #12
  %30585 = load i32, ptr %30584, align 4, !tbaa !5
  %30586 = call ptr @strerror(i32 noundef %30585) #11
  %30587 = call ptr @__errno_location() #12
  %30588 = load i32, ptr %30587, align 4, !tbaa !5
  %30589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30576, ptr noundef @.str.5, i32 noundef %30577, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %30580, ptr noundef %30583, ptr noundef %30586, i32 noundef %30588) #11
  br label %30590

30590:                                            ; preds = %30573, %30556
  call void @llvm.lifetime.end.p0(i64 4, ptr %653) #11
  br label %30591

30591:                                            ; preds = %30590
  br label %30592

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

30593:                                            ; No predecessors!
  br label %30594

30594:                                            ; preds = %30593
  br label %30595

30595:                                            ; preds = %30594, %30534
  br label %30596

30596:                                            ; preds = %30595
  br label %30597

30597:                                            ; preds = %30596
  br label %30598

30598:                                            ; preds = %30597
  %30599 = load i32, ptr @test_count, align 4, !tbaa !5
  %30600 = add nsw i32 %30599, 1
  store i32 %30600, ptr @test_count, align 4, !tbaa !5
  %30601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30602 = load i32, ptr %30601, align 4, !tbaa !5
  %30603 = icmp eq i32 %30602, 469762113
  br i1 %30603, label %30657, label %30604

30604:                                            ; preds = %30598
  br label %30605

30605:                                            ; preds = %30604
  br label %30606

30606:                                            ; preds = %30605
  call void @llvm.lifetime.start.p0(i64 4, ptr %654) #11
  %30607 = call ptr @__errno_location() #12
  %30608 = load i32, ptr %30607, align 4, !tbaa !5
  store i32 %30608, ptr %654, align 4, !tbaa !5
  %30609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30610 = call i32 @s2n_print_stacktrace(ptr noundef %30609)
  %30611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30612 = trunc i8 %30611 to i1
  br i1 %30612, label %30613, label %30635

30613:                                            ; preds = %30606
  %30614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30615 = call i32 @fileno(ptr noundef %30614) #11
  %30616 = call i32 @isatty(i32 noundef %30615) #11
  %30617 = icmp ne i32 %30616, 0
  br i1 %30617, label %30618, label %30635

30618:                                            ; preds = %30613
  %30619 = load i32, ptr %654, align 4, !tbaa !5
  %30620 = call ptr @__errno_location() #12
  store i32 %30619, ptr %30620, align 4, !tbaa !5
  %30621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30622 = load i32, ptr @test_count, align 4, !tbaa !5
  %30623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30624 = load i32, ptr %30623, align 4, !tbaa !5
  %30625 = call ptr @s2n_strerror(i32 noundef %30624, ptr noundef @.str.4)
  %30626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30627 = load i32, ptr %30626, align 4, !tbaa !5
  %30628 = call ptr @s2n_strerror_debug(i32 noundef %30627, ptr noundef @.str.4)
  %30629 = call ptr @__errno_location() #12
  %30630 = load i32, ptr %30629, align 4, !tbaa !5
  %30631 = call ptr @strerror(i32 noundef %30630) #11
  %30632 = call ptr @__errno_location() #12
  %30633 = load i32, ptr %30632, align 4, !tbaa !5
  %30634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30621, ptr noundef @.str.2, i32 noundef %30622, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %30625, ptr noundef %30628, ptr noundef %30631, i32 noundef %30633) #11
  br label %30652

30635:                                            ; preds = %30613, %30606
  %30636 = load i32, ptr %654, align 4, !tbaa !5
  %30637 = call ptr @__errno_location() #12
  store i32 %30636, ptr %30637, align 4, !tbaa !5
  %30638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30639 = load i32, ptr @test_count, align 4, !tbaa !5
  %30640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30641 = load i32, ptr %30640, align 4, !tbaa !5
  %30642 = call ptr @s2n_strerror(i32 noundef %30641, ptr noundef @.str.4)
  %30643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30644 = load i32, ptr %30643, align 4, !tbaa !5
  %30645 = call ptr @s2n_strerror_debug(i32 noundef %30644, ptr noundef @.str.4)
  %30646 = call ptr @__errno_location() #12
  %30647 = load i32, ptr %30646, align 4, !tbaa !5
  %30648 = call ptr @strerror(i32 noundef %30647) #11
  %30649 = call ptr @__errno_location() #12
  %30650 = load i32, ptr %30649, align 4, !tbaa !5
  %30651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30638, ptr noundef @.str.5, i32 noundef %30639, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %30642, ptr noundef %30645, ptr noundef %30648, i32 noundef %30650) #11
  br label %30652

30652:                                            ; preds = %30635, %30618
  call void @llvm.lifetime.end.p0(i64 4, ptr %654) #11
  br label %30653

30653:                                            ; preds = %30652
  br label %30654

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

30655:                                            ; No predecessors!
  br label %30656

30656:                                            ; preds = %30655
  br label %30657

30657:                                            ; preds = %30656, %30598
  br label %30658

30658:                                            ; preds = %30657
  br label %30659

30659:                                            ; preds = %30658
  br label %30660

30660:                                            ; preds = %30659
  %30661 = load i32, ptr @test_count, align 4, !tbaa !5
  %30662 = add nsw i32 %30661, 1
  store i32 %30662, ptr @test_count, align 4, !tbaa !5
  %30663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30664 = load i32, ptr %30663, align 4, !tbaa !5
  %30665 = call ptr @s2n_strerror_debug(i32 noundef %30664, ptr noundef @.str.4)
  %30666 = icmp eq ptr %30665, null
  br i1 %30666, label %30667, label %30720

30667:                                            ; preds = %30660
  br label %30668

30668:                                            ; preds = %30667
  br label %30669

30669:                                            ; preds = %30668
  call void @llvm.lifetime.start.p0(i64 4, ptr %655) #11
  %30670 = call ptr @__errno_location() #12
  %30671 = load i32, ptr %30670, align 4, !tbaa !5
  store i32 %30671, ptr %655, align 4, !tbaa !5
  %30672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30673 = call i32 @s2n_print_stacktrace(ptr noundef %30672)
  %30674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30675 = trunc i8 %30674 to i1
  br i1 %30675, label %30676, label %30698

30676:                                            ; preds = %30669
  %30677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30678 = call i32 @fileno(ptr noundef %30677) #11
  %30679 = call i32 @isatty(i32 noundef %30678) #11
  %30680 = icmp ne i32 %30679, 0
  br i1 %30680, label %30681, label %30698

30681:                                            ; preds = %30676
  %30682 = load i32, ptr %655, align 4, !tbaa !5
  %30683 = call ptr @__errno_location() #12
  store i32 %30682, ptr %30683, align 4, !tbaa !5
  %30684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30685 = load i32, ptr @test_count, align 4, !tbaa !5
  %30686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30687 = load i32, ptr %30686, align 4, !tbaa !5
  %30688 = call ptr @s2n_strerror(i32 noundef %30687, ptr noundef @.str.4)
  %30689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30690 = load i32, ptr %30689, align 4, !tbaa !5
  %30691 = call ptr @s2n_strerror_debug(i32 noundef %30690, ptr noundef @.str.4)
  %30692 = call ptr @__errno_location() #12
  %30693 = load i32, ptr %30692, align 4, !tbaa !5
  %30694 = call ptr @strerror(i32 noundef %30693) #11
  %30695 = call ptr @__errno_location() #12
  %30696 = load i32, ptr %30695, align 4, !tbaa !5
  %30697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30684, ptr noundef @.str.2, i32 noundef %30685, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %30688, ptr noundef %30691, ptr noundef %30694, i32 noundef %30696) #11
  br label %30715

30698:                                            ; preds = %30676, %30669
  %30699 = load i32, ptr %655, align 4, !tbaa !5
  %30700 = call ptr @__errno_location() #12
  store i32 %30699, ptr %30700, align 4, !tbaa !5
  %30701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30702 = load i32, ptr @test_count, align 4, !tbaa !5
  %30703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30704 = load i32, ptr %30703, align 4, !tbaa !5
  %30705 = call ptr @s2n_strerror(i32 noundef %30704, ptr noundef @.str.4)
  %30706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30707 = load i32, ptr %30706, align 4, !tbaa !5
  %30708 = call ptr @s2n_strerror_debug(i32 noundef %30707, ptr noundef @.str.4)
  %30709 = call ptr @__errno_location() #12
  %30710 = load i32, ptr %30709, align 4, !tbaa !5
  %30711 = call ptr @strerror(i32 noundef %30710) #11
  %30712 = call ptr @__errno_location() #12
  %30713 = load i32, ptr %30712, align 4, !tbaa !5
  %30714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30701, ptr noundef @.str.5, i32 noundef %30702, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %30705, ptr noundef %30708, ptr noundef %30711, i32 noundef %30713) #11
  br label %30715

30715:                                            ; preds = %30698, %30681
  call void @llvm.lifetime.end.p0(i64 4, ptr %655) #11
  br label %30716

30716:                                            ; preds = %30715
  br label %30717

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

30718:                                            ; No predecessors!
  br label %30719

30719:                                            ; preds = %30718
  br label %30720

30720:                                            ; preds = %30719, %30660
  br label %30721

30721:                                            ; preds = %30720
  br label %30722

30722:                                            ; preds = %30721
  br label %30723

30723:                                            ; preds = %30722
  br label %30724

30724:                                            ; preds = %30723
  br label %30725

30725:                                            ; preds = %30724
  %30726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30726, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30727 = call ptr @__errno_location() #12
  store i32 0, ptr %30727, align 4, !tbaa !5
  br label %30728

30728:                                            ; preds = %30725
  br label %30729

30729:                                            ; preds = %30728
  br label %30730

30730:                                            ; preds = %30729
  br label %30731

30731:                                            ; preds = %30730
  %30732 = load ptr, ptr %642, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %647, ptr align 8 %30732, i64 4184, i1 false), !tbaa.struct !91
  %30733 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 89
  store i32 1, ptr %30733, align 8, !tbaa !15
  br label %30734

30734:                                            ; preds = %30731
  %30735 = load i32, ptr @test_count, align 4, !tbaa !5
  %30736 = add nsw i32 %30735, 1
  store i32 %30736, ptr @test_count, align 4, !tbaa !5
  %30737 = call i32 @s2n_early_data_validate_send(ptr noundef %647, i32 noundef 1)
  %30738 = getelementptr inbounds %struct.s2n_result, ptr %656, i32 0, i32 0
  store i32 %30737, ptr %30738, align 4
  %30739 = getelementptr inbounds %struct.s2n_result, ptr %656, i32 0, i32 0
  %30740 = load i32, ptr %30739, align 4
  %30741 = call zeroext i1 @s2n_result_is_ok(i32 %30740)
  br i1 %30741, label %30795, label %30742

30742:                                            ; preds = %30734
  br label %30743

30743:                                            ; preds = %30742
  br label %30744

30744:                                            ; preds = %30743
  call void @llvm.lifetime.start.p0(i64 4, ptr %657) #11
  %30745 = call ptr @__errno_location() #12
  %30746 = load i32, ptr %30745, align 4, !tbaa !5
  store i32 %30746, ptr %657, align 4, !tbaa !5
  %30747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30748 = call i32 @s2n_print_stacktrace(ptr noundef %30747)
  %30749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30750 = trunc i8 %30749 to i1
  br i1 %30750, label %30751, label %30773

30751:                                            ; preds = %30744
  %30752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30753 = call i32 @fileno(ptr noundef %30752) #11
  %30754 = call i32 @isatty(i32 noundef %30753) #11
  %30755 = icmp ne i32 %30754, 0
  br i1 %30755, label %30756, label %30773

30756:                                            ; preds = %30751
  %30757 = load i32, ptr %657, align 4, !tbaa !5
  %30758 = call ptr @__errno_location() #12
  store i32 %30757, ptr %30758, align 4, !tbaa !5
  %30759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30760 = load i32, ptr @test_count, align 4, !tbaa !5
  %30761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30762 = load i32, ptr %30761, align 4, !tbaa !5
  %30763 = call ptr @s2n_strerror(i32 noundef %30762, ptr noundef @.str.4)
  %30764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30765 = load i32, ptr %30764, align 4, !tbaa !5
  %30766 = call ptr @s2n_strerror_debug(i32 noundef %30765, ptr noundef @.str.4)
  %30767 = call ptr @__errno_location() #12
  %30768 = load i32, ptr %30767, align 4, !tbaa !5
  %30769 = call ptr @strerror(i32 noundef %30768) #11
  %30770 = call ptr @__errno_location() #12
  %30771 = load i32, ptr %30770, align 4, !tbaa !5
  %30772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30759, ptr noundef @.str.2, i32 noundef %30760, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1225, ptr noundef %30763, ptr noundef %30766, ptr noundef %30769, i32 noundef %30771) #11
  br label %30790

30773:                                            ; preds = %30751, %30744
  %30774 = load i32, ptr %657, align 4, !tbaa !5
  %30775 = call ptr @__errno_location() #12
  store i32 %30774, ptr %30775, align 4, !tbaa !5
  %30776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30777 = load i32, ptr @test_count, align 4, !tbaa !5
  %30778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30779 = load i32, ptr %30778, align 4, !tbaa !5
  %30780 = call ptr @s2n_strerror(i32 noundef %30779, ptr noundef @.str.4)
  %30781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30782 = load i32, ptr %30781, align 4, !tbaa !5
  %30783 = call ptr @s2n_strerror_debug(i32 noundef %30782, ptr noundef @.str.4)
  %30784 = call ptr @__errno_location() #12
  %30785 = load i32, ptr %30784, align 4, !tbaa !5
  %30786 = call ptr @strerror(i32 noundef %30785) #11
  %30787 = call ptr @__errno_location() #12
  %30788 = load i32, ptr %30787, align 4, !tbaa !5
  %30789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30776, ptr noundef @.str.5, i32 noundef %30777, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1225, ptr noundef %30780, ptr noundef %30783, ptr noundef %30786, i32 noundef %30788) #11
  br label %30790

30790:                                            ; preds = %30773, %30756
  call void @llvm.lifetime.end.p0(i64 4, ptr %657) #11
  br label %30791

30791:                                            ; preds = %30790
  br label %30792

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

30793:                                            ; No predecessors!
  br label %30794

30794:                                            ; preds = %30793
  br label %30795

30795:                                            ; preds = %30794, %30734
  br label %30796

30796:                                            ; preds = %30795
  br label %30797

30797:                                            ; preds = %30796
  %30798 = load ptr, ptr %642, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %647, ptr align 8 %30798, i64 4184, i1 false), !tbaa.struct !91
  %30799 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 89
  store i32 3, ptr %30799, align 8, !tbaa !15
  br label %30800

30800:                                            ; preds = %30797
  %30801 = load i32, ptr @test_count, align 4, !tbaa !5
  %30802 = add nsw i32 %30801, 1
  store i32 %30802, ptr @test_count, align 4, !tbaa !5
  %30803 = call i32 @s2n_early_data_validate_send(ptr noundef %647, i32 noundef 1)
  %30804 = getelementptr inbounds %struct.s2n_result, ptr %658, i32 0, i32 0
  store i32 %30803, ptr %30804, align 4
  %30805 = getelementptr inbounds %struct.s2n_result, ptr %658, i32 0, i32 0
  %30806 = load i32, ptr %30805, align 4
  %30807 = call zeroext i1 @s2n_result_is_ok(i32 %30806)
  br i1 %30807, label %30861, label %30808

30808:                                            ; preds = %30800
  br label %30809

30809:                                            ; preds = %30808
  br label %30810

30810:                                            ; preds = %30809
  call void @llvm.lifetime.start.p0(i64 4, ptr %659) #11
  %30811 = call ptr @__errno_location() #12
  %30812 = load i32, ptr %30811, align 4, !tbaa !5
  store i32 %30812, ptr %659, align 4, !tbaa !5
  %30813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30814 = call i32 @s2n_print_stacktrace(ptr noundef %30813)
  %30815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30816 = trunc i8 %30815 to i1
  br i1 %30816, label %30817, label %30839

30817:                                            ; preds = %30810
  %30818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30819 = call i32 @fileno(ptr noundef %30818) #11
  %30820 = call i32 @isatty(i32 noundef %30819) #11
  %30821 = icmp ne i32 %30820, 0
  br i1 %30821, label %30822, label %30839

30822:                                            ; preds = %30817
  %30823 = load i32, ptr %659, align 4, !tbaa !5
  %30824 = call ptr @__errno_location() #12
  store i32 %30823, ptr %30824, align 4, !tbaa !5
  %30825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30826 = load i32, ptr @test_count, align 4, !tbaa !5
  %30827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30828 = load i32, ptr %30827, align 4, !tbaa !5
  %30829 = call ptr @s2n_strerror(i32 noundef %30828, ptr noundef @.str.4)
  %30830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30831 = load i32, ptr %30830, align 4, !tbaa !5
  %30832 = call ptr @s2n_strerror_debug(i32 noundef %30831, ptr noundef @.str.4)
  %30833 = call ptr @__errno_location() #12
  %30834 = load i32, ptr %30833, align 4, !tbaa !5
  %30835 = call ptr @strerror(i32 noundef %30834) #11
  %30836 = call ptr @__errno_location() #12
  %30837 = load i32, ptr %30836, align 4, !tbaa !5
  %30838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30825, ptr noundef @.str.2, i32 noundef %30826, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1230, ptr noundef %30829, ptr noundef %30832, ptr noundef %30835, i32 noundef %30837) #11
  br label %30856

30839:                                            ; preds = %30817, %30810
  %30840 = load i32, ptr %659, align 4, !tbaa !5
  %30841 = call ptr @__errno_location() #12
  store i32 %30840, ptr %30841, align 4, !tbaa !5
  %30842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30843 = load i32, ptr @test_count, align 4, !tbaa !5
  %30844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30845 = load i32, ptr %30844, align 4, !tbaa !5
  %30846 = call ptr @s2n_strerror(i32 noundef %30845, ptr noundef @.str.4)
  %30847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30848 = load i32, ptr %30847, align 4, !tbaa !5
  %30849 = call ptr @s2n_strerror_debug(i32 noundef %30848, ptr noundef @.str.4)
  %30850 = call ptr @__errno_location() #12
  %30851 = load i32, ptr %30850, align 4, !tbaa !5
  %30852 = call ptr @strerror(i32 noundef %30851) #11
  %30853 = call ptr @__errno_location() #12
  %30854 = load i32, ptr %30853, align 4, !tbaa !5
  %30855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30842, ptr noundef @.str.5, i32 noundef %30843, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1230, ptr noundef %30846, ptr noundef %30849, ptr noundef %30852, i32 noundef %30854) #11
  br label %30856

30856:                                            ; preds = %30839, %30822
  call void @llvm.lifetime.end.p0(i64 4, ptr %659) #11
  br label %30857

30857:                                            ; preds = %30856
  br label %30858

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

30859:                                            ; No predecessors!
  br label %30860

30860:                                            ; preds = %30859
  br label %30861

30861:                                            ; preds = %30860, %30800
  br label %30862

30862:                                            ; preds = %30861
  br label %30863

30863:                                            ; preds = %30862
  %30864 = load ptr, ptr %642, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %647, ptr align 8 %30864, i64 4184, i1 false), !tbaa.struct !91
  %30865 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 60
  store i64 10, ptr %30865, align 8, !tbaa !76
  br label %30866

30866:                                            ; preds = %30863
  br label %30867

30867:                                            ; preds = %30866
  br label %30868

30868:                                            ; preds = %30867
  %30869 = load i32, ptr @test_count, align 4, !tbaa !5
  %30870 = add nsw i32 %30869, 1
  store i32 %30870, ptr @test_count, align 4, !tbaa !5
  %30871 = call i32 @s2n_early_data_validate_send(ptr noundef %647, i32 noundef 1)
  %30872 = getelementptr inbounds %struct.s2n_result, ptr %660, i32 0, i32 0
  store i32 %30871, ptr %30872, align 4
  %30873 = getelementptr inbounds %struct.s2n_result, ptr %660, i32 0, i32 0
  %30874 = load i32, ptr %30873, align 4
  %30875 = call zeroext i1 @s2n_result_is_error(i32 %30874)
  br i1 %30875, label %30929, label %30876

30876:                                            ; preds = %30868
  br label %30877

30877:                                            ; preds = %30876
  br label %30878

30878:                                            ; preds = %30877
  call void @llvm.lifetime.start.p0(i64 4, ptr %661) #11
  %30879 = call ptr @__errno_location() #12
  %30880 = load i32, ptr %30879, align 4, !tbaa !5
  store i32 %30880, ptr %661, align 4, !tbaa !5
  %30881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30882 = call i32 @s2n_print_stacktrace(ptr noundef %30881)
  %30883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30884 = trunc i8 %30883 to i1
  br i1 %30884, label %30885, label %30907

30885:                                            ; preds = %30878
  %30886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30887 = call i32 @fileno(ptr noundef %30886) #11
  %30888 = call i32 @isatty(i32 noundef %30887) #11
  %30889 = icmp ne i32 %30888, 0
  br i1 %30889, label %30890, label %30907

30890:                                            ; preds = %30885
  %30891 = load i32, ptr %661, align 4, !tbaa !5
  %30892 = call ptr @__errno_location() #12
  store i32 %30891, ptr %30892, align 4, !tbaa !5
  %30893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30894 = load i32, ptr @test_count, align 4, !tbaa !5
  %30895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30896 = load i32, ptr %30895, align 4, !tbaa !5
  %30897 = call ptr @s2n_strerror(i32 noundef %30896, ptr noundef @.str.4)
  %30898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30899 = load i32, ptr %30898, align 4, !tbaa !5
  %30900 = call ptr @s2n_strerror_debug(i32 noundef %30899, ptr noundef @.str.4)
  %30901 = call ptr @__errno_location() #12
  %30902 = load i32, ptr %30901, align 4, !tbaa !5
  %30903 = call ptr @strerror(i32 noundef %30902) #11
  %30904 = call ptr @__errno_location() #12
  %30905 = load i32, ptr %30904, align 4, !tbaa !5
  %30906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30893, ptr noundef @.str.2, i32 noundef %30894, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %30897, ptr noundef %30900, ptr noundef %30903, i32 noundef %30905) #11
  br label %30924

30907:                                            ; preds = %30885, %30878
  %30908 = load i32, ptr %661, align 4, !tbaa !5
  %30909 = call ptr @__errno_location() #12
  store i32 %30908, ptr %30909, align 4, !tbaa !5
  %30910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30911 = load i32, ptr @test_count, align 4, !tbaa !5
  %30912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30913 = load i32, ptr %30912, align 4, !tbaa !5
  %30914 = call ptr @s2n_strerror(i32 noundef %30913, ptr noundef @.str.4)
  %30915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30916 = load i32, ptr %30915, align 4, !tbaa !5
  %30917 = call ptr @s2n_strerror_debug(i32 noundef %30916, ptr noundef @.str.4)
  %30918 = call ptr @__errno_location() #12
  %30919 = load i32, ptr %30918, align 4, !tbaa !5
  %30920 = call ptr @strerror(i32 noundef %30919) #11
  %30921 = call ptr @__errno_location() #12
  %30922 = load i32, ptr %30921, align 4, !tbaa !5
  %30923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30910, ptr noundef @.str.5, i32 noundef %30911, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %30914, ptr noundef %30917, ptr noundef %30920, i32 noundef %30922) #11
  br label %30924

30924:                                            ; preds = %30907, %30890
  call void @llvm.lifetime.end.p0(i64 4, ptr %661) #11
  br label %30925

30925:                                            ; preds = %30924
  br label %30926

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

30927:                                            ; No predecessors!
  br label %30928

30928:                                            ; preds = %30927
  br label %30929

30929:                                            ; preds = %30928, %30868
  br label %30930

30930:                                            ; preds = %30929
  br label %30931

30931:                                            ; preds = %30930
  br label %30932

30932:                                            ; preds = %30931
  %30933 = load i32, ptr @test_count, align 4, !tbaa !5
  %30934 = add nsw i32 %30933, 1
  store i32 %30934, ptr @test_count, align 4, !tbaa !5
  %30935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30936 = load i32, ptr %30935, align 4, !tbaa !5
  %30937 = icmp eq i32 %30936, 335544396
  br i1 %30937, label %30991, label %30938

30938:                                            ; preds = %30932
  br label %30939

30939:                                            ; preds = %30938
  br label %30940

30940:                                            ; preds = %30939
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #11
  %30941 = call ptr @__errno_location() #12
  %30942 = load i32, ptr %30941, align 4, !tbaa !5
  store i32 %30942, ptr %662, align 4, !tbaa !5
  %30943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30944 = call i32 @s2n_print_stacktrace(ptr noundef %30943)
  %30945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30946 = trunc i8 %30945 to i1
  br i1 %30946, label %30947, label %30969

30947:                                            ; preds = %30940
  %30948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30949 = call i32 @fileno(ptr noundef %30948) #11
  %30950 = call i32 @isatty(i32 noundef %30949) #11
  %30951 = icmp ne i32 %30950, 0
  br i1 %30951, label %30952, label %30969

30952:                                            ; preds = %30947
  %30953 = load i32, ptr %662, align 4, !tbaa !5
  %30954 = call ptr @__errno_location() #12
  store i32 %30953, ptr %30954, align 4, !tbaa !5
  %30955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30956 = load i32, ptr @test_count, align 4, !tbaa !5
  %30957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30958 = load i32, ptr %30957, align 4, !tbaa !5
  %30959 = call ptr @s2n_strerror(i32 noundef %30958, ptr noundef @.str.4)
  %30960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30961 = load i32, ptr %30960, align 4, !tbaa !5
  %30962 = call ptr @s2n_strerror_debug(i32 noundef %30961, ptr noundef @.str.4)
  %30963 = call ptr @__errno_location() #12
  %30964 = load i32, ptr %30963, align 4, !tbaa !5
  %30965 = call ptr @strerror(i32 noundef %30964) #11
  %30966 = call ptr @__errno_location() #12
  %30967 = load i32, ptr %30966, align 4, !tbaa !5
  %30968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30955, ptr noundef @.str.2, i32 noundef %30956, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %30959, ptr noundef %30962, ptr noundef %30965, i32 noundef %30967) #11
  br label %30986

30969:                                            ; preds = %30947, %30940
  %30970 = load i32, ptr %662, align 4, !tbaa !5
  %30971 = call ptr @__errno_location() #12
  store i32 %30970, ptr %30971, align 4, !tbaa !5
  %30972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30973 = load i32, ptr @test_count, align 4, !tbaa !5
  %30974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30975 = load i32, ptr %30974, align 4, !tbaa !5
  %30976 = call ptr @s2n_strerror(i32 noundef %30975, ptr noundef @.str.4)
  %30977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30978 = load i32, ptr %30977, align 4, !tbaa !5
  %30979 = call ptr @s2n_strerror_debug(i32 noundef %30978, ptr noundef @.str.4)
  %30980 = call ptr @__errno_location() #12
  %30981 = load i32, ptr %30980, align 4, !tbaa !5
  %30982 = call ptr @strerror(i32 noundef %30981) #11
  %30983 = call ptr @__errno_location() #12
  %30984 = load i32, ptr %30983, align 4, !tbaa !5
  %30985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30972, ptr noundef @.str.5, i32 noundef %30973, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %30976, ptr noundef %30979, ptr noundef %30982, i32 noundef %30984) #11
  br label %30986

30986:                                            ; preds = %30969, %30952
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #11
  br label %30987

30987:                                            ; preds = %30986
  br label %30988

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

30989:                                            ; No predecessors!
  br label %30990

30990:                                            ; preds = %30989
  br label %30991

30991:                                            ; preds = %30990, %30932
  br label %30992

30992:                                            ; preds = %30991
  br label %30993

30993:                                            ; preds = %30992
  br label %30994

30994:                                            ; preds = %30993
  %30995 = load i32, ptr @test_count, align 4, !tbaa !5
  %30996 = add nsw i32 %30995, 1
  store i32 %30996, ptr @test_count, align 4, !tbaa !5
  %30997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30998 = load i32, ptr %30997, align 4, !tbaa !5
  %30999 = call ptr @s2n_strerror_debug(i32 noundef %30998, ptr noundef @.str.4)
  %31000 = icmp eq ptr %30999, null
  br i1 %31000, label %31001, label %31054

31001:                                            ; preds = %30994
  br label %31002

31002:                                            ; preds = %31001
  br label %31003

31003:                                            ; preds = %31002
  call void @llvm.lifetime.start.p0(i64 4, ptr %663) #11
  %31004 = call ptr @__errno_location() #12
  %31005 = load i32, ptr %31004, align 4, !tbaa !5
  store i32 %31005, ptr %663, align 4, !tbaa !5
  %31006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31007 = call i32 @s2n_print_stacktrace(ptr noundef %31006)
  %31008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31009 = trunc i8 %31008 to i1
  br i1 %31009, label %31010, label %31032

31010:                                            ; preds = %31003
  %31011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31012 = call i32 @fileno(ptr noundef %31011) #11
  %31013 = call i32 @isatty(i32 noundef %31012) #11
  %31014 = icmp ne i32 %31013, 0
  br i1 %31014, label %31015, label %31032

31015:                                            ; preds = %31010
  %31016 = load i32, ptr %663, align 4, !tbaa !5
  %31017 = call ptr @__errno_location() #12
  store i32 %31016, ptr %31017, align 4, !tbaa !5
  %31018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31019 = load i32, ptr @test_count, align 4, !tbaa !5
  %31020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31021 = load i32, ptr %31020, align 4, !tbaa !5
  %31022 = call ptr @s2n_strerror(i32 noundef %31021, ptr noundef @.str.4)
  %31023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31024 = load i32, ptr %31023, align 4, !tbaa !5
  %31025 = call ptr @s2n_strerror_debug(i32 noundef %31024, ptr noundef @.str.4)
  %31026 = call ptr @__errno_location() #12
  %31027 = load i32, ptr %31026, align 4, !tbaa !5
  %31028 = call ptr @strerror(i32 noundef %31027) #11
  %31029 = call ptr @__errno_location() #12
  %31030 = load i32, ptr %31029, align 4, !tbaa !5
  %31031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31018, ptr noundef @.str.2, i32 noundef %31019, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31022, ptr noundef %31025, ptr noundef %31028, i32 noundef %31030) #11
  br label %31049

31032:                                            ; preds = %31010, %31003
  %31033 = load i32, ptr %663, align 4, !tbaa !5
  %31034 = call ptr @__errno_location() #12
  store i32 %31033, ptr %31034, align 4, !tbaa !5
  %31035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31036 = load i32, ptr @test_count, align 4, !tbaa !5
  %31037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31038 = load i32, ptr %31037, align 4, !tbaa !5
  %31039 = call ptr @s2n_strerror(i32 noundef %31038, ptr noundef @.str.4)
  %31040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31041 = load i32, ptr %31040, align 4, !tbaa !5
  %31042 = call ptr @s2n_strerror_debug(i32 noundef %31041, ptr noundef @.str.4)
  %31043 = call ptr @__errno_location() #12
  %31044 = load i32, ptr %31043, align 4, !tbaa !5
  %31045 = call ptr @strerror(i32 noundef %31044) #11
  %31046 = call ptr @__errno_location() #12
  %31047 = load i32, ptr %31046, align 4, !tbaa !5
  %31048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31035, ptr noundef @.str.5, i32 noundef %31036, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31039, ptr noundef %31042, ptr noundef %31045, i32 noundef %31047) #11
  br label %31049

31049:                                            ; preds = %31032, %31015
  call void @llvm.lifetime.end.p0(i64 4, ptr %663) #11
  br label %31050

31050:                                            ; preds = %31049
  br label %31051

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

31052:                                            ; No predecessors!
  br label %31053

31053:                                            ; preds = %31052
  br label %31054

31054:                                            ; preds = %31053, %30994
  br label %31055

31055:                                            ; preds = %31054
  br label %31056

31056:                                            ; preds = %31055
  br label %31057

31057:                                            ; preds = %31056
  br label %31058

31058:                                            ; preds = %31057
  br label %31059

31059:                                            ; preds = %31058
  %31060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %31060, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %31061 = call ptr @__errno_location() #12
  store i32 0, ptr %31061, align 4, !tbaa !5
  br label %31062

31062:                                            ; preds = %31059
  br label %31063

31063:                                            ; preds = %31062
  br label %31064

31064:                                            ; preds = %31063
  br label %31065

31065:                                            ; preds = %31064
  %31066 = load ptr, ptr %642, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %647, ptr align 8 %31066, i64 4184, i1 false), !tbaa.struct !91
  %31067 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 60
  store i64 10, ptr %31067, align 8, !tbaa !76
  %31068 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 52
  %31069 = getelementptr inbounds %struct.s2n_handshake, ptr %31068, i32 0, i32 6
  store i32 1, ptr %31069, align 4, !tbaa !80
  br label %31070

31070:                                            ; preds = %31073, %31065
  %31071 = call i32 @s2n_conn_get_current_message_type(ptr noundef %647)
  %31072 = icmp ne i32 %31071, 20
  br i1 %31072, label %31073, label %31078

31073:                                            ; preds = %31070
  %31074 = getelementptr inbounds %struct.s2n_connection, ptr %647, i32 0, i32 52
  %31075 = getelementptr inbounds %struct.s2n_handshake, ptr %31074, i32 0, i32 7
  %31076 = load i32, ptr %31075, align 8, !tbaa !93
  %31077 = add nsw i32 %31076, 1
  store i32 %31077, ptr %31075, align 8, !tbaa !93
  br label %31070, !llvm.loop !94

31078:                                            ; preds = %31070
  br label %31079

31079:                                            ; preds = %31078
  %31080 = load i32, ptr @test_count, align 4, !tbaa !5
  %31081 = add nsw i32 %31080, 1
  store i32 %31081, ptr @test_count, align 4, !tbaa !5
  %31082 = call i32 @s2n_early_data_validate_send(ptr noundef %647, i32 noundef 1)
  %31083 = getelementptr inbounds %struct.s2n_result, ptr %664, i32 0, i32 0
  store i32 %31082, ptr %31083, align 4
  %31084 = getelementptr inbounds %struct.s2n_result, ptr %664, i32 0, i32 0
  %31085 = load i32, ptr %31084, align 4
  %31086 = call zeroext i1 @s2n_result_is_ok(i32 %31085)
  br i1 %31086, label %31140, label %31087

31087:                                            ; preds = %31079
  br label %31088

31088:                                            ; preds = %31087
  br label %31089

31089:                                            ; preds = %31088
  call void @llvm.lifetime.start.p0(i64 4, ptr %665) #11
  %31090 = call ptr @__errno_location() #12
  %31091 = load i32, ptr %31090, align 4, !tbaa !5
  store i32 %31091, ptr %665, align 4, !tbaa !5
  %31092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31093 = call i32 @s2n_print_stacktrace(ptr noundef %31092)
  %31094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31095 = trunc i8 %31094 to i1
  br i1 %31095, label %31096, label %31118

31096:                                            ; preds = %31089
  %31097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31098 = call i32 @fileno(ptr noundef %31097) #11
  %31099 = call i32 @isatty(i32 noundef %31098) #11
  %31100 = icmp ne i32 %31099, 0
  br i1 %31100, label %31101, label %31118

31101:                                            ; preds = %31096
  %31102 = load i32, ptr %665, align 4, !tbaa !5
  %31103 = call ptr @__errno_location() #12
  store i32 %31102, ptr %31103, align 4, !tbaa !5
  %31104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31105 = load i32, ptr @test_count, align 4, !tbaa !5
  %31106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31107 = load i32, ptr %31106, align 4, !tbaa !5
  %31108 = call ptr @s2n_strerror(i32 noundef %31107, ptr noundef @.str.4)
  %31109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31110 = load i32, ptr %31109, align 4, !tbaa !5
  %31111 = call ptr @s2n_strerror_debug(i32 noundef %31110, ptr noundef @.str.4)
  %31112 = call ptr @__errno_location() #12
  %31113 = load i32, ptr %31112, align 4, !tbaa !5
  %31114 = call ptr @strerror(i32 noundef %31113) #11
  %31115 = call ptr @__errno_location() #12
  %31116 = load i32, ptr %31115, align 4, !tbaa !5
  %31117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31104, ptr noundef @.str.2, i32 noundef %31105, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1244, ptr noundef %31108, ptr noundef %31111, ptr noundef %31114, i32 noundef %31116) #11
  br label %31135

31118:                                            ; preds = %31096, %31089
  %31119 = load i32, ptr %665, align 4, !tbaa !5
  %31120 = call ptr @__errno_location() #12
  store i32 %31119, ptr %31120, align 4, !tbaa !5
  %31121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31122 = load i32, ptr @test_count, align 4, !tbaa !5
  %31123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31124 = load i32, ptr %31123, align 4, !tbaa !5
  %31125 = call ptr @s2n_strerror(i32 noundef %31124, ptr noundef @.str.4)
  %31126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31127 = load i32, ptr %31126, align 4, !tbaa !5
  %31128 = call ptr @s2n_strerror_debug(i32 noundef %31127, ptr noundef @.str.4)
  %31129 = call ptr @__errno_location() #12
  %31130 = load i32, ptr %31129, align 4, !tbaa !5
  %31131 = call ptr @strerror(i32 noundef %31130) #11
  %31132 = call ptr @__errno_location() #12
  %31133 = load i32, ptr %31132, align 4, !tbaa !5
  %31134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31121, ptr noundef @.str.5, i32 noundef %31122, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1244, ptr noundef %31125, ptr noundef %31128, ptr noundef %31131, i32 noundef %31133) #11
  br label %31135

31135:                                            ; preds = %31118, %31101
  call void @llvm.lifetime.end.p0(i64 4, ptr %665) #11
  br label %31136

31136:                                            ; preds = %31135
  br label %31137

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

31138:                                            ; No predecessors!
  br label %31139

31139:                                            ; preds = %31138
  br label %31140

31140:                                            ; preds = %31139, %31079
  br label %31141

31141:                                            ; preds = %31140
  br label %31142

31142:                                            ; preds = %31141
  br label %31143

31143:                                            ; preds = %31142
  %31144 = load i32, ptr @test_count, align 4, !tbaa !5
  %31145 = add nsw i32 %31144, 1
  store i32 %31145, ptr @test_count, align 4, !tbaa !5
  %31146 = load ptr, ptr %642, align 8, !tbaa !9
  %31147 = call i32 @s2n_connection_free(ptr noundef %31146)
  %31148 = icmp eq i32 %31147, -1
  br i1 %31148, label %31149, label %31202

31149:                                            ; preds = %31143
  br label %31150

31150:                                            ; preds = %31149
  br label %31151

31151:                                            ; preds = %31150
  call void @llvm.lifetime.start.p0(i64 4, ptr %666) #11
  %31152 = call ptr @__errno_location() #12
  %31153 = load i32, ptr %31152, align 4, !tbaa !5
  store i32 %31153, ptr %666, align 4, !tbaa !5
  %31154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31155 = call i32 @s2n_print_stacktrace(ptr noundef %31154)
  %31156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31157 = trunc i8 %31156 to i1
  br i1 %31157, label %31158, label %31180

31158:                                            ; preds = %31151
  %31159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31160 = call i32 @fileno(ptr noundef %31159) #11
  %31161 = call i32 @isatty(i32 noundef %31160) #11
  %31162 = icmp ne i32 %31161, 0
  br i1 %31162, label %31163, label %31180

31163:                                            ; preds = %31158
  %31164 = load i32, ptr %666, align 4, !tbaa !5
  %31165 = call ptr @__errno_location() #12
  store i32 %31164, ptr %31165, align 4, !tbaa !5
  %31166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31167 = load i32, ptr @test_count, align 4, !tbaa !5
  %31168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31169 = load i32, ptr %31168, align 4, !tbaa !5
  %31170 = call ptr @s2n_strerror(i32 noundef %31169, ptr noundef @.str.4)
  %31171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31172 = load i32, ptr %31171, align 4, !tbaa !5
  %31173 = call ptr @s2n_strerror_debug(i32 noundef %31172, ptr noundef @.str.4)
  %31174 = call ptr @__errno_location() #12
  %31175 = load i32, ptr %31174, align 4, !tbaa !5
  %31176 = call ptr @strerror(i32 noundef %31175) #11
  %31177 = call ptr @__errno_location() #12
  %31178 = load i32, ptr %31177, align 4, !tbaa !5
  %31179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31166, ptr noundef @.str.2, i32 noundef %31167, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1246, ptr noundef %31170, ptr noundef %31173, ptr noundef %31176, i32 noundef %31178) #11
  br label %31197

31180:                                            ; preds = %31158, %31151
  %31181 = load i32, ptr %666, align 4, !tbaa !5
  %31182 = call ptr @__errno_location() #12
  store i32 %31181, ptr %31182, align 4, !tbaa !5
  %31183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31184 = load i32, ptr @test_count, align 4, !tbaa !5
  %31185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31186 = load i32, ptr %31185, align 4, !tbaa !5
  %31187 = call ptr @s2n_strerror(i32 noundef %31186, ptr noundef @.str.4)
  %31188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31189 = load i32, ptr %31188, align 4, !tbaa !5
  %31190 = call ptr @s2n_strerror_debug(i32 noundef %31189, ptr noundef @.str.4)
  %31191 = call ptr @__errno_location() #12
  %31192 = load i32, ptr %31191, align 4, !tbaa !5
  %31193 = call ptr @strerror(i32 noundef %31192) #11
  %31194 = call ptr @__errno_location() #12
  %31195 = load i32, ptr %31194, align 4, !tbaa !5
  %31196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31183, ptr noundef @.str.5, i32 noundef %31184, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1246, ptr noundef %31187, ptr noundef %31190, ptr noundef %31193, i32 noundef %31195) #11
  br label %31197

31197:                                            ; preds = %31180, %31163
  call void @llvm.lifetime.end.p0(i64 4, ptr %666) #11
  br label %31198

31198:                                            ; preds = %31197
  br label %31199

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

31200:                                            ; No predecessors!
  br label %31201

31201:                                            ; preds = %31200
  br label %31202

31202:                                            ; preds = %31201, %31143
  br label %31203

31203:                                            ; preds = %31202
  br label %31204

31204:                                            ; preds = %31203
  call void @llvm.lifetime.end.p0(i64 4184, ptr %647) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %642) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %641) #11
  br label %31205

31205:                                            ; preds = %31204
  br label %31206

31206:                                            ; preds = %31205
  br label %31207

31207:                                            ; preds = %31206
  %31208 = load i32, ptr @test_count, align 4, !tbaa !5
  %31209 = add nsw i32 %31208, 1
  store i32 %31209, ptr @test_count, align 4, !tbaa !5
  %31210 = call i32 @s2n_early_data_validate_recv(ptr noundef null)
  %31211 = getelementptr inbounds %struct.s2n_result, ptr %667, i32 0, i32 0
  store i32 %31210, ptr %31211, align 4
  %31212 = getelementptr inbounds %struct.s2n_result, ptr %667, i32 0, i32 0
  %31213 = load i32, ptr %31212, align 4
  %31214 = call zeroext i1 @s2n_result_is_error(i32 %31213)
  br i1 %31214, label %31268, label %31215

31215:                                            ; preds = %31207
  br label %31216

31216:                                            ; preds = %31215
  br label %31217

31217:                                            ; preds = %31216
  call void @llvm.lifetime.start.p0(i64 4, ptr %668) #11
  %31218 = call ptr @__errno_location() #12
  %31219 = load i32, ptr %31218, align 4, !tbaa !5
  store i32 %31219, ptr %668, align 4, !tbaa !5
  %31220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31221 = call i32 @s2n_print_stacktrace(ptr noundef %31220)
  %31222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31223 = trunc i8 %31222 to i1
  br i1 %31223, label %31224, label %31246

31224:                                            ; preds = %31217
  %31225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31226 = call i32 @fileno(ptr noundef %31225) #11
  %31227 = call i32 @isatty(i32 noundef %31226) #11
  %31228 = icmp ne i32 %31227, 0
  br i1 %31228, label %31229, label %31246

31229:                                            ; preds = %31224
  %31230 = load i32, ptr %668, align 4, !tbaa !5
  %31231 = call ptr @__errno_location() #12
  store i32 %31230, ptr %31231, align 4, !tbaa !5
  %31232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31233 = load i32, ptr @test_count, align 4, !tbaa !5
  %31234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31235 = load i32, ptr %31234, align 4, !tbaa !5
  %31236 = call ptr @s2n_strerror(i32 noundef %31235, ptr noundef @.str.4)
  %31237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31238 = load i32, ptr %31237, align 4, !tbaa !5
  %31239 = call ptr @s2n_strerror_debug(i32 noundef %31238, ptr noundef @.str.4)
  %31240 = call ptr @__errno_location() #12
  %31241 = load i32, ptr %31240, align 4, !tbaa !5
  %31242 = call ptr @strerror(i32 noundef %31241) #11
  %31243 = call ptr @__errno_location() #12
  %31244 = load i32, ptr %31243, align 4, !tbaa !5
  %31245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31232, ptr noundef @.str.2, i32 noundef %31233, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31236, ptr noundef %31239, ptr noundef %31242, i32 noundef %31244) #11
  br label %31263

31246:                                            ; preds = %31224, %31217
  %31247 = load i32, ptr %668, align 4, !tbaa !5
  %31248 = call ptr @__errno_location() #12
  store i32 %31247, ptr %31248, align 4, !tbaa !5
  %31249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31250 = load i32, ptr @test_count, align 4, !tbaa !5
  %31251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31252 = load i32, ptr %31251, align 4, !tbaa !5
  %31253 = call ptr @s2n_strerror(i32 noundef %31252, ptr noundef @.str.4)
  %31254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31255 = load i32, ptr %31254, align 4, !tbaa !5
  %31256 = call ptr @s2n_strerror_debug(i32 noundef %31255, ptr noundef @.str.4)
  %31257 = call ptr @__errno_location() #12
  %31258 = load i32, ptr %31257, align 4, !tbaa !5
  %31259 = call ptr @strerror(i32 noundef %31258) #11
  %31260 = call ptr @__errno_location() #12
  %31261 = load i32, ptr %31260, align 4, !tbaa !5
  %31262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31249, ptr noundef @.str.5, i32 noundef %31250, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31253, ptr noundef %31256, ptr noundef %31259, i32 noundef %31261) #11
  br label %31263

31263:                                            ; preds = %31246, %31229
  call void @llvm.lifetime.end.p0(i64 4, ptr %668) #11
  br label %31264

31264:                                            ; preds = %31263
  br label %31265

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

31266:                                            ; No predecessors!
  br label %31267

31267:                                            ; preds = %31266
  br label %31268

31268:                                            ; preds = %31267, %31207
  br label %31269

31269:                                            ; preds = %31268
  br label %31270

31270:                                            ; preds = %31269
  br label %31271

31271:                                            ; preds = %31270
  %31272 = load i32, ptr @test_count, align 4, !tbaa !5
  %31273 = add nsw i32 %31272, 1
  store i32 %31273, ptr @test_count, align 4, !tbaa !5
  %31274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31275 = load i32, ptr %31274, align 4, !tbaa !5
  %31276 = icmp eq i32 %31275, 402653193
  br i1 %31276, label %31330, label %31277

31277:                                            ; preds = %31271
  br label %31278

31278:                                            ; preds = %31277
  br label %31279

31279:                                            ; preds = %31278
  call void @llvm.lifetime.start.p0(i64 4, ptr %669) #11
  %31280 = call ptr @__errno_location() #12
  %31281 = load i32, ptr %31280, align 4, !tbaa !5
  store i32 %31281, ptr %669, align 4, !tbaa !5
  %31282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31283 = call i32 @s2n_print_stacktrace(ptr noundef %31282)
  %31284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31285 = trunc i8 %31284 to i1
  br i1 %31285, label %31286, label %31308

31286:                                            ; preds = %31279
  %31287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31288 = call i32 @fileno(ptr noundef %31287) #11
  %31289 = call i32 @isatty(i32 noundef %31288) #11
  %31290 = icmp ne i32 %31289, 0
  br i1 %31290, label %31291, label %31308

31291:                                            ; preds = %31286
  %31292 = load i32, ptr %669, align 4, !tbaa !5
  %31293 = call ptr @__errno_location() #12
  store i32 %31292, ptr %31293, align 4, !tbaa !5
  %31294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31295 = load i32, ptr @test_count, align 4, !tbaa !5
  %31296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31297 = load i32, ptr %31296, align 4, !tbaa !5
  %31298 = call ptr @s2n_strerror(i32 noundef %31297, ptr noundef @.str.4)
  %31299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31300 = load i32, ptr %31299, align 4, !tbaa !5
  %31301 = call ptr @s2n_strerror_debug(i32 noundef %31300, ptr noundef @.str.4)
  %31302 = call ptr @__errno_location() #12
  %31303 = load i32, ptr %31302, align 4, !tbaa !5
  %31304 = call ptr @strerror(i32 noundef %31303) #11
  %31305 = call ptr @__errno_location() #12
  %31306 = load i32, ptr %31305, align 4, !tbaa !5
  %31307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31294, ptr noundef @.str.2, i32 noundef %31295, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31298, ptr noundef %31301, ptr noundef %31304, i32 noundef %31306) #11
  br label %31325

31308:                                            ; preds = %31286, %31279
  %31309 = load i32, ptr %669, align 4, !tbaa !5
  %31310 = call ptr @__errno_location() #12
  store i32 %31309, ptr %31310, align 4, !tbaa !5
  %31311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31312 = load i32, ptr @test_count, align 4, !tbaa !5
  %31313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31314 = load i32, ptr %31313, align 4, !tbaa !5
  %31315 = call ptr @s2n_strerror(i32 noundef %31314, ptr noundef @.str.4)
  %31316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31317 = load i32, ptr %31316, align 4, !tbaa !5
  %31318 = call ptr @s2n_strerror_debug(i32 noundef %31317, ptr noundef @.str.4)
  %31319 = call ptr @__errno_location() #12
  %31320 = load i32, ptr %31319, align 4, !tbaa !5
  %31321 = call ptr @strerror(i32 noundef %31320) #11
  %31322 = call ptr @__errno_location() #12
  %31323 = load i32, ptr %31322, align 4, !tbaa !5
  %31324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31311, ptr noundef @.str.5, i32 noundef %31312, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31315, ptr noundef %31318, ptr noundef %31321, i32 noundef %31323) #11
  br label %31325

31325:                                            ; preds = %31308, %31291
  call void @llvm.lifetime.end.p0(i64 4, ptr %669) #11
  br label %31326

31326:                                            ; preds = %31325
  br label %31327

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

31328:                                            ; No predecessors!
  br label %31329

31329:                                            ; preds = %31328
  br label %31330

31330:                                            ; preds = %31329, %31271
  br label %31331

31331:                                            ; preds = %31330
  br label %31332

31332:                                            ; preds = %31331
  br label %31333

31333:                                            ; preds = %31332
  %31334 = load i32, ptr @test_count, align 4, !tbaa !5
  %31335 = add nsw i32 %31334, 1
  store i32 %31335, ptr @test_count, align 4, !tbaa !5
  %31336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31337 = load i32, ptr %31336, align 4, !tbaa !5
  %31338 = call ptr @s2n_strerror_debug(i32 noundef %31337, ptr noundef @.str.4)
  %31339 = icmp eq ptr %31338, null
  br i1 %31339, label %31340, label %31393

31340:                                            ; preds = %31333
  br label %31341

31341:                                            ; preds = %31340
  br label %31342

31342:                                            ; preds = %31341
  call void @llvm.lifetime.start.p0(i64 4, ptr %670) #11
  %31343 = call ptr @__errno_location() #12
  %31344 = load i32, ptr %31343, align 4, !tbaa !5
  store i32 %31344, ptr %670, align 4, !tbaa !5
  %31345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31346 = call i32 @s2n_print_stacktrace(ptr noundef %31345)
  %31347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31348 = trunc i8 %31347 to i1
  br i1 %31348, label %31349, label %31371

31349:                                            ; preds = %31342
  %31350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31351 = call i32 @fileno(ptr noundef %31350) #11
  %31352 = call i32 @isatty(i32 noundef %31351) #11
  %31353 = icmp ne i32 %31352, 0
  br i1 %31353, label %31354, label %31371

31354:                                            ; preds = %31349
  %31355 = load i32, ptr %670, align 4, !tbaa !5
  %31356 = call ptr @__errno_location() #12
  store i32 %31355, ptr %31356, align 4, !tbaa !5
  %31357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31358 = load i32, ptr @test_count, align 4, !tbaa !5
  %31359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31360 = load i32, ptr %31359, align 4, !tbaa !5
  %31361 = call ptr @s2n_strerror(i32 noundef %31360, ptr noundef @.str.4)
  %31362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31363 = load i32, ptr %31362, align 4, !tbaa !5
  %31364 = call ptr @s2n_strerror_debug(i32 noundef %31363, ptr noundef @.str.4)
  %31365 = call ptr @__errno_location() #12
  %31366 = load i32, ptr %31365, align 4, !tbaa !5
  %31367 = call ptr @strerror(i32 noundef %31366) #11
  %31368 = call ptr @__errno_location() #12
  %31369 = load i32, ptr %31368, align 4, !tbaa !5
  %31370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31357, ptr noundef @.str.2, i32 noundef %31358, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31361, ptr noundef %31364, ptr noundef %31367, i32 noundef %31369) #11
  br label %31388

31371:                                            ; preds = %31349, %31342
  %31372 = load i32, ptr %670, align 4, !tbaa !5
  %31373 = call ptr @__errno_location() #12
  store i32 %31372, ptr %31373, align 4, !tbaa !5
  %31374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31375 = load i32, ptr @test_count, align 4, !tbaa !5
  %31376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31377 = load i32, ptr %31376, align 4, !tbaa !5
  %31378 = call ptr @s2n_strerror(i32 noundef %31377, ptr noundef @.str.4)
  %31379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31380 = load i32, ptr %31379, align 4, !tbaa !5
  %31381 = call ptr @s2n_strerror_debug(i32 noundef %31380, ptr noundef @.str.4)
  %31382 = call ptr @__errno_location() #12
  %31383 = load i32, ptr %31382, align 4, !tbaa !5
  %31384 = call ptr @strerror(i32 noundef %31383) #11
  %31385 = call ptr @__errno_location() #12
  %31386 = load i32, ptr %31385, align 4, !tbaa !5
  %31387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31374, ptr noundef @.str.5, i32 noundef %31375, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31378, ptr noundef %31381, ptr noundef %31384, i32 noundef %31386) #11
  br label %31388

31388:                                            ; preds = %31371, %31354
  call void @llvm.lifetime.end.p0(i64 4, ptr %670) #11
  br label %31389

31389:                                            ; preds = %31388
  br label %31390

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

31391:                                            ; No predecessors!
  br label %31392

31392:                                            ; preds = %31391
  br label %31393

31393:                                            ; preds = %31392, %31333
  br label %31394

31394:                                            ; preds = %31393
  br label %31395

31395:                                            ; preds = %31394
  br label %31396

31396:                                            ; preds = %31395
  br label %31397

31397:                                            ; preds = %31396
  br label %31398

31398:                                            ; preds = %31397
  %31399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %31399, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %31400 = call ptr @__errno_location() #12
  store i32 0, ptr %31400, align 4, !tbaa !5
  br label %31401

31401:                                            ; preds = %31398
  br label %31402

31402:                                            ; preds = %31401
  br label %31403

31403:                                            ; preds = %31402
  br label %31404

31404:                                            ; preds = %31403
  call void @llvm.lifetime.start.p0(i64 4, ptr %671) #11
  store i32 10, ptr %671, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %672) #11
  %31405 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %31405, ptr %672, align 8, !tbaa !9
  br label %31406

31406:                                            ; preds = %31404
  %31407 = load i32, ptr @test_count, align 4, !tbaa !5
  %31408 = add nsw i32 %31407, 1
  store i32 %31408, ptr @test_count, align 4, !tbaa !5
  %31409 = load ptr, ptr %672, align 8, !tbaa !9
  %31410 = icmp eq ptr %31409, null
  br i1 %31410, label %31411, label %31464

31411:                                            ; preds = %31406
  br label %31412

31412:                                            ; preds = %31411
  br label %31413

31413:                                            ; preds = %31412
  call void @llvm.lifetime.start.p0(i64 4, ptr %673) #11
  %31414 = call ptr @__errno_location() #12
  %31415 = load i32, ptr %31414, align 4, !tbaa !5
  store i32 %31415, ptr %673, align 4, !tbaa !5
  %31416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31417 = call i32 @s2n_print_stacktrace(ptr noundef %31416)
  %31418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31419 = trunc i8 %31418 to i1
  br i1 %31419, label %31420, label %31442

31420:                                            ; preds = %31413
  %31421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31422 = call i32 @fileno(ptr noundef %31421) #11
  %31423 = call i32 @isatty(i32 noundef %31422) #11
  %31424 = icmp ne i32 %31423, 0
  br i1 %31424, label %31425, label %31442

31425:                                            ; preds = %31420
  %31426 = load i32, ptr %673, align 4, !tbaa !5
  %31427 = call ptr @__errno_location() #12
  store i32 %31426, ptr %31427, align 4, !tbaa !5
  %31428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31429 = load i32, ptr @test_count, align 4, !tbaa !5
  %31430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31431 = load i32, ptr %31430, align 4, !tbaa !5
  %31432 = call ptr @s2n_strerror(i32 noundef %31431, ptr noundef @.str.4)
  %31433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31434 = load i32, ptr %31433, align 4, !tbaa !5
  %31435 = call ptr @s2n_strerror_debug(i32 noundef %31434, ptr noundef @.str.4)
  %31436 = call ptr @__errno_location() #12
  %31437 = load i32, ptr %31436, align 4, !tbaa !5
  %31438 = call ptr @strerror(i32 noundef %31437) #11
  %31439 = call ptr @__errno_location() #12
  %31440 = load i32, ptr %31439, align 4, !tbaa !5
  %31441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31428, ptr noundef @.str.2, i32 noundef %31429, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1256, ptr noundef %31432, ptr noundef %31435, ptr noundef %31438, i32 noundef %31440) #11
  br label %31459

31442:                                            ; preds = %31420, %31413
  %31443 = load i32, ptr %673, align 4, !tbaa !5
  %31444 = call ptr @__errno_location() #12
  store i32 %31443, ptr %31444, align 4, !tbaa !5
  %31445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31446 = load i32, ptr @test_count, align 4, !tbaa !5
  %31447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31448 = load i32, ptr %31447, align 4, !tbaa !5
  %31449 = call ptr @s2n_strerror(i32 noundef %31448, ptr noundef @.str.4)
  %31450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31451 = load i32, ptr %31450, align 4, !tbaa !5
  %31452 = call ptr @s2n_strerror_debug(i32 noundef %31451, ptr noundef @.str.4)
  %31453 = call ptr @__errno_location() #12
  %31454 = load i32, ptr %31453, align 4, !tbaa !5
  %31455 = call ptr @strerror(i32 noundef %31454) #11
  %31456 = call ptr @__errno_location() #12
  %31457 = load i32, ptr %31456, align 4, !tbaa !5
  %31458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31445, ptr noundef @.str.5, i32 noundef %31446, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1256, ptr noundef %31449, ptr noundef %31452, ptr noundef %31455, i32 noundef %31457) #11
  br label %31459

31459:                                            ; preds = %31442, %31425
  call void @llvm.lifetime.end.p0(i64 4, ptr %673) #11
  br label %31460

31460:                                            ; preds = %31459
  br label %31461

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

31462:                                            ; No predecessors!
  br label %31463

31463:                                            ; preds = %31462
  br label %31464

31464:                                            ; preds = %31463, %31406
  br label %31465

31465:                                            ; preds = %31464
  br label %31466

31466:                                            ; preds = %31465
  br label %31467

31467:                                            ; preds = %31466
  %31468 = load i32, ptr @test_count, align 4, !tbaa !5
  %31469 = add nsw i32 %31468, 1
  store i32 %31469, ptr @test_count, align 4, !tbaa !5
  %31470 = load ptr, ptr %672, align 8, !tbaa !9
  %31471 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %31470, i32 noundef 10, ptr noundef @s2n_tls13_aes_256_gcm_sha384)
  %31472 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  store i32 %31471, ptr %31472, align 4
  %31473 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  %31474 = load i32, ptr %31473, align 4
  %31475 = call zeroext i1 @s2n_result_is_ok(i32 %31474)
  br i1 %31475, label %31529, label %31476

31476:                                            ; preds = %31467
  br label %31477

31477:                                            ; preds = %31476
  br label %31478

31478:                                            ; preds = %31477
  call void @llvm.lifetime.start.p0(i64 4, ptr %675) #11
  %31479 = call ptr @__errno_location() #12
  %31480 = load i32, ptr %31479, align 4, !tbaa !5
  store i32 %31480, ptr %675, align 4, !tbaa !5
  %31481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31482 = call i32 @s2n_print_stacktrace(ptr noundef %31481)
  %31483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31484 = trunc i8 %31483 to i1
  br i1 %31484, label %31485, label %31507

31485:                                            ; preds = %31478
  %31486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31487 = call i32 @fileno(ptr noundef %31486) #11
  %31488 = call i32 @isatty(i32 noundef %31487) #11
  %31489 = icmp ne i32 %31488, 0
  br i1 %31489, label %31490, label %31507

31490:                                            ; preds = %31485
  %31491 = load i32, ptr %675, align 4, !tbaa !5
  %31492 = call ptr @__errno_location() #12
  store i32 %31491, ptr %31492, align 4, !tbaa !5
  %31493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31494 = load i32, ptr @test_count, align 4, !tbaa !5
  %31495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31496 = load i32, ptr %31495, align 4, !tbaa !5
  %31497 = call ptr @s2n_strerror(i32 noundef %31496, ptr noundef @.str.4)
  %31498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31499 = load i32, ptr %31498, align 4, !tbaa !5
  %31500 = call ptr @s2n_strerror_debug(i32 noundef %31499, ptr noundef @.str.4)
  %31501 = call ptr @__errno_location() #12
  %31502 = load i32, ptr %31501, align 4, !tbaa !5
  %31503 = call ptr @strerror(i32 noundef %31502) #11
  %31504 = call ptr @__errno_location() #12
  %31505 = load i32, ptr %31504, align 4, !tbaa !5
  %31506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31493, ptr noundef @.str.2, i32 noundef %31494, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1257, ptr noundef %31497, ptr noundef %31500, ptr noundef %31503, i32 noundef %31505) #11
  br label %31524

31507:                                            ; preds = %31485, %31478
  %31508 = load i32, ptr %675, align 4, !tbaa !5
  %31509 = call ptr @__errno_location() #12
  store i32 %31508, ptr %31509, align 4, !tbaa !5
  %31510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31511 = load i32, ptr @test_count, align 4, !tbaa !5
  %31512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31513 = load i32, ptr %31512, align 4, !tbaa !5
  %31514 = call ptr @s2n_strerror(i32 noundef %31513, ptr noundef @.str.4)
  %31515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31516 = load i32, ptr %31515, align 4, !tbaa !5
  %31517 = call ptr @s2n_strerror_debug(i32 noundef %31516, ptr noundef @.str.4)
  %31518 = call ptr @__errno_location() #12
  %31519 = load i32, ptr %31518, align 4, !tbaa !5
  %31520 = call ptr @strerror(i32 noundef %31519) #11
  %31521 = call ptr @__errno_location() #12
  %31522 = load i32, ptr %31521, align 4, !tbaa !5
  %31523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31510, ptr noundef @.str.5, i32 noundef %31511, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1257, ptr noundef %31514, ptr noundef %31517, ptr noundef %31520, i32 noundef %31522) #11
  br label %31524

31524:                                            ; preds = %31507, %31490
  call void @llvm.lifetime.end.p0(i64 4, ptr %675) #11
  br label %31525

31525:                                            ; preds = %31524
  br label %31526

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

31527:                                            ; No predecessors!
  br label %31528

31528:                                            ; preds = %31527
  br label %31529

31529:                                            ; preds = %31528, %31467
  br label %31530

31530:                                            ; preds = %31529
  br label %31531

31531:                                            ; preds = %31530
  br label %31532

31532:                                            ; preds = %31531
  %31533 = load i32, ptr @test_count, align 4, !tbaa !5
  %31534 = add nsw i32 %31533, 1
  store i32 %31534, ptr @test_count, align 4, !tbaa !5
  %31535 = load ptr, ptr %672, align 8, !tbaa !9
  %31536 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %31535)
  %31537 = icmp eq i32 %31536, -1
  br i1 %31537, label %31538, label %31591

31538:                                            ; preds = %31532
  br label %31539

31539:                                            ; preds = %31538
  br label %31540

31540:                                            ; preds = %31539
  call void @llvm.lifetime.start.p0(i64 4, ptr %676) #11
  %31541 = call ptr @__errno_location() #12
  %31542 = load i32, ptr %31541, align 4, !tbaa !5
  store i32 %31542, ptr %676, align 4, !tbaa !5
  %31543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31544 = call i32 @s2n_print_stacktrace(ptr noundef %31543)
  %31545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31546 = trunc i8 %31545 to i1
  br i1 %31546, label %31547, label %31569

31547:                                            ; preds = %31540
  %31548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31549 = call i32 @fileno(ptr noundef %31548) #11
  %31550 = call i32 @isatty(i32 noundef %31549) #11
  %31551 = icmp ne i32 %31550, 0
  br i1 %31551, label %31552, label %31569

31552:                                            ; preds = %31547
  %31553 = load i32, ptr %676, align 4, !tbaa !5
  %31554 = call ptr @__errno_location() #12
  store i32 %31553, ptr %31554, align 4, !tbaa !5
  %31555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31556 = load i32, ptr @test_count, align 4, !tbaa !5
  %31557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31558 = load i32, ptr %31557, align 4, !tbaa !5
  %31559 = call ptr @s2n_strerror(i32 noundef %31558, ptr noundef @.str.4)
  %31560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31561 = load i32, ptr %31560, align 4, !tbaa !5
  %31562 = call ptr @s2n_strerror_debug(i32 noundef %31561, ptr noundef @.str.4)
  %31563 = call ptr @__errno_location() #12
  %31564 = load i32, ptr %31563, align 4, !tbaa !5
  %31565 = call ptr @strerror(i32 noundef %31564) #11
  %31566 = call ptr @__errno_location() #12
  %31567 = load i32, ptr %31566, align 4, !tbaa !5
  %31568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31555, ptr noundef @.str.2, i32 noundef %31556, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1258, ptr noundef %31559, ptr noundef %31562, ptr noundef %31565, i32 noundef %31567) #11
  br label %31586

31569:                                            ; preds = %31547, %31540
  %31570 = load i32, ptr %676, align 4, !tbaa !5
  %31571 = call ptr @__errno_location() #12
  store i32 %31570, ptr %31571, align 4, !tbaa !5
  %31572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31573 = load i32, ptr @test_count, align 4, !tbaa !5
  %31574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31575 = load i32, ptr %31574, align 4, !tbaa !5
  %31576 = call ptr @s2n_strerror(i32 noundef %31575, ptr noundef @.str.4)
  %31577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31578 = load i32, ptr %31577, align 4, !tbaa !5
  %31579 = call ptr @s2n_strerror_debug(i32 noundef %31578, ptr noundef @.str.4)
  %31580 = call ptr @__errno_location() #12
  %31581 = load i32, ptr %31580, align 4, !tbaa !5
  %31582 = call ptr @strerror(i32 noundef %31581) #11
  %31583 = call ptr @__errno_location() #12
  %31584 = load i32, ptr %31583, align 4, !tbaa !5
  %31585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31572, ptr noundef @.str.5, i32 noundef %31573, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1258, ptr noundef %31576, ptr noundef %31579, ptr noundef %31582, i32 noundef %31584) #11
  br label %31586

31586:                                            ; preds = %31569, %31552
  call void @llvm.lifetime.end.p0(i64 4, ptr %676) #11
  br label %31587

31587:                                            ; preds = %31586
  br label %31588

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

31589:                                            ; No predecessors!
  br label %31590

31590:                                            ; preds = %31589
  br label %31591

31591:                                            ; preds = %31590, %31532
  br label %31592

31592:                                            ; preds = %31591
  br label %31593

31593:                                            ; preds = %31592
  %31594 = load ptr, ptr %672, align 8, !tbaa !9
  %31595 = getelementptr inbounds %struct.s2n_connection, ptr %31594, i32 0, i32 89
  store i32 3, ptr %31595, align 8, !tbaa !15
  %31596 = load ptr, ptr %672, align 8, !tbaa !9
  %31597 = getelementptr inbounds %struct.s2n_connection, ptr %31596, i32 0, i32 60
  store i64 0, ptr %31597, align 8, !tbaa !76
  %31598 = load ptr, ptr %672, align 8, !tbaa !9
  %31599 = getelementptr inbounds %struct.s2n_connection, ptr %31598, i32 0, i32 23
  store i8 34, ptr %31599, align 4, !tbaa !69
  br label %31600

31600:                                            ; preds = %31593
  %31601 = load i32, ptr @test_count, align 4, !tbaa !5
  %31602 = add nsw i32 %31601, 1
  store i32 %31602, ptr @test_count, align 4, !tbaa !5
  %31603 = load ptr, ptr %672, align 8, !tbaa !9
  %31604 = call i32 @s2n_conn_choose_state_machine(ptr noundef %31603, i8 noundef zeroext 34)
  %31605 = getelementptr inbounds %struct.s2n_result, ptr %677, i32 0, i32 0
  store i32 %31604, ptr %31605, align 4
  %31606 = getelementptr inbounds %struct.s2n_result, ptr %677, i32 0, i32 0
  %31607 = load i32, ptr %31606, align 4
  %31608 = call zeroext i1 @s2n_result_is_ok(i32 %31607)
  br i1 %31608, label %31662, label %31609

31609:                                            ; preds = %31600
  br label %31610

31610:                                            ; preds = %31609
  br label %31611

31611:                                            ; preds = %31610
  call void @llvm.lifetime.start.p0(i64 4, ptr %678) #11
  %31612 = call ptr @__errno_location() #12
  %31613 = load i32, ptr %31612, align 4, !tbaa !5
  store i32 %31613, ptr %678, align 4, !tbaa !5
  %31614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31615 = call i32 @s2n_print_stacktrace(ptr noundef %31614)
  %31616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31617 = trunc i8 %31616 to i1
  br i1 %31617, label %31618, label %31640

31618:                                            ; preds = %31611
  %31619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31620 = call i32 @fileno(ptr noundef %31619) #11
  %31621 = call i32 @isatty(i32 noundef %31620) #11
  %31622 = icmp ne i32 %31621, 0
  br i1 %31622, label %31623, label %31640

31623:                                            ; preds = %31618
  %31624 = load i32, ptr %678, align 4, !tbaa !5
  %31625 = call ptr @__errno_location() #12
  store i32 %31624, ptr %31625, align 4, !tbaa !5
  %31626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31627 = load i32, ptr @test_count, align 4, !tbaa !5
  %31628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31629 = load i32, ptr %31628, align 4, !tbaa !5
  %31630 = call ptr @s2n_strerror(i32 noundef %31629, ptr noundef @.str.4)
  %31631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31632 = load i32, ptr %31631, align 4, !tbaa !5
  %31633 = call ptr @s2n_strerror_debug(i32 noundef %31632, ptr noundef @.str.4)
  %31634 = call ptr @__errno_location() #12
  %31635 = load i32, ptr %31634, align 4, !tbaa !5
  %31636 = call ptr @strerror(i32 noundef %31635) #11
  %31637 = call ptr @__errno_location() #12
  %31638 = load i32, ptr %31637, align 4, !tbaa !5
  %31639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31626, ptr noundef @.str.2, i32 noundef %31627, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 1262, ptr noundef %31630, ptr noundef %31633, ptr noundef %31636, i32 noundef %31638) #11
  br label %31657

31640:                                            ; preds = %31618, %31611
  %31641 = load i32, ptr %678, align 4, !tbaa !5
  %31642 = call ptr @__errno_location() #12
  store i32 %31641, ptr %31642, align 4, !tbaa !5
  %31643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31644 = load i32, ptr @test_count, align 4, !tbaa !5
  %31645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31646 = load i32, ptr %31645, align 4, !tbaa !5
  %31647 = call ptr @s2n_strerror(i32 noundef %31646, ptr noundef @.str.4)
  %31648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31649 = load i32, ptr %31648, align 4, !tbaa !5
  %31650 = call ptr @s2n_strerror_debug(i32 noundef %31649, ptr noundef @.str.4)
  %31651 = call ptr @__errno_location() #12
  %31652 = load i32, ptr %31651, align 4, !tbaa !5
  %31653 = call ptr @strerror(i32 noundef %31652) #11
  %31654 = call ptr @__errno_location() #12
  %31655 = load i32, ptr %31654, align 4, !tbaa !5
  %31656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31643, ptr noundef @.str.5, i32 noundef %31644, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 1262, ptr noundef %31647, ptr noundef %31650, ptr noundef %31653, i32 noundef %31655) #11
  br label %31657

31657:                                            ; preds = %31640, %31623
  call void @llvm.lifetime.end.p0(i64 4, ptr %678) #11
  br label %31658

31658:                                            ; preds = %31657
  br label %31659

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

31660:                                            ; No predecessors!
  br label %31661

31661:                                            ; preds = %31660
  br label %31662

31662:                                            ; preds = %31661, %31600
  br label %31663

31663:                                            ; preds = %31662
  br label %31664

31664:                                            ; preds = %31663
  %31665 = load ptr, ptr %672, align 8, !tbaa !9
  %31666 = getelementptr inbounds %struct.s2n_connection, ptr %31665, i32 0, i32 52
  %31667 = getelementptr inbounds %struct.s2n_handshake, ptr %31666, i32 0, i32 6
  store i32 65, ptr %31667, align 4, !tbaa !80
  br label %31668

31668:                                            ; preds = %31672, %31664
  %31669 = load ptr, ptr %672, align 8, !tbaa !9
  %31670 = call i32 @s2n_conn_get_current_message_type(ptr noundef %31669)
  %31671 = icmp ne i32 %31670, 19
  br i1 %31671, label %31672, label %31678

31672:                                            ; preds = %31668
  %31673 = load ptr, ptr %672, align 8, !tbaa !9
  %31674 = getelementptr inbounds %struct.s2n_connection, ptr %31673, i32 0, i32 52
  %31675 = getelementptr inbounds %struct.s2n_handshake, ptr %31674, i32 0, i32 7
  %31676 = load i32, ptr %31675, align 8, !tbaa !93
  %31677 = add nsw i32 %31676, 1
  store i32 %31677, ptr %31675, align 8, !tbaa !93
  br label %31668, !llvm.loop !95

31678:                                            ; preds = %31668
  call void @llvm.lifetime.start.p0(i64 4184, ptr %679) #11
  %31679 = load ptr, ptr %672, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %679, ptr align 8 %31679, i64 4184, i1 false), !tbaa.struct !91
  br label %31680

31680:                                            ; preds = %31678
  %31681 = load i32, ptr @test_count, align 4, !tbaa !5
  %31682 = add nsw i32 %31681, 1
  store i32 %31682, ptr @test_count, align 4, !tbaa !5
  %31683 = call i32 @s2n_early_data_validate_recv(ptr noundef %679)
  %31684 = getelementptr inbounds %struct.s2n_result, ptr %680, i32 0, i32 0
  store i32 %31683, ptr %31684, align 4
  %31685 = getelementptr inbounds %struct.s2n_result, ptr %680, i32 0, i32 0
  %31686 = load i32, ptr %31685, align 4
  %31687 = call zeroext i1 @s2n_result_is_ok(i32 %31686)
  br i1 %31687, label %31741, label %31688

31688:                                            ; preds = %31680
  br label %31689

31689:                                            ; preds = %31688
  br label %31690

31690:                                            ; preds = %31689
  call void @llvm.lifetime.start.p0(i64 4, ptr %681) #11
  %31691 = call ptr @__errno_location() #12
  %31692 = load i32, ptr %31691, align 4, !tbaa !5
  store i32 %31692, ptr %681, align 4, !tbaa !5
  %31693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31694 = call i32 @s2n_print_stacktrace(ptr noundef %31693)
  %31695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31696 = trunc i8 %31695 to i1
  br i1 %31696, label %31697, label %31719

31697:                                            ; preds = %31690
  %31698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31699 = call i32 @fileno(ptr noundef %31698) #11
  %31700 = call i32 @isatty(i32 noundef %31699) #11
  %31701 = icmp ne i32 %31700, 0
  br i1 %31701, label %31702, label %31719

31702:                                            ; preds = %31697
  %31703 = load i32, ptr %681, align 4, !tbaa !5
  %31704 = call ptr @__errno_location() #12
  store i32 %31703, ptr %31704, align 4, !tbaa !5
  %31705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31706 = load i32, ptr @test_count, align 4, !tbaa !5
  %31707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31708 = load i32, ptr %31707, align 4, !tbaa !5
  %31709 = call ptr @s2n_strerror(i32 noundef %31708, ptr noundef @.str.4)
  %31710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31711 = load i32, ptr %31710, align 4, !tbaa !5
  %31712 = call ptr @s2n_strerror_debug(i32 noundef %31711, ptr noundef @.str.4)
  %31713 = call ptr @__errno_location() #12
  %31714 = load i32, ptr %31713, align 4, !tbaa !5
  %31715 = call ptr @strerror(i32 noundef %31714) #11
  %31716 = call ptr @__errno_location() #12
  %31717 = load i32, ptr %31716, align 4, !tbaa !5
  %31718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31705, ptr noundef @.str.2, i32 noundef %31706, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %31709, ptr noundef %31712, ptr noundef %31715, i32 noundef %31717) #11
  br label %31736

31719:                                            ; preds = %31697, %31690
  %31720 = load i32, ptr %681, align 4, !tbaa !5
  %31721 = call ptr @__errno_location() #12
  store i32 %31720, ptr %31721, align 4, !tbaa !5
  %31722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31723 = load i32, ptr @test_count, align 4, !tbaa !5
  %31724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31725 = load i32, ptr %31724, align 4, !tbaa !5
  %31726 = call ptr @s2n_strerror(i32 noundef %31725, ptr noundef @.str.4)
  %31727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31728 = load i32, ptr %31727, align 4, !tbaa !5
  %31729 = call ptr @s2n_strerror_debug(i32 noundef %31728, ptr noundef @.str.4)
  %31730 = call ptr @__errno_location() #12
  %31731 = load i32, ptr %31730, align 4, !tbaa !5
  %31732 = call ptr @strerror(i32 noundef %31731) #11
  %31733 = call ptr @__errno_location() #12
  %31734 = load i32, ptr %31733, align 4, !tbaa !5
  %31735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31722, ptr noundef @.str.5, i32 noundef %31723, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %31726, ptr noundef %31729, ptr noundef %31732, i32 noundef %31734) #11
  br label %31736

31736:                                            ; preds = %31719, %31702
  call void @llvm.lifetime.end.p0(i64 4, ptr %681) #11
  br label %31737

31737:                                            ; preds = %31736
  br label %31738

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

31739:                                            ; No predecessors!
  br label %31740

31740:                                            ; preds = %31739
  br label %31741

31741:                                            ; preds = %31740, %31680
  br label %31742

31742:                                            ; preds = %31741
  br label %31743

31743:                                            ; preds = %31742
  %31744 = load ptr, ptr %672, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %679, ptr align 8 %31744, i64 4184, i1 false), !tbaa.struct !91
  %31745 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 13
  store i32 1, ptr %31745, align 4, !tbaa !90
  br label %31746

31746:                                            ; preds = %31743
  br label %31747

31747:                                            ; preds = %31746
  br label %31748

31748:                                            ; preds = %31747
  %31749 = load i32, ptr @test_count, align 4, !tbaa !5
  %31750 = add nsw i32 %31749, 1
  store i32 %31750, ptr @test_count, align 4, !tbaa !5
  %31751 = call i32 @s2n_early_data_validate_recv(ptr noundef %679)
  %31752 = getelementptr inbounds %struct.s2n_result, ptr %682, i32 0, i32 0
  store i32 %31751, ptr %31752, align 4
  %31753 = getelementptr inbounds %struct.s2n_result, ptr %682, i32 0, i32 0
  %31754 = load i32, ptr %31753, align 4
  %31755 = call zeroext i1 @s2n_result_is_error(i32 %31754)
  br i1 %31755, label %31809, label %31756

31756:                                            ; preds = %31748
  br label %31757

31757:                                            ; preds = %31756
  br label %31758

31758:                                            ; preds = %31757
  call void @llvm.lifetime.start.p0(i64 4, ptr %683) #11
  %31759 = call ptr @__errno_location() #12
  %31760 = load i32, ptr %31759, align 4, !tbaa !5
  store i32 %31760, ptr %683, align 4, !tbaa !5
  %31761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31762 = call i32 @s2n_print_stacktrace(ptr noundef %31761)
  %31763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31764 = trunc i8 %31763 to i1
  br i1 %31764, label %31765, label %31787

31765:                                            ; preds = %31758
  %31766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31767 = call i32 @fileno(ptr noundef %31766) #11
  %31768 = call i32 @isatty(i32 noundef %31767) #11
  %31769 = icmp ne i32 %31768, 0
  br i1 %31769, label %31770, label %31787

31770:                                            ; preds = %31765
  %31771 = load i32, ptr %683, align 4, !tbaa !5
  %31772 = call ptr @__errno_location() #12
  store i32 %31771, ptr %31772, align 4, !tbaa !5
  %31773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31774 = load i32, ptr @test_count, align 4, !tbaa !5
  %31775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31776 = load i32, ptr %31775, align 4, !tbaa !5
  %31777 = call ptr @s2n_strerror(i32 noundef %31776, ptr noundef @.str.4)
  %31778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31779 = load i32, ptr %31778, align 4, !tbaa !5
  %31780 = call ptr @s2n_strerror_debug(i32 noundef %31779, ptr noundef @.str.4)
  %31781 = call ptr @__errno_location() #12
  %31782 = load i32, ptr %31781, align 4, !tbaa !5
  %31783 = call ptr @strerror(i32 noundef %31782) #11
  %31784 = call ptr @__errno_location() #12
  %31785 = load i32, ptr %31784, align 4, !tbaa !5
  %31786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31773, ptr noundef @.str.2, i32 noundef %31774, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %31777, ptr noundef %31780, ptr noundef %31783, i32 noundef %31785) #11
  br label %31804

31787:                                            ; preds = %31765, %31758
  %31788 = load i32, ptr %683, align 4, !tbaa !5
  %31789 = call ptr @__errno_location() #12
  store i32 %31788, ptr %31789, align 4, !tbaa !5
  %31790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31791 = load i32, ptr @test_count, align 4, !tbaa !5
  %31792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31793 = load i32, ptr %31792, align 4, !tbaa !5
  %31794 = call ptr @s2n_strerror(i32 noundef %31793, ptr noundef @.str.4)
  %31795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31796 = load i32, ptr %31795, align 4, !tbaa !5
  %31797 = call ptr @s2n_strerror_debug(i32 noundef %31796, ptr noundef @.str.4)
  %31798 = call ptr @__errno_location() #12
  %31799 = load i32, ptr %31798, align 4, !tbaa !5
  %31800 = call ptr @strerror(i32 noundef %31799) #11
  %31801 = call ptr @__errno_location() #12
  %31802 = load i32, ptr %31801, align 4, !tbaa !5
  %31803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31790, ptr noundef @.str.5, i32 noundef %31791, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %31794, ptr noundef %31797, ptr noundef %31800, i32 noundef %31802) #11
  br label %31804

31804:                                            ; preds = %31787, %31770
  call void @llvm.lifetime.end.p0(i64 4, ptr %683) #11
  br label %31805

31805:                                            ; preds = %31804
  br label %31806

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

31807:                                            ; No predecessors!
  br label %31808

31808:                                            ; preds = %31807
  br label %31809

31809:                                            ; preds = %31808, %31748
  br label %31810

31810:                                            ; preds = %31809
  br label %31811

31811:                                            ; preds = %31810
  br label %31812

31812:                                            ; preds = %31811
  %31813 = load i32, ptr @test_count, align 4, !tbaa !5
  %31814 = add nsw i32 %31813, 1
  store i32 %31814, ptr @test_count, align 4, !tbaa !5
  %31815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31816 = load i32, ptr %31815, align 4, !tbaa !5
  %31817 = icmp eq i32 %31816, 469762113
  br i1 %31817, label %31871, label %31818

31818:                                            ; preds = %31812
  br label %31819

31819:                                            ; preds = %31818
  br label %31820

31820:                                            ; preds = %31819
  call void @llvm.lifetime.start.p0(i64 4, ptr %684) #11
  %31821 = call ptr @__errno_location() #12
  %31822 = load i32, ptr %31821, align 4, !tbaa !5
  store i32 %31822, ptr %684, align 4, !tbaa !5
  %31823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31824 = call i32 @s2n_print_stacktrace(ptr noundef %31823)
  %31825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31826 = trunc i8 %31825 to i1
  br i1 %31826, label %31827, label %31849

31827:                                            ; preds = %31820
  %31828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31829 = call i32 @fileno(ptr noundef %31828) #11
  %31830 = call i32 @isatty(i32 noundef %31829) #11
  %31831 = icmp ne i32 %31830, 0
  br i1 %31831, label %31832, label %31849

31832:                                            ; preds = %31827
  %31833 = load i32, ptr %684, align 4, !tbaa !5
  %31834 = call ptr @__errno_location() #12
  store i32 %31833, ptr %31834, align 4, !tbaa !5
  %31835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31836 = load i32, ptr @test_count, align 4, !tbaa !5
  %31837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31838 = load i32, ptr %31837, align 4, !tbaa !5
  %31839 = call ptr @s2n_strerror(i32 noundef %31838, ptr noundef @.str.4)
  %31840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31841 = load i32, ptr %31840, align 4, !tbaa !5
  %31842 = call ptr @s2n_strerror_debug(i32 noundef %31841, ptr noundef @.str.4)
  %31843 = call ptr @__errno_location() #12
  %31844 = load i32, ptr %31843, align 4, !tbaa !5
  %31845 = call ptr @strerror(i32 noundef %31844) #11
  %31846 = call ptr @__errno_location() #12
  %31847 = load i32, ptr %31846, align 4, !tbaa !5
  %31848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31835, ptr noundef @.str.2, i32 noundef %31836, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %31839, ptr noundef %31842, ptr noundef %31845, i32 noundef %31847) #11
  br label %31866

31849:                                            ; preds = %31827, %31820
  %31850 = load i32, ptr %684, align 4, !tbaa !5
  %31851 = call ptr @__errno_location() #12
  store i32 %31850, ptr %31851, align 4, !tbaa !5
  %31852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31853 = load i32, ptr @test_count, align 4, !tbaa !5
  %31854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31855 = load i32, ptr %31854, align 4, !tbaa !5
  %31856 = call ptr @s2n_strerror(i32 noundef %31855, ptr noundef @.str.4)
  %31857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31858 = load i32, ptr %31857, align 4, !tbaa !5
  %31859 = call ptr @s2n_strerror_debug(i32 noundef %31858, ptr noundef @.str.4)
  %31860 = call ptr @__errno_location() #12
  %31861 = load i32, ptr %31860, align 4, !tbaa !5
  %31862 = call ptr @strerror(i32 noundef %31861) #11
  %31863 = call ptr @__errno_location() #12
  %31864 = load i32, ptr %31863, align 4, !tbaa !5
  %31865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31852, ptr noundef @.str.5, i32 noundef %31853, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %31856, ptr noundef %31859, ptr noundef %31862, i32 noundef %31864) #11
  br label %31866

31866:                                            ; preds = %31849, %31832
  call void @llvm.lifetime.end.p0(i64 4, ptr %684) #11
  br label %31867

31867:                                            ; preds = %31866
  br label %31868

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

31869:                                            ; No predecessors!
  br label %31870

31870:                                            ; preds = %31869
  br label %31871

31871:                                            ; preds = %31870, %31812
  br label %31872

31872:                                            ; preds = %31871
  br label %31873

31873:                                            ; preds = %31872
  br label %31874

31874:                                            ; preds = %31873
  %31875 = load i32, ptr @test_count, align 4, !tbaa !5
  %31876 = add nsw i32 %31875, 1
  store i32 %31876, ptr @test_count, align 4, !tbaa !5
  %31877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31878 = load i32, ptr %31877, align 4, !tbaa !5
  %31879 = call ptr @s2n_strerror_debug(i32 noundef %31878, ptr noundef @.str.4)
  %31880 = icmp eq ptr %31879, null
  br i1 %31880, label %31881, label %31934

31881:                                            ; preds = %31874
  br label %31882

31882:                                            ; preds = %31881
  br label %31883

31883:                                            ; preds = %31882
  call void @llvm.lifetime.start.p0(i64 4, ptr %685) #11
  %31884 = call ptr @__errno_location() #12
  %31885 = load i32, ptr %31884, align 4, !tbaa !5
  store i32 %31885, ptr %685, align 4, !tbaa !5
  %31886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31887 = call i32 @s2n_print_stacktrace(ptr noundef %31886)
  %31888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31889 = trunc i8 %31888 to i1
  br i1 %31889, label %31890, label %31912

31890:                                            ; preds = %31883
  %31891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31892 = call i32 @fileno(ptr noundef %31891) #11
  %31893 = call i32 @isatty(i32 noundef %31892) #11
  %31894 = icmp ne i32 %31893, 0
  br i1 %31894, label %31895, label %31912

31895:                                            ; preds = %31890
  %31896 = load i32, ptr %685, align 4, !tbaa !5
  %31897 = call ptr @__errno_location() #12
  store i32 %31896, ptr %31897, align 4, !tbaa !5
  %31898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31899 = load i32, ptr @test_count, align 4, !tbaa !5
  %31900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31901 = load i32, ptr %31900, align 4, !tbaa !5
  %31902 = call ptr @s2n_strerror(i32 noundef %31901, ptr noundef @.str.4)
  %31903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31904 = load i32, ptr %31903, align 4, !tbaa !5
  %31905 = call ptr @s2n_strerror_debug(i32 noundef %31904, ptr noundef @.str.4)
  %31906 = call ptr @__errno_location() #12
  %31907 = load i32, ptr %31906, align 4, !tbaa !5
  %31908 = call ptr @strerror(i32 noundef %31907) #11
  %31909 = call ptr @__errno_location() #12
  %31910 = load i32, ptr %31909, align 4, !tbaa !5
  %31911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31898, ptr noundef @.str.2, i32 noundef %31899, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %31902, ptr noundef %31905, ptr noundef %31908, i32 noundef %31910) #11
  br label %31929

31912:                                            ; preds = %31890, %31883
  %31913 = load i32, ptr %685, align 4, !tbaa !5
  %31914 = call ptr @__errno_location() #12
  store i32 %31913, ptr %31914, align 4, !tbaa !5
  %31915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31916 = load i32, ptr @test_count, align 4, !tbaa !5
  %31917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31918 = load i32, ptr %31917, align 4, !tbaa !5
  %31919 = call ptr @s2n_strerror(i32 noundef %31918, ptr noundef @.str.4)
  %31920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31921 = load i32, ptr %31920, align 4, !tbaa !5
  %31922 = call ptr @s2n_strerror_debug(i32 noundef %31921, ptr noundef @.str.4)
  %31923 = call ptr @__errno_location() #12
  %31924 = load i32, ptr %31923, align 4, !tbaa !5
  %31925 = call ptr @strerror(i32 noundef %31924) #11
  %31926 = call ptr @__errno_location() #12
  %31927 = load i32, ptr %31926, align 4, !tbaa !5
  %31928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31915, ptr noundef @.str.5, i32 noundef %31916, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %31919, ptr noundef %31922, ptr noundef %31925, i32 noundef %31927) #11
  br label %31929

31929:                                            ; preds = %31912, %31895
  call void @llvm.lifetime.end.p0(i64 4, ptr %685) #11
  br label %31930

31930:                                            ; preds = %31929
  br label %31931

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

31932:                                            ; No predecessors!
  br label %31933

31933:                                            ; preds = %31932
  br label %31934

31934:                                            ; preds = %31933, %31874
  br label %31935

31935:                                            ; preds = %31934
  br label %31936

31936:                                            ; preds = %31935
  br label %31937

31937:                                            ; preds = %31936
  br label %31938

31938:                                            ; preds = %31937
  br label %31939

31939:                                            ; preds = %31938
  %31940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %31940, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %31941 = call ptr @__errno_location() #12
  store i32 0, ptr %31941, align 4, !tbaa !5
  br label %31942

31942:                                            ; preds = %31939
  br label %31943

31943:                                            ; preds = %31942
  br label %31944

31944:                                            ; preds = %31943
  br label %31945

31945:                                            ; preds = %31944
  %31946 = load ptr, ptr %672, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %679, ptr align 8 %31946, i64 4184, i1 false), !tbaa.struct !91
  %31947 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 89
  store i32 5, ptr %31947, align 8, !tbaa !15
  br label %31948

31948:                                            ; preds = %31945
  br label %31949

31949:                                            ; preds = %31948
  br label %31950

31950:                                            ; preds = %31949
  %31951 = load i32, ptr @test_count, align 4, !tbaa !5
  %31952 = add nsw i32 %31951, 1
  store i32 %31952, ptr @test_count, align 4, !tbaa !5
  %31953 = call i32 @s2n_early_data_validate_recv(ptr noundef %679)
  %31954 = getelementptr inbounds %struct.s2n_result, ptr %686, i32 0, i32 0
  store i32 %31953, ptr %31954, align 4
  %31955 = getelementptr inbounds %struct.s2n_result, ptr %686, i32 0, i32 0
  %31956 = load i32, ptr %31955, align 4
  %31957 = call zeroext i1 @s2n_result_is_error(i32 %31956)
  br i1 %31957, label %32011, label %31958

31958:                                            ; preds = %31950
  br label %31959

31959:                                            ; preds = %31958
  br label %31960

31960:                                            ; preds = %31959
  call void @llvm.lifetime.start.p0(i64 4, ptr %687) #11
  %31961 = call ptr @__errno_location() #12
  %31962 = load i32, ptr %31961, align 4, !tbaa !5
  store i32 %31962, ptr %687, align 4, !tbaa !5
  %31963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31964 = call i32 @s2n_print_stacktrace(ptr noundef %31963)
  %31965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31966 = trunc i8 %31965 to i1
  br i1 %31966, label %31967, label %31989

31967:                                            ; preds = %31960
  %31968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31969 = call i32 @fileno(ptr noundef %31968) #11
  %31970 = call i32 @isatty(i32 noundef %31969) #11
  %31971 = icmp ne i32 %31970, 0
  br i1 %31971, label %31972, label %31989

31972:                                            ; preds = %31967
  %31973 = load i32, ptr %687, align 4, !tbaa !5
  %31974 = call ptr @__errno_location() #12
  store i32 %31973, ptr %31974, align 4, !tbaa !5
  %31975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31976 = load i32, ptr @test_count, align 4, !tbaa !5
  %31977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31978 = load i32, ptr %31977, align 4, !tbaa !5
  %31979 = call ptr @s2n_strerror(i32 noundef %31978, ptr noundef @.str.4)
  %31980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31981 = load i32, ptr %31980, align 4, !tbaa !5
  %31982 = call ptr @s2n_strerror_debug(i32 noundef %31981, ptr noundef @.str.4)
  %31983 = call ptr @__errno_location() #12
  %31984 = load i32, ptr %31983, align 4, !tbaa !5
  %31985 = call ptr @strerror(i32 noundef %31984) #11
  %31986 = call ptr @__errno_location() #12
  %31987 = load i32, ptr %31986, align 4, !tbaa !5
  %31988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31975, ptr noundef @.str.2, i32 noundef %31976, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %31979, ptr noundef %31982, ptr noundef %31985, i32 noundef %31987) #11
  br label %32006

31989:                                            ; preds = %31967, %31960
  %31990 = load i32, ptr %687, align 4, !tbaa !5
  %31991 = call ptr @__errno_location() #12
  store i32 %31990, ptr %31991, align 4, !tbaa !5
  %31992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31993 = load i32, ptr @test_count, align 4, !tbaa !5
  %31994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31995 = load i32, ptr %31994, align 4, !tbaa !5
  %31996 = call ptr @s2n_strerror(i32 noundef %31995, ptr noundef @.str.4)
  %31997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31998 = load i32, ptr %31997, align 4, !tbaa !5
  %31999 = call ptr @s2n_strerror_debug(i32 noundef %31998, ptr noundef @.str.4)
  %32000 = call ptr @__errno_location() #12
  %32001 = load i32, ptr %32000, align 4, !tbaa !5
  %32002 = call ptr @strerror(i32 noundef %32001) #11
  %32003 = call ptr @__errno_location() #12
  %32004 = load i32, ptr %32003, align 4, !tbaa !5
  %32005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31992, ptr noundef @.str.5, i32 noundef %31993, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %31996, ptr noundef %31999, ptr noundef %32002, i32 noundef %32004) #11
  br label %32006

32006:                                            ; preds = %31989, %31972
  call void @llvm.lifetime.end.p0(i64 4, ptr %687) #11
  br label %32007

32007:                                            ; preds = %32006
  br label %32008

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

32009:                                            ; No predecessors!
  br label %32010

32010:                                            ; preds = %32009
  br label %32011

32011:                                            ; preds = %32010, %31950
  br label %32012

32012:                                            ; preds = %32011
  br label %32013

32013:                                            ; preds = %32012
  br label %32014

32014:                                            ; preds = %32013
  %32015 = load i32, ptr @test_count, align 4, !tbaa !5
  %32016 = add nsw i32 %32015, 1
  store i32 %32016, ptr @test_count, align 4, !tbaa !5
  %32017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32018 = load i32, ptr %32017, align 4, !tbaa !5
  %32019 = icmp eq i32 %32018, 469762113
  br i1 %32019, label %32073, label %32020

32020:                                            ; preds = %32014
  br label %32021

32021:                                            ; preds = %32020
  br label %32022

32022:                                            ; preds = %32021
  call void @llvm.lifetime.start.p0(i64 4, ptr %688) #11
  %32023 = call ptr @__errno_location() #12
  %32024 = load i32, ptr %32023, align 4, !tbaa !5
  store i32 %32024, ptr %688, align 4, !tbaa !5
  %32025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32026 = call i32 @s2n_print_stacktrace(ptr noundef %32025)
  %32027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32028 = trunc i8 %32027 to i1
  br i1 %32028, label %32029, label %32051

32029:                                            ; preds = %32022
  %32030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32031 = call i32 @fileno(ptr noundef %32030) #11
  %32032 = call i32 @isatty(i32 noundef %32031) #11
  %32033 = icmp ne i32 %32032, 0
  br i1 %32033, label %32034, label %32051

32034:                                            ; preds = %32029
  %32035 = load i32, ptr %688, align 4, !tbaa !5
  %32036 = call ptr @__errno_location() #12
  store i32 %32035, ptr %32036, align 4, !tbaa !5
  %32037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32038 = load i32, ptr @test_count, align 4, !tbaa !5
  %32039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32040 = load i32, ptr %32039, align 4, !tbaa !5
  %32041 = call ptr @s2n_strerror(i32 noundef %32040, ptr noundef @.str.4)
  %32042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32043 = load i32, ptr %32042, align 4, !tbaa !5
  %32044 = call ptr @s2n_strerror_debug(i32 noundef %32043, ptr noundef @.str.4)
  %32045 = call ptr @__errno_location() #12
  %32046 = load i32, ptr %32045, align 4, !tbaa !5
  %32047 = call ptr @strerror(i32 noundef %32046) #11
  %32048 = call ptr @__errno_location() #12
  %32049 = load i32, ptr %32048, align 4, !tbaa !5
  %32050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32037, ptr noundef @.str.2, i32 noundef %32038, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %32041, ptr noundef %32044, ptr noundef %32047, i32 noundef %32049) #11
  br label %32068

32051:                                            ; preds = %32029, %32022
  %32052 = load i32, ptr %688, align 4, !tbaa !5
  %32053 = call ptr @__errno_location() #12
  store i32 %32052, ptr %32053, align 4, !tbaa !5
  %32054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32055 = load i32, ptr @test_count, align 4, !tbaa !5
  %32056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32057 = load i32, ptr %32056, align 4, !tbaa !5
  %32058 = call ptr @s2n_strerror(i32 noundef %32057, ptr noundef @.str.4)
  %32059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32060 = load i32, ptr %32059, align 4, !tbaa !5
  %32061 = call ptr @s2n_strerror_debug(i32 noundef %32060, ptr noundef @.str.4)
  %32062 = call ptr @__errno_location() #12
  %32063 = load i32, ptr %32062, align 4, !tbaa !5
  %32064 = call ptr @strerror(i32 noundef %32063) #11
  %32065 = call ptr @__errno_location() #12
  %32066 = load i32, ptr %32065, align 4, !tbaa !5
  %32067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32054, ptr noundef @.str.5, i32 noundef %32055, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %32058, ptr noundef %32061, ptr noundef %32064, i32 noundef %32066) #11
  br label %32068

32068:                                            ; preds = %32051, %32034
  call void @llvm.lifetime.end.p0(i64 4, ptr %688) #11
  br label %32069

32069:                                            ; preds = %32068
  br label %32070

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

32071:                                            ; No predecessors!
  br label %32072

32072:                                            ; preds = %32071
  br label %32073

32073:                                            ; preds = %32072, %32014
  br label %32074

32074:                                            ; preds = %32073
  br label %32075

32075:                                            ; preds = %32074
  br label %32076

32076:                                            ; preds = %32075
  %32077 = load i32, ptr @test_count, align 4, !tbaa !5
  %32078 = add nsw i32 %32077, 1
  store i32 %32078, ptr @test_count, align 4, !tbaa !5
  %32079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32080 = load i32, ptr %32079, align 4, !tbaa !5
  %32081 = call ptr @s2n_strerror_debug(i32 noundef %32080, ptr noundef @.str.4)
  %32082 = icmp eq ptr %32081, null
  br i1 %32082, label %32083, label %32136

32083:                                            ; preds = %32076
  br label %32084

32084:                                            ; preds = %32083
  br label %32085

32085:                                            ; preds = %32084
  call void @llvm.lifetime.start.p0(i64 4, ptr %689) #11
  %32086 = call ptr @__errno_location() #12
  %32087 = load i32, ptr %32086, align 4, !tbaa !5
  store i32 %32087, ptr %689, align 4, !tbaa !5
  %32088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32089 = call i32 @s2n_print_stacktrace(ptr noundef %32088)
  %32090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32091 = trunc i8 %32090 to i1
  br i1 %32091, label %32092, label %32114

32092:                                            ; preds = %32085
  %32093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32094 = call i32 @fileno(ptr noundef %32093) #11
  %32095 = call i32 @isatty(i32 noundef %32094) #11
  %32096 = icmp ne i32 %32095, 0
  br i1 %32096, label %32097, label %32114

32097:                                            ; preds = %32092
  %32098 = load i32, ptr %689, align 4, !tbaa !5
  %32099 = call ptr @__errno_location() #12
  store i32 %32098, ptr %32099, align 4, !tbaa !5
  %32100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32101 = load i32, ptr @test_count, align 4, !tbaa !5
  %32102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32103 = load i32, ptr %32102, align 4, !tbaa !5
  %32104 = call ptr @s2n_strerror(i32 noundef %32103, ptr noundef @.str.4)
  %32105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32106 = load i32, ptr %32105, align 4, !tbaa !5
  %32107 = call ptr @s2n_strerror_debug(i32 noundef %32106, ptr noundef @.str.4)
  %32108 = call ptr @__errno_location() #12
  %32109 = load i32, ptr %32108, align 4, !tbaa !5
  %32110 = call ptr @strerror(i32 noundef %32109) #11
  %32111 = call ptr @__errno_location() #12
  %32112 = load i32, ptr %32111, align 4, !tbaa !5
  %32113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32100, ptr noundef @.str.2, i32 noundef %32101, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %32104, ptr noundef %32107, ptr noundef %32110, i32 noundef %32112) #11
  br label %32131

32114:                                            ; preds = %32092, %32085
  %32115 = load i32, ptr %689, align 4, !tbaa !5
  %32116 = call ptr @__errno_location() #12
  store i32 %32115, ptr %32116, align 4, !tbaa !5
  %32117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32118 = load i32, ptr @test_count, align 4, !tbaa !5
  %32119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32120 = load i32, ptr %32119, align 4, !tbaa !5
  %32121 = call ptr @s2n_strerror(i32 noundef %32120, ptr noundef @.str.4)
  %32122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32123 = load i32, ptr %32122, align 4, !tbaa !5
  %32124 = call ptr @s2n_strerror_debug(i32 noundef %32123, ptr noundef @.str.4)
  %32125 = call ptr @__errno_location() #12
  %32126 = load i32, ptr %32125, align 4, !tbaa !5
  %32127 = call ptr @strerror(i32 noundef %32126) #11
  %32128 = call ptr @__errno_location() #12
  %32129 = load i32, ptr %32128, align 4, !tbaa !5
  %32130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32117, ptr noundef @.str.5, i32 noundef %32118, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %32121, ptr noundef %32124, ptr noundef %32127, i32 noundef %32129) #11
  br label %32131

32131:                                            ; preds = %32114, %32097
  call void @llvm.lifetime.end.p0(i64 4, ptr %689) #11
  br label %32132

32132:                                            ; preds = %32131
  br label %32133

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

32134:                                            ; No predecessors!
  br label %32135

32135:                                            ; preds = %32134
  br label %32136

32136:                                            ; preds = %32135, %32076
  br label %32137

32137:                                            ; preds = %32136
  br label %32138

32138:                                            ; preds = %32137
  br label %32139

32139:                                            ; preds = %32138
  br label %32140

32140:                                            ; preds = %32139
  br label %32141

32141:                                            ; preds = %32140
  %32142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %32142, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %32143 = call ptr @__errno_location() #12
  store i32 0, ptr %32143, align 4, !tbaa !5
  br label %32144

32144:                                            ; preds = %32141
  br label %32145

32145:                                            ; preds = %32144
  br label %32146

32146:                                            ; preds = %32145
  br label %32147

32147:                                            ; preds = %32146
  %32148 = load ptr, ptr %672, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %679, ptr align 8 %32148, i64 4184, i1 false), !tbaa.struct !91
  %32149 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 52
  %32150 = getelementptr inbounds %struct.s2n_handshake, ptr %32149, i32 0, i32 7
  %32151 = load i32, ptr %32150, align 8, !tbaa !93
  %32152 = add nsw i32 %32151, -1
  store i32 %32152, ptr %32150, align 8, !tbaa !93
  br label %32153

32153:                                            ; preds = %32147
  br label %32154

32154:                                            ; preds = %32153
  br label %32155

32155:                                            ; preds = %32154
  %32156 = load i32, ptr @test_count, align 4, !tbaa !5
  %32157 = add nsw i32 %32156, 1
  store i32 %32157, ptr @test_count, align 4, !tbaa !5
  %32158 = call i32 @s2n_early_data_validate_recv(ptr noundef %679)
  %32159 = getelementptr inbounds %struct.s2n_result, ptr %690, i32 0, i32 0
  store i32 %32158, ptr %32159, align 4
  %32160 = getelementptr inbounds %struct.s2n_result, ptr %690, i32 0, i32 0
  %32161 = load i32, ptr %32160, align 4
  %32162 = call zeroext i1 @s2n_result_is_error(i32 %32161)
  br i1 %32162, label %32216, label %32163

32163:                                            ; preds = %32155
  br label %32164

32164:                                            ; preds = %32163
  br label %32165

32165:                                            ; preds = %32164
  call void @llvm.lifetime.start.p0(i64 4, ptr %691) #11
  %32166 = call ptr @__errno_location() #12
  %32167 = load i32, ptr %32166, align 4, !tbaa !5
  store i32 %32167, ptr %691, align 4, !tbaa !5
  %32168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32169 = call i32 @s2n_print_stacktrace(ptr noundef %32168)
  %32170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32171 = trunc i8 %32170 to i1
  br i1 %32171, label %32172, label %32194

32172:                                            ; preds = %32165
  %32173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32174 = call i32 @fileno(ptr noundef %32173) #11
  %32175 = call i32 @isatty(i32 noundef %32174) #11
  %32176 = icmp ne i32 %32175, 0
  br i1 %32176, label %32177, label %32194

32177:                                            ; preds = %32172
  %32178 = load i32, ptr %691, align 4, !tbaa !5
  %32179 = call ptr @__errno_location() #12
  store i32 %32178, ptr %32179, align 4, !tbaa !5
  %32180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32181 = load i32, ptr @test_count, align 4, !tbaa !5
  %32182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32183 = load i32, ptr %32182, align 4, !tbaa !5
  %32184 = call ptr @s2n_strerror(i32 noundef %32183, ptr noundef @.str.4)
  %32185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32186 = load i32, ptr %32185, align 4, !tbaa !5
  %32187 = call ptr @s2n_strerror_debug(i32 noundef %32186, ptr noundef @.str.4)
  %32188 = call ptr @__errno_location() #12
  %32189 = load i32, ptr %32188, align 4, !tbaa !5
  %32190 = call ptr @strerror(i32 noundef %32189) #11
  %32191 = call ptr @__errno_location() #12
  %32192 = load i32, ptr %32191, align 4, !tbaa !5
  %32193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32180, ptr noundef @.str.2, i32 noundef %32181, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %32184, ptr noundef %32187, ptr noundef %32190, i32 noundef %32192) #11
  br label %32211

32194:                                            ; preds = %32172, %32165
  %32195 = load i32, ptr %691, align 4, !tbaa !5
  %32196 = call ptr @__errno_location() #12
  store i32 %32195, ptr %32196, align 4, !tbaa !5
  %32197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32198 = load i32, ptr @test_count, align 4, !tbaa !5
  %32199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32200 = load i32, ptr %32199, align 4, !tbaa !5
  %32201 = call ptr @s2n_strerror(i32 noundef %32200, ptr noundef @.str.4)
  %32202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32203 = load i32, ptr %32202, align 4, !tbaa !5
  %32204 = call ptr @s2n_strerror_debug(i32 noundef %32203, ptr noundef @.str.4)
  %32205 = call ptr @__errno_location() #12
  %32206 = load i32, ptr %32205, align 4, !tbaa !5
  %32207 = call ptr @strerror(i32 noundef %32206) #11
  %32208 = call ptr @__errno_location() #12
  %32209 = load i32, ptr %32208, align 4, !tbaa !5
  %32210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32197, ptr noundef @.str.5, i32 noundef %32198, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %32201, ptr noundef %32204, ptr noundef %32207, i32 noundef %32209) #11
  br label %32211

32211:                                            ; preds = %32194, %32177
  call void @llvm.lifetime.end.p0(i64 4, ptr %691) #11
  br label %32212

32212:                                            ; preds = %32211
  br label %32213

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

32214:                                            ; No predecessors!
  br label %32215

32215:                                            ; preds = %32214
  br label %32216

32216:                                            ; preds = %32215, %32155
  br label %32217

32217:                                            ; preds = %32216
  br label %32218

32218:                                            ; preds = %32217
  br label %32219

32219:                                            ; preds = %32218
  %32220 = load i32, ptr @test_count, align 4, !tbaa !5
  %32221 = add nsw i32 %32220, 1
  store i32 %32221, ptr @test_count, align 4, !tbaa !5
  %32222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32223 = load i32, ptr %32222, align 4, !tbaa !5
  %32224 = icmp eq i32 %32223, 469762113
  br i1 %32224, label %32278, label %32225

32225:                                            ; preds = %32219
  br label %32226

32226:                                            ; preds = %32225
  br label %32227

32227:                                            ; preds = %32226
  call void @llvm.lifetime.start.p0(i64 4, ptr %692) #11
  %32228 = call ptr @__errno_location() #12
  %32229 = load i32, ptr %32228, align 4, !tbaa !5
  store i32 %32229, ptr %692, align 4, !tbaa !5
  %32230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32231 = call i32 @s2n_print_stacktrace(ptr noundef %32230)
  %32232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32233 = trunc i8 %32232 to i1
  br i1 %32233, label %32234, label %32256

32234:                                            ; preds = %32227
  %32235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32236 = call i32 @fileno(ptr noundef %32235) #11
  %32237 = call i32 @isatty(i32 noundef %32236) #11
  %32238 = icmp ne i32 %32237, 0
  br i1 %32238, label %32239, label %32256

32239:                                            ; preds = %32234
  %32240 = load i32, ptr %692, align 4, !tbaa !5
  %32241 = call ptr @__errno_location() #12
  store i32 %32240, ptr %32241, align 4, !tbaa !5
  %32242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32243 = load i32, ptr @test_count, align 4, !tbaa !5
  %32244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32245 = load i32, ptr %32244, align 4, !tbaa !5
  %32246 = call ptr @s2n_strerror(i32 noundef %32245, ptr noundef @.str.4)
  %32247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32248 = load i32, ptr %32247, align 4, !tbaa !5
  %32249 = call ptr @s2n_strerror_debug(i32 noundef %32248, ptr noundef @.str.4)
  %32250 = call ptr @__errno_location() #12
  %32251 = load i32, ptr %32250, align 4, !tbaa !5
  %32252 = call ptr @strerror(i32 noundef %32251) #11
  %32253 = call ptr @__errno_location() #12
  %32254 = load i32, ptr %32253, align 4, !tbaa !5
  %32255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32242, ptr noundef @.str.2, i32 noundef %32243, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %32246, ptr noundef %32249, ptr noundef %32252, i32 noundef %32254) #11
  br label %32273

32256:                                            ; preds = %32234, %32227
  %32257 = load i32, ptr %692, align 4, !tbaa !5
  %32258 = call ptr @__errno_location() #12
  store i32 %32257, ptr %32258, align 4, !tbaa !5
  %32259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32260 = load i32, ptr @test_count, align 4, !tbaa !5
  %32261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32262 = load i32, ptr %32261, align 4, !tbaa !5
  %32263 = call ptr @s2n_strerror(i32 noundef %32262, ptr noundef @.str.4)
  %32264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32265 = load i32, ptr %32264, align 4, !tbaa !5
  %32266 = call ptr @s2n_strerror_debug(i32 noundef %32265, ptr noundef @.str.4)
  %32267 = call ptr @__errno_location() #12
  %32268 = load i32, ptr %32267, align 4, !tbaa !5
  %32269 = call ptr @strerror(i32 noundef %32268) #11
  %32270 = call ptr @__errno_location() #12
  %32271 = load i32, ptr %32270, align 4, !tbaa !5
  %32272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32259, ptr noundef @.str.5, i32 noundef %32260, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %32263, ptr noundef %32266, ptr noundef %32269, i32 noundef %32271) #11
  br label %32273

32273:                                            ; preds = %32256, %32239
  call void @llvm.lifetime.end.p0(i64 4, ptr %692) #11
  br label %32274

32274:                                            ; preds = %32273
  br label %32275

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

32276:                                            ; No predecessors!
  br label %32277

32277:                                            ; preds = %32276
  br label %32278

32278:                                            ; preds = %32277, %32219
  br label %32279

32279:                                            ; preds = %32278
  br label %32280

32280:                                            ; preds = %32279
  br label %32281

32281:                                            ; preds = %32280
  %32282 = load i32, ptr @test_count, align 4, !tbaa !5
  %32283 = add nsw i32 %32282, 1
  store i32 %32283, ptr @test_count, align 4, !tbaa !5
  %32284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32285 = load i32, ptr %32284, align 4, !tbaa !5
  %32286 = call ptr @s2n_strerror_debug(i32 noundef %32285, ptr noundef @.str.4)
  %32287 = icmp eq ptr %32286, null
  br i1 %32287, label %32288, label %32341

32288:                                            ; preds = %32281
  br label %32289

32289:                                            ; preds = %32288
  br label %32290

32290:                                            ; preds = %32289
  call void @llvm.lifetime.start.p0(i64 4, ptr %693) #11
  %32291 = call ptr @__errno_location() #12
  %32292 = load i32, ptr %32291, align 4, !tbaa !5
  store i32 %32292, ptr %693, align 4, !tbaa !5
  %32293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32294 = call i32 @s2n_print_stacktrace(ptr noundef %32293)
  %32295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32296 = trunc i8 %32295 to i1
  br i1 %32296, label %32297, label %32319

32297:                                            ; preds = %32290
  %32298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32299 = call i32 @fileno(ptr noundef %32298) #11
  %32300 = call i32 @isatty(i32 noundef %32299) #11
  %32301 = icmp ne i32 %32300, 0
  br i1 %32301, label %32302, label %32319

32302:                                            ; preds = %32297
  %32303 = load i32, ptr %693, align 4, !tbaa !5
  %32304 = call ptr @__errno_location() #12
  store i32 %32303, ptr %32304, align 4, !tbaa !5
  %32305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32306 = load i32, ptr @test_count, align 4, !tbaa !5
  %32307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32308 = load i32, ptr %32307, align 4, !tbaa !5
  %32309 = call ptr @s2n_strerror(i32 noundef %32308, ptr noundef @.str.4)
  %32310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32311 = load i32, ptr %32310, align 4, !tbaa !5
  %32312 = call ptr @s2n_strerror_debug(i32 noundef %32311, ptr noundef @.str.4)
  %32313 = call ptr @__errno_location() #12
  %32314 = load i32, ptr %32313, align 4, !tbaa !5
  %32315 = call ptr @strerror(i32 noundef %32314) #11
  %32316 = call ptr @__errno_location() #12
  %32317 = load i32, ptr %32316, align 4, !tbaa !5
  %32318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32305, ptr noundef @.str.2, i32 noundef %32306, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %32309, ptr noundef %32312, ptr noundef %32315, i32 noundef %32317) #11
  br label %32336

32319:                                            ; preds = %32297, %32290
  %32320 = load i32, ptr %693, align 4, !tbaa !5
  %32321 = call ptr @__errno_location() #12
  store i32 %32320, ptr %32321, align 4, !tbaa !5
  %32322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32323 = load i32, ptr @test_count, align 4, !tbaa !5
  %32324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32325 = load i32, ptr %32324, align 4, !tbaa !5
  %32326 = call ptr @s2n_strerror(i32 noundef %32325, ptr noundef @.str.4)
  %32327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32328 = load i32, ptr %32327, align 4, !tbaa !5
  %32329 = call ptr @s2n_strerror_debug(i32 noundef %32328, ptr noundef @.str.4)
  %32330 = call ptr @__errno_location() #12
  %32331 = load i32, ptr %32330, align 4, !tbaa !5
  %32332 = call ptr @strerror(i32 noundef %32331) #11
  %32333 = call ptr @__errno_location() #12
  %32334 = load i32, ptr %32333, align 4, !tbaa !5
  %32335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32322, ptr noundef @.str.5, i32 noundef %32323, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %32326, ptr noundef %32329, ptr noundef %32332, i32 noundef %32334) #11
  br label %32336

32336:                                            ; preds = %32319, %32302
  call void @llvm.lifetime.end.p0(i64 4, ptr %693) #11
  br label %32337

32337:                                            ; preds = %32336
  br label %32338

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

32339:                                            ; No predecessors!
  br label %32340

32340:                                            ; preds = %32339
  br label %32341

32341:                                            ; preds = %32340, %32281
  br label %32342

32342:                                            ; preds = %32341
  br label %32343

32343:                                            ; preds = %32342
  br label %32344

32344:                                            ; preds = %32343
  br label %32345

32345:                                            ; preds = %32344
  br label %32346

32346:                                            ; preds = %32345
  %32347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %32347, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %32348 = call ptr @__errno_location() #12
  store i32 0, ptr %32348, align 4, !tbaa !5
  br label %32349

32349:                                            ; preds = %32346
  br label %32350

32350:                                            ; preds = %32349
  br label %32351

32351:                                            ; preds = %32350
  br label %32352

32352:                                            ; preds = %32351
  %32353 = load ptr, ptr %672, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %679, ptr align 8 %32353, i64 4184, i1 false), !tbaa.struct !91
  %32354 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 89
  store i32 1, ptr %32354, align 8, !tbaa !15
  br label %32355

32355:                                            ; preds = %32352
  br label %32356

32356:                                            ; preds = %32355
  br label %32357

32357:                                            ; preds = %32356
  %32358 = load i32, ptr @test_count, align 4, !tbaa !5
  %32359 = add nsw i32 %32358, 1
  store i32 %32359, ptr @test_count, align 4, !tbaa !5
  %32360 = call i32 @s2n_early_data_validate_recv(ptr noundef %679)
  %32361 = getelementptr inbounds %struct.s2n_result, ptr %694, i32 0, i32 0
  store i32 %32360, ptr %32361, align 4
  %32362 = getelementptr inbounds %struct.s2n_result, ptr %694, i32 0, i32 0
  %32363 = load i32, ptr %32362, align 4
  %32364 = call zeroext i1 @s2n_result_is_error(i32 %32363)
  br i1 %32364, label %32418, label %32365

32365:                                            ; preds = %32357
  br label %32366

32366:                                            ; preds = %32365
  br label %32367

32367:                                            ; preds = %32366
  call void @llvm.lifetime.start.p0(i64 4, ptr %695) #11
  %32368 = call ptr @__errno_location() #12
  %32369 = load i32, ptr %32368, align 4, !tbaa !5
  store i32 %32369, ptr %695, align 4, !tbaa !5
  %32370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32371 = call i32 @s2n_print_stacktrace(ptr noundef %32370)
  %32372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32373 = trunc i8 %32372 to i1
  br i1 %32373, label %32374, label %32396

32374:                                            ; preds = %32367
  %32375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32376 = call i32 @fileno(ptr noundef %32375) #11
  %32377 = call i32 @isatty(i32 noundef %32376) #11
  %32378 = icmp ne i32 %32377, 0
  br i1 %32378, label %32379, label %32396

32379:                                            ; preds = %32374
  %32380 = load i32, ptr %695, align 4, !tbaa !5
  %32381 = call ptr @__errno_location() #12
  store i32 %32380, ptr %32381, align 4, !tbaa !5
  %32382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32383 = load i32, ptr @test_count, align 4, !tbaa !5
  %32384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32385 = load i32, ptr %32384, align 4, !tbaa !5
  %32386 = call ptr @s2n_strerror(i32 noundef %32385, ptr noundef @.str.4)
  %32387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32388 = load i32, ptr %32387, align 4, !tbaa !5
  %32389 = call ptr @s2n_strerror_debug(i32 noundef %32388, ptr noundef @.str.4)
  %32390 = call ptr @__errno_location() #12
  %32391 = load i32, ptr %32390, align 4, !tbaa !5
  %32392 = call ptr @strerror(i32 noundef %32391) #11
  %32393 = call ptr @__errno_location() #12
  %32394 = load i32, ptr %32393, align 4, !tbaa !5
  %32395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32382, ptr noundef @.str.2, i32 noundef %32383, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %32386, ptr noundef %32389, ptr noundef %32392, i32 noundef %32394) #11
  br label %32413

32396:                                            ; preds = %32374, %32367
  %32397 = load i32, ptr %695, align 4, !tbaa !5
  %32398 = call ptr @__errno_location() #12
  store i32 %32397, ptr %32398, align 4, !tbaa !5
  %32399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32400 = load i32, ptr @test_count, align 4, !tbaa !5
  %32401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32402 = load i32, ptr %32401, align 4, !tbaa !5
  %32403 = call ptr @s2n_strerror(i32 noundef %32402, ptr noundef @.str.4)
  %32404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32405 = load i32, ptr %32404, align 4, !tbaa !5
  %32406 = call ptr @s2n_strerror_debug(i32 noundef %32405, ptr noundef @.str.4)
  %32407 = call ptr @__errno_location() #12
  %32408 = load i32, ptr %32407, align 4, !tbaa !5
  %32409 = call ptr @strerror(i32 noundef %32408) #11
  %32410 = call ptr @__errno_location() #12
  %32411 = load i32, ptr %32410, align 4, !tbaa !5
  %32412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32399, ptr noundef @.str.5, i32 noundef %32400, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %32403, ptr noundef %32406, ptr noundef %32409, i32 noundef %32411) #11
  br label %32413

32413:                                            ; preds = %32396, %32379
  call void @llvm.lifetime.end.p0(i64 4, ptr %695) #11
  br label %32414

32414:                                            ; preds = %32413
  br label %32415

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

32416:                                            ; No predecessors!
  br label %32417

32417:                                            ; preds = %32416
  br label %32418

32418:                                            ; preds = %32417, %32357
  br label %32419

32419:                                            ; preds = %32418
  br label %32420

32420:                                            ; preds = %32419
  br label %32421

32421:                                            ; preds = %32420
  %32422 = load i32, ptr @test_count, align 4, !tbaa !5
  %32423 = add nsw i32 %32422, 1
  store i32 %32423, ptr @test_count, align 4, !tbaa !5
  %32424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32425 = load i32, ptr %32424, align 4, !tbaa !5
  %32426 = icmp eq i32 %32425, 469762113
  br i1 %32426, label %32480, label %32427

32427:                                            ; preds = %32421
  br label %32428

32428:                                            ; preds = %32427
  br label %32429

32429:                                            ; preds = %32428
  call void @llvm.lifetime.start.p0(i64 4, ptr %696) #11
  %32430 = call ptr @__errno_location() #12
  %32431 = load i32, ptr %32430, align 4, !tbaa !5
  store i32 %32431, ptr %696, align 4, !tbaa !5
  %32432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32433 = call i32 @s2n_print_stacktrace(ptr noundef %32432)
  %32434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32435 = trunc i8 %32434 to i1
  br i1 %32435, label %32436, label %32458

32436:                                            ; preds = %32429
  %32437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32438 = call i32 @fileno(ptr noundef %32437) #11
  %32439 = call i32 @isatty(i32 noundef %32438) #11
  %32440 = icmp ne i32 %32439, 0
  br i1 %32440, label %32441, label %32458

32441:                                            ; preds = %32436
  %32442 = load i32, ptr %696, align 4, !tbaa !5
  %32443 = call ptr @__errno_location() #12
  store i32 %32442, ptr %32443, align 4, !tbaa !5
  %32444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32445 = load i32, ptr @test_count, align 4, !tbaa !5
  %32446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32447 = load i32, ptr %32446, align 4, !tbaa !5
  %32448 = call ptr @s2n_strerror(i32 noundef %32447, ptr noundef @.str.4)
  %32449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32450 = load i32, ptr %32449, align 4, !tbaa !5
  %32451 = call ptr @s2n_strerror_debug(i32 noundef %32450, ptr noundef @.str.4)
  %32452 = call ptr @__errno_location() #12
  %32453 = load i32, ptr %32452, align 4, !tbaa !5
  %32454 = call ptr @strerror(i32 noundef %32453) #11
  %32455 = call ptr @__errno_location() #12
  %32456 = load i32, ptr %32455, align 4, !tbaa !5
  %32457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32444, ptr noundef @.str.2, i32 noundef %32445, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %32448, ptr noundef %32451, ptr noundef %32454, i32 noundef %32456) #11
  br label %32475

32458:                                            ; preds = %32436, %32429
  %32459 = load i32, ptr %696, align 4, !tbaa !5
  %32460 = call ptr @__errno_location() #12
  store i32 %32459, ptr %32460, align 4, !tbaa !5
  %32461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32462 = load i32, ptr @test_count, align 4, !tbaa !5
  %32463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32464 = load i32, ptr %32463, align 4, !tbaa !5
  %32465 = call ptr @s2n_strerror(i32 noundef %32464, ptr noundef @.str.4)
  %32466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32467 = load i32, ptr %32466, align 4, !tbaa !5
  %32468 = call ptr @s2n_strerror_debug(i32 noundef %32467, ptr noundef @.str.4)
  %32469 = call ptr @__errno_location() #12
  %32470 = load i32, ptr %32469, align 4, !tbaa !5
  %32471 = call ptr @strerror(i32 noundef %32470) #11
  %32472 = call ptr @__errno_location() #12
  %32473 = load i32, ptr %32472, align 4, !tbaa !5
  %32474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32461, ptr noundef @.str.5, i32 noundef %32462, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %32465, ptr noundef %32468, ptr noundef %32471, i32 noundef %32473) #11
  br label %32475

32475:                                            ; preds = %32458, %32441
  call void @llvm.lifetime.end.p0(i64 4, ptr %696) #11
  br label %32476

32476:                                            ; preds = %32475
  br label %32477

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

32478:                                            ; No predecessors!
  br label %32479

32479:                                            ; preds = %32478
  br label %32480

32480:                                            ; preds = %32479, %32421
  br label %32481

32481:                                            ; preds = %32480
  br label %32482

32482:                                            ; preds = %32481
  br label %32483

32483:                                            ; preds = %32482
  %32484 = load i32, ptr @test_count, align 4, !tbaa !5
  %32485 = add nsw i32 %32484, 1
  store i32 %32485, ptr @test_count, align 4, !tbaa !5
  %32486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32487 = load i32, ptr %32486, align 4, !tbaa !5
  %32488 = call ptr @s2n_strerror_debug(i32 noundef %32487, ptr noundef @.str.4)
  %32489 = icmp eq ptr %32488, null
  br i1 %32489, label %32490, label %32543

32490:                                            ; preds = %32483
  br label %32491

32491:                                            ; preds = %32490
  br label %32492

32492:                                            ; preds = %32491
  call void @llvm.lifetime.start.p0(i64 4, ptr %697) #11
  %32493 = call ptr @__errno_location() #12
  %32494 = load i32, ptr %32493, align 4, !tbaa !5
  store i32 %32494, ptr %697, align 4, !tbaa !5
  %32495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32496 = call i32 @s2n_print_stacktrace(ptr noundef %32495)
  %32497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32498 = trunc i8 %32497 to i1
  br i1 %32498, label %32499, label %32521

32499:                                            ; preds = %32492
  %32500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32501 = call i32 @fileno(ptr noundef %32500) #11
  %32502 = call i32 @isatty(i32 noundef %32501) #11
  %32503 = icmp ne i32 %32502, 0
  br i1 %32503, label %32504, label %32521

32504:                                            ; preds = %32499
  %32505 = load i32, ptr %697, align 4, !tbaa !5
  %32506 = call ptr @__errno_location() #12
  store i32 %32505, ptr %32506, align 4, !tbaa !5
  %32507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32508 = load i32, ptr @test_count, align 4, !tbaa !5
  %32509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32510 = load i32, ptr %32509, align 4, !tbaa !5
  %32511 = call ptr @s2n_strerror(i32 noundef %32510, ptr noundef @.str.4)
  %32512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32513 = load i32, ptr %32512, align 4, !tbaa !5
  %32514 = call ptr @s2n_strerror_debug(i32 noundef %32513, ptr noundef @.str.4)
  %32515 = call ptr @__errno_location() #12
  %32516 = load i32, ptr %32515, align 4, !tbaa !5
  %32517 = call ptr @strerror(i32 noundef %32516) #11
  %32518 = call ptr @__errno_location() #12
  %32519 = load i32, ptr %32518, align 4, !tbaa !5
  %32520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32507, ptr noundef @.str.2, i32 noundef %32508, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %32511, ptr noundef %32514, ptr noundef %32517, i32 noundef %32519) #11
  br label %32538

32521:                                            ; preds = %32499, %32492
  %32522 = load i32, ptr %697, align 4, !tbaa !5
  %32523 = call ptr @__errno_location() #12
  store i32 %32522, ptr %32523, align 4, !tbaa !5
  %32524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32525 = load i32, ptr @test_count, align 4, !tbaa !5
  %32526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32527 = load i32, ptr %32526, align 4, !tbaa !5
  %32528 = call ptr @s2n_strerror(i32 noundef %32527, ptr noundef @.str.4)
  %32529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32530 = load i32, ptr %32529, align 4, !tbaa !5
  %32531 = call ptr @s2n_strerror_debug(i32 noundef %32530, ptr noundef @.str.4)
  %32532 = call ptr @__errno_location() #12
  %32533 = load i32, ptr %32532, align 4, !tbaa !5
  %32534 = call ptr @strerror(i32 noundef %32533) #11
  %32535 = call ptr @__errno_location() #12
  %32536 = load i32, ptr %32535, align 4, !tbaa !5
  %32537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32524, ptr noundef @.str.5, i32 noundef %32525, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %32528, ptr noundef %32531, ptr noundef %32534, i32 noundef %32536) #11
  br label %32538

32538:                                            ; preds = %32521, %32504
  call void @llvm.lifetime.end.p0(i64 4, ptr %697) #11
  br label %32539

32539:                                            ; preds = %32538
  br label %32540

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

32541:                                            ; No predecessors!
  br label %32542

32542:                                            ; preds = %32541
  br label %32543

32543:                                            ; preds = %32542, %32483
  br label %32544

32544:                                            ; preds = %32543
  br label %32545

32545:                                            ; preds = %32544
  br label %32546

32546:                                            ; preds = %32545
  br label %32547

32547:                                            ; preds = %32546
  br label %32548

32548:                                            ; preds = %32547
  %32549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %32549, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %32550 = call ptr @__errno_location() #12
  store i32 0, ptr %32550, align 4, !tbaa !5
  br label %32551

32551:                                            ; preds = %32548
  br label %32552

32552:                                            ; preds = %32551
  br label %32553

32553:                                            ; preds = %32552
  br label %32554

32554:                                            ; preds = %32553
  %32555 = load ptr, ptr %672, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %679, ptr align 8 %32555, i64 4184, i1 false), !tbaa.struct !91
  %32556 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 89
  store i32 3, ptr %32556, align 8, !tbaa !15
  br label %32557

32557:                                            ; preds = %32554
  %32558 = load i32, ptr @test_count, align 4, !tbaa !5
  %32559 = add nsw i32 %32558, 1
  store i32 %32559, ptr @test_count, align 4, !tbaa !5
  %32560 = call i32 @s2n_early_data_validate_recv(ptr noundef %679)
  %32561 = getelementptr inbounds %struct.s2n_result, ptr %698, i32 0, i32 0
  store i32 %32560, ptr %32561, align 4
  %32562 = getelementptr inbounds %struct.s2n_result, ptr %698, i32 0, i32 0
  %32563 = load i32, ptr %32562, align 4
  %32564 = call zeroext i1 @s2n_result_is_ok(i32 %32563)
  br i1 %32564, label %32618, label %32565

32565:                                            ; preds = %32557
  br label %32566

32566:                                            ; preds = %32565
  br label %32567

32567:                                            ; preds = %32566
  call void @llvm.lifetime.start.p0(i64 4, ptr %699) #11
  %32568 = call ptr @__errno_location() #12
  %32569 = load i32, ptr %32568, align 4, !tbaa !5
  store i32 %32569, ptr %699, align 4, !tbaa !5
  %32570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32571 = call i32 @s2n_print_stacktrace(ptr noundef %32570)
  %32572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32573 = trunc i8 %32572 to i1
  br i1 %32573, label %32574, label %32596

32574:                                            ; preds = %32567
  %32575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32576 = call i32 @fileno(ptr noundef %32575) #11
  %32577 = call i32 @isatty(i32 noundef %32576) #11
  %32578 = icmp ne i32 %32577, 0
  br i1 %32578, label %32579, label %32596

32579:                                            ; preds = %32574
  %32580 = load i32, ptr %699, align 4, !tbaa !5
  %32581 = call ptr @__errno_location() #12
  store i32 %32580, ptr %32581, align 4, !tbaa !5
  %32582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32583 = load i32, ptr @test_count, align 4, !tbaa !5
  %32584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32585 = load i32, ptr %32584, align 4, !tbaa !5
  %32586 = call ptr @s2n_strerror(i32 noundef %32585, ptr noundef @.str.4)
  %32587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32588 = load i32, ptr %32587, align 4, !tbaa !5
  %32589 = call ptr @s2n_strerror_debug(i32 noundef %32588, ptr noundef @.str.4)
  %32590 = call ptr @__errno_location() #12
  %32591 = load i32, ptr %32590, align 4, !tbaa !5
  %32592 = call ptr @strerror(i32 noundef %32591) #11
  %32593 = call ptr @__errno_location() #12
  %32594 = load i32, ptr %32593, align 4, !tbaa !5
  %32595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32582, ptr noundef @.str.2, i32 noundef %32583, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1295, ptr noundef %32586, ptr noundef %32589, ptr noundef %32592, i32 noundef %32594) #11
  br label %32613

32596:                                            ; preds = %32574, %32567
  %32597 = load i32, ptr %699, align 4, !tbaa !5
  %32598 = call ptr @__errno_location() #12
  store i32 %32597, ptr %32598, align 4, !tbaa !5
  %32599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32600 = load i32, ptr @test_count, align 4, !tbaa !5
  %32601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32602 = load i32, ptr %32601, align 4, !tbaa !5
  %32603 = call ptr @s2n_strerror(i32 noundef %32602, ptr noundef @.str.4)
  %32604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32605 = load i32, ptr %32604, align 4, !tbaa !5
  %32606 = call ptr @s2n_strerror_debug(i32 noundef %32605, ptr noundef @.str.4)
  %32607 = call ptr @__errno_location() #12
  %32608 = load i32, ptr %32607, align 4, !tbaa !5
  %32609 = call ptr @strerror(i32 noundef %32608) #11
  %32610 = call ptr @__errno_location() #12
  %32611 = load i32, ptr %32610, align 4, !tbaa !5
  %32612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32599, ptr noundef @.str.5, i32 noundef %32600, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1295, ptr noundef %32603, ptr noundef %32606, ptr noundef %32609, i32 noundef %32611) #11
  br label %32613

32613:                                            ; preds = %32596, %32579
  call void @llvm.lifetime.end.p0(i64 4, ptr %699) #11
  br label %32614

32614:                                            ; preds = %32613
  br label %32615

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

32616:                                            ; No predecessors!
  br label %32617

32617:                                            ; preds = %32616
  br label %32618

32618:                                            ; preds = %32617, %32557
  br label %32619

32619:                                            ; preds = %32618
  br label %32620

32620:                                            ; preds = %32619
  %32621 = load ptr, ptr %672, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %679, ptr align 8 %32621, i64 4184, i1 false), !tbaa.struct !91
  %32622 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 60
  store i64 10, ptr %32622, align 8, !tbaa !76
  %32623 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 52
  %32624 = getelementptr inbounds %struct.s2n_handshake, ptr %32623, i32 0, i32 6
  store i32 1, ptr %32624, align 4, !tbaa !80
  br label %32625

32625:                                            ; preds = %32628, %32620
  %32626 = call i32 @s2n_conn_get_current_message_type(ptr noundef %679)
  %32627 = icmp ne i32 %32626, 20
  br i1 %32627, label %32628, label %32633

32628:                                            ; preds = %32625
  %32629 = getelementptr inbounds %struct.s2n_connection, ptr %679, i32 0, i32 52
  %32630 = getelementptr inbounds %struct.s2n_handshake, ptr %32629, i32 0, i32 7
  %32631 = load i32, ptr %32630, align 8, !tbaa !93
  %32632 = add nsw i32 %32631, 1
  store i32 %32632, ptr %32630, align 8, !tbaa !93
  br label %32625, !llvm.loop !96

32633:                                            ; preds = %32625
  br label %32634

32634:                                            ; preds = %32633
  %32635 = load i32, ptr @test_count, align 4, !tbaa !5
  %32636 = add nsw i32 %32635, 1
  store i32 %32636, ptr @test_count, align 4, !tbaa !5
  %32637 = call i32 @s2n_early_data_validate_recv(ptr noundef %679)
  %32638 = getelementptr inbounds %struct.s2n_result, ptr %700, i32 0, i32 0
  store i32 %32637, ptr %32638, align 4
  %32639 = getelementptr inbounds %struct.s2n_result, ptr %700, i32 0, i32 0
  %32640 = load i32, ptr %32639, align 4
  %32641 = call zeroext i1 @s2n_result_is_ok(i32 %32640)
  br i1 %32641, label %32695, label %32642

32642:                                            ; preds = %32634
  br label %32643

32643:                                            ; preds = %32642
  br label %32644

32644:                                            ; preds = %32643
  call void @llvm.lifetime.start.p0(i64 4, ptr %701) #11
  %32645 = call ptr @__errno_location() #12
  %32646 = load i32, ptr %32645, align 4, !tbaa !5
  store i32 %32646, ptr %701, align 4, !tbaa !5
  %32647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32648 = call i32 @s2n_print_stacktrace(ptr noundef %32647)
  %32649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32650 = trunc i8 %32649 to i1
  br i1 %32650, label %32651, label %32673

32651:                                            ; preds = %32644
  %32652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32653 = call i32 @fileno(ptr noundef %32652) #11
  %32654 = call i32 @isatty(i32 noundef %32653) #11
  %32655 = icmp ne i32 %32654, 0
  br i1 %32655, label %32656, label %32673

32656:                                            ; preds = %32651
  %32657 = load i32, ptr %701, align 4, !tbaa !5
  %32658 = call ptr @__errno_location() #12
  store i32 %32657, ptr %32658, align 4, !tbaa !5
  %32659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32660 = load i32, ptr @test_count, align 4, !tbaa !5
  %32661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32662 = load i32, ptr %32661, align 4, !tbaa !5
  %32663 = call ptr @s2n_strerror(i32 noundef %32662, ptr noundef @.str.4)
  %32664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32665 = load i32, ptr %32664, align 4, !tbaa !5
  %32666 = call ptr @s2n_strerror_debug(i32 noundef %32665, ptr noundef @.str.4)
  %32667 = call ptr @__errno_location() #12
  %32668 = load i32, ptr %32667, align 4, !tbaa !5
  %32669 = call ptr @strerror(i32 noundef %32668) #11
  %32670 = call ptr @__errno_location() #12
  %32671 = load i32, ptr %32670, align 4, !tbaa !5
  %32672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32659, ptr noundef @.str.2, i32 noundef %32660, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1304, ptr noundef %32663, ptr noundef %32666, ptr noundef %32669, i32 noundef %32671) #11
  br label %32690

32673:                                            ; preds = %32651, %32644
  %32674 = load i32, ptr %701, align 4, !tbaa !5
  %32675 = call ptr @__errno_location() #12
  store i32 %32674, ptr %32675, align 4, !tbaa !5
  %32676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32677 = load i32, ptr @test_count, align 4, !tbaa !5
  %32678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32679 = load i32, ptr %32678, align 4, !tbaa !5
  %32680 = call ptr @s2n_strerror(i32 noundef %32679, ptr noundef @.str.4)
  %32681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32682 = load i32, ptr %32681, align 4, !tbaa !5
  %32683 = call ptr @s2n_strerror_debug(i32 noundef %32682, ptr noundef @.str.4)
  %32684 = call ptr @__errno_location() #12
  %32685 = load i32, ptr %32684, align 4, !tbaa !5
  %32686 = call ptr @strerror(i32 noundef %32685) #11
  %32687 = call ptr @__errno_location() #12
  %32688 = load i32, ptr %32687, align 4, !tbaa !5
  %32689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32676, ptr noundef @.str.5, i32 noundef %32677, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1304, ptr noundef %32680, ptr noundef %32683, ptr noundef %32686, i32 noundef %32688) #11
  br label %32690

32690:                                            ; preds = %32673, %32656
  call void @llvm.lifetime.end.p0(i64 4, ptr %701) #11
  br label %32691

32691:                                            ; preds = %32690
  br label %32692

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

32693:                                            ; No predecessors!
  br label %32694

32694:                                            ; preds = %32693
  br label %32695

32695:                                            ; preds = %32694, %32634
  br label %32696

32696:                                            ; preds = %32695
  br label %32697

32697:                                            ; preds = %32696
  br label %32698

32698:                                            ; preds = %32697
  %32699 = load i32, ptr @test_count, align 4, !tbaa !5
  %32700 = add nsw i32 %32699, 1
  store i32 %32700, ptr @test_count, align 4, !tbaa !5
  %32701 = load ptr, ptr %672, align 8, !tbaa !9
  %32702 = call i32 @s2n_connection_free(ptr noundef %32701)
  %32703 = icmp eq i32 %32702, -1
  br i1 %32703, label %32704, label %32757

32704:                                            ; preds = %32698
  br label %32705

32705:                                            ; preds = %32704
  br label %32706

32706:                                            ; preds = %32705
  call void @llvm.lifetime.start.p0(i64 4, ptr %702) #11
  %32707 = call ptr @__errno_location() #12
  %32708 = load i32, ptr %32707, align 4, !tbaa !5
  store i32 %32708, ptr %702, align 4, !tbaa !5
  %32709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32710 = call i32 @s2n_print_stacktrace(ptr noundef %32709)
  %32711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32712 = trunc i8 %32711 to i1
  br i1 %32712, label %32713, label %32735

32713:                                            ; preds = %32706
  %32714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32715 = call i32 @fileno(ptr noundef %32714) #11
  %32716 = call i32 @isatty(i32 noundef %32715) #11
  %32717 = icmp ne i32 %32716, 0
  br i1 %32717, label %32718, label %32735

32718:                                            ; preds = %32713
  %32719 = load i32, ptr %702, align 4, !tbaa !5
  %32720 = call ptr @__errno_location() #12
  store i32 %32719, ptr %32720, align 4, !tbaa !5
  %32721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32722 = load i32, ptr @test_count, align 4, !tbaa !5
  %32723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32724 = load i32, ptr %32723, align 4, !tbaa !5
  %32725 = call ptr @s2n_strerror(i32 noundef %32724, ptr noundef @.str.4)
  %32726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32727 = load i32, ptr %32726, align 4, !tbaa !5
  %32728 = call ptr @s2n_strerror_debug(i32 noundef %32727, ptr noundef @.str.4)
  %32729 = call ptr @__errno_location() #12
  %32730 = load i32, ptr %32729, align 4, !tbaa !5
  %32731 = call ptr @strerror(i32 noundef %32730) #11
  %32732 = call ptr @__errno_location() #12
  %32733 = load i32, ptr %32732, align 4, !tbaa !5
  %32734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32721, ptr noundef @.str.2, i32 noundef %32722, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1306, ptr noundef %32725, ptr noundef %32728, ptr noundef %32731, i32 noundef %32733) #11
  br label %32752

32735:                                            ; preds = %32713, %32706
  %32736 = load i32, ptr %702, align 4, !tbaa !5
  %32737 = call ptr @__errno_location() #12
  store i32 %32736, ptr %32737, align 4, !tbaa !5
  %32738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32739 = load i32, ptr @test_count, align 4, !tbaa !5
  %32740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32741 = load i32, ptr %32740, align 4, !tbaa !5
  %32742 = call ptr @s2n_strerror(i32 noundef %32741, ptr noundef @.str.4)
  %32743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32744 = load i32, ptr %32743, align 4, !tbaa !5
  %32745 = call ptr @s2n_strerror_debug(i32 noundef %32744, ptr noundef @.str.4)
  %32746 = call ptr @__errno_location() #12
  %32747 = load i32, ptr %32746, align 4, !tbaa !5
  %32748 = call ptr @strerror(i32 noundef %32747) #11
  %32749 = call ptr @__errno_location() #12
  %32750 = load i32, ptr %32749, align 4, !tbaa !5
  %32751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32738, ptr noundef @.str.5, i32 noundef %32739, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1306, ptr noundef %32742, ptr noundef %32745, ptr noundef %32748, i32 noundef %32750) #11
  br label %32752

32752:                                            ; preds = %32735, %32718
  call void @llvm.lifetime.end.p0(i64 4, ptr %702) #11
  br label %32753

32753:                                            ; preds = %32752
  br label %32754

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

32755:                                            ; No predecessors!
  br label %32756

32756:                                            ; preds = %32755
  br label %32757

32757:                                            ; preds = %32756, %32698
  br label %32758

32758:                                            ; preds = %32757
  br label %32759

32759:                                            ; preds = %32758
  call void @llvm.lifetime.end.p0(i64 4184, ptr %679) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %672) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %671) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %703) #11
  %32760 = call ptr @s2n_config_new()
  store ptr %32760, ptr %703, align 8, !tbaa !9
  br label %32761

32761:                                            ; preds = %32759
  br label %32762

32762:                                            ; preds = %32761
  br label %32763

32763:                                            ; preds = %32762
  %32764 = load i32, ptr @test_count, align 4, !tbaa !5
  %32765 = add nsw i32 %32764, 1
  store i32 %32765, ptr @test_count, align 4, !tbaa !5
  %32766 = call i32 @s2n_config_set_early_data_cb(ptr noundef null, ptr noundef @s2n_test_early_data_cb)
  %32767 = icmp eq i32 %32766, -1
  br i1 %32767, label %32821, label %32768

32768:                                            ; preds = %32763
  br label %32769

32769:                                            ; preds = %32768
  br label %32770

32770:                                            ; preds = %32769
  call void @llvm.lifetime.start.p0(i64 4, ptr %704) #11
  %32771 = call ptr @__errno_location() #12
  %32772 = load i32, ptr %32771, align 4, !tbaa !5
  store i32 %32772, ptr %704, align 4, !tbaa !5
  %32773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32774 = call i32 @s2n_print_stacktrace(ptr noundef %32773)
  %32775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32776 = trunc i8 %32775 to i1
  br i1 %32776, label %32777, label %32799

32777:                                            ; preds = %32770
  %32778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32779 = call i32 @fileno(ptr noundef %32778) #11
  %32780 = call i32 @isatty(i32 noundef %32779) #11
  %32781 = icmp ne i32 %32780, 0
  br i1 %32781, label %32782, label %32799

32782:                                            ; preds = %32777
  %32783 = load i32, ptr %704, align 4, !tbaa !5
  %32784 = call ptr @__errno_location() #12
  store i32 %32783, ptr %32784, align 4, !tbaa !5
  %32785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32786 = load i32, ptr @test_count, align 4, !tbaa !5
  %32787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32788 = load i32, ptr %32787, align 4, !tbaa !5
  %32789 = call ptr @s2n_strerror(i32 noundef %32788, ptr noundef @.str.4)
  %32790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32791 = load i32, ptr %32790, align 4, !tbaa !5
  %32792 = call ptr @s2n_strerror_debug(i32 noundef %32791, ptr noundef @.str.4)
  %32793 = call ptr @__errno_location() #12
  %32794 = load i32, ptr %32793, align 4, !tbaa !5
  %32795 = call ptr @strerror(i32 noundef %32794) #11
  %32796 = call ptr @__errno_location() #12
  %32797 = load i32, ptr %32796, align 4, !tbaa !5
  %32798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32785, ptr noundef @.str.2, i32 noundef %32786, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 1314, ptr noundef %32789, ptr noundef %32792, ptr noundef %32795, i32 noundef %32797) #11
  br label %32816

32799:                                            ; preds = %32777, %32770
  %32800 = load i32, ptr %704, align 4, !tbaa !5
  %32801 = call ptr @__errno_location() #12
  store i32 %32800, ptr %32801, align 4, !tbaa !5
  %32802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32803 = load i32, ptr @test_count, align 4, !tbaa !5
  %32804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32805 = load i32, ptr %32804, align 4, !tbaa !5
  %32806 = call ptr @s2n_strerror(i32 noundef %32805, ptr noundef @.str.4)
  %32807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32808 = load i32, ptr %32807, align 4, !tbaa !5
  %32809 = call ptr @s2n_strerror_debug(i32 noundef %32808, ptr noundef @.str.4)
  %32810 = call ptr @__errno_location() #12
  %32811 = load i32, ptr %32810, align 4, !tbaa !5
  %32812 = call ptr @strerror(i32 noundef %32811) #11
  %32813 = call ptr @__errno_location() #12
  %32814 = load i32, ptr %32813, align 4, !tbaa !5
  %32815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32802, ptr noundef @.str.5, i32 noundef %32803, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 1314, ptr noundef %32806, ptr noundef %32809, ptr noundef %32812, i32 noundef %32814) #11
  br label %32816

32816:                                            ; preds = %32799, %32782
  call void @llvm.lifetime.end.p0(i64 4, ptr %704) #11
  br label %32817

32817:                                            ; preds = %32816
  br label %32818

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

32819:                                            ; No predecessors!
  br label %32820

32820:                                            ; preds = %32819
  br label %32821

32821:                                            ; preds = %32820, %32763
  br label %32822

32822:                                            ; preds = %32821
  br label %32823

32823:                                            ; preds = %32822
  br label %32824

32824:                                            ; preds = %32823
  %32825 = load i32, ptr @test_count, align 4, !tbaa !5
  %32826 = add nsw i32 %32825, 1
  store i32 %32826, ptr @test_count, align 4, !tbaa !5
  %32827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32828 = load i32, ptr %32827, align 4, !tbaa !5
  %32829 = icmp eq i32 %32828, 402653193
  br i1 %32829, label %32883, label %32830

32830:                                            ; preds = %32824
  br label %32831

32831:                                            ; preds = %32830
  br label %32832

32832:                                            ; preds = %32831
  call void @llvm.lifetime.start.p0(i64 4, ptr %705) #11
  %32833 = call ptr @__errno_location() #12
  %32834 = load i32, ptr %32833, align 4, !tbaa !5
  store i32 %32834, ptr %705, align 4, !tbaa !5
  %32835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32836 = call i32 @s2n_print_stacktrace(ptr noundef %32835)
  %32837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32838 = trunc i8 %32837 to i1
  br i1 %32838, label %32839, label %32861

32839:                                            ; preds = %32832
  %32840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32841 = call i32 @fileno(ptr noundef %32840) #11
  %32842 = call i32 @isatty(i32 noundef %32841) #11
  %32843 = icmp ne i32 %32842, 0
  br i1 %32843, label %32844, label %32861

32844:                                            ; preds = %32839
  %32845 = load i32, ptr %705, align 4, !tbaa !5
  %32846 = call ptr @__errno_location() #12
  store i32 %32845, ptr %32846, align 4, !tbaa !5
  %32847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32848 = load i32, ptr @test_count, align 4, !tbaa !5
  %32849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32850 = load i32, ptr %32849, align 4, !tbaa !5
  %32851 = call ptr @s2n_strerror(i32 noundef %32850, ptr noundef @.str.4)
  %32852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32853 = load i32, ptr %32852, align 4, !tbaa !5
  %32854 = call ptr @s2n_strerror_debug(i32 noundef %32853, ptr noundef @.str.4)
  %32855 = call ptr @__errno_location() #12
  %32856 = load i32, ptr %32855, align 4, !tbaa !5
  %32857 = call ptr @strerror(i32 noundef %32856) #11
  %32858 = call ptr @__errno_location() #12
  %32859 = load i32, ptr %32858, align 4, !tbaa !5
  %32860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32847, ptr noundef @.str.2, i32 noundef %32848, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1314, ptr noundef %32851, ptr noundef %32854, ptr noundef %32857, i32 noundef %32859) #11
  br label %32878

32861:                                            ; preds = %32839, %32832
  %32862 = load i32, ptr %705, align 4, !tbaa !5
  %32863 = call ptr @__errno_location() #12
  store i32 %32862, ptr %32863, align 4, !tbaa !5
  %32864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32865 = load i32, ptr @test_count, align 4, !tbaa !5
  %32866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32867 = load i32, ptr %32866, align 4, !tbaa !5
  %32868 = call ptr @s2n_strerror(i32 noundef %32867, ptr noundef @.str.4)
  %32869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32870 = load i32, ptr %32869, align 4, !tbaa !5
  %32871 = call ptr @s2n_strerror_debug(i32 noundef %32870, ptr noundef @.str.4)
  %32872 = call ptr @__errno_location() #12
  %32873 = load i32, ptr %32872, align 4, !tbaa !5
  %32874 = call ptr @strerror(i32 noundef %32873) #11
  %32875 = call ptr @__errno_location() #12
  %32876 = load i32, ptr %32875, align 4, !tbaa !5
  %32877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32864, ptr noundef @.str.5, i32 noundef %32865, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1314, ptr noundef %32868, ptr noundef %32871, ptr noundef %32874, i32 noundef %32876) #11
  br label %32878

32878:                                            ; preds = %32861, %32844
  call void @llvm.lifetime.end.p0(i64 4, ptr %705) #11
  br label %32879

32879:                                            ; preds = %32878
  br label %32880

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

32881:                                            ; No predecessors!
  br label %32882

32882:                                            ; preds = %32881
  br label %32883

32883:                                            ; preds = %32882, %32824
  br label %32884

32884:                                            ; preds = %32883
  br label %32885

32885:                                            ; preds = %32884
  br label %32886

32886:                                            ; preds = %32885
  %32887 = load i32, ptr @test_count, align 4, !tbaa !5
  %32888 = add nsw i32 %32887, 1
  store i32 %32888, ptr @test_count, align 4, !tbaa !5
  %32889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32890 = load i32, ptr %32889, align 4, !tbaa !5
  %32891 = call ptr @s2n_strerror_debug(i32 noundef %32890, ptr noundef @.str.4)
  %32892 = icmp eq ptr %32891, null
  br i1 %32892, label %32893, label %32946

32893:                                            ; preds = %32886
  br label %32894

32894:                                            ; preds = %32893
  br label %32895

32895:                                            ; preds = %32894
  call void @llvm.lifetime.start.p0(i64 4, ptr %706) #11
  %32896 = call ptr @__errno_location() #12
  %32897 = load i32, ptr %32896, align 4, !tbaa !5
  store i32 %32897, ptr %706, align 4, !tbaa !5
  %32898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32899 = call i32 @s2n_print_stacktrace(ptr noundef %32898)
  %32900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32901 = trunc i8 %32900 to i1
  br i1 %32901, label %32902, label %32924

32902:                                            ; preds = %32895
  %32903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32904 = call i32 @fileno(ptr noundef %32903) #11
  %32905 = call i32 @isatty(i32 noundef %32904) #11
  %32906 = icmp ne i32 %32905, 0
  br i1 %32906, label %32907, label %32924

32907:                                            ; preds = %32902
  %32908 = load i32, ptr %706, align 4, !tbaa !5
  %32909 = call ptr @__errno_location() #12
  store i32 %32908, ptr %32909, align 4, !tbaa !5
  %32910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32911 = load i32, ptr @test_count, align 4, !tbaa !5
  %32912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32913 = load i32, ptr %32912, align 4, !tbaa !5
  %32914 = call ptr @s2n_strerror(i32 noundef %32913, ptr noundef @.str.4)
  %32915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32916 = load i32, ptr %32915, align 4, !tbaa !5
  %32917 = call ptr @s2n_strerror_debug(i32 noundef %32916, ptr noundef @.str.4)
  %32918 = call ptr @__errno_location() #12
  %32919 = load i32, ptr %32918, align 4, !tbaa !5
  %32920 = call ptr @strerror(i32 noundef %32919) #11
  %32921 = call ptr @__errno_location() #12
  %32922 = load i32, ptr %32921, align 4, !tbaa !5
  %32923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32910, ptr noundef @.str.2, i32 noundef %32911, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1314, ptr noundef %32914, ptr noundef %32917, ptr noundef %32920, i32 noundef %32922) #11
  br label %32941

32924:                                            ; preds = %32902, %32895
  %32925 = load i32, ptr %706, align 4, !tbaa !5
  %32926 = call ptr @__errno_location() #12
  store i32 %32925, ptr %32926, align 4, !tbaa !5
  %32927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32928 = load i32, ptr @test_count, align 4, !tbaa !5
  %32929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32930 = load i32, ptr %32929, align 4, !tbaa !5
  %32931 = call ptr @s2n_strerror(i32 noundef %32930, ptr noundef @.str.4)
  %32932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32933 = load i32, ptr %32932, align 4, !tbaa !5
  %32934 = call ptr @s2n_strerror_debug(i32 noundef %32933, ptr noundef @.str.4)
  %32935 = call ptr @__errno_location() #12
  %32936 = load i32, ptr %32935, align 4, !tbaa !5
  %32937 = call ptr @strerror(i32 noundef %32936) #11
  %32938 = call ptr @__errno_location() #12
  %32939 = load i32, ptr %32938, align 4, !tbaa !5
  %32940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32927, ptr noundef @.str.5, i32 noundef %32928, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1314, ptr noundef %32931, ptr noundef %32934, ptr noundef %32937, i32 noundef %32939) #11
  br label %32941

32941:                                            ; preds = %32924, %32907
  call void @llvm.lifetime.end.p0(i64 4, ptr %706) #11
  br label %32942

32942:                                            ; preds = %32941
  br label %32943

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

32944:                                            ; No predecessors!
  br label %32945

32945:                                            ; preds = %32944
  br label %32946

32946:                                            ; preds = %32945, %32886
  br label %32947

32947:                                            ; preds = %32946
  br label %32948

32948:                                            ; preds = %32947
  br label %32949

32949:                                            ; preds = %32948
  br label %32950

32950:                                            ; preds = %32949
  br label %32951

32951:                                            ; preds = %32950
  %32952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %32952, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %32953 = call ptr @__errno_location() #12
  store i32 0, ptr %32953, align 4, !tbaa !5
  br label %32954

32954:                                            ; preds = %32951
  br label %32955

32955:                                            ; preds = %32954
  br label %32956

32956:                                            ; preds = %32955
  br label %32957

32957:                                            ; preds = %32956
  br label %32958

32958:                                            ; preds = %32957
  %32959 = load i32, ptr @test_count, align 4, !tbaa !5
  %32960 = add nsw i32 %32959, 1
  store i32 %32960, ptr @test_count, align 4, !tbaa !5
  %32961 = load ptr, ptr %703, align 8, !tbaa !9
  %32962 = getelementptr inbounds %struct.s2n_config, ptr %32961, i32 0, i32 46
  %32963 = load ptr, ptr %32962, align 8, !tbaa !97
  %32964 = icmp eq ptr %32963, null
  br i1 %32964, label %33018, label %32965

32965:                                            ; preds = %32958
  br label %32966

32966:                                            ; preds = %32965
  br label %32967

32967:                                            ; preds = %32966
  call void @llvm.lifetime.start.p0(i64 4, ptr %707) #11
  %32968 = call ptr @__errno_location() #12
  %32969 = load i32, ptr %32968, align 4, !tbaa !5
  store i32 %32969, ptr %707, align 4, !tbaa !5
  %32970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32971 = call i32 @s2n_print_stacktrace(ptr noundef %32970)
  %32972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32973 = trunc i8 %32972 to i1
  br i1 %32973, label %32974, label %32996

32974:                                            ; preds = %32967
  %32975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32976 = call i32 @fileno(ptr noundef %32975) #11
  %32977 = call i32 @isatty(i32 noundef %32976) #11
  %32978 = icmp ne i32 %32977, 0
  br i1 %32978, label %32979, label %32996

32979:                                            ; preds = %32974
  %32980 = load i32, ptr %707, align 4, !tbaa !5
  %32981 = call ptr @__errno_location() #12
  store i32 %32980, ptr %32981, align 4, !tbaa !5
  %32982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32983 = load i32, ptr @test_count, align 4, !tbaa !5
  %32984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32985 = load i32, ptr %32984, align 4, !tbaa !5
  %32986 = call ptr @s2n_strerror(i32 noundef %32985, ptr noundef @.str.4)
  %32987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32988 = load i32, ptr %32987, align 4, !tbaa !5
  %32989 = call ptr @s2n_strerror_debug(i32 noundef %32988, ptr noundef @.str.4)
  %32990 = call ptr @__errno_location() #12
  %32991 = load i32, ptr %32990, align 4, !tbaa !5
  %32992 = call ptr @strerror(i32 noundef %32991) #11
  %32993 = call ptr @__errno_location() #12
  %32994 = load i32, ptr %32993, align 4, !tbaa !5
  %32995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32982, ptr noundef @.str.2, i32 noundef %32983, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 1315, ptr noundef %32986, ptr noundef %32989, ptr noundef %32992, i32 noundef %32994) #11
  br label %33013

32996:                                            ; preds = %32974, %32967
  %32997 = load i32, ptr %707, align 4, !tbaa !5
  %32998 = call ptr @__errno_location() #12
  store i32 %32997, ptr %32998, align 4, !tbaa !5
  %32999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33000 = load i32, ptr @test_count, align 4, !tbaa !5
  %33001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33002 = load i32, ptr %33001, align 4, !tbaa !5
  %33003 = call ptr @s2n_strerror(i32 noundef %33002, ptr noundef @.str.4)
  %33004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33005 = load i32, ptr %33004, align 4, !tbaa !5
  %33006 = call ptr @s2n_strerror_debug(i32 noundef %33005, ptr noundef @.str.4)
  %33007 = call ptr @__errno_location() #12
  %33008 = load i32, ptr %33007, align 4, !tbaa !5
  %33009 = call ptr @strerror(i32 noundef %33008) #11
  %33010 = call ptr @__errno_location() #12
  %33011 = load i32, ptr %33010, align 4, !tbaa !5
  %33012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32999, ptr noundef @.str.5, i32 noundef %33000, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 1315, ptr noundef %33003, ptr noundef %33006, ptr noundef %33009, i32 noundef %33011) #11
  br label %33013

33013:                                            ; preds = %32996, %32979
  call void @llvm.lifetime.end.p0(i64 4, ptr %707) #11
  br label %33014

33014:                                            ; preds = %33013
  br label %33015

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

33016:                                            ; No predecessors!
  br label %33017

33017:                                            ; preds = %33016
  br label %33018

33018:                                            ; preds = %33017, %32958
  br label %33019

33019:                                            ; preds = %33018
  br label %33020

33020:                                            ; preds = %33019
  br label %33021

33021:                                            ; preds = %33020
  %33022 = load i32, ptr @test_count, align 4, !tbaa !5
  %33023 = add nsw i32 %33022, 1
  store i32 %33023, ptr @test_count, align 4, !tbaa !5
  %33024 = load ptr, ptr %703, align 8, !tbaa !9
  %33025 = call i32 @s2n_config_set_early_data_cb(ptr noundef %33024, ptr noundef @s2n_test_early_data_cb)
  %33026 = icmp eq i32 %33025, -1
  br i1 %33026, label %33027, label %33080

33027:                                            ; preds = %33021
  br label %33028

33028:                                            ; preds = %33027
  br label %33029

33029:                                            ; preds = %33028
  call void @llvm.lifetime.start.p0(i64 4, ptr %708) #11
  %33030 = call ptr @__errno_location() #12
  %33031 = load i32, ptr %33030, align 4, !tbaa !5
  store i32 %33031, ptr %708, align 4, !tbaa !5
  %33032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33033 = call i32 @s2n_print_stacktrace(ptr noundef %33032)
  %33034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33035 = trunc i8 %33034 to i1
  br i1 %33035, label %33036, label %33058

33036:                                            ; preds = %33029
  %33037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33038 = call i32 @fileno(ptr noundef %33037) #11
  %33039 = call i32 @isatty(i32 noundef %33038) #11
  %33040 = icmp ne i32 %33039, 0
  br i1 %33040, label %33041, label %33058

33041:                                            ; preds = %33036
  %33042 = load i32, ptr %708, align 4, !tbaa !5
  %33043 = call ptr @__errno_location() #12
  store i32 %33042, ptr %33043, align 4, !tbaa !5
  %33044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33045 = load i32, ptr @test_count, align 4, !tbaa !5
  %33046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33047 = load i32, ptr %33046, align 4, !tbaa !5
  %33048 = call ptr @s2n_strerror(i32 noundef %33047, ptr noundef @.str.4)
  %33049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33050 = load i32, ptr %33049, align 4, !tbaa !5
  %33051 = call ptr @s2n_strerror_debug(i32 noundef %33050, ptr noundef @.str.4)
  %33052 = call ptr @__errno_location() #12
  %33053 = load i32, ptr %33052, align 4, !tbaa !5
  %33054 = call ptr @strerror(i32 noundef %33053) #11
  %33055 = call ptr @__errno_location() #12
  %33056 = load i32, ptr %33055, align 4, !tbaa !5
  %33057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33044, ptr noundef @.str.2, i32 noundef %33045, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 1318, ptr noundef %33048, ptr noundef %33051, ptr noundef %33054, i32 noundef %33056) #11
  br label %33075

33058:                                            ; preds = %33036, %33029
  %33059 = load i32, ptr %708, align 4, !tbaa !5
  %33060 = call ptr @__errno_location() #12
  store i32 %33059, ptr %33060, align 4, !tbaa !5
  %33061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33062 = load i32, ptr @test_count, align 4, !tbaa !5
  %33063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33064 = load i32, ptr %33063, align 4, !tbaa !5
  %33065 = call ptr @s2n_strerror(i32 noundef %33064, ptr noundef @.str.4)
  %33066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33067 = load i32, ptr %33066, align 4, !tbaa !5
  %33068 = call ptr @s2n_strerror_debug(i32 noundef %33067, ptr noundef @.str.4)
  %33069 = call ptr @__errno_location() #12
  %33070 = load i32, ptr %33069, align 4, !tbaa !5
  %33071 = call ptr @strerror(i32 noundef %33070) #11
  %33072 = call ptr @__errno_location() #12
  %33073 = load i32, ptr %33072, align 4, !tbaa !5
  %33074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33061, ptr noundef @.str.5, i32 noundef %33062, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 1318, ptr noundef %33065, ptr noundef %33068, ptr noundef %33071, i32 noundef %33073) #11
  br label %33075

33075:                                            ; preds = %33058, %33041
  call void @llvm.lifetime.end.p0(i64 4, ptr %708) #11
  br label %33076

33076:                                            ; preds = %33075
  br label %33077

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

33078:                                            ; No predecessors!
  br label %33079

33079:                                            ; preds = %33078
  br label %33080

33080:                                            ; preds = %33079, %33021
  br label %33081

33081:                                            ; preds = %33080
  br label %33082

33082:                                            ; preds = %33081
  br label %33083

33083:                                            ; preds = %33082
  %33084 = load i32, ptr @test_count, align 4, !tbaa !5
  %33085 = add nsw i32 %33084, 1
  store i32 %33085, ptr @test_count, align 4, !tbaa !5
  %33086 = load ptr, ptr %703, align 8, !tbaa !9
  %33087 = getelementptr inbounds %struct.s2n_config, ptr %33086, i32 0, i32 46
  %33088 = load ptr, ptr %33087, align 8, !tbaa !97
  %33089 = icmp eq ptr %33088, @s2n_test_early_data_cb
  br i1 %33089, label %33143, label %33090

33090:                                            ; preds = %33083
  br label %33091

33091:                                            ; preds = %33090
  br label %33092

33092:                                            ; preds = %33091
  call void @llvm.lifetime.start.p0(i64 4, ptr %709) #11
  %33093 = call ptr @__errno_location() #12
  %33094 = load i32, ptr %33093, align 4, !tbaa !5
  store i32 %33094, ptr %709, align 4, !tbaa !5
  %33095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33096 = call i32 @s2n_print_stacktrace(ptr noundef %33095)
  %33097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33098 = trunc i8 %33097 to i1
  br i1 %33098, label %33099, label %33121

33099:                                            ; preds = %33092
  %33100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33101 = call i32 @fileno(ptr noundef %33100) #11
  %33102 = call i32 @isatty(i32 noundef %33101) #11
  %33103 = icmp ne i32 %33102, 0
  br i1 %33103, label %33104, label %33121

33104:                                            ; preds = %33099
  %33105 = load i32, ptr %709, align 4, !tbaa !5
  %33106 = call ptr @__errno_location() #12
  store i32 %33105, ptr %33106, align 4, !tbaa !5
  %33107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33108 = load i32, ptr @test_count, align 4, !tbaa !5
  %33109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33110 = load i32, ptr %33109, align 4, !tbaa !5
  %33111 = call ptr @s2n_strerror(i32 noundef %33110, ptr noundef @.str.4)
  %33112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33113 = load i32, ptr %33112, align 4, !tbaa !5
  %33114 = call ptr @s2n_strerror_debug(i32 noundef %33113, ptr noundef @.str.4)
  %33115 = call ptr @__errno_location() #12
  %33116 = load i32, ptr %33115, align 4, !tbaa !5
  %33117 = call ptr @strerror(i32 noundef %33116) #11
  %33118 = call ptr @__errno_location() #12
  %33119 = load i32, ptr %33118, align 4, !tbaa !5
  %33120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33107, ptr noundef @.str.2, i32 noundef %33108, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %33111, ptr noundef %33114, ptr noundef %33117, i32 noundef %33119) #11
  br label %33138

33121:                                            ; preds = %33099, %33092
  %33122 = load i32, ptr %709, align 4, !tbaa !5
  %33123 = call ptr @__errno_location() #12
  store i32 %33122, ptr %33123, align 4, !tbaa !5
  %33124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33125 = load i32, ptr @test_count, align 4, !tbaa !5
  %33126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33127 = load i32, ptr %33126, align 4, !tbaa !5
  %33128 = call ptr @s2n_strerror(i32 noundef %33127, ptr noundef @.str.4)
  %33129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33130 = load i32, ptr %33129, align 4, !tbaa !5
  %33131 = call ptr @s2n_strerror_debug(i32 noundef %33130, ptr noundef @.str.4)
  %33132 = call ptr @__errno_location() #12
  %33133 = load i32, ptr %33132, align 4, !tbaa !5
  %33134 = call ptr @strerror(i32 noundef %33133) #11
  %33135 = call ptr @__errno_location() #12
  %33136 = load i32, ptr %33135, align 4, !tbaa !5
  %33137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33124, ptr noundef @.str.5, i32 noundef %33125, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %33128, ptr noundef %33131, ptr noundef %33134, i32 noundef %33136) #11
  br label %33138

33138:                                            ; preds = %33121, %33104
  call void @llvm.lifetime.end.p0(i64 4, ptr %709) #11
  br label %33139

33139:                                            ; preds = %33138
  br label %33140

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

33141:                                            ; No predecessors!
  br label %33142

33142:                                            ; preds = %33141
  br label %33143

33143:                                            ; preds = %33142, %33083
  br label %33144

33144:                                            ; preds = %33143
  br label %33145

33145:                                            ; preds = %33144
  br label %33146

33146:                                            ; preds = %33145
  %33147 = load i32, ptr @test_count, align 4, !tbaa !5
  %33148 = add nsw i32 %33147, 1
  store i32 %33148, ptr @test_count, align 4, !tbaa !5
  %33149 = load ptr, ptr %703, align 8, !tbaa !9
  %33150 = call i32 @s2n_config_set_early_data_cb(ptr noundef %33149, ptr noundef null)
  %33151 = icmp eq i32 %33150, -1
  br i1 %33151, label %33152, label %33205

33152:                                            ; preds = %33146
  br label %33153

33153:                                            ; preds = %33152
  br label %33154

33154:                                            ; preds = %33153
  call void @llvm.lifetime.start.p0(i64 4, ptr %710) #11
  %33155 = call ptr @__errno_location() #12
  %33156 = load i32, ptr %33155, align 4, !tbaa !5
  store i32 %33156, ptr %710, align 4, !tbaa !5
  %33157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33158 = call i32 @s2n_print_stacktrace(ptr noundef %33157)
  %33159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33160 = trunc i8 %33159 to i1
  br i1 %33160, label %33161, label %33183

33161:                                            ; preds = %33154
  %33162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33163 = call i32 @fileno(ptr noundef %33162) #11
  %33164 = call i32 @isatty(i32 noundef %33163) #11
  %33165 = icmp ne i32 %33164, 0
  br i1 %33165, label %33166, label %33183

33166:                                            ; preds = %33161
  %33167 = load i32, ptr %710, align 4, !tbaa !5
  %33168 = call ptr @__errno_location() #12
  store i32 %33167, ptr %33168, align 4, !tbaa !5
  %33169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33170 = load i32, ptr @test_count, align 4, !tbaa !5
  %33171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33172 = load i32, ptr %33171, align 4, !tbaa !5
  %33173 = call ptr @s2n_strerror(i32 noundef %33172, ptr noundef @.str.4)
  %33174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33175 = load i32, ptr %33174, align 4, !tbaa !5
  %33176 = call ptr @s2n_strerror_debug(i32 noundef %33175, ptr noundef @.str.4)
  %33177 = call ptr @__errno_location() #12
  %33178 = load i32, ptr %33177, align 4, !tbaa !5
  %33179 = call ptr @strerror(i32 noundef %33178) #11
  %33180 = call ptr @__errno_location() #12
  %33181 = load i32, ptr %33180, align 4, !tbaa !5
  %33182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33169, ptr noundef @.str.2, i32 noundef %33170, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 1322, ptr noundef %33173, ptr noundef %33176, ptr noundef %33179, i32 noundef %33181) #11
  br label %33200

33183:                                            ; preds = %33161, %33154
  %33184 = load i32, ptr %710, align 4, !tbaa !5
  %33185 = call ptr @__errno_location() #12
  store i32 %33184, ptr %33185, align 4, !tbaa !5
  %33186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33187 = load i32, ptr @test_count, align 4, !tbaa !5
  %33188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33189 = load i32, ptr %33188, align 4, !tbaa !5
  %33190 = call ptr @s2n_strerror(i32 noundef %33189, ptr noundef @.str.4)
  %33191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33192 = load i32, ptr %33191, align 4, !tbaa !5
  %33193 = call ptr @s2n_strerror_debug(i32 noundef %33192, ptr noundef @.str.4)
  %33194 = call ptr @__errno_location() #12
  %33195 = load i32, ptr %33194, align 4, !tbaa !5
  %33196 = call ptr @strerror(i32 noundef %33195) #11
  %33197 = call ptr @__errno_location() #12
  %33198 = load i32, ptr %33197, align 4, !tbaa !5
  %33199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33186, ptr noundef @.str.5, i32 noundef %33187, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 1322, ptr noundef %33190, ptr noundef %33193, ptr noundef %33196, i32 noundef %33198) #11
  br label %33200

33200:                                            ; preds = %33183, %33166
  call void @llvm.lifetime.end.p0(i64 4, ptr %710) #11
  br label %33201

33201:                                            ; preds = %33200
  br label %33202

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

33203:                                            ; No predecessors!
  br label %33204

33204:                                            ; preds = %33203
  br label %33205

33205:                                            ; preds = %33204, %33146
  br label %33206

33206:                                            ; preds = %33205
  br label %33207

33207:                                            ; preds = %33206
  br label %33208

33208:                                            ; preds = %33207
  %33209 = load i32, ptr @test_count, align 4, !tbaa !5
  %33210 = add nsw i32 %33209, 1
  store i32 %33210, ptr @test_count, align 4, !tbaa !5
  %33211 = load ptr, ptr %703, align 8, !tbaa !9
  %33212 = getelementptr inbounds %struct.s2n_config, ptr %33211, i32 0, i32 46
  %33213 = load ptr, ptr %33212, align 8, !tbaa !97
  %33214 = icmp eq ptr %33213, null
  br i1 %33214, label %33268, label %33215

33215:                                            ; preds = %33208
  br label %33216

33216:                                            ; preds = %33215
  br label %33217

33217:                                            ; preds = %33216
  call void @llvm.lifetime.start.p0(i64 4, ptr %711) #11
  %33218 = call ptr @__errno_location() #12
  %33219 = load i32, ptr %33218, align 4, !tbaa !5
  store i32 %33219, ptr %711, align 4, !tbaa !5
  %33220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33221 = call i32 @s2n_print_stacktrace(ptr noundef %33220)
  %33222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33223 = trunc i8 %33222 to i1
  br i1 %33223, label %33224, label %33246

33224:                                            ; preds = %33217
  %33225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33226 = call i32 @fileno(ptr noundef %33225) #11
  %33227 = call i32 @isatty(i32 noundef %33226) #11
  %33228 = icmp ne i32 %33227, 0
  br i1 %33228, label %33229, label %33246

33229:                                            ; preds = %33224
  %33230 = load i32, ptr %711, align 4, !tbaa !5
  %33231 = call ptr @__errno_location() #12
  store i32 %33230, ptr %33231, align 4, !tbaa !5
  %33232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33233 = load i32, ptr @test_count, align 4, !tbaa !5
  %33234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33235 = load i32, ptr %33234, align 4, !tbaa !5
  %33236 = call ptr @s2n_strerror(i32 noundef %33235, ptr noundef @.str.4)
  %33237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33238 = load i32, ptr %33237, align 4, !tbaa !5
  %33239 = call ptr @s2n_strerror_debug(i32 noundef %33238, ptr noundef @.str.4)
  %33240 = call ptr @__errno_location() #12
  %33241 = load i32, ptr %33240, align 4, !tbaa !5
  %33242 = call ptr @strerror(i32 noundef %33241) #11
  %33243 = call ptr @__errno_location() #12
  %33244 = load i32, ptr %33243, align 4, !tbaa !5
  %33245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33232, ptr noundef @.str.2, i32 noundef %33233, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 1323, ptr noundef %33236, ptr noundef %33239, ptr noundef %33242, i32 noundef %33244) #11
  br label %33263

33246:                                            ; preds = %33224, %33217
  %33247 = load i32, ptr %711, align 4, !tbaa !5
  %33248 = call ptr @__errno_location() #12
  store i32 %33247, ptr %33248, align 4, !tbaa !5
  %33249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33250 = load i32, ptr @test_count, align 4, !tbaa !5
  %33251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33252 = load i32, ptr %33251, align 4, !tbaa !5
  %33253 = call ptr @s2n_strerror(i32 noundef %33252, ptr noundef @.str.4)
  %33254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33255 = load i32, ptr %33254, align 4, !tbaa !5
  %33256 = call ptr @s2n_strerror_debug(i32 noundef %33255, ptr noundef @.str.4)
  %33257 = call ptr @__errno_location() #12
  %33258 = load i32, ptr %33257, align 4, !tbaa !5
  %33259 = call ptr @strerror(i32 noundef %33258) #11
  %33260 = call ptr @__errno_location() #12
  %33261 = load i32, ptr %33260, align 4, !tbaa !5
  %33262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33249, ptr noundef @.str.5, i32 noundef %33250, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 1323, ptr noundef %33253, ptr noundef %33256, ptr noundef %33259, i32 noundef %33261) #11
  br label %33263

33263:                                            ; preds = %33246, %33229
  call void @llvm.lifetime.end.p0(i64 4, ptr %711) #11
  br label %33264

33264:                                            ; preds = %33263
  br label %33265

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

33266:                                            ; No predecessors!
  br label %33267

33267:                                            ; preds = %33266
  br label %33268

33268:                                            ; preds = %33267, %33208
  br label %33269

33269:                                            ; preds = %33268
  br label %33270

33270:                                            ; preds = %33269
  br label %33271

33271:                                            ; preds = %33270
  %33272 = load i32, ptr @test_count, align 4, !tbaa !5
  %33273 = add nsw i32 %33272, 1
  store i32 %33273, ptr @test_count, align 4, !tbaa !5
  %33274 = load ptr, ptr %703, align 8, !tbaa !9
  %33275 = call i32 @s2n_config_free(ptr noundef %33274)
  %33276 = icmp eq i32 %33275, -1
  br i1 %33276, label %33277, label %33330

33277:                                            ; preds = %33271
  br label %33278

33278:                                            ; preds = %33277
  br label %33279

33279:                                            ; preds = %33278
  call void @llvm.lifetime.start.p0(i64 4, ptr %712) #11
  %33280 = call ptr @__errno_location() #12
  %33281 = load i32, ptr %33280, align 4, !tbaa !5
  store i32 %33281, ptr %712, align 4, !tbaa !5
  %33282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33283 = call i32 @s2n_print_stacktrace(ptr noundef %33282)
  %33284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33285 = trunc i8 %33284 to i1
  br i1 %33285, label %33286, label %33308

33286:                                            ; preds = %33279
  %33287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33288 = call i32 @fileno(ptr noundef %33287) #11
  %33289 = call i32 @isatty(i32 noundef %33288) #11
  %33290 = icmp ne i32 %33289, 0
  br i1 %33290, label %33291, label %33308

33291:                                            ; preds = %33286
  %33292 = load i32, ptr %712, align 4, !tbaa !5
  %33293 = call ptr @__errno_location() #12
  store i32 %33292, ptr %33293, align 4, !tbaa !5
  %33294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33295 = load i32, ptr @test_count, align 4, !tbaa !5
  %33296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33297 = load i32, ptr %33296, align 4, !tbaa !5
  %33298 = call ptr @s2n_strerror(i32 noundef %33297, ptr noundef @.str.4)
  %33299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33300 = load i32, ptr %33299, align 4, !tbaa !5
  %33301 = call ptr @s2n_strerror_debug(i32 noundef %33300, ptr noundef @.str.4)
  %33302 = call ptr @__errno_location() #12
  %33303 = load i32, ptr %33302, align 4, !tbaa !5
  %33304 = call ptr @strerror(i32 noundef %33303) #11
  %33305 = call ptr @__errno_location() #12
  %33306 = load i32, ptr %33305, align 4, !tbaa !5
  %33307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33294, ptr noundef @.str.2, i32 noundef %33295, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1325, ptr noundef %33298, ptr noundef %33301, ptr noundef %33304, i32 noundef %33306) #11
  br label %33325

33308:                                            ; preds = %33286, %33279
  %33309 = load i32, ptr %712, align 4, !tbaa !5
  %33310 = call ptr @__errno_location() #12
  store i32 %33309, ptr %33310, align 4, !tbaa !5
  %33311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33312 = load i32, ptr @test_count, align 4, !tbaa !5
  %33313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33314 = load i32, ptr %33313, align 4, !tbaa !5
  %33315 = call ptr @s2n_strerror(i32 noundef %33314, ptr noundef @.str.4)
  %33316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33317 = load i32, ptr %33316, align 4, !tbaa !5
  %33318 = call ptr @s2n_strerror_debug(i32 noundef %33317, ptr noundef @.str.4)
  %33319 = call ptr @__errno_location() #12
  %33320 = load i32, ptr %33319, align 4, !tbaa !5
  %33321 = call ptr @strerror(i32 noundef %33320) #11
  %33322 = call ptr @__errno_location() #12
  %33323 = load i32, ptr %33322, align 4, !tbaa !5
  %33324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33311, ptr noundef @.str.5, i32 noundef %33312, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1325, ptr noundef %33315, ptr noundef %33318, ptr noundef %33321, i32 noundef %33323) #11
  br label %33325

33325:                                            ; preds = %33308, %33291
  call void @llvm.lifetime.end.p0(i64 4, ptr %712) #11
  br label %33326

33326:                                            ; preds = %33325
  br label %33327

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

33328:                                            ; No predecessors!
  br label %33329

33329:                                            ; preds = %33328
  br label %33330

33330:                                            ; preds = %33329, %33271
  br label %33331

33331:                                            ; preds = %33330
  br label %33332

33332:                                            ; preds = %33331
  call void @llvm.lifetime.end.p0(i64 8, ptr %703) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %713) #11
  call void @llvm.memset.p0.i64(ptr align 8 %713, i8 0, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr %714) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %714, ptr align 1 @__const.main.context, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr %715) #11
  call void @llvm.memset.p0.i64(ptr align 1 %715, i8 0, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr %716) #11
  call void @llvm.memset.p0.i64(ptr align 1 %716, i8 0, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %717) #11
  store i16 1, ptr %717, align 2, !tbaa !92
  br label %33333

33333:                                            ; preds = %33332
  br label %33334

33334:                                            ; preds = %33333
  br label %33335

33335:                                            ; preds = %33334
  %33336 = load i32, ptr @test_count, align 4, !tbaa !5
  %33337 = add nsw i32 %33336, 1
  store i32 %33337, ptr @test_count, align 4, !tbaa !5
  %33338 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef null, ptr noundef %717)
  %33339 = icmp eq i32 %33338, -1
  br i1 %33339, label %33393, label %33340

33340:                                            ; preds = %33335
  br label %33341

33341:                                            ; preds = %33340
  br label %33342

33342:                                            ; preds = %33341
  call void @llvm.lifetime.start.p0(i64 4, ptr %718) #11
  %33343 = call ptr @__errno_location() #12
  %33344 = load i32, ptr %33343, align 4, !tbaa !5
  store i32 %33344, ptr %718, align 4, !tbaa !5
  %33345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33346 = call i32 @s2n_print_stacktrace(ptr noundef %33345)
  %33347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33348 = trunc i8 %33347 to i1
  br i1 %33348, label %33349, label %33371

33349:                                            ; preds = %33342
  %33350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33351 = call i32 @fileno(ptr noundef %33350) #11
  %33352 = call i32 @isatty(i32 noundef %33351) #11
  %33353 = icmp ne i32 %33352, 0
  br i1 %33353, label %33354, label %33371

33354:                                            ; preds = %33349
  %33355 = load i32, ptr %718, align 4, !tbaa !5
  %33356 = call ptr @__errno_location() #12
  store i32 %33355, ptr %33356, align 4, !tbaa !5
  %33357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33358 = load i32, ptr @test_count, align 4, !tbaa !5
  %33359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33360 = load i32, ptr %33359, align 4, !tbaa !5
  %33361 = call ptr @s2n_strerror(i32 noundef %33360, ptr noundef @.str.4)
  %33362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33363 = load i32, ptr %33362, align 4, !tbaa !5
  %33364 = call ptr @s2n_strerror_debug(i32 noundef %33363, ptr noundef @.str.4)
  %33365 = call ptr @__errno_location() #12
  %33366 = load i32, ptr %33365, align 4, !tbaa !5
  %33367 = call ptr @strerror(i32 noundef %33366) #11
  %33368 = call ptr @__errno_location() #12
  %33369 = load i32, ptr %33368, align 4, !tbaa !5
  %33370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33357, ptr noundef @.str.2, i32 noundef %33358, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 1338, ptr noundef %33361, ptr noundef %33364, ptr noundef %33367, i32 noundef %33369) #11
  br label %33388

33371:                                            ; preds = %33349, %33342
  %33372 = load i32, ptr %718, align 4, !tbaa !5
  %33373 = call ptr @__errno_location() #12
  store i32 %33372, ptr %33373, align 4, !tbaa !5
  %33374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33375 = load i32, ptr @test_count, align 4, !tbaa !5
  %33376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33377 = load i32, ptr %33376, align 4, !tbaa !5
  %33378 = call ptr @s2n_strerror(i32 noundef %33377, ptr noundef @.str.4)
  %33379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33380 = load i32, ptr %33379, align 4, !tbaa !5
  %33381 = call ptr @s2n_strerror_debug(i32 noundef %33380, ptr noundef @.str.4)
  %33382 = call ptr @__errno_location() #12
  %33383 = load i32, ptr %33382, align 4, !tbaa !5
  %33384 = call ptr @strerror(i32 noundef %33383) #11
  %33385 = call ptr @__errno_location() #12
  %33386 = load i32, ptr %33385, align 4, !tbaa !5
  %33387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33374, ptr noundef @.str.5, i32 noundef %33375, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 1338, ptr noundef %33378, ptr noundef %33381, ptr noundef %33384, i32 noundef %33386) #11
  br label %33388

33388:                                            ; preds = %33371, %33354
  call void @llvm.lifetime.end.p0(i64 4, ptr %718) #11
  br label %33389

33389:                                            ; preds = %33388
  br label %33390

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

33391:                                            ; No predecessors!
  br label %33392

33392:                                            ; preds = %33391
  br label %33393

33393:                                            ; preds = %33392, %33335
  br label %33394

33394:                                            ; preds = %33393
  br label %33395

33395:                                            ; preds = %33394
  br label %33396

33396:                                            ; preds = %33395
  %33397 = load i32, ptr @test_count, align 4, !tbaa !5
  %33398 = add nsw i32 %33397, 1
  store i32 %33398, ptr @test_count, align 4, !tbaa !5
  %33399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33400 = load i32, ptr %33399, align 4, !tbaa !5
  %33401 = icmp eq i32 %33400, 402653193
  br i1 %33401, label %33455, label %33402

33402:                                            ; preds = %33396
  br label %33403

33403:                                            ; preds = %33402
  br label %33404

33404:                                            ; preds = %33403
  call void @llvm.lifetime.start.p0(i64 4, ptr %719) #11
  %33405 = call ptr @__errno_location() #12
  %33406 = load i32, ptr %33405, align 4, !tbaa !5
  store i32 %33406, ptr %719, align 4, !tbaa !5
  %33407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33408 = call i32 @s2n_print_stacktrace(ptr noundef %33407)
  %33409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33410 = trunc i8 %33409 to i1
  br i1 %33410, label %33411, label %33433

33411:                                            ; preds = %33404
  %33412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33413 = call i32 @fileno(ptr noundef %33412) #11
  %33414 = call i32 @isatty(i32 noundef %33413) #11
  %33415 = icmp ne i32 %33414, 0
  br i1 %33415, label %33416, label %33433

33416:                                            ; preds = %33411
  %33417 = load i32, ptr %719, align 4, !tbaa !5
  %33418 = call ptr @__errno_location() #12
  store i32 %33417, ptr %33418, align 4, !tbaa !5
  %33419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33420 = load i32, ptr @test_count, align 4, !tbaa !5
  %33421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33422 = load i32, ptr %33421, align 4, !tbaa !5
  %33423 = call ptr @s2n_strerror(i32 noundef %33422, ptr noundef @.str.4)
  %33424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33425 = load i32, ptr %33424, align 4, !tbaa !5
  %33426 = call ptr @s2n_strerror_debug(i32 noundef %33425, ptr noundef @.str.4)
  %33427 = call ptr @__errno_location() #12
  %33428 = load i32, ptr %33427, align 4, !tbaa !5
  %33429 = call ptr @strerror(i32 noundef %33428) #11
  %33430 = call ptr @__errno_location() #12
  %33431 = load i32, ptr %33430, align 4, !tbaa !5
  %33432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33419, ptr noundef @.str.2, i32 noundef %33420, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1338, ptr noundef %33423, ptr noundef %33426, ptr noundef %33429, i32 noundef %33431) #11
  br label %33450

33433:                                            ; preds = %33411, %33404
  %33434 = load i32, ptr %719, align 4, !tbaa !5
  %33435 = call ptr @__errno_location() #12
  store i32 %33434, ptr %33435, align 4, !tbaa !5
  %33436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33437 = load i32, ptr @test_count, align 4, !tbaa !5
  %33438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33439 = load i32, ptr %33438, align 4, !tbaa !5
  %33440 = call ptr @s2n_strerror(i32 noundef %33439, ptr noundef @.str.4)
  %33441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33442 = load i32, ptr %33441, align 4, !tbaa !5
  %33443 = call ptr @s2n_strerror_debug(i32 noundef %33442, ptr noundef @.str.4)
  %33444 = call ptr @__errno_location() #12
  %33445 = load i32, ptr %33444, align 4, !tbaa !5
  %33446 = call ptr @strerror(i32 noundef %33445) #11
  %33447 = call ptr @__errno_location() #12
  %33448 = load i32, ptr %33447, align 4, !tbaa !5
  %33449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33436, ptr noundef @.str.5, i32 noundef %33437, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1338, ptr noundef %33440, ptr noundef %33443, ptr noundef %33446, i32 noundef %33448) #11
  br label %33450

33450:                                            ; preds = %33433, %33416
  call void @llvm.lifetime.end.p0(i64 4, ptr %719) #11
  br label %33451

33451:                                            ; preds = %33450
  br label %33452

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

33453:                                            ; No predecessors!
  br label %33454

33454:                                            ; preds = %33453
  br label %33455

33455:                                            ; preds = %33454, %33396
  br label %33456

33456:                                            ; preds = %33455
  br label %33457

33457:                                            ; preds = %33456
  br label %33458

33458:                                            ; preds = %33457
  %33459 = load i32, ptr @test_count, align 4, !tbaa !5
  %33460 = add nsw i32 %33459, 1
  store i32 %33460, ptr @test_count, align 4, !tbaa !5
  %33461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33462 = load i32, ptr %33461, align 4, !tbaa !5
  %33463 = call ptr @s2n_strerror_debug(i32 noundef %33462, ptr noundef @.str.4)
  %33464 = icmp eq ptr %33463, null
  br i1 %33464, label %33465, label %33518

33465:                                            ; preds = %33458
  br label %33466

33466:                                            ; preds = %33465
  br label %33467

33467:                                            ; preds = %33466
  call void @llvm.lifetime.start.p0(i64 4, ptr %720) #11
  %33468 = call ptr @__errno_location() #12
  %33469 = load i32, ptr %33468, align 4, !tbaa !5
  store i32 %33469, ptr %720, align 4, !tbaa !5
  %33470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33471 = call i32 @s2n_print_stacktrace(ptr noundef %33470)
  %33472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33473 = trunc i8 %33472 to i1
  br i1 %33473, label %33474, label %33496

33474:                                            ; preds = %33467
  %33475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33476 = call i32 @fileno(ptr noundef %33475) #11
  %33477 = call i32 @isatty(i32 noundef %33476) #11
  %33478 = icmp ne i32 %33477, 0
  br i1 %33478, label %33479, label %33496

33479:                                            ; preds = %33474
  %33480 = load i32, ptr %720, align 4, !tbaa !5
  %33481 = call ptr @__errno_location() #12
  store i32 %33480, ptr %33481, align 4, !tbaa !5
  %33482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33483 = load i32, ptr @test_count, align 4, !tbaa !5
  %33484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33485 = load i32, ptr %33484, align 4, !tbaa !5
  %33486 = call ptr @s2n_strerror(i32 noundef %33485, ptr noundef @.str.4)
  %33487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33488 = load i32, ptr %33487, align 4, !tbaa !5
  %33489 = call ptr @s2n_strerror_debug(i32 noundef %33488, ptr noundef @.str.4)
  %33490 = call ptr @__errno_location() #12
  %33491 = load i32, ptr %33490, align 4, !tbaa !5
  %33492 = call ptr @strerror(i32 noundef %33491) #11
  %33493 = call ptr @__errno_location() #12
  %33494 = load i32, ptr %33493, align 4, !tbaa !5
  %33495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33482, ptr noundef @.str.2, i32 noundef %33483, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1338, ptr noundef %33486, ptr noundef %33489, ptr noundef %33492, i32 noundef %33494) #11
  br label %33513

33496:                                            ; preds = %33474, %33467
  %33497 = load i32, ptr %720, align 4, !tbaa !5
  %33498 = call ptr @__errno_location() #12
  store i32 %33497, ptr %33498, align 4, !tbaa !5
  %33499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33500 = load i32, ptr @test_count, align 4, !tbaa !5
  %33501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33502 = load i32, ptr %33501, align 4, !tbaa !5
  %33503 = call ptr @s2n_strerror(i32 noundef %33502, ptr noundef @.str.4)
  %33504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33505 = load i32, ptr %33504, align 4, !tbaa !5
  %33506 = call ptr @s2n_strerror_debug(i32 noundef %33505, ptr noundef @.str.4)
  %33507 = call ptr @__errno_location() #12
  %33508 = load i32, ptr %33507, align 4, !tbaa !5
  %33509 = call ptr @strerror(i32 noundef %33508) #11
  %33510 = call ptr @__errno_location() #12
  %33511 = load i32, ptr %33510, align 4, !tbaa !5
  %33512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33499, ptr noundef @.str.5, i32 noundef %33500, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1338, ptr noundef %33503, ptr noundef %33506, ptr noundef %33509, i32 noundef %33511) #11
  br label %33513

33513:                                            ; preds = %33496, %33479
  call void @llvm.lifetime.end.p0(i64 4, ptr %720) #11
  br label %33514

33514:                                            ; preds = %33513
  br label %33515

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

33516:                                            ; No predecessors!
  br label %33517

33517:                                            ; preds = %33516
  br label %33518

33518:                                            ; preds = %33517, %33458
  br label %33519

33519:                                            ; preds = %33518
  br label %33520

33520:                                            ; preds = %33519
  br label %33521

33521:                                            ; preds = %33520
  br label %33522

33522:                                            ; preds = %33521
  br label %33523

33523:                                            ; preds = %33522
  %33524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %33524, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %33525 = call ptr @__errno_location() #12
  store i32 0, ptr %33525, align 4, !tbaa !5
  br label %33526

33526:                                            ; preds = %33523
  br label %33527

33527:                                            ; preds = %33526
  br label %33528

33528:                                            ; preds = %33527
  br label %33529

33529:                                            ; preds = %33528
  br label %33530

33530:                                            ; preds = %33529
  br label %33531

33531:                                            ; preds = %33530
  br label %33532

33532:                                            ; preds = %33531
  %33533 = load i32, ptr @test_count, align 4, !tbaa !5
  %33534 = add nsw i32 %33533, 1
  store i32 %33534, ptr @test_count, align 4, !tbaa !5
  %33535 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %33536 = call i32 @s2n_offered_early_data_get_context(ptr noundef null, ptr noundef %33535, i16 noundef zeroext 1)
  %33537 = icmp eq i32 %33536, -1
  br i1 %33537, label %33591, label %33538

33538:                                            ; preds = %33532
  br label %33539

33539:                                            ; preds = %33538
  br label %33540

33540:                                            ; preds = %33539
  call void @llvm.lifetime.start.p0(i64 4, ptr %721) #11
  %33541 = call ptr @__errno_location() #12
  %33542 = load i32, ptr %33541, align 4, !tbaa !5
  store i32 %33542, ptr %721, align 4, !tbaa !5
  %33543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33544 = call i32 @s2n_print_stacktrace(ptr noundef %33543)
  %33545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33546 = trunc i8 %33545 to i1
  br i1 %33546, label %33547, label %33569

33547:                                            ; preds = %33540
  %33548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33549 = call i32 @fileno(ptr noundef %33548) #11
  %33550 = call i32 @isatty(i32 noundef %33549) #11
  %33551 = icmp ne i32 %33550, 0
  br i1 %33551, label %33552, label %33569

33552:                                            ; preds = %33547
  %33553 = load i32, ptr %721, align 4, !tbaa !5
  %33554 = call ptr @__errno_location() #12
  store i32 %33553, ptr %33554, align 4, !tbaa !5
  %33555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33556 = load i32, ptr @test_count, align 4, !tbaa !5
  %33557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33558 = load i32, ptr %33557, align 4, !tbaa !5
  %33559 = call ptr @s2n_strerror(i32 noundef %33558, ptr noundef @.str.4)
  %33560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33561 = load i32, ptr %33560, align 4, !tbaa !5
  %33562 = call ptr @s2n_strerror_debug(i32 noundef %33561, ptr noundef @.str.4)
  %33563 = call ptr @__errno_location() #12
  %33564 = load i32, ptr %33563, align 4, !tbaa !5
  %33565 = call ptr @strerror(i32 noundef %33564) #11
  %33566 = call ptr @__errno_location() #12
  %33567 = load i32, ptr %33566, align 4, !tbaa !5
  %33568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33555, ptr noundef @.str.2, i32 noundef %33556, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 1339, ptr noundef %33559, ptr noundef %33562, ptr noundef %33565, i32 noundef %33567) #11
  br label %33586

33569:                                            ; preds = %33547, %33540
  %33570 = load i32, ptr %721, align 4, !tbaa !5
  %33571 = call ptr @__errno_location() #12
  store i32 %33570, ptr %33571, align 4, !tbaa !5
  %33572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33573 = load i32, ptr @test_count, align 4, !tbaa !5
  %33574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33575 = load i32, ptr %33574, align 4, !tbaa !5
  %33576 = call ptr @s2n_strerror(i32 noundef %33575, ptr noundef @.str.4)
  %33577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33578 = load i32, ptr %33577, align 4, !tbaa !5
  %33579 = call ptr @s2n_strerror_debug(i32 noundef %33578, ptr noundef @.str.4)
  %33580 = call ptr @__errno_location() #12
  %33581 = load i32, ptr %33580, align 4, !tbaa !5
  %33582 = call ptr @strerror(i32 noundef %33581) #11
  %33583 = call ptr @__errno_location() #12
  %33584 = load i32, ptr %33583, align 4, !tbaa !5
  %33585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33572, ptr noundef @.str.5, i32 noundef %33573, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 1339, ptr noundef %33576, ptr noundef %33579, ptr noundef %33582, i32 noundef %33584) #11
  br label %33586

33586:                                            ; preds = %33569, %33552
  call void @llvm.lifetime.end.p0(i64 4, ptr %721) #11
  br label %33587

33587:                                            ; preds = %33586
  br label %33588

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

33589:                                            ; No predecessors!
  br label %33590

33590:                                            ; preds = %33589
  br label %33591

33591:                                            ; preds = %33590, %33532
  br label %33592

33592:                                            ; preds = %33591
  br label %33593

33593:                                            ; preds = %33592
  br label %33594

33594:                                            ; preds = %33593
  %33595 = load i32, ptr @test_count, align 4, !tbaa !5
  %33596 = add nsw i32 %33595, 1
  store i32 %33596, ptr @test_count, align 4, !tbaa !5
  %33597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33598 = load i32, ptr %33597, align 4, !tbaa !5
  %33599 = icmp eq i32 %33598, 402653193
  br i1 %33599, label %33653, label %33600

33600:                                            ; preds = %33594
  br label %33601

33601:                                            ; preds = %33600
  br label %33602

33602:                                            ; preds = %33601
  call void @llvm.lifetime.start.p0(i64 4, ptr %722) #11
  %33603 = call ptr @__errno_location() #12
  %33604 = load i32, ptr %33603, align 4, !tbaa !5
  store i32 %33604, ptr %722, align 4, !tbaa !5
  %33605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33606 = call i32 @s2n_print_stacktrace(ptr noundef %33605)
  %33607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33608 = trunc i8 %33607 to i1
  br i1 %33608, label %33609, label %33631

33609:                                            ; preds = %33602
  %33610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33611 = call i32 @fileno(ptr noundef %33610) #11
  %33612 = call i32 @isatty(i32 noundef %33611) #11
  %33613 = icmp ne i32 %33612, 0
  br i1 %33613, label %33614, label %33631

33614:                                            ; preds = %33609
  %33615 = load i32, ptr %722, align 4, !tbaa !5
  %33616 = call ptr @__errno_location() #12
  store i32 %33615, ptr %33616, align 4, !tbaa !5
  %33617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33618 = load i32, ptr @test_count, align 4, !tbaa !5
  %33619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33620 = load i32, ptr %33619, align 4, !tbaa !5
  %33621 = call ptr @s2n_strerror(i32 noundef %33620, ptr noundef @.str.4)
  %33622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33623 = load i32, ptr %33622, align 4, !tbaa !5
  %33624 = call ptr @s2n_strerror_debug(i32 noundef %33623, ptr noundef @.str.4)
  %33625 = call ptr @__errno_location() #12
  %33626 = load i32, ptr %33625, align 4, !tbaa !5
  %33627 = call ptr @strerror(i32 noundef %33626) #11
  %33628 = call ptr @__errno_location() #12
  %33629 = load i32, ptr %33628, align 4, !tbaa !5
  %33630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33617, ptr noundef @.str.2, i32 noundef %33618, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1339, ptr noundef %33621, ptr noundef %33624, ptr noundef %33627, i32 noundef %33629) #11
  br label %33648

33631:                                            ; preds = %33609, %33602
  %33632 = load i32, ptr %722, align 4, !tbaa !5
  %33633 = call ptr @__errno_location() #12
  store i32 %33632, ptr %33633, align 4, !tbaa !5
  %33634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33635 = load i32, ptr @test_count, align 4, !tbaa !5
  %33636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33637 = load i32, ptr %33636, align 4, !tbaa !5
  %33638 = call ptr @s2n_strerror(i32 noundef %33637, ptr noundef @.str.4)
  %33639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33640 = load i32, ptr %33639, align 4, !tbaa !5
  %33641 = call ptr @s2n_strerror_debug(i32 noundef %33640, ptr noundef @.str.4)
  %33642 = call ptr @__errno_location() #12
  %33643 = load i32, ptr %33642, align 4, !tbaa !5
  %33644 = call ptr @strerror(i32 noundef %33643) #11
  %33645 = call ptr @__errno_location() #12
  %33646 = load i32, ptr %33645, align 4, !tbaa !5
  %33647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33634, ptr noundef @.str.5, i32 noundef %33635, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1339, ptr noundef %33638, ptr noundef %33641, ptr noundef %33644, i32 noundef %33646) #11
  br label %33648

33648:                                            ; preds = %33631, %33614
  call void @llvm.lifetime.end.p0(i64 4, ptr %722) #11
  br label %33649

33649:                                            ; preds = %33648
  br label %33650

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

33651:                                            ; No predecessors!
  br label %33652

33652:                                            ; preds = %33651
  br label %33653

33653:                                            ; preds = %33652, %33594
  br label %33654

33654:                                            ; preds = %33653
  br label %33655

33655:                                            ; preds = %33654
  br label %33656

33656:                                            ; preds = %33655
  %33657 = load i32, ptr @test_count, align 4, !tbaa !5
  %33658 = add nsw i32 %33657, 1
  store i32 %33658, ptr @test_count, align 4, !tbaa !5
  %33659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33660 = load i32, ptr %33659, align 4, !tbaa !5
  %33661 = call ptr @s2n_strerror_debug(i32 noundef %33660, ptr noundef @.str.4)
  %33662 = icmp eq ptr %33661, null
  br i1 %33662, label %33663, label %33716

33663:                                            ; preds = %33656
  br label %33664

33664:                                            ; preds = %33663
  br label %33665

33665:                                            ; preds = %33664
  call void @llvm.lifetime.start.p0(i64 4, ptr %723) #11
  %33666 = call ptr @__errno_location() #12
  %33667 = load i32, ptr %33666, align 4, !tbaa !5
  store i32 %33667, ptr %723, align 4, !tbaa !5
  %33668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33669 = call i32 @s2n_print_stacktrace(ptr noundef %33668)
  %33670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33671 = trunc i8 %33670 to i1
  br i1 %33671, label %33672, label %33694

33672:                                            ; preds = %33665
  %33673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33674 = call i32 @fileno(ptr noundef %33673) #11
  %33675 = call i32 @isatty(i32 noundef %33674) #11
  %33676 = icmp ne i32 %33675, 0
  br i1 %33676, label %33677, label %33694

33677:                                            ; preds = %33672
  %33678 = load i32, ptr %723, align 4, !tbaa !5
  %33679 = call ptr @__errno_location() #12
  store i32 %33678, ptr %33679, align 4, !tbaa !5
  %33680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33681 = load i32, ptr @test_count, align 4, !tbaa !5
  %33682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33683 = load i32, ptr %33682, align 4, !tbaa !5
  %33684 = call ptr @s2n_strerror(i32 noundef %33683, ptr noundef @.str.4)
  %33685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33686 = load i32, ptr %33685, align 4, !tbaa !5
  %33687 = call ptr @s2n_strerror_debug(i32 noundef %33686, ptr noundef @.str.4)
  %33688 = call ptr @__errno_location() #12
  %33689 = load i32, ptr %33688, align 4, !tbaa !5
  %33690 = call ptr @strerror(i32 noundef %33689) #11
  %33691 = call ptr @__errno_location() #12
  %33692 = load i32, ptr %33691, align 4, !tbaa !5
  %33693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33680, ptr noundef @.str.2, i32 noundef %33681, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1339, ptr noundef %33684, ptr noundef %33687, ptr noundef %33690, i32 noundef %33692) #11
  br label %33711

33694:                                            ; preds = %33672, %33665
  %33695 = load i32, ptr %723, align 4, !tbaa !5
  %33696 = call ptr @__errno_location() #12
  store i32 %33695, ptr %33696, align 4, !tbaa !5
  %33697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33698 = load i32, ptr @test_count, align 4, !tbaa !5
  %33699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33700 = load i32, ptr %33699, align 4, !tbaa !5
  %33701 = call ptr @s2n_strerror(i32 noundef %33700, ptr noundef @.str.4)
  %33702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33703 = load i32, ptr %33702, align 4, !tbaa !5
  %33704 = call ptr @s2n_strerror_debug(i32 noundef %33703, ptr noundef @.str.4)
  %33705 = call ptr @__errno_location() #12
  %33706 = load i32, ptr %33705, align 4, !tbaa !5
  %33707 = call ptr @strerror(i32 noundef %33706) #11
  %33708 = call ptr @__errno_location() #12
  %33709 = load i32, ptr %33708, align 4, !tbaa !5
  %33710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33697, ptr noundef @.str.5, i32 noundef %33698, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1339, ptr noundef %33701, ptr noundef %33704, ptr noundef %33707, i32 noundef %33709) #11
  br label %33711

33711:                                            ; preds = %33694, %33677
  call void @llvm.lifetime.end.p0(i64 4, ptr %723) #11
  br label %33712

33712:                                            ; preds = %33711
  br label %33713

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

33714:                                            ; No predecessors!
  br label %33715

33715:                                            ; preds = %33714
  br label %33716

33716:                                            ; preds = %33715, %33656
  br label %33717

33717:                                            ; preds = %33716
  br label %33718

33718:                                            ; preds = %33717
  br label %33719

33719:                                            ; preds = %33718
  br label %33720

33720:                                            ; preds = %33719
  br label %33721

33721:                                            ; preds = %33720
  %33722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %33722, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %33723 = call ptr @__errno_location() #12
  store i32 0, ptr %33723, align 4, !tbaa !5
  br label %33724

33724:                                            ; preds = %33721
  br label %33725

33725:                                            ; preds = %33724
  br label %33726

33726:                                            ; preds = %33725
  br label %33727

33727:                                            ; preds = %33726
  br label %33728

33728:                                            ; preds = %33727
  br label %33729

33729:                                            ; preds = %33728
  br label %33730

33730:                                            ; preds = %33729
  %33731 = load i32, ptr @test_count, align 4, !tbaa !5
  %33732 = add nsw i32 %33731, 1
  store i32 %33732, ptr @test_count, align 4, !tbaa !5
  %33733 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef %713, ptr noundef null)
  %33734 = icmp eq i32 %33733, -1
  br i1 %33734, label %33788, label %33735

33735:                                            ; preds = %33730
  br label %33736

33736:                                            ; preds = %33735
  br label %33737

33737:                                            ; preds = %33736
  call void @llvm.lifetime.start.p0(i64 4, ptr %724) #11
  %33738 = call ptr @__errno_location() #12
  %33739 = load i32, ptr %33738, align 4, !tbaa !5
  store i32 %33739, ptr %724, align 4, !tbaa !5
  %33740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33741 = call i32 @s2n_print_stacktrace(ptr noundef %33740)
  %33742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33743 = trunc i8 %33742 to i1
  br i1 %33743, label %33744, label %33766

33744:                                            ; preds = %33737
  %33745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33746 = call i32 @fileno(ptr noundef %33745) #11
  %33747 = call i32 @isatty(i32 noundef %33746) #11
  %33748 = icmp ne i32 %33747, 0
  br i1 %33748, label %33749, label %33766

33749:                                            ; preds = %33744
  %33750 = load i32, ptr %724, align 4, !tbaa !5
  %33751 = call ptr @__errno_location() #12
  store i32 %33750, ptr %33751, align 4, !tbaa !5
  %33752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33753 = load i32, ptr @test_count, align 4, !tbaa !5
  %33754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33755 = load i32, ptr %33754, align 4, !tbaa !5
  %33756 = call ptr @s2n_strerror(i32 noundef %33755, ptr noundef @.str.4)
  %33757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33758 = load i32, ptr %33757, align 4, !tbaa !5
  %33759 = call ptr @s2n_strerror_debug(i32 noundef %33758, ptr noundef @.str.4)
  %33760 = call ptr @__errno_location() #12
  %33761 = load i32, ptr %33760, align 4, !tbaa !5
  %33762 = call ptr @strerror(i32 noundef %33761) #11
  %33763 = call ptr @__errno_location() #12
  %33764 = load i32, ptr %33763, align 4, !tbaa !5
  %33765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33752, ptr noundef @.str.2, i32 noundef %33753, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %33756, ptr noundef %33759, ptr noundef %33762, i32 noundef %33764) #11
  br label %33783

33766:                                            ; preds = %33744, %33737
  %33767 = load i32, ptr %724, align 4, !tbaa !5
  %33768 = call ptr @__errno_location() #12
  store i32 %33767, ptr %33768, align 4, !tbaa !5
  %33769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33770 = load i32, ptr @test_count, align 4, !tbaa !5
  %33771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33772 = load i32, ptr %33771, align 4, !tbaa !5
  %33773 = call ptr @s2n_strerror(i32 noundef %33772, ptr noundef @.str.4)
  %33774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33775 = load i32, ptr %33774, align 4, !tbaa !5
  %33776 = call ptr @s2n_strerror_debug(i32 noundef %33775, ptr noundef @.str.4)
  %33777 = call ptr @__errno_location() #12
  %33778 = load i32, ptr %33777, align 4, !tbaa !5
  %33779 = call ptr @strerror(i32 noundef %33778) #11
  %33780 = call ptr @__errno_location() #12
  %33781 = load i32, ptr %33780, align 4, !tbaa !5
  %33782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33769, ptr noundef @.str.5, i32 noundef %33770, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %33773, ptr noundef %33776, ptr noundef %33779, i32 noundef %33781) #11
  br label %33783

33783:                                            ; preds = %33766, %33749
  call void @llvm.lifetime.end.p0(i64 4, ptr %724) #11
  br label %33784

33784:                                            ; preds = %33783
  br label %33785

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

33786:                                            ; No predecessors!
  br label %33787

33787:                                            ; preds = %33786
  br label %33788

33788:                                            ; preds = %33787, %33730
  br label %33789

33789:                                            ; preds = %33788
  br label %33790

33790:                                            ; preds = %33789
  br label %33791

33791:                                            ; preds = %33790
  %33792 = load i32, ptr @test_count, align 4, !tbaa !5
  %33793 = add nsw i32 %33792, 1
  store i32 %33793, ptr @test_count, align 4, !tbaa !5
  %33794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33795 = load i32, ptr %33794, align 4, !tbaa !5
  %33796 = icmp eq i32 %33795, 402653193
  br i1 %33796, label %33850, label %33797

33797:                                            ; preds = %33791
  br label %33798

33798:                                            ; preds = %33797
  br label %33799

33799:                                            ; preds = %33798
  call void @llvm.lifetime.start.p0(i64 4, ptr %725) #11
  %33800 = call ptr @__errno_location() #12
  %33801 = load i32, ptr %33800, align 4, !tbaa !5
  store i32 %33801, ptr %725, align 4, !tbaa !5
  %33802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33803 = call i32 @s2n_print_stacktrace(ptr noundef %33802)
  %33804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33805 = trunc i8 %33804 to i1
  br i1 %33805, label %33806, label %33828

33806:                                            ; preds = %33799
  %33807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33808 = call i32 @fileno(ptr noundef %33807) #11
  %33809 = call i32 @isatty(i32 noundef %33808) #11
  %33810 = icmp ne i32 %33809, 0
  br i1 %33810, label %33811, label %33828

33811:                                            ; preds = %33806
  %33812 = load i32, ptr %725, align 4, !tbaa !5
  %33813 = call ptr @__errno_location() #12
  store i32 %33812, ptr %33813, align 4, !tbaa !5
  %33814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33815 = load i32, ptr @test_count, align 4, !tbaa !5
  %33816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33817 = load i32, ptr %33816, align 4, !tbaa !5
  %33818 = call ptr @s2n_strerror(i32 noundef %33817, ptr noundef @.str.4)
  %33819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33820 = load i32, ptr %33819, align 4, !tbaa !5
  %33821 = call ptr @s2n_strerror_debug(i32 noundef %33820, ptr noundef @.str.4)
  %33822 = call ptr @__errno_location() #12
  %33823 = load i32, ptr %33822, align 4, !tbaa !5
  %33824 = call ptr @strerror(i32 noundef %33823) #11
  %33825 = call ptr @__errno_location() #12
  %33826 = load i32, ptr %33825, align 4, !tbaa !5
  %33827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33814, ptr noundef @.str.2, i32 noundef %33815, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %33818, ptr noundef %33821, ptr noundef %33824, i32 noundef %33826) #11
  br label %33845

33828:                                            ; preds = %33806, %33799
  %33829 = load i32, ptr %725, align 4, !tbaa !5
  %33830 = call ptr @__errno_location() #12
  store i32 %33829, ptr %33830, align 4, !tbaa !5
  %33831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33832 = load i32, ptr @test_count, align 4, !tbaa !5
  %33833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33834 = load i32, ptr %33833, align 4, !tbaa !5
  %33835 = call ptr @s2n_strerror(i32 noundef %33834, ptr noundef @.str.4)
  %33836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33837 = load i32, ptr %33836, align 4, !tbaa !5
  %33838 = call ptr @s2n_strerror_debug(i32 noundef %33837, ptr noundef @.str.4)
  %33839 = call ptr @__errno_location() #12
  %33840 = load i32, ptr %33839, align 4, !tbaa !5
  %33841 = call ptr @strerror(i32 noundef %33840) #11
  %33842 = call ptr @__errno_location() #12
  %33843 = load i32, ptr %33842, align 4, !tbaa !5
  %33844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33831, ptr noundef @.str.5, i32 noundef %33832, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %33835, ptr noundef %33838, ptr noundef %33841, i32 noundef %33843) #11
  br label %33845

33845:                                            ; preds = %33828, %33811
  call void @llvm.lifetime.end.p0(i64 4, ptr %725) #11
  br label %33846

33846:                                            ; preds = %33845
  br label %33847

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

33848:                                            ; No predecessors!
  br label %33849

33849:                                            ; preds = %33848
  br label %33850

33850:                                            ; preds = %33849, %33791
  br label %33851

33851:                                            ; preds = %33850
  br label %33852

33852:                                            ; preds = %33851
  br label %33853

33853:                                            ; preds = %33852
  %33854 = load i32, ptr @test_count, align 4, !tbaa !5
  %33855 = add nsw i32 %33854, 1
  store i32 %33855, ptr @test_count, align 4, !tbaa !5
  %33856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33857 = load i32, ptr %33856, align 4, !tbaa !5
  %33858 = call ptr @s2n_strerror_debug(i32 noundef %33857, ptr noundef @.str.4)
  %33859 = icmp eq ptr %33858, null
  br i1 %33859, label %33860, label %33913

33860:                                            ; preds = %33853
  br label %33861

33861:                                            ; preds = %33860
  br label %33862

33862:                                            ; preds = %33861
  call void @llvm.lifetime.start.p0(i64 4, ptr %726) #11
  %33863 = call ptr @__errno_location() #12
  %33864 = load i32, ptr %33863, align 4, !tbaa !5
  store i32 %33864, ptr %726, align 4, !tbaa !5
  %33865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33866 = call i32 @s2n_print_stacktrace(ptr noundef %33865)
  %33867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33868 = trunc i8 %33867 to i1
  br i1 %33868, label %33869, label %33891

33869:                                            ; preds = %33862
  %33870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33871 = call i32 @fileno(ptr noundef %33870) #11
  %33872 = call i32 @isatty(i32 noundef %33871) #11
  %33873 = icmp ne i32 %33872, 0
  br i1 %33873, label %33874, label %33891

33874:                                            ; preds = %33869
  %33875 = load i32, ptr %726, align 4, !tbaa !5
  %33876 = call ptr @__errno_location() #12
  store i32 %33875, ptr %33876, align 4, !tbaa !5
  %33877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33878 = load i32, ptr @test_count, align 4, !tbaa !5
  %33879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33880 = load i32, ptr %33879, align 4, !tbaa !5
  %33881 = call ptr @s2n_strerror(i32 noundef %33880, ptr noundef @.str.4)
  %33882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33883 = load i32, ptr %33882, align 4, !tbaa !5
  %33884 = call ptr @s2n_strerror_debug(i32 noundef %33883, ptr noundef @.str.4)
  %33885 = call ptr @__errno_location() #12
  %33886 = load i32, ptr %33885, align 4, !tbaa !5
  %33887 = call ptr @strerror(i32 noundef %33886) #11
  %33888 = call ptr @__errno_location() #12
  %33889 = load i32, ptr %33888, align 4, !tbaa !5
  %33890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33877, ptr noundef @.str.2, i32 noundef %33878, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %33881, ptr noundef %33884, ptr noundef %33887, i32 noundef %33889) #11
  br label %33908

33891:                                            ; preds = %33869, %33862
  %33892 = load i32, ptr %726, align 4, !tbaa !5
  %33893 = call ptr @__errno_location() #12
  store i32 %33892, ptr %33893, align 4, !tbaa !5
  %33894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33895 = load i32, ptr @test_count, align 4, !tbaa !5
  %33896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33897 = load i32, ptr %33896, align 4, !tbaa !5
  %33898 = call ptr @s2n_strerror(i32 noundef %33897, ptr noundef @.str.4)
  %33899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33900 = load i32, ptr %33899, align 4, !tbaa !5
  %33901 = call ptr @s2n_strerror_debug(i32 noundef %33900, ptr noundef @.str.4)
  %33902 = call ptr @__errno_location() #12
  %33903 = load i32, ptr %33902, align 4, !tbaa !5
  %33904 = call ptr @strerror(i32 noundef %33903) #11
  %33905 = call ptr @__errno_location() #12
  %33906 = load i32, ptr %33905, align 4, !tbaa !5
  %33907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33894, ptr noundef @.str.5, i32 noundef %33895, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %33898, ptr noundef %33901, ptr noundef %33904, i32 noundef %33906) #11
  br label %33908

33908:                                            ; preds = %33891, %33874
  call void @llvm.lifetime.end.p0(i64 4, ptr %726) #11
  br label %33909

33909:                                            ; preds = %33908
  br label %33910

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

33911:                                            ; No predecessors!
  br label %33912

33912:                                            ; preds = %33911
  br label %33913

33913:                                            ; preds = %33912, %33853
  br label %33914

33914:                                            ; preds = %33913
  br label %33915

33915:                                            ; preds = %33914
  br label %33916

33916:                                            ; preds = %33915
  br label %33917

33917:                                            ; preds = %33916
  br label %33918

33918:                                            ; preds = %33917
  %33919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %33919, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %33920 = call ptr @__errno_location() #12
  store i32 0, ptr %33920, align 4, !tbaa !5
  br label %33921

33921:                                            ; preds = %33918
  br label %33922

33922:                                            ; preds = %33921
  br label %33923

33923:                                            ; preds = %33922
  br label %33924

33924:                                            ; preds = %33923
  br label %33925

33925:                                            ; preds = %33924
  br label %33926

33926:                                            ; preds = %33925
  br label %33927

33927:                                            ; preds = %33926
  %33928 = load i32, ptr @test_count, align 4, !tbaa !5
  %33929 = add nsw i32 %33928, 1
  store i32 %33929, ptr @test_count, align 4, !tbaa !5
  %33930 = call i32 @s2n_offered_early_data_get_context(ptr noundef %713, ptr noundef null, i16 noundef zeroext 1)
  %33931 = icmp eq i32 %33930, -1
  br i1 %33931, label %33985, label %33932

33932:                                            ; preds = %33927
  br label %33933

33933:                                            ; preds = %33932
  br label %33934

33934:                                            ; preds = %33933
  call void @llvm.lifetime.start.p0(i64 4, ptr %727) #11
  %33935 = call ptr @__errno_location() #12
  %33936 = load i32, ptr %33935, align 4, !tbaa !5
  store i32 %33936, ptr %727, align 4, !tbaa !5
  %33937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33938 = call i32 @s2n_print_stacktrace(ptr noundef %33937)
  %33939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33940 = trunc i8 %33939 to i1
  br i1 %33940, label %33941, label %33963

33941:                                            ; preds = %33934
  %33942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33943 = call i32 @fileno(ptr noundef %33942) #11
  %33944 = call i32 @isatty(i32 noundef %33943) #11
  %33945 = icmp ne i32 %33944, 0
  br i1 %33945, label %33946, label %33963

33946:                                            ; preds = %33941
  %33947 = load i32, ptr %727, align 4, !tbaa !5
  %33948 = call ptr @__errno_location() #12
  store i32 %33947, ptr %33948, align 4, !tbaa !5
  %33949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33950 = load i32, ptr @test_count, align 4, !tbaa !5
  %33951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33952 = load i32, ptr %33951, align 4, !tbaa !5
  %33953 = call ptr @s2n_strerror(i32 noundef %33952, ptr noundef @.str.4)
  %33954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33955 = load i32, ptr %33954, align 4, !tbaa !5
  %33956 = call ptr @s2n_strerror_debug(i32 noundef %33955, ptr noundef @.str.4)
  %33957 = call ptr @__errno_location() #12
  %33958 = load i32, ptr %33957, align 4, !tbaa !5
  %33959 = call ptr @strerror(i32 noundef %33958) #11
  %33960 = call ptr @__errno_location() #12
  %33961 = load i32, ptr %33960, align 4, !tbaa !5
  %33962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33949, ptr noundef @.str.2, i32 noundef %33950, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %33953, ptr noundef %33956, ptr noundef %33959, i32 noundef %33961) #11
  br label %33980

33963:                                            ; preds = %33941, %33934
  %33964 = load i32, ptr %727, align 4, !tbaa !5
  %33965 = call ptr @__errno_location() #12
  store i32 %33964, ptr %33965, align 4, !tbaa !5
  %33966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33967 = load i32, ptr @test_count, align 4, !tbaa !5
  %33968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33969 = load i32, ptr %33968, align 4, !tbaa !5
  %33970 = call ptr @s2n_strerror(i32 noundef %33969, ptr noundef @.str.4)
  %33971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33972 = load i32, ptr %33971, align 4, !tbaa !5
  %33973 = call ptr @s2n_strerror_debug(i32 noundef %33972, ptr noundef @.str.4)
  %33974 = call ptr @__errno_location() #12
  %33975 = load i32, ptr %33974, align 4, !tbaa !5
  %33976 = call ptr @strerror(i32 noundef %33975) #11
  %33977 = call ptr @__errno_location() #12
  %33978 = load i32, ptr %33977, align 4, !tbaa !5
  %33979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33966, ptr noundef @.str.5, i32 noundef %33967, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %33970, ptr noundef %33973, ptr noundef %33976, i32 noundef %33978) #11
  br label %33980

33980:                                            ; preds = %33963, %33946
  call void @llvm.lifetime.end.p0(i64 4, ptr %727) #11
  br label %33981

33981:                                            ; preds = %33980
  br label %33982

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

33983:                                            ; No predecessors!
  br label %33984

33984:                                            ; preds = %33983
  br label %33985

33985:                                            ; preds = %33984, %33927
  br label %33986

33986:                                            ; preds = %33985
  br label %33987

33987:                                            ; preds = %33986
  br label %33988

33988:                                            ; preds = %33987
  %33989 = load i32, ptr @test_count, align 4, !tbaa !5
  %33990 = add nsw i32 %33989, 1
  store i32 %33990, ptr @test_count, align 4, !tbaa !5
  %33991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33992 = load i32, ptr %33991, align 4, !tbaa !5
  %33993 = icmp eq i32 %33992, 402653193
  br i1 %33993, label %34047, label %33994

33994:                                            ; preds = %33988
  br label %33995

33995:                                            ; preds = %33994
  br label %33996

33996:                                            ; preds = %33995
  call void @llvm.lifetime.start.p0(i64 4, ptr %728) #11
  %33997 = call ptr @__errno_location() #12
  %33998 = load i32, ptr %33997, align 4, !tbaa !5
  store i32 %33998, ptr %728, align 4, !tbaa !5
  %33999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34000 = call i32 @s2n_print_stacktrace(ptr noundef %33999)
  %34001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34002 = trunc i8 %34001 to i1
  br i1 %34002, label %34003, label %34025

34003:                                            ; preds = %33996
  %34004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34005 = call i32 @fileno(ptr noundef %34004) #11
  %34006 = call i32 @isatty(i32 noundef %34005) #11
  %34007 = icmp ne i32 %34006, 0
  br i1 %34007, label %34008, label %34025

34008:                                            ; preds = %34003
  %34009 = load i32, ptr %728, align 4, !tbaa !5
  %34010 = call ptr @__errno_location() #12
  store i32 %34009, ptr %34010, align 4, !tbaa !5
  %34011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34012 = load i32, ptr @test_count, align 4, !tbaa !5
  %34013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34014 = load i32, ptr %34013, align 4, !tbaa !5
  %34015 = call ptr @s2n_strerror(i32 noundef %34014, ptr noundef @.str.4)
  %34016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34017 = load i32, ptr %34016, align 4, !tbaa !5
  %34018 = call ptr @s2n_strerror_debug(i32 noundef %34017, ptr noundef @.str.4)
  %34019 = call ptr @__errno_location() #12
  %34020 = load i32, ptr %34019, align 4, !tbaa !5
  %34021 = call ptr @strerror(i32 noundef %34020) #11
  %34022 = call ptr @__errno_location() #12
  %34023 = load i32, ptr %34022, align 4, !tbaa !5
  %34024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34011, ptr noundef @.str.2, i32 noundef %34012, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %34015, ptr noundef %34018, ptr noundef %34021, i32 noundef %34023) #11
  br label %34042

34025:                                            ; preds = %34003, %33996
  %34026 = load i32, ptr %728, align 4, !tbaa !5
  %34027 = call ptr @__errno_location() #12
  store i32 %34026, ptr %34027, align 4, !tbaa !5
  %34028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34029 = load i32, ptr @test_count, align 4, !tbaa !5
  %34030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34031 = load i32, ptr %34030, align 4, !tbaa !5
  %34032 = call ptr @s2n_strerror(i32 noundef %34031, ptr noundef @.str.4)
  %34033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34034 = load i32, ptr %34033, align 4, !tbaa !5
  %34035 = call ptr @s2n_strerror_debug(i32 noundef %34034, ptr noundef @.str.4)
  %34036 = call ptr @__errno_location() #12
  %34037 = load i32, ptr %34036, align 4, !tbaa !5
  %34038 = call ptr @strerror(i32 noundef %34037) #11
  %34039 = call ptr @__errno_location() #12
  %34040 = load i32, ptr %34039, align 4, !tbaa !5
  %34041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34028, ptr noundef @.str.5, i32 noundef %34029, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %34032, ptr noundef %34035, ptr noundef %34038, i32 noundef %34040) #11
  br label %34042

34042:                                            ; preds = %34025, %34008
  call void @llvm.lifetime.end.p0(i64 4, ptr %728) #11
  br label %34043

34043:                                            ; preds = %34042
  br label %34044

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

34045:                                            ; No predecessors!
  br label %34046

34046:                                            ; preds = %34045
  br label %34047

34047:                                            ; preds = %34046, %33988
  br label %34048

34048:                                            ; preds = %34047
  br label %34049

34049:                                            ; preds = %34048
  br label %34050

34050:                                            ; preds = %34049
  %34051 = load i32, ptr @test_count, align 4, !tbaa !5
  %34052 = add nsw i32 %34051, 1
  store i32 %34052, ptr @test_count, align 4, !tbaa !5
  %34053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34054 = load i32, ptr %34053, align 4, !tbaa !5
  %34055 = call ptr @s2n_strerror_debug(i32 noundef %34054, ptr noundef @.str.4)
  %34056 = icmp eq ptr %34055, null
  br i1 %34056, label %34057, label %34110

34057:                                            ; preds = %34050
  br label %34058

34058:                                            ; preds = %34057
  br label %34059

34059:                                            ; preds = %34058
  call void @llvm.lifetime.start.p0(i64 4, ptr %729) #11
  %34060 = call ptr @__errno_location() #12
  %34061 = load i32, ptr %34060, align 4, !tbaa !5
  store i32 %34061, ptr %729, align 4, !tbaa !5
  %34062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34063 = call i32 @s2n_print_stacktrace(ptr noundef %34062)
  %34064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34065 = trunc i8 %34064 to i1
  br i1 %34065, label %34066, label %34088

34066:                                            ; preds = %34059
  %34067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34068 = call i32 @fileno(ptr noundef %34067) #11
  %34069 = call i32 @isatty(i32 noundef %34068) #11
  %34070 = icmp ne i32 %34069, 0
  br i1 %34070, label %34071, label %34088

34071:                                            ; preds = %34066
  %34072 = load i32, ptr %729, align 4, !tbaa !5
  %34073 = call ptr @__errno_location() #12
  store i32 %34072, ptr %34073, align 4, !tbaa !5
  %34074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34075 = load i32, ptr @test_count, align 4, !tbaa !5
  %34076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34077 = load i32, ptr %34076, align 4, !tbaa !5
  %34078 = call ptr @s2n_strerror(i32 noundef %34077, ptr noundef @.str.4)
  %34079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34080 = load i32, ptr %34079, align 4, !tbaa !5
  %34081 = call ptr @s2n_strerror_debug(i32 noundef %34080, ptr noundef @.str.4)
  %34082 = call ptr @__errno_location() #12
  %34083 = load i32, ptr %34082, align 4, !tbaa !5
  %34084 = call ptr @strerror(i32 noundef %34083) #11
  %34085 = call ptr @__errno_location() #12
  %34086 = load i32, ptr %34085, align 4, !tbaa !5
  %34087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34074, ptr noundef @.str.2, i32 noundef %34075, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %34078, ptr noundef %34081, ptr noundef %34084, i32 noundef %34086) #11
  br label %34105

34088:                                            ; preds = %34066, %34059
  %34089 = load i32, ptr %729, align 4, !tbaa !5
  %34090 = call ptr @__errno_location() #12
  store i32 %34089, ptr %34090, align 4, !tbaa !5
  %34091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34092 = load i32, ptr @test_count, align 4, !tbaa !5
  %34093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34094 = load i32, ptr %34093, align 4, !tbaa !5
  %34095 = call ptr @s2n_strerror(i32 noundef %34094, ptr noundef @.str.4)
  %34096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34097 = load i32, ptr %34096, align 4, !tbaa !5
  %34098 = call ptr @s2n_strerror_debug(i32 noundef %34097, ptr noundef @.str.4)
  %34099 = call ptr @__errno_location() #12
  %34100 = load i32, ptr %34099, align 4, !tbaa !5
  %34101 = call ptr @strerror(i32 noundef %34100) #11
  %34102 = call ptr @__errno_location() #12
  %34103 = load i32, ptr %34102, align 4, !tbaa !5
  %34104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34091, ptr noundef @.str.5, i32 noundef %34092, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %34095, ptr noundef %34098, ptr noundef %34101, i32 noundef %34103) #11
  br label %34105

34105:                                            ; preds = %34088, %34071
  call void @llvm.lifetime.end.p0(i64 4, ptr %729) #11
  br label %34106

34106:                                            ; preds = %34105
  br label %34107

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

34108:                                            ; No predecessors!
  br label %34109

34109:                                            ; preds = %34108
  br label %34110

34110:                                            ; preds = %34109, %34050
  br label %34111

34111:                                            ; preds = %34110
  br label %34112

34112:                                            ; preds = %34111
  br label %34113

34113:                                            ; preds = %34112
  br label %34114

34114:                                            ; preds = %34113
  br label %34115

34115:                                            ; preds = %34114
  %34116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %34116, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %34117 = call ptr @__errno_location() #12
  store i32 0, ptr %34117, align 4, !tbaa !5
  br label %34118

34118:                                            ; preds = %34115
  br label %34119

34119:                                            ; preds = %34118
  br label %34120

34120:                                            ; preds = %34119
  br label %34121

34121:                                            ; preds = %34120
  br label %34122

34122:                                            ; preds = %34121
  br label %34123

34123:                                            ; preds = %34122
  br label %34124

34124:                                            ; preds = %34123
  %34125 = load i32, ptr @test_count, align 4, !tbaa !5
  %34126 = add nsw i32 %34125, 1
  store i32 %34126, ptr @test_count, align 4, !tbaa !5
  %34127 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef %713, ptr noundef %717)
  %34128 = icmp eq i32 %34127, -1
  br i1 %34128, label %34182, label %34129

34129:                                            ; preds = %34124
  br label %34130

34130:                                            ; preds = %34129
  br label %34131

34131:                                            ; preds = %34130
  call void @llvm.lifetime.start.p0(i64 4, ptr %730) #11
  %34132 = call ptr @__errno_location() #12
  %34133 = load i32, ptr %34132, align 4, !tbaa !5
  store i32 %34133, ptr %730, align 4, !tbaa !5
  %34134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34135 = call i32 @s2n_print_stacktrace(ptr noundef %34134)
  %34136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34137 = trunc i8 %34136 to i1
  br i1 %34137, label %34138, label %34160

34138:                                            ; preds = %34131
  %34139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34140 = call i32 @fileno(ptr noundef %34139) #11
  %34141 = call i32 @isatty(i32 noundef %34140) #11
  %34142 = icmp ne i32 %34141, 0
  br i1 %34142, label %34143, label %34160

34143:                                            ; preds = %34138
  %34144 = load i32, ptr %730, align 4, !tbaa !5
  %34145 = call ptr @__errno_location() #12
  store i32 %34144, ptr %34145, align 4, !tbaa !5
  %34146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34147 = load i32, ptr @test_count, align 4, !tbaa !5
  %34148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34149 = load i32, ptr %34148, align 4, !tbaa !5
  %34150 = call ptr @s2n_strerror(i32 noundef %34149, ptr noundef @.str.4)
  %34151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34152 = load i32, ptr %34151, align 4, !tbaa !5
  %34153 = call ptr @s2n_strerror_debug(i32 noundef %34152, ptr noundef @.str.4)
  %34154 = call ptr @__errno_location() #12
  %34155 = load i32, ptr %34154, align 4, !tbaa !5
  %34156 = call ptr @strerror(i32 noundef %34155) #11
  %34157 = call ptr @__errno_location() #12
  %34158 = load i32, ptr %34157, align 4, !tbaa !5
  %34159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34146, ptr noundef @.str.2, i32 noundef %34147, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %34150, ptr noundef %34153, ptr noundef %34156, i32 noundef %34158) #11
  br label %34177

34160:                                            ; preds = %34138, %34131
  %34161 = load i32, ptr %730, align 4, !tbaa !5
  %34162 = call ptr @__errno_location() #12
  store i32 %34161, ptr %34162, align 4, !tbaa !5
  %34163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34164 = load i32, ptr @test_count, align 4, !tbaa !5
  %34165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34166 = load i32, ptr %34165, align 4, !tbaa !5
  %34167 = call ptr @s2n_strerror(i32 noundef %34166, ptr noundef @.str.4)
  %34168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34169 = load i32, ptr %34168, align 4, !tbaa !5
  %34170 = call ptr @s2n_strerror_debug(i32 noundef %34169, ptr noundef @.str.4)
  %34171 = call ptr @__errno_location() #12
  %34172 = load i32, ptr %34171, align 4, !tbaa !5
  %34173 = call ptr @strerror(i32 noundef %34172) #11
  %34174 = call ptr @__errno_location() #12
  %34175 = load i32, ptr %34174, align 4, !tbaa !5
  %34176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34163, ptr noundef @.str.5, i32 noundef %34164, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %34167, ptr noundef %34170, ptr noundef %34173, i32 noundef %34175) #11
  br label %34177

34177:                                            ; preds = %34160, %34143
  call void @llvm.lifetime.end.p0(i64 4, ptr %730) #11
  br label %34178

34178:                                            ; preds = %34177
  br label %34179

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

34180:                                            ; No predecessors!
  br label %34181

34181:                                            ; preds = %34180
  br label %34182

34182:                                            ; preds = %34181, %34124
  br label %34183

34183:                                            ; preds = %34182
  br label %34184

34184:                                            ; preds = %34183
  br label %34185

34185:                                            ; preds = %34184
  %34186 = load i32, ptr @test_count, align 4, !tbaa !5
  %34187 = add nsw i32 %34186, 1
  store i32 %34187, ptr @test_count, align 4, !tbaa !5
  %34188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34189 = load i32, ptr %34188, align 4, !tbaa !5
  %34190 = icmp eq i32 %34189, 402653193
  br i1 %34190, label %34244, label %34191

34191:                                            ; preds = %34185
  br label %34192

34192:                                            ; preds = %34191
  br label %34193

34193:                                            ; preds = %34192
  call void @llvm.lifetime.start.p0(i64 4, ptr %731) #11
  %34194 = call ptr @__errno_location() #12
  %34195 = load i32, ptr %34194, align 4, !tbaa !5
  store i32 %34195, ptr %731, align 4, !tbaa !5
  %34196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34197 = call i32 @s2n_print_stacktrace(ptr noundef %34196)
  %34198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34199 = trunc i8 %34198 to i1
  br i1 %34199, label %34200, label %34222

34200:                                            ; preds = %34193
  %34201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34202 = call i32 @fileno(ptr noundef %34201) #11
  %34203 = call i32 @isatty(i32 noundef %34202) #11
  %34204 = icmp ne i32 %34203, 0
  br i1 %34204, label %34205, label %34222

34205:                                            ; preds = %34200
  %34206 = load i32, ptr %731, align 4, !tbaa !5
  %34207 = call ptr @__errno_location() #12
  store i32 %34206, ptr %34207, align 4, !tbaa !5
  %34208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34209 = load i32, ptr @test_count, align 4, !tbaa !5
  %34210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34211 = load i32, ptr %34210, align 4, !tbaa !5
  %34212 = call ptr @s2n_strerror(i32 noundef %34211, ptr noundef @.str.4)
  %34213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34214 = load i32, ptr %34213, align 4, !tbaa !5
  %34215 = call ptr @s2n_strerror_debug(i32 noundef %34214, ptr noundef @.str.4)
  %34216 = call ptr @__errno_location() #12
  %34217 = load i32, ptr %34216, align 4, !tbaa !5
  %34218 = call ptr @strerror(i32 noundef %34217) #11
  %34219 = call ptr @__errno_location() #12
  %34220 = load i32, ptr %34219, align 4, !tbaa !5
  %34221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34208, ptr noundef @.str.2, i32 noundef %34209, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %34212, ptr noundef %34215, ptr noundef %34218, i32 noundef %34220) #11
  br label %34239

34222:                                            ; preds = %34200, %34193
  %34223 = load i32, ptr %731, align 4, !tbaa !5
  %34224 = call ptr @__errno_location() #12
  store i32 %34223, ptr %34224, align 4, !tbaa !5
  %34225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34226 = load i32, ptr @test_count, align 4, !tbaa !5
  %34227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34228 = load i32, ptr %34227, align 4, !tbaa !5
  %34229 = call ptr @s2n_strerror(i32 noundef %34228, ptr noundef @.str.4)
  %34230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34231 = load i32, ptr %34230, align 4, !tbaa !5
  %34232 = call ptr @s2n_strerror_debug(i32 noundef %34231, ptr noundef @.str.4)
  %34233 = call ptr @__errno_location() #12
  %34234 = load i32, ptr %34233, align 4, !tbaa !5
  %34235 = call ptr @strerror(i32 noundef %34234) #11
  %34236 = call ptr @__errno_location() #12
  %34237 = load i32, ptr %34236, align 4, !tbaa !5
  %34238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34225, ptr noundef @.str.5, i32 noundef %34226, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %34229, ptr noundef %34232, ptr noundef %34235, i32 noundef %34237) #11
  br label %34239

34239:                                            ; preds = %34222, %34205
  call void @llvm.lifetime.end.p0(i64 4, ptr %731) #11
  br label %34240

34240:                                            ; preds = %34239
  br label %34241

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

34242:                                            ; No predecessors!
  br label %34243

34243:                                            ; preds = %34242
  br label %34244

34244:                                            ; preds = %34243, %34185
  br label %34245

34245:                                            ; preds = %34244
  br label %34246

34246:                                            ; preds = %34245
  br label %34247

34247:                                            ; preds = %34246
  %34248 = load i32, ptr @test_count, align 4, !tbaa !5
  %34249 = add nsw i32 %34248, 1
  store i32 %34249, ptr @test_count, align 4, !tbaa !5
  %34250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34251 = load i32, ptr %34250, align 4, !tbaa !5
  %34252 = call ptr @s2n_strerror_debug(i32 noundef %34251, ptr noundef @.str.4)
  %34253 = icmp eq ptr %34252, null
  br i1 %34253, label %34254, label %34307

34254:                                            ; preds = %34247
  br label %34255

34255:                                            ; preds = %34254
  br label %34256

34256:                                            ; preds = %34255
  call void @llvm.lifetime.start.p0(i64 4, ptr %732) #11
  %34257 = call ptr @__errno_location() #12
  %34258 = load i32, ptr %34257, align 4, !tbaa !5
  store i32 %34258, ptr %732, align 4, !tbaa !5
  %34259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34260 = call i32 @s2n_print_stacktrace(ptr noundef %34259)
  %34261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34262 = trunc i8 %34261 to i1
  br i1 %34262, label %34263, label %34285

34263:                                            ; preds = %34256
  %34264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34265 = call i32 @fileno(ptr noundef %34264) #11
  %34266 = call i32 @isatty(i32 noundef %34265) #11
  %34267 = icmp ne i32 %34266, 0
  br i1 %34267, label %34268, label %34285

34268:                                            ; preds = %34263
  %34269 = load i32, ptr %732, align 4, !tbaa !5
  %34270 = call ptr @__errno_location() #12
  store i32 %34269, ptr %34270, align 4, !tbaa !5
  %34271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34272 = load i32, ptr @test_count, align 4, !tbaa !5
  %34273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34274 = load i32, ptr %34273, align 4, !tbaa !5
  %34275 = call ptr @s2n_strerror(i32 noundef %34274, ptr noundef @.str.4)
  %34276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34277 = load i32, ptr %34276, align 4, !tbaa !5
  %34278 = call ptr @s2n_strerror_debug(i32 noundef %34277, ptr noundef @.str.4)
  %34279 = call ptr @__errno_location() #12
  %34280 = load i32, ptr %34279, align 4, !tbaa !5
  %34281 = call ptr @strerror(i32 noundef %34280) #11
  %34282 = call ptr @__errno_location() #12
  %34283 = load i32, ptr %34282, align 4, !tbaa !5
  %34284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34271, ptr noundef @.str.2, i32 noundef %34272, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %34275, ptr noundef %34278, ptr noundef %34281, i32 noundef %34283) #11
  br label %34302

34285:                                            ; preds = %34263, %34256
  %34286 = load i32, ptr %732, align 4, !tbaa !5
  %34287 = call ptr @__errno_location() #12
  store i32 %34286, ptr %34287, align 4, !tbaa !5
  %34288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34289 = load i32, ptr @test_count, align 4, !tbaa !5
  %34290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34291 = load i32, ptr %34290, align 4, !tbaa !5
  %34292 = call ptr @s2n_strerror(i32 noundef %34291, ptr noundef @.str.4)
  %34293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34294 = load i32, ptr %34293, align 4, !tbaa !5
  %34295 = call ptr @s2n_strerror_debug(i32 noundef %34294, ptr noundef @.str.4)
  %34296 = call ptr @__errno_location() #12
  %34297 = load i32, ptr %34296, align 4, !tbaa !5
  %34298 = call ptr @strerror(i32 noundef %34297) #11
  %34299 = call ptr @__errno_location() #12
  %34300 = load i32, ptr %34299, align 4, !tbaa !5
  %34301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34288, ptr noundef @.str.5, i32 noundef %34289, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %34292, ptr noundef %34295, ptr noundef %34298, i32 noundef %34300) #11
  br label %34302

34302:                                            ; preds = %34285, %34268
  call void @llvm.lifetime.end.p0(i64 4, ptr %732) #11
  br label %34303

34303:                                            ; preds = %34302
  br label %34304

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

34305:                                            ; No predecessors!
  br label %34306

34306:                                            ; preds = %34305
  br label %34307

34307:                                            ; preds = %34306, %34247
  br label %34308

34308:                                            ; preds = %34307
  br label %34309

34309:                                            ; preds = %34308
  br label %34310

34310:                                            ; preds = %34309
  br label %34311

34311:                                            ; preds = %34310
  br label %34312

34312:                                            ; preds = %34311
  %34313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %34313, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %34314 = call ptr @__errno_location() #12
  store i32 0, ptr %34314, align 4, !tbaa !5
  br label %34315

34315:                                            ; preds = %34312
  br label %34316

34316:                                            ; preds = %34315
  br label %34317

34317:                                            ; preds = %34316
  br label %34318

34318:                                            ; preds = %34317
  br label %34319

34319:                                            ; preds = %34318
  br label %34320

34320:                                            ; preds = %34319
  br label %34321

34321:                                            ; preds = %34320
  %34322 = load i32, ptr @test_count, align 4, !tbaa !5
  %34323 = add nsw i32 %34322, 1
  store i32 %34323, ptr @test_count, align 4, !tbaa !5
  %34324 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %34325 = call i32 @s2n_offered_early_data_get_context(ptr noundef %713, ptr noundef %34324, i16 noundef zeroext 1)
  %34326 = icmp eq i32 %34325, -1
  br i1 %34326, label %34380, label %34327

34327:                                            ; preds = %34321
  br label %34328

34328:                                            ; preds = %34327
  br label %34329

34329:                                            ; preds = %34328
  call void @llvm.lifetime.start.p0(i64 4, ptr %733) #11
  %34330 = call ptr @__errno_location() #12
  %34331 = load i32, ptr %34330, align 4, !tbaa !5
  store i32 %34331, ptr %733, align 4, !tbaa !5
  %34332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34333 = call i32 @s2n_print_stacktrace(ptr noundef %34332)
  %34334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34335 = trunc i8 %34334 to i1
  br i1 %34335, label %34336, label %34358

34336:                                            ; preds = %34329
  %34337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34338 = call i32 @fileno(ptr noundef %34337) #11
  %34339 = call i32 @isatty(i32 noundef %34338) #11
  %34340 = icmp ne i32 %34339, 0
  br i1 %34340, label %34341, label %34358

34341:                                            ; preds = %34336
  %34342 = load i32, ptr %733, align 4, !tbaa !5
  %34343 = call ptr @__errno_location() #12
  store i32 %34342, ptr %34343, align 4, !tbaa !5
  %34344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34345 = load i32, ptr @test_count, align 4, !tbaa !5
  %34346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34347 = load i32, ptr %34346, align 4, !tbaa !5
  %34348 = call ptr @s2n_strerror(i32 noundef %34347, ptr noundef @.str.4)
  %34349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34350 = load i32, ptr %34349, align 4, !tbaa !5
  %34351 = call ptr @s2n_strerror_debug(i32 noundef %34350, ptr noundef @.str.4)
  %34352 = call ptr @__errno_location() #12
  %34353 = load i32, ptr %34352, align 4, !tbaa !5
  %34354 = call ptr @strerror(i32 noundef %34353) #11
  %34355 = call ptr @__errno_location() #12
  %34356 = load i32, ptr %34355, align 4, !tbaa !5
  %34357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34344, ptr noundef @.str.2, i32 noundef %34345, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %34348, ptr noundef %34351, ptr noundef %34354, i32 noundef %34356) #11
  br label %34375

34358:                                            ; preds = %34336, %34329
  %34359 = load i32, ptr %733, align 4, !tbaa !5
  %34360 = call ptr @__errno_location() #12
  store i32 %34359, ptr %34360, align 4, !tbaa !5
  %34361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34362 = load i32, ptr @test_count, align 4, !tbaa !5
  %34363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34364 = load i32, ptr %34363, align 4, !tbaa !5
  %34365 = call ptr @s2n_strerror(i32 noundef %34364, ptr noundef @.str.4)
  %34366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34367 = load i32, ptr %34366, align 4, !tbaa !5
  %34368 = call ptr @s2n_strerror_debug(i32 noundef %34367, ptr noundef @.str.4)
  %34369 = call ptr @__errno_location() #12
  %34370 = load i32, ptr %34369, align 4, !tbaa !5
  %34371 = call ptr @strerror(i32 noundef %34370) #11
  %34372 = call ptr @__errno_location() #12
  %34373 = load i32, ptr %34372, align 4, !tbaa !5
  %34374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34361, ptr noundef @.str.5, i32 noundef %34362, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %34365, ptr noundef %34368, ptr noundef %34371, i32 noundef %34373) #11
  br label %34375

34375:                                            ; preds = %34358, %34341
  call void @llvm.lifetime.end.p0(i64 4, ptr %733) #11
  br label %34376

34376:                                            ; preds = %34375
  br label %34377

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

34378:                                            ; No predecessors!
  br label %34379

34379:                                            ; preds = %34378
  br label %34380

34380:                                            ; preds = %34379, %34321
  br label %34381

34381:                                            ; preds = %34380
  br label %34382

34382:                                            ; preds = %34381
  br label %34383

34383:                                            ; preds = %34382
  %34384 = load i32, ptr @test_count, align 4, !tbaa !5
  %34385 = add nsw i32 %34384, 1
  store i32 %34385, ptr @test_count, align 4, !tbaa !5
  %34386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34387 = load i32, ptr %34386, align 4, !tbaa !5
  %34388 = icmp eq i32 %34387, 402653193
  br i1 %34388, label %34442, label %34389

34389:                                            ; preds = %34383
  br label %34390

34390:                                            ; preds = %34389
  br label %34391

34391:                                            ; preds = %34390
  call void @llvm.lifetime.start.p0(i64 4, ptr %734) #11
  %34392 = call ptr @__errno_location() #12
  %34393 = load i32, ptr %34392, align 4, !tbaa !5
  store i32 %34393, ptr %734, align 4, !tbaa !5
  %34394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34395 = call i32 @s2n_print_stacktrace(ptr noundef %34394)
  %34396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34397 = trunc i8 %34396 to i1
  br i1 %34397, label %34398, label %34420

34398:                                            ; preds = %34391
  %34399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34400 = call i32 @fileno(ptr noundef %34399) #11
  %34401 = call i32 @isatty(i32 noundef %34400) #11
  %34402 = icmp ne i32 %34401, 0
  br i1 %34402, label %34403, label %34420

34403:                                            ; preds = %34398
  %34404 = load i32, ptr %734, align 4, !tbaa !5
  %34405 = call ptr @__errno_location() #12
  store i32 %34404, ptr %34405, align 4, !tbaa !5
  %34406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34407 = load i32, ptr @test_count, align 4, !tbaa !5
  %34408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34409 = load i32, ptr %34408, align 4, !tbaa !5
  %34410 = call ptr @s2n_strerror(i32 noundef %34409, ptr noundef @.str.4)
  %34411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34412 = load i32, ptr %34411, align 4, !tbaa !5
  %34413 = call ptr @s2n_strerror_debug(i32 noundef %34412, ptr noundef @.str.4)
  %34414 = call ptr @__errno_location() #12
  %34415 = load i32, ptr %34414, align 4, !tbaa !5
  %34416 = call ptr @strerror(i32 noundef %34415) #11
  %34417 = call ptr @__errno_location() #12
  %34418 = load i32, ptr %34417, align 4, !tbaa !5
  %34419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34406, ptr noundef @.str.2, i32 noundef %34407, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %34410, ptr noundef %34413, ptr noundef %34416, i32 noundef %34418) #11
  br label %34437

34420:                                            ; preds = %34398, %34391
  %34421 = load i32, ptr %734, align 4, !tbaa !5
  %34422 = call ptr @__errno_location() #12
  store i32 %34421, ptr %34422, align 4, !tbaa !5
  %34423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34424 = load i32, ptr @test_count, align 4, !tbaa !5
  %34425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34426 = load i32, ptr %34425, align 4, !tbaa !5
  %34427 = call ptr @s2n_strerror(i32 noundef %34426, ptr noundef @.str.4)
  %34428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34429 = load i32, ptr %34428, align 4, !tbaa !5
  %34430 = call ptr @s2n_strerror_debug(i32 noundef %34429, ptr noundef @.str.4)
  %34431 = call ptr @__errno_location() #12
  %34432 = load i32, ptr %34431, align 4, !tbaa !5
  %34433 = call ptr @strerror(i32 noundef %34432) #11
  %34434 = call ptr @__errno_location() #12
  %34435 = load i32, ptr %34434, align 4, !tbaa !5
  %34436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34423, ptr noundef @.str.5, i32 noundef %34424, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %34427, ptr noundef %34430, ptr noundef %34433, i32 noundef %34435) #11
  br label %34437

34437:                                            ; preds = %34420, %34403
  call void @llvm.lifetime.end.p0(i64 4, ptr %734) #11
  br label %34438

34438:                                            ; preds = %34437
  br label %34439

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

34440:                                            ; No predecessors!
  br label %34441

34441:                                            ; preds = %34440
  br label %34442

34442:                                            ; preds = %34441, %34383
  br label %34443

34443:                                            ; preds = %34442
  br label %34444

34444:                                            ; preds = %34443
  br label %34445

34445:                                            ; preds = %34444
  %34446 = load i32, ptr @test_count, align 4, !tbaa !5
  %34447 = add nsw i32 %34446, 1
  store i32 %34447, ptr @test_count, align 4, !tbaa !5
  %34448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34449 = load i32, ptr %34448, align 4, !tbaa !5
  %34450 = call ptr @s2n_strerror_debug(i32 noundef %34449, ptr noundef @.str.4)
  %34451 = icmp eq ptr %34450, null
  br i1 %34451, label %34452, label %34505

34452:                                            ; preds = %34445
  br label %34453

34453:                                            ; preds = %34452
  br label %34454

34454:                                            ; preds = %34453
  call void @llvm.lifetime.start.p0(i64 4, ptr %735) #11
  %34455 = call ptr @__errno_location() #12
  %34456 = load i32, ptr %34455, align 4, !tbaa !5
  store i32 %34456, ptr %735, align 4, !tbaa !5
  %34457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34458 = call i32 @s2n_print_stacktrace(ptr noundef %34457)
  %34459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34460 = trunc i8 %34459 to i1
  br i1 %34460, label %34461, label %34483

34461:                                            ; preds = %34454
  %34462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34463 = call i32 @fileno(ptr noundef %34462) #11
  %34464 = call i32 @isatty(i32 noundef %34463) #11
  %34465 = icmp ne i32 %34464, 0
  br i1 %34465, label %34466, label %34483

34466:                                            ; preds = %34461
  %34467 = load i32, ptr %735, align 4, !tbaa !5
  %34468 = call ptr @__errno_location() #12
  store i32 %34467, ptr %34468, align 4, !tbaa !5
  %34469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34470 = load i32, ptr @test_count, align 4, !tbaa !5
  %34471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34472 = load i32, ptr %34471, align 4, !tbaa !5
  %34473 = call ptr @s2n_strerror(i32 noundef %34472, ptr noundef @.str.4)
  %34474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34475 = load i32, ptr %34474, align 4, !tbaa !5
  %34476 = call ptr @s2n_strerror_debug(i32 noundef %34475, ptr noundef @.str.4)
  %34477 = call ptr @__errno_location() #12
  %34478 = load i32, ptr %34477, align 4, !tbaa !5
  %34479 = call ptr @strerror(i32 noundef %34478) #11
  %34480 = call ptr @__errno_location() #12
  %34481 = load i32, ptr %34480, align 4, !tbaa !5
  %34482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34469, ptr noundef @.str.2, i32 noundef %34470, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %34473, ptr noundef %34476, ptr noundef %34479, i32 noundef %34481) #11
  br label %34500

34483:                                            ; preds = %34461, %34454
  %34484 = load i32, ptr %735, align 4, !tbaa !5
  %34485 = call ptr @__errno_location() #12
  store i32 %34484, ptr %34485, align 4, !tbaa !5
  %34486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34487 = load i32, ptr @test_count, align 4, !tbaa !5
  %34488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34489 = load i32, ptr %34488, align 4, !tbaa !5
  %34490 = call ptr @s2n_strerror(i32 noundef %34489, ptr noundef @.str.4)
  %34491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34492 = load i32, ptr %34491, align 4, !tbaa !5
  %34493 = call ptr @s2n_strerror_debug(i32 noundef %34492, ptr noundef @.str.4)
  %34494 = call ptr @__errno_location() #12
  %34495 = load i32, ptr %34494, align 4, !tbaa !5
  %34496 = call ptr @strerror(i32 noundef %34495) #11
  %34497 = call ptr @__errno_location() #12
  %34498 = load i32, ptr %34497, align 4, !tbaa !5
  %34499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34486, ptr noundef @.str.5, i32 noundef %34487, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %34490, ptr noundef %34493, ptr noundef %34496, i32 noundef %34498) #11
  br label %34500

34500:                                            ; preds = %34483, %34466
  call void @llvm.lifetime.end.p0(i64 4, ptr %735) #11
  br label %34501

34501:                                            ; preds = %34500
  br label %34502

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

34503:                                            ; No predecessors!
  br label %34504

34504:                                            ; preds = %34503
  br label %34505

34505:                                            ; preds = %34504, %34445
  br label %34506

34506:                                            ; preds = %34505
  br label %34507

34507:                                            ; preds = %34506
  br label %34508

34508:                                            ; preds = %34507
  br label %34509

34509:                                            ; preds = %34508
  br label %34510

34510:                                            ; preds = %34509
  %34511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %34511, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %34512 = call ptr @__errno_location() #12
  store i32 0, ptr %34512, align 4, !tbaa !5
  br label %34513

34513:                                            ; preds = %34510
  br label %34514

34514:                                            ; preds = %34513
  br label %34515

34515:                                            ; preds = %34514
  br label %34516

34516:                                            ; preds = %34515
  %34517 = call ptr @s2n_connection_new(i32 noundef 0)
  %34518 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  store ptr %34517, ptr %34518, align 8, !tbaa !73
  br label %34519

34519:                                            ; preds = %34516
  br label %34520

34520:                                            ; preds = %34519
  br label %34521

34521:                                            ; preds = %34520
  %34522 = load i32, ptr @test_count, align 4, !tbaa !5
  %34523 = add nsw i32 %34522, 1
  store i32 %34523, ptr @test_count, align 4, !tbaa !5
  %34524 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef %713, ptr noundef %717)
  %34525 = icmp eq i32 %34524, -1
  br i1 %34525, label %34579, label %34526

34526:                                            ; preds = %34521
  br label %34527

34527:                                            ; preds = %34526
  br label %34528

34528:                                            ; preds = %34527
  call void @llvm.lifetime.start.p0(i64 4, ptr %736) #11
  %34529 = call ptr @__errno_location() #12
  %34530 = load i32, ptr %34529, align 4, !tbaa !5
  store i32 %34530, ptr %736, align 4, !tbaa !5
  %34531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34532 = call i32 @s2n_print_stacktrace(ptr noundef %34531)
  %34533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34534 = trunc i8 %34533 to i1
  br i1 %34534, label %34535, label %34557

34535:                                            ; preds = %34528
  %34536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34537 = call i32 @fileno(ptr noundef %34536) #11
  %34538 = call i32 @isatty(i32 noundef %34537) #11
  %34539 = icmp ne i32 %34538, 0
  br i1 %34539, label %34540, label %34557

34540:                                            ; preds = %34535
  %34541 = load i32, ptr %736, align 4, !tbaa !5
  %34542 = call ptr @__errno_location() #12
  store i32 %34541, ptr %34542, align 4, !tbaa !5
  %34543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34544 = load i32, ptr @test_count, align 4, !tbaa !5
  %34545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34546 = load i32, ptr %34545, align 4, !tbaa !5
  %34547 = call ptr @s2n_strerror(i32 noundef %34546, ptr noundef @.str.4)
  %34548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34549 = load i32, ptr %34548, align 4, !tbaa !5
  %34550 = call ptr @s2n_strerror_debug(i32 noundef %34549, ptr noundef @.str.4)
  %34551 = call ptr @__errno_location() #12
  %34552 = load i32, ptr %34551, align 4, !tbaa !5
  %34553 = call ptr @strerror(i32 noundef %34552) #11
  %34554 = call ptr @__errno_location() #12
  %34555 = load i32, ptr %34554, align 4, !tbaa !5
  %34556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34543, ptr noundef @.str.2, i32 noundef %34544, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 1348, ptr noundef %34547, ptr noundef %34550, ptr noundef %34553, i32 noundef %34555) #11
  br label %34574

34557:                                            ; preds = %34535, %34528
  %34558 = load i32, ptr %736, align 4, !tbaa !5
  %34559 = call ptr @__errno_location() #12
  store i32 %34558, ptr %34559, align 4, !tbaa !5
  %34560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34561 = load i32, ptr @test_count, align 4, !tbaa !5
  %34562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34563 = load i32, ptr %34562, align 4, !tbaa !5
  %34564 = call ptr @s2n_strerror(i32 noundef %34563, ptr noundef @.str.4)
  %34565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34566 = load i32, ptr %34565, align 4, !tbaa !5
  %34567 = call ptr @s2n_strerror_debug(i32 noundef %34566, ptr noundef @.str.4)
  %34568 = call ptr @__errno_location() #12
  %34569 = load i32, ptr %34568, align 4, !tbaa !5
  %34570 = call ptr @strerror(i32 noundef %34569) #11
  %34571 = call ptr @__errno_location() #12
  %34572 = load i32, ptr %34571, align 4, !tbaa !5
  %34573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34560, ptr noundef @.str.5, i32 noundef %34561, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 1348, ptr noundef %34564, ptr noundef %34567, ptr noundef %34570, i32 noundef %34572) #11
  br label %34574

34574:                                            ; preds = %34557, %34540
  call void @llvm.lifetime.end.p0(i64 4, ptr %736) #11
  br label %34575

34575:                                            ; preds = %34574
  br label %34576

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

34577:                                            ; No predecessors!
  br label %34578

34578:                                            ; preds = %34577
  br label %34579

34579:                                            ; preds = %34578, %34521
  br label %34580

34580:                                            ; preds = %34579
  br label %34581

34581:                                            ; preds = %34580
  br label %34582

34582:                                            ; preds = %34581
  %34583 = load i32, ptr @test_count, align 4, !tbaa !5
  %34584 = add nsw i32 %34583, 1
  store i32 %34584, ptr @test_count, align 4, !tbaa !5
  %34585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34586 = load i32, ptr %34585, align 4, !tbaa !5
  %34587 = icmp eq i32 %34586, 402653193
  br i1 %34587, label %34641, label %34588

34588:                                            ; preds = %34582
  br label %34589

34589:                                            ; preds = %34588
  br label %34590

34590:                                            ; preds = %34589
  call void @llvm.lifetime.start.p0(i64 4, ptr %737) #11
  %34591 = call ptr @__errno_location() #12
  %34592 = load i32, ptr %34591, align 4, !tbaa !5
  store i32 %34592, ptr %737, align 4, !tbaa !5
  %34593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34594 = call i32 @s2n_print_stacktrace(ptr noundef %34593)
  %34595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34596 = trunc i8 %34595 to i1
  br i1 %34596, label %34597, label %34619

34597:                                            ; preds = %34590
  %34598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34599 = call i32 @fileno(ptr noundef %34598) #11
  %34600 = call i32 @isatty(i32 noundef %34599) #11
  %34601 = icmp ne i32 %34600, 0
  br i1 %34601, label %34602, label %34619

34602:                                            ; preds = %34597
  %34603 = load i32, ptr %737, align 4, !tbaa !5
  %34604 = call ptr @__errno_location() #12
  store i32 %34603, ptr %34604, align 4, !tbaa !5
  %34605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34606 = load i32, ptr @test_count, align 4, !tbaa !5
  %34607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34608 = load i32, ptr %34607, align 4, !tbaa !5
  %34609 = call ptr @s2n_strerror(i32 noundef %34608, ptr noundef @.str.4)
  %34610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34611 = load i32, ptr %34610, align 4, !tbaa !5
  %34612 = call ptr @s2n_strerror_debug(i32 noundef %34611, ptr noundef @.str.4)
  %34613 = call ptr @__errno_location() #12
  %34614 = load i32, ptr %34613, align 4, !tbaa !5
  %34615 = call ptr @strerror(i32 noundef %34614) #11
  %34616 = call ptr @__errno_location() #12
  %34617 = load i32, ptr %34616, align 4, !tbaa !5
  %34618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34605, ptr noundef @.str.2, i32 noundef %34606, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1348, ptr noundef %34609, ptr noundef %34612, ptr noundef %34615, i32 noundef %34617) #11
  br label %34636

34619:                                            ; preds = %34597, %34590
  %34620 = load i32, ptr %737, align 4, !tbaa !5
  %34621 = call ptr @__errno_location() #12
  store i32 %34620, ptr %34621, align 4, !tbaa !5
  %34622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34623 = load i32, ptr @test_count, align 4, !tbaa !5
  %34624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34625 = load i32, ptr %34624, align 4, !tbaa !5
  %34626 = call ptr @s2n_strerror(i32 noundef %34625, ptr noundef @.str.4)
  %34627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34628 = load i32, ptr %34627, align 4, !tbaa !5
  %34629 = call ptr @s2n_strerror_debug(i32 noundef %34628, ptr noundef @.str.4)
  %34630 = call ptr @__errno_location() #12
  %34631 = load i32, ptr %34630, align 4, !tbaa !5
  %34632 = call ptr @strerror(i32 noundef %34631) #11
  %34633 = call ptr @__errno_location() #12
  %34634 = load i32, ptr %34633, align 4, !tbaa !5
  %34635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34622, ptr noundef @.str.5, i32 noundef %34623, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1348, ptr noundef %34626, ptr noundef %34629, ptr noundef %34632, i32 noundef %34634) #11
  br label %34636

34636:                                            ; preds = %34619, %34602
  call void @llvm.lifetime.end.p0(i64 4, ptr %737) #11
  br label %34637

34637:                                            ; preds = %34636
  br label %34638

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

34639:                                            ; No predecessors!
  br label %34640

34640:                                            ; preds = %34639
  br label %34641

34641:                                            ; preds = %34640, %34582
  br label %34642

34642:                                            ; preds = %34641
  br label %34643

34643:                                            ; preds = %34642
  br label %34644

34644:                                            ; preds = %34643
  %34645 = load i32, ptr @test_count, align 4, !tbaa !5
  %34646 = add nsw i32 %34645, 1
  store i32 %34646, ptr @test_count, align 4, !tbaa !5
  %34647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34648 = load i32, ptr %34647, align 4, !tbaa !5
  %34649 = call ptr @s2n_strerror_debug(i32 noundef %34648, ptr noundef @.str.4)
  %34650 = icmp eq ptr %34649, null
  br i1 %34650, label %34651, label %34704

34651:                                            ; preds = %34644
  br label %34652

34652:                                            ; preds = %34651
  br label %34653

34653:                                            ; preds = %34652
  call void @llvm.lifetime.start.p0(i64 4, ptr %738) #11
  %34654 = call ptr @__errno_location() #12
  %34655 = load i32, ptr %34654, align 4, !tbaa !5
  store i32 %34655, ptr %738, align 4, !tbaa !5
  %34656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34657 = call i32 @s2n_print_stacktrace(ptr noundef %34656)
  %34658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34659 = trunc i8 %34658 to i1
  br i1 %34659, label %34660, label %34682

34660:                                            ; preds = %34653
  %34661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34662 = call i32 @fileno(ptr noundef %34661) #11
  %34663 = call i32 @isatty(i32 noundef %34662) #11
  %34664 = icmp ne i32 %34663, 0
  br i1 %34664, label %34665, label %34682

34665:                                            ; preds = %34660
  %34666 = load i32, ptr %738, align 4, !tbaa !5
  %34667 = call ptr @__errno_location() #12
  store i32 %34666, ptr %34667, align 4, !tbaa !5
  %34668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34669 = load i32, ptr @test_count, align 4, !tbaa !5
  %34670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34671 = load i32, ptr %34670, align 4, !tbaa !5
  %34672 = call ptr @s2n_strerror(i32 noundef %34671, ptr noundef @.str.4)
  %34673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34674 = load i32, ptr %34673, align 4, !tbaa !5
  %34675 = call ptr @s2n_strerror_debug(i32 noundef %34674, ptr noundef @.str.4)
  %34676 = call ptr @__errno_location() #12
  %34677 = load i32, ptr %34676, align 4, !tbaa !5
  %34678 = call ptr @strerror(i32 noundef %34677) #11
  %34679 = call ptr @__errno_location() #12
  %34680 = load i32, ptr %34679, align 4, !tbaa !5
  %34681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34668, ptr noundef @.str.2, i32 noundef %34669, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1348, ptr noundef %34672, ptr noundef %34675, ptr noundef %34678, i32 noundef %34680) #11
  br label %34699

34682:                                            ; preds = %34660, %34653
  %34683 = load i32, ptr %738, align 4, !tbaa !5
  %34684 = call ptr @__errno_location() #12
  store i32 %34683, ptr %34684, align 4, !tbaa !5
  %34685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34686 = load i32, ptr @test_count, align 4, !tbaa !5
  %34687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34688 = load i32, ptr %34687, align 4, !tbaa !5
  %34689 = call ptr @s2n_strerror(i32 noundef %34688, ptr noundef @.str.4)
  %34690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34691 = load i32, ptr %34690, align 4, !tbaa !5
  %34692 = call ptr @s2n_strerror_debug(i32 noundef %34691, ptr noundef @.str.4)
  %34693 = call ptr @__errno_location() #12
  %34694 = load i32, ptr %34693, align 4, !tbaa !5
  %34695 = call ptr @strerror(i32 noundef %34694) #11
  %34696 = call ptr @__errno_location() #12
  %34697 = load i32, ptr %34696, align 4, !tbaa !5
  %34698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34685, ptr noundef @.str.5, i32 noundef %34686, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1348, ptr noundef %34689, ptr noundef %34692, ptr noundef %34695, i32 noundef %34697) #11
  br label %34699

34699:                                            ; preds = %34682, %34665
  call void @llvm.lifetime.end.p0(i64 4, ptr %738) #11
  br label %34700

34700:                                            ; preds = %34699
  br label %34701

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

34702:                                            ; No predecessors!
  br label %34703

34703:                                            ; preds = %34702
  br label %34704

34704:                                            ; preds = %34703, %34644
  br label %34705

34705:                                            ; preds = %34704
  br label %34706

34706:                                            ; preds = %34705
  br label %34707

34707:                                            ; preds = %34706
  br label %34708

34708:                                            ; preds = %34707
  br label %34709

34709:                                            ; preds = %34708
  %34710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %34710, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %34711 = call ptr @__errno_location() #12
  store i32 0, ptr %34711, align 4, !tbaa !5
  br label %34712

34712:                                            ; preds = %34709
  br label %34713

34713:                                            ; preds = %34712
  br label %34714

34714:                                            ; preds = %34713
  br label %34715

34715:                                            ; preds = %34714
  br label %34716

34716:                                            ; preds = %34715
  br label %34717

34717:                                            ; preds = %34716
  br label %34718

34718:                                            ; preds = %34717
  %34719 = load i32, ptr @test_count, align 4, !tbaa !5
  %34720 = add nsw i32 %34719, 1
  store i32 %34720, ptr @test_count, align 4, !tbaa !5
  %34721 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %34722 = call i32 @s2n_offered_early_data_get_context(ptr noundef %713, ptr noundef %34721, i16 noundef zeroext 1)
  %34723 = icmp eq i32 %34722, -1
  br i1 %34723, label %34777, label %34724

34724:                                            ; preds = %34718
  br label %34725

34725:                                            ; preds = %34724
  br label %34726

34726:                                            ; preds = %34725
  call void @llvm.lifetime.start.p0(i64 4, ptr %739) #11
  %34727 = call ptr @__errno_location() #12
  %34728 = load i32, ptr %34727, align 4, !tbaa !5
  store i32 %34728, ptr %739, align 4, !tbaa !5
  %34729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34730 = call i32 @s2n_print_stacktrace(ptr noundef %34729)
  %34731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34732 = trunc i8 %34731 to i1
  br i1 %34732, label %34733, label %34755

34733:                                            ; preds = %34726
  %34734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34735 = call i32 @fileno(ptr noundef %34734) #11
  %34736 = call i32 @isatty(i32 noundef %34735) #11
  %34737 = icmp ne i32 %34736, 0
  br i1 %34737, label %34738, label %34755

34738:                                            ; preds = %34733
  %34739 = load i32, ptr %739, align 4, !tbaa !5
  %34740 = call ptr @__errno_location() #12
  store i32 %34739, ptr %34740, align 4, !tbaa !5
  %34741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34742 = load i32, ptr @test_count, align 4, !tbaa !5
  %34743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34744 = load i32, ptr %34743, align 4, !tbaa !5
  %34745 = call ptr @s2n_strerror(i32 noundef %34744, ptr noundef @.str.4)
  %34746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34747 = load i32, ptr %34746, align 4, !tbaa !5
  %34748 = call ptr @s2n_strerror_debug(i32 noundef %34747, ptr noundef @.str.4)
  %34749 = call ptr @__errno_location() #12
  %34750 = load i32, ptr %34749, align 4, !tbaa !5
  %34751 = call ptr @strerror(i32 noundef %34750) #11
  %34752 = call ptr @__errno_location() #12
  %34753 = load i32, ptr %34752, align 4, !tbaa !5
  %34754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34741, ptr noundef @.str.2, i32 noundef %34742, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1349, ptr noundef %34745, ptr noundef %34748, ptr noundef %34751, i32 noundef %34753) #11
  br label %34772

34755:                                            ; preds = %34733, %34726
  %34756 = load i32, ptr %739, align 4, !tbaa !5
  %34757 = call ptr @__errno_location() #12
  store i32 %34756, ptr %34757, align 4, !tbaa !5
  %34758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34759 = load i32, ptr @test_count, align 4, !tbaa !5
  %34760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34761 = load i32, ptr %34760, align 4, !tbaa !5
  %34762 = call ptr @s2n_strerror(i32 noundef %34761, ptr noundef @.str.4)
  %34763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34764 = load i32, ptr %34763, align 4, !tbaa !5
  %34765 = call ptr @s2n_strerror_debug(i32 noundef %34764, ptr noundef @.str.4)
  %34766 = call ptr @__errno_location() #12
  %34767 = load i32, ptr %34766, align 4, !tbaa !5
  %34768 = call ptr @strerror(i32 noundef %34767) #11
  %34769 = call ptr @__errno_location() #12
  %34770 = load i32, ptr %34769, align 4, !tbaa !5
  %34771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34758, ptr noundef @.str.5, i32 noundef %34759, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1349, ptr noundef %34762, ptr noundef %34765, ptr noundef %34768, i32 noundef %34770) #11
  br label %34772

34772:                                            ; preds = %34755, %34738
  call void @llvm.lifetime.end.p0(i64 4, ptr %739) #11
  br label %34773

34773:                                            ; preds = %34772
  br label %34774

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

34775:                                            ; No predecessors!
  br label %34776

34776:                                            ; preds = %34775
  br label %34777

34777:                                            ; preds = %34776, %34718
  br label %34778

34778:                                            ; preds = %34777
  br label %34779

34779:                                            ; preds = %34778
  br label %34780

34780:                                            ; preds = %34779
  %34781 = load i32, ptr @test_count, align 4, !tbaa !5
  %34782 = add nsw i32 %34781, 1
  store i32 %34782, ptr @test_count, align 4, !tbaa !5
  %34783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34784 = load i32, ptr %34783, align 4, !tbaa !5
  %34785 = icmp eq i32 %34784, 402653193
  br i1 %34785, label %34839, label %34786

34786:                                            ; preds = %34780
  br label %34787

34787:                                            ; preds = %34786
  br label %34788

34788:                                            ; preds = %34787
  call void @llvm.lifetime.start.p0(i64 4, ptr %740) #11
  %34789 = call ptr @__errno_location() #12
  %34790 = load i32, ptr %34789, align 4, !tbaa !5
  store i32 %34790, ptr %740, align 4, !tbaa !5
  %34791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34792 = call i32 @s2n_print_stacktrace(ptr noundef %34791)
  %34793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34794 = trunc i8 %34793 to i1
  br i1 %34794, label %34795, label %34817

34795:                                            ; preds = %34788
  %34796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34797 = call i32 @fileno(ptr noundef %34796) #11
  %34798 = call i32 @isatty(i32 noundef %34797) #11
  %34799 = icmp ne i32 %34798, 0
  br i1 %34799, label %34800, label %34817

34800:                                            ; preds = %34795
  %34801 = load i32, ptr %740, align 4, !tbaa !5
  %34802 = call ptr @__errno_location() #12
  store i32 %34801, ptr %34802, align 4, !tbaa !5
  %34803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34804 = load i32, ptr @test_count, align 4, !tbaa !5
  %34805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34806 = load i32, ptr %34805, align 4, !tbaa !5
  %34807 = call ptr @s2n_strerror(i32 noundef %34806, ptr noundef @.str.4)
  %34808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34809 = load i32, ptr %34808, align 4, !tbaa !5
  %34810 = call ptr @s2n_strerror_debug(i32 noundef %34809, ptr noundef @.str.4)
  %34811 = call ptr @__errno_location() #12
  %34812 = load i32, ptr %34811, align 4, !tbaa !5
  %34813 = call ptr @strerror(i32 noundef %34812) #11
  %34814 = call ptr @__errno_location() #12
  %34815 = load i32, ptr %34814, align 4, !tbaa !5
  %34816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34803, ptr noundef @.str.2, i32 noundef %34804, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1349, ptr noundef %34807, ptr noundef %34810, ptr noundef %34813, i32 noundef %34815) #11
  br label %34834

34817:                                            ; preds = %34795, %34788
  %34818 = load i32, ptr %740, align 4, !tbaa !5
  %34819 = call ptr @__errno_location() #12
  store i32 %34818, ptr %34819, align 4, !tbaa !5
  %34820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34821 = load i32, ptr @test_count, align 4, !tbaa !5
  %34822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34823 = load i32, ptr %34822, align 4, !tbaa !5
  %34824 = call ptr @s2n_strerror(i32 noundef %34823, ptr noundef @.str.4)
  %34825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34826 = load i32, ptr %34825, align 4, !tbaa !5
  %34827 = call ptr @s2n_strerror_debug(i32 noundef %34826, ptr noundef @.str.4)
  %34828 = call ptr @__errno_location() #12
  %34829 = load i32, ptr %34828, align 4, !tbaa !5
  %34830 = call ptr @strerror(i32 noundef %34829) #11
  %34831 = call ptr @__errno_location() #12
  %34832 = load i32, ptr %34831, align 4, !tbaa !5
  %34833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34820, ptr noundef @.str.5, i32 noundef %34821, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1349, ptr noundef %34824, ptr noundef %34827, ptr noundef %34830, i32 noundef %34832) #11
  br label %34834

34834:                                            ; preds = %34817, %34800
  call void @llvm.lifetime.end.p0(i64 4, ptr %740) #11
  br label %34835

34835:                                            ; preds = %34834
  br label %34836

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

34837:                                            ; No predecessors!
  br label %34838

34838:                                            ; preds = %34837
  br label %34839

34839:                                            ; preds = %34838, %34780
  br label %34840

34840:                                            ; preds = %34839
  br label %34841

34841:                                            ; preds = %34840
  br label %34842

34842:                                            ; preds = %34841
  %34843 = load i32, ptr @test_count, align 4, !tbaa !5
  %34844 = add nsw i32 %34843, 1
  store i32 %34844, ptr @test_count, align 4, !tbaa !5
  %34845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34846 = load i32, ptr %34845, align 4, !tbaa !5
  %34847 = call ptr @s2n_strerror_debug(i32 noundef %34846, ptr noundef @.str.4)
  %34848 = icmp eq ptr %34847, null
  br i1 %34848, label %34849, label %34902

34849:                                            ; preds = %34842
  br label %34850

34850:                                            ; preds = %34849
  br label %34851

34851:                                            ; preds = %34850
  call void @llvm.lifetime.start.p0(i64 4, ptr %741) #11
  %34852 = call ptr @__errno_location() #12
  %34853 = load i32, ptr %34852, align 4, !tbaa !5
  store i32 %34853, ptr %741, align 4, !tbaa !5
  %34854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34855 = call i32 @s2n_print_stacktrace(ptr noundef %34854)
  %34856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34857 = trunc i8 %34856 to i1
  br i1 %34857, label %34858, label %34880

34858:                                            ; preds = %34851
  %34859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34860 = call i32 @fileno(ptr noundef %34859) #11
  %34861 = call i32 @isatty(i32 noundef %34860) #11
  %34862 = icmp ne i32 %34861, 0
  br i1 %34862, label %34863, label %34880

34863:                                            ; preds = %34858
  %34864 = load i32, ptr %741, align 4, !tbaa !5
  %34865 = call ptr @__errno_location() #12
  store i32 %34864, ptr %34865, align 4, !tbaa !5
  %34866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34867 = load i32, ptr @test_count, align 4, !tbaa !5
  %34868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34869 = load i32, ptr %34868, align 4, !tbaa !5
  %34870 = call ptr @s2n_strerror(i32 noundef %34869, ptr noundef @.str.4)
  %34871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34872 = load i32, ptr %34871, align 4, !tbaa !5
  %34873 = call ptr @s2n_strerror_debug(i32 noundef %34872, ptr noundef @.str.4)
  %34874 = call ptr @__errno_location() #12
  %34875 = load i32, ptr %34874, align 4, !tbaa !5
  %34876 = call ptr @strerror(i32 noundef %34875) #11
  %34877 = call ptr @__errno_location() #12
  %34878 = load i32, ptr %34877, align 4, !tbaa !5
  %34879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34866, ptr noundef @.str.2, i32 noundef %34867, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1349, ptr noundef %34870, ptr noundef %34873, ptr noundef %34876, i32 noundef %34878) #11
  br label %34897

34880:                                            ; preds = %34858, %34851
  %34881 = load i32, ptr %741, align 4, !tbaa !5
  %34882 = call ptr @__errno_location() #12
  store i32 %34881, ptr %34882, align 4, !tbaa !5
  %34883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34884 = load i32, ptr @test_count, align 4, !tbaa !5
  %34885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34886 = load i32, ptr %34885, align 4, !tbaa !5
  %34887 = call ptr @s2n_strerror(i32 noundef %34886, ptr noundef @.str.4)
  %34888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34889 = load i32, ptr %34888, align 4, !tbaa !5
  %34890 = call ptr @s2n_strerror_debug(i32 noundef %34889, ptr noundef @.str.4)
  %34891 = call ptr @__errno_location() #12
  %34892 = load i32, ptr %34891, align 4, !tbaa !5
  %34893 = call ptr @strerror(i32 noundef %34892) #11
  %34894 = call ptr @__errno_location() #12
  %34895 = load i32, ptr %34894, align 4, !tbaa !5
  %34896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34883, ptr noundef @.str.5, i32 noundef %34884, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1349, ptr noundef %34887, ptr noundef %34890, ptr noundef %34893, i32 noundef %34895) #11
  br label %34897

34897:                                            ; preds = %34880, %34863
  call void @llvm.lifetime.end.p0(i64 4, ptr %741) #11
  br label %34898

34898:                                            ; preds = %34897
  br label %34899

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

34900:                                            ; No predecessors!
  br label %34901

34901:                                            ; preds = %34900
  br label %34902

34902:                                            ; preds = %34901, %34842
  br label %34903

34903:                                            ; preds = %34902
  br label %34904

34904:                                            ; preds = %34903
  br label %34905

34905:                                            ; preds = %34904
  br label %34906

34906:                                            ; preds = %34905
  br label %34907

34907:                                            ; preds = %34906
  %34908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %34908, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %34909 = call ptr @__errno_location() #12
  store i32 0, ptr %34909, align 4, !tbaa !5
  br label %34910

34910:                                            ; preds = %34907
  br label %34911

34911:                                            ; preds = %34910
  br label %34912

34912:                                            ; preds = %34911
  br label %34913

34913:                                            ; preds = %34912
  br label %34914

34914:                                            ; preds = %34913
  %34915 = load i32, ptr @test_count, align 4, !tbaa !5
  %34916 = add nsw i32 %34915, 1
  store i32 %34916, ptr @test_count, align 4, !tbaa !5
  %34917 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  %34918 = load ptr, ptr %34917, align 8, !tbaa !73
  %34919 = call i32 @s2n_connection_free(ptr noundef %34918)
  %34920 = icmp eq i32 %34919, -1
  br i1 %34920, label %34921, label %34974

34921:                                            ; preds = %34914
  br label %34922

34922:                                            ; preds = %34921
  br label %34923

34923:                                            ; preds = %34922
  call void @llvm.lifetime.start.p0(i64 4, ptr %742) #11
  %34924 = call ptr @__errno_location() #12
  %34925 = load i32, ptr %34924, align 4, !tbaa !5
  store i32 %34925, ptr %742, align 4, !tbaa !5
  %34926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34927 = call i32 @s2n_print_stacktrace(ptr noundef %34926)
  %34928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34929 = trunc i8 %34928 to i1
  br i1 %34929, label %34930, label %34952

34930:                                            ; preds = %34923
  %34931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34932 = call i32 @fileno(ptr noundef %34931) #11
  %34933 = call i32 @isatty(i32 noundef %34932) #11
  %34934 = icmp ne i32 %34933, 0
  br i1 %34934, label %34935, label %34952

34935:                                            ; preds = %34930
  %34936 = load i32, ptr %742, align 4, !tbaa !5
  %34937 = call ptr @__errno_location() #12
  store i32 %34936, ptr %34937, align 4, !tbaa !5
  %34938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34939 = load i32, ptr @test_count, align 4, !tbaa !5
  %34940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34941 = load i32, ptr %34940, align 4, !tbaa !5
  %34942 = call ptr @s2n_strerror(i32 noundef %34941, ptr noundef @.str.4)
  %34943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34944 = load i32, ptr %34943, align 4, !tbaa !5
  %34945 = call ptr @s2n_strerror_debug(i32 noundef %34944, ptr noundef @.str.4)
  %34946 = call ptr @__errno_location() #12
  %34947 = load i32, ptr %34946, align 4, !tbaa !5
  %34948 = call ptr @strerror(i32 noundef %34947) #11
  %34949 = call ptr @__errno_location() #12
  %34950 = load i32, ptr %34949, align 4, !tbaa !5
  %34951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34938, ptr noundef @.str.2, i32 noundef %34939, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1350, ptr noundef %34942, ptr noundef %34945, ptr noundef %34948, i32 noundef %34950) #11
  br label %34969

34952:                                            ; preds = %34930, %34923
  %34953 = load i32, ptr %742, align 4, !tbaa !5
  %34954 = call ptr @__errno_location() #12
  store i32 %34953, ptr %34954, align 4, !tbaa !5
  %34955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34956 = load i32, ptr @test_count, align 4, !tbaa !5
  %34957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34958 = load i32, ptr %34957, align 4, !tbaa !5
  %34959 = call ptr @s2n_strerror(i32 noundef %34958, ptr noundef @.str.4)
  %34960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34961 = load i32, ptr %34960, align 4, !tbaa !5
  %34962 = call ptr @s2n_strerror_debug(i32 noundef %34961, ptr noundef @.str.4)
  %34963 = call ptr @__errno_location() #12
  %34964 = load i32, ptr %34963, align 4, !tbaa !5
  %34965 = call ptr @strerror(i32 noundef %34964) #11
  %34966 = call ptr @__errno_location() #12
  %34967 = load i32, ptr %34966, align 4, !tbaa !5
  %34968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34955, ptr noundef @.str.5, i32 noundef %34956, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1350, ptr noundef %34959, ptr noundef %34962, ptr noundef %34965, i32 noundef %34967) #11
  br label %34969

34969:                                            ; preds = %34952, %34935
  call void @llvm.lifetime.end.p0(i64 4, ptr %742) #11
  br label %34970

34970:                                            ; preds = %34969
  br label %34971

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

34972:                                            ; No predecessors!
  br label %34973

34973:                                            ; preds = %34972
  br label %34974

34974:                                            ; preds = %34973, %34914
  br label %34975

34975:                                            ; preds = %34974
  br label %34976

34976:                                            ; preds = %34975
  %34977 = call ptr @s2n_connection_new(i32 noundef 0)
  %34978 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  store ptr %34977, ptr %34978, align 8, !tbaa !73
  call void @llvm.lifetime.start.p0(i64 8, ptr %743) #11
  %34979 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  %34980 = load ptr, ptr %34979, align 8, !tbaa !73
  %34981 = call ptr @s2n_test_psk_new(ptr noundef %34980)
  store ptr %34981, ptr %743, align 8, !tbaa !9
  %34982 = load ptr, ptr %743, align 8, !tbaa !9
  %34983 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  %34984 = load ptr, ptr %34983, align 8, !tbaa !73
  %34985 = getelementptr inbounds %struct.s2n_connection, ptr %34984, i32 0, i32 33
  %34986 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %34985, i32 0, i32 4
  store ptr %34982, ptr %34986, align 8, !tbaa !70
  br label %34987

34987:                                            ; preds = %34976
  %34988 = load i32, ptr @test_count, align 4, !tbaa !5
  %34989 = add nsw i32 %34988, 1
  store i32 %34989, ptr @test_count, align 4, !tbaa !5
  %34990 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef %713, ptr noundef %717)
  %34991 = icmp eq i32 %34990, -1
  br i1 %34991, label %34992, label %35045

34992:                                            ; preds = %34987
  br label %34993

34993:                                            ; preds = %34992
  br label %34994

34994:                                            ; preds = %34993
  call void @llvm.lifetime.start.p0(i64 4, ptr %744) #11
  %34995 = call ptr @__errno_location() #12
  %34996 = load i32, ptr %34995, align 4, !tbaa !5
  store i32 %34996, ptr %744, align 4, !tbaa !5
  %34997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34998 = call i32 @s2n_print_stacktrace(ptr noundef %34997)
  %34999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35000 = trunc i8 %34999 to i1
  br i1 %35000, label %35001, label %35023

35001:                                            ; preds = %34994
  %35002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35003 = call i32 @fileno(ptr noundef %35002) #11
  %35004 = call i32 @isatty(i32 noundef %35003) #11
  %35005 = icmp ne i32 %35004, 0
  br i1 %35005, label %35006, label %35023

35006:                                            ; preds = %35001
  %35007 = load i32, ptr %744, align 4, !tbaa !5
  %35008 = call ptr @__errno_location() #12
  store i32 %35007, ptr %35008, align 4, !tbaa !5
  %35009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35010 = load i32, ptr @test_count, align 4, !tbaa !5
  %35011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35012 = load i32, ptr %35011, align 4, !tbaa !5
  %35013 = call ptr @s2n_strerror(i32 noundef %35012, ptr noundef @.str.4)
  %35014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35015 = load i32, ptr %35014, align 4, !tbaa !5
  %35016 = call ptr @s2n_strerror_debug(i32 noundef %35015, ptr noundef @.str.4)
  %35017 = call ptr @__errno_location() #12
  %35018 = load i32, ptr %35017, align 4, !tbaa !5
  %35019 = call ptr @strerror(i32 noundef %35018) #11
  %35020 = call ptr @__errno_location() #12
  %35021 = load i32, ptr %35020, align 4, !tbaa !5
  %35022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35009, ptr noundef @.str.2, i32 noundef %35010, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1359, ptr noundef %35013, ptr noundef %35016, ptr noundef %35019, i32 noundef %35021) #11
  br label %35040

35023:                                            ; preds = %35001, %34994
  %35024 = load i32, ptr %744, align 4, !tbaa !5
  %35025 = call ptr @__errno_location() #12
  store i32 %35024, ptr %35025, align 4, !tbaa !5
  %35026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35027 = load i32, ptr @test_count, align 4, !tbaa !5
  %35028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35029 = load i32, ptr %35028, align 4, !tbaa !5
  %35030 = call ptr @s2n_strerror(i32 noundef %35029, ptr noundef @.str.4)
  %35031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35032 = load i32, ptr %35031, align 4, !tbaa !5
  %35033 = call ptr @s2n_strerror_debug(i32 noundef %35032, ptr noundef @.str.4)
  %35034 = call ptr @__errno_location() #12
  %35035 = load i32, ptr %35034, align 4, !tbaa !5
  %35036 = call ptr @strerror(i32 noundef %35035) #11
  %35037 = call ptr @__errno_location() #12
  %35038 = load i32, ptr %35037, align 4, !tbaa !5
  %35039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35026, ptr noundef @.str.5, i32 noundef %35027, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1359, ptr noundef %35030, ptr noundef %35033, ptr noundef %35036, i32 noundef %35038) #11
  br label %35040

35040:                                            ; preds = %35023, %35006
  call void @llvm.lifetime.end.p0(i64 4, ptr %744) #11
  br label %35041

35041:                                            ; preds = %35040
  br label %35042

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

35043:                                            ; No predecessors!
  br label %35044

35044:                                            ; preds = %35043
  br label %35045

35045:                                            ; preds = %35044, %34987
  br label %35046

35046:                                            ; preds = %35045
  br label %35047

35047:                                            ; preds = %35046
  br label %35048

35048:                                            ; preds = %35047
  %35049 = load i32, ptr @test_count, align 4, !tbaa !5
  %35050 = add nsw i32 %35049, 1
  store i32 %35050, ptr @test_count, align 4, !tbaa !5
  %35051 = load i16, ptr %717, align 2, !tbaa !92
  %35052 = zext i16 %35051 to i32
  %35053 = icmp eq i32 %35052, 0
  br i1 %35053, label %35107, label %35054

35054:                                            ; preds = %35048
  br label %35055

35055:                                            ; preds = %35054
  br label %35056

35056:                                            ; preds = %35055
  call void @llvm.lifetime.start.p0(i64 4, ptr %745) #11
  %35057 = call ptr @__errno_location() #12
  %35058 = load i32, ptr %35057, align 4, !tbaa !5
  store i32 %35058, ptr %745, align 4, !tbaa !5
  %35059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35060 = call i32 @s2n_print_stacktrace(ptr noundef %35059)
  %35061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35062 = trunc i8 %35061 to i1
  br i1 %35062, label %35063, label %35085

35063:                                            ; preds = %35056
  %35064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35065 = call i32 @fileno(ptr noundef %35064) #11
  %35066 = call i32 @isatty(i32 noundef %35065) #11
  %35067 = icmp ne i32 %35066, 0
  br i1 %35067, label %35068, label %35085

35068:                                            ; preds = %35063
  %35069 = load i32, ptr %745, align 4, !tbaa !5
  %35070 = call ptr @__errno_location() #12
  store i32 %35069, ptr %35070, align 4, !tbaa !5
  %35071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35072 = load i32, ptr @test_count, align 4, !tbaa !5
  %35073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35074 = load i32, ptr %35073, align 4, !tbaa !5
  %35075 = call ptr @s2n_strerror(i32 noundef %35074, ptr noundef @.str.4)
  %35076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35077 = load i32, ptr %35076, align 4, !tbaa !5
  %35078 = call ptr @s2n_strerror_debug(i32 noundef %35077, ptr noundef @.str.4)
  %35079 = call ptr @__errno_location() #12
  %35080 = load i32, ptr %35079, align 4, !tbaa !5
  %35081 = call ptr @strerror(i32 noundef %35080) #11
  %35082 = call ptr @__errno_location() #12
  %35083 = load i32, ptr %35082, align 4, !tbaa !5
  %35084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35071, ptr noundef @.str.2, i32 noundef %35072, ptr noundef @.str.230, ptr noundef @.str.1, i32 noundef 1360, ptr noundef %35075, ptr noundef %35078, ptr noundef %35081, i32 noundef %35083) #11
  br label %35102

35085:                                            ; preds = %35063, %35056
  %35086 = load i32, ptr %745, align 4, !tbaa !5
  %35087 = call ptr @__errno_location() #12
  store i32 %35086, ptr %35087, align 4, !tbaa !5
  %35088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35089 = load i32, ptr @test_count, align 4, !tbaa !5
  %35090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35091 = load i32, ptr %35090, align 4, !tbaa !5
  %35092 = call ptr @s2n_strerror(i32 noundef %35091, ptr noundef @.str.4)
  %35093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35094 = load i32, ptr %35093, align 4, !tbaa !5
  %35095 = call ptr @s2n_strerror_debug(i32 noundef %35094, ptr noundef @.str.4)
  %35096 = call ptr @__errno_location() #12
  %35097 = load i32, ptr %35096, align 4, !tbaa !5
  %35098 = call ptr @strerror(i32 noundef %35097) #11
  %35099 = call ptr @__errno_location() #12
  %35100 = load i32, ptr %35099, align 4, !tbaa !5
  %35101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35088, ptr noundef @.str.5, i32 noundef %35089, ptr noundef @.str.230, ptr noundef @.str.1, i32 noundef 1360, ptr noundef %35092, ptr noundef %35095, ptr noundef %35098, i32 noundef %35100) #11
  br label %35102

35102:                                            ; preds = %35085, %35068
  call void @llvm.lifetime.end.p0(i64 4, ptr %745) #11
  br label %35103

35103:                                            ; preds = %35102
  br label %35104

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

35105:                                            ; No predecessors!
  br label %35106

35106:                                            ; preds = %35105
  br label %35107

35107:                                            ; preds = %35106, %35048
  br label %35108

35108:                                            ; preds = %35107
  br label %35109

35109:                                            ; preds = %35108
  br label %35110

35110:                                            ; preds = %35109
  %35111 = load i32, ptr @test_count, align 4, !tbaa !5
  %35112 = add nsw i32 %35111, 1
  store i32 %35112, ptr @test_count, align 4, !tbaa !5
  %35113 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %35114 = call i32 @s2n_offered_early_data_get_context(ptr noundef %713, ptr noundef %35113, i16 noundef zeroext 0)
  %35115 = icmp eq i32 %35114, -1
  br i1 %35115, label %35116, label %35169

35116:                                            ; preds = %35110
  br label %35117

35117:                                            ; preds = %35116
  br label %35118

35118:                                            ; preds = %35117
  call void @llvm.lifetime.start.p0(i64 4, ptr %746) #11
  %35119 = call ptr @__errno_location() #12
  %35120 = load i32, ptr %35119, align 4, !tbaa !5
  store i32 %35120, ptr %746, align 4, !tbaa !5
  %35121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35122 = call i32 @s2n_print_stacktrace(ptr noundef %35121)
  %35123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35124 = trunc i8 %35123 to i1
  br i1 %35124, label %35125, label %35147

35125:                                            ; preds = %35118
  %35126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35127 = call i32 @fileno(ptr noundef %35126) #11
  %35128 = call i32 @isatty(i32 noundef %35127) #11
  %35129 = icmp ne i32 %35128, 0
  br i1 %35129, label %35130, label %35147

35130:                                            ; preds = %35125
  %35131 = load i32, ptr %746, align 4, !tbaa !5
  %35132 = call ptr @__errno_location() #12
  store i32 %35131, ptr %35132, align 4, !tbaa !5
  %35133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35134 = load i32, ptr @test_count, align 4, !tbaa !5
  %35135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35136 = load i32, ptr %35135, align 4, !tbaa !5
  %35137 = call ptr @s2n_strerror(i32 noundef %35136, ptr noundef @.str.4)
  %35138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35139 = load i32, ptr %35138, align 4, !tbaa !5
  %35140 = call ptr @s2n_strerror_debug(i32 noundef %35139, ptr noundef @.str.4)
  %35141 = call ptr @__errno_location() #12
  %35142 = load i32, ptr %35141, align 4, !tbaa !5
  %35143 = call ptr @strerror(i32 noundef %35142) #11
  %35144 = call ptr @__errno_location() #12
  %35145 = load i32, ptr %35144, align 4, !tbaa !5
  %35146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35133, ptr noundef @.str.2, i32 noundef %35134, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 1362, ptr noundef %35137, ptr noundef %35140, ptr noundef %35143, i32 noundef %35145) #11
  br label %35164

35147:                                            ; preds = %35125, %35118
  %35148 = load i32, ptr %746, align 4, !tbaa !5
  %35149 = call ptr @__errno_location() #12
  store i32 %35148, ptr %35149, align 4, !tbaa !5
  %35150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35151 = load i32, ptr @test_count, align 4, !tbaa !5
  %35152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35153 = load i32, ptr %35152, align 4, !tbaa !5
  %35154 = call ptr @s2n_strerror(i32 noundef %35153, ptr noundef @.str.4)
  %35155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35156 = load i32, ptr %35155, align 4, !tbaa !5
  %35157 = call ptr @s2n_strerror_debug(i32 noundef %35156, ptr noundef @.str.4)
  %35158 = call ptr @__errno_location() #12
  %35159 = load i32, ptr %35158, align 4, !tbaa !5
  %35160 = call ptr @strerror(i32 noundef %35159) #11
  %35161 = call ptr @__errno_location() #12
  %35162 = load i32, ptr %35161, align 4, !tbaa !5
  %35163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35150, ptr noundef @.str.5, i32 noundef %35151, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 1362, ptr noundef %35154, ptr noundef %35157, ptr noundef %35160, i32 noundef %35162) #11
  br label %35164

35164:                                            ; preds = %35147, %35130
  call void @llvm.lifetime.end.p0(i64 4, ptr %746) #11
  br label %35165

35165:                                            ; preds = %35164
  br label %35166

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

35167:                                            ; No predecessors!
  br label %35168

35168:                                            ; preds = %35167
  br label %35169

35169:                                            ; preds = %35168, %35110
  br label %35170

35170:                                            ; preds = %35169
  br label %35171

35171:                                            ; preds = %35170
  br label %35172

35172:                                            ; preds = %35171
  br label %35173

35173:                                            ; preds = %35172
  %35174 = load i32, ptr @test_count, align 4, !tbaa !5
  %35175 = add nsw i32 %35174, 1
  store i32 %35175, ptr @test_count, align 4, !tbaa !5
  %35176 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %35177 = getelementptr inbounds [12 x i8], ptr %715, i64 0, i64 0
  %35178 = call i32 @memcmp(ptr noundef %35176, ptr noundef %35177, i64 noundef 12) #14
  %35179 = icmp eq i32 %35178, 0
  br i1 %35179, label %35233, label %35180

35180:                                            ; preds = %35173
  br label %35181

35181:                                            ; preds = %35180
  br label %35182

35182:                                            ; preds = %35181
  call void @llvm.lifetime.start.p0(i64 4, ptr %747) #11
  %35183 = call ptr @__errno_location() #12
  %35184 = load i32, ptr %35183, align 4, !tbaa !5
  store i32 %35184, ptr %747, align 4, !tbaa !5
  %35185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35186 = call i32 @s2n_print_stacktrace(ptr noundef %35185)
  %35187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35188 = trunc i8 %35187 to i1
  br i1 %35188, label %35189, label %35211

35189:                                            ; preds = %35182
  %35190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35191 = call i32 @fileno(ptr noundef %35190) #11
  %35192 = call i32 @isatty(i32 noundef %35191) #11
  %35193 = icmp ne i32 %35192, 0
  br i1 %35193, label %35194, label %35211

35194:                                            ; preds = %35189
  %35195 = load i32, ptr %747, align 4, !tbaa !5
  %35196 = call ptr @__errno_location() #12
  store i32 %35195, ptr %35196, align 4, !tbaa !5
  %35197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35198 = load i32, ptr @test_count, align 4, !tbaa !5
  %35199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35200 = load i32, ptr %35199, align 4, !tbaa !5
  %35201 = call ptr @s2n_strerror(i32 noundef %35200, ptr noundef @.str.4)
  %35202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35203 = load i32, ptr %35202, align 4, !tbaa !5
  %35204 = call ptr @s2n_strerror_debug(i32 noundef %35203, ptr noundef @.str.4)
  %35205 = call ptr @__errno_location() #12
  %35206 = load i32, ptr %35205, align 4, !tbaa !5
  %35207 = call ptr @strerror(i32 noundef %35206) #11
  %35208 = call ptr @__errno_location() #12
  %35209 = load i32, ptr %35208, align 4, !tbaa !5
  %35210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35197, ptr noundef @.str.2, i32 noundef %35198, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1363, ptr noundef %35201, ptr noundef %35204, ptr noundef %35207, i32 noundef %35209) #11
  br label %35228

35211:                                            ; preds = %35189, %35182
  %35212 = load i32, ptr %747, align 4, !tbaa !5
  %35213 = call ptr @__errno_location() #12
  store i32 %35212, ptr %35213, align 4, !tbaa !5
  %35214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35215 = load i32, ptr @test_count, align 4, !tbaa !5
  %35216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35217 = load i32, ptr %35216, align 4, !tbaa !5
  %35218 = call ptr @s2n_strerror(i32 noundef %35217, ptr noundef @.str.4)
  %35219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35220 = load i32, ptr %35219, align 4, !tbaa !5
  %35221 = call ptr @s2n_strerror_debug(i32 noundef %35220, ptr noundef @.str.4)
  %35222 = call ptr @__errno_location() #12
  %35223 = load i32, ptr %35222, align 4, !tbaa !5
  %35224 = call ptr @strerror(i32 noundef %35223) #11
  %35225 = call ptr @__errno_location() #12
  %35226 = load i32, ptr %35225, align 4, !tbaa !5
  %35227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35214, ptr noundef @.str.5, i32 noundef %35215, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1363, ptr noundef %35218, ptr noundef %35221, ptr noundef %35224, i32 noundef %35226) #11
  br label %35228

35228:                                            ; preds = %35211, %35194
  call void @llvm.lifetime.end.p0(i64 4, ptr %747) #11
  br label %35229

35229:                                            ; preds = %35228
  br label %35230

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

35231:                                            ; No predecessors!
  br label %35232

35232:                                            ; preds = %35231
  br label %35233

35233:                                            ; preds = %35232, %35173
  br label %35234

35234:                                            ; preds = %35233
  br label %35235

35235:                                            ; preds = %35234
  br label %35236

35236:                                            ; preds = %35235
  br label %35237

35237:                                            ; preds = %35236
  br label %35238

35238:                                            ; preds = %35237
  %35239 = load i32, ptr @test_count, align 4, !tbaa !5
  %35240 = add nsw i32 %35239, 1
  store i32 %35240, ptr @test_count, align 4, !tbaa !5
  %35241 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %35242 = call i32 @s2n_offered_early_data_get_context(ptr noundef %713, ptr noundef %35241, i16 noundef zeroext 12)
  %35243 = icmp eq i32 %35242, -1
  br i1 %35243, label %35244, label %35297

35244:                                            ; preds = %35238
  br label %35245

35245:                                            ; preds = %35244
  br label %35246

35246:                                            ; preds = %35245
  call void @llvm.lifetime.start.p0(i64 4, ptr %748) #11
  %35247 = call ptr @__errno_location() #12
  %35248 = load i32, ptr %35247, align 4, !tbaa !5
  store i32 %35248, ptr %748, align 4, !tbaa !5
  %35249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35250 = call i32 @s2n_print_stacktrace(ptr noundef %35249)
  %35251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35252 = trunc i8 %35251 to i1
  br i1 %35252, label %35253, label %35275

35253:                                            ; preds = %35246
  %35254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35255 = call i32 @fileno(ptr noundef %35254) #11
  %35256 = call i32 @isatty(i32 noundef %35255) #11
  %35257 = icmp ne i32 %35256, 0
  br i1 %35257, label %35258, label %35275

35258:                                            ; preds = %35253
  %35259 = load i32, ptr %748, align 4, !tbaa !5
  %35260 = call ptr @__errno_location() #12
  store i32 %35259, ptr %35260, align 4, !tbaa !5
  %35261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35262 = load i32, ptr @test_count, align 4, !tbaa !5
  %35263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35264 = load i32, ptr %35263, align 4, !tbaa !5
  %35265 = call ptr @s2n_strerror(i32 noundef %35264, ptr noundef @.str.4)
  %35266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35267 = load i32, ptr %35266, align 4, !tbaa !5
  %35268 = call ptr @s2n_strerror_debug(i32 noundef %35267, ptr noundef @.str.4)
  %35269 = call ptr @__errno_location() #12
  %35270 = load i32, ptr %35269, align 4, !tbaa !5
  %35271 = call ptr @strerror(i32 noundef %35270) #11
  %35272 = call ptr @__errno_location() #12
  %35273 = load i32, ptr %35272, align 4, !tbaa !5
  %35274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35261, ptr noundef @.str.2, i32 noundef %35262, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1365, ptr noundef %35265, ptr noundef %35268, ptr noundef %35271, i32 noundef %35273) #11
  br label %35292

35275:                                            ; preds = %35253, %35246
  %35276 = load i32, ptr %748, align 4, !tbaa !5
  %35277 = call ptr @__errno_location() #12
  store i32 %35276, ptr %35277, align 4, !tbaa !5
  %35278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35279 = load i32, ptr @test_count, align 4, !tbaa !5
  %35280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35281 = load i32, ptr %35280, align 4, !tbaa !5
  %35282 = call ptr @s2n_strerror(i32 noundef %35281, ptr noundef @.str.4)
  %35283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35284 = load i32, ptr %35283, align 4, !tbaa !5
  %35285 = call ptr @s2n_strerror_debug(i32 noundef %35284, ptr noundef @.str.4)
  %35286 = call ptr @__errno_location() #12
  %35287 = load i32, ptr %35286, align 4, !tbaa !5
  %35288 = call ptr @strerror(i32 noundef %35287) #11
  %35289 = call ptr @__errno_location() #12
  %35290 = load i32, ptr %35289, align 4, !tbaa !5
  %35291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35278, ptr noundef @.str.5, i32 noundef %35279, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1365, ptr noundef %35282, ptr noundef %35285, ptr noundef %35288, i32 noundef %35290) #11
  br label %35292

35292:                                            ; preds = %35275, %35258
  call void @llvm.lifetime.end.p0(i64 4, ptr %748) #11
  br label %35293

35293:                                            ; preds = %35292
  br label %35294

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

35295:                                            ; No predecessors!
  br label %35296

35296:                                            ; preds = %35295
  br label %35297

35297:                                            ; preds = %35296, %35238
  br label %35298

35298:                                            ; preds = %35297
  br label %35299

35299:                                            ; preds = %35298
  br label %35300

35300:                                            ; preds = %35299
  br label %35301

35301:                                            ; preds = %35300
  %35302 = load i32, ptr @test_count, align 4, !tbaa !5
  %35303 = add nsw i32 %35302, 1
  store i32 %35303, ptr @test_count, align 4, !tbaa !5
  %35304 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %35305 = getelementptr inbounds [12 x i8], ptr %715, i64 0, i64 0
  %35306 = call i32 @memcmp(ptr noundef %35304, ptr noundef %35305, i64 noundef 12) #14
  %35307 = icmp eq i32 %35306, 0
  br i1 %35307, label %35361, label %35308

35308:                                            ; preds = %35301
  br label %35309

35309:                                            ; preds = %35308
  br label %35310

35310:                                            ; preds = %35309
  call void @llvm.lifetime.start.p0(i64 4, ptr %749) #11
  %35311 = call ptr @__errno_location() #12
  %35312 = load i32, ptr %35311, align 4, !tbaa !5
  store i32 %35312, ptr %749, align 4, !tbaa !5
  %35313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35314 = call i32 @s2n_print_stacktrace(ptr noundef %35313)
  %35315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35316 = trunc i8 %35315 to i1
  br i1 %35316, label %35317, label %35339

35317:                                            ; preds = %35310
  %35318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35319 = call i32 @fileno(ptr noundef %35318) #11
  %35320 = call i32 @isatty(i32 noundef %35319) #11
  %35321 = icmp ne i32 %35320, 0
  br i1 %35321, label %35322, label %35339

35322:                                            ; preds = %35317
  %35323 = load i32, ptr %749, align 4, !tbaa !5
  %35324 = call ptr @__errno_location() #12
  store i32 %35323, ptr %35324, align 4, !tbaa !5
  %35325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35326 = load i32, ptr @test_count, align 4, !tbaa !5
  %35327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35328 = load i32, ptr %35327, align 4, !tbaa !5
  %35329 = call ptr @s2n_strerror(i32 noundef %35328, ptr noundef @.str.4)
  %35330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35331 = load i32, ptr %35330, align 4, !tbaa !5
  %35332 = call ptr @s2n_strerror_debug(i32 noundef %35331, ptr noundef @.str.4)
  %35333 = call ptr @__errno_location() #12
  %35334 = load i32, ptr %35333, align 4, !tbaa !5
  %35335 = call ptr @strerror(i32 noundef %35334) #11
  %35336 = call ptr @__errno_location() #12
  %35337 = load i32, ptr %35336, align 4, !tbaa !5
  %35338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35325, ptr noundef @.str.2, i32 noundef %35326, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %35329, ptr noundef %35332, ptr noundef %35335, i32 noundef %35337) #11
  br label %35356

35339:                                            ; preds = %35317, %35310
  %35340 = load i32, ptr %749, align 4, !tbaa !5
  %35341 = call ptr @__errno_location() #12
  store i32 %35340, ptr %35341, align 4, !tbaa !5
  %35342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35343 = load i32, ptr @test_count, align 4, !tbaa !5
  %35344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35345 = load i32, ptr %35344, align 4, !tbaa !5
  %35346 = call ptr @s2n_strerror(i32 noundef %35345, ptr noundef @.str.4)
  %35347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35348 = load i32, ptr %35347, align 4, !tbaa !5
  %35349 = call ptr @s2n_strerror_debug(i32 noundef %35348, ptr noundef @.str.4)
  %35350 = call ptr @__errno_location() #12
  %35351 = load i32, ptr %35350, align 4, !tbaa !5
  %35352 = call ptr @strerror(i32 noundef %35351) #11
  %35353 = call ptr @__errno_location() #12
  %35354 = load i32, ptr %35353, align 4, !tbaa !5
  %35355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35342, ptr noundef @.str.5, i32 noundef %35343, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %35346, ptr noundef %35349, ptr noundef %35352, i32 noundef %35354) #11
  br label %35356

35356:                                            ; preds = %35339, %35322
  call void @llvm.lifetime.end.p0(i64 4, ptr %749) #11
  br label %35357

35357:                                            ; preds = %35356
  br label %35358

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

35359:                                            ; No predecessors!
  br label %35360

35360:                                            ; preds = %35359
  br label %35361

35361:                                            ; preds = %35360, %35301
  br label %35362

35362:                                            ; preds = %35361
  br label %35363

35363:                                            ; preds = %35362
  br label %35364

35364:                                            ; preds = %35363
  br label %35365

35365:                                            ; preds = %35364
  br label %35366

35366:                                            ; preds = %35365
  %35367 = load i32, ptr @test_count, align 4, !tbaa !5
  %35368 = add nsw i32 %35367, 1
  store i32 %35368, ptr @test_count, align 4, !tbaa !5
  %35369 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  %35370 = load ptr, ptr %35369, align 8, !tbaa !73
  %35371 = call i32 @s2n_connection_free(ptr noundef %35370)
  %35372 = icmp eq i32 %35371, -1
  br i1 %35372, label %35373, label %35426

35373:                                            ; preds = %35366
  br label %35374

35374:                                            ; preds = %35373
  br label %35375

35375:                                            ; preds = %35374
  call void @llvm.lifetime.start.p0(i64 4, ptr %750) #11
  %35376 = call ptr @__errno_location() #12
  %35377 = load i32, ptr %35376, align 4, !tbaa !5
  store i32 %35377, ptr %750, align 4, !tbaa !5
  %35378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35379 = call i32 @s2n_print_stacktrace(ptr noundef %35378)
  %35380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35381 = trunc i8 %35380 to i1
  br i1 %35381, label %35382, label %35404

35382:                                            ; preds = %35375
  %35383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35384 = call i32 @fileno(ptr noundef %35383) #11
  %35385 = call i32 @isatty(i32 noundef %35384) #11
  %35386 = icmp ne i32 %35385, 0
  br i1 %35386, label %35387, label %35404

35387:                                            ; preds = %35382
  %35388 = load i32, ptr %750, align 4, !tbaa !5
  %35389 = call ptr @__errno_location() #12
  store i32 %35388, ptr %35389, align 4, !tbaa !5
  %35390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35391 = load i32, ptr @test_count, align 4, !tbaa !5
  %35392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35393 = load i32, ptr %35392, align 4, !tbaa !5
  %35394 = call ptr @s2n_strerror(i32 noundef %35393, ptr noundef @.str.4)
  %35395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35396 = load i32, ptr %35395, align 4, !tbaa !5
  %35397 = call ptr @s2n_strerror_debug(i32 noundef %35396, ptr noundef @.str.4)
  %35398 = call ptr @__errno_location() #12
  %35399 = load i32, ptr %35398, align 4, !tbaa !5
  %35400 = call ptr @strerror(i32 noundef %35399) #11
  %35401 = call ptr @__errno_location() #12
  %35402 = load i32, ptr %35401, align 4, !tbaa !5
  %35403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35390, ptr noundef @.str.2, i32 noundef %35391, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1368, ptr noundef %35394, ptr noundef %35397, ptr noundef %35400, i32 noundef %35402) #11
  br label %35421

35404:                                            ; preds = %35382, %35375
  %35405 = load i32, ptr %750, align 4, !tbaa !5
  %35406 = call ptr @__errno_location() #12
  store i32 %35405, ptr %35406, align 4, !tbaa !5
  %35407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35408 = load i32, ptr @test_count, align 4, !tbaa !5
  %35409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35410 = load i32, ptr %35409, align 4, !tbaa !5
  %35411 = call ptr @s2n_strerror(i32 noundef %35410, ptr noundef @.str.4)
  %35412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35413 = load i32, ptr %35412, align 4, !tbaa !5
  %35414 = call ptr @s2n_strerror_debug(i32 noundef %35413, ptr noundef @.str.4)
  %35415 = call ptr @__errno_location() #12
  %35416 = load i32, ptr %35415, align 4, !tbaa !5
  %35417 = call ptr @strerror(i32 noundef %35416) #11
  %35418 = call ptr @__errno_location() #12
  %35419 = load i32, ptr %35418, align 4, !tbaa !5
  %35420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35407, ptr noundef @.str.5, i32 noundef %35408, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1368, ptr noundef %35411, ptr noundef %35414, ptr noundef %35417, i32 noundef %35419) #11
  br label %35421

35421:                                            ; preds = %35404, %35387
  call void @llvm.lifetime.end.p0(i64 4, ptr %750) #11
  br label %35422

35422:                                            ; preds = %35421
  br label %35423

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

35424:                                            ; No predecessors!
  br label %35425

35425:                                            ; preds = %35424
  br label %35426

35426:                                            ; preds = %35425, %35366
  br label %35427

35427:                                            ; preds = %35426
  br label %35428

35428:                                            ; preds = %35427
  %35429 = call i32 @s2n_psk_free(ptr noundef %743)
  call void @llvm.lifetime.end.p0(i64 8, ptr %743) #11
  %35430 = call ptr @s2n_connection_new(i32 noundef 0)
  %35431 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  store ptr %35430, ptr %35431, align 8, !tbaa !73
  call void @llvm.lifetime.start.p0(i64 8, ptr %751) #11
  %35432 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  %35433 = load ptr, ptr %35432, align 8, !tbaa !73
  %35434 = call ptr @s2n_test_psk_new(ptr noundef %35433)
  store ptr %35434, ptr %751, align 8, !tbaa !9
  br label %35435

35435:                                            ; preds = %35428
  %35436 = load i32, ptr @test_count, align 4, !tbaa !5
  %35437 = add nsw i32 %35436, 1
  store i32 %35437, ptr @test_count, align 4, !tbaa !5
  %35438 = load ptr, ptr %751, align 8, !tbaa !9
  %35439 = getelementptr inbounds [12 x i8], ptr %714, i64 0, i64 0
  %35440 = call i32 @s2n_psk_set_early_data_context(ptr noundef %35438, ptr noundef %35439, i16 noundef zeroext 12)
  %35441 = icmp eq i32 %35440, -1
  br i1 %35441, label %35442, label %35495

35442:                                            ; preds = %35435
  br label %35443

35443:                                            ; preds = %35442
  br label %35444

35444:                                            ; preds = %35443
  call void @llvm.lifetime.start.p0(i64 4, ptr %752) #11
  %35445 = call ptr @__errno_location() #12
  %35446 = load i32, ptr %35445, align 4, !tbaa !5
  store i32 %35446, ptr %752, align 4, !tbaa !5
  %35447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35448 = call i32 @s2n_print_stacktrace(ptr noundef %35447)
  %35449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35450 = trunc i8 %35449 to i1
  br i1 %35450, label %35451, label %35473

35451:                                            ; preds = %35444
  %35452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35453 = call i32 @fileno(ptr noundef %35452) #11
  %35454 = call i32 @isatty(i32 noundef %35453) #11
  %35455 = icmp ne i32 %35454, 0
  br i1 %35455, label %35456, label %35473

35456:                                            ; preds = %35451
  %35457 = load i32, ptr %752, align 4, !tbaa !5
  %35458 = call ptr @__errno_location() #12
  store i32 %35457, ptr %35458, align 4, !tbaa !5
  %35459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35460 = load i32, ptr @test_count, align 4, !tbaa !5
  %35461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35462 = load i32, ptr %35461, align 4, !tbaa !5
  %35463 = call ptr @s2n_strerror(i32 noundef %35462, ptr noundef @.str.4)
  %35464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35465 = load i32, ptr %35464, align 4, !tbaa !5
  %35466 = call ptr @s2n_strerror_debug(i32 noundef %35465, ptr noundef @.str.4)
  %35467 = call ptr @__errno_location() #12
  %35468 = load i32, ptr %35467, align 4, !tbaa !5
  %35469 = call ptr @strerror(i32 noundef %35468) #11
  %35470 = call ptr @__errno_location() #12
  %35471 = load i32, ptr %35470, align 4, !tbaa !5
  %35472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35459, ptr noundef @.str.2, i32 noundef %35460, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1375, ptr noundef %35463, ptr noundef %35466, ptr noundef %35469, i32 noundef %35471) #11
  br label %35490

35473:                                            ; preds = %35451, %35444
  %35474 = load i32, ptr %752, align 4, !tbaa !5
  %35475 = call ptr @__errno_location() #12
  store i32 %35474, ptr %35475, align 4, !tbaa !5
  %35476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35477 = load i32, ptr @test_count, align 4, !tbaa !5
  %35478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35479 = load i32, ptr %35478, align 4, !tbaa !5
  %35480 = call ptr @s2n_strerror(i32 noundef %35479, ptr noundef @.str.4)
  %35481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35482 = load i32, ptr %35481, align 4, !tbaa !5
  %35483 = call ptr @s2n_strerror_debug(i32 noundef %35482, ptr noundef @.str.4)
  %35484 = call ptr @__errno_location() #12
  %35485 = load i32, ptr %35484, align 4, !tbaa !5
  %35486 = call ptr @strerror(i32 noundef %35485) #11
  %35487 = call ptr @__errno_location() #12
  %35488 = load i32, ptr %35487, align 4, !tbaa !5
  %35489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35476, ptr noundef @.str.5, i32 noundef %35477, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1375, ptr noundef %35480, ptr noundef %35483, ptr noundef %35486, i32 noundef %35488) #11
  br label %35490

35490:                                            ; preds = %35473, %35456
  call void @llvm.lifetime.end.p0(i64 4, ptr %752) #11
  br label %35491

35491:                                            ; preds = %35490
  br label %35492

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

35493:                                            ; No predecessors!
  br label %35494

35494:                                            ; preds = %35493
  br label %35495

35495:                                            ; preds = %35494, %35435
  br label %35496

35496:                                            ; preds = %35495
  br label %35497

35497:                                            ; preds = %35496
  %35498 = load ptr, ptr %751, align 8, !tbaa !9
  %35499 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  %35500 = load ptr, ptr %35499, align 8, !tbaa !73
  %35501 = getelementptr inbounds %struct.s2n_connection, ptr %35500, i32 0, i32 33
  %35502 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %35501, i32 0, i32 4
  store ptr %35498, ptr %35502, align 8, !tbaa !70
  br label %35503

35503:                                            ; preds = %35497
  %35504 = load i32, ptr @test_count, align 4, !tbaa !5
  %35505 = add nsw i32 %35504, 1
  store i32 %35505, ptr @test_count, align 4, !tbaa !5
  %35506 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef %713, ptr noundef %717)
  %35507 = icmp eq i32 %35506, -1
  br i1 %35507, label %35508, label %35561

35508:                                            ; preds = %35503
  br label %35509

35509:                                            ; preds = %35508
  br label %35510

35510:                                            ; preds = %35509
  call void @llvm.lifetime.start.p0(i64 4, ptr %753) #11
  %35511 = call ptr @__errno_location() #12
  %35512 = load i32, ptr %35511, align 4, !tbaa !5
  store i32 %35512, ptr %753, align 4, !tbaa !5
  %35513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35514 = call i32 @s2n_print_stacktrace(ptr noundef %35513)
  %35515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35516 = trunc i8 %35515 to i1
  br i1 %35516, label %35517, label %35539

35517:                                            ; preds = %35510
  %35518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35519 = call i32 @fileno(ptr noundef %35518) #11
  %35520 = call i32 @isatty(i32 noundef %35519) #11
  %35521 = icmp ne i32 %35520, 0
  br i1 %35521, label %35522, label %35539

35522:                                            ; preds = %35517
  %35523 = load i32, ptr %753, align 4, !tbaa !5
  %35524 = call ptr @__errno_location() #12
  store i32 %35523, ptr %35524, align 4, !tbaa !5
  %35525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35526 = load i32, ptr @test_count, align 4, !tbaa !5
  %35527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35528 = load i32, ptr %35527, align 4, !tbaa !5
  %35529 = call ptr @s2n_strerror(i32 noundef %35528, ptr noundef @.str.4)
  %35530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35531 = load i32, ptr %35530, align 4, !tbaa !5
  %35532 = call ptr @s2n_strerror_debug(i32 noundef %35531, ptr noundef @.str.4)
  %35533 = call ptr @__errno_location() #12
  %35534 = load i32, ptr %35533, align 4, !tbaa !5
  %35535 = call ptr @strerror(i32 noundef %35534) #11
  %35536 = call ptr @__errno_location() #12
  %35537 = load i32, ptr %35536, align 4, !tbaa !5
  %35538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35525, ptr noundef @.str.2, i32 noundef %35526, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1378, ptr noundef %35529, ptr noundef %35532, ptr noundef %35535, i32 noundef %35537) #11
  br label %35556

35539:                                            ; preds = %35517, %35510
  %35540 = load i32, ptr %753, align 4, !tbaa !5
  %35541 = call ptr @__errno_location() #12
  store i32 %35540, ptr %35541, align 4, !tbaa !5
  %35542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35543 = load i32, ptr @test_count, align 4, !tbaa !5
  %35544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35545 = load i32, ptr %35544, align 4, !tbaa !5
  %35546 = call ptr @s2n_strerror(i32 noundef %35545, ptr noundef @.str.4)
  %35547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35548 = load i32, ptr %35547, align 4, !tbaa !5
  %35549 = call ptr @s2n_strerror_debug(i32 noundef %35548, ptr noundef @.str.4)
  %35550 = call ptr @__errno_location() #12
  %35551 = load i32, ptr %35550, align 4, !tbaa !5
  %35552 = call ptr @strerror(i32 noundef %35551) #11
  %35553 = call ptr @__errno_location() #12
  %35554 = load i32, ptr %35553, align 4, !tbaa !5
  %35555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35542, ptr noundef @.str.5, i32 noundef %35543, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1378, ptr noundef %35546, ptr noundef %35549, ptr noundef %35552, i32 noundef %35554) #11
  br label %35556

35556:                                            ; preds = %35539, %35522
  call void @llvm.lifetime.end.p0(i64 4, ptr %753) #11
  br label %35557

35557:                                            ; preds = %35556
  br label %35558

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

35559:                                            ; No predecessors!
  br label %35560

35560:                                            ; preds = %35559
  br label %35561

35561:                                            ; preds = %35560, %35503
  br label %35562

35562:                                            ; preds = %35561
  br label %35563

35563:                                            ; preds = %35562
  br label %35564

35564:                                            ; preds = %35563
  %35565 = load i32, ptr @test_count, align 4, !tbaa !5
  %35566 = add nsw i32 %35565, 1
  store i32 %35566, ptr @test_count, align 4, !tbaa !5
  %35567 = load i16, ptr %717, align 2, !tbaa !92
  %35568 = zext i16 %35567 to i64
  %35569 = icmp eq i64 %35568, 12
  br i1 %35569, label %35623, label %35570

35570:                                            ; preds = %35564
  br label %35571

35571:                                            ; preds = %35570
  br label %35572

35572:                                            ; preds = %35571
  call void @llvm.lifetime.start.p0(i64 4, ptr %754) #11
  %35573 = call ptr @__errno_location() #12
  %35574 = load i32, ptr %35573, align 4, !tbaa !5
  store i32 %35574, ptr %754, align 4, !tbaa !5
  %35575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35576 = call i32 @s2n_print_stacktrace(ptr noundef %35575)
  %35577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35578 = trunc i8 %35577 to i1
  br i1 %35578, label %35579, label %35601

35579:                                            ; preds = %35572
  %35580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35581 = call i32 @fileno(ptr noundef %35580) #11
  %35582 = call i32 @isatty(i32 noundef %35581) #11
  %35583 = icmp ne i32 %35582, 0
  br i1 %35583, label %35584, label %35601

35584:                                            ; preds = %35579
  %35585 = load i32, ptr %754, align 4, !tbaa !5
  %35586 = call ptr @__errno_location() #12
  store i32 %35585, ptr %35586, align 4, !tbaa !5
  %35587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35588 = load i32, ptr @test_count, align 4, !tbaa !5
  %35589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35590 = load i32, ptr %35589, align 4, !tbaa !5
  %35591 = call ptr @s2n_strerror(i32 noundef %35590, ptr noundef @.str.4)
  %35592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35593 = load i32, ptr %35592, align 4, !tbaa !5
  %35594 = call ptr @s2n_strerror_debug(i32 noundef %35593, ptr noundef @.str.4)
  %35595 = call ptr @__errno_location() #12
  %35596 = load i32, ptr %35595, align 4, !tbaa !5
  %35597 = call ptr @strerror(i32 noundef %35596) #11
  %35598 = call ptr @__errno_location() #12
  %35599 = load i32, ptr %35598, align 4, !tbaa !5
  %35600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35587, ptr noundef @.str.2, i32 noundef %35588, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1379, ptr noundef %35591, ptr noundef %35594, ptr noundef %35597, i32 noundef %35599) #11
  br label %35618

35601:                                            ; preds = %35579, %35572
  %35602 = load i32, ptr %754, align 4, !tbaa !5
  %35603 = call ptr @__errno_location() #12
  store i32 %35602, ptr %35603, align 4, !tbaa !5
  %35604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35605 = load i32, ptr @test_count, align 4, !tbaa !5
  %35606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35607 = load i32, ptr %35606, align 4, !tbaa !5
  %35608 = call ptr @s2n_strerror(i32 noundef %35607, ptr noundef @.str.4)
  %35609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35610 = load i32, ptr %35609, align 4, !tbaa !5
  %35611 = call ptr @s2n_strerror_debug(i32 noundef %35610, ptr noundef @.str.4)
  %35612 = call ptr @__errno_location() #12
  %35613 = load i32, ptr %35612, align 4, !tbaa !5
  %35614 = call ptr @strerror(i32 noundef %35613) #11
  %35615 = call ptr @__errno_location() #12
  %35616 = load i32, ptr %35615, align 4, !tbaa !5
  %35617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35604, ptr noundef @.str.5, i32 noundef %35605, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1379, ptr noundef %35608, ptr noundef %35611, ptr noundef %35614, i32 noundef %35616) #11
  br label %35618

35618:                                            ; preds = %35601, %35584
  call void @llvm.lifetime.end.p0(i64 4, ptr %754) #11
  br label %35619

35619:                                            ; preds = %35618
  br label %35620

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

35621:                                            ; No predecessors!
  br label %35622

35622:                                            ; preds = %35621
  br label %35623

35623:                                            ; preds = %35622, %35564
  br label %35624

35624:                                            ; preds = %35623
  br label %35625

35625:                                            ; preds = %35624
  br label %35626

35626:                                            ; preds = %35625
  %35627 = load i32, ptr @test_count, align 4, !tbaa !5
  %35628 = add nsw i32 %35627, 1
  store i32 %35628, ptr @test_count, align 4, !tbaa !5
  %35629 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %35630 = call i32 @s2n_offered_early_data_get_context(ptr noundef %713, ptr noundef %35629, i16 noundef zeroext 12)
  %35631 = icmp eq i32 %35630, -1
  br i1 %35631, label %35632, label %35685

35632:                                            ; preds = %35626
  br label %35633

35633:                                            ; preds = %35632
  br label %35634

35634:                                            ; preds = %35633
  call void @llvm.lifetime.start.p0(i64 4, ptr %755) #11
  %35635 = call ptr @__errno_location() #12
  %35636 = load i32, ptr %35635, align 4, !tbaa !5
  store i32 %35636, ptr %755, align 4, !tbaa !5
  %35637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35638 = call i32 @s2n_print_stacktrace(ptr noundef %35637)
  %35639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35640 = trunc i8 %35639 to i1
  br i1 %35640, label %35641, label %35663

35641:                                            ; preds = %35634
  %35642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35643 = call i32 @fileno(ptr noundef %35642) #11
  %35644 = call i32 @isatty(i32 noundef %35643) #11
  %35645 = icmp ne i32 %35644, 0
  br i1 %35645, label %35646, label %35663

35646:                                            ; preds = %35641
  %35647 = load i32, ptr %755, align 4, !tbaa !5
  %35648 = call ptr @__errno_location() #12
  store i32 %35647, ptr %35648, align 4, !tbaa !5
  %35649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35650 = load i32, ptr @test_count, align 4, !tbaa !5
  %35651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35652 = load i32, ptr %35651, align 4, !tbaa !5
  %35653 = call ptr @s2n_strerror(i32 noundef %35652, ptr noundef @.str.4)
  %35654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35655 = load i32, ptr %35654, align 4, !tbaa !5
  %35656 = call ptr @s2n_strerror_debug(i32 noundef %35655, ptr noundef @.str.4)
  %35657 = call ptr @__errno_location() #12
  %35658 = load i32, ptr %35657, align 4, !tbaa !5
  %35659 = call ptr @strerror(i32 noundef %35658) #11
  %35660 = call ptr @__errno_location() #12
  %35661 = load i32, ptr %35660, align 4, !tbaa !5
  %35662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35649, ptr noundef @.str.2, i32 noundef %35650, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1381, ptr noundef %35653, ptr noundef %35656, ptr noundef %35659, i32 noundef %35661) #11
  br label %35680

35663:                                            ; preds = %35641, %35634
  %35664 = load i32, ptr %755, align 4, !tbaa !5
  %35665 = call ptr @__errno_location() #12
  store i32 %35664, ptr %35665, align 4, !tbaa !5
  %35666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35667 = load i32, ptr @test_count, align 4, !tbaa !5
  %35668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35669 = load i32, ptr %35668, align 4, !tbaa !5
  %35670 = call ptr @s2n_strerror(i32 noundef %35669, ptr noundef @.str.4)
  %35671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35672 = load i32, ptr %35671, align 4, !tbaa !5
  %35673 = call ptr @s2n_strerror_debug(i32 noundef %35672, ptr noundef @.str.4)
  %35674 = call ptr @__errno_location() #12
  %35675 = load i32, ptr %35674, align 4, !tbaa !5
  %35676 = call ptr @strerror(i32 noundef %35675) #11
  %35677 = call ptr @__errno_location() #12
  %35678 = load i32, ptr %35677, align 4, !tbaa !5
  %35679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35666, ptr noundef @.str.5, i32 noundef %35667, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1381, ptr noundef %35670, ptr noundef %35673, ptr noundef %35676, i32 noundef %35678) #11
  br label %35680

35680:                                            ; preds = %35663, %35646
  call void @llvm.lifetime.end.p0(i64 4, ptr %755) #11
  br label %35681

35681:                                            ; preds = %35680
  br label %35682

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

35683:                                            ; No predecessors!
  br label %35684

35684:                                            ; preds = %35683
  br label %35685

35685:                                            ; preds = %35684, %35626
  br label %35686

35686:                                            ; preds = %35685
  br label %35687

35687:                                            ; preds = %35686
  br label %35688

35688:                                            ; preds = %35687
  br label %35689

35689:                                            ; preds = %35688
  %35690 = load i32, ptr @test_count, align 4, !tbaa !5
  %35691 = add nsw i32 %35690, 1
  store i32 %35691, ptr @test_count, align 4, !tbaa !5
  %35692 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %35693 = getelementptr inbounds [12 x i8], ptr %714, i64 0, i64 0
  %35694 = call i32 @memcmp(ptr noundef %35692, ptr noundef %35693, i64 noundef 12) #14
  %35695 = icmp eq i32 %35694, 0
  br i1 %35695, label %35749, label %35696

35696:                                            ; preds = %35689
  br label %35697

35697:                                            ; preds = %35696
  br label %35698

35698:                                            ; preds = %35697
  call void @llvm.lifetime.start.p0(i64 4, ptr %756) #11
  %35699 = call ptr @__errno_location() #12
  %35700 = load i32, ptr %35699, align 4, !tbaa !5
  store i32 %35700, ptr %756, align 4, !tbaa !5
  %35701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35702 = call i32 @s2n_print_stacktrace(ptr noundef %35701)
  %35703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35704 = trunc i8 %35703 to i1
  br i1 %35704, label %35705, label %35727

35705:                                            ; preds = %35698
  %35706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35707 = call i32 @fileno(ptr noundef %35706) #11
  %35708 = call i32 @isatty(i32 noundef %35707) #11
  %35709 = icmp ne i32 %35708, 0
  br i1 %35709, label %35710, label %35727

35710:                                            ; preds = %35705
  %35711 = load i32, ptr %756, align 4, !tbaa !5
  %35712 = call ptr @__errno_location() #12
  store i32 %35711, ptr %35712, align 4, !tbaa !5
  %35713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35714 = load i32, ptr @test_count, align 4, !tbaa !5
  %35715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35716 = load i32, ptr %35715, align 4, !tbaa !5
  %35717 = call ptr @s2n_strerror(i32 noundef %35716, ptr noundef @.str.4)
  %35718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35719 = load i32, ptr %35718, align 4, !tbaa !5
  %35720 = call ptr @s2n_strerror_debug(i32 noundef %35719, ptr noundef @.str.4)
  %35721 = call ptr @__errno_location() #12
  %35722 = load i32, ptr %35721, align 4, !tbaa !5
  %35723 = call ptr @strerror(i32 noundef %35722) #11
  %35724 = call ptr @__errno_location() #12
  %35725 = load i32, ptr %35724, align 4, !tbaa !5
  %35726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35713, ptr noundef @.str.2, i32 noundef %35714, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 1382, ptr noundef %35717, ptr noundef %35720, ptr noundef %35723, i32 noundef %35725) #11
  br label %35744

35727:                                            ; preds = %35705, %35698
  %35728 = load i32, ptr %756, align 4, !tbaa !5
  %35729 = call ptr @__errno_location() #12
  store i32 %35728, ptr %35729, align 4, !tbaa !5
  %35730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35731 = load i32, ptr @test_count, align 4, !tbaa !5
  %35732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35733 = load i32, ptr %35732, align 4, !tbaa !5
  %35734 = call ptr @s2n_strerror(i32 noundef %35733, ptr noundef @.str.4)
  %35735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35736 = load i32, ptr %35735, align 4, !tbaa !5
  %35737 = call ptr @s2n_strerror_debug(i32 noundef %35736, ptr noundef @.str.4)
  %35738 = call ptr @__errno_location() #12
  %35739 = load i32, ptr %35738, align 4, !tbaa !5
  %35740 = call ptr @strerror(i32 noundef %35739) #11
  %35741 = call ptr @__errno_location() #12
  %35742 = load i32, ptr %35741, align 4, !tbaa !5
  %35743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35730, ptr noundef @.str.5, i32 noundef %35731, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 1382, ptr noundef %35734, ptr noundef %35737, ptr noundef %35740, i32 noundef %35742) #11
  br label %35744

35744:                                            ; preds = %35727, %35710
  call void @llvm.lifetime.end.p0(i64 4, ptr %756) #11
  br label %35745

35745:                                            ; preds = %35744
  br label %35746

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

35747:                                            ; No predecessors!
  br label %35748

35748:                                            ; preds = %35747
  br label %35749

35749:                                            ; preds = %35748, %35689
  br label %35750

35750:                                            ; preds = %35749
  br label %35751

35751:                                            ; preds = %35750
  br label %35752

35752:                                            ; preds = %35751
  br label %35753

35753:                                            ; preds = %35752
  br label %35754

35754:                                            ; preds = %35753
  br label %35755

35755:                                            ; preds = %35754
  br label %35756

35756:                                            ; preds = %35755
  %35757 = load i32, ptr @test_count, align 4, !tbaa !5
  %35758 = add nsw i32 %35757, 1
  store i32 %35758, ptr @test_count, align 4, !tbaa !5
  %35759 = getelementptr inbounds [12 x i8], ptr %716, i64 0, i64 0
  %35760 = call i32 @s2n_offered_early_data_get_context(ptr noundef %713, ptr noundef %35759, i16 noundef zeroext 1)
  %35761 = icmp eq i32 %35760, -1
  br i1 %35761, label %35815, label %35762

35762:                                            ; preds = %35756
  br label %35763

35763:                                            ; preds = %35762
  br label %35764

35764:                                            ; preds = %35763
  call void @llvm.lifetime.start.p0(i64 4, ptr %757) #11
  %35765 = call ptr @__errno_location() #12
  %35766 = load i32, ptr %35765, align 4, !tbaa !5
  store i32 %35766, ptr %757, align 4, !tbaa !5
  %35767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35768 = call i32 @s2n_print_stacktrace(ptr noundef %35767)
  %35769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35770 = trunc i8 %35769 to i1
  br i1 %35770, label %35771, label %35793

35771:                                            ; preds = %35764
  %35772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35773 = call i32 @fileno(ptr noundef %35772) #11
  %35774 = call i32 @isatty(i32 noundef %35773) #11
  %35775 = icmp ne i32 %35774, 0
  br i1 %35775, label %35776, label %35793

35776:                                            ; preds = %35771
  %35777 = load i32, ptr %757, align 4, !tbaa !5
  %35778 = call ptr @__errno_location() #12
  store i32 %35777, ptr %35778, align 4, !tbaa !5
  %35779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35780 = load i32, ptr @test_count, align 4, !tbaa !5
  %35781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35782 = load i32, ptr %35781, align 4, !tbaa !5
  %35783 = call ptr @s2n_strerror(i32 noundef %35782, ptr noundef @.str.4)
  %35784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35785 = load i32, ptr %35784, align 4, !tbaa !5
  %35786 = call ptr @s2n_strerror_debug(i32 noundef %35785, ptr noundef @.str.4)
  %35787 = call ptr @__errno_location() #12
  %35788 = load i32, ptr %35787, align 4, !tbaa !5
  %35789 = call ptr @strerror(i32 noundef %35788) #11
  %35790 = call ptr @__errno_location() #12
  %35791 = load i32, ptr %35790, align 4, !tbaa !5
  %35792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35779, ptr noundef @.str.2, i32 noundef %35780, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1385, ptr noundef %35783, ptr noundef %35786, ptr noundef %35789, i32 noundef %35791) #11
  br label %35810

35793:                                            ; preds = %35771, %35764
  %35794 = load i32, ptr %757, align 4, !tbaa !5
  %35795 = call ptr @__errno_location() #12
  store i32 %35794, ptr %35795, align 4, !tbaa !5
  %35796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35797 = load i32, ptr @test_count, align 4, !tbaa !5
  %35798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35799 = load i32, ptr %35798, align 4, !tbaa !5
  %35800 = call ptr @s2n_strerror(i32 noundef %35799, ptr noundef @.str.4)
  %35801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35802 = load i32, ptr %35801, align 4, !tbaa !5
  %35803 = call ptr @s2n_strerror_debug(i32 noundef %35802, ptr noundef @.str.4)
  %35804 = call ptr @__errno_location() #12
  %35805 = load i32, ptr %35804, align 4, !tbaa !5
  %35806 = call ptr @strerror(i32 noundef %35805) #11
  %35807 = call ptr @__errno_location() #12
  %35808 = load i32, ptr %35807, align 4, !tbaa !5
  %35809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35796, ptr noundef @.str.5, i32 noundef %35797, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1385, ptr noundef %35800, ptr noundef %35803, ptr noundef %35806, i32 noundef %35808) #11
  br label %35810

35810:                                            ; preds = %35793, %35776
  call void @llvm.lifetime.end.p0(i64 4, ptr %757) #11
  br label %35811

35811:                                            ; preds = %35810
  br label %35812

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

35813:                                            ; No predecessors!
  br label %35814

35814:                                            ; preds = %35813
  br label %35815

35815:                                            ; preds = %35814, %35756
  br label %35816

35816:                                            ; preds = %35815
  br label %35817

35817:                                            ; preds = %35816
  br label %35818

35818:                                            ; preds = %35817
  %35819 = load i32, ptr @test_count, align 4, !tbaa !5
  %35820 = add nsw i32 %35819, 1
  store i32 %35820, ptr @test_count, align 4, !tbaa !5
  %35821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35822 = load i32, ptr %35821, align 4, !tbaa !5
  %35823 = icmp eq i32 %35822, 469762120
  br i1 %35823, label %35877, label %35824

35824:                                            ; preds = %35818
  br label %35825

35825:                                            ; preds = %35824
  br label %35826

35826:                                            ; preds = %35825
  call void @llvm.lifetime.start.p0(i64 4, ptr %758) #11
  %35827 = call ptr @__errno_location() #12
  %35828 = load i32, ptr %35827, align 4, !tbaa !5
  store i32 %35828, ptr %758, align 4, !tbaa !5
  %35829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35830 = call i32 @s2n_print_stacktrace(ptr noundef %35829)
  %35831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35832 = trunc i8 %35831 to i1
  br i1 %35832, label %35833, label %35855

35833:                                            ; preds = %35826
  %35834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35835 = call i32 @fileno(ptr noundef %35834) #11
  %35836 = call i32 @isatty(i32 noundef %35835) #11
  %35837 = icmp ne i32 %35836, 0
  br i1 %35837, label %35838, label %35855

35838:                                            ; preds = %35833
  %35839 = load i32, ptr %758, align 4, !tbaa !5
  %35840 = call ptr @__errno_location() #12
  store i32 %35839, ptr %35840, align 4, !tbaa !5
  %35841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35842 = load i32, ptr @test_count, align 4, !tbaa !5
  %35843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35844 = load i32, ptr %35843, align 4, !tbaa !5
  %35845 = call ptr @s2n_strerror(i32 noundef %35844, ptr noundef @.str.4)
  %35846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35847 = load i32, ptr %35846, align 4, !tbaa !5
  %35848 = call ptr @s2n_strerror_debug(i32 noundef %35847, ptr noundef @.str.4)
  %35849 = call ptr @__errno_location() #12
  %35850 = load i32, ptr %35849, align 4, !tbaa !5
  %35851 = call ptr @strerror(i32 noundef %35850) #11
  %35852 = call ptr @__errno_location() #12
  %35853 = load i32, ptr %35852, align 4, !tbaa !5
  %35854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35841, ptr noundef @.str.2, i32 noundef %35842, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1385, ptr noundef %35845, ptr noundef %35848, ptr noundef %35851, i32 noundef %35853) #11
  br label %35872

35855:                                            ; preds = %35833, %35826
  %35856 = load i32, ptr %758, align 4, !tbaa !5
  %35857 = call ptr @__errno_location() #12
  store i32 %35856, ptr %35857, align 4, !tbaa !5
  %35858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35859 = load i32, ptr @test_count, align 4, !tbaa !5
  %35860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35861 = load i32, ptr %35860, align 4, !tbaa !5
  %35862 = call ptr @s2n_strerror(i32 noundef %35861, ptr noundef @.str.4)
  %35863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35864 = load i32, ptr %35863, align 4, !tbaa !5
  %35865 = call ptr @s2n_strerror_debug(i32 noundef %35864, ptr noundef @.str.4)
  %35866 = call ptr @__errno_location() #12
  %35867 = load i32, ptr %35866, align 4, !tbaa !5
  %35868 = call ptr @strerror(i32 noundef %35867) #11
  %35869 = call ptr @__errno_location() #12
  %35870 = load i32, ptr %35869, align 4, !tbaa !5
  %35871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35858, ptr noundef @.str.5, i32 noundef %35859, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1385, ptr noundef %35862, ptr noundef %35865, ptr noundef %35868, i32 noundef %35870) #11
  br label %35872

35872:                                            ; preds = %35855, %35838
  call void @llvm.lifetime.end.p0(i64 4, ptr %758) #11
  br label %35873

35873:                                            ; preds = %35872
  br label %35874

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

35875:                                            ; No predecessors!
  br label %35876

35876:                                            ; preds = %35875
  br label %35877

35877:                                            ; preds = %35876, %35818
  br label %35878

35878:                                            ; preds = %35877
  br label %35879

35879:                                            ; preds = %35878
  br label %35880

35880:                                            ; preds = %35879
  %35881 = load i32, ptr @test_count, align 4, !tbaa !5
  %35882 = add nsw i32 %35881, 1
  store i32 %35882, ptr @test_count, align 4, !tbaa !5
  %35883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35884 = load i32, ptr %35883, align 4, !tbaa !5
  %35885 = call ptr @s2n_strerror_debug(i32 noundef %35884, ptr noundef @.str.4)
  %35886 = icmp eq ptr %35885, null
  br i1 %35886, label %35887, label %35940

35887:                                            ; preds = %35880
  br label %35888

35888:                                            ; preds = %35887
  br label %35889

35889:                                            ; preds = %35888
  call void @llvm.lifetime.start.p0(i64 4, ptr %759) #11
  %35890 = call ptr @__errno_location() #12
  %35891 = load i32, ptr %35890, align 4, !tbaa !5
  store i32 %35891, ptr %759, align 4, !tbaa !5
  %35892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35893 = call i32 @s2n_print_stacktrace(ptr noundef %35892)
  %35894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35895 = trunc i8 %35894 to i1
  br i1 %35895, label %35896, label %35918

35896:                                            ; preds = %35889
  %35897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35898 = call i32 @fileno(ptr noundef %35897) #11
  %35899 = call i32 @isatty(i32 noundef %35898) #11
  %35900 = icmp ne i32 %35899, 0
  br i1 %35900, label %35901, label %35918

35901:                                            ; preds = %35896
  %35902 = load i32, ptr %759, align 4, !tbaa !5
  %35903 = call ptr @__errno_location() #12
  store i32 %35902, ptr %35903, align 4, !tbaa !5
  %35904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35905 = load i32, ptr @test_count, align 4, !tbaa !5
  %35906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35907 = load i32, ptr %35906, align 4, !tbaa !5
  %35908 = call ptr @s2n_strerror(i32 noundef %35907, ptr noundef @.str.4)
  %35909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35910 = load i32, ptr %35909, align 4, !tbaa !5
  %35911 = call ptr @s2n_strerror_debug(i32 noundef %35910, ptr noundef @.str.4)
  %35912 = call ptr @__errno_location() #12
  %35913 = load i32, ptr %35912, align 4, !tbaa !5
  %35914 = call ptr @strerror(i32 noundef %35913) #11
  %35915 = call ptr @__errno_location() #12
  %35916 = load i32, ptr %35915, align 4, !tbaa !5
  %35917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35904, ptr noundef @.str.2, i32 noundef %35905, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1385, ptr noundef %35908, ptr noundef %35911, ptr noundef %35914, i32 noundef %35916) #11
  br label %35935

35918:                                            ; preds = %35896, %35889
  %35919 = load i32, ptr %759, align 4, !tbaa !5
  %35920 = call ptr @__errno_location() #12
  store i32 %35919, ptr %35920, align 4, !tbaa !5
  %35921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35922 = load i32, ptr @test_count, align 4, !tbaa !5
  %35923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35924 = load i32, ptr %35923, align 4, !tbaa !5
  %35925 = call ptr @s2n_strerror(i32 noundef %35924, ptr noundef @.str.4)
  %35926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35927 = load i32, ptr %35926, align 4, !tbaa !5
  %35928 = call ptr @s2n_strerror_debug(i32 noundef %35927, ptr noundef @.str.4)
  %35929 = call ptr @__errno_location() #12
  %35930 = load i32, ptr %35929, align 4, !tbaa !5
  %35931 = call ptr @strerror(i32 noundef %35930) #11
  %35932 = call ptr @__errno_location() #12
  %35933 = load i32, ptr %35932, align 4, !tbaa !5
  %35934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35921, ptr noundef @.str.5, i32 noundef %35922, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1385, ptr noundef %35925, ptr noundef %35928, ptr noundef %35931, i32 noundef %35933) #11
  br label %35935

35935:                                            ; preds = %35918, %35901
  call void @llvm.lifetime.end.p0(i64 4, ptr %759) #11
  br label %35936

35936:                                            ; preds = %35935
  br label %35937

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

35938:                                            ; No predecessors!
  br label %35939

35939:                                            ; preds = %35938
  br label %35940

35940:                                            ; preds = %35939, %35880
  br label %35941

35941:                                            ; preds = %35940
  br label %35942

35942:                                            ; preds = %35941
  br label %35943

35943:                                            ; preds = %35942
  br label %35944

35944:                                            ; preds = %35943
  br label %35945

35945:                                            ; preds = %35944
  %35946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %35946, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %35947 = call ptr @__errno_location() #12
  store i32 0, ptr %35947, align 4, !tbaa !5
  br label %35948

35948:                                            ; preds = %35945
  br label %35949

35949:                                            ; preds = %35948
  br label %35950

35950:                                            ; preds = %35949
  br label %35951

35951:                                            ; preds = %35950
  br label %35952

35952:                                            ; preds = %35951
  %35953 = load i32, ptr @test_count, align 4, !tbaa !5
  %35954 = add nsw i32 %35953, 1
  store i32 %35954, ptr @test_count, align 4, !tbaa !5
  %35955 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %713, i32 0, i32 0
  %35956 = load ptr, ptr %35955, align 8, !tbaa !73
  %35957 = call i32 @s2n_connection_free(ptr noundef %35956)
  %35958 = icmp eq i32 %35957, -1
  br i1 %35958, label %35959, label %36012

35959:                                            ; preds = %35952
  br label %35960

35960:                                            ; preds = %35959
  br label %35961

35961:                                            ; preds = %35960
  call void @llvm.lifetime.start.p0(i64 4, ptr %760) #11
  %35962 = call ptr @__errno_location() #12
  %35963 = load i32, ptr %35962, align 4, !tbaa !5
  store i32 %35963, ptr %760, align 4, !tbaa !5
  %35964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35965 = call i32 @s2n_print_stacktrace(ptr noundef %35964)
  %35966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35967 = trunc i8 %35966 to i1
  br i1 %35967, label %35968, label %35990

35968:                                            ; preds = %35961
  %35969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35970 = call i32 @fileno(ptr noundef %35969) #11
  %35971 = call i32 @isatty(i32 noundef %35970) #11
  %35972 = icmp ne i32 %35971, 0
  br i1 %35972, label %35973, label %35990

35973:                                            ; preds = %35968
  %35974 = load i32, ptr %760, align 4, !tbaa !5
  %35975 = call ptr @__errno_location() #12
  store i32 %35974, ptr %35975, align 4, !tbaa !5
  %35976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35977 = load i32, ptr @test_count, align 4, !tbaa !5
  %35978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35979 = load i32, ptr %35978, align 4, !tbaa !5
  %35980 = call ptr @s2n_strerror(i32 noundef %35979, ptr noundef @.str.4)
  %35981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35982 = load i32, ptr %35981, align 4, !tbaa !5
  %35983 = call ptr @s2n_strerror_debug(i32 noundef %35982, ptr noundef @.str.4)
  %35984 = call ptr @__errno_location() #12
  %35985 = load i32, ptr %35984, align 4, !tbaa !5
  %35986 = call ptr @strerror(i32 noundef %35985) #11
  %35987 = call ptr @__errno_location() #12
  %35988 = load i32, ptr %35987, align 4, !tbaa !5
  %35989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35976, ptr noundef @.str.2, i32 noundef %35977, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %35980, ptr noundef %35983, ptr noundef %35986, i32 noundef %35988) #11
  br label %36007

35990:                                            ; preds = %35968, %35961
  %35991 = load i32, ptr %760, align 4, !tbaa !5
  %35992 = call ptr @__errno_location() #12
  store i32 %35991, ptr %35992, align 4, !tbaa !5
  %35993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35994 = load i32, ptr @test_count, align 4, !tbaa !5
  %35995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35996 = load i32, ptr %35995, align 4, !tbaa !5
  %35997 = call ptr @s2n_strerror(i32 noundef %35996, ptr noundef @.str.4)
  %35998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35999 = load i32, ptr %35998, align 4, !tbaa !5
  %36000 = call ptr @s2n_strerror_debug(i32 noundef %35999, ptr noundef @.str.4)
  %36001 = call ptr @__errno_location() #12
  %36002 = load i32, ptr %36001, align 4, !tbaa !5
  %36003 = call ptr @strerror(i32 noundef %36002) #11
  %36004 = call ptr @__errno_location() #12
  %36005 = load i32, ptr %36004, align 4, !tbaa !5
  %36006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35993, ptr noundef @.str.5, i32 noundef %35994, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %35997, ptr noundef %36000, ptr noundef %36003, i32 noundef %36005) #11
  br label %36007

36007:                                            ; preds = %35990, %35973
  call void @llvm.lifetime.end.p0(i64 4, ptr %760) #11
  br label %36008

36008:                                            ; preds = %36007
  br label %36009

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

36010:                                            ; No predecessors!
  br label %36011

36011:                                            ; preds = %36010
  br label %36012

36012:                                            ; preds = %36011, %35952
  br label %36013

36013:                                            ; preds = %36012
  br label %36014

36014:                                            ; preds = %36013
  %36015 = call i32 @s2n_psk_free(ptr noundef %751)
  call void @llvm.lifetime.end.p0(i64 8, ptr %751) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %717) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %716) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %715) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %714) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %713) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %761) #11
  call void @llvm.memset.p0.i64(ptr align 8 %761, i8 0, i64 8, i1 false)
  br label %36016

36016:                                            ; preds = %36014
  br label %36017

36017:                                            ; preds = %36016
  br label %36018

36018:                                            ; preds = %36017
  %36019 = load i32, ptr @test_count, align 4, !tbaa !5
  %36020 = add nsw i32 %36019, 1
  store i32 %36020, ptr @test_count, align 4, !tbaa !5
  %36021 = call i32 @s2n_offered_early_data_reject(ptr noundef null)
  %36022 = icmp eq i32 %36021, -1
  br i1 %36022, label %36076, label %36023

36023:                                            ; preds = %36018
  br label %36024

36024:                                            ; preds = %36023
  br label %36025

36025:                                            ; preds = %36024
  call void @llvm.lifetime.start.p0(i64 4, ptr %762) #11
  %36026 = call ptr @__errno_location() #12
  %36027 = load i32, ptr %36026, align 4, !tbaa !5
  store i32 %36027, ptr %762, align 4, !tbaa !5
  %36028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36029 = call i32 @s2n_print_stacktrace(ptr noundef %36028)
  %36030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36031 = trunc i8 %36030 to i1
  br i1 %36031, label %36032, label %36054

36032:                                            ; preds = %36025
  %36033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36034 = call i32 @fileno(ptr noundef %36033) #11
  %36035 = call i32 @isatty(i32 noundef %36034) #11
  %36036 = icmp ne i32 %36035, 0
  br i1 %36036, label %36037, label %36054

36037:                                            ; preds = %36032
  %36038 = load i32, ptr %762, align 4, !tbaa !5
  %36039 = call ptr @__errno_location() #12
  store i32 %36038, ptr %36039, align 4, !tbaa !5
  %36040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36041 = load i32, ptr @test_count, align 4, !tbaa !5
  %36042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36043 = load i32, ptr %36042, align 4, !tbaa !5
  %36044 = call ptr @s2n_strerror(i32 noundef %36043, ptr noundef @.str.4)
  %36045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36046 = load i32, ptr %36045, align 4, !tbaa !5
  %36047 = call ptr @s2n_strerror_debug(i32 noundef %36046, ptr noundef @.str.4)
  %36048 = call ptr @__errno_location() #12
  %36049 = load i32, ptr %36048, align 4, !tbaa !5
  %36050 = call ptr @strerror(i32 noundef %36049) #11
  %36051 = call ptr @__errno_location() #12
  %36052 = load i32, ptr %36051, align 4, !tbaa !5
  %36053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36040, ptr noundef @.str.2, i32 noundef %36041, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 1397, ptr noundef %36044, ptr noundef %36047, ptr noundef %36050, i32 noundef %36052) #11
  br label %36071

36054:                                            ; preds = %36032, %36025
  %36055 = load i32, ptr %762, align 4, !tbaa !5
  %36056 = call ptr @__errno_location() #12
  store i32 %36055, ptr %36056, align 4, !tbaa !5
  %36057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36058 = load i32, ptr @test_count, align 4, !tbaa !5
  %36059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36060 = load i32, ptr %36059, align 4, !tbaa !5
  %36061 = call ptr @s2n_strerror(i32 noundef %36060, ptr noundef @.str.4)
  %36062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36063 = load i32, ptr %36062, align 4, !tbaa !5
  %36064 = call ptr @s2n_strerror_debug(i32 noundef %36063, ptr noundef @.str.4)
  %36065 = call ptr @__errno_location() #12
  %36066 = load i32, ptr %36065, align 4, !tbaa !5
  %36067 = call ptr @strerror(i32 noundef %36066) #11
  %36068 = call ptr @__errno_location() #12
  %36069 = load i32, ptr %36068, align 4, !tbaa !5
  %36070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36057, ptr noundef @.str.5, i32 noundef %36058, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 1397, ptr noundef %36061, ptr noundef %36064, ptr noundef %36067, i32 noundef %36069) #11
  br label %36071

36071:                                            ; preds = %36054, %36037
  call void @llvm.lifetime.end.p0(i64 4, ptr %762) #11
  br label %36072

36072:                                            ; preds = %36071
  br label %36073

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

36074:                                            ; No predecessors!
  br label %36075

36075:                                            ; preds = %36074
  br label %36076

36076:                                            ; preds = %36075, %36018
  br label %36077

36077:                                            ; preds = %36076
  br label %36078

36078:                                            ; preds = %36077
  br label %36079

36079:                                            ; preds = %36078
  %36080 = load i32, ptr @test_count, align 4, !tbaa !5
  %36081 = add nsw i32 %36080, 1
  store i32 %36081, ptr @test_count, align 4, !tbaa !5
  %36082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36083 = load i32, ptr %36082, align 4, !tbaa !5
  %36084 = icmp eq i32 %36083, 402653193
  br i1 %36084, label %36138, label %36085

36085:                                            ; preds = %36079
  br label %36086

36086:                                            ; preds = %36085
  br label %36087

36087:                                            ; preds = %36086
  call void @llvm.lifetime.start.p0(i64 4, ptr %763) #11
  %36088 = call ptr @__errno_location() #12
  %36089 = load i32, ptr %36088, align 4, !tbaa !5
  store i32 %36089, ptr %763, align 4, !tbaa !5
  %36090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36091 = call i32 @s2n_print_stacktrace(ptr noundef %36090)
  %36092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36093 = trunc i8 %36092 to i1
  br i1 %36093, label %36094, label %36116

36094:                                            ; preds = %36087
  %36095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36096 = call i32 @fileno(ptr noundef %36095) #11
  %36097 = call i32 @isatty(i32 noundef %36096) #11
  %36098 = icmp ne i32 %36097, 0
  br i1 %36098, label %36099, label %36116

36099:                                            ; preds = %36094
  %36100 = load i32, ptr %763, align 4, !tbaa !5
  %36101 = call ptr @__errno_location() #12
  store i32 %36100, ptr %36101, align 4, !tbaa !5
  %36102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36103 = load i32, ptr @test_count, align 4, !tbaa !5
  %36104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36105 = load i32, ptr %36104, align 4, !tbaa !5
  %36106 = call ptr @s2n_strerror(i32 noundef %36105, ptr noundef @.str.4)
  %36107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36108 = load i32, ptr %36107, align 4, !tbaa !5
  %36109 = call ptr @s2n_strerror_debug(i32 noundef %36108, ptr noundef @.str.4)
  %36110 = call ptr @__errno_location() #12
  %36111 = load i32, ptr %36110, align 4, !tbaa !5
  %36112 = call ptr @strerror(i32 noundef %36111) #11
  %36113 = call ptr @__errno_location() #12
  %36114 = load i32, ptr %36113, align 4, !tbaa !5
  %36115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36102, ptr noundef @.str.2, i32 noundef %36103, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1397, ptr noundef %36106, ptr noundef %36109, ptr noundef %36112, i32 noundef %36114) #11
  br label %36133

36116:                                            ; preds = %36094, %36087
  %36117 = load i32, ptr %763, align 4, !tbaa !5
  %36118 = call ptr @__errno_location() #12
  store i32 %36117, ptr %36118, align 4, !tbaa !5
  %36119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36120 = load i32, ptr @test_count, align 4, !tbaa !5
  %36121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36122 = load i32, ptr %36121, align 4, !tbaa !5
  %36123 = call ptr @s2n_strerror(i32 noundef %36122, ptr noundef @.str.4)
  %36124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36125 = load i32, ptr %36124, align 4, !tbaa !5
  %36126 = call ptr @s2n_strerror_debug(i32 noundef %36125, ptr noundef @.str.4)
  %36127 = call ptr @__errno_location() #12
  %36128 = load i32, ptr %36127, align 4, !tbaa !5
  %36129 = call ptr @strerror(i32 noundef %36128) #11
  %36130 = call ptr @__errno_location() #12
  %36131 = load i32, ptr %36130, align 4, !tbaa !5
  %36132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36119, ptr noundef @.str.5, i32 noundef %36120, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1397, ptr noundef %36123, ptr noundef %36126, ptr noundef %36129, i32 noundef %36131) #11
  br label %36133

36133:                                            ; preds = %36116, %36099
  call void @llvm.lifetime.end.p0(i64 4, ptr %763) #11
  br label %36134

36134:                                            ; preds = %36133
  br label %36135

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

36136:                                            ; No predecessors!
  br label %36137

36137:                                            ; preds = %36136
  br label %36138

36138:                                            ; preds = %36137, %36079
  br label %36139

36139:                                            ; preds = %36138
  br label %36140

36140:                                            ; preds = %36139
  br label %36141

36141:                                            ; preds = %36140
  %36142 = load i32, ptr @test_count, align 4, !tbaa !5
  %36143 = add nsw i32 %36142, 1
  store i32 %36143, ptr @test_count, align 4, !tbaa !5
  %36144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36145 = load i32, ptr %36144, align 4, !tbaa !5
  %36146 = call ptr @s2n_strerror_debug(i32 noundef %36145, ptr noundef @.str.4)
  %36147 = icmp eq ptr %36146, null
  br i1 %36147, label %36148, label %36201

36148:                                            ; preds = %36141
  br label %36149

36149:                                            ; preds = %36148
  br label %36150

36150:                                            ; preds = %36149
  call void @llvm.lifetime.start.p0(i64 4, ptr %764) #11
  %36151 = call ptr @__errno_location() #12
  %36152 = load i32, ptr %36151, align 4, !tbaa !5
  store i32 %36152, ptr %764, align 4, !tbaa !5
  %36153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36154 = call i32 @s2n_print_stacktrace(ptr noundef %36153)
  %36155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36156 = trunc i8 %36155 to i1
  br i1 %36156, label %36157, label %36179

36157:                                            ; preds = %36150
  %36158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36159 = call i32 @fileno(ptr noundef %36158) #11
  %36160 = call i32 @isatty(i32 noundef %36159) #11
  %36161 = icmp ne i32 %36160, 0
  br i1 %36161, label %36162, label %36179

36162:                                            ; preds = %36157
  %36163 = load i32, ptr %764, align 4, !tbaa !5
  %36164 = call ptr @__errno_location() #12
  store i32 %36163, ptr %36164, align 4, !tbaa !5
  %36165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36166 = load i32, ptr @test_count, align 4, !tbaa !5
  %36167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36168 = load i32, ptr %36167, align 4, !tbaa !5
  %36169 = call ptr @s2n_strerror(i32 noundef %36168, ptr noundef @.str.4)
  %36170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36171 = load i32, ptr %36170, align 4, !tbaa !5
  %36172 = call ptr @s2n_strerror_debug(i32 noundef %36171, ptr noundef @.str.4)
  %36173 = call ptr @__errno_location() #12
  %36174 = load i32, ptr %36173, align 4, !tbaa !5
  %36175 = call ptr @strerror(i32 noundef %36174) #11
  %36176 = call ptr @__errno_location() #12
  %36177 = load i32, ptr %36176, align 4, !tbaa !5
  %36178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36165, ptr noundef @.str.2, i32 noundef %36166, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1397, ptr noundef %36169, ptr noundef %36172, ptr noundef %36175, i32 noundef %36177) #11
  br label %36196

36179:                                            ; preds = %36157, %36150
  %36180 = load i32, ptr %764, align 4, !tbaa !5
  %36181 = call ptr @__errno_location() #12
  store i32 %36180, ptr %36181, align 4, !tbaa !5
  %36182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36183 = load i32, ptr @test_count, align 4, !tbaa !5
  %36184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36185 = load i32, ptr %36184, align 4, !tbaa !5
  %36186 = call ptr @s2n_strerror(i32 noundef %36185, ptr noundef @.str.4)
  %36187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36188 = load i32, ptr %36187, align 4, !tbaa !5
  %36189 = call ptr @s2n_strerror_debug(i32 noundef %36188, ptr noundef @.str.4)
  %36190 = call ptr @__errno_location() #12
  %36191 = load i32, ptr %36190, align 4, !tbaa !5
  %36192 = call ptr @strerror(i32 noundef %36191) #11
  %36193 = call ptr @__errno_location() #12
  %36194 = load i32, ptr %36193, align 4, !tbaa !5
  %36195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36182, ptr noundef @.str.5, i32 noundef %36183, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1397, ptr noundef %36186, ptr noundef %36189, ptr noundef %36192, i32 noundef %36194) #11
  br label %36196

36196:                                            ; preds = %36179, %36162
  call void @llvm.lifetime.end.p0(i64 4, ptr %764) #11
  br label %36197

36197:                                            ; preds = %36196
  br label %36198

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

36199:                                            ; No predecessors!
  br label %36200

36200:                                            ; preds = %36199
  br label %36201

36201:                                            ; preds = %36200, %36141
  br label %36202

36202:                                            ; preds = %36201
  br label %36203

36203:                                            ; preds = %36202
  br label %36204

36204:                                            ; preds = %36203
  br label %36205

36205:                                            ; preds = %36204
  br label %36206

36206:                                            ; preds = %36205
  %36207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %36207, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %36208 = call ptr @__errno_location() #12
  store i32 0, ptr %36208, align 4, !tbaa !5
  br label %36209

36209:                                            ; preds = %36206
  br label %36210

36210:                                            ; preds = %36209
  br label %36211

36211:                                            ; preds = %36210
  br label %36212

36212:                                            ; preds = %36211
  br label %36213

36213:                                            ; preds = %36212
  br label %36214

36214:                                            ; preds = %36213
  br label %36215

36215:                                            ; preds = %36214
  %36216 = load i32, ptr @test_count, align 4, !tbaa !5
  %36217 = add nsw i32 %36216, 1
  store i32 %36217, ptr @test_count, align 4, !tbaa !5
  %36218 = call i32 @s2n_offered_early_data_reject(ptr noundef %761)
  %36219 = icmp eq i32 %36218, -1
  br i1 %36219, label %36273, label %36220

36220:                                            ; preds = %36215
  br label %36221

36221:                                            ; preds = %36220
  br label %36222

36222:                                            ; preds = %36221
  call void @llvm.lifetime.start.p0(i64 4, ptr %765) #11
  %36223 = call ptr @__errno_location() #12
  %36224 = load i32, ptr %36223, align 4, !tbaa !5
  store i32 %36224, ptr %765, align 4, !tbaa !5
  %36225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36226 = call i32 @s2n_print_stacktrace(ptr noundef %36225)
  %36227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36228 = trunc i8 %36227 to i1
  br i1 %36228, label %36229, label %36251

36229:                                            ; preds = %36222
  %36230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36231 = call i32 @fileno(ptr noundef %36230) #11
  %36232 = call i32 @isatty(i32 noundef %36231) #11
  %36233 = icmp ne i32 %36232, 0
  br i1 %36233, label %36234, label %36251

36234:                                            ; preds = %36229
  %36235 = load i32, ptr %765, align 4, !tbaa !5
  %36236 = call ptr @__errno_location() #12
  store i32 %36235, ptr %36236, align 4, !tbaa !5
  %36237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36238 = load i32, ptr @test_count, align 4, !tbaa !5
  %36239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36240 = load i32, ptr %36239, align 4, !tbaa !5
  %36241 = call ptr @s2n_strerror(i32 noundef %36240, ptr noundef @.str.4)
  %36242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36243 = load i32, ptr %36242, align 4, !tbaa !5
  %36244 = call ptr @s2n_strerror_debug(i32 noundef %36243, ptr noundef @.str.4)
  %36245 = call ptr @__errno_location() #12
  %36246 = load i32, ptr %36245, align 4, !tbaa !5
  %36247 = call ptr @strerror(i32 noundef %36246) #11
  %36248 = call ptr @__errno_location() #12
  %36249 = load i32, ptr %36248, align 4, !tbaa !5
  %36250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36237, ptr noundef @.str.2, i32 noundef %36238, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1398, ptr noundef %36241, ptr noundef %36244, ptr noundef %36247, i32 noundef %36249) #11
  br label %36268

36251:                                            ; preds = %36229, %36222
  %36252 = load i32, ptr %765, align 4, !tbaa !5
  %36253 = call ptr @__errno_location() #12
  store i32 %36252, ptr %36253, align 4, !tbaa !5
  %36254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36255 = load i32, ptr @test_count, align 4, !tbaa !5
  %36256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36257 = load i32, ptr %36256, align 4, !tbaa !5
  %36258 = call ptr @s2n_strerror(i32 noundef %36257, ptr noundef @.str.4)
  %36259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36260 = load i32, ptr %36259, align 4, !tbaa !5
  %36261 = call ptr @s2n_strerror_debug(i32 noundef %36260, ptr noundef @.str.4)
  %36262 = call ptr @__errno_location() #12
  %36263 = load i32, ptr %36262, align 4, !tbaa !5
  %36264 = call ptr @strerror(i32 noundef %36263) #11
  %36265 = call ptr @__errno_location() #12
  %36266 = load i32, ptr %36265, align 4, !tbaa !5
  %36267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36254, ptr noundef @.str.5, i32 noundef %36255, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1398, ptr noundef %36258, ptr noundef %36261, ptr noundef %36264, i32 noundef %36266) #11
  br label %36268

36268:                                            ; preds = %36251, %36234
  call void @llvm.lifetime.end.p0(i64 4, ptr %765) #11
  br label %36269

36269:                                            ; preds = %36268
  br label %36270

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

36271:                                            ; No predecessors!
  br label %36272

36272:                                            ; preds = %36271
  br label %36273

36273:                                            ; preds = %36272, %36215
  br label %36274

36274:                                            ; preds = %36273
  br label %36275

36275:                                            ; preds = %36274
  br label %36276

36276:                                            ; preds = %36275
  %36277 = load i32, ptr @test_count, align 4, !tbaa !5
  %36278 = add nsw i32 %36277, 1
  store i32 %36278, ptr @test_count, align 4, !tbaa !5
  %36279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36280 = load i32, ptr %36279, align 4, !tbaa !5
  %36281 = icmp eq i32 %36280, 402653193
  br i1 %36281, label %36335, label %36282

36282:                                            ; preds = %36276
  br label %36283

36283:                                            ; preds = %36282
  br label %36284

36284:                                            ; preds = %36283
  call void @llvm.lifetime.start.p0(i64 4, ptr %766) #11
  %36285 = call ptr @__errno_location() #12
  %36286 = load i32, ptr %36285, align 4, !tbaa !5
  store i32 %36286, ptr %766, align 4, !tbaa !5
  %36287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36288 = call i32 @s2n_print_stacktrace(ptr noundef %36287)
  %36289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36290 = trunc i8 %36289 to i1
  br i1 %36290, label %36291, label %36313

36291:                                            ; preds = %36284
  %36292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36293 = call i32 @fileno(ptr noundef %36292) #11
  %36294 = call i32 @isatty(i32 noundef %36293) #11
  %36295 = icmp ne i32 %36294, 0
  br i1 %36295, label %36296, label %36313

36296:                                            ; preds = %36291
  %36297 = load i32, ptr %766, align 4, !tbaa !5
  %36298 = call ptr @__errno_location() #12
  store i32 %36297, ptr %36298, align 4, !tbaa !5
  %36299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36300 = load i32, ptr @test_count, align 4, !tbaa !5
  %36301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36302 = load i32, ptr %36301, align 4, !tbaa !5
  %36303 = call ptr @s2n_strerror(i32 noundef %36302, ptr noundef @.str.4)
  %36304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36305 = load i32, ptr %36304, align 4, !tbaa !5
  %36306 = call ptr @s2n_strerror_debug(i32 noundef %36305, ptr noundef @.str.4)
  %36307 = call ptr @__errno_location() #12
  %36308 = load i32, ptr %36307, align 4, !tbaa !5
  %36309 = call ptr @strerror(i32 noundef %36308) #11
  %36310 = call ptr @__errno_location() #12
  %36311 = load i32, ptr %36310, align 4, !tbaa !5
  %36312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36299, ptr noundef @.str.2, i32 noundef %36300, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1398, ptr noundef %36303, ptr noundef %36306, ptr noundef %36309, i32 noundef %36311) #11
  br label %36330

36313:                                            ; preds = %36291, %36284
  %36314 = load i32, ptr %766, align 4, !tbaa !5
  %36315 = call ptr @__errno_location() #12
  store i32 %36314, ptr %36315, align 4, !tbaa !5
  %36316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36317 = load i32, ptr @test_count, align 4, !tbaa !5
  %36318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36319 = load i32, ptr %36318, align 4, !tbaa !5
  %36320 = call ptr @s2n_strerror(i32 noundef %36319, ptr noundef @.str.4)
  %36321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36322 = load i32, ptr %36321, align 4, !tbaa !5
  %36323 = call ptr @s2n_strerror_debug(i32 noundef %36322, ptr noundef @.str.4)
  %36324 = call ptr @__errno_location() #12
  %36325 = load i32, ptr %36324, align 4, !tbaa !5
  %36326 = call ptr @strerror(i32 noundef %36325) #11
  %36327 = call ptr @__errno_location() #12
  %36328 = load i32, ptr %36327, align 4, !tbaa !5
  %36329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36316, ptr noundef @.str.5, i32 noundef %36317, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1398, ptr noundef %36320, ptr noundef %36323, ptr noundef %36326, i32 noundef %36328) #11
  br label %36330

36330:                                            ; preds = %36313, %36296
  call void @llvm.lifetime.end.p0(i64 4, ptr %766) #11
  br label %36331

36331:                                            ; preds = %36330
  br label %36332

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

36333:                                            ; No predecessors!
  br label %36334

36334:                                            ; preds = %36333
  br label %36335

36335:                                            ; preds = %36334, %36276
  br label %36336

36336:                                            ; preds = %36335
  br label %36337

36337:                                            ; preds = %36336
  br label %36338

36338:                                            ; preds = %36337
  %36339 = load i32, ptr @test_count, align 4, !tbaa !5
  %36340 = add nsw i32 %36339, 1
  store i32 %36340, ptr @test_count, align 4, !tbaa !5
  %36341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36342 = load i32, ptr %36341, align 4, !tbaa !5
  %36343 = call ptr @s2n_strerror_debug(i32 noundef %36342, ptr noundef @.str.4)
  %36344 = icmp eq ptr %36343, null
  br i1 %36344, label %36345, label %36398

36345:                                            ; preds = %36338
  br label %36346

36346:                                            ; preds = %36345
  br label %36347

36347:                                            ; preds = %36346
  call void @llvm.lifetime.start.p0(i64 4, ptr %767) #11
  %36348 = call ptr @__errno_location() #12
  %36349 = load i32, ptr %36348, align 4, !tbaa !5
  store i32 %36349, ptr %767, align 4, !tbaa !5
  %36350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36351 = call i32 @s2n_print_stacktrace(ptr noundef %36350)
  %36352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36353 = trunc i8 %36352 to i1
  br i1 %36353, label %36354, label %36376

36354:                                            ; preds = %36347
  %36355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36356 = call i32 @fileno(ptr noundef %36355) #11
  %36357 = call i32 @isatty(i32 noundef %36356) #11
  %36358 = icmp ne i32 %36357, 0
  br i1 %36358, label %36359, label %36376

36359:                                            ; preds = %36354
  %36360 = load i32, ptr %767, align 4, !tbaa !5
  %36361 = call ptr @__errno_location() #12
  store i32 %36360, ptr %36361, align 4, !tbaa !5
  %36362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36363 = load i32, ptr @test_count, align 4, !tbaa !5
  %36364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36365 = load i32, ptr %36364, align 4, !tbaa !5
  %36366 = call ptr @s2n_strerror(i32 noundef %36365, ptr noundef @.str.4)
  %36367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36368 = load i32, ptr %36367, align 4, !tbaa !5
  %36369 = call ptr @s2n_strerror_debug(i32 noundef %36368, ptr noundef @.str.4)
  %36370 = call ptr @__errno_location() #12
  %36371 = load i32, ptr %36370, align 4, !tbaa !5
  %36372 = call ptr @strerror(i32 noundef %36371) #11
  %36373 = call ptr @__errno_location() #12
  %36374 = load i32, ptr %36373, align 4, !tbaa !5
  %36375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36362, ptr noundef @.str.2, i32 noundef %36363, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1398, ptr noundef %36366, ptr noundef %36369, ptr noundef %36372, i32 noundef %36374) #11
  br label %36393

36376:                                            ; preds = %36354, %36347
  %36377 = load i32, ptr %767, align 4, !tbaa !5
  %36378 = call ptr @__errno_location() #12
  store i32 %36377, ptr %36378, align 4, !tbaa !5
  %36379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36380 = load i32, ptr @test_count, align 4, !tbaa !5
  %36381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36382 = load i32, ptr %36381, align 4, !tbaa !5
  %36383 = call ptr @s2n_strerror(i32 noundef %36382, ptr noundef @.str.4)
  %36384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36385 = load i32, ptr %36384, align 4, !tbaa !5
  %36386 = call ptr @s2n_strerror_debug(i32 noundef %36385, ptr noundef @.str.4)
  %36387 = call ptr @__errno_location() #12
  %36388 = load i32, ptr %36387, align 4, !tbaa !5
  %36389 = call ptr @strerror(i32 noundef %36388) #11
  %36390 = call ptr @__errno_location() #12
  %36391 = load i32, ptr %36390, align 4, !tbaa !5
  %36392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36379, ptr noundef @.str.5, i32 noundef %36380, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1398, ptr noundef %36383, ptr noundef %36386, ptr noundef %36389, i32 noundef %36391) #11
  br label %36393

36393:                                            ; preds = %36376, %36359
  call void @llvm.lifetime.end.p0(i64 4, ptr %767) #11
  br label %36394

36394:                                            ; preds = %36393
  br label %36395

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

36396:                                            ; No predecessors!
  br label %36397

36397:                                            ; preds = %36396
  br label %36398

36398:                                            ; preds = %36397, %36338
  br label %36399

36399:                                            ; preds = %36398
  br label %36400

36400:                                            ; preds = %36399
  br label %36401

36401:                                            ; preds = %36400
  br label %36402

36402:                                            ; preds = %36401
  br label %36403

36403:                                            ; preds = %36402
  %36404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %36404, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %36405 = call ptr @__errno_location() #12
  store i32 0, ptr %36405, align 4, !tbaa !5
  br label %36406

36406:                                            ; preds = %36403
  br label %36407

36407:                                            ; preds = %36406
  br label %36408

36408:                                            ; preds = %36407
  br label %36409

36409:                                            ; preds = %36408
  %36410 = call ptr @s2n_connection_new(i32 noundef 0)
  %36411 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %761, i32 0, i32 0
  store ptr %36410, ptr %36411, align 8, !tbaa !73
  %36412 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %761, i32 0, i32 0
  %36413 = load ptr, ptr %36412, align 8, !tbaa !73
  %36414 = getelementptr inbounds %struct.s2n_connection, ptr %36413, i32 0, i32 89
  store i32 1, ptr %36414, align 8, !tbaa !15
  br label %36415

36415:                                            ; preds = %36409
  %36416 = load i32, ptr @test_count, align 4, !tbaa !5
  %36417 = add nsw i32 %36416, 1
  store i32 %36417, ptr @test_count, align 4, !tbaa !5
  %36418 = call i32 @s2n_offered_early_data_reject(ptr noundef %761)
  %36419 = icmp eq i32 %36418, -1
  br i1 %36419, label %36420, label %36473

36420:                                            ; preds = %36415
  br label %36421

36421:                                            ; preds = %36420
  br label %36422

36422:                                            ; preds = %36421
  call void @llvm.lifetime.start.p0(i64 4, ptr %768) #11
  %36423 = call ptr @__errno_location() #12
  %36424 = load i32, ptr %36423, align 4, !tbaa !5
  store i32 %36424, ptr %768, align 4, !tbaa !5
  %36425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36426 = call i32 @s2n_print_stacktrace(ptr noundef %36425)
  %36427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36428 = trunc i8 %36427 to i1
  br i1 %36428, label %36429, label %36451

36429:                                            ; preds = %36422
  %36430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36431 = call i32 @fileno(ptr noundef %36430) #11
  %36432 = call i32 @isatty(i32 noundef %36431) #11
  %36433 = icmp ne i32 %36432, 0
  br i1 %36433, label %36434, label %36451

36434:                                            ; preds = %36429
  %36435 = load i32, ptr %768, align 4, !tbaa !5
  %36436 = call ptr @__errno_location() #12
  store i32 %36435, ptr %36436, align 4, !tbaa !5
  %36437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36438 = load i32, ptr @test_count, align 4, !tbaa !5
  %36439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36440 = load i32, ptr %36439, align 4, !tbaa !5
  %36441 = call ptr @s2n_strerror(i32 noundef %36440, ptr noundef @.str.4)
  %36442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36443 = load i32, ptr %36442, align 4, !tbaa !5
  %36444 = call ptr @s2n_strerror_debug(i32 noundef %36443, ptr noundef @.str.4)
  %36445 = call ptr @__errno_location() #12
  %36446 = load i32, ptr %36445, align 4, !tbaa !5
  %36447 = call ptr @strerror(i32 noundef %36446) #11
  %36448 = call ptr @__errno_location() #12
  %36449 = load i32, ptr %36448, align 4, !tbaa !5
  %36450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36437, ptr noundef @.str.2, i32 noundef %36438, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1405, ptr noundef %36441, ptr noundef %36444, ptr noundef %36447, i32 noundef %36449) #11
  br label %36468

36451:                                            ; preds = %36429, %36422
  %36452 = load i32, ptr %768, align 4, !tbaa !5
  %36453 = call ptr @__errno_location() #12
  store i32 %36452, ptr %36453, align 4, !tbaa !5
  %36454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36455 = load i32, ptr @test_count, align 4, !tbaa !5
  %36456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36457 = load i32, ptr %36456, align 4, !tbaa !5
  %36458 = call ptr @s2n_strerror(i32 noundef %36457, ptr noundef @.str.4)
  %36459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36460 = load i32, ptr %36459, align 4, !tbaa !5
  %36461 = call ptr @s2n_strerror_debug(i32 noundef %36460, ptr noundef @.str.4)
  %36462 = call ptr @__errno_location() #12
  %36463 = load i32, ptr %36462, align 4, !tbaa !5
  %36464 = call ptr @strerror(i32 noundef %36463) #11
  %36465 = call ptr @__errno_location() #12
  %36466 = load i32, ptr %36465, align 4, !tbaa !5
  %36467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36454, ptr noundef @.str.5, i32 noundef %36455, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1405, ptr noundef %36458, ptr noundef %36461, ptr noundef %36464, i32 noundef %36466) #11
  br label %36468

36468:                                            ; preds = %36451, %36434
  call void @llvm.lifetime.end.p0(i64 4, ptr %768) #11
  br label %36469

36469:                                            ; preds = %36468
  br label %36470

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

36471:                                            ; No predecessors!
  br label %36472

36472:                                            ; preds = %36471
  br label %36473

36473:                                            ; preds = %36472, %36415
  br label %36474

36474:                                            ; preds = %36473
  br label %36475

36475:                                            ; preds = %36474
  br label %36476

36476:                                            ; preds = %36475
  %36477 = load i32, ptr @test_count, align 4, !tbaa !5
  %36478 = add nsw i32 %36477, 1
  store i32 %36478, ptr @test_count, align 4, !tbaa !5
  %36479 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %761, i32 0, i32 0
  %36480 = load ptr, ptr %36479, align 8, !tbaa !73
  %36481 = getelementptr inbounds %struct.s2n_connection, ptr %36480, i32 0, i32 89
  %36482 = load i32, ptr %36481, align 8, !tbaa !15
  %36483 = icmp eq i32 %36482, 4
  br i1 %36483, label %36537, label %36484

36484:                                            ; preds = %36476
  br label %36485

36485:                                            ; preds = %36484
  br label %36486

36486:                                            ; preds = %36485
  call void @llvm.lifetime.start.p0(i64 4, ptr %769) #11
  %36487 = call ptr @__errno_location() #12
  %36488 = load i32, ptr %36487, align 4, !tbaa !5
  store i32 %36488, ptr %769, align 4, !tbaa !5
  %36489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36490 = call i32 @s2n_print_stacktrace(ptr noundef %36489)
  %36491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36492 = trunc i8 %36491 to i1
  br i1 %36492, label %36493, label %36515

36493:                                            ; preds = %36486
  %36494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36495 = call i32 @fileno(ptr noundef %36494) #11
  %36496 = call i32 @isatty(i32 noundef %36495) #11
  %36497 = icmp ne i32 %36496, 0
  br i1 %36497, label %36498, label %36515

36498:                                            ; preds = %36493
  %36499 = load i32, ptr %769, align 4, !tbaa !5
  %36500 = call ptr @__errno_location() #12
  store i32 %36499, ptr %36500, align 4, !tbaa !5
  %36501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36502 = load i32, ptr @test_count, align 4, !tbaa !5
  %36503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36504 = load i32, ptr %36503, align 4, !tbaa !5
  %36505 = call ptr @s2n_strerror(i32 noundef %36504, ptr noundef @.str.4)
  %36506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36507 = load i32, ptr %36506, align 4, !tbaa !5
  %36508 = call ptr @s2n_strerror_debug(i32 noundef %36507, ptr noundef @.str.4)
  %36509 = call ptr @__errno_location() #12
  %36510 = load i32, ptr %36509, align 4, !tbaa !5
  %36511 = call ptr @strerror(i32 noundef %36510) #11
  %36512 = call ptr @__errno_location() #12
  %36513 = load i32, ptr %36512, align 4, !tbaa !5
  %36514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36501, ptr noundef @.str.2, i32 noundef %36502, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 1406, ptr noundef %36505, ptr noundef %36508, ptr noundef %36511, i32 noundef %36513) #11
  br label %36532

36515:                                            ; preds = %36493, %36486
  %36516 = load i32, ptr %769, align 4, !tbaa !5
  %36517 = call ptr @__errno_location() #12
  store i32 %36516, ptr %36517, align 4, !tbaa !5
  %36518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36519 = load i32, ptr @test_count, align 4, !tbaa !5
  %36520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36521 = load i32, ptr %36520, align 4, !tbaa !5
  %36522 = call ptr @s2n_strerror(i32 noundef %36521, ptr noundef @.str.4)
  %36523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36524 = load i32, ptr %36523, align 4, !tbaa !5
  %36525 = call ptr @s2n_strerror_debug(i32 noundef %36524, ptr noundef @.str.4)
  %36526 = call ptr @__errno_location() #12
  %36527 = load i32, ptr %36526, align 4, !tbaa !5
  %36528 = call ptr @strerror(i32 noundef %36527) #11
  %36529 = call ptr @__errno_location() #12
  %36530 = load i32, ptr %36529, align 4, !tbaa !5
  %36531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36518, ptr noundef @.str.5, i32 noundef %36519, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 1406, ptr noundef %36522, ptr noundef %36525, ptr noundef %36528, i32 noundef %36530) #11
  br label %36532

36532:                                            ; preds = %36515, %36498
  call void @llvm.lifetime.end.p0(i64 4, ptr %769) #11
  br label %36533

36533:                                            ; preds = %36532
  br label %36534

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

36535:                                            ; No predecessors!
  br label %36536

36536:                                            ; preds = %36535
  br label %36537

36537:                                            ; preds = %36536, %36476
  br label %36538

36538:                                            ; preds = %36537
  br label %36539

36539:                                            ; preds = %36538
  br label %36540

36540:                                            ; preds = %36539
  %36541 = load i32, ptr @test_count, align 4, !tbaa !5
  %36542 = add nsw i32 %36541, 1
  store i32 %36542, ptr @test_count, align 4, !tbaa !5
  %36543 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %761, i32 0, i32 0
  %36544 = load ptr, ptr %36543, align 8, !tbaa !73
  %36545 = call i32 @s2n_connection_free(ptr noundef %36544)
  %36546 = icmp eq i32 %36545, -1
  br i1 %36546, label %36547, label %36600

36547:                                            ; preds = %36540
  br label %36548

36548:                                            ; preds = %36547
  br label %36549

36549:                                            ; preds = %36548
  call void @llvm.lifetime.start.p0(i64 4, ptr %770) #11
  %36550 = call ptr @__errno_location() #12
  %36551 = load i32, ptr %36550, align 4, !tbaa !5
  store i32 %36551, ptr %770, align 4, !tbaa !5
  %36552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36553 = call i32 @s2n_print_stacktrace(ptr noundef %36552)
  %36554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36555 = trunc i8 %36554 to i1
  br i1 %36555, label %36556, label %36578

36556:                                            ; preds = %36549
  %36557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36558 = call i32 @fileno(ptr noundef %36557) #11
  %36559 = call i32 @isatty(i32 noundef %36558) #11
  %36560 = icmp ne i32 %36559, 0
  br i1 %36560, label %36561, label %36578

36561:                                            ; preds = %36556
  %36562 = load i32, ptr %770, align 4, !tbaa !5
  %36563 = call ptr @__errno_location() #12
  store i32 %36562, ptr %36563, align 4, !tbaa !5
  %36564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36565 = load i32, ptr @test_count, align 4, !tbaa !5
  %36566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36567 = load i32, ptr %36566, align 4, !tbaa !5
  %36568 = call ptr @s2n_strerror(i32 noundef %36567, ptr noundef @.str.4)
  %36569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36570 = load i32, ptr %36569, align 4, !tbaa !5
  %36571 = call ptr @s2n_strerror_debug(i32 noundef %36570, ptr noundef @.str.4)
  %36572 = call ptr @__errno_location() #12
  %36573 = load i32, ptr %36572, align 4, !tbaa !5
  %36574 = call ptr @strerror(i32 noundef %36573) #11
  %36575 = call ptr @__errno_location() #12
  %36576 = load i32, ptr %36575, align 4, !tbaa !5
  %36577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36564, ptr noundef @.str.2, i32 noundef %36565, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1407, ptr noundef %36568, ptr noundef %36571, ptr noundef %36574, i32 noundef %36576) #11
  br label %36595

36578:                                            ; preds = %36556, %36549
  %36579 = load i32, ptr %770, align 4, !tbaa !5
  %36580 = call ptr @__errno_location() #12
  store i32 %36579, ptr %36580, align 4, !tbaa !5
  %36581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36582 = load i32, ptr @test_count, align 4, !tbaa !5
  %36583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36584 = load i32, ptr %36583, align 4, !tbaa !5
  %36585 = call ptr @s2n_strerror(i32 noundef %36584, ptr noundef @.str.4)
  %36586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36587 = load i32, ptr %36586, align 4, !tbaa !5
  %36588 = call ptr @s2n_strerror_debug(i32 noundef %36587, ptr noundef @.str.4)
  %36589 = call ptr @__errno_location() #12
  %36590 = load i32, ptr %36589, align 4, !tbaa !5
  %36591 = call ptr @strerror(i32 noundef %36590) #11
  %36592 = call ptr @__errno_location() #12
  %36593 = load i32, ptr %36592, align 4, !tbaa !5
  %36594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36581, ptr noundef @.str.5, i32 noundef %36582, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1407, ptr noundef %36585, ptr noundef %36588, ptr noundef %36591, i32 noundef %36593) #11
  br label %36595

36595:                                            ; preds = %36578, %36561
  call void @llvm.lifetime.end.p0(i64 4, ptr %770) #11
  br label %36596

36596:                                            ; preds = %36595
  br label %36597

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

36598:                                            ; No predecessors!
  br label %36599

36599:                                            ; preds = %36598
  br label %36600

36600:                                            ; preds = %36599, %36540
  br label %36601

36601:                                            ; preds = %36600
  br label %36602

36602:                                            ; preds = %36601
  call void @llvm.lifetime.end.p0(i64 8, ptr %761) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %771) #11
  call void @llvm.memset.p0.i64(ptr align 8 %771, i8 0, i64 8, i1 false)
  br label %36603

36603:                                            ; preds = %36602
  br label %36604

36604:                                            ; preds = %36603
  br label %36605

36605:                                            ; preds = %36604
  %36606 = load i32, ptr @test_count, align 4, !tbaa !5
  %36607 = add nsw i32 %36606, 1
  store i32 %36607, ptr @test_count, align 4, !tbaa !5
  %36608 = call i32 @s2n_offered_early_data_accept(ptr noundef null)
  %36609 = icmp eq i32 %36608, -1
  br i1 %36609, label %36663, label %36610

36610:                                            ; preds = %36605
  br label %36611

36611:                                            ; preds = %36610
  br label %36612

36612:                                            ; preds = %36611
  call void @llvm.lifetime.start.p0(i64 4, ptr %772) #11
  %36613 = call ptr @__errno_location() #12
  %36614 = load i32, ptr %36613, align 4, !tbaa !5
  store i32 %36614, ptr %772, align 4, !tbaa !5
  %36615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36616 = call i32 @s2n_print_stacktrace(ptr noundef %36615)
  %36617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36618 = trunc i8 %36617 to i1
  br i1 %36618, label %36619, label %36641

36619:                                            ; preds = %36612
  %36620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36621 = call i32 @fileno(ptr noundef %36620) #11
  %36622 = call i32 @isatty(i32 noundef %36621) #11
  %36623 = icmp ne i32 %36622, 0
  br i1 %36623, label %36624, label %36641

36624:                                            ; preds = %36619
  %36625 = load i32, ptr %772, align 4, !tbaa !5
  %36626 = call ptr @__errno_location() #12
  store i32 %36625, ptr %36626, align 4, !tbaa !5
  %36627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36628 = load i32, ptr @test_count, align 4, !tbaa !5
  %36629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36630 = load i32, ptr %36629, align 4, !tbaa !5
  %36631 = call ptr @s2n_strerror(i32 noundef %36630, ptr noundef @.str.4)
  %36632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36633 = load i32, ptr %36632, align 4, !tbaa !5
  %36634 = call ptr @s2n_strerror_debug(i32 noundef %36633, ptr noundef @.str.4)
  %36635 = call ptr @__errno_location() #12
  %36636 = load i32, ptr %36635, align 4, !tbaa !5
  %36637 = call ptr @strerror(i32 noundef %36636) #11
  %36638 = call ptr @__errno_location() #12
  %36639 = load i32, ptr %36638, align 4, !tbaa !5
  %36640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36627, ptr noundef @.str.2, i32 noundef %36628, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %36631, ptr noundef %36634, ptr noundef %36637, i32 noundef %36639) #11
  br label %36658

36641:                                            ; preds = %36619, %36612
  %36642 = load i32, ptr %772, align 4, !tbaa !5
  %36643 = call ptr @__errno_location() #12
  store i32 %36642, ptr %36643, align 4, !tbaa !5
  %36644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36645 = load i32, ptr @test_count, align 4, !tbaa !5
  %36646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36647 = load i32, ptr %36646, align 4, !tbaa !5
  %36648 = call ptr @s2n_strerror(i32 noundef %36647, ptr noundef @.str.4)
  %36649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36650 = load i32, ptr %36649, align 4, !tbaa !5
  %36651 = call ptr @s2n_strerror_debug(i32 noundef %36650, ptr noundef @.str.4)
  %36652 = call ptr @__errno_location() #12
  %36653 = load i32, ptr %36652, align 4, !tbaa !5
  %36654 = call ptr @strerror(i32 noundef %36653) #11
  %36655 = call ptr @__errno_location() #12
  %36656 = load i32, ptr %36655, align 4, !tbaa !5
  %36657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36644, ptr noundef @.str.5, i32 noundef %36645, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %36648, ptr noundef %36651, ptr noundef %36654, i32 noundef %36656) #11
  br label %36658

36658:                                            ; preds = %36641, %36624
  call void @llvm.lifetime.end.p0(i64 4, ptr %772) #11
  br label %36659

36659:                                            ; preds = %36658
  br label %36660

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

36661:                                            ; No predecessors!
  br label %36662

36662:                                            ; preds = %36661
  br label %36663

36663:                                            ; preds = %36662, %36605
  br label %36664

36664:                                            ; preds = %36663
  br label %36665

36665:                                            ; preds = %36664
  br label %36666

36666:                                            ; preds = %36665
  %36667 = load i32, ptr @test_count, align 4, !tbaa !5
  %36668 = add nsw i32 %36667, 1
  store i32 %36668, ptr @test_count, align 4, !tbaa !5
  %36669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36670 = load i32, ptr %36669, align 4, !tbaa !5
  %36671 = icmp eq i32 %36670, 402653193
  br i1 %36671, label %36725, label %36672

36672:                                            ; preds = %36666
  br label %36673

36673:                                            ; preds = %36672
  br label %36674

36674:                                            ; preds = %36673
  call void @llvm.lifetime.start.p0(i64 4, ptr %773) #11
  %36675 = call ptr @__errno_location() #12
  %36676 = load i32, ptr %36675, align 4, !tbaa !5
  store i32 %36676, ptr %773, align 4, !tbaa !5
  %36677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36678 = call i32 @s2n_print_stacktrace(ptr noundef %36677)
  %36679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36680 = trunc i8 %36679 to i1
  br i1 %36680, label %36681, label %36703

36681:                                            ; preds = %36674
  %36682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36683 = call i32 @fileno(ptr noundef %36682) #11
  %36684 = call i32 @isatty(i32 noundef %36683) #11
  %36685 = icmp ne i32 %36684, 0
  br i1 %36685, label %36686, label %36703

36686:                                            ; preds = %36681
  %36687 = load i32, ptr %773, align 4, !tbaa !5
  %36688 = call ptr @__errno_location() #12
  store i32 %36687, ptr %36688, align 4, !tbaa !5
  %36689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36690 = load i32, ptr @test_count, align 4, !tbaa !5
  %36691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36692 = load i32, ptr %36691, align 4, !tbaa !5
  %36693 = call ptr @s2n_strerror(i32 noundef %36692, ptr noundef @.str.4)
  %36694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36695 = load i32, ptr %36694, align 4, !tbaa !5
  %36696 = call ptr @s2n_strerror_debug(i32 noundef %36695, ptr noundef @.str.4)
  %36697 = call ptr @__errno_location() #12
  %36698 = load i32, ptr %36697, align 4, !tbaa !5
  %36699 = call ptr @strerror(i32 noundef %36698) #11
  %36700 = call ptr @__errno_location() #12
  %36701 = load i32, ptr %36700, align 4, !tbaa !5
  %36702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36689, ptr noundef @.str.2, i32 noundef %36690, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %36693, ptr noundef %36696, ptr noundef %36699, i32 noundef %36701) #11
  br label %36720

36703:                                            ; preds = %36681, %36674
  %36704 = load i32, ptr %773, align 4, !tbaa !5
  %36705 = call ptr @__errno_location() #12
  store i32 %36704, ptr %36705, align 4, !tbaa !5
  %36706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36707 = load i32, ptr @test_count, align 4, !tbaa !5
  %36708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36709 = load i32, ptr %36708, align 4, !tbaa !5
  %36710 = call ptr @s2n_strerror(i32 noundef %36709, ptr noundef @.str.4)
  %36711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36712 = load i32, ptr %36711, align 4, !tbaa !5
  %36713 = call ptr @s2n_strerror_debug(i32 noundef %36712, ptr noundef @.str.4)
  %36714 = call ptr @__errno_location() #12
  %36715 = load i32, ptr %36714, align 4, !tbaa !5
  %36716 = call ptr @strerror(i32 noundef %36715) #11
  %36717 = call ptr @__errno_location() #12
  %36718 = load i32, ptr %36717, align 4, !tbaa !5
  %36719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36706, ptr noundef @.str.5, i32 noundef %36707, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %36710, ptr noundef %36713, ptr noundef %36716, i32 noundef %36718) #11
  br label %36720

36720:                                            ; preds = %36703, %36686
  call void @llvm.lifetime.end.p0(i64 4, ptr %773) #11
  br label %36721

36721:                                            ; preds = %36720
  br label %36722

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

36723:                                            ; No predecessors!
  br label %36724

36724:                                            ; preds = %36723
  br label %36725

36725:                                            ; preds = %36724, %36666
  br label %36726

36726:                                            ; preds = %36725
  br label %36727

36727:                                            ; preds = %36726
  br label %36728

36728:                                            ; preds = %36727
  %36729 = load i32, ptr @test_count, align 4, !tbaa !5
  %36730 = add nsw i32 %36729, 1
  store i32 %36730, ptr @test_count, align 4, !tbaa !5
  %36731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36732 = load i32, ptr %36731, align 4, !tbaa !5
  %36733 = call ptr @s2n_strerror_debug(i32 noundef %36732, ptr noundef @.str.4)
  %36734 = icmp eq ptr %36733, null
  br i1 %36734, label %36735, label %36788

36735:                                            ; preds = %36728
  br label %36736

36736:                                            ; preds = %36735
  br label %36737

36737:                                            ; preds = %36736
  call void @llvm.lifetime.start.p0(i64 4, ptr %774) #11
  %36738 = call ptr @__errno_location() #12
  %36739 = load i32, ptr %36738, align 4, !tbaa !5
  store i32 %36739, ptr %774, align 4, !tbaa !5
  %36740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36741 = call i32 @s2n_print_stacktrace(ptr noundef %36740)
  %36742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36743 = trunc i8 %36742 to i1
  br i1 %36743, label %36744, label %36766

36744:                                            ; preds = %36737
  %36745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36746 = call i32 @fileno(ptr noundef %36745) #11
  %36747 = call i32 @isatty(i32 noundef %36746) #11
  %36748 = icmp ne i32 %36747, 0
  br i1 %36748, label %36749, label %36766

36749:                                            ; preds = %36744
  %36750 = load i32, ptr %774, align 4, !tbaa !5
  %36751 = call ptr @__errno_location() #12
  store i32 %36750, ptr %36751, align 4, !tbaa !5
  %36752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36753 = load i32, ptr @test_count, align 4, !tbaa !5
  %36754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36755 = load i32, ptr %36754, align 4, !tbaa !5
  %36756 = call ptr @s2n_strerror(i32 noundef %36755, ptr noundef @.str.4)
  %36757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36758 = load i32, ptr %36757, align 4, !tbaa !5
  %36759 = call ptr @s2n_strerror_debug(i32 noundef %36758, ptr noundef @.str.4)
  %36760 = call ptr @__errno_location() #12
  %36761 = load i32, ptr %36760, align 4, !tbaa !5
  %36762 = call ptr @strerror(i32 noundef %36761) #11
  %36763 = call ptr @__errno_location() #12
  %36764 = load i32, ptr %36763, align 4, !tbaa !5
  %36765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36752, ptr noundef @.str.2, i32 noundef %36753, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %36756, ptr noundef %36759, ptr noundef %36762, i32 noundef %36764) #11
  br label %36783

36766:                                            ; preds = %36744, %36737
  %36767 = load i32, ptr %774, align 4, !tbaa !5
  %36768 = call ptr @__errno_location() #12
  store i32 %36767, ptr %36768, align 4, !tbaa !5
  %36769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36770 = load i32, ptr @test_count, align 4, !tbaa !5
  %36771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36772 = load i32, ptr %36771, align 4, !tbaa !5
  %36773 = call ptr @s2n_strerror(i32 noundef %36772, ptr noundef @.str.4)
  %36774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36775 = load i32, ptr %36774, align 4, !tbaa !5
  %36776 = call ptr @s2n_strerror_debug(i32 noundef %36775, ptr noundef @.str.4)
  %36777 = call ptr @__errno_location() #12
  %36778 = load i32, ptr %36777, align 4, !tbaa !5
  %36779 = call ptr @strerror(i32 noundef %36778) #11
  %36780 = call ptr @__errno_location() #12
  %36781 = load i32, ptr %36780, align 4, !tbaa !5
  %36782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36769, ptr noundef @.str.5, i32 noundef %36770, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %36773, ptr noundef %36776, ptr noundef %36779, i32 noundef %36781) #11
  br label %36783

36783:                                            ; preds = %36766, %36749
  call void @llvm.lifetime.end.p0(i64 4, ptr %774) #11
  br label %36784

36784:                                            ; preds = %36783
  br label %36785

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

36786:                                            ; No predecessors!
  br label %36787

36787:                                            ; preds = %36786
  br label %36788

36788:                                            ; preds = %36787, %36728
  br label %36789

36789:                                            ; preds = %36788
  br label %36790

36790:                                            ; preds = %36789
  br label %36791

36791:                                            ; preds = %36790
  br label %36792

36792:                                            ; preds = %36791
  br label %36793

36793:                                            ; preds = %36792
  %36794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %36794, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %36795 = call ptr @__errno_location() #12
  store i32 0, ptr %36795, align 4, !tbaa !5
  br label %36796

36796:                                            ; preds = %36793
  br label %36797

36797:                                            ; preds = %36796
  br label %36798

36798:                                            ; preds = %36797
  br label %36799

36799:                                            ; preds = %36798
  br label %36800

36800:                                            ; preds = %36799
  br label %36801

36801:                                            ; preds = %36800
  br label %36802

36802:                                            ; preds = %36801
  %36803 = load i32, ptr @test_count, align 4, !tbaa !5
  %36804 = add nsw i32 %36803, 1
  store i32 %36804, ptr @test_count, align 4, !tbaa !5
  %36805 = call i32 @s2n_offered_early_data_accept(ptr noundef %771)
  %36806 = icmp eq i32 %36805, -1
  br i1 %36806, label %36860, label %36807

36807:                                            ; preds = %36802
  br label %36808

36808:                                            ; preds = %36807
  br label %36809

36809:                                            ; preds = %36808
  call void @llvm.lifetime.start.p0(i64 4, ptr %775) #11
  %36810 = call ptr @__errno_location() #12
  %36811 = load i32, ptr %36810, align 4, !tbaa !5
  store i32 %36811, ptr %775, align 4, !tbaa !5
  %36812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36813 = call i32 @s2n_print_stacktrace(ptr noundef %36812)
  %36814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36815 = trunc i8 %36814 to i1
  br i1 %36815, label %36816, label %36838

36816:                                            ; preds = %36809
  %36817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36818 = call i32 @fileno(ptr noundef %36817) #11
  %36819 = call i32 @isatty(i32 noundef %36818) #11
  %36820 = icmp ne i32 %36819, 0
  br i1 %36820, label %36821, label %36838

36821:                                            ; preds = %36816
  %36822 = load i32, ptr %775, align 4, !tbaa !5
  %36823 = call ptr @__errno_location() #12
  store i32 %36822, ptr %36823, align 4, !tbaa !5
  %36824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36825 = load i32, ptr @test_count, align 4, !tbaa !5
  %36826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36827 = load i32, ptr %36826, align 4, !tbaa !5
  %36828 = call ptr @s2n_strerror(i32 noundef %36827, ptr noundef @.str.4)
  %36829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36830 = load i32, ptr %36829, align 4, !tbaa !5
  %36831 = call ptr @s2n_strerror_debug(i32 noundef %36830, ptr noundef @.str.4)
  %36832 = call ptr @__errno_location() #12
  %36833 = load i32, ptr %36832, align 4, !tbaa !5
  %36834 = call ptr @strerror(i32 noundef %36833) #11
  %36835 = call ptr @__errno_location() #12
  %36836 = load i32, ptr %36835, align 4, !tbaa !5
  %36837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36824, ptr noundef @.str.2, i32 noundef %36825, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %36828, ptr noundef %36831, ptr noundef %36834, i32 noundef %36836) #11
  br label %36855

36838:                                            ; preds = %36816, %36809
  %36839 = load i32, ptr %775, align 4, !tbaa !5
  %36840 = call ptr @__errno_location() #12
  store i32 %36839, ptr %36840, align 4, !tbaa !5
  %36841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36842 = load i32, ptr @test_count, align 4, !tbaa !5
  %36843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36844 = load i32, ptr %36843, align 4, !tbaa !5
  %36845 = call ptr @s2n_strerror(i32 noundef %36844, ptr noundef @.str.4)
  %36846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36847 = load i32, ptr %36846, align 4, !tbaa !5
  %36848 = call ptr @s2n_strerror_debug(i32 noundef %36847, ptr noundef @.str.4)
  %36849 = call ptr @__errno_location() #12
  %36850 = load i32, ptr %36849, align 4, !tbaa !5
  %36851 = call ptr @strerror(i32 noundef %36850) #11
  %36852 = call ptr @__errno_location() #12
  %36853 = load i32, ptr %36852, align 4, !tbaa !5
  %36854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36841, ptr noundef @.str.5, i32 noundef %36842, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %36845, ptr noundef %36848, ptr noundef %36851, i32 noundef %36853) #11
  br label %36855

36855:                                            ; preds = %36838, %36821
  call void @llvm.lifetime.end.p0(i64 4, ptr %775) #11
  br label %36856

36856:                                            ; preds = %36855
  br label %36857

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

36858:                                            ; No predecessors!
  br label %36859

36859:                                            ; preds = %36858
  br label %36860

36860:                                            ; preds = %36859, %36802
  br label %36861

36861:                                            ; preds = %36860
  br label %36862

36862:                                            ; preds = %36861
  br label %36863

36863:                                            ; preds = %36862
  %36864 = load i32, ptr @test_count, align 4, !tbaa !5
  %36865 = add nsw i32 %36864, 1
  store i32 %36865, ptr @test_count, align 4, !tbaa !5
  %36866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36867 = load i32, ptr %36866, align 4, !tbaa !5
  %36868 = icmp eq i32 %36867, 402653193
  br i1 %36868, label %36922, label %36869

36869:                                            ; preds = %36863
  br label %36870

36870:                                            ; preds = %36869
  br label %36871

36871:                                            ; preds = %36870
  call void @llvm.lifetime.start.p0(i64 4, ptr %776) #11
  %36872 = call ptr @__errno_location() #12
  %36873 = load i32, ptr %36872, align 4, !tbaa !5
  store i32 %36873, ptr %776, align 4, !tbaa !5
  %36874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36875 = call i32 @s2n_print_stacktrace(ptr noundef %36874)
  %36876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36877 = trunc i8 %36876 to i1
  br i1 %36877, label %36878, label %36900

36878:                                            ; preds = %36871
  %36879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36880 = call i32 @fileno(ptr noundef %36879) #11
  %36881 = call i32 @isatty(i32 noundef %36880) #11
  %36882 = icmp ne i32 %36881, 0
  br i1 %36882, label %36883, label %36900

36883:                                            ; preds = %36878
  %36884 = load i32, ptr %776, align 4, !tbaa !5
  %36885 = call ptr @__errno_location() #12
  store i32 %36884, ptr %36885, align 4, !tbaa !5
  %36886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36887 = load i32, ptr @test_count, align 4, !tbaa !5
  %36888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36889 = load i32, ptr %36888, align 4, !tbaa !5
  %36890 = call ptr @s2n_strerror(i32 noundef %36889, ptr noundef @.str.4)
  %36891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36892 = load i32, ptr %36891, align 4, !tbaa !5
  %36893 = call ptr @s2n_strerror_debug(i32 noundef %36892, ptr noundef @.str.4)
  %36894 = call ptr @__errno_location() #12
  %36895 = load i32, ptr %36894, align 4, !tbaa !5
  %36896 = call ptr @strerror(i32 noundef %36895) #11
  %36897 = call ptr @__errno_location() #12
  %36898 = load i32, ptr %36897, align 4, !tbaa !5
  %36899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36886, ptr noundef @.str.2, i32 noundef %36887, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %36890, ptr noundef %36893, ptr noundef %36896, i32 noundef %36898) #11
  br label %36917

36900:                                            ; preds = %36878, %36871
  %36901 = load i32, ptr %776, align 4, !tbaa !5
  %36902 = call ptr @__errno_location() #12
  store i32 %36901, ptr %36902, align 4, !tbaa !5
  %36903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36904 = load i32, ptr @test_count, align 4, !tbaa !5
  %36905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36906 = load i32, ptr %36905, align 4, !tbaa !5
  %36907 = call ptr @s2n_strerror(i32 noundef %36906, ptr noundef @.str.4)
  %36908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36909 = load i32, ptr %36908, align 4, !tbaa !5
  %36910 = call ptr @s2n_strerror_debug(i32 noundef %36909, ptr noundef @.str.4)
  %36911 = call ptr @__errno_location() #12
  %36912 = load i32, ptr %36911, align 4, !tbaa !5
  %36913 = call ptr @strerror(i32 noundef %36912) #11
  %36914 = call ptr @__errno_location() #12
  %36915 = load i32, ptr %36914, align 4, !tbaa !5
  %36916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36903, ptr noundef @.str.5, i32 noundef %36904, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %36907, ptr noundef %36910, ptr noundef %36913, i32 noundef %36915) #11
  br label %36917

36917:                                            ; preds = %36900, %36883
  call void @llvm.lifetime.end.p0(i64 4, ptr %776) #11
  br label %36918

36918:                                            ; preds = %36917
  br label %36919

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

36920:                                            ; No predecessors!
  br label %36921

36921:                                            ; preds = %36920
  br label %36922

36922:                                            ; preds = %36921, %36863
  br label %36923

36923:                                            ; preds = %36922
  br label %36924

36924:                                            ; preds = %36923
  br label %36925

36925:                                            ; preds = %36924
  %36926 = load i32, ptr @test_count, align 4, !tbaa !5
  %36927 = add nsw i32 %36926, 1
  store i32 %36927, ptr @test_count, align 4, !tbaa !5
  %36928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36929 = load i32, ptr %36928, align 4, !tbaa !5
  %36930 = call ptr @s2n_strerror_debug(i32 noundef %36929, ptr noundef @.str.4)
  %36931 = icmp eq ptr %36930, null
  br i1 %36931, label %36932, label %36985

36932:                                            ; preds = %36925
  br label %36933

36933:                                            ; preds = %36932
  br label %36934

36934:                                            ; preds = %36933
  call void @llvm.lifetime.start.p0(i64 4, ptr %777) #11
  %36935 = call ptr @__errno_location() #12
  %36936 = load i32, ptr %36935, align 4, !tbaa !5
  store i32 %36936, ptr %777, align 4, !tbaa !5
  %36937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36938 = call i32 @s2n_print_stacktrace(ptr noundef %36937)
  %36939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36940 = trunc i8 %36939 to i1
  br i1 %36940, label %36941, label %36963

36941:                                            ; preds = %36934
  %36942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36943 = call i32 @fileno(ptr noundef %36942) #11
  %36944 = call i32 @isatty(i32 noundef %36943) #11
  %36945 = icmp ne i32 %36944, 0
  br i1 %36945, label %36946, label %36963

36946:                                            ; preds = %36941
  %36947 = load i32, ptr %777, align 4, !tbaa !5
  %36948 = call ptr @__errno_location() #12
  store i32 %36947, ptr %36948, align 4, !tbaa !5
  %36949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36950 = load i32, ptr @test_count, align 4, !tbaa !5
  %36951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36952 = load i32, ptr %36951, align 4, !tbaa !5
  %36953 = call ptr @s2n_strerror(i32 noundef %36952, ptr noundef @.str.4)
  %36954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36955 = load i32, ptr %36954, align 4, !tbaa !5
  %36956 = call ptr @s2n_strerror_debug(i32 noundef %36955, ptr noundef @.str.4)
  %36957 = call ptr @__errno_location() #12
  %36958 = load i32, ptr %36957, align 4, !tbaa !5
  %36959 = call ptr @strerror(i32 noundef %36958) #11
  %36960 = call ptr @__errno_location() #12
  %36961 = load i32, ptr %36960, align 4, !tbaa !5
  %36962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36949, ptr noundef @.str.2, i32 noundef %36950, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %36953, ptr noundef %36956, ptr noundef %36959, i32 noundef %36961) #11
  br label %36980

36963:                                            ; preds = %36941, %36934
  %36964 = load i32, ptr %777, align 4, !tbaa !5
  %36965 = call ptr @__errno_location() #12
  store i32 %36964, ptr %36965, align 4, !tbaa !5
  %36966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36967 = load i32, ptr @test_count, align 4, !tbaa !5
  %36968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36969 = load i32, ptr %36968, align 4, !tbaa !5
  %36970 = call ptr @s2n_strerror(i32 noundef %36969, ptr noundef @.str.4)
  %36971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36972 = load i32, ptr %36971, align 4, !tbaa !5
  %36973 = call ptr @s2n_strerror_debug(i32 noundef %36972, ptr noundef @.str.4)
  %36974 = call ptr @__errno_location() #12
  %36975 = load i32, ptr %36974, align 4, !tbaa !5
  %36976 = call ptr @strerror(i32 noundef %36975) #11
  %36977 = call ptr @__errno_location() #12
  %36978 = load i32, ptr %36977, align 4, !tbaa !5
  %36979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36966, ptr noundef @.str.5, i32 noundef %36967, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %36970, ptr noundef %36973, ptr noundef %36976, i32 noundef %36978) #11
  br label %36980

36980:                                            ; preds = %36963, %36946
  call void @llvm.lifetime.end.p0(i64 4, ptr %777) #11
  br label %36981

36981:                                            ; preds = %36980
  br label %36982

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

36983:                                            ; No predecessors!
  br label %36984

36984:                                            ; preds = %36983
  br label %36985

36985:                                            ; preds = %36984, %36925
  br label %36986

36986:                                            ; preds = %36985
  br label %36987

36987:                                            ; preds = %36986
  br label %36988

36988:                                            ; preds = %36987
  br label %36989

36989:                                            ; preds = %36988
  br label %36990

36990:                                            ; preds = %36989
  %36991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %36991, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %36992 = call ptr @__errno_location() #12
  store i32 0, ptr %36992, align 4, !tbaa !5
  br label %36993

36993:                                            ; preds = %36990
  br label %36994

36994:                                            ; preds = %36993
  br label %36995

36995:                                            ; preds = %36994
  br label %36996

36996:                                            ; preds = %36995
  %36997 = call ptr @s2n_connection_new(i32 noundef 0)
  %36998 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %771, i32 0, i32 0
  store ptr %36997, ptr %36998, align 8, !tbaa !73
  %36999 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %771, i32 0, i32 0
  %37000 = load ptr, ptr %36999, align 8, !tbaa !73
  %37001 = getelementptr inbounds %struct.s2n_connection, ptr %37000, i32 0, i32 89
  store i32 1, ptr %37001, align 8, !tbaa !15
  br label %37002

37002:                                            ; preds = %36996
  %37003 = load i32, ptr @test_count, align 4, !tbaa !5
  %37004 = add nsw i32 %37003, 1
  store i32 %37004, ptr @test_count, align 4, !tbaa !5
  %37005 = call i32 @s2n_offered_early_data_accept(ptr noundef %771)
  %37006 = icmp eq i32 %37005, -1
  br i1 %37006, label %37007, label %37060

37007:                                            ; preds = %37002
  br label %37008

37008:                                            ; preds = %37007
  br label %37009

37009:                                            ; preds = %37008
  call void @llvm.lifetime.start.p0(i64 4, ptr %778) #11
  %37010 = call ptr @__errno_location() #12
  %37011 = load i32, ptr %37010, align 4, !tbaa !5
  store i32 %37011, ptr %778, align 4, !tbaa !5
  %37012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37013 = call i32 @s2n_print_stacktrace(ptr noundef %37012)
  %37014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37015 = trunc i8 %37014 to i1
  br i1 %37015, label %37016, label %37038

37016:                                            ; preds = %37009
  %37017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37018 = call i32 @fileno(ptr noundef %37017) #11
  %37019 = call i32 @isatty(i32 noundef %37018) #11
  %37020 = icmp ne i32 %37019, 0
  br i1 %37020, label %37021, label %37038

37021:                                            ; preds = %37016
  %37022 = load i32, ptr %778, align 4, !tbaa !5
  %37023 = call ptr @__errno_location() #12
  store i32 %37022, ptr %37023, align 4, !tbaa !5
  %37024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37025 = load i32, ptr @test_count, align 4, !tbaa !5
  %37026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37027 = load i32, ptr %37026, align 4, !tbaa !5
  %37028 = call ptr @s2n_strerror(i32 noundef %37027, ptr noundef @.str.4)
  %37029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37030 = load i32, ptr %37029, align 4, !tbaa !5
  %37031 = call ptr @s2n_strerror_debug(i32 noundef %37030, ptr noundef @.str.4)
  %37032 = call ptr @__errno_location() #12
  %37033 = load i32, ptr %37032, align 4, !tbaa !5
  %37034 = call ptr @strerror(i32 noundef %37033) #11
  %37035 = call ptr @__errno_location() #12
  %37036 = load i32, ptr %37035, align 4, !tbaa !5
  %37037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37024, ptr noundef @.str.2, i32 noundef %37025, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 1425, ptr noundef %37028, ptr noundef %37031, ptr noundef %37034, i32 noundef %37036) #11
  br label %37055

37038:                                            ; preds = %37016, %37009
  %37039 = load i32, ptr %778, align 4, !tbaa !5
  %37040 = call ptr @__errno_location() #12
  store i32 %37039, ptr %37040, align 4, !tbaa !5
  %37041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37042 = load i32, ptr @test_count, align 4, !tbaa !5
  %37043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37044 = load i32, ptr %37043, align 4, !tbaa !5
  %37045 = call ptr @s2n_strerror(i32 noundef %37044, ptr noundef @.str.4)
  %37046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37047 = load i32, ptr %37046, align 4, !tbaa !5
  %37048 = call ptr @s2n_strerror_debug(i32 noundef %37047, ptr noundef @.str.4)
  %37049 = call ptr @__errno_location() #12
  %37050 = load i32, ptr %37049, align 4, !tbaa !5
  %37051 = call ptr @strerror(i32 noundef %37050) #11
  %37052 = call ptr @__errno_location() #12
  %37053 = load i32, ptr %37052, align 4, !tbaa !5
  %37054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37041, ptr noundef @.str.5, i32 noundef %37042, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 1425, ptr noundef %37045, ptr noundef %37048, ptr noundef %37051, i32 noundef %37053) #11
  br label %37055

37055:                                            ; preds = %37038, %37021
  call void @llvm.lifetime.end.p0(i64 4, ptr %778) #11
  br label %37056

37056:                                            ; preds = %37055
  br label %37057

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

37058:                                            ; No predecessors!
  br label %37059

37059:                                            ; preds = %37058
  br label %37060

37060:                                            ; preds = %37059, %37002
  br label %37061

37061:                                            ; preds = %37060
  br label %37062

37062:                                            ; preds = %37061
  br label %37063

37063:                                            ; preds = %37062
  %37064 = load i32, ptr @test_count, align 4, !tbaa !5
  %37065 = add nsw i32 %37064, 1
  store i32 %37065, ptr @test_count, align 4, !tbaa !5
  %37066 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %771, i32 0, i32 0
  %37067 = load ptr, ptr %37066, align 8, !tbaa !73
  %37068 = getelementptr inbounds %struct.s2n_connection, ptr %37067, i32 0, i32 89
  %37069 = load i32, ptr %37068, align 8, !tbaa !15
  %37070 = icmp eq i32 %37069, 3
  br i1 %37070, label %37124, label %37071

37071:                                            ; preds = %37063
  br label %37072

37072:                                            ; preds = %37071
  br label %37073

37073:                                            ; preds = %37072
  call void @llvm.lifetime.start.p0(i64 4, ptr %779) #11
  %37074 = call ptr @__errno_location() #12
  %37075 = load i32, ptr %37074, align 4, !tbaa !5
  store i32 %37075, ptr %779, align 4, !tbaa !5
  %37076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37077 = call i32 @s2n_print_stacktrace(ptr noundef %37076)
  %37078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37079 = trunc i8 %37078 to i1
  br i1 %37079, label %37080, label %37102

37080:                                            ; preds = %37073
  %37081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37082 = call i32 @fileno(ptr noundef %37081) #11
  %37083 = call i32 @isatty(i32 noundef %37082) #11
  %37084 = icmp ne i32 %37083, 0
  br i1 %37084, label %37085, label %37102

37085:                                            ; preds = %37080
  %37086 = load i32, ptr %779, align 4, !tbaa !5
  %37087 = call ptr @__errno_location() #12
  store i32 %37086, ptr %37087, align 4, !tbaa !5
  %37088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37089 = load i32, ptr @test_count, align 4, !tbaa !5
  %37090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37091 = load i32, ptr %37090, align 4, !tbaa !5
  %37092 = call ptr @s2n_strerror(i32 noundef %37091, ptr noundef @.str.4)
  %37093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37094 = load i32, ptr %37093, align 4, !tbaa !5
  %37095 = call ptr @s2n_strerror_debug(i32 noundef %37094, ptr noundef @.str.4)
  %37096 = call ptr @__errno_location() #12
  %37097 = load i32, ptr %37096, align 4, !tbaa !5
  %37098 = call ptr @strerror(i32 noundef %37097) #11
  %37099 = call ptr @__errno_location() #12
  %37100 = load i32, ptr %37099, align 4, !tbaa !5
  %37101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37088, ptr noundef @.str.2, i32 noundef %37089, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 1426, ptr noundef %37092, ptr noundef %37095, ptr noundef %37098, i32 noundef %37100) #11
  br label %37119

37102:                                            ; preds = %37080, %37073
  %37103 = load i32, ptr %779, align 4, !tbaa !5
  %37104 = call ptr @__errno_location() #12
  store i32 %37103, ptr %37104, align 4, !tbaa !5
  %37105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37106 = load i32, ptr @test_count, align 4, !tbaa !5
  %37107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37108 = load i32, ptr %37107, align 4, !tbaa !5
  %37109 = call ptr @s2n_strerror(i32 noundef %37108, ptr noundef @.str.4)
  %37110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37111 = load i32, ptr %37110, align 4, !tbaa !5
  %37112 = call ptr @s2n_strerror_debug(i32 noundef %37111, ptr noundef @.str.4)
  %37113 = call ptr @__errno_location() #12
  %37114 = load i32, ptr %37113, align 4, !tbaa !5
  %37115 = call ptr @strerror(i32 noundef %37114) #11
  %37116 = call ptr @__errno_location() #12
  %37117 = load i32, ptr %37116, align 4, !tbaa !5
  %37118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37105, ptr noundef @.str.5, i32 noundef %37106, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 1426, ptr noundef %37109, ptr noundef %37112, ptr noundef %37115, i32 noundef %37117) #11
  br label %37119

37119:                                            ; preds = %37102, %37085
  call void @llvm.lifetime.end.p0(i64 4, ptr %779) #11
  br label %37120

37120:                                            ; preds = %37119
  br label %37121

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

37122:                                            ; No predecessors!
  br label %37123

37123:                                            ; preds = %37122
  br label %37124

37124:                                            ; preds = %37123, %37063
  br label %37125

37125:                                            ; preds = %37124
  br label %37126

37126:                                            ; preds = %37125
  br label %37127

37127:                                            ; preds = %37126
  %37128 = load i32, ptr @test_count, align 4, !tbaa !5
  %37129 = add nsw i32 %37128, 1
  store i32 %37129, ptr @test_count, align 4, !tbaa !5
  %37130 = getelementptr inbounds %struct.s2n_offered_early_data, ptr %771, i32 0, i32 0
  %37131 = load ptr, ptr %37130, align 8, !tbaa !73
  %37132 = call i32 @s2n_connection_free(ptr noundef %37131)
  %37133 = icmp eq i32 %37132, -1
  br i1 %37133, label %37134, label %37187

37134:                                            ; preds = %37127
  br label %37135

37135:                                            ; preds = %37134
  br label %37136

37136:                                            ; preds = %37135
  call void @llvm.lifetime.start.p0(i64 4, ptr %780) #11
  %37137 = call ptr @__errno_location() #12
  %37138 = load i32, ptr %37137, align 4, !tbaa !5
  store i32 %37138, ptr %780, align 4, !tbaa !5
  %37139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37140 = call i32 @s2n_print_stacktrace(ptr noundef %37139)
  %37141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37142 = trunc i8 %37141 to i1
  br i1 %37142, label %37143, label %37165

37143:                                            ; preds = %37136
  %37144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37145 = call i32 @fileno(ptr noundef %37144) #11
  %37146 = call i32 @isatty(i32 noundef %37145) #11
  %37147 = icmp ne i32 %37146, 0
  br i1 %37147, label %37148, label %37165

37148:                                            ; preds = %37143
  %37149 = load i32, ptr %780, align 4, !tbaa !5
  %37150 = call ptr @__errno_location() #12
  store i32 %37149, ptr %37150, align 4, !tbaa !5
  %37151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37152 = load i32, ptr @test_count, align 4, !tbaa !5
  %37153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37154 = load i32, ptr %37153, align 4, !tbaa !5
  %37155 = call ptr @s2n_strerror(i32 noundef %37154, ptr noundef @.str.4)
  %37156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37157 = load i32, ptr %37156, align 4, !tbaa !5
  %37158 = call ptr @s2n_strerror_debug(i32 noundef %37157, ptr noundef @.str.4)
  %37159 = call ptr @__errno_location() #12
  %37160 = load i32, ptr %37159, align 4, !tbaa !5
  %37161 = call ptr @strerror(i32 noundef %37160) #11
  %37162 = call ptr @__errno_location() #12
  %37163 = load i32, ptr %37162, align 4, !tbaa !5
  %37164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37151, ptr noundef @.str.2, i32 noundef %37152, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1427, ptr noundef %37155, ptr noundef %37158, ptr noundef %37161, i32 noundef %37163) #11
  br label %37182

37165:                                            ; preds = %37143, %37136
  %37166 = load i32, ptr %780, align 4, !tbaa !5
  %37167 = call ptr @__errno_location() #12
  store i32 %37166, ptr %37167, align 4, !tbaa !5
  %37168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37169 = load i32, ptr @test_count, align 4, !tbaa !5
  %37170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37171 = load i32, ptr %37170, align 4, !tbaa !5
  %37172 = call ptr @s2n_strerror(i32 noundef %37171, ptr noundef @.str.4)
  %37173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37174 = load i32, ptr %37173, align 4, !tbaa !5
  %37175 = call ptr @s2n_strerror_debug(i32 noundef %37174, ptr noundef @.str.4)
  %37176 = call ptr @__errno_location() #12
  %37177 = load i32, ptr %37176, align 4, !tbaa !5
  %37178 = call ptr @strerror(i32 noundef %37177) #11
  %37179 = call ptr @__errno_location() #12
  %37180 = load i32, ptr %37179, align 4, !tbaa !5
  %37181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37168, ptr noundef @.str.5, i32 noundef %37169, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1427, ptr noundef %37172, ptr noundef %37175, ptr noundef %37178, i32 noundef %37180) #11
  br label %37182

37182:                                            ; preds = %37165, %37148
  call void @llvm.lifetime.end.p0(i64 4, ptr %780) #11
  br label %37183

37183:                                            ; preds = %37182
  br label %37184

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

37185:                                            ; No predecessors!
  br label %37186

37186:                                            ; preds = %37185
  br label %37187

37187:                                            ; preds = %37186, %37127
  br label %37188

37188:                                            ; preds = %37187
  br label %37189

37189:                                            ; preds = %37188
  call void @llvm.lifetime.end.p0(i64 8, ptr %771) #11
  br label %37190

37190:                                            ; preds = %37189
  br label %37191

37191:                                            ; preds = %37190
  %37192 = call i32 @s2n_cleanup()
  %37193 = icmp eq i32 %37192, -1
  br i1 %37193, label %37194, label %37247

37194:                                            ; preds = %37191
  br label %37195

37195:                                            ; preds = %37194
  br label %37196

37196:                                            ; preds = %37195
  call void @llvm.lifetime.start.p0(i64 4, ptr %781) #11
  %37197 = call ptr @__errno_location() #12
  %37198 = load i32, ptr %37197, align 4, !tbaa !5
  store i32 %37198, ptr %781, align 4, !tbaa !5
  %37199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37200 = call i32 @s2n_print_stacktrace(ptr noundef %37199)
  %37201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37202 = trunc i8 %37201 to i1
  br i1 %37202, label %37203, label %37225

37203:                                            ; preds = %37196
  %37204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37205 = call i32 @fileno(ptr noundef %37204) #11
  %37206 = call i32 @isatty(i32 noundef %37205) #11
  %37207 = icmp ne i32 %37206, 0
  br i1 %37207, label %37208, label %37225

37208:                                            ; preds = %37203
  %37209 = load i32, ptr %781, align 4, !tbaa !5
  %37210 = call ptr @__errno_location() #12
  store i32 %37209, ptr %37210, align 4, !tbaa !5
  %37211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37212 = load i32, ptr @test_count, align 4, !tbaa !5
  %37213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37214 = load i32, ptr %37213, align 4, !tbaa !5
  %37215 = call ptr @s2n_strerror(i32 noundef %37214, ptr noundef @.str.4)
  %37216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37217 = load i32, ptr %37216, align 4, !tbaa !5
  %37218 = call ptr @s2n_strerror_debug(i32 noundef %37217, ptr noundef @.str.4)
  %37219 = call ptr @__errno_location() #12
  %37220 = load i32, ptr %37219, align 4, !tbaa !5
  %37221 = call ptr @strerror(i32 noundef %37220) #11
  %37222 = call ptr @__errno_location() #12
  %37223 = load i32, ptr %37222, align 4, !tbaa !5
  %37224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37211, ptr noundef @.str.2, i32 noundef %37212, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 1431, ptr noundef %37215, ptr noundef %37218, ptr noundef %37221, i32 noundef %37223) #11
  br label %37242

37225:                                            ; preds = %37203, %37196
  %37226 = load i32, ptr %781, align 4, !tbaa !5
  %37227 = call ptr @__errno_location() #12
  store i32 %37226, ptr %37227, align 4, !tbaa !5
  %37228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37229 = load i32, ptr @test_count, align 4, !tbaa !5
  %37230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37231 = load i32, ptr %37230, align 4, !tbaa !5
  %37232 = call ptr @s2n_strerror(i32 noundef %37231, ptr noundef @.str.4)
  %37233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37234 = load i32, ptr %37233, align 4, !tbaa !5
  %37235 = call ptr @s2n_strerror_debug(i32 noundef %37234, ptr noundef @.str.4)
  %37236 = call ptr @__errno_location() #12
  %37237 = load i32, ptr %37236, align 4, !tbaa !5
  %37238 = call ptr @strerror(i32 noundef %37237) #11
  %37239 = call ptr @__errno_location() #12
  %37240 = load i32, ptr %37239, align 4, !tbaa !5
  %37241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37228, ptr noundef @.str.5, i32 noundef %37229, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 1431, ptr noundef %37232, ptr noundef %37235, ptr noundef %37238, i32 noundef %37240) #11
  br label %37242

37242:                                            ; preds = %37225, %37208
  call void @llvm.lifetime.end.p0(i64 4, ptr %781) #11
  br label %37243

37243:                                            ; preds = %37242
  br label %37244

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

37245:                                            ; No predecessors!
  br label %37246

37246:                                            ; preds = %37245
  br label %37247

37247:                                            ; preds = %37246, %37191
  br label %37248

37248:                                            ; preds = %37247
  br label %37249

37249:                                            ; preds = %37248
  br label %37250

37250:                                            ; preds = %37249
  br label %37251

37251:                                            ; preds = %37250
  %37252 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %37253 = icmp eq i32 %37252, -1
  br i1 %37253, label %37254, label %37307

37254:                                            ; preds = %37251
  br label %37255

37255:                                            ; preds = %37254
  br label %37256

37256:                                            ; preds = %37255
  call void @llvm.lifetime.start.p0(i64 4, ptr %782) #11
  %37257 = call ptr @__errno_location() #12
  %37258 = load i32, ptr %37257, align 4, !tbaa !5
  store i32 %37258, ptr %782, align 4, !tbaa !5
  %37259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37260 = call i32 @s2n_print_stacktrace(ptr noundef %37259)
  %37261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37262 = trunc i8 %37261 to i1
  br i1 %37262, label %37263, label %37285

37263:                                            ; preds = %37256
  %37264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37265 = call i32 @fileno(ptr noundef %37264) #11
  %37266 = call i32 @isatty(i32 noundef %37265) #11
  %37267 = icmp ne i32 %37266, 0
  br i1 %37267, label %37268, label %37285

37268:                                            ; preds = %37263
  %37269 = load i32, ptr %782, align 4, !tbaa !5
  %37270 = call ptr @__errno_location() #12
  store i32 %37269, ptr %37270, align 4, !tbaa !5
  %37271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37272 = load i32, ptr @test_count, align 4, !tbaa !5
  %37273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37274 = load i32, ptr %37273, align 4, !tbaa !5
  %37275 = call ptr @s2n_strerror(i32 noundef %37274, ptr noundef @.str.4)
  %37276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37277 = load i32, ptr %37276, align 4, !tbaa !5
  %37278 = call ptr @s2n_strerror_debug(i32 noundef %37277, ptr noundef @.str.4)
  %37279 = call ptr @__errno_location() #12
  %37280 = load i32, ptr %37279, align 4, !tbaa !5
  %37281 = call ptr @strerror(i32 noundef %37280) #11
  %37282 = call ptr @__errno_location() #12
  %37283 = load i32, ptr %37282, align 4, !tbaa !5
  %37284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37271, ptr noundef @.str.2, i32 noundef %37272, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 1431, ptr noundef %37275, ptr noundef %37278, ptr noundef %37281, i32 noundef %37283) #11
  br label %37302

37285:                                            ; preds = %37263, %37256
  %37286 = load i32, ptr %782, align 4, !tbaa !5
  %37287 = call ptr @__errno_location() #12
  store i32 %37286, ptr %37287, align 4, !tbaa !5
  %37288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37289 = load i32, ptr @test_count, align 4, !tbaa !5
  %37290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37291 = load i32, ptr %37290, align 4, !tbaa !5
  %37292 = call ptr @s2n_strerror(i32 noundef %37291, ptr noundef @.str.4)
  %37293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37294 = load i32, ptr %37293, align 4, !tbaa !5
  %37295 = call ptr @s2n_strerror_debug(i32 noundef %37294, ptr noundef @.str.4)
  %37296 = call ptr @__errno_location() #12
  %37297 = load i32, ptr %37296, align 4, !tbaa !5
  %37298 = call ptr @strerror(i32 noundef %37297) #11
  %37299 = call ptr @__errno_location() #12
  %37300 = load i32, ptr %37299, align 4, !tbaa !5
  %37301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37288, ptr noundef @.str.5, i32 noundef %37289, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 1431, ptr noundef %37292, ptr noundef %37295, ptr noundef %37298, i32 noundef %37300) #11
  br label %37302

37302:                                            ; preds = %37285, %37268
  call void @llvm.lifetime.end.p0(i64 4, ptr %782) #11
  br label %37303

37303:                                            ; preds = %37302
  br label %37304

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

37305:                                            ; No predecessors!
  br label %37306

37306:                                            ; preds = %37305
  br label %37307

37307:                                            ; preds = %37306, %37251
  br label %37308

37308:                                            ; preds = %37307
  br label %37309

37309:                                            ; preds = %37308
  %37310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37311 = trunc i8 %37310 to i1
  br i1 %37311, label %37312, label %37328

37312:                                            ; preds = %37309
  %37313 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37314 = call i32 @fileno(ptr noundef %37313) #11
  %37315 = call i32 @isatty(i32 noundef %37314) #11
  %37316 = icmp ne i32 %37315, 0
  br i1 %37316, label %37317, label %37328

37317:                                            ; preds = %37312
  %37318 = load i32, ptr @test_count, align 4, !tbaa !5
  %37319 = icmp ne i32 %37318, 0
  br i1 %37319, label %37320, label %37324

37320:                                            ; preds = %37317
  %37321 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37322 = load i32, ptr @test_count, align 4, !tbaa !5
  %37323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37321, ptr noundef @.str.248, i32 noundef %37322) #11
  br label %37327

37324:                                            ; preds = %37317
  %37325 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37325, ptr noundef @.str.249) #11
  br label %37327

37327:                                            ; preds = %37324, %37320
  br label %37339

37328:                                            ; preds = %37312, %37309
  %37329 = load i32, ptr @test_count, align 4, !tbaa !5
  %37330 = icmp ne i32 %37329, 0
  br i1 %37330, label %37331, label %37335

37331:                                            ; preds = %37328
  %37332 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37333 = load i32, ptr @test_count, align 4, !tbaa !5
  %37334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37332, ptr noundef @.str.250, i32 noundef %37333) #11
  br label %37338

37335:                                            ; preds = %37328
  %37336 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37336, ptr noundef @.str.251) #11
  br label %37338

37338:                                            ; preds = %37335, %37331
  br label %37339

37339:                                            ; preds = %37338, %37327
  store i32 0, ptr %3, align 4
  store i32 1, ptr %783, align 4
  br label %37344

37340:                                            ; No predecessors!
  br label %37341

37341:                                            ; preds = %37340
  br label %37342

37342:                                            ; preds = %37341
  br label %37343

37343:                                            ; preds = %37342
  store i32 0, ptr %783, align 4
  br label %37344

37344:                                            ; preds = %37343, %37339
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 15, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %9) #11
  %37345 = load i32, ptr %783, align 4
  switch i32 %37345, label %37348 [
    i32 0, label %37346
    i32 1, label %37346
  ]

37346:                                            ; preds = %37344, %37344
  %37347 = load i32, ptr %3, align 4
  ret i32 %37347

37348:                                            ; preds = %37344
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

; 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) #7

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

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

declare void @s2n_debug_info_reset() #2

declare ptr @s2n_connection_new(i32 noundef) #2

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

declare i32 @s2n_connection_free(ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_all_early_data_sequences(ptr noundef, i64 noundef, ptr noundef, i64 noundef) #0

declare i32 @s2n_early_data_config_free(ptr noundef) #2

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_alloc_test_config_buffers(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_config_buffers_freed(ptr noundef) #0

declare i32 @s2n_psk_wipe(ptr noundef) #2

declare ptr @s2n_external_psk_new() #2

declare i32 @s2n_psk_free(ptr noundef) #2

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

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

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

declare i32 @s2n_psk_set_early_data_context(ptr noundef, ptr noundef, i16 noundef zeroext) #2

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

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) #2

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

declare zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef) #2

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

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

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

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

declare i32 @s2n_early_data_accept_or_reject(ptr noundef) #2

declare i32 @s2n_connection_set_early_data_expected(ptr noundef) #2

declare ptr @s2n_config_new() #2

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

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

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

declare i32 @s2n_config_free(ptr noundef) #2

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

declare i32 @s2n_offered_early_data_reject(ptr noundef) #2

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

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

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

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

declare i32 @s2n_psk_parameters_wipe(ptr noundef) #2

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

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

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

declare i32 @s2n_connection_set_server_early_data_context(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_early_data_record_bytes(ptr noundef, i64 noundef) #2

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

declare i32 @s2n_conn_get_current_message_type(ptr noundef) #2

declare i32 @s2n_early_data_validate_recv(ptr noundef) #2

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

declare i32 @s2n_offered_early_data_get_context(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare ptr @s2n_test_psk_new(ptr noundef) #2

declare i32 @s2n_offered_early_data_accept(ptr noundef) #2

declare i32 @s2n_cleanup() #2

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 4088}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!43, !10, i64 0}
!43 = !{!"", !10, i64 0, !18, i64 8}
!44 = !{!43, !18, i64 8}
!45 = !{!7, !7, i64 0}
!46 = !{!47, !6, i64 96}
!47 = !{!"s2n_psk", !6, i64 0, !25, i64 8, !25, i64 32, !6, i64 56, !6, i64 60, !18, i64 64, !25, i64 72, !48, i64 96, !18, i64 160}
!48 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !25, i64 16, !25, i64 40}
!49 = !{!47, !7, i64 100}
!50 = !{!47, !10, i64 104}
!51 = !{!52, !6, i64 96}
!52 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!53 = !{!47, !6, i64 56}
!54 = !{!47, !6, i64 120}
!55 = !{!47, !6, i64 124}
!56 = !{!47, !10, i64 112}
!57 = !{!47, !6, i64 144}
!58 = !{!47, !6, i64 148}
!59 = !{!47, !10, i64 136}
!60 = !{!18, !18, i64 0}
!61 = distinct !{!61, !62}
!62 = !{!"llvm.loop.mustprogress"}
!63 = !{!16, !10, i64 232}
!64 = !{!65, !10, i64 0}
!65 = !{!"s2n_crypto_parameters", !10, i64 0, !66, i64 8, !66, i64 16, !67, i64 24, !67, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!66 = !{!"s2n_session_key", !10, i64 0}
!67 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !68, i64 16, !68, i64 72, !68, i64 128, !68, i64 184, !7, i64 240, !7, i64 368}
!68 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!69 = !{!16, !7, i64 220}
!70 = !{!16, !10, i64 1736}
!71 = !{!16, !31, i64 1730}
!72 = !{!16, !6, i64 2204}
!73 = !{!35, !10, i64 0}
!74 = !{i64 0, i64 8, !9}
!75 = distinct !{!75, !62}
!76 = !{!16, !18, i64 2256}
!77 = distinct !{!77, !62}
!78 = distinct !{!78, !62}
!79 = !{!47, !6, i64 0}
!80 = !{!16, !6, i64 2172}
!81 = !{!82, !6, i64 392}
!82 = !{!"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, !83, i64 24, !25, 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, !18, i64 144, !10, i64 152, !18, i64 160, !18, 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, !84, i64 304, !31, 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, !25, i64 448}
!83 = !{!"certs_by_type", !7, i64 0}
!84 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!85 = !{!16, !6, i64 4092}
!86 = !{!16, !10, i64 8}
!87 = !{!16, !6, i64 4104}
!88 = !{!16, !6, i64 4108}
!89 = !{!16, !10, i64 4096}
!90 = !{!16, !6, i64 148}
!91 = !{i64 0, i64 4, !45, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9, i64 40, i64 8, !9, i64 48, i64 8, !9, i64 56, i64 8, !9, i64 64, i64 8, !9, i64 72, i64 8, !9, i64 80, i64 22, !45, i64 102, i64 22, !45, i64 124, i64 22, !45, i64 148, i64 4, !5, i64 152, i64 4, !5, i64 160, i64 8, !60, i64 168, i64 8, !60, i64 176, i64 8, !60, i64 184, i64 32, !45, i64 216, i64 1, !45, i64 217, i64 1, !45, i64 218, i64 1, !45, i64 219, i64 1, !45, i64 220, i64 1, !45, i64 221, i64 1, !45, i64 222, i64 1, !45, i64 224, i64 8, !9, i64 232, i64 8, !9, i64 240, i64 388, !45, i64 628, i64 4, !5, i64 632, i64 8, !9, i64 640, i64 8, !9, i64 648, i64 8, !9, i64 656, i64 8, !9, i64 664, i64 8, !9, i64 672, i64 32, !45, i64 704, i64 8, !9, i64 712, i64 8, !9, i64 720, i64 8, !9, i64 728, i64 8, !9, i64 736, i64 8, !9, i64 744, i64 4, !5, i64 748, i64 4, !5, i64 752, i64 1, !45, i64 760, i64 8, !9, i64 768, i64 4, !5, i64 772, i64 4, !5, i64 776, i64 1, !45, i64 784, i64 8, !9, i64 792, i64 4, !5, i64 796, i64 4, !5, i64 800, i64 1, !45, i64 808, i64 1, !11, i64 816, i64 8, !9, i64 824, i64 8, !9, i64 832, i64 8, !9, i64 840, i64 8, !9, i64 848, i64 8, !9, i64 856, i64 4, !5, i64 860, i64 4, !5, i64 864, i64 1, !45, i64 872, i64 8, !9, i64 880, i64 4, !5, i64 884, i64 4, !5, i64 888, i64 1, !45, i64 896, i64 8, !9, i64 904, i64 4, !5, i64 908, i64 4, !5, i64 912, i64 1, !45, i64 920, i64 1, !11, i64 928, i64 8, !9, i64 936, i64 8, !9, i64 944, i64 64, !45, i64 1008, i64 8, !9, i64 1016, i64 8, !9, i64 1024, i64 4, !5, i64 1028, i64 4, !5, i64 1032, i64 1, !45, i64 1040, i64 8, !9, i64 1048, i64 4, !5, i64 1052, i64 4, !5, i64 1056, i64 1, !45, i64 1064, i64 8, !9, i64 1072, i64 4, !5, i64 1076, i64 4, !5, i64 1080, i64 1, !45, i64 1088, i64 1, !11, i64 1096, i64 8, !9, i64 1104, i64 4, !5, i64 1108, i64 4, !5, i64 1112, i64 1, !45, i64 1120, i64 8, !9, i64 1128, i64 4, !5, i64 1132, i64 4, !5, i64 1136, i64 1, !45, i64 1144, i64 8, !9, i64 1152, i64 8, !9, i64 1160, i64 8, !9, i64 1168, i64 8, !9, i64 1176, i64 8, !9, i64 1184, i64 8, !9, i64 1192, i64 8, !9, i64 1200, i64 8, !9, i64 1208, i64 8, !9, i64 1216, i64 8, !9, i64 1224, i64 8, !9, i64 1232, i64 8, !9, i64 1240, i64 8, !9, i64 1248, i64 4, !5, i64 1252, i64 4, !5, i64 1256, i64 1, !45, i64 1264, i64 4, !5, i64 1268, i64 256, !45, i64 1524, i64 1, !45, i64 1528, i64 8, !9, i64 1536, i64 8, !9, i64 1544, i64 8, !9, i64 1552, i64 32, !45, i64 1584, i64 32, !45, i64 1616, i64 1, !45, i64 1617, i64 1, !45, i64 1618, i64 32, !45, i64 1650, i64 32, !45, i64 1688, i64 4, !5, i64 1696, i64 8, !9, i64 1704, i64 4, !5, i64 1708, i64 4, !5, i64 1712, i64 1, !45, i64 1720, i64 4, !5, i64 1724, i64 4, !5, i64 1728, i64 2, !92, i64 1730, i64 2, !92, i64 1736, i64 8, !9, i64 1744, i64 4, !5, i64 1752, i64 8, !9, i64 1760, i64 1, !45, i64 1764, i64 4, !5, i64 1768, i64 5, !45, i64 1776, i64 8, !9, i64 1784, i64 4, !5, i64 1788, i64 4, !5, i64 1792, i64 1, !45, i64 1800, i64 4, !5, i64 1804, i64 4, !5, i64 1808, i64 4, !5, i64 1812, i64 1, !45, i64 1816, i64 8, !9, i64 1824, i64 4, !5, i64 1828, i64 4, !5, i64 1832, i64 1, !45, i64 1840, i64 4, !5, i64 1844, i64 4, !5, i64 1848, i64 4, !5, i64 1852, i64 1, !45, i64 1856, i64 8, !9, i64 1864, i64 4, !5, i64 1868, i64 4, !5, i64 1872, i64 1, !45, i64 1880, i64 4, !5, i64 1884, i64 4, !5, i64 1888, i64 4, !5, i64 1892, i64 1, !45, i64 1896, i64 8, !9, i64 1904, i64 4, !5, i64 1908, i64 4, !5, i64 1912, i64 1, !45, i64 1920, i64 4, !5, i64 1924, i64 4, !5, i64 1928, i64 4, !5, i64 1932, i64 1, !45, i64 1936, i64 4, !5, i64 1944, i64 8, !60, i64 1952, i64 2, !45, i64 1960, i64 8, !9, i64 1968, i64 4, !5, i64 1972, i64 4, !5, i64 1976, i64 1, !45, i64 1984, i64 4, !5, i64 1988, i64 4, !5, i64 1992, i64 4, !5, i64 1996, i64 1, !45, i64 2000, i64 1, !45, i64 2001, i64 1, !45, i64 2002, i64 1, !45, i64 2003, i64 1, !11, i64 2004, i64 4, !5, i64 2008, i64 4, !5, i64 2016, i64 8, !9, i64 2024, i64 4, !5, i64 2028, i64 4, !5, i64 2032, i64 1, !45, i64 2040, i64 4, !5, i64 2044, i64 4, !5, i64 2048, i64 4, !5, i64 2052, i64 1, !45, i64 2056, i64 8, !9, i64 2064, i64 8, !45, i64 2072, i64 48, !45, i64 2120, i64 48, !45, i64 2168, i64 1, !45, i64 2172, i64 4, !5, i64 2176, i64 4, !5, i64 2180, i64 4, !5, i64 2184, i64 4, !5, i64 2192, i64 8, !9, i64 2200, i64 1, !45, i64 2204, i64 4, !5, i64 2208, i64 2, !92, i64 2212, i64 4, !5, i64 2216, i64 2, !92, i64 2224, i64 8, !60, i64 2232, i64 1, !45, i64 2240, i64 8, !60, i64 2248, i64 8, !60, i64 2256, i64 8, !60, i64 2264, i64 4, !5, i64 2268, i64 4, !5, i64 2272, i64 256, !45, i64 2528, i64 256, !45, i64 2784, i64 4, !5, i64 2792, i64 8, !9, i64 2800, i64 4, !5, i64 2804, i64 4, !5, i64 2808, i64 1, !45, i64 2816, i64 4, !5, i64 2824, i64 8, !9, i64 2832, i64 4, !5, i64 2836, i64 4, !5, i64 2840, i64 1, !45, i64 2848, i64 8, !9, i64 2856, i64 4, !5, i64 2860, i64 4, !5, i64 2864, i64 1, !45, i64 2872, i64 8, !9, i64 2880, i64 4, !5, i64 2884, i64 4, !5, i64 2888, i64 1, !45, i64 2896, i64 8, !9, i64 2904, i64 4, !5, i64 2908, i64 4, !5, i64 2912, i64 1, !45, i64 2920, i64 672, !45, i64 3592, i64 8, !9, i64 3600, i64 4, !5, i64 3604, i64 4, !5, i64 3608, i64 1, !45, i64 3616, i64 2, !92, i64 3624, i64 8, !9, i64 3632, i64 4, !5, i64 3636, i64 4, !5, i64 3640, i64 1, !45, i64 3648, i64 8, !9, i64 3656, i64 4, !5, i64 3660, i64 4, !5, i64 3664, i64 1, !45, i64 3672, i64 8, !9, i64 3680, i64 4, !5, i64 3684, i64 4, !5, i64 3688, i64 1, !45, i64 3696, i64 1, !45, i64 3697, i64 1, !45, i64 3698, i64 1, !45, i64 3704, i64 8, !9, i64 3712, i64 8, !9, i64 3720, i64 1, !45, i64 3721, i64 1, !45, i64 3722, i64 2, !92, i64 3728, i64 8, !9, i64 3736, i64 4, !5, i64 3744, i64 8, !9, i64 3752, i64 1, !45, i64 3756, i64 1, !11, i64 3760, i64 8, !9, i64 3768, i64 8, !9, i64 3776, i64 1, !45, i64 3780, i64 4, !5, i64 3784, i64 8, !9, i64 3792, i64 4, !5, i64 3796, i64 4, !5, i64 3800, i64 1, !45, i64 3808, i64 4, !5, i64 3816, i64 8, !9, i64 3824, i64 4, !5, i64 3828, i64 4, !5, i64 3832, i64 1, !45, i64 3840, i64 4, !5, i64 3848, i64 138, !45, i64 3992, i64 8, !9, i64 4000, i64 4, !5, i64 4004, i64 4, !5, i64 4008, i64 1, !45, i64 4016, i64 4, !5, i64 4020, i64 4, !5, i64 4024, i64 4, !5, i64 4028, i64 1, !45, i64 4032, i64 8, !9, i64 4040, i64 4, !5, i64 4044, i64 4, !5, i64 4048, i64 1, !45, i64 4056, i64 8, !9, i64 4064, i64 4, !5, i64 4068, i64 4, !5, i64 4072, i64 1, !45, i64 4080, i64 1, !11, i64 4081, i64 1, !11, i64 4082, i64 1, !11, i64 4084, i64 2, !92, i64 4086, i64 2, !92, i64 4088, i64 4, !5, i64 4092, i64 4, !5, i64 4096, i64 8, !9, i64 4104, i64 4, !5, i64 4108, i64 4, !5, i64 4112, i64 1, !45, i64 4120, i64 4, !5, i64 4128, i64 8, !9, i64 4136, i64 4, !5, i64 4140, i64 4, !5, i64 4144, i64 1, !45, i64 4152, i64 4, !5, i64 4156, i64 4, !5, i64 4160, i64 4, !5, i64 4164, i64 1, !45, i64 4168, i64 4, !45, i64 4176, i64 4, !5, i64 4180, i64 1, !45, i64 4181, i64 1, !45}
!92 = !{!31, !31, i64 0}
!93 = !{!16, !6, i64 2176}
!94 = distinct !{!94, !62}
!95 = distinct !{!95, !62}
!96 = distinct !{!96, !62}
!97 = !{!82, !10, i64 384}


; 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_early_state_sequence = type { ptr, i64 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%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_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@async_early_data = external dso_local local_unnamed_addr global ptr, align 8
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [78 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.test_value = external hidden unnamed_addr constant [11 x i8], align 1
@__const.main.test_value_2 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [70 x i8], align 1
@__const.main.early_data_not_requested_seq = external hidden unnamed_addr constant [2 x i32], align 4
@__const.main.early_data_rejected_seq = external hidden unnamed_addr constant [3 x i32], align 4
@__const.main.early_data_success_seq = external hidden unnamed_addr constant [4 x i32], align 16
@.str.11 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [183 x i8], align 1
@__const.main.invalid_seq = external hidden unnamed_addr constant [3 x i32], align 4
@.str.21 = external hidden unnamed_addr constant [183 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [96 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.33 = external hidden unnamed_addr constant [168 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [78 x i8], align 1
@s2n_tls13_aes_256_gcm_sha384 = external global %struct.s2n_cipher_suite, align 8
@.str.37 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [110 x i8], align 1
@__const.main.test_bad_value = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.test_apln = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.test_context = external hidden unnamed_addr constant [8 x i8], align 1
@s2n_tls13_chacha20_poly1305_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.63 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [71 x i8], align 1
@__const.main.required_protocol = external hidden unnamed_addr constant [18 x i8], align 16
@__const.main.wrong_protocol = external hidden unnamed_addr constant [15 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [34 x i8], align 1
@__const.main.data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [53 x i8], align 1
@__const.main.context = external hidden unnamed_addr constant [12 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [11 x i8], align 1
  %4 = alloca [15 x i8], align 1
  %5 = alloca [2 x i32], align 8
  %6 = alloca [3 x i32], align 4
  %7 = alloca [4 x i32], align 16
  %8 = alloca [3 x %struct.s2n_early_state_sequence], align 16
  %9 = alloca [3 x i32], align 4
  %10 = alloca [4 x %struct.s2n_early_state_sequence], align 16
  %11 = alloca [2 x %struct.s2n_early_state_sequence], align 16
  %12 = alloca %struct.s2n_early_data_config, align 8
  %13 = alloca %struct.s2n_psk, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca %struct.s2n_psk, align 8
  %18 = alloca ptr, align 8
  %19 = alloca %struct.s2n_psk, align 8
  %20 = alloca ptr, align 8
  %21 = alloca [6 x i8], align 1
  %22 = alloca [9 x i8], align 1
  %23 = alloca [8 x i8], align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca [18 x i8], align 16
  %27 = alloca i8, align 1
  %28 = alloca %struct.s2n_connection, align 8
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca %struct.s2n_connection, align 8
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca %struct.s2n_connection, align 8
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca [12 x i8], align 1
  %45 = alloca %struct.s2n_connection, align 8
  %46 = alloca %struct.s2n_connection, align 8
  %47 = alloca %struct.s2n_offered_early_data, align 8
  %48 = alloca [12 x i8], align 1
  %49 = alloca [12 x i8], align 1
  %50 = alloca [12 x i8], align 1
  %51 = alloca i16, align 2
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca %struct.s2n_offered_early_data, align 8
  %55 = alloca %struct.s2n_offered_early_data, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %56 = load ptr, ptr @stdout, align 8, !tbaa !9
  %57 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %56, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %58 = load ptr, ptr @stdout, align 8, !tbaa !9
  %59 = tail call i32 @fflush(ptr noundef %58)
  %60 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %61 = icmp eq i32 %60, -1
  br i1 %61, label %62, label %86

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

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

73:                                               ; preds = %69, %62
  br label %74

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

86:                                               ; preds = %2
  %87 = load i32, ptr @test_count, align 4, !tbaa !5
  %88 = add nsw i32 %87, 1
  store i32 %88, ptr @test_count, align 4, !tbaa !5
  %89 = tail call i32 @s2n_enable_atexit() #12
  %90 = icmp eq i32 %89, -1
  br i1 %90, label %91, label %115

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

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

102:                                              ; preds = %98, %91
  br label %103

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

115:                                              ; preds = %86
  %116 = tail call i32 @s2n_init() #12
  %117 = icmp eq i32 %116, -1
  br i1 %117, label %118, label %142

118:                                              ; preds = %115
  %119 = tail call ptr @__errno_location() #13
  %120 = load i32, ptr %119, align 4, !tbaa !5
  %121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %122 = tail call i32 @s2n_print_stacktrace(ptr noundef %121) #12
  %123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %124 = trunc nuw i8 %123 to i1
  br i1 %124, label %125, label %129

125:                                              ; preds = %118
  %126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %127 = tail call i32 @fileno(ptr noundef %126) #12
  %128 = tail call i32 @isatty(i32 noundef %127) #12
  %.not2257 = icmp eq i32 %128, 0
  br i1 %.not2257, label %129, label %130

129:                                              ; preds = %125, %118
  br label %130

130:                                              ; preds = %125, %129
  %.str.5.sink2294 = phi ptr [ @.str.5, %129 ], [ @.str.2, %125 ]
  store i32 %120, ptr %119, align 4, !tbaa !5
  %131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %132 = load i32, ptr @test_count, align 4, !tbaa !5
  %133 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %134 = load i32, ptr %133, align 4, !tbaa !5
  %135 = tail call ptr @s2n_strerror(i32 noundef %134, ptr noundef nonnull @.str.4) #12
  %136 = load i32, ptr %133, align 4, !tbaa !5
  %137 = tail call ptr @s2n_strerror_debug(i32 noundef %136, ptr noundef nonnull @.str.4) #12
  %138 = load i32, ptr %119, align 4, !tbaa !5
  %139 = tail call ptr @strerror(i32 noundef %138) #12
  %140 = load i32, ptr %119, align 4, !tbaa !5
  %141 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %131, ptr noundef nonnull %.str.5.sink2294, i32 noundef %132, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %135, ptr noundef %137, ptr noundef %139, i32 noundef %140) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

142:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %3) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %3, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_value, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 15, ptr nonnull %4) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(15) %4, ptr noundef nonnull align 1 dereferenceable(15) @__const.main.test_value_2, i64 15, i1 false)
  %143 = load i32, ptr @test_count, align 4, !tbaa !5
  %144 = add nsw i32 %143, 1
  store i32 %144, ptr @test_count, align 4, !tbaa !5
  %145 = tail call i32 @s2n_connection_set_early_data_state(ptr noundef null, i32 noundef 0) #12
  %146 = tail call zeroext i1 @s2n_result_is_error(i32 %145)
  br i1 %146, label %171, label %147

147:                                              ; preds = %142
  %148 = tail call ptr @__errno_location() #13
  %149 = load i32, ptr %148, align 4, !tbaa !5
  %150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %151 = tail call i32 @s2n_print_stacktrace(ptr noundef %150) #12
  %152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %153 = trunc nuw i8 %152 to i1
  br i1 %153, label %154, label %158

154:                                              ; preds = %147
  %155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %156 = tail call i32 @fileno(ptr noundef %155) #12
  %157 = tail call i32 @isatty(i32 noundef %156) #12
  %.not = icmp eq i32 %157, 0
  br i1 %.not, label %158, label %159

158:                                              ; preds = %154, %147
  br label %159

159:                                              ; preds = %154, %158
  %.str.5.sink2305 = phi ptr [ @.str.5, %158 ], [ @.str.2, %154 ]
  store i32 %149, ptr %148, align 4, !tbaa !5
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = load i32, ptr @test_count, align 4, !tbaa !5
  %162 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %163 = load i32, ptr %162, align 4, !tbaa !5
  %164 = tail call ptr @s2n_strerror(i32 noundef %163, ptr noundef nonnull @.str.4) #12
  %165 = load i32, ptr %162, align 4, !tbaa !5
  %166 = tail call ptr @s2n_strerror_debug(i32 noundef %165, ptr noundef nonnull @.str.4) #12
  %167 = load i32, ptr %148, align 4, !tbaa !5
  %168 = tail call ptr @strerror(i32 noundef %167) #12
  %169 = load i32, ptr %148, align 4, !tbaa !5
  %170 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %160, ptr noundef nonnull %.str.5.sink2305, i32 noundef %161, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %164, ptr noundef %166, ptr noundef %168, i32 noundef %169) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

171:                                              ; preds = %142
  %172 = load i32, ptr @test_count, align 4, !tbaa !5
  %173 = add nsw i32 %172, 1
  store i32 %173, ptr @test_count, align 4, !tbaa !5
  %174 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %175 = load i32, ptr %174, align 4, !tbaa !5
  %176 = icmp eq i32 %175, 402653193
  br i1 %176, label %200, label %177

177:                                              ; preds = %171
  %178 = tail call ptr @__errno_location() #13
  %179 = load i32, ptr %178, align 4, !tbaa !5
  %180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %181 = tail call i32 @s2n_print_stacktrace(ptr noundef %180) #12
  %182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %183 = trunc nuw i8 %182 to i1
  br i1 %183, label %184, label %188

184:                                              ; preds = %177
  %185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %186 = tail call i32 @fileno(ptr noundef %185) #12
  %187 = tail call i32 @isatty(i32 noundef %186) #12
  %.not1684 = icmp eq i32 %187, 0
  br i1 %.not1684, label %188, label %189

188:                                              ; preds = %184, %177
  br label %189

189:                                              ; preds = %184, %188
  %.str.5.sink2316 = phi ptr [ @.str.5, %188 ], [ @.str.2, %184 ]
  store i32 %179, ptr %178, align 4, !tbaa !5
  %190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %191 = load i32, ptr @test_count, align 4, !tbaa !5
  %192 = load i32, ptr %174, align 4, !tbaa !5
  %193 = tail call ptr @s2n_strerror(i32 noundef %192, ptr noundef nonnull @.str.4) #12
  %194 = load i32, ptr %174, align 4, !tbaa !5
  %195 = tail call ptr @s2n_strerror_debug(i32 noundef %194, ptr noundef nonnull @.str.4) #12
  %196 = load i32, ptr %178, align 4, !tbaa !5
  %197 = tail call ptr @strerror(i32 noundef %196) #12
  %198 = load i32, ptr %178, align 4, !tbaa !5
  %199 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %190, ptr noundef nonnull %.str.5.sink2316, i32 noundef %191, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %193, ptr noundef %195, ptr noundef %197, i32 noundef %198) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

200:                                              ; preds = %171
  %201 = add nsw i32 %172, 2
  store i32 %201, ptr @test_count, align 4, !tbaa !5
  %202 = tail call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %203 = icmp eq ptr %202, null
  br i1 %203, label %204, label %227

204:                                              ; preds = %200
  %205 = tail call ptr @__errno_location() #13
  %206 = load i32, ptr %205, align 4, !tbaa !5
  %207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %208 = tail call i32 @s2n_print_stacktrace(ptr noundef %207) #12
  %209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %210 = trunc nuw i8 %209 to i1
  br i1 %210, label %211, label %215

211:                                              ; preds = %204
  %212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %213 = tail call i32 @fileno(ptr noundef %212) #12
  %214 = tail call i32 @isatty(i32 noundef %213) #12
  %.not2256 = icmp eq i32 %214, 0
  br i1 %.not2256, label %215, label %216

215:                                              ; preds = %211, %204
  br label %216

216:                                              ; preds = %211, %215
  %.str.5.sink2325 = phi ptr [ @.str.5, %215 ], [ @.str.2, %211 ]
  store i32 %206, ptr %205, align 4, !tbaa !5
  %217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %218 = load i32, ptr @test_count, align 4, !tbaa !5
  %219 = load i32, ptr %174, align 4, !tbaa !5
  %220 = tail call ptr @s2n_strerror(i32 noundef %219, ptr noundef nonnull @.str.4) #12
  %221 = load i32, ptr %174, align 4, !tbaa !5
  %222 = tail call ptr @s2n_strerror_debug(i32 noundef %221, ptr noundef nonnull @.str.4) #12
  %223 = load i32, ptr %205, align 4, !tbaa !5
  %224 = tail call ptr @strerror(i32 noundef %223) #12
  %225 = load i32, ptr %205, align 4, !tbaa !5
  %226 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %217, ptr noundef nonnull %.str.5.sink2325, i32 noundef %218, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %220, ptr noundef %222, ptr noundef %224, i32 noundef %225) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

227:                                              ; preds = %200
  store i32 0, ptr %174, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #12
  %228 = tail call ptr @__errno_location() #13
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  %229 = load i64, ptr @__const.main.early_data_not_requested_seq, align 4
  store i64 %229, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %6) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %6, ptr noundef nonnull align 4 dereferenceable(12) @__const.main.early_data_rejected_seq, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %7, ptr noundef nonnull align 16 dereferenceable(16) @__const.main.early_data_success_seq, i64 16, i1 false)
  %230 = tail call ptr @s2n_connection_new(i32 noundef 0) #12
  %231 = load i32, ptr @test_count, align 4, !tbaa !5
  %232 = add nsw i32 %231, 1
  store i32 %232, ptr @test_count, align 4, !tbaa !5
  %233 = icmp eq ptr %230, null
  br i1 %233, label %234, label %256

234:                                              ; preds = %227
  %235 = load i32, ptr %228, align 4, !tbaa !5
  %236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %237 = tail call i32 @s2n_print_stacktrace(ptr noundef %236) #12
  %238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %239 = trunc nuw i8 %238 to i1
  br i1 %239, label %240, label %244

240:                                              ; preds = %234
  %241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %242 = tail call i32 @fileno(ptr noundef %241) #12
  %243 = tail call i32 @isatty(i32 noundef %242) #12
  %.not2255 = icmp eq i32 %243, 0
  br i1 %.not2255, label %244, label %245

244:                                              ; preds = %240, %234
  br label %245

245:                                              ; preds = %240, %244
  %.str.5.sink2334 = phi ptr [ @.str.5, %244 ], [ @.str.2, %240 ]
  store i32 %235, ptr %228, align 4, !tbaa !5
  %246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %247 = load i32, ptr @test_count, align 4, !tbaa !5
  %248 = load i32, ptr %174, align 4, !tbaa !5
  %249 = tail call ptr @s2n_strerror(i32 noundef %248, ptr noundef nonnull @.str.4) #12
  %250 = load i32, ptr %174, align 4, !tbaa !5
  %251 = tail call ptr @s2n_strerror_debug(i32 noundef %250, ptr noundef nonnull @.str.4) #12
  %252 = load i32, ptr %228, align 4, !tbaa !5
  %253 = tail call ptr @strerror(i32 noundef %252) #12
  %254 = load i32, ptr %228, align 4, !tbaa !5
  %255 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %246, ptr noundef nonnull %.str.5.sink2334, i32 noundef %247, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %249, ptr noundef %251, ptr noundef %253, i32 noundef %254) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

256:                                              ; preds = %227
  %257 = getelementptr inbounds i8, ptr %230, i64 4088
  store i32 0, ptr %257, align 8, !tbaa !15
  %258 = add nsw i32 %231, 2
  store i32 %258, ptr @test_count, align 4, !tbaa !5
  %259 = tail call i32 @s2n_connection_set_early_data_state(ptr noundef nonnull %230, i32 noundef 0) #12
  %260 = tail call zeroext i1 @s2n_result_is_ok(i32 %259)
  br i1 %260, label %283, label %261

261:                                              ; preds = %256
  %262 = load i32, ptr %228, align 4, !tbaa !5
  %263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %264 = tail call i32 @s2n_print_stacktrace(ptr noundef %263) #12
  %265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %266 = trunc nuw i8 %265 to i1
  br i1 %266, label %267, label %271

267:                                              ; preds = %261
  %268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %269 = tail call i32 @fileno(ptr noundef %268) #12
  %270 = tail call i32 @isatty(i32 noundef %269) #12
  %.not1685 = icmp eq i32 %270, 0
  br i1 %.not1685, label %271, label %272

271:                                              ; preds = %267, %261
  br label %272

272:                                              ; preds = %267, %271
  %.str.5.sink2343 = phi ptr [ @.str.5, %271 ], [ @.str.2, %267 ]
  store i32 %262, ptr %228, align 4, !tbaa !5
  %273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %274 = load i32, ptr @test_count, align 4, !tbaa !5
  %275 = load i32, ptr %174, align 4, !tbaa !5
  %276 = tail call ptr @s2n_strerror(i32 noundef %275, ptr noundef nonnull @.str.4) #12
  %277 = load i32, ptr %174, align 4, !tbaa !5
  %278 = tail call ptr @s2n_strerror_debug(i32 noundef %277, ptr noundef nonnull @.str.4) #12
  %279 = load i32, ptr %228, align 4, !tbaa !5
  %280 = tail call ptr @strerror(i32 noundef %279) #12
  %281 = load i32, ptr %228, align 4, !tbaa !5
  %282 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %273, ptr noundef nonnull %.str.5.sink2343, i32 noundef %274, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %276, ptr noundef %278, ptr noundef %280, i32 noundef %281) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

283:                                              ; preds = %256
  store i32 0, ptr %257, align 8, !tbaa !15
  %284 = load i32, ptr @test_count, align 4, !tbaa !5
  %285 = add nsw i32 %284, 1
  store i32 %285, ptr @test_count, align 4, !tbaa !5
  %286 = tail call i32 @s2n_connection_set_early_data_state(ptr noundef nonnull %230, i32 noundef 6) #12
  %287 = tail call zeroext i1 @s2n_result_is_error(i32 %286)
  br i1 %287, label %310, label %288

288:                                              ; preds = %283
  %289 = load i32, ptr %228, align 4, !tbaa !5
  %290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %291 = tail call i32 @s2n_print_stacktrace(ptr noundef %290) #12
  %292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %293 = trunc nuw i8 %292 to i1
  br i1 %293, label %294, label %298

294:                                              ; preds = %288
  %295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %296 = tail call i32 @fileno(ptr noundef %295) #12
  %297 = tail call i32 @isatty(i32 noundef %296) #12
  %.not1686 = icmp eq i32 %297, 0
  br i1 %.not1686, label %298, label %299

298:                                              ; preds = %294, %288
  br label %299

299:                                              ; preds = %294, %298
  %.str.5.sink2352 = phi ptr [ @.str.5, %298 ], [ @.str.2, %294 ]
  store i32 %289, ptr %228, align 4, !tbaa !5
  %300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %301 = load i32, ptr @test_count, align 4, !tbaa !5
  %302 = load i32, ptr %174, align 4, !tbaa !5
  %303 = tail call ptr @s2n_strerror(i32 noundef %302, ptr noundef nonnull @.str.4) #12
  %304 = load i32, ptr %174, align 4, !tbaa !5
  %305 = tail call ptr @s2n_strerror_debug(i32 noundef %304, ptr noundef nonnull @.str.4) #12
  %306 = load i32, ptr %228, align 4, !tbaa !5
  %307 = tail call ptr @strerror(i32 noundef %306) #12
  %308 = load i32, ptr %228, align 4, !tbaa !5
  %309 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %300, ptr noundef nonnull %.str.5.sink2352, i32 noundef %301, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %303, ptr noundef %305, ptr noundef %307, i32 noundef %308) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

310:                                              ; preds = %283
  %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 = load i32, ptr %174, align 4, !tbaa !5
  %314 = icmp eq i32 %313, 402653262
  br i1 %314, label %337, label %315

315:                                              ; preds = %310
  %316 = load i32, ptr %228, align 4, !tbaa !5
  %317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %318 = tail call i32 @s2n_print_stacktrace(ptr noundef %317) #12
  %319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %320 = trunc nuw i8 %319 to i1
  br i1 %320, label %321, label %325

321:                                              ; preds = %315
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = tail call i32 @fileno(ptr noundef %322) #12
  %324 = tail call i32 @isatty(i32 noundef %323) #12
  %.not1687 = icmp eq i32 %324, 0
  br i1 %.not1687, label %325, label %326

325:                                              ; preds = %321, %315
  br label %326

326:                                              ; preds = %321, %325
  %.str.5.sink2361 = phi ptr [ @.str.5, %325 ], [ @.str.2, %321 ]
  store i32 %316, ptr %228, align 4, !tbaa !5
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = load i32, ptr @test_count, align 4, !tbaa !5
  %329 = load i32, ptr %174, align 4, !tbaa !5
  %330 = tail call ptr @s2n_strerror(i32 noundef %329, ptr noundef nonnull @.str.4) #12
  %331 = load i32, ptr %174, align 4, !tbaa !5
  %332 = tail call ptr @s2n_strerror_debug(i32 noundef %331, ptr noundef nonnull @.str.4) #12
  %333 = load i32, ptr %228, align 4, !tbaa !5
  %334 = tail call ptr @strerror(i32 noundef %333) #12
  %335 = load i32, ptr %228, align 4, !tbaa !5
  %336 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %327, ptr noundef nonnull %.str.5.sink2361, i32 noundef %328, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %330, ptr noundef %332, ptr noundef %334, i32 noundef %335) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

337:                                              ; preds = %310
  %338 = add nsw i32 %311, 2
  store i32 %338, ptr @test_count, align 4, !tbaa !5
  %339 = tail call ptr @s2n_strerror_debug(i32 noundef 402653262, ptr noundef nonnull @.str.4) #12
  %340 = icmp eq ptr %339, null
  br i1 %340, label %341, label %363

341:                                              ; preds = %337
  %342 = load i32, ptr %228, align 4, !tbaa !5
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = tail call i32 @s2n_print_stacktrace(ptr noundef %343) #12
  %345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %346 = trunc nuw i8 %345 to i1
  br i1 %346, label %347, label %351

347:                                              ; preds = %341
  %348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %349 = tail call i32 @fileno(ptr noundef %348) #12
  %350 = tail call i32 @isatty(i32 noundef %349) #12
  %.not2254 = icmp eq i32 %350, 0
  br i1 %.not2254, label %351, label %352

351:                                              ; preds = %347, %341
  br label %352

352:                                              ; preds = %347, %351
  %.str.5.sink2370 = phi ptr [ @.str.5, %351 ], [ @.str.2, %347 ]
  store i32 %342, ptr %228, align 4, !tbaa !5
  %353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %354 = load i32, ptr @test_count, align 4, !tbaa !5
  %355 = load i32, ptr %174, align 4, !tbaa !5
  %356 = tail call ptr @s2n_strerror(i32 noundef %355, ptr noundef nonnull @.str.4) #12
  %357 = load i32, ptr %174, align 4, !tbaa !5
  %358 = tail call ptr @s2n_strerror_debug(i32 noundef %357, ptr noundef nonnull @.str.4) #12
  %359 = load i32, ptr %228, align 4, !tbaa !5
  %360 = tail call ptr @strerror(i32 noundef %359) #12
  %361 = load i32, ptr %228, align 4, !tbaa !5
  %362 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %353, ptr noundef nonnull %.str.5.sink2370, i32 noundef %354, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %356, ptr noundef %358, ptr noundef %360, i32 noundef %361) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

363:                                              ; preds = %337
  store i32 0, ptr %174, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  store i32 0, ptr %257, align 8, !tbaa !15
  %364 = load i32, ptr @test_count, align 4, !tbaa !5
  %365 = add nsw i32 %364, 1
  store i32 %365, ptr @test_count, align 4, !tbaa !5
  %366 = tail call i32 @s2n_connection_set_early_data_state(ptr noundef nonnull %230, i32 noundef 7) #12
  %367 = tail call zeroext i1 @s2n_result_is_error(i32 %366)
  br i1 %367, label %390, label %368

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

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

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

379:                                              ; preds = %374, %378
  %.str.5.sink2379 = phi ptr [ @.str.5, %378 ], [ @.str.2, %374 ]
  store i32 %369, ptr %228, align 4, !tbaa !5
  %380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %381 = load i32, ptr @test_count, align 4, !tbaa !5
  %382 = load i32, ptr %174, align 4, !tbaa !5
  %383 = tail call ptr @s2n_strerror(i32 noundef %382, ptr noundef nonnull @.str.4) #12
  %384 = load i32, ptr %174, align 4, !tbaa !5
  %385 = tail call ptr @s2n_strerror_debug(i32 noundef %384, ptr noundef nonnull @.str.4) #12
  %386 = load i32, ptr %228, align 4, !tbaa !5
  %387 = tail call ptr @strerror(i32 noundef %386) #12
  %388 = load i32, ptr %228, align 4, !tbaa !5
  %389 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %380, ptr noundef nonnull %.str.5.sink2379, i32 noundef %381, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %383, ptr noundef %385, ptr noundef %387, i32 noundef %388) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

390:                                              ; preds = %363
  %391 = load i32, ptr @test_count, align 4, !tbaa !5
  %392 = add nsw i32 %391, 1
  store i32 %392, ptr @test_count, align 4, !tbaa !5
  %393 = load i32, ptr %174, align 4, !tbaa !5
  %394 = icmp eq i32 %393, 402653262
  br i1 %394, label %417, label %395

395:                                              ; preds = %390
  %396 = load i32, ptr %228, align 4, !tbaa !5
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = tail call i32 @s2n_print_stacktrace(ptr noundef %397) #12
  %399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %400 = trunc nuw i8 %399 to i1
  br i1 %400, label %401, label %405

401:                                              ; preds = %395
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = tail call i32 @fileno(ptr noundef %402) #12
  %404 = tail call i32 @isatty(i32 noundef %403) #12
  %.not1689 = icmp eq i32 %404, 0
  br i1 %.not1689, label %405, label %406

405:                                              ; preds = %401, %395
  br label %406

406:                                              ; preds = %401, %405
  %.str.5.sink2388 = phi ptr [ @.str.5, %405 ], [ @.str.2, %401 ]
  store i32 %396, ptr %228, align 4, !tbaa !5
  %407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %408 = load i32, ptr @test_count, align 4, !tbaa !5
  %409 = load i32, ptr %174, align 4, !tbaa !5
  %410 = tail call ptr @s2n_strerror(i32 noundef %409, ptr noundef nonnull @.str.4) #12
  %411 = load i32, ptr %174, align 4, !tbaa !5
  %412 = tail call ptr @s2n_strerror_debug(i32 noundef %411, ptr noundef nonnull @.str.4) #12
  %413 = load i32, ptr %228, align 4, !tbaa !5
  %414 = tail call ptr @strerror(i32 noundef %413) #12
  %415 = load i32, ptr %228, align 4, !tbaa !5
  %416 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %407, ptr noundef nonnull %.str.5.sink2388, i32 noundef %408, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %410, ptr noundef %412, ptr noundef %414, i32 noundef %415) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

417:                                              ; preds = %390
  %418 = add nsw i32 %391, 2
  store i32 %418, ptr @test_count, align 4, !tbaa !5
  %419 = tail call ptr @s2n_strerror_debug(i32 noundef 402653262, ptr noundef nonnull @.str.4) #12
  %420 = icmp eq ptr %419, null
  br i1 %420, label %421, label %443

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

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

431:                                              ; preds = %427, %421
  br label %432

432:                                              ; preds = %427, %431
  %.str.5.sink2397 = phi ptr [ @.str.5, %431 ], [ @.str.2, %427 ]
  store i32 %422, ptr %228, align 4, !tbaa !5
  %433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %434 = load i32, ptr @test_count, align 4, !tbaa !5
  %435 = load i32, ptr %174, align 4, !tbaa !5
  %436 = tail call ptr @s2n_strerror(i32 noundef %435, ptr noundef nonnull @.str.4) #12
  %437 = load i32, ptr %174, align 4, !tbaa !5
  %438 = tail call ptr @s2n_strerror_debug(i32 noundef %437, ptr noundef nonnull @.str.4) #12
  %439 = load i32, ptr %228, align 4, !tbaa !5
  %440 = tail call ptr @strerror(i32 noundef %439) #12
  %441 = load i32, ptr %228, align 4, !tbaa !5
  %442 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %433, ptr noundef nonnull %.str.5.sink2397, i32 noundef %434, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %436, ptr noundef %438, ptr noundef %440, i32 noundef %441) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

443:                                              ; preds = %417
  store i32 0, ptr %174, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  store i32 0, ptr %257, align 8, !tbaa !15
  %444 = load i32, ptr @test_count, align 4, !tbaa !5
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr @test_count, align 4, !tbaa !5
  %446 = tail call i32 @s2n_connection_set_early_data_state(ptr noundef nonnull %230, i32 noundef 1) #12
  %447 = tail call zeroext i1 @s2n_result_is_ok(i32 %446)
  br i1 %447, label %470, label %448

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

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

458:                                              ; preds = %454, %448
  br label %459

459:                                              ; preds = %454, %458
  %.str.5.sink2406 = phi ptr [ @.str.5, %458 ], [ @.str.2, %454 ]
  store i32 %449, ptr %228, align 4, !tbaa !5
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = load i32, ptr @test_count, align 4, !tbaa !5
  %462 = load i32, ptr %174, align 4, !tbaa !5
  %463 = tail call ptr @s2n_strerror(i32 noundef %462, ptr noundef nonnull @.str.4) #12
  %464 = load i32, ptr %174, align 4, !tbaa !5
  %465 = tail call ptr @s2n_strerror_debug(i32 noundef %464, ptr noundef nonnull @.str.4) #12
  %466 = load i32, ptr %228, align 4, !tbaa !5
  %467 = tail call ptr @strerror(i32 noundef %466) #12
  %468 = load i32, ptr %228, align 4, !tbaa !5
  %469 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %460, ptr noundef nonnull %.str.5.sink2406, i32 noundef %461, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %463, ptr noundef %465, ptr noundef %467, i32 noundef %468) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

470:                                              ; preds = %443
  store i32 1, ptr %257, align 8, !tbaa !15
  %471 = load i32, ptr @test_count, align 4, !tbaa !5
  %472 = add nsw i32 %471, 1
  store i32 %472, ptr @test_count, align 4, !tbaa !5
  %473 = tail call i32 @s2n_connection_set_early_data_state(ptr noundef nonnull %230, i32 noundef 4) #12
  %474 = tail call zeroext i1 @s2n_result_is_ok(i32 %473)
  br i1 %474, label %497, label %475

475:                                              ; preds = %470
  %476 = load i32, ptr %228, align 4, !tbaa !5
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = tail call i32 @s2n_print_stacktrace(ptr noundef %477) #12
  %479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %480 = trunc nuw i8 %479 to i1
  br i1 %480, label %481, label %485

481:                                              ; preds = %475
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = tail call i32 @fileno(ptr noundef %482) #12
  %484 = tail call i32 @isatty(i32 noundef %483) #12
  %.not1691 = icmp eq i32 %484, 0
  br i1 %.not1691, label %485, label %486

485:                                              ; preds = %481, %475
  br label %486

486:                                              ; preds = %481, %485
  %.str.5.sink2415 = phi ptr [ @.str.5, %485 ], [ @.str.2, %481 ]
  store i32 %476, ptr %228, align 4, !tbaa !5
  %487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %488 = load i32, ptr @test_count, align 4, !tbaa !5
  %489 = load i32, ptr %174, align 4, !tbaa !5
  %490 = tail call ptr @s2n_strerror(i32 noundef %489, ptr noundef nonnull @.str.4) #12
  %491 = load i32, ptr %174, align 4, !tbaa !5
  %492 = tail call ptr @s2n_strerror_debug(i32 noundef %491, ptr noundef nonnull @.str.4) #12
  %493 = load i32, ptr %228, align 4, !tbaa !5
  %494 = tail call ptr @strerror(i32 noundef %493) #12
  %495 = load i32, ptr %228, align 4, !tbaa !5
  %496 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %487, ptr noundef nonnull %.str.5.sink2415, i32 noundef %488, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %490, ptr noundef %492, ptr noundef %494, i32 noundef %495) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

497:                                              ; preds = %470
  store i32 1, ptr %257, align 8, !tbaa !15
  %498 = load i32, ptr @test_count, align 4, !tbaa !5
  %499 = add nsw i32 %498, 1
  store i32 %499, ptr @test_count, align 4, !tbaa !5
  %500 = tail call i32 @s2n_connection_set_early_data_state(ptr noundef nonnull %230, i32 noundef 5) #12
  %501 = tail call zeroext i1 @s2n_result_is_error(i32 %500)
  br i1 %501, label %524, label %502

502:                                              ; preds = %497
  %503 = load i32, ptr %228, align 4, !tbaa !5
  %504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %505 = tail call i32 @s2n_print_stacktrace(ptr noundef %504) #12
  %506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %507 = trunc nuw i8 %506 to i1
  br i1 %507, label %508, label %512

508:                                              ; preds = %502
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = tail call i32 @fileno(ptr noundef %509) #12
  %511 = tail call i32 @isatty(i32 noundef %510) #12
  %.not1692 = icmp eq i32 %511, 0
  br i1 %.not1692, label %512, label %513

512:                                              ; preds = %508, %502
  br label %513

513:                                              ; preds = %508, %512
  %.str.5.sink2424 = phi ptr [ @.str.5, %512 ], [ @.str.2, %508 ]
  store i32 %503, ptr %228, align 4, !tbaa !5
  %514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %515 = load i32, ptr @test_count, align 4, !tbaa !5
  %516 = load i32, ptr %174, align 4, !tbaa !5
  %517 = tail call ptr @s2n_strerror(i32 noundef %516, ptr noundef nonnull @.str.4) #12
  %518 = load i32, ptr %174, align 4, !tbaa !5
  %519 = tail call ptr @s2n_strerror_debug(i32 noundef %518, ptr noundef nonnull @.str.4) #12
  %520 = load i32, ptr %228, align 4, !tbaa !5
  %521 = tail call ptr @strerror(i32 noundef %520) #12
  %522 = load i32, ptr %228, align 4, !tbaa !5
  %523 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %514, ptr noundef nonnull %.str.5.sink2424, i32 noundef %515, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %517, ptr noundef %519, ptr noundef %521, i32 noundef %522) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

524:                                              ; preds = %497
  %525 = load i32, ptr @test_count, align 4, !tbaa !5
  %526 = add nsw i32 %525, 1
  store i32 %526, ptr @test_count, align 4, !tbaa !5
  %527 = load i32, ptr %174, align 4, !tbaa !5
  %528 = icmp eq i32 %527, 402653262
  br i1 %528, label %551, label %529

529:                                              ; preds = %524
  %530 = load i32, ptr %228, align 4, !tbaa !5
  %531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %532 = tail call i32 @s2n_print_stacktrace(ptr noundef %531) #12
  %533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %534 = trunc nuw i8 %533 to i1
  br i1 %534, label %535, label %539

535:                                              ; preds = %529
  %536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %537 = tail call i32 @fileno(ptr noundef %536) #12
  %538 = tail call i32 @isatty(i32 noundef %537) #12
  %.not1693 = icmp eq i32 %538, 0
  br i1 %.not1693, label %539, label %540

539:                                              ; preds = %535, %529
  br label %540

540:                                              ; preds = %535, %539
  %.str.5.sink2433 = phi ptr [ @.str.5, %539 ], [ @.str.2, %535 ]
  store i32 %530, ptr %228, align 4, !tbaa !5
  %541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %542 = load i32, ptr @test_count, align 4, !tbaa !5
  %543 = load i32, ptr %174, align 4, !tbaa !5
  %544 = tail call ptr @s2n_strerror(i32 noundef %543, ptr noundef nonnull @.str.4) #12
  %545 = load i32, ptr %174, align 4, !tbaa !5
  %546 = tail call ptr @s2n_strerror_debug(i32 noundef %545, ptr noundef nonnull @.str.4) #12
  %547 = load i32, ptr %228, align 4, !tbaa !5
  %548 = tail call ptr @strerror(i32 noundef %547) #12
  %549 = load i32, ptr %228, align 4, !tbaa !5
  %550 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %541, ptr noundef nonnull %.str.5.sink2433, i32 noundef %542, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %544, ptr noundef %546, ptr noundef %548, i32 noundef %549) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

551:                                              ; preds = %524
  %552 = add nsw i32 %525, 2
  store i32 %552, ptr @test_count, align 4, !tbaa !5
  %553 = tail call ptr @s2n_strerror_debug(i32 noundef 402653262, ptr noundef nonnull @.str.4) #12
  %554 = icmp eq ptr %553, null
  br i1 %554, label %555, label %577

555:                                              ; preds = %551
  %556 = load i32, ptr %228, align 4, !tbaa !5
  %557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %558 = tail call i32 @s2n_print_stacktrace(ptr noundef %557) #12
  %559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %560 = trunc nuw i8 %559 to i1
  br i1 %560, label %561, label %565

561:                                              ; preds = %555
  %562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %563 = tail call i32 @fileno(ptr noundef %562) #12
  %564 = tail call i32 @isatty(i32 noundef %563) #12
  %.not2252 = icmp eq i32 %564, 0
  br i1 %.not2252, label %565, label %566

565:                                              ; preds = %561, %555
  br label %566

566:                                              ; preds = %561, %565
  %.str.5.sink2442 = phi ptr [ @.str.5, %565 ], [ @.str.2, %561 ]
  store i32 %556, ptr %228, align 4, !tbaa !5
  %567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %568 = load i32, ptr @test_count, align 4, !tbaa !5
  %569 = load i32, ptr %174, align 4, !tbaa !5
  %570 = tail call ptr @s2n_strerror(i32 noundef %569, ptr noundef nonnull @.str.4) #12
  %571 = load i32, ptr %174, align 4, !tbaa !5
  %572 = tail call ptr @s2n_strerror_debug(i32 noundef %571, ptr noundef nonnull @.str.4) #12
  %573 = load i32, ptr %228, align 4, !tbaa !5
  %574 = tail call ptr @strerror(i32 noundef %573) #12
  %575 = load i32, ptr %228, align 4, !tbaa !5
  %576 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %567, ptr noundef nonnull %.str.5.sink2442, i32 noundef %568, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %570, ptr noundef %572, ptr noundef %574, i32 noundef %575) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

577:                                              ; preds = %551
  store i32 0, ptr %174, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %578 = load i32, ptr @test_count, align 4, !tbaa !5
  %579 = add nsw i32 %578, 1
  store i32 %579, ptr @test_count, align 4, !tbaa !5
  %580 = tail call i32 @s2n_connection_free(ptr noundef nonnull %230) #12
  %581 = icmp eq i32 %580, -1
  br i1 %581, label %582, label %604

582:                                              ; preds = %577
  %583 = load i32, ptr %228, align 4, !tbaa !5
  %584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %585 = tail call i32 @s2n_print_stacktrace(ptr noundef %584) #12
  %586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %587 = trunc nuw i8 %586 to i1
  br i1 %587, label %588, label %592

588:                                              ; preds = %582
  %589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %590 = tail call i32 @fileno(ptr noundef %589) #12
  %591 = tail call i32 @isatty(i32 noundef %590) #12
  %.not2251 = icmp eq i32 %591, 0
  br i1 %.not2251, label %592, label %593

592:                                              ; preds = %588, %582
  br label %593

593:                                              ; preds = %588, %592
  %.str.5.sink2451 = phi ptr [ @.str.5, %592 ], [ @.str.2, %588 ]
  store i32 %583, ptr %228, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = load i32, ptr @test_count, align 4, !tbaa !5
  %596 = load i32, ptr %174, align 4, !tbaa !5
  %597 = tail call ptr @s2n_strerror(i32 noundef %596, ptr noundef nonnull @.str.4) #12
  %598 = load i32, ptr %174, align 4, !tbaa !5
  %599 = tail call ptr @s2n_strerror_debug(i32 noundef %598, ptr noundef nonnull @.str.4) #12
  %600 = load i32, ptr %228, align 4, !tbaa !5
  %601 = tail call ptr @strerror(i32 noundef %600) #12
  %602 = load i32, ptr %228, align 4, !tbaa !5
  %603 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %594, ptr noundef nonnull %.str.5.sink2451, i32 noundef %595, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %597, ptr noundef %599, ptr noundef %601, i32 noundef %602) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

604:                                              ; preds = %577
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) #12
  store ptr %5, ptr %8, align 16, !tbaa !42
  %605 = getelementptr inbounds i8, ptr %8, i64 8
  store i64 2, ptr %605, align 8, !tbaa !44
  %606 = getelementptr inbounds i8, ptr %8, i64 16
  store ptr %6, ptr %606, align 16, !tbaa !42
  %607 = getelementptr inbounds i8, ptr %8, i64 24
  store i64 3, ptr %607, align 8, !tbaa !44
  %608 = getelementptr inbounds i8, ptr %8, i64 32
  store ptr %7, ptr %608, align 16, !tbaa !42
  %609 = getelementptr inbounds i8, ptr %8, i64 40
  store i64 4, ptr %609, align 8, !tbaa !44
  %610 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %611 = load i32, ptr @test_count, align 4, !tbaa !5
  %612 = add nsw i32 %611, 1
  store i32 %612, ptr @test_count, align 4, !tbaa !5
  %613 = icmp eq ptr %610, null
  br i1 %613, label %614, label %636

614:                                              ; preds = %604
  %615 = load i32, ptr %228, align 4, !tbaa !5
  %616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %617 = call i32 @s2n_print_stacktrace(ptr noundef %616) #12
  %618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %619 = trunc nuw i8 %618 to i1
  br i1 %619, label %620, label %624

620:                                              ; preds = %614
  %621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %622 = call i32 @fileno(ptr noundef %621) #12
  %623 = call i32 @isatty(i32 noundef %622) #12
  %.not2250 = icmp eq i32 %623, 0
  br i1 %.not2250, label %624, label %625

624:                                              ; preds = %620, %614
  br label %625

625:                                              ; preds = %620, %624
  %.str.5.sink2460 = phi ptr [ @.str.5, %624 ], [ @.str.2, %620 ]
  store i32 %615, ptr %228, align 4, !tbaa !5
  %626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %627 = load i32, ptr @test_count, align 4, !tbaa !5
  %628 = load i32, ptr %174, align 4, !tbaa !5
  %629 = call ptr @s2n_strerror(i32 noundef %628, ptr noundef nonnull @.str.4) #12
  %630 = load i32, ptr %174, align 4, !tbaa !5
  %631 = call ptr @s2n_strerror_debug(i32 noundef %630, ptr noundef nonnull @.str.4) #12
  %632 = load i32, ptr %228, align 4, !tbaa !5
  %633 = call ptr @strerror(i32 noundef %632) #12
  %634 = load i32, ptr %228, align 4, !tbaa !5
  %635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %626, ptr noundef nonnull %.str.5.sink2460, i32 noundef %627, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %629, ptr noundef %631, ptr noundef %633, i32 noundef %634) #14
  call void @exit(i32 noundef 1) #15
  unreachable

636:                                              ; preds = %604
  %637 = add nsw i32 %611, 2
  store i32 %637, ptr @test_count, align 4, !tbaa !5
  %638 = call i32 @s2n_test_all_early_data_sequences(ptr noundef nonnull %610, i64 noundef 0, ptr noundef nonnull %8, i64 noundef 3)
  %639 = call zeroext i1 @s2n_result_is_ok(i32 %638)
  br i1 %639, label %662, label %640

640:                                              ; preds = %636
  %641 = load i32, ptr %228, align 4, !tbaa !5
  %642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %643 = call i32 @s2n_print_stacktrace(ptr noundef %642) #12
  %644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %645 = trunc nuw i8 %644 to i1
  br i1 %645, label %646, label %650

646:                                              ; preds = %640
  %647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %648 = call i32 @fileno(ptr noundef %647) #12
  %649 = call i32 @isatty(i32 noundef %648) #12
  %.not1694 = icmp eq i32 %649, 0
  br i1 %.not1694, label %650, label %651

650:                                              ; preds = %646, %640
  br label %651

651:                                              ; preds = %646, %650
  %.str.5.sink2469 = phi ptr [ @.str.5, %650 ], [ @.str.2, %646 ]
  store i32 %641, ptr %228, align 4, !tbaa !5
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = load i32, ptr @test_count, align 4, !tbaa !5
  %654 = load i32, ptr %174, align 4, !tbaa !5
  %655 = call ptr @s2n_strerror(i32 noundef %654, ptr noundef nonnull @.str.4) #12
  %656 = load i32, ptr %174, align 4, !tbaa !5
  %657 = call ptr @s2n_strerror_debug(i32 noundef %656, ptr noundef nonnull @.str.4) #12
  %658 = load i32, ptr %228, align 4, !tbaa !5
  %659 = call ptr @strerror(i32 noundef %658) #12
  %660 = load i32, ptr %228, align 4, !tbaa !5
  %661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %652, ptr noundef nonnull %.str.5.sink2469, i32 noundef %653, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %655, ptr noundef %657, ptr noundef %659, i32 noundef %660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

662:                                              ; preds = %636
  %663 = load i32, ptr @test_count, align 4, !tbaa !5
  %664 = add nsw i32 %663, 1
  store i32 %664, ptr @test_count, align 4, !tbaa !5
  %665 = call i32 @s2n_connection_free(ptr noundef nonnull %610) #12
  %666 = icmp eq i32 %665, -1
  br i1 %666, label %667, label %689

667:                                              ; preds = %662
  %668 = load i32, ptr %228, align 4, !tbaa !5
  %669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %670 = call i32 @s2n_print_stacktrace(ptr noundef %669) #12
  %671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %672 = trunc nuw i8 %671 to i1
  br i1 %672, label %673, label %677

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

677:                                              ; preds = %673, %667
  br label %678

678:                                              ; preds = %673, %677
  %.str.5.sink2478 = phi ptr [ @.str.5, %677 ], [ @.str.2, %673 ]
  store i32 %668, ptr %228, align 4, !tbaa !5
  %679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %680 = load i32, ptr @test_count, align 4, !tbaa !5
  %681 = load i32, ptr %174, align 4, !tbaa !5
  %682 = call ptr @s2n_strerror(i32 noundef %681, ptr noundef nonnull @.str.4) #12
  %683 = load i32, ptr %174, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror_debug(i32 noundef %683, ptr noundef nonnull @.str.4) #12
  %685 = load i32, ptr %228, align 4, !tbaa !5
  %686 = call ptr @strerror(i32 noundef %685) #12
  %687 = load i32, ptr %228, align 4, !tbaa !5
  %688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %679, ptr noundef nonnull %.str.5.sink2478, i32 noundef %680, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %682, ptr noundef %684, ptr noundef %686, i32 noundef %687) #14
  call void @exit(i32 noundef 1) #15
  unreachable

689:                                              ; preds = %662
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %9) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %9, ptr noundef nonnull align 4 dereferenceable(12) @__const.main.invalid_seq, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %10) #12
  store ptr %5, ptr %10, align 16, !tbaa !42
  %690 = getelementptr inbounds i8, ptr %10, i64 8
  store i64 2, ptr %690, align 8, !tbaa !44
  %691 = getelementptr inbounds i8, ptr %10, i64 16
  store ptr %6, ptr %691, align 16, !tbaa !42
  %692 = getelementptr inbounds i8, ptr %10, i64 24
  store i64 3, ptr %692, align 8, !tbaa !44
  %693 = getelementptr inbounds i8, ptr %10, i64 32
  store ptr %7, ptr %693, align 16, !tbaa !42
  %694 = getelementptr inbounds i8, ptr %10, i64 40
  store i64 4, ptr %694, align 8, !tbaa !44
  %695 = getelementptr inbounds i8, ptr %10, i64 48
  store ptr %9, ptr %695, align 16, !tbaa !42
  %696 = getelementptr inbounds i8, ptr %10, i64 56
  store i64 3, ptr %696, align 8, !tbaa !44
  %697 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %698 = load i32, ptr @test_count, align 4, !tbaa !5
  %699 = add nsw i32 %698, 1
  store i32 %699, ptr @test_count, align 4, !tbaa !5
  %700 = icmp eq ptr %697, null
  br i1 %700, label %701, label %723

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

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

711:                                              ; preds = %707, %701
  br label %712

712:                                              ; preds = %707, %711
  %.str.5.sink2487 = phi ptr [ @.str.5, %711 ], [ @.str.2, %707 ]
  store i32 %702, ptr %228, align 4, !tbaa !5
  %713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %714 = load i32, ptr @test_count, align 4, !tbaa !5
  %715 = load i32, ptr %174, align 4, !tbaa !5
  %716 = call ptr @s2n_strerror(i32 noundef %715, ptr noundef nonnull @.str.4) #12
  %717 = load i32, ptr %174, align 4, !tbaa !5
  %718 = call ptr @s2n_strerror_debug(i32 noundef %717, ptr noundef nonnull @.str.4) #12
  %719 = load i32, ptr %228, align 4, !tbaa !5
  %720 = call ptr @strerror(i32 noundef %719) #12
  %721 = load i32, ptr %228, align 4, !tbaa !5
  %722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %713, ptr noundef nonnull %.str.5.sink2487, i32 noundef %714, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %716, ptr noundef %718, ptr noundef %720, i32 noundef %721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

723:                                              ; preds = %689
  %724 = add nsw i32 %698, 2
  store i32 %724, ptr @test_count, align 4, !tbaa !5
  %725 = call i32 @s2n_test_all_early_data_sequences(ptr noundef nonnull %697, i64 noundef 0, ptr noundef nonnull %10, i64 noundef 4)
  %726 = call zeroext i1 @s2n_result_is_error(i32 %725)
  br i1 %726, label %749, label %727

727:                                              ; preds = %723
  %728 = load i32, ptr %228, align 4, !tbaa !5
  %729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %730 = call i32 @s2n_print_stacktrace(ptr noundef %729) #12
  %731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %732 = trunc nuw i8 %731 to i1
  br i1 %732, label %733, label %737

733:                                              ; preds = %727
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = call i32 @fileno(ptr noundef %734) #12
  %736 = call i32 @isatty(i32 noundef %735) #12
  %.not1695 = icmp eq i32 %736, 0
  br i1 %.not1695, label %737, label %738

737:                                              ; preds = %733, %727
  br label %738

738:                                              ; preds = %733, %737
  %.str.5.sink2496 = phi ptr [ @.str.5, %737 ], [ @.str.2, %733 ]
  store i32 %728, ptr %228, align 4, !tbaa !5
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = load i32, ptr @test_count, align 4, !tbaa !5
  %741 = load i32, ptr %174, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror(i32 noundef %741, ptr noundef nonnull @.str.4) #12
  %743 = load i32, ptr %174, align 4, !tbaa !5
  %744 = call ptr @s2n_strerror_debug(i32 noundef %743, ptr noundef nonnull @.str.4) #12
  %745 = load i32, ptr %228, align 4, !tbaa !5
  %746 = call ptr @strerror(i32 noundef %745) #12
  %747 = load i32, ptr %228, align 4, !tbaa !5
  %748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %739, ptr noundef nonnull %.str.5.sink2496, i32 noundef %740, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %742, ptr noundef %744, ptr noundef %746, i32 noundef %747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

749:                                              ; preds = %723
  %750 = load i32, ptr @test_count, align 4, !tbaa !5
  %751 = add nsw i32 %750, 1
  store i32 %751, ptr @test_count, align 4, !tbaa !5
  %752 = load i32, ptr %174, align 4, !tbaa !5
  %753 = icmp eq i32 %752, 0
  br i1 %753, label %754, label %776

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

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

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

765:                                              ; preds = %760, %764
  %.str.5.sink2505 = phi ptr [ @.str.5, %764 ], [ @.str.2, %760 ]
  store i32 %755, ptr %228, align 4, !tbaa !5
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = load i32, ptr %174, align 4, !tbaa !5
  %769 = call ptr @s2n_strerror(i32 noundef %768, ptr noundef nonnull @.str.4) #12
  %770 = load i32, ptr %174, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror_debug(i32 noundef %770, ptr noundef nonnull @.str.4) #12
  %772 = load i32, ptr %228, align 4, !tbaa !5
  %773 = call ptr @strerror(i32 noundef %772) #12
  %774 = load i32, ptr %228, align 4, !tbaa !5
  %775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %766, ptr noundef nonnull %.str.5.sink2505, i32 noundef %767, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %769, ptr noundef %771, ptr noundef %773, i32 noundef %774) #14
  call void @exit(i32 noundef 1) #15
  unreachable

776:                                              ; preds = %749
  %777 = add nsw i32 %750, 2
  store i32 %777, ptr @test_count, align 4, !tbaa !5
  %778 = call ptr @s2n_strerror_debug(i32 noundef %752, ptr noundef nonnull @.str.4) #12
  %779 = icmp eq ptr %778, null
  br i1 %779, label %780, label %802

780:                                              ; preds = %776
  %781 = load i32, ptr %228, align 4, !tbaa !5
  %782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %783 = call i32 @s2n_print_stacktrace(ptr noundef %782) #12
  %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 = %780
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = call i32 @fileno(ptr noundef %787) #12
  %789 = call i32 @isatty(i32 noundef %788) #12
  %.not2246 = icmp eq i32 %789, 0
  br i1 %.not2246, label %790, label %791

790:                                              ; preds = %786, %780
  br label %791

791:                                              ; preds = %786, %790
  %.str.5.sink2514 = phi ptr [ @.str.5, %790 ], [ @.str.2, %786 ]
  store i32 %781, ptr %228, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = load i32, ptr %174, align 4, !tbaa !5
  %795 = call ptr @s2n_strerror(i32 noundef %794, ptr noundef nonnull @.str.4) #12
  %796 = load i32, ptr %174, align 4, !tbaa !5
  %797 = call ptr @s2n_strerror_debug(i32 noundef %796, ptr noundef nonnull @.str.4) #12
  %798 = load i32, ptr %228, align 4, !tbaa !5
  %799 = call ptr @strerror(i32 noundef %798) #12
  %800 = load i32, ptr %228, align 4, !tbaa !5
  %801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %792, ptr noundef nonnull %.str.5.sink2514, i32 noundef %793, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %795, ptr noundef %797, ptr noundef %799, i32 noundef %800) #14
  call void @exit(i32 noundef 1) #15
  unreachable

802:                                              ; preds = %776
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = add nsw i32 %803, 1
  store i32 %804, ptr @test_count, align 4, !tbaa !5
  %805 = call i32 @s2n_connection_free(ptr noundef nonnull %697) #12
  %806 = icmp eq i32 %805, -1
  br i1 %806, label %807, label %829

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

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

817:                                              ; preds = %813, %807
  br label %818

818:                                              ; preds = %813, %817
  %.str.5.sink2523 = phi ptr [ @.str.5, %817 ], [ @.str.2, %813 ]
  store i32 %808, ptr %228, align 4, !tbaa !5
  %819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %820 = load i32, ptr @test_count, align 4, !tbaa !5
  %821 = load i32, ptr %174, align 4, !tbaa !5
  %822 = call ptr @s2n_strerror(i32 noundef %821, ptr noundef nonnull @.str.4) #12
  %823 = load i32, ptr %174, align 4, !tbaa !5
  %824 = call ptr @s2n_strerror_debug(i32 noundef %823, ptr noundef nonnull @.str.4) #12
  %825 = load i32, ptr %228, align 4, !tbaa !5
  %826 = call ptr @strerror(i32 noundef %825) #12
  %827 = load i32, ptr %228, align 4, !tbaa !5
  %828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %819, ptr noundef nonnull %.str.5.sink2523, i32 noundef %820, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 201, ptr noundef %822, ptr noundef %824, ptr noundef %826, i32 noundef %827) #14
  call void @exit(i32 noundef 1) #15
  unreachable

829:                                              ; preds = %802
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %9) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #12
  store ptr %5, ptr %11, align 16, !tbaa !42
  %830 = getelementptr inbounds i8, ptr %11, i64 8
  store i64 2, ptr %830, align 8, !tbaa !44
  %831 = getelementptr inbounds i8, ptr %11, i64 16
  store ptr %7, ptr %831, align 16, !tbaa !42
  %832 = getelementptr inbounds i8, ptr %11, i64 24
  store i64 4, ptr %832, align 8, !tbaa !44
  %833 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %834 = load i32, ptr @test_count, align 4, !tbaa !5
  %835 = add nsw i32 %834, 1
  store i32 %835, ptr @test_count, align 4, !tbaa !5
  %836 = icmp eq ptr %833, null
  br i1 %836, label %837, label %859

837:                                              ; preds = %829
  %838 = load i32, ptr %228, align 4, !tbaa !5
  %839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %840 = call i32 @s2n_print_stacktrace(ptr noundef %839) #12
  %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 = %837
  %844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %845 = call i32 @fileno(ptr noundef %844) #12
  %846 = call i32 @isatty(i32 noundef %845) #12
  %.not2244 = icmp eq i32 %846, 0
  br i1 %.not2244, label %847, label %848

847:                                              ; preds = %843, %837
  br label %848

848:                                              ; preds = %843, %847
  %.str.5.sink2532 = phi ptr [ @.str.5, %847 ], [ @.str.2, %843 ]
  store i32 %838, ptr %228, align 4, !tbaa !5
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = load i32, ptr @test_count, align 4, !tbaa !5
  %851 = load i32, ptr %174, align 4, !tbaa !5
  %852 = call ptr @s2n_strerror(i32 noundef %851, ptr noundef nonnull @.str.4) #12
  %853 = load i32, ptr %174, align 4, !tbaa !5
  %854 = call ptr @s2n_strerror_debug(i32 noundef %853, ptr noundef nonnull @.str.4) #12
  %855 = load i32, ptr %228, align 4, !tbaa !5
  %856 = call ptr @strerror(i32 noundef %855) #12
  %857 = load i32, ptr %228, align 4, !tbaa !5
  %858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %849, ptr noundef nonnull %.str.5.sink2532, i32 noundef %850, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %852, ptr noundef %854, ptr noundef %856, i32 noundef %857) #14
  call void @exit(i32 noundef 1) #15
  unreachable

859:                                              ; preds = %829
  %860 = add nsw i32 %834, 2
  store i32 %860, ptr @test_count, align 4, !tbaa !5
  %861 = call i32 @s2n_test_all_early_data_sequences(ptr noundef nonnull %833, i64 noundef 0, ptr noundef nonnull %11, i64 noundef 2)
  %862 = call zeroext i1 @s2n_result_is_error(i32 %861)
  br i1 %862, label %885, label %863

863:                                              ; preds = %859
  %864 = load i32, ptr %228, align 4, !tbaa !5
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = call i32 @s2n_print_stacktrace(ptr noundef %865) #12
  %867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %868 = trunc nuw i8 %867 to i1
  br i1 %868, label %869, label %873

869:                                              ; preds = %863
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = call i32 @fileno(ptr noundef %870) #12
  %872 = call i32 @isatty(i32 noundef %871) #12
  %.not1696 = icmp eq i32 %872, 0
  br i1 %.not1696, label %873, label %874

873:                                              ; preds = %869, %863
  br label %874

874:                                              ; preds = %869, %873
  %.str.5.sink2541 = phi ptr [ @.str.5, %873 ], [ @.str.2, %869 ]
  store i32 %864, ptr %228, align 4, !tbaa !5
  %875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %876 = load i32, ptr @test_count, align 4, !tbaa !5
  %877 = load i32, ptr %174, align 4, !tbaa !5
  %878 = call ptr @s2n_strerror(i32 noundef %877, ptr noundef nonnull @.str.4) #12
  %879 = load i32, ptr %174, align 4, !tbaa !5
  %880 = call ptr @s2n_strerror_debug(i32 noundef %879, ptr noundef nonnull @.str.4) #12
  %881 = load i32, ptr %228, align 4, !tbaa !5
  %882 = call ptr @strerror(i32 noundef %881) #12
  %883 = load i32, ptr %228, align 4, !tbaa !5
  %884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %875, ptr noundef nonnull %.str.5.sink2541, i32 noundef %876, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %878, ptr noundef %880, ptr noundef %882, i32 noundef %883) #14
  call void @exit(i32 noundef 1) #15
  unreachable

885:                                              ; preds = %859
  %886 = load i32, ptr @test_count, align 4, !tbaa !5
  %887 = add nsw i32 %886, 1
  store i32 %887, ptr @test_count, align 4, !tbaa !5
  %888 = load i32, ptr %174, align 4, !tbaa !5
  %889 = icmp eq i32 %888, 0
  br i1 %889, label %890, label %912

890:                                              ; preds = %885
  %891 = load i32, ptr %228, align 4, !tbaa !5
  %892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %893 = call i32 @s2n_print_stacktrace(ptr noundef %892) #12
  %894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %895 = trunc nuw i8 %894 to i1
  br i1 %895, label %896, label %900

896:                                              ; preds = %890
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = call i32 @fileno(ptr noundef %897) #12
  %899 = call i32 @isatty(i32 noundef %898) #12
  %.not2243 = icmp eq i32 %899, 0
  br i1 %.not2243, label %900, label %901

900:                                              ; preds = %896, %890
  br label %901

901:                                              ; preds = %896, %900
  %.str.5.sink2550 = phi ptr [ @.str.5, %900 ], [ @.str.2, %896 ]
  store i32 %891, ptr %228, align 4, !tbaa !5
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = load i32, ptr @test_count, align 4, !tbaa !5
  %904 = load i32, ptr %174, align 4, !tbaa !5
  %905 = call ptr @s2n_strerror(i32 noundef %904, ptr noundef nonnull @.str.4) #12
  %906 = load i32, ptr %174, align 4, !tbaa !5
  %907 = call ptr @s2n_strerror_debug(i32 noundef %906, ptr noundef nonnull @.str.4) #12
  %908 = load i32, ptr %228, align 4, !tbaa !5
  %909 = call ptr @strerror(i32 noundef %908) #12
  %910 = load i32, ptr %228, align 4, !tbaa !5
  %911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %902, ptr noundef nonnull %.str.5.sink2550, i32 noundef %903, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %905, ptr noundef %907, ptr noundef %909, i32 noundef %910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

912:                                              ; preds = %885
  %913 = add nsw i32 %886, 2
  store i32 %913, ptr @test_count, align 4, !tbaa !5
  %914 = call ptr @s2n_strerror_debug(i32 noundef %888, ptr noundef nonnull @.str.4) #12
  %915 = icmp eq ptr %914, null
  br i1 %915, label %916, label %938

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

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

926:                                              ; preds = %922, %916
  br label %927

927:                                              ; preds = %922, %926
  %.str.5.sink2559 = phi ptr [ @.str.5, %926 ], [ @.str.2, %922 ]
  store i32 %917, ptr %228, align 4, !tbaa !5
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = load i32, ptr %174, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef nonnull @.str.4) #12
  %932 = load i32, ptr %174, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror_debug(i32 noundef %932, ptr noundef nonnull @.str.4) #12
  %934 = load i32, ptr %228, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #12
  %936 = load i32, ptr %228, align 4, !tbaa !5
  %937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %928, ptr noundef nonnull %.str.5.sink2559, i32 noundef %929, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %931, ptr noundef %933, ptr noundef %935, i32 noundef %936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

938:                                              ; preds = %912
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %939 = load i32, ptr @test_count, align 4, !tbaa !5
  %940 = add nsw i32 %939, 1
  store i32 %940, ptr @test_count, align 4, !tbaa !5
  %941 = call i32 @s2n_connection_free(ptr noundef nonnull %833) #12
  %942 = icmp eq i32 %941, -1
  br i1 %942, label %943, label %965

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

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

953:                                              ; preds = %949, %943
  br label %954

954:                                              ; preds = %949, %953
  %.str.5.sink2568 = phi ptr [ @.str.5, %953 ], [ @.str.2, %949 ]
  store i32 %944, ptr %228, align 4, !tbaa !5
  %955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %956 = load i32, ptr @test_count, align 4, !tbaa !5
  %957 = load i32, ptr %174, align 4, !tbaa !5
  %958 = call ptr @s2n_strerror(i32 noundef %957, ptr noundef nonnull @.str.4) #12
  %959 = load i32, ptr %174, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror_debug(i32 noundef %959, ptr noundef nonnull @.str.4) #12
  %961 = load i32, ptr %228, align 4, !tbaa !5
  %962 = call ptr @strerror(i32 noundef %961) #12
  %963 = load i32, ptr %228, align 4, !tbaa !5
  %964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %955, ptr noundef nonnull %.str.5.sink2568, i32 noundef %956, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %958, ptr noundef %960, ptr noundef %962, i32 noundef %963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

965:                                              ; preds = %938
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  %966 = load i32, ptr @test_count, align 4, !tbaa !5
  %967 = add nsw i32 %966, 1
  store i32 %967, ptr @test_count, align 4, !tbaa !5
  %968 = call i32 @s2n_early_data_config_free(ptr noundef null) #12
  %969 = call zeroext i1 @s2n_result_is_ok(i32 %968)
  br i1 %969, label %992, label %970

970:                                              ; preds = %965
  %971 = load i32, ptr %228, align 4, !tbaa !5
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @s2n_print_stacktrace(ptr noundef %972) #12
  %974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %975 = trunc nuw i8 %974 to i1
  br i1 %975, label %976, label %980

976:                                              ; preds = %970
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = call i32 @fileno(ptr noundef %977) #12
  %979 = call i32 @isatty(i32 noundef %978) #12
  %.not1697 = icmp eq i32 %979, 0
  br i1 %.not1697, label %980, label %981

980:                                              ; preds = %976, %970
  br label %981

981:                                              ; preds = %976, %980
  %.str.5.sink2577 = phi ptr [ @.str.5, %980 ], [ @.str.2, %976 ]
  store i32 %971, ptr %228, align 4, !tbaa !5
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = load i32, ptr @test_count, align 4, !tbaa !5
  %984 = load i32, ptr %174, align 4, !tbaa !5
  %985 = call ptr @s2n_strerror(i32 noundef %984, ptr noundef nonnull @.str.4) #12
  %986 = load i32, ptr %174, align 4, !tbaa !5
  %987 = call ptr @s2n_strerror_debug(i32 noundef %986, ptr noundef nonnull @.str.4) #12
  %988 = load i32, ptr %228, align 4, !tbaa !5
  %989 = call ptr @strerror(i32 noundef %988) #12
  %990 = load i32, ptr %228, align 4, !tbaa !5
  %991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %982, ptr noundef nonnull %.str.5.sink2577, i32 noundef %983, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %985, ptr noundef %987, ptr noundef %989, i32 noundef %990) #14
  call void @exit(i32 noundef 1) #15
  unreachable

992:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %12) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %12, i8 0, i64 64, i1 false)
  %993 = load i32, ptr @test_count, align 4, !tbaa !5
  %994 = add nsw i32 %993, 1
  store i32 %994, ptr @test_count, align 4, !tbaa !5
  %995 = call i32 @s2n_alloc_test_config_buffers(ptr noundef nonnull %12)
  %996 = call zeroext i1 @s2n_result_is_ok(i32 %995)
  br i1 %996, label %1019, label %997

997:                                              ; preds = %992
  %998 = load i32, ptr %228, align 4, !tbaa !5
  %999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1000 = call i32 @s2n_print_stacktrace(ptr noundef %999) #12
  %1001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1002 = trunc nuw i8 %1001 to i1
  br i1 %1002, label %1003, label %1007

1003:                                             ; preds = %997
  %1004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1005 = call i32 @fileno(ptr noundef %1004) #12
  %1006 = call i32 @isatty(i32 noundef %1005) #12
  %.not1698 = icmp eq i32 %1006, 0
  br i1 %.not1698, label %1007, label %1008

1007:                                             ; preds = %1003, %997
  br label %1008

1008:                                             ; preds = %1003, %1007
  %.str.5.sink2586 = phi ptr [ @.str.5, %1007 ], [ @.str.2, %1003 ]
  store i32 %998, ptr %228, align 4, !tbaa !5
  %1009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1010 = load i32, ptr @test_count, align 4, !tbaa !5
  %1011 = load i32, ptr %174, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror(i32 noundef %1011, ptr noundef nonnull @.str.4) #12
  %1013 = load i32, ptr %174, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror_debug(i32 noundef %1013, ptr noundef nonnull @.str.4) #12
  %1015 = load i32, ptr %228, align 4, !tbaa !5
  %1016 = call ptr @strerror(i32 noundef %1015) #12
  %1017 = load i32, ptr %228, align 4, !tbaa !5
  %1018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1009, ptr noundef nonnull %.str.5.sink2586, i32 noundef %1010, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %1012, ptr noundef %1014, ptr noundef %1016, i32 noundef %1017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1019:                                             ; preds = %992
  %1020 = load i32, ptr @test_count, align 4, !tbaa !5
  %1021 = add nsw i32 %1020, 1
  store i32 %1021, ptr @test_count, align 4, !tbaa !5
  %1022 = call i32 @s2n_early_data_config_free(ptr noundef nonnull %12) #12
  %1023 = call zeroext i1 @s2n_result_is_ok(i32 %1022)
  br i1 %1023, label %1046, label %1024

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

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

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

1035:                                             ; preds = %1030, %1034
  %.str.5.sink2595 = phi ptr [ @.str.5, %1034 ], [ @.str.2, %1030 ]
  store i32 %1025, ptr %228, align 4, !tbaa !5
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = load i32, ptr %174, align 4, !tbaa !5
  %1039 = call ptr @s2n_strerror(i32 noundef %1038, ptr noundef nonnull @.str.4) #12
  %1040 = load i32, ptr %174, align 4, !tbaa !5
  %1041 = call ptr @s2n_strerror_debug(i32 noundef %1040, ptr noundef nonnull @.str.4) #12
  %1042 = load i32, ptr %228, align 4, !tbaa !5
  %1043 = call ptr @strerror(i32 noundef %1042) #12
  %1044 = load i32, ptr %228, align 4, !tbaa !5
  %1045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1036, ptr noundef nonnull %.str.5.sink2595, i32 noundef %1037, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %1039, ptr noundef %1041, ptr noundef %1043, i32 noundef %1044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1046:                                             ; preds = %1019
  %1047 = load i32, ptr @test_count, align 4, !tbaa !5
  %1048 = add nsw i32 %1047, 1
  store i32 %1048, ptr @test_count, align 4, !tbaa !5
  %1049 = call i32 @s2n_test_config_buffers_freed(ptr noundef nonnull %12)
  %1050 = call zeroext i1 @s2n_result_is_ok(i32 %1049)
  br i1 %1050, label %1073, label %1051

1051:                                             ; preds = %1046
  %1052 = load i32, ptr %228, align 4, !tbaa !5
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = call i32 @s2n_print_stacktrace(ptr noundef %1053) #12
  %1055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1056 = trunc nuw i8 %1055 to i1
  br i1 %1056, label %1057, label %1061

1057:                                             ; preds = %1051
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = call i32 @fileno(ptr noundef %1058) #12
  %1060 = call i32 @isatty(i32 noundef %1059) #12
  %.not1700 = icmp eq i32 %1060, 0
  br i1 %.not1700, label %1061, label %1062

1061:                                             ; preds = %1057, %1051
  br label %1062

1062:                                             ; preds = %1057, %1061
  %.str.5.sink2604 = phi ptr [ @.str.5, %1061 ], [ @.str.2, %1057 ]
  store i32 %1052, ptr %228, align 4, !tbaa !5
  %1063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1064 = load i32, ptr @test_count, align 4, !tbaa !5
  %1065 = load i32, ptr %174, align 4, !tbaa !5
  %1066 = call ptr @s2n_strerror(i32 noundef %1065, ptr noundef nonnull @.str.4) #12
  %1067 = load i32, ptr %174, align 4, !tbaa !5
  %1068 = call ptr @s2n_strerror_debug(i32 noundef %1067, ptr noundef nonnull @.str.4) #12
  %1069 = load i32, ptr %228, align 4, !tbaa !5
  %1070 = call ptr @strerror(i32 noundef %1069) #12
  %1071 = load i32, ptr %228, align 4, !tbaa !5
  %1072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1063, ptr noundef nonnull %.str.5.sink2604, i32 noundef %1064, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %1066, ptr noundef %1068, ptr noundef %1070, i32 noundef %1071) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1073:                                             ; preds = %1046
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %12) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %13) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %13, i8 0, i64 168, i1 false)
  %1074 = load i32, ptr @test_count, align 4, !tbaa !5
  %1075 = add nsw i32 %1074, 1
  store i32 %1075, ptr @test_count, align 4, !tbaa !5
  %1076 = getelementptr inbounds i8, ptr %13, i64 96
  %1077 = call i32 @s2n_alloc_test_config_buffers(ptr noundef nonnull %1076)
  %1078 = call zeroext i1 @s2n_result_is_ok(i32 %1077)
  br i1 %1078, label %1101, label %1079

1079:                                             ; preds = %1073
  %1080 = load i32, ptr %228, align 4, !tbaa !5
  %1081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1082 = call i32 @s2n_print_stacktrace(ptr noundef %1081) #12
  %1083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1084 = trunc nuw i8 %1083 to i1
  br i1 %1084, label %1085, label %1089

1085:                                             ; preds = %1079
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = call i32 @fileno(ptr noundef %1086) #12
  %1088 = call i32 @isatty(i32 noundef %1087) #12
  %.not1701 = icmp eq i32 %1088, 0
  br i1 %.not1701, label %1089, label %1090

1089:                                             ; preds = %1085, %1079
  br label %1090

1090:                                             ; preds = %1085, %1089
  %.str.5.sink2613 = phi ptr [ @.str.5, %1089 ], [ @.str.2, %1085 ]
  store i32 %1080, ptr %228, align 4, !tbaa !5
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = load i32, ptr @test_count, align 4, !tbaa !5
  %1093 = load i32, ptr %174, align 4, !tbaa !5
  %1094 = call ptr @s2n_strerror(i32 noundef %1093, ptr noundef nonnull @.str.4) #12
  %1095 = load i32, ptr %174, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror_debug(i32 noundef %1095, ptr noundef nonnull @.str.4) #12
  %1097 = load i32, ptr %228, align 4, !tbaa !5
  %1098 = call ptr @strerror(i32 noundef %1097) #12
  %1099 = load i32, ptr %228, align 4, !tbaa !5
  %1100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1091, ptr noundef nonnull %.str.5.sink2613, i32 noundef %1092, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %1094, ptr noundef %1096, ptr noundef %1098, i32 noundef %1099) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1101:                                             ; preds = %1073
  %1102 = load i32, ptr @test_count, align 4, !tbaa !5
  %1103 = add nsw i32 %1102, 1
  store i32 %1103, ptr @test_count, align 4, !tbaa !5
  %1104 = call i32 @s2n_psk_wipe(ptr noundef nonnull %13) #12
  %1105 = call zeroext i1 @s2n_result_is_ok(i32 %1104)
  br i1 %1105, label %1128, label %1106

1106:                                             ; preds = %1101
  %1107 = load i32, ptr %228, align 4, !tbaa !5
  %1108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1109 = call i32 @s2n_print_stacktrace(ptr noundef %1108) #12
  %1110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1111 = trunc nuw i8 %1110 to i1
  br i1 %1111, label %1112, label %1116

1112:                                             ; preds = %1106
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @fileno(ptr noundef %1113) #12
  %1115 = call i32 @isatty(i32 noundef %1114) #12
  %.not1702 = icmp eq i32 %1115, 0
  br i1 %.not1702, label %1116, label %1117

1116:                                             ; preds = %1112, %1106
  br label %1117

1117:                                             ; preds = %1112, %1116
  %.str.5.sink2622 = phi ptr [ @.str.5, %1116 ], [ @.str.2, %1112 ]
  store i32 %1107, ptr %228, align 4, !tbaa !5
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = load i32, ptr @test_count, align 4, !tbaa !5
  %1120 = load i32, ptr %174, align 4, !tbaa !5
  %1121 = call ptr @s2n_strerror(i32 noundef %1120, ptr noundef nonnull @.str.4) #12
  %1122 = load i32, ptr %174, align 4, !tbaa !5
  %1123 = call ptr @s2n_strerror_debug(i32 noundef %1122, ptr noundef nonnull @.str.4) #12
  %1124 = load i32, ptr %228, align 4, !tbaa !5
  %1125 = call ptr @strerror(i32 noundef %1124) #12
  %1126 = load i32, ptr %228, align 4, !tbaa !5
  %1127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1118, ptr noundef nonnull %.str.5.sink2622, i32 noundef %1119, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %1121, ptr noundef %1123, ptr noundef %1125, i32 noundef %1126) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1128:                                             ; preds = %1101
  %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_test_config_buffers_freed(ptr noundef nonnull %1076)
  %1132 = call zeroext i1 @s2n_result_is_ok(i32 %1131)
  br i1 %1132, label %1155, label %1133

1133:                                             ; preds = %1128
  %1134 = load i32, ptr %228, align 4, !tbaa !5
  %1135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1136 = call i32 @s2n_print_stacktrace(ptr noundef %1135) #12
  %1137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1138 = trunc nuw i8 %1137 to i1
  br i1 %1138, label %1139, label %1143

1139:                                             ; preds = %1133
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @fileno(ptr noundef %1140) #12
  %1142 = call i32 @isatty(i32 noundef %1141) #12
  %.not1703 = icmp eq i32 %1142, 0
  br i1 %.not1703, label %1143, label %1144

1143:                                             ; preds = %1139, %1133
  br label %1144

1144:                                             ; preds = %1139, %1143
  %.str.5.sink2631 = phi ptr [ @.str.5, %1143 ], [ @.str.2, %1139 ]
  store i32 %1134, ptr %228, align 4, !tbaa !5
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = load i32, ptr @test_count, align 4, !tbaa !5
  %1147 = load i32, ptr %174, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror(i32 noundef %1147, ptr noundef nonnull @.str.4) #12
  %1149 = load i32, ptr %174, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror_debug(i32 noundef %1149, ptr noundef nonnull @.str.4) #12
  %1151 = load i32, ptr %228, align 4, !tbaa !5
  %1152 = call ptr @strerror(i32 noundef %1151) #12
  %1153 = load i32, ptr %228, align 4, !tbaa !5
  %1154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1145, ptr noundef nonnull %.str.5.sink2631, i32 noundef %1146, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %1148, ptr noundef %1150, ptr noundef %1152, i32 noundef %1153) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1155:                                             ; preds = %1128
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %13) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  %1156 = call ptr @s2n_external_psk_new() #12
  store ptr %1156, ptr %14, align 8, !tbaa !9
  %1157 = load i32, ptr @test_count, align 4, !tbaa !5
  %1158 = add nsw i32 %1157, 1
  store i32 %1158, ptr @test_count, align 4, !tbaa !5
  %1159 = getelementptr inbounds i8, ptr %1156, i64 96
  %1160 = call i32 @s2n_alloc_test_config_buffers(ptr noundef nonnull %1159)
  %1161 = call zeroext i1 @s2n_result_is_ok(i32 %1160)
  br i1 %1161, label %1184, label %1162

1162:                                             ; preds = %1155
  %1163 = load i32, ptr %228, align 4, !tbaa !5
  %1164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1165 = call i32 @s2n_print_stacktrace(ptr noundef %1164) #12
  %1166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1167 = trunc nuw i8 %1166 to i1
  br i1 %1167, label %1168, label %1172

1168:                                             ; preds = %1162
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = call i32 @fileno(ptr noundef %1169) #12
  %1171 = call i32 @isatty(i32 noundef %1170) #12
  %.not1704 = icmp eq i32 %1171, 0
  br i1 %.not1704, label %1172, label %1173

1172:                                             ; preds = %1168, %1162
  br label %1173

1173:                                             ; preds = %1168, %1172
  %.str.5.sink2640 = phi ptr [ @.str.5, %1172 ], [ @.str.2, %1168 ]
  store i32 %1163, ptr %228, align 4, !tbaa !5
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = load i32, ptr @test_count, align 4, !tbaa !5
  %1176 = load i32, ptr %174, align 4, !tbaa !5
  %1177 = call ptr @s2n_strerror(i32 noundef %1176, ptr noundef nonnull @.str.4) #12
  %1178 = load i32, ptr %174, align 4, !tbaa !5
  %1179 = call ptr @s2n_strerror_debug(i32 noundef %1178, ptr noundef nonnull @.str.4) #12
  %1180 = load i32, ptr %228, align 4, !tbaa !5
  %1181 = call ptr @strerror(i32 noundef %1180) #12
  %1182 = load i32, ptr %228, align 4, !tbaa !5
  %1183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1174, ptr noundef nonnull %.str.5.sink2640, i32 noundef %1175, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %1177, ptr noundef %1179, ptr noundef %1181, i32 noundef %1182) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1184:                                             ; preds = %1155
  %1185 = load i32, ptr @test_count, align 4, !tbaa !5
  %1186 = add nsw i32 %1185, 1
  store i32 %1186, ptr @test_count, align 4, !tbaa !5
  %1187 = call i32 @s2n_psk_free(ptr noundef nonnull %14) #12
  %1188 = icmp eq i32 %1187, -1
  br i1 %1188, label %1189, label %1211

1189:                                             ; preds = %1184
  %1190 = load i32, ptr %228, align 4, !tbaa !5
  %1191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1192 = call i32 @s2n_print_stacktrace(ptr noundef %1191) #12
  %1193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1194 = trunc nuw i8 %1193 to i1
  br i1 %1194, label %1195, label %1199

1195:                                             ; preds = %1189
  %1196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1197 = call i32 @fileno(ptr noundef %1196) #12
  %1198 = call i32 @isatty(i32 noundef %1197) #12
  %.not2240 = icmp eq i32 %1198, 0
  br i1 %.not2240, label %1199, label %1200

1199:                                             ; preds = %1195, %1189
  br label %1200

1200:                                             ; preds = %1195, %1199
  %.str.5.sink2649 = phi ptr [ @.str.5, %1199 ], [ @.str.2, %1195 ]
  store i32 %1190, ptr %228, align 4, !tbaa !5
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = load i32, ptr @test_count, align 4, !tbaa !5
  %1203 = load i32, ptr %174, align 4, !tbaa !5
  %1204 = call ptr @s2n_strerror(i32 noundef %1203, ptr noundef nonnull @.str.4) #12
  %1205 = load i32, ptr %174, align 4, !tbaa !5
  %1206 = call ptr @s2n_strerror_debug(i32 noundef %1205, ptr noundef nonnull @.str.4) #12
  %1207 = load i32, ptr %228, align 4, !tbaa !5
  %1208 = call ptr @strerror(i32 noundef %1207) #12
  %1209 = load i32, ptr %228, align 4, !tbaa !5
  %1210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1201, ptr noundef nonnull %.str.5.sink2649, i32 noundef %1202, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %1204, ptr noundef %1206, ptr noundef %1208, i32 noundef %1209) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1211:                                             ; preds = %1184
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  %1212 = load i32, ptr @test_count, align 4, !tbaa !5
  %1213 = add nsw i32 %1212, 1
  store i32 %1213, ptr @test_count, align 4, !tbaa !5
  %1214 = call i32 @s2n_psk_configure_early_data(ptr noundef null, i32 noundef 10, i8 noundef zeroext 1, i8 noundef zeroext 1) #12
  %1215 = icmp eq i32 %1214, -1
  br i1 %1215, label %1238, label %1216

1216:                                             ; preds = %1211
  %1217 = load i32, ptr %228, align 4, !tbaa !5
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = call i32 @s2n_print_stacktrace(ptr noundef %1218) #12
  %1220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1221 = trunc nuw i8 %1220 to i1
  br i1 %1221, label %1222, label %1226

1222:                                             ; preds = %1216
  %1223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1224 = call i32 @fileno(ptr noundef %1223) #12
  %1225 = call i32 @isatty(i32 noundef %1224) #12
  %.not1705 = icmp eq i32 %1225, 0
  br i1 %.not1705, label %1226, label %1227

1226:                                             ; preds = %1222, %1216
  br label %1227

1227:                                             ; preds = %1222, %1226
  %.str.5.sink2658 = phi ptr [ @.str.5, %1226 ], [ @.str.2, %1222 ]
  store i32 %1217, ptr %228, align 4, !tbaa !5
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = load i32, ptr @test_count, align 4, !tbaa !5
  %1230 = load i32, ptr %174, align 4, !tbaa !5
  %1231 = call ptr @s2n_strerror(i32 noundef %1230, ptr noundef nonnull @.str.4) #12
  %1232 = load i32, ptr %174, align 4, !tbaa !5
  %1233 = call ptr @s2n_strerror_debug(i32 noundef %1232, ptr noundef nonnull @.str.4) #12
  %1234 = load i32, ptr %228, align 4, !tbaa !5
  %1235 = call ptr @strerror(i32 noundef %1234) #12
  %1236 = load i32, ptr %228, align 4, !tbaa !5
  %1237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1228, ptr noundef nonnull %.str.5.sink2658, i32 noundef %1229, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %1231, ptr noundef %1233, ptr noundef %1235, i32 noundef %1236) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1238:                                             ; preds = %1211
  %1239 = load i32, ptr @test_count, align 4, !tbaa !5
  %1240 = add nsw i32 %1239, 1
  store i32 %1240, ptr @test_count, align 4, !tbaa !5
  %1241 = load i32, ptr %174, align 4, !tbaa !5
  %1242 = icmp eq i32 %1241, 402653193
  br i1 %1242, label %1265, label %1243

1243:                                             ; preds = %1238
  %1244 = load i32, ptr %228, align 4, !tbaa !5
  %1245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1246 = call i32 @s2n_print_stacktrace(ptr noundef %1245) #12
  %1247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1248 = trunc nuw i8 %1247 to i1
  br i1 %1248, label %1249, label %1253

1249:                                             ; preds = %1243
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = call i32 @fileno(ptr noundef %1250) #12
  %1252 = call i32 @isatty(i32 noundef %1251) #12
  %.not1706 = icmp eq i32 %1252, 0
  br i1 %.not1706, label %1253, label %1254

1253:                                             ; preds = %1249, %1243
  br label %1254

1254:                                             ; preds = %1249, %1253
  %.str.5.sink2667 = phi ptr [ @.str.5, %1253 ], [ @.str.2, %1249 ]
  store i32 %1244, ptr %228, align 4, !tbaa !5
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1256 = load i32, ptr @test_count, align 4, !tbaa !5
  %1257 = load i32, ptr %174, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror(i32 noundef %1257, ptr noundef nonnull @.str.4) #12
  %1259 = load i32, ptr %174, align 4, !tbaa !5
  %1260 = call ptr @s2n_strerror_debug(i32 noundef %1259, ptr noundef nonnull @.str.4) #12
  %1261 = load i32, ptr %228, align 4, !tbaa !5
  %1262 = call ptr @strerror(i32 noundef %1261) #12
  %1263 = load i32, ptr %228, align 4, !tbaa !5
  %1264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1255, ptr noundef nonnull %.str.5.sink2667, i32 noundef %1256, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %1258, ptr noundef %1260, ptr noundef %1262, i32 noundef %1263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1265:                                             ; preds = %1238
  %1266 = add nsw i32 %1239, 2
  store i32 %1266, ptr @test_count, align 4, !tbaa !5
  %1267 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1268 = icmp eq ptr %1267, null
  br i1 %1268, label %1269, label %1291

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

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

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

1280:                                             ; preds = %1275, %1279
  %.str.5.sink2676 = phi ptr [ @.str.5, %1279 ], [ @.str.2, %1275 ]
  store i32 %1270, ptr %228, align 4, !tbaa !5
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1282 = load i32, ptr @test_count, align 4, !tbaa !5
  %1283 = load i32, ptr %174, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror(i32 noundef %1283, ptr noundef nonnull @.str.4) #12
  %1285 = load i32, ptr %174, align 4, !tbaa !5
  %1286 = call ptr @s2n_strerror_debug(i32 noundef %1285, ptr noundef nonnull @.str.4) #12
  %1287 = load i32, ptr %228, align 4, !tbaa !5
  %1288 = call ptr @strerror(i32 noundef %1287) #12
  %1289 = load i32, ptr %228, align 4, !tbaa !5
  %1290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1281, ptr noundef nonnull %.str.5.sink2676, i32 noundef %1282, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %1284, ptr noundef %1286, ptr noundef %1288, i32 noundef %1289) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1291:                                             ; preds = %1265
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  %1292 = call ptr @s2n_external_psk_new() #12
  store ptr %1292, ptr %15, align 8, !tbaa !9
  %1293 = load i32, ptr @test_count, align 4, !tbaa !5
  %1294 = add nsw i32 %1293, 1
  store i32 %1294, ptr @test_count, align 4, !tbaa !5
  %1295 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_128_gcm_sha256, i64 24), align 8, !tbaa !45
  %1296 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_128_gcm_sha256, i64 25), align 1, !tbaa !45
  %1297 = call i32 @s2n_psk_configure_early_data(ptr noundef %1292, i32 noundef 1000, i8 noundef zeroext %1295, i8 noundef zeroext %1296) #12
  %1298 = icmp eq i32 %1297, -1
  br i1 %1298, label %1299, label %1321

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

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

1309:                                             ; preds = %1305, %1299
  br label %1310

1310:                                             ; preds = %1305, %1309
  %.str.5.sink2685 = phi ptr [ @.str.5, %1309 ], [ @.str.2, %1305 ]
  store i32 %1300, ptr %228, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = load i32, ptr @test_count, align 4, !tbaa !5
  %1313 = load i32, ptr %174, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror(i32 noundef %1313, ptr noundef nonnull @.str.4) #12
  %1315 = load i32, ptr %174, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror_debug(i32 noundef %1315, ptr noundef nonnull @.str.4) #12
  %1317 = load i32, ptr %228, align 4, !tbaa !5
  %1318 = call ptr @strerror(i32 noundef %1317) #12
  %1319 = load i32, ptr %228, align 4, !tbaa !5
  %1320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1311, ptr noundef nonnull %.str.5.sink2685, i32 noundef %1312, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %1314, ptr noundef %1316, ptr noundef %1318, i32 noundef %1319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1321:                                             ; preds = %1291
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = add nsw i32 %1322, 1
  store i32 %1323, ptr @test_count, align 4, !tbaa !5
  %1324 = load ptr, ptr %15, align 8, !tbaa !9
  %1325 = getelementptr inbounds i8, ptr %1324, i64 96
  %1326 = load i32, ptr %1325, align 8, !tbaa !46
  %1327 = icmp eq i32 %1326, 1000
  br i1 %1327, label %1350, label %1328

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

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

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

1339:                                             ; preds = %1334, %1338
  %.str.5.sink2694 = phi ptr [ @.str.5, %1338 ], [ @.str.2, %1334 ]
  store i32 %1329, ptr %228, align 4, !tbaa !5
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  %1342 = load i32, ptr %174, align 4, !tbaa !5
  %1343 = call ptr @s2n_strerror(i32 noundef %1342, ptr noundef nonnull @.str.4) #12
  %1344 = load i32, ptr %174, align 4, !tbaa !5
  %1345 = call ptr @s2n_strerror_debug(i32 noundef %1344, ptr noundef nonnull @.str.4) #12
  %1346 = load i32, ptr %228, align 4, !tbaa !5
  %1347 = call ptr @strerror(i32 noundef %1346) #12
  %1348 = load i32, ptr %228, align 4, !tbaa !5
  %1349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1340, ptr noundef nonnull %.str.5.sink2694, i32 noundef %1341, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %1343, ptr noundef %1345, ptr noundef %1347, i32 noundef %1348) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1350:                                             ; preds = %1321
  %1351 = add nsw i32 %1322, 2
  store i32 %1351, ptr @test_count, align 4, !tbaa !5
  %1352 = getelementptr inbounds i8, ptr %1324, i64 100
  %1353 = load i8, ptr %1352, align 4, !tbaa !49
  %1354 = icmp eq i8 %1353, 34
  br i1 %1354, label %1377, label %1355

1355:                                             ; preds = %1350
  %1356 = load i32, ptr %228, align 4, !tbaa !5
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = call i32 @s2n_print_stacktrace(ptr noundef %1357) #12
  %1359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1360 = trunc nuw i8 %1359 to i1
  br i1 %1360, label %1361, label %1365

1361:                                             ; preds = %1355
  %1362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1363 = call i32 @fileno(ptr noundef %1362) #12
  %1364 = call i32 @isatty(i32 noundef %1363) #12
  %.not1708 = icmp eq i32 %1364, 0
  br i1 %.not1708, label %1365, label %1366

1365:                                             ; preds = %1361, %1355
  br label %1366

1366:                                             ; preds = %1361, %1365
  %.str.5.sink2703 = phi ptr [ @.str.5, %1365 ], [ @.str.2, %1361 ]
  store i32 %1356, ptr %228, align 4, !tbaa !5
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = load i32, ptr @test_count, align 4, !tbaa !5
  %1369 = load i32, ptr %174, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror(i32 noundef %1369, ptr noundef nonnull @.str.4) #12
  %1371 = load i32, ptr %174, align 4, !tbaa !5
  %1372 = call ptr @s2n_strerror_debug(i32 noundef %1371, ptr noundef nonnull @.str.4) #12
  %1373 = load i32, ptr %228, align 4, !tbaa !5
  %1374 = call ptr @strerror(i32 noundef %1373) #12
  %1375 = load i32, ptr %228, align 4, !tbaa !5
  %1376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1367, ptr noundef nonnull %.str.5.sink2703, i32 noundef %1368, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %1370, ptr noundef %1372, ptr noundef %1374, i32 noundef %1375) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1377:                                             ; preds = %1350
  %1378 = add nsw i32 %1322, 3
  store i32 %1378, ptr @test_count, align 4, !tbaa !5
  %1379 = getelementptr inbounds i8, ptr %1324, i64 104
  %1380 = load ptr, ptr %1379, align 8, !tbaa !50
  %1381 = icmp eq ptr %1380, @s2n_tls13_aes_128_gcm_sha256
  br i1 %1381, label %1404, label %1382

1382:                                             ; preds = %1377
  %1383 = load i32, ptr %228, align 4, !tbaa !5
  %1384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1385 = call i32 @s2n_print_stacktrace(ptr noundef %1384) #12
  %1386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1387 = trunc nuw i8 %1386 to i1
  br i1 %1387, label %1388, label %1392

1388:                                             ; preds = %1382
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @fileno(ptr noundef %1389) #12
  %1391 = call i32 @isatty(i32 noundef %1390) #12
  %.not1709 = icmp eq i32 %1391, 0
  br i1 %.not1709, label %1392, label %1393

1392:                                             ; preds = %1388, %1382
  br label %1393

1393:                                             ; preds = %1388, %1392
  %.str.5.sink2712 = phi ptr [ @.str.5, %1392 ], [ @.str.2, %1388 ]
  store i32 %1383, ptr %228, align 4, !tbaa !5
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = load i32, ptr @test_count, align 4, !tbaa !5
  %1396 = load i32, ptr %174, align 4, !tbaa !5
  %1397 = call ptr @s2n_strerror(i32 noundef %1396, ptr noundef nonnull @.str.4) #12
  %1398 = load i32, ptr %174, align 4, !tbaa !5
  %1399 = call ptr @s2n_strerror_debug(i32 noundef %1398, ptr noundef nonnull @.str.4) #12
  %1400 = load i32, ptr %228, align 4, !tbaa !5
  %1401 = call ptr @strerror(i32 noundef %1400) #12
  %1402 = load i32, ptr %228, align 4, !tbaa !5
  %1403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1394, ptr noundef nonnull %.str.5.sink2712, i32 noundef %1395, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %1397, ptr noundef %1399, ptr noundef %1401, i32 noundef %1402) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1404:                                             ; preds = %1377
  %1405 = call i32 @s2n_psk_free(ptr noundef nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  %1406 = call ptr @s2n_external_psk_new() #12
  store ptr %1406, ptr %16, align 8, !tbaa !9
  %1407 = load i32, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_256_gcm_sha384, i64 96), align 8, !tbaa !51
  %1408 = add i32 %1407, 1
  %1409 = getelementptr inbounds i8, ptr %1406, i64 56
  store i32 %1408, ptr %1409, align 8, !tbaa !53
  %1410 = load i32, ptr @test_count, align 4, !tbaa !5
  %1411 = add nsw i32 %1410, 1
  store i32 %1411, ptr @test_count, align 4, !tbaa !5
  %1412 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_256_gcm_sha384, i64 24), align 8, !tbaa !45
  %1413 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_256_gcm_sha384, i64 25), align 1, !tbaa !45
  %1414 = call i32 @s2n_psk_configure_early_data(ptr noundef %1406, i32 noundef 10, i8 noundef zeroext %1412, i8 noundef zeroext %1413) #12
  %1415 = icmp eq i32 %1414, -1
  br i1 %1415, label %1438, label %1416

1416:                                             ; preds = %1404
  %1417 = load i32, ptr %228, align 4, !tbaa !5
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1419 = call i32 @s2n_print_stacktrace(ptr noundef %1418) #12
  %1420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1421 = trunc nuw i8 %1420 to i1
  br i1 %1421, label %1422, label %1426

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

1426:                                             ; preds = %1422, %1416
  br label %1427

1427:                                             ; preds = %1422, %1426
  %.str.5.sink2721 = phi ptr [ @.str.5, %1426 ], [ @.str.2, %1422 ]
  store i32 %1417, ptr %228, align 4, !tbaa !5
  %1428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1429 = load i32, ptr @test_count, align 4, !tbaa !5
  %1430 = load i32, ptr %174, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror(i32 noundef %1430, ptr noundef nonnull @.str.4) #12
  %1432 = load i32, ptr %174, align 4, !tbaa !5
  %1433 = call ptr @s2n_strerror_debug(i32 noundef %1432, ptr noundef nonnull @.str.4) #12
  %1434 = load i32, ptr %228, align 4, !tbaa !5
  %1435 = call ptr @strerror(i32 noundef %1434) #12
  %1436 = load i32, ptr %228, align 4, !tbaa !5
  %1437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1428, ptr noundef nonnull %.str.5.sink2721, i32 noundef %1429, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %1431, ptr noundef %1433, ptr noundef %1435, i32 noundef %1436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1438:                                             ; preds = %1404
  %1439 = load i32, ptr @test_count, align 4, !tbaa !5
  %1440 = add nsw i32 %1439, 1
  store i32 %1440, ptr @test_count, align 4, !tbaa !5
  %1441 = load i32, ptr %174, align 4, !tbaa !5
  %1442 = icmp eq i32 %1441, 469762089
  br i1 %1442, label %1465, label %1443

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

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

1453:                                             ; preds = %1449, %1443
  br label %1454

1454:                                             ; preds = %1449, %1453
  %.str.5.sink2730 = phi ptr [ @.str.5, %1453 ], [ @.str.2, %1449 ]
  store i32 %1444, ptr %228, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = load i32, ptr %174, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror(i32 noundef %1457, ptr noundef nonnull @.str.4) #12
  %1459 = load i32, ptr %174, align 4, !tbaa !5
  %1460 = call ptr @s2n_strerror_debug(i32 noundef %1459, ptr noundef nonnull @.str.4) #12
  %1461 = load i32, ptr %228, align 4, !tbaa !5
  %1462 = call ptr @strerror(i32 noundef %1461) #12
  %1463 = load i32, ptr %228, align 4, !tbaa !5
  %1464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef nonnull %.str.5.sink2730, i32 noundef %1456, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %1458, ptr noundef %1460, ptr noundef %1462, i32 noundef %1463) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1465:                                             ; preds = %1438
  %1466 = add nsw i32 %1439, 2
  store i32 %1466, ptr @test_count, align 4, !tbaa !5
  %1467 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.4) #12
  %1468 = icmp eq ptr %1467, null
  br i1 %1468, label %1469, label %1491

1469:                                             ; preds = %1465
  %1470 = load i32, ptr %228, align 4, !tbaa !5
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = call i32 @s2n_print_stacktrace(ptr noundef %1471) #12
  %1473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1474 = trunc nuw i8 %1473 to i1
  br i1 %1474, label %1475, label %1479

1475:                                             ; preds = %1469
  %1476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1477 = call i32 @fileno(ptr noundef %1476) #12
  %1478 = call i32 @isatty(i32 noundef %1477) #12
  %.not2237 = icmp eq i32 %1478, 0
  br i1 %.not2237, label %1479, label %1480

1479:                                             ; preds = %1475, %1469
  br label %1480

1480:                                             ; preds = %1475, %1479
  %.str.5.sink2739 = phi ptr [ @.str.5, %1479 ], [ @.str.2, %1475 ]
  store i32 %1470, ptr %228, align 4, !tbaa !5
  %1481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1482 = load i32, ptr @test_count, align 4, !tbaa !5
  %1483 = load i32, ptr %174, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror(i32 noundef %1483, ptr noundef nonnull @.str.4) #12
  %1485 = load i32, ptr %174, align 4, !tbaa !5
  %1486 = call ptr @s2n_strerror_debug(i32 noundef %1485, ptr noundef nonnull @.str.4) #12
  %1487 = load i32, ptr %228, align 4, !tbaa !5
  %1488 = call ptr @strerror(i32 noundef %1487) #12
  %1489 = load i32, ptr %228, align 4, !tbaa !5
  %1490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef nonnull %.str.5.sink2739, i32 noundef %1482, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %1484, ptr noundef %1486, ptr noundef %1488, i32 noundef %1489) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1491:                                             ; preds = %1465
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %1492 = load i32, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_256_gcm_sha384, i64 96), align 8, !tbaa !51
  %1493 = load ptr, ptr %16, align 8, !tbaa !9
  %1494 = getelementptr inbounds i8, ptr %1493, i64 56
  store i32 %1492, ptr %1494, align 8, !tbaa !53
  %1495 = load i32, ptr @test_count, align 4, !tbaa !5
  %1496 = add nsw i32 %1495, 1
  store i32 %1496, ptr @test_count, align 4, !tbaa !5
  %1497 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_256_gcm_sha384, i64 24), align 8, !tbaa !45
  %1498 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_256_gcm_sha384, i64 25), align 1, !tbaa !45
  %1499 = call i32 @s2n_psk_configure_early_data(ptr noundef %1493, i32 noundef 10, i8 noundef zeroext %1497, i8 noundef zeroext %1498) #12
  %1500 = icmp eq i32 %1499, -1
  br i1 %1500, label %1501, label %1523

1501:                                             ; preds = %1491
  %1502 = load i32, ptr %228, align 4, !tbaa !5
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = call i32 @s2n_print_stacktrace(ptr noundef %1503) #12
  %1505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1506 = trunc nuw i8 %1505 to i1
  br i1 %1506, label %1507, label %1511

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

1511:                                             ; preds = %1507, %1501
  br label %1512

1512:                                             ; preds = %1507, %1511
  %.str.5.sink2748 = phi ptr [ @.str.5, %1511 ], [ @.str.2, %1507 ]
  store i32 %1502, ptr %228, align 4, !tbaa !5
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = load i32, ptr @test_count, align 4, !tbaa !5
  %1515 = load i32, ptr %174, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror(i32 noundef %1515, ptr noundef nonnull @.str.4) #12
  %1517 = load i32, ptr %174, align 4, !tbaa !5
  %1518 = call ptr @s2n_strerror_debug(i32 noundef %1517, ptr noundef nonnull @.str.4) #12
  %1519 = load i32, ptr %228, align 4, !tbaa !5
  %1520 = call ptr @strerror(i32 noundef %1519) #12
  %1521 = load i32, ptr %228, align 4, !tbaa !5
  %1522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1513, ptr noundef nonnull %.str.5.sink2748, i32 noundef %1514, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %1516, ptr noundef %1518, ptr noundef %1520, i32 noundef %1521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1523:                                             ; preds = %1491
  %1524 = load i32, ptr @test_count, align 4, !tbaa !5
  %1525 = add nsw i32 %1524, 1
  store i32 %1525, ptr @test_count, align 4, !tbaa !5
  %1526 = load ptr, ptr %16, align 8, !tbaa !9
  %1527 = getelementptr inbounds i8, ptr %1526, i64 104
  %1528 = load ptr, ptr %1527, align 8, !tbaa !50
  %1529 = icmp eq ptr %1528, @s2n_tls13_aes_256_gcm_sha384
  br i1 %1529, label %1552, label %1530

1530:                                             ; preds = %1523
  %1531 = load i32, ptr %228, align 4, !tbaa !5
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = call i32 @s2n_print_stacktrace(ptr noundef %1532) #12
  %1534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1535 = trunc nuw i8 %1534 to i1
  br i1 %1535, label %1536, label %1540

1536:                                             ; preds = %1530
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = call i32 @fileno(ptr noundef %1537) #12
  %1539 = call i32 @isatty(i32 noundef %1538) #12
  %.not1712 = icmp eq i32 %1539, 0
  br i1 %.not1712, label %1540, label %1541

1540:                                             ; preds = %1536, %1530
  br label %1541

1541:                                             ; preds = %1536, %1540
  %.str.5.sink2757 = phi ptr [ @.str.5, %1540 ], [ @.str.2, %1536 ]
  store i32 %1531, ptr %228, align 4, !tbaa !5
  %1542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1543 = load i32, ptr @test_count, align 4, !tbaa !5
  %1544 = load i32, ptr %174, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror(i32 noundef %1544, ptr noundef nonnull @.str.4) #12
  %1546 = load i32, ptr %174, align 4, !tbaa !5
  %1547 = call ptr @s2n_strerror_debug(i32 noundef %1546, ptr noundef nonnull @.str.4) #12
  %1548 = load i32, ptr %228, align 4, !tbaa !5
  %1549 = call ptr @strerror(i32 noundef %1548) #12
  %1550 = load i32, ptr %228, align 4, !tbaa !5
  %1551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1542, ptr noundef nonnull %.str.5.sink2757, i32 noundef %1543, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %1545, ptr noundef %1547, ptr noundef %1549, i32 noundef %1550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1552:                                             ; preds = %1523
  %1553 = call i32 @s2n_psk_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %17) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %17, i8 0, i64 168, i1 false)
  %1554 = load i32, ptr @test_count, align 4, !tbaa !5
  %1555 = add nsw i32 %1554, 1
  store i32 %1555, ptr @test_count, align 4, !tbaa !5
  %1556 = call i32 @s2n_psk_set_application_protocol(ptr noundef nonnull %17, ptr noundef null, i8 noundef zeroext 1) #12
  %1557 = icmp eq i32 %1556, -1
  br i1 %1557, label %1580, label %1558

1558:                                             ; preds = %1552
  %1559 = load i32, ptr %228, align 4, !tbaa !5
  %1560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1561 = call i32 @s2n_print_stacktrace(ptr noundef %1560) #12
  %1562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1563 = trunc nuw i8 %1562 to i1
  br i1 %1563, label %1564, label %1568

1564:                                             ; preds = %1558
  %1565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1566 = call i32 @fileno(ptr noundef %1565) #12
  %1567 = call i32 @isatty(i32 noundef %1566) #12
  %.not1713 = icmp eq i32 %1567, 0
  br i1 %.not1713, label %1568, label %1569

1568:                                             ; preds = %1564, %1558
  br label %1569

1569:                                             ; preds = %1564, %1568
  %.str.5.sink2766 = phi ptr [ @.str.5, %1568 ], [ @.str.2, %1564 ]
  store i32 %1559, ptr %228, align 4, !tbaa !5
  %1570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1571 = load i32, ptr @test_count, align 4, !tbaa !5
  %1572 = load i32, ptr %174, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror(i32 noundef %1572, ptr noundef nonnull @.str.4) #12
  %1574 = load i32, ptr %174, align 4, !tbaa !5
  %1575 = call ptr @s2n_strerror_debug(i32 noundef %1574, ptr noundef nonnull @.str.4) #12
  %1576 = load i32, ptr %228, align 4, !tbaa !5
  %1577 = call ptr @strerror(i32 noundef %1576) #12
  %1578 = load i32, ptr %228, align 4, !tbaa !5
  %1579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1570, ptr noundef nonnull %.str.5.sink2766, i32 noundef %1571, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %1573, ptr noundef %1575, ptr noundef %1577, i32 noundef %1578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1580:                                             ; preds = %1552
  %1581 = load i32, ptr @test_count, align 4, !tbaa !5
  %1582 = add nsw i32 %1581, 1
  store i32 %1582, ptr @test_count, align 4, !tbaa !5
  %1583 = load i32, ptr %174, align 4, !tbaa !5
  %1584 = icmp eq i32 %1583, 402653193
  br i1 %1584, label %1607, label %1585

1585:                                             ; preds = %1580
  %1586 = load i32, ptr %228, align 4, !tbaa !5
  %1587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1588 = call i32 @s2n_print_stacktrace(ptr noundef %1587) #12
  %1589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1590 = trunc nuw i8 %1589 to i1
  br i1 %1590, label %1591, label %1595

1591:                                             ; preds = %1585
  %1592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1593 = call i32 @fileno(ptr noundef %1592) #12
  %1594 = call i32 @isatty(i32 noundef %1593) #12
  %.not1714 = icmp eq i32 %1594, 0
  br i1 %.not1714, label %1595, label %1596

1595:                                             ; preds = %1591, %1585
  br label %1596

1596:                                             ; preds = %1591, %1595
  %.str.5.sink2775 = phi ptr [ @.str.5, %1595 ], [ @.str.2, %1591 ]
  store i32 %1586, ptr %228, align 4, !tbaa !5
  %1597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1598 = load i32, ptr @test_count, align 4, !tbaa !5
  %1599 = load i32, ptr %174, align 4, !tbaa !5
  %1600 = call ptr @s2n_strerror(i32 noundef %1599, ptr noundef nonnull @.str.4) #12
  %1601 = load i32, ptr %174, align 4, !tbaa !5
  %1602 = call ptr @s2n_strerror_debug(i32 noundef %1601, ptr noundef nonnull @.str.4) #12
  %1603 = load i32, ptr %228, align 4, !tbaa !5
  %1604 = call ptr @strerror(i32 noundef %1603) #12
  %1605 = load i32, ptr %228, align 4, !tbaa !5
  %1606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1597, ptr noundef nonnull %.str.5.sink2775, i32 noundef %1598, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %1600, ptr noundef %1602, ptr noundef %1604, i32 noundef %1605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1607:                                             ; preds = %1580
  %1608 = add nsw i32 %1581, 2
  store i32 %1608, ptr @test_count, align 4, !tbaa !5
  %1609 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1610 = icmp eq ptr %1609, null
  br i1 %1610, label %1611, label %1633

1611:                                             ; preds = %1607
  %1612 = load i32, ptr %228, align 4, !tbaa !5
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = call i32 @s2n_print_stacktrace(ptr noundef %1613) #12
  %1615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1616 = trunc nuw i8 %1615 to i1
  br i1 %1616, label %1617, label %1621

1617:                                             ; preds = %1611
  %1618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1619 = call i32 @fileno(ptr noundef %1618) #12
  %1620 = call i32 @isatty(i32 noundef %1619) #12
  %.not2235 = icmp eq i32 %1620, 0
  br i1 %.not2235, label %1621, label %1622

1621:                                             ; preds = %1617, %1611
  br label %1622

1622:                                             ; preds = %1617, %1621
  %.str.5.sink2784 = phi ptr [ @.str.5, %1621 ], [ @.str.2, %1617 ]
  store i32 %1612, ptr %228, align 4, !tbaa !5
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = load i32, ptr @test_count, align 4, !tbaa !5
  %1625 = load i32, ptr %174, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror(i32 noundef %1625, ptr noundef nonnull @.str.4) #12
  %1627 = load i32, ptr %174, align 4, !tbaa !5
  %1628 = call ptr @s2n_strerror_debug(i32 noundef %1627, ptr noundef nonnull @.str.4) #12
  %1629 = load i32, ptr %228, align 4, !tbaa !5
  %1630 = call ptr @strerror(i32 noundef %1629) #12
  %1631 = load i32, ptr %228, align 4, !tbaa !5
  %1632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1623, ptr noundef nonnull %.str.5.sink2784, i32 noundef %1624, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %1626, ptr noundef %1628, ptr noundef %1630, i32 noundef %1631) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1633:                                             ; preds = %1607
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %1634 = load i32, ptr @test_count, align 4, !tbaa !5
  %1635 = add nsw i32 %1634, 1
  store i32 %1635, ptr @test_count, align 4, !tbaa !5
  %1636 = call i32 @s2n_psk_set_application_protocol(ptr noundef null, ptr noundef nonnull %3, i8 noundef zeroext 1) #12
  %1637 = icmp eq i32 %1636, -1
  br i1 %1637, label %1660, label %1638

1638:                                             ; preds = %1633
  %1639 = load i32, ptr %228, align 4, !tbaa !5
  %1640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1641 = call i32 @s2n_print_stacktrace(ptr noundef %1640) #12
  %1642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1643 = trunc nuw i8 %1642 to i1
  br i1 %1643, label %1644, label %1648

1644:                                             ; preds = %1638
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @fileno(ptr noundef %1645) #12
  %1647 = call i32 @isatty(i32 noundef %1646) #12
  %.not1715 = icmp eq i32 %1647, 0
  br i1 %.not1715, label %1648, label %1649

1648:                                             ; preds = %1644, %1638
  br label %1649

1649:                                             ; preds = %1644, %1648
  %.str.5.sink2793 = phi ptr [ @.str.5, %1648 ], [ @.str.2, %1644 ]
  store i32 %1639, ptr %228, align 4, !tbaa !5
  %1650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1651 = load i32, ptr @test_count, align 4, !tbaa !5
  %1652 = load i32, ptr %174, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror(i32 noundef %1652, ptr noundef nonnull @.str.4) #12
  %1654 = load i32, ptr %174, align 4, !tbaa !5
  %1655 = call ptr @s2n_strerror_debug(i32 noundef %1654, ptr noundef nonnull @.str.4) #12
  %1656 = load i32, ptr %228, align 4, !tbaa !5
  %1657 = call ptr @strerror(i32 noundef %1656) #12
  %1658 = load i32, ptr %228, align 4, !tbaa !5
  %1659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1650, ptr noundef nonnull %.str.5.sink2793, i32 noundef %1651, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %1653, ptr noundef %1655, ptr noundef %1657, i32 noundef %1658) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1660:                                             ; preds = %1633
  %1661 = load i32, ptr @test_count, align 4, !tbaa !5
  %1662 = add nsw i32 %1661, 1
  store i32 %1662, ptr @test_count, align 4, !tbaa !5
  %1663 = load i32, ptr %174, align 4, !tbaa !5
  %1664 = icmp eq i32 %1663, 402653193
  br i1 %1664, label %1687, label %1665

1665:                                             ; preds = %1660
  %1666 = load i32, ptr %228, align 4, !tbaa !5
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = call i32 @s2n_print_stacktrace(ptr noundef %1667) #12
  %1669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1670 = trunc nuw i8 %1669 to i1
  br i1 %1670, label %1671, label %1675

1671:                                             ; preds = %1665
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = call i32 @fileno(ptr noundef %1672) #12
  %1674 = call i32 @isatty(i32 noundef %1673) #12
  %.not1716 = icmp eq i32 %1674, 0
  br i1 %.not1716, label %1675, label %1676

1675:                                             ; preds = %1671, %1665
  br label %1676

1676:                                             ; preds = %1671, %1675
  %.str.5.sink2802 = phi ptr [ @.str.5, %1675 ], [ @.str.2, %1671 ]
  store i32 %1666, ptr %228, align 4, !tbaa !5
  %1677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1678 = load i32, ptr @test_count, align 4, !tbaa !5
  %1679 = load i32, ptr %174, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror(i32 noundef %1679, ptr noundef nonnull @.str.4) #12
  %1681 = load i32, ptr %174, align 4, !tbaa !5
  %1682 = call ptr @s2n_strerror_debug(i32 noundef %1681, ptr noundef nonnull @.str.4) #12
  %1683 = load i32, ptr %228, align 4, !tbaa !5
  %1684 = call ptr @strerror(i32 noundef %1683) #12
  %1685 = load i32, ptr %228, align 4, !tbaa !5
  %1686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1677, ptr noundef nonnull %.str.5.sink2802, i32 noundef %1678, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %1680, ptr noundef %1682, ptr noundef %1684, i32 noundef %1685) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1687:                                             ; preds = %1660
  %1688 = add nsw i32 %1661, 2
  store i32 %1688, ptr @test_count, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1690 = icmp eq ptr %1689, null
  br i1 %1690, label %1691, label %1713

1691:                                             ; preds = %1687
  %1692 = load i32, ptr %228, align 4, !tbaa !5
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = call i32 @s2n_print_stacktrace(ptr noundef %1693) #12
  %1695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1696 = trunc nuw i8 %1695 to i1
  br i1 %1696, label %1697, label %1701

1697:                                             ; preds = %1691
  %1698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1699 = call i32 @fileno(ptr noundef %1698) #12
  %1700 = call i32 @isatty(i32 noundef %1699) #12
  %.not2234 = icmp eq i32 %1700, 0
  br i1 %.not2234, label %1701, label %1702

1701:                                             ; preds = %1697, %1691
  br label %1702

1702:                                             ; preds = %1697, %1701
  %.str.5.sink2811 = phi ptr [ @.str.5, %1701 ], [ @.str.2, %1697 ]
  store i32 %1692, ptr %228, align 4, !tbaa !5
  %1703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1704 = load i32, ptr @test_count, align 4, !tbaa !5
  %1705 = load i32, ptr %174, align 4, !tbaa !5
  %1706 = call ptr @s2n_strerror(i32 noundef %1705, ptr noundef nonnull @.str.4) #12
  %1707 = load i32, ptr %174, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror_debug(i32 noundef %1707, ptr noundef nonnull @.str.4) #12
  %1709 = load i32, ptr %228, align 4, !tbaa !5
  %1710 = call ptr @strerror(i32 noundef %1709) #12
  %1711 = load i32, ptr %228, align 4, !tbaa !5
  %1712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1703, ptr noundef nonnull %.str.5.sink2811, i32 noundef %1704, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %1706, ptr noundef %1708, ptr noundef %1710, i32 noundef %1711) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1713:                                             ; preds = %1687
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %17) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  %1714 = call ptr @s2n_external_psk_new() #12
  store ptr %1714, ptr %18, 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 = getelementptr inbounds i8, ptr %1714, i64 120
  %1718 = load i32, ptr %1717, align 8, !tbaa !54
  %1719 = icmp eq i32 %1718, 0
  br i1 %1719, label %1742, label %1720

1720:                                             ; preds = %1713
  %1721 = load i32, ptr %228, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = call i32 @s2n_print_stacktrace(ptr noundef %1722) #12
  %1724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1725 = trunc nuw i8 %1724 to i1
  br i1 %1725, label %1726, label %1730

1726:                                             ; preds = %1720
  %1727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1728 = call i32 @fileno(ptr noundef %1727) #12
  %1729 = call i32 @isatty(i32 noundef %1728) #12
  %.not1717 = icmp eq i32 %1729, 0
  br i1 %.not1717, label %1730, label %1731

1730:                                             ; preds = %1726, %1720
  br label %1731

1731:                                             ; preds = %1726, %1730
  %.str.5.sink2820 = phi ptr [ @.str.5, %1730 ], [ @.str.2, %1726 ]
  store i32 %1721, ptr %228, align 4, !tbaa !5
  %1732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1733 = load i32, ptr @test_count, align 4, !tbaa !5
  %1734 = load i32, ptr %174, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror(i32 noundef %1734, ptr noundef nonnull @.str.4) #12
  %1736 = load i32, ptr %174, align 4, !tbaa !5
  %1737 = call ptr @s2n_strerror_debug(i32 noundef %1736, ptr noundef nonnull @.str.4) #12
  %1738 = load i32, ptr %228, align 4, !tbaa !5
  %1739 = call ptr @strerror(i32 noundef %1738) #12
  %1740 = load i32, ptr %228, align 4, !tbaa !5
  %1741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1732, ptr noundef nonnull %.str.5.sink2820, i32 noundef %1733, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %1735, ptr noundef %1737, ptr noundef %1739, i32 noundef %1740) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1742:                                             ; preds = %1713
  %1743 = add nsw i32 %1715, 2
  store i32 %1743, ptr @test_count, align 4, !tbaa !5
  %1744 = getelementptr inbounds i8, ptr %1714, i64 124
  %1745 = load i32, ptr %1744, align 4, !tbaa !55
  %1746 = icmp eq i32 %1745, 0
  br i1 %1746, label %1769, label %1747

1747:                                             ; preds = %1742
  %1748 = load i32, ptr %228, align 4, !tbaa !5
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1750 = call i32 @s2n_print_stacktrace(ptr noundef %1749) #12
  %1751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1752 = trunc nuw i8 %1751 to i1
  br i1 %1752, label %1753, label %1757

1753:                                             ; preds = %1747
  %1754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1755 = call i32 @fileno(ptr noundef %1754) #12
  %1756 = call i32 @isatty(i32 noundef %1755) #12
  %.not1718 = icmp eq i32 %1756, 0
  br i1 %.not1718, label %1757, label %1758

1757:                                             ; preds = %1753, %1747
  br label %1758

1758:                                             ; preds = %1753, %1757
  %.str.5.sink2829 = phi ptr [ @.str.5, %1757 ], [ @.str.2, %1753 ]
  store i32 %1748, ptr %228, align 4, !tbaa !5
  %1759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1760 = load i32, ptr @test_count, align 4, !tbaa !5
  %1761 = load i32, ptr %174, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror(i32 noundef %1761, ptr noundef nonnull @.str.4) #12
  %1763 = load i32, ptr %174, align 4, !tbaa !5
  %1764 = call ptr @s2n_strerror_debug(i32 noundef %1763, ptr noundef nonnull @.str.4) #12
  %1765 = load i32, ptr %228, align 4, !tbaa !5
  %1766 = call ptr @strerror(i32 noundef %1765) #12
  %1767 = load i32, ptr %228, align 4, !tbaa !5
  %1768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1759, ptr noundef nonnull %.str.5.sink2829, i32 noundef %1760, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %1762, ptr noundef %1764, ptr noundef %1766, i32 noundef %1767) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1769:                                             ; preds = %1742
  %1770 = add nsw i32 %1715, 3
  store i32 %1770, ptr @test_count, align 4, !tbaa !5
  %1771 = call i32 @s2n_psk_set_application_protocol(ptr noundef nonnull %1714, ptr noundef nonnull %3, i8 noundef zeroext 0) #12
  %1772 = icmp eq i32 %1771, -1
  br i1 %1772, label %1773, label %1795

1773:                                             ; preds = %1769
  %1774 = load i32, ptr %228, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = call i32 @s2n_print_stacktrace(ptr noundef %1775) #12
  %1777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1778 = trunc nuw i8 %1777 to i1
  br i1 %1778, label %1779, label %1783

1779:                                             ; preds = %1773
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @fileno(ptr noundef %1780) #12
  %1782 = call i32 @isatty(i32 noundef %1781) #12
  %.not2233 = icmp eq i32 %1782, 0
  br i1 %.not2233, label %1783, label %1784

1783:                                             ; preds = %1779, %1773
  br label %1784

1784:                                             ; preds = %1779, %1783
  %.str.5.sink2838 = phi ptr [ @.str.5, %1783 ], [ @.str.2, %1779 ]
  store i32 %1774, ptr %228, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = load i32, ptr %174, align 4, !tbaa !5
  %1788 = call ptr @s2n_strerror(i32 noundef %1787, ptr noundef nonnull @.str.4) #12
  %1789 = load i32, ptr %174, align 4, !tbaa !5
  %1790 = call ptr @s2n_strerror_debug(i32 noundef %1789, ptr noundef nonnull @.str.4) #12
  %1791 = load i32, ptr %228, align 4, !tbaa !5
  %1792 = call ptr @strerror(i32 noundef %1791) #12
  %1793 = load i32, ptr %228, align 4, !tbaa !5
  %1794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1785, ptr noundef nonnull %.str.5.sink2838, i32 noundef %1786, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %1788, ptr noundef %1790, ptr noundef %1792, i32 noundef %1793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1795:                                             ; preds = %1769
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = add nsw i32 %1796, 1
  store i32 %1797, ptr @test_count, align 4, !tbaa !5
  %1798 = load ptr, ptr %18, align 8, !tbaa !9
  %1799 = getelementptr inbounds i8, ptr %1798, i64 120
  %1800 = load i32, ptr %1799, align 8, !tbaa !54
  %1801 = icmp eq i32 %1800, 0
  br i1 %1801, label %1824, label %1802

1802:                                             ; preds = %1795
  %1803 = load i32, ptr %228, align 4, !tbaa !5
  %1804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1805 = call i32 @s2n_print_stacktrace(ptr noundef %1804) #12
  %1806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1807 = trunc nuw i8 %1806 to i1
  br i1 %1807, label %1808, label %1812

1808:                                             ; preds = %1802
  %1809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1810 = call i32 @fileno(ptr noundef %1809) #12
  %1811 = call i32 @isatty(i32 noundef %1810) #12
  %.not1719 = icmp eq i32 %1811, 0
  br i1 %.not1719, label %1812, label %1813

1812:                                             ; preds = %1808, %1802
  br label %1813

1813:                                             ; preds = %1808, %1812
  %.str.5.sink2847 = phi ptr [ @.str.5, %1812 ], [ @.str.2, %1808 ]
  store i32 %1803, ptr %228, align 4, !tbaa !5
  %1814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1815 = load i32, ptr @test_count, align 4, !tbaa !5
  %1816 = load i32, ptr %174, align 4, !tbaa !5
  %1817 = call ptr @s2n_strerror(i32 noundef %1816, ptr noundef nonnull @.str.4) #12
  %1818 = load i32, ptr %174, align 4, !tbaa !5
  %1819 = call ptr @s2n_strerror_debug(i32 noundef %1818, ptr noundef nonnull @.str.4) #12
  %1820 = load i32, ptr %228, align 4, !tbaa !5
  %1821 = call ptr @strerror(i32 noundef %1820) #12
  %1822 = load i32, ptr %228, align 4, !tbaa !5
  %1823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1814, ptr noundef nonnull %.str.5.sink2847, i32 noundef %1815, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %1817, ptr noundef %1819, ptr noundef %1821, i32 noundef %1822) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1824:                                             ; preds = %1795
  %1825 = add nsw i32 %1796, 2
  store i32 %1825, ptr @test_count, align 4, !tbaa !5
  %1826 = getelementptr inbounds i8, ptr %1798, i64 124
  %1827 = load i32, ptr %1826, align 4, !tbaa !55
  %1828 = icmp eq i32 %1827, 0
  br i1 %1828, label %1851, label %1829

1829:                                             ; preds = %1824
  %1830 = load i32, ptr %228, align 4, !tbaa !5
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = call i32 @s2n_print_stacktrace(ptr noundef %1831) #12
  %1833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1834 = trunc nuw i8 %1833 to i1
  br i1 %1834, label %1835, label %1839

1835:                                             ; preds = %1829
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = call i32 @fileno(ptr noundef %1836) #12
  %1838 = call i32 @isatty(i32 noundef %1837) #12
  %.not1720 = icmp eq i32 %1838, 0
  br i1 %.not1720, label %1839, label %1840

1839:                                             ; preds = %1835, %1829
  br label %1840

1840:                                             ; preds = %1835, %1839
  %.str.5.sink2856 = phi ptr [ @.str.5, %1839 ], [ @.str.2, %1835 ]
  store i32 %1830, ptr %228, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = load i32, ptr %174, align 4, !tbaa !5
  %1844 = call ptr @s2n_strerror(i32 noundef %1843, ptr noundef nonnull @.str.4) #12
  %1845 = load i32, ptr %174, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror_debug(i32 noundef %1845, ptr noundef nonnull @.str.4) #12
  %1847 = load i32, ptr %228, align 4, !tbaa !5
  %1848 = call ptr @strerror(i32 noundef %1847) #12
  %1849 = load i32, ptr %228, align 4, !tbaa !5
  %1850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1841, ptr noundef nonnull %.str.5.sink2856, i32 noundef %1842, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %1844, ptr noundef %1846, ptr noundef %1848, i32 noundef %1849) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1851:                                             ; preds = %1824
  %1852 = add nsw i32 %1796, 3
  store i32 %1852, ptr @test_count, align 4, !tbaa !5
  %1853 = call i32 @s2n_psk_set_application_protocol(ptr noundef nonnull %1798, ptr noundef nonnull %3, i8 noundef zeroext 11) #12
  %1854 = icmp eq i32 %1853, -1
  br i1 %1854, label %1855, label %1877

1855:                                             ; preds = %1851
  %1856 = load i32, ptr %228, align 4, !tbaa !5
  %1857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1858 = call i32 @s2n_print_stacktrace(ptr noundef %1857) #12
  %1859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1860 = trunc nuw i8 %1859 to i1
  br i1 %1860, label %1861, label %1865

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

1865:                                             ; preds = %1861, %1855
  br label %1866

1866:                                             ; preds = %1861, %1865
  %.str.5.sink2865 = phi ptr [ @.str.5, %1865 ], [ @.str.2, %1861 ]
  store i32 %1856, ptr %228, align 4, !tbaa !5
  %1867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1868 = load i32, ptr @test_count, align 4, !tbaa !5
  %1869 = load i32, ptr %174, align 4, !tbaa !5
  %1870 = call ptr @s2n_strerror(i32 noundef %1869, ptr noundef nonnull @.str.4) #12
  %1871 = load i32, ptr %174, align 4, !tbaa !5
  %1872 = call ptr @s2n_strerror_debug(i32 noundef %1871, ptr noundef nonnull @.str.4) #12
  %1873 = load i32, ptr %228, align 4, !tbaa !5
  %1874 = call ptr @strerror(i32 noundef %1873) #12
  %1875 = load i32, ptr %228, align 4, !tbaa !5
  %1876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1867, ptr noundef nonnull %.str.5.sink2865, i32 noundef %1868, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %1870, ptr noundef %1872, ptr noundef %1874, i32 noundef %1875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1877:                                             ; preds = %1851
  %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 %18, align 8, !tbaa !9
  %1881 = getelementptr inbounds i8, ptr %1880, i64 120
  %1882 = load i32, ptr %1881, align 8, !tbaa !54
  %1883 = icmp eq i32 %1882, 11
  br i1 %1883, label %1906, label %1884

1884:                                             ; preds = %1877
  %1885 = load i32, ptr %228, align 4, !tbaa !5
  %1886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1887 = call i32 @s2n_print_stacktrace(ptr noundef %1886) #12
  %1888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1889 = trunc nuw i8 %1888 to i1
  br i1 %1889, label %1890, label %1894

1890:                                             ; preds = %1884
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @fileno(ptr noundef %1891) #12
  %1893 = call i32 @isatty(i32 noundef %1892) #12
  %.not1721 = icmp eq i32 %1893, 0
  br i1 %.not1721, label %1894, label %1895

1894:                                             ; preds = %1890, %1884
  br label %1895

1895:                                             ; preds = %1890, %1894
  %.str.5.sink2874 = phi ptr [ @.str.5, %1894 ], [ @.str.2, %1890 ]
  store i32 %1885, ptr %228, align 4, !tbaa !5
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = load i32, ptr @test_count, align 4, !tbaa !5
  %1898 = load i32, ptr %174, align 4, !tbaa !5
  %1899 = call ptr @s2n_strerror(i32 noundef %1898, ptr noundef nonnull @.str.4) #12
  %1900 = load i32, ptr %174, align 4, !tbaa !5
  %1901 = call ptr @s2n_strerror_debug(i32 noundef %1900, ptr noundef nonnull @.str.4) #12
  %1902 = load i32, ptr %228, align 4, !tbaa !5
  %1903 = call ptr @strerror(i32 noundef %1902) #12
  %1904 = load i32, ptr %228, align 4, !tbaa !5
  %1905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1896, ptr noundef nonnull %.str.5.sink2874, i32 noundef %1897, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %1899, ptr noundef %1901, ptr noundef %1903, i32 noundef %1904) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1906:                                             ; preds = %1877
  %1907 = add nsw i32 %1878, 2
  store i32 %1907, ptr @test_count, align 4, !tbaa !5
  %1908 = getelementptr inbounds i8, ptr %1880, i64 112
  %1909 = load ptr, ptr %1908, align 8, !tbaa !56
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %1909, ptr noundef nonnull dereferenceable(11) %3, i64 11)
  %1910 = icmp eq i32 %bcmp, 0
  br i1 %1910, label %1933, label %1911

1911:                                             ; preds = %1906
  %1912 = load i32, ptr %228, align 4, !tbaa !5
  %1913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1914 = call i32 @s2n_print_stacktrace(ptr noundef %1913) #12
  %1915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1916 = trunc nuw i8 %1915 to i1
  br i1 %1916, label %1917, label %1921

1917:                                             ; preds = %1911
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @fileno(ptr noundef %1918) #12
  %1920 = call i32 @isatty(i32 noundef %1919) #12
  %.not1722 = icmp eq i32 %1920, 0
  br i1 %.not1722, label %1921, label %1922

1921:                                             ; preds = %1917, %1911
  br label %1922

1922:                                             ; preds = %1917, %1921
  %.str.5.sink2883 = phi ptr [ @.str.5, %1921 ], [ @.str.2, %1917 ]
  store i32 %1912, ptr %228, align 4, !tbaa !5
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = load i32, ptr @test_count, align 4, !tbaa !5
  %1925 = load i32, ptr %174, align 4, !tbaa !5
  %1926 = call ptr @s2n_strerror(i32 noundef %1925, ptr noundef nonnull @.str.4) #12
  %1927 = load i32, ptr %174, align 4, !tbaa !5
  %1928 = call ptr @s2n_strerror_debug(i32 noundef %1927, ptr noundef nonnull @.str.4) #12
  %1929 = load i32, ptr %228, align 4, !tbaa !5
  %1930 = call ptr @strerror(i32 noundef %1929) #12
  %1931 = load i32, ptr %228, align 4, !tbaa !5
  %1932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1923, ptr noundef nonnull %.str.5.sink2883, i32 noundef %1924, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %1926, ptr noundef %1928, ptr noundef %1930, i32 noundef %1931) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1933:                                             ; preds = %1906
  %1934 = add nsw i32 %1878, 3
  store i32 %1934, ptr @test_count, align 4, !tbaa !5
  %1935 = call i32 @s2n_psk_set_application_protocol(ptr noundef nonnull %1880, ptr noundef nonnull %4, i8 noundef zeroext 15) #12
  %1936 = icmp eq i32 %1935, -1
  br i1 %1936, label %1937, label %1959

1937:                                             ; preds = %1933
  %1938 = load i32, ptr %228, align 4, !tbaa !5
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @s2n_print_stacktrace(ptr noundef %1939) #12
  %1941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1942 = trunc nuw i8 %1941 to i1
  br i1 %1942, label %1943, label %1947

1943:                                             ; preds = %1937
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @fileno(ptr noundef %1944) #12
  %1946 = call i32 @isatty(i32 noundef %1945) #12
  %.not2231 = icmp eq i32 %1946, 0
  br i1 %.not2231, label %1947, label %1948

1947:                                             ; preds = %1943, %1937
  br label %1948

1948:                                             ; preds = %1943, %1947
  %.str.5.sink2892 = phi ptr [ @.str.5, %1947 ], [ @.str.2, %1943 ]
  store i32 %1938, ptr %228, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = load i32, ptr @test_count, align 4, !tbaa !5
  %1951 = load i32, ptr %174, align 4, !tbaa !5
  %1952 = call ptr @s2n_strerror(i32 noundef %1951, ptr noundef nonnull @.str.4) #12
  %1953 = load i32, ptr %174, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror_debug(i32 noundef %1953, ptr noundef nonnull @.str.4) #12
  %1955 = load i32, ptr %228, align 4, !tbaa !5
  %1956 = call ptr @strerror(i32 noundef %1955) #12
  %1957 = load i32, ptr %228, align 4, !tbaa !5
  %1958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1949, ptr noundef nonnull %.str.5.sink2892, i32 noundef %1950, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %1952, ptr noundef %1954, ptr noundef %1956, i32 noundef %1957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1959:                                             ; preds = %1933
  %1960 = load i32, ptr @test_count, align 4, !tbaa !5
  %1961 = add nsw i32 %1960, 1
  store i32 %1961, ptr @test_count, align 4, !tbaa !5
  %1962 = load ptr, ptr %18, align 8, !tbaa !9
  %1963 = getelementptr inbounds i8, ptr %1962, i64 120
  %1964 = load i32, ptr %1963, align 8, !tbaa !54
  %1965 = icmp eq i32 %1964, 15
  br i1 %1965, label %1988, label %1966

1966:                                             ; preds = %1959
  %1967 = load i32, ptr %228, align 4, !tbaa !5
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = call i32 @s2n_print_stacktrace(ptr noundef %1968) #12
  %1970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1971 = trunc nuw i8 %1970 to i1
  br i1 %1971, label %1972, label %1976

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

1976:                                             ; preds = %1972, %1966
  br label %1977

1977:                                             ; preds = %1972, %1976
  %.str.5.sink2901 = phi ptr [ @.str.5, %1976 ], [ @.str.2, %1972 ]
  store i32 %1967, ptr %228, align 4, !tbaa !5
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = load i32, ptr @test_count, align 4, !tbaa !5
  %1980 = load i32, ptr %174, align 4, !tbaa !5
  %1981 = call ptr @s2n_strerror(i32 noundef %1980, ptr noundef nonnull @.str.4) #12
  %1982 = load i32, ptr %174, align 4, !tbaa !5
  %1983 = call ptr @s2n_strerror_debug(i32 noundef %1982, ptr noundef nonnull @.str.4) #12
  %1984 = load i32, ptr %228, align 4, !tbaa !5
  %1985 = call ptr @strerror(i32 noundef %1984) #12
  %1986 = load i32, ptr %228, align 4, !tbaa !5
  %1987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1978, ptr noundef nonnull %.str.5.sink2901, i32 noundef %1979, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %1981, ptr noundef %1983, ptr noundef %1985, i32 noundef %1986) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1988:                                             ; preds = %1959
  %1989 = add nsw i32 %1960, 2
  store i32 %1989, ptr @test_count, align 4, !tbaa !5
  %1990 = getelementptr inbounds i8, ptr %1962, i64 112
  %1991 = load ptr, ptr %1990, align 8, !tbaa !56
  %bcmp1724 = call i32 @bcmp(ptr noundef nonnull dereferenceable(15) %1991, ptr noundef nonnull dereferenceable(15) %4, i64 15)
  %1992 = icmp eq i32 %bcmp1724, 0
  br i1 %1992, label %2015, label %1993

1993:                                             ; preds = %1988
  %1994 = load i32, ptr %228, align 4, !tbaa !5
  %1995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1996 = call i32 @s2n_print_stacktrace(ptr noundef %1995) #12
  %1997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1998 = trunc nuw i8 %1997 to i1
  br i1 %1998, label %1999, label %2003

1999:                                             ; preds = %1993
  %2000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2001 = call i32 @fileno(ptr noundef %2000) #12
  %2002 = call i32 @isatty(i32 noundef %2001) #12
  %.not1725 = icmp eq i32 %2002, 0
  br i1 %.not1725, label %2003, label %2004

2003:                                             ; preds = %1999, %1993
  br label %2004

2004:                                             ; preds = %1999, %2003
  %.str.5.sink2910 = phi ptr [ @.str.5, %2003 ], [ @.str.2, %1999 ]
  store i32 %1994, ptr %228, align 4, !tbaa !5
  %2005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2006 = load i32, ptr @test_count, align 4, !tbaa !5
  %2007 = load i32, ptr %174, align 4, !tbaa !5
  %2008 = call ptr @s2n_strerror(i32 noundef %2007, ptr noundef nonnull @.str.4) #12
  %2009 = load i32, ptr %174, align 4, !tbaa !5
  %2010 = call ptr @s2n_strerror_debug(i32 noundef %2009, ptr noundef nonnull @.str.4) #12
  %2011 = load i32, ptr %228, align 4, !tbaa !5
  %2012 = call ptr @strerror(i32 noundef %2011) #12
  %2013 = load i32, ptr %228, align 4, !tbaa !5
  %2014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2005, ptr noundef nonnull %.str.5.sink2910, i32 noundef %2006, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %2008, ptr noundef %2010, ptr noundef %2012, i32 noundef %2013) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2015:                                             ; preds = %1988
  %2016 = add nsw i32 %1960, 3
  store i32 %2016, ptr @test_count, align 4, !tbaa !5
  %2017 = call i32 @s2n_psk_set_application_protocol(ptr noundef nonnull %1962, ptr noundef nonnull %3, i8 noundef zeroext 0) #12
  %2018 = icmp eq i32 %2017, -1
  br i1 %2018, label %2019, label %2041

2019:                                             ; preds = %2015
  %2020 = load i32, ptr %228, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = call i32 @s2n_print_stacktrace(ptr noundef %2021) #12
  %2023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2024 = trunc nuw i8 %2023 to i1
  br i1 %2024, label %2025, label %2029

2025:                                             ; preds = %2019
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = call i32 @fileno(ptr noundef %2026) #12
  %2028 = call i32 @isatty(i32 noundef %2027) #12
  %.not2230 = icmp eq i32 %2028, 0
  br i1 %.not2230, label %2029, label %2030

2029:                                             ; preds = %2025, %2019
  br label %2030

2030:                                             ; preds = %2025, %2029
  %.str.5.sink2919 = phi ptr [ @.str.5, %2029 ], [ @.str.2, %2025 ]
  store i32 %2020, ptr %228, align 4, !tbaa !5
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = load i32, ptr @test_count, align 4, !tbaa !5
  %2033 = load i32, ptr %174, align 4, !tbaa !5
  %2034 = call ptr @s2n_strerror(i32 noundef %2033, ptr noundef nonnull @.str.4) #12
  %2035 = load i32, ptr %174, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef nonnull @.str.4) #12
  %2037 = load i32, ptr %228, align 4, !tbaa !5
  %2038 = call ptr @strerror(i32 noundef %2037) #12
  %2039 = load i32, ptr %228, align 4, !tbaa !5
  %2040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2031, ptr noundef nonnull %.str.5.sink2919, i32 noundef %2032, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %2034, ptr noundef %2036, ptr noundef %2038, i32 noundef %2039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2041:                                             ; preds = %2015
  %2042 = load i32, ptr @test_count, align 4, !tbaa !5
  %2043 = add nsw i32 %2042, 1
  store i32 %2043, ptr @test_count, align 4, !tbaa !5
  %2044 = load ptr, ptr %18, align 8, !tbaa !9
  %2045 = getelementptr inbounds i8, ptr %2044, i64 120
  %2046 = load i32, ptr %2045, align 8, !tbaa !54
  %2047 = icmp eq i32 %2046, 0
  br i1 %2047, label %2070, label %2048

2048:                                             ; preds = %2041
  %2049 = load i32, ptr %228, align 4, !tbaa !5
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = call i32 @s2n_print_stacktrace(ptr noundef %2050) #12
  %2052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2053 = trunc nuw i8 %2052 to i1
  br i1 %2053, label %2054, label %2058

2054:                                             ; preds = %2048
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = call i32 @fileno(ptr noundef %2055) #12
  %2057 = call i32 @isatty(i32 noundef %2056) #12
  %.not1726 = icmp eq i32 %2057, 0
  br i1 %.not1726, label %2058, label %2059

2058:                                             ; preds = %2054, %2048
  br label %2059

2059:                                             ; preds = %2054, %2058
  %.str.5.sink2928 = phi ptr [ @.str.5, %2058 ], [ @.str.2, %2054 ]
  store i32 %2049, ptr %228, align 4, !tbaa !5
  %2060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2061 = load i32, ptr @test_count, align 4, !tbaa !5
  %2062 = load i32, ptr %174, align 4, !tbaa !5
  %2063 = call ptr @s2n_strerror(i32 noundef %2062, ptr noundef nonnull @.str.4) #12
  %2064 = load i32, ptr %174, align 4, !tbaa !5
  %2065 = call ptr @s2n_strerror_debug(i32 noundef %2064, ptr noundef nonnull @.str.4) #12
  %2066 = load i32, ptr %228, align 4, !tbaa !5
  %2067 = call ptr @strerror(i32 noundef %2066) #12
  %2068 = load i32, ptr %228, align 4, !tbaa !5
  %2069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2060, ptr noundef nonnull %.str.5.sink2928, i32 noundef %2061, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %2063, ptr noundef %2065, ptr noundef %2067, i32 noundef %2068) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2070:                                             ; preds = %2041
  %2071 = add nsw i32 %2042, 2
  store i32 %2071, ptr @test_count, align 4, !tbaa !5
  %2072 = getelementptr inbounds i8, ptr %2044, i64 124
  %2073 = load i32, ptr %2072, align 4, !tbaa !55
  %2074 = icmp eq i32 %2073, 0
  br i1 %2074, label %2097, label %2075

2075:                                             ; preds = %2070
  %2076 = load i32, ptr %228, align 4, !tbaa !5
  %2077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2078 = call i32 @s2n_print_stacktrace(ptr noundef %2077) #12
  %2079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2080 = trunc nuw i8 %2079 to i1
  br i1 %2080, label %2081, label %2085

2081:                                             ; preds = %2075
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = call i32 @fileno(ptr noundef %2082) #12
  %2084 = call i32 @isatty(i32 noundef %2083) #12
  %.not1727 = icmp eq i32 %2084, 0
  br i1 %.not1727, label %2085, label %2086

2085:                                             ; preds = %2081, %2075
  br label %2086

2086:                                             ; preds = %2081, %2085
  %.str.5.sink2937 = phi ptr [ @.str.5, %2085 ], [ @.str.2, %2081 ]
  store i32 %2076, ptr %228, align 4, !tbaa !5
  %2087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2088 = load i32, ptr @test_count, align 4, !tbaa !5
  %2089 = load i32, ptr %174, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror(i32 noundef %2089, ptr noundef nonnull @.str.4) #12
  %2091 = load i32, ptr %174, align 4, !tbaa !5
  %2092 = call ptr @s2n_strerror_debug(i32 noundef %2091, ptr noundef nonnull @.str.4) #12
  %2093 = load i32, ptr %228, align 4, !tbaa !5
  %2094 = call ptr @strerror(i32 noundef %2093) #12
  %2095 = load i32, ptr %228, align 4, !tbaa !5
  %2096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2087, ptr noundef nonnull %.str.5.sink2937, i32 noundef %2088, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %2090, ptr noundef %2092, ptr noundef %2094, i32 noundef %2095) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2097:                                             ; preds = %2070
  %2098 = add nsw i32 %2042, 3
  store i32 %2098, ptr @test_count, align 4, !tbaa !5
  %2099 = call i32 @s2n_psk_set_application_protocol(ptr noundef nonnull %2044, ptr noundef nonnull %3, i8 noundef zeroext 0) #12
  %2100 = icmp eq i32 %2099, -1
  br i1 %2100, label %2101, label %2123

2101:                                             ; preds = %2097
  %2102 = load i32, ptr %228, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = call i32 @s2n_print_stacktrace(ptr noundef %2103) #12
  %2105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2106 = trunc nuw i8 %2105 to i1
  br i1 %2106, label %2107, label %2111

2107:                                             ; preds = %2101
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = call i32 @fileno(ptr noundef %2108) #12
  %2110 = call i32 @isatty(i32 noundef %2109) #12
  %.not2229 = icmp eq i32 %2110, 0
  br i1 %.not2229, label %2111, label %2112

2111:                                             ; preds = %2107, %2101
  br label %2112

2112:                                             ; preds = %2107, %2111
  %.str.5.sink2946 = phi ptr [ @.str.5, %2111 ], [ @.str.2, %2107 ]
  store i32 %2102, ptr %228, align 4, !tbaa !5
  %2113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2114 = load i32, ptr @test_count, align 4, !tbaa !5
  %2115 = load i32, ptr %174, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror(i32 noundef %2115, ptr noundef nonnull @.str.4) #12
  %2117 = load i32, ptr %174, align 4, !tbaa !5
  %2118 = call ptr @s2n_strerror_debug(i32 noundef %2117, ptr noundef nonnull @.str.4) #12
  %2119 = load i32, ptr %228, align 4, !tbaa !5
  %2120 = call ptr @strerror(i32 noundef %2119) #12
  %2121 = load i32, ptr %228, align 4, !tbaa !5
  %2122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2113, ptr noundef nonnull %.str.5.sink2946, i32 noundef %2114, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %2116, ptr noundef %2118, ptr noundef %2120, i32 noundef %2121) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2123:                                             ; preds = %2097
  %2124 = load i32, ptr @test_count, align 4, !tbaa !5
  %2125 = add nsw i32 %2124, 1
  store i32 %2125, ptr @test_count, align 4, !tbaa !5
  %2126 = load ptr, ptr %18, align 8, !tbaa !9
  %2127 = getelementptr inbounds i8, ptr %2126, i64 120
  %2128 = load i32, ptr %2127, align 8, !tbaa !54
  %2129 = icmp eq i32 %2128, 0
  br i1 %2129, label %2152, label %2130

2130:                                             ; preds = %2123
  %2131 = load i32, ptr %228, align 4, !tbaa !5
  %2132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2133 = call i32 @s2n_print_stacktrace(ptr noundef %2132) #12
  %2134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2135 = trunc nuw i8 %2134 to i1
  br i1 %2135, label %2136, label %2140

2136:                                             ; preds = %2130
  %2137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2138 = call i32 @fileno(ptr noundef %2137) #12
  %2139 = call i32 @isatty(i32 noundef %2138) #12
  %.not1728 = icmp eq i32 %2139, 0
  br i1 %.not1728, label %2140, label %2141

2140:                                             ; preds = %2136, %2130
  br label %2141

2141:                                             ; preds = %2136, %2140
  %.str.5.sink2955 = phi ptr [ @.str.5, %2140 ], [ @.str.2, %2136 ]
  store i32 %2131, ptr %228, align 4, !tbaa !5
  %2142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2143 = load i32, ptr @test_count, align 4, !tbaa !5
  %2144 = load i32, ptr %174, align 4, !tbaa !5
  %2145 = call ptr @s2n_strerror(i32 noundef %2144, ptr noundef nonnull @.str.4) #12
  %2146 = load i32, ptr %174, align 4, !tbaa !5
  %2147 = call ptr @s2n_strerror_debug(i32 noundef %2146, ptr noundef nonnull @.str.4) #12
  %2148 = load i32, ptr %228, align 4, !tbaa !5
  %2149 = call ptr @strerror(i32 noundef %2148) #12
  %2150 = load i32, ptr %228, align 4, !tbaa !5
  %2151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2142, ptr noundef nonnull %.str.5.sink2955, i32 noundef %2143, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %2145, ptr noundef %2147, ptr noundef %2149, i32 noundef %2150) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2152:                                             ; preds = %2123
  %2153 = add nsw i32 %2124, 2
  store i32 %2153, ptr @test_count, align 4, !tbaa !5
  %2154 = getelementptr inbounds i8, ptr %2126, i64 124
  %2155 = load i32, ptr %2154, align 4, !tbaa !55
  %2156 = icmp eq i32 %2155, 0
  br i1 %2156, label %2179, label %2157

2157:                                             ; preds = %2152
  %2158 = load i32, ptr %228, align 4, !tbaa !5
  %2159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2160 = call i32 @s2n_print_stacktrace(ptr noundef %2159) #12
  %2161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2162 = trunc nuw i8 %2161 to i1
  br i1 %2162, label %2163, label %2167

2163:                                             ; preds = %2157
  %2164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2165 = call i32 @fileno(ptr noundef %2164) #12
  %2166 = call i32 @isatty(i32 noundef %2165) #12
  %.not1729 = icmp eq i32 %2166, 0
  br i1 %.not1729, label %2167, label %2168

2167:                                             ; preds = %2163, %2157
  br label %2168

2168:                                             ; preds = %2163, %2167
  %.str.5.sink2964 = phi ptr [ @.str.5, %2167 ], [ @.str.2, %2163 ]
  store i32 %2158, ptr %228, align 4, !tbaa !5
  %2169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2170 = load i32, ptr @test_count, align 4, !tbaa !5
  %2171 = load i32, ptr %174, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror(i32 noundef %2171, ptr noundef nonnull @.str.4) #12
  %2173 = load i32, ptr %174, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror_debug(i32 noundef %2173, ptr noundef nonnull @.str.4) #12
  %2175 = load i32, ptr %228, align 4, !tbaa !5
  %2176 = call ptr @strerror(i32 noundef %2175) #12
  %2177 = load i32, ptr %228, align 4, !tbaa !5
  %2178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2169, ptr noundef nonnull %.str.5.sink2964, i32 noundef %2170, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %2172, ptr noundef %2174, ptr noundef %2176, i32 noundef %2177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2179:                                             ; preds = %2152
  %2180 = call i32 @s2n_psk_free(ptr noundef nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %19) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %19, i8 0, i64 168, i1 false)
  %2181 = load i32, ptr @test_count, align 4, !tbaa !5
  %2182 = add nsw i32 %2181, 1
  store i32 %2182, ptr @test_count, align 4, !tbaa !5
  %2183 = call i32 @s2n_psk_set_early_data_context(ptr noundef nonnull %19, ptr noundef null, i16 noundef zeroext 1) #12
  %2184 = icmp eq i32 %2183, -1
  br i1 %2184, label %2207, label %2185

2185:                                             ; preds = %2179
  %2186 = load i32, ptr %228, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = call i32 @s2n_print_stacktrace(ptr noundef %2187) #12
  %2189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2190 = trunc nuw i8 %2189 to i1
  br i1 %2190, label %2191, label %2195

2191:                                             ; preds = %2185
  %2192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2193 = call i32 @fileno(ptr noundef %2192) #12
  %2194 = call i32 @isatty(i32 noundef %2193) #12
  %.not1730 = icmp eq i32 %2194, 0
  br i1 %.not1730, label %2195, label %2196

2195:                                             ; preds = %2191, %2185
  br label %2196

2196:                                             ; preds = %2191, %2195
  %.str.5.sink2973 = phi ptr [ @.str.5, %2195 ], [ @.str.2, %2191 ]
  store i32 %2186, ptr %228, align 4, !tbaa !5
  %2197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2198 = load i32, ptr @test_count, align 4, !tbaa !5
  %2199 = load i32, ptr %174, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror(i32 noundef %2199, ptr noundef nonnull @.str.4) #12
  %2201 = load i32, ptr %174, align 4, !tbaa !5
  %2202 = call ptr @s2n_strerror_debug(i32 noundef %2201, ptr noundef nonnull @.str.4) #12
  %2203 = load i32, ptr %228, align 4, !tbaa !5
  %2204 = call ptr @strerror(i32 noundef %2203) #12
  %2205 = load i32, ptr %228, align 4, !tbaa !5
  %2206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2197, ptr noundef nonnull %.str.5.sink2973, i32 noundef %2198, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %2200, ptr noundef %2202, ptr noundef %2204, i32 noundef %2205) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2207:                                             ; preds = %2179
  %2208 = load i32, ptr @test_count, align 4, !tbaa !5
  %2209 = add nsw i32 %2208, 1
  store i32 %2209, ptr @test_count, align 4, !tbaa !5
  %2210 = load i32, ptr %174, align 4, !tbaa !5
  %2211 = icmp eq i32 %2210, 402653193
  br i1 %2211, label %2234, label %2212

2212:                                             ; preds = %2207
  %2213 = load i32, ptr %228, align 4, !tbaa !5
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = call i32 @s2n_print_stacktrace(ptr noundef %2214) #12
  %2216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2217 = trunc nuw i8 %2216 to i1
  br i1 %2217, label %2218, label %2222

2218:                                             ; preds = %2212
  %2219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2220 = call i32 @fileno(ptr noundef %2219) #12
  %2221 = call i32 @isatty(i32 noundef %2220) #12
  %.not1731 = icmp eq i32 %2221, 0
  br i1 %.not1731, label %2222, label %2223

2222:                                             ; preds = %2218, %2212
  br label %2223

2223:                                             ; preds = %2218, %2222
  %.str.5.sink2982 = phi ptr [ @.str.5, %2222 ], [ @.str.2, %2218 ]
  store i32 %2213, ptr %228, align 4, !tbaa !5
  %2224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2225 = load i32, ptr @test_count, align 4, !tbaa !5
  %2226 = load i32, ptr %174, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror(i32 noundef %2226, ptr noundef nonnull @.str.4) #12
  %2228 = load i32, ptr %174, align 4, !tbaa !5
  %2229 = call ptr @s2n_strerror_debug(i32 noundef %2228, ptr noundef nonnull @.str.4) #12
  %2230 = load i32, ptr %228, align 4, !tbaa !5
  %2231 = call ptr @strerror(i32 noundef %2230) #12
  %2232 = load i32, ptr %228, align 4, !tbaa !5
  %2233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2224, ptr noundef nonnull %.str.5.sink2982, i32 noundef %2225, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %2227, ptr noundef %2229, ptr noundef %2231, i32 noundef %2232) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2234:                                             ; preds = %2207
  %2235 = add nsw i32 %2208, 2
  store i32 %2235, ptr @test_count, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %2237 = icmp eq ptr %2236, null
  br i1 %2237, label %2238, label %2260

2238:                                             ; preds = %2234
  %2239 = load i32, ptr %228, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = call i32 @s2n_print_stacktrace(ptr noundef %2240) #12
  %2242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2243 = trunc nuw i8 %2242 to i1
  br i1 %2243, label %2244, label %2248

2244:                                             ; preds = %2238
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = call i32 @fileno(ptr noundef %2245) #12
  %2247 = call i32 @isatty(i32 noundef %2246) #12
  %.not2228 = icmp eq i32 %2247, 0
  br i1 %.not2228, label %2248, label %2249

2248:                                             ; preds = %2244, %2238
  br label %2249

2249:                                             ; preds = %2244, %2248
  %.str.5.sink2991 = phi ptr [ @.str.5, %2248 ], [ @.str.2, %2244 ]
  store i32 %2239, ptr %228, align 4, !tbaa !5
  %2250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %2252 = load i32, ptr %174, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror(i32 noundef %2252, ptr noundef nonnull @.str.4) #12
  %2254 = load i32, ptr %174, align 4, !tbaa !5
  %2255 = call ptr @s2n_strerror_debug(i32 noundef %2254, ptr noundef nonnull @.str.4) #12
  %2256 = load i32, ptr %228, align 4, !tbaa !5
  %2257 = call ptr @strerror(i32 noundef %2256) #12
  %2258 = load i32, ptr %228, align 4, !tbaa !5
  %2259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2250, ptr noundef nonnull %.str.5.sink2991, i32 noundef %2251, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %2253, ptr noundef %2255, ptr noundef %2257, i32 noundef %2258) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2260:                                             ; preds = %2234
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %2261 = load i32, ptr @test_count, align 4, !tbaa !5
  %2262 = add nsw i32 %2261, 1
  store i32 %2262, ptr @test_count, align 4, !tbaa !5
  %2263 = call i32 @s2n_psk_set_early_data_context(ptr noundef null, ptr noundef nonnull %3, i16 noundef zeroext 1) #12
  %2264 = icmp eq i32 %2263, -1
  br i1 %2264, label %2287, label %2265

2265:                                             ; preds = %2260
  %2266 = load i32, ptr %228, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = call i32 @s2n_print_stacktrace(ptr noundef %2267) #12
  %2269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2270 = trunc nuw i8 %2269 to i1
  br i1 %2270, label %2271, label %2275

2271:                                             ; preds = %2265
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = call i32 @fileno(ptr noundef %2272) #12
  %2274 = call i32 @isatty(i32 noundef %2273) #12
  %.not1732 = icmp eq i32 %2274, 0
  br i1 %.not1732, label %2275, label %2276

2275:                                             ; preds = %2271, %2265
  br label %2276

2276:                                             ; preds = %2271, %2275
  %.str.5.sink3000 = phi ptr [ @.str.5, %2275 ], [ @.str.2, %2271 ]
  store i32 %2266, ptr %228, align 4, !tbaa !5
  %2277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2278 = load i32, ptr @test_count, align 4, !tbaa !5
  %2279 = load i32, ptr %174, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror(i32 noundef %2279, ptr noundef nonnull @.str.4) #12
  %2281 = load i32, ptr %174, align 4, !tbaa !5
  %2282 = call ptr @s2n_strerror_debug(i32 noundef %2281, ptr noundef nonnull @.str.4) #12
  %2283 = load i32, ptr %228, align 4, !tbaa !5
  %2284 = call ptr @strerror(i32 noundef %2283) #12
  %2285 = load i32, ptr %228, align 4, !tbaa !5
  %2286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2277, ptr noundef nonnull %.str.5.sink3000, i32 noundef %2278, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %2280, ptr noundef %2282, ptr noundef %2284, i32 noundef %2285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2287:                                             ; preds = %2260
  %2288 = load i32, ptr @test_count, align 4, !tbaa !5
  %2289 = add nsw i32 %2288, 1
  store i32 %2289, ptr @test_count, align 4, !tbaa !5
  %2290 = load i32, ptr %174, align 4, !tbaa !5
  %2291 = icmp eq i32 %2290, 402653193
  br i1 %2291, label %2314, label %2292

2292:                                             ; preds = %2287
  %2293 = load i32, ptr %228, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = call i32 @s2n_print_stacktrace(ptr noundef %2294) #12
  %2296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2297 = trunc nuw i8 %2296 to i1
  br i1 %2297, label %2298, label %2302

2298:                                             ; preds = %2292
  %2299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2300 = call i32 @fileno(ptr noundef %2299) #12
  %2301 = call i32 @isatty(i32 noundef %2300) #12
  %.not1733 = icmp eq i32 %2301, 0
  br i1 %.not1733, label %2302, label %2303

2302:                                             ; preds = %2298, %2292
  br label %2303

2303:                                             ; preds = %2298, %2302
  %.str.5.sink3009 = phi ptr [ @.str.5, %2302 ], [ @.str.2, %2298 ]
  store i32 %2293, ptr %228, align 4, !tbaa !5
  %2304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2305 = load i32, ptr @test_count, align 4, !tbaa !5
  %2306 = load i32, ptr %174, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef nonnull @.str.4) #12
  %2308 = load i32, ptr %174, align 4, !tbaa !5
  %2309 = call ptr @s2n_strerror_debug(i32 noundef %2308, ptr noundef nonnull @.str.4) #12
  %2310 = load i32, ptr %228, align 4, !tbaa !5
  %2311 = call ptr @strerror(i32 noundef %2310) #12
  %2312 = load i32, ptr %228, align 4, !tbaa !5
  %2313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2304, ptr noundef nonnull %.str.5.sink3009, i32 noundef %2305, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %2307, ptr noundef %2309, ptr noundef %2311, i32 noundef %2312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2314:                                             ; preds = %2287
  %2315 = add nsw i32 %2288, 2
  store i32 %2315, ptr @test_count, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %2317 = icmp eq ptr %2316, null
  br i1 %2317, label %2318, label %2340

2318:                                             ; preds = %2314
  %2319 = load i32, ptr %228, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = call i32 @s2n_print_stacktrace(ptr noundef %2320) #12
  %2322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2323 = trunc nuw i8 %2322 to i1
  br i1 %2323, label %2324, label %2328

2324:                                             ; preds = %2318
  %2325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2326 = call i32 @fileno(ptr noundef %2325) #12
  %2327 = call i32 @isatty(i32 noundef %2326) #12
  %.not2227 = icmp eq i32 %2327, 0
  br i1 %.not2227, label %2328, label %2329

2328:                                             ; preds = %2324, %2318
  br label %2329

2329:                                             ; preds = %2324, %2328
  %.str.5.sink3018 = phi ptr [ @.str.5, %2328 ], [ @.str.2, %2324 ]
  store i32 %2319, ptr %228, align 4, !tbaa !5
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = load i32, ptr @test_count, align 4, !tbaa !5
  %2332 = load i32, ptr %174, align 4, !tbaa !5
  %2333 = call ptr @s2n_strerror(i32 noundef %2332, ptr noundef nonnull @.str.4) #12
  %2334 = load i32, ptr %174, align 4, !tbaa !5
  %2335 = call ptr @s2n_strerror_debug(i32 noundef %2334, ptr noundef nonnull @.str.4) #12
  %2336 = load i32, ptr %228, align 4, !tbaa !5
  %2337 = call ptr @strerror(i32 noundef %2336) #12
  %2338 = load i32, ptr %228, align 4, !tbaa !5
  %2339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2330, ptr noundef nonnull %.str.5.sink3018, i32 noundef %2331, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %2333, ptr noundef %2335, ptr noundef %2337, i32 noundef %2338) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2340:                                             ; preds = %2314
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %19) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #12
  %2341 = call ptr @s2n_external_psk_new() #12
  store ptr %2341, ptr %20, align 8, !tbaa !9
  %2342 = load i32, ptr @test_count, align 4, !tbaa !5
  %2343 = add nsw i32 %2342, 1
  store i32 %2343, ptr @test_count, align 4, !tbaa !5
  %2344 = getelementptr inbounds i8, ptr %2341, i64 144
  %2345 = load i32, ptr %2344, align 8, !tbaa !57
  %2346 = icmp eq i32 %2345, 0
  br i1 %2346, label %2369, label %2347

2347:                                             ; preds = %2340
  %2348 = load i32, ptr %228, align 4, !tbaa !5
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = call i32 @s2n_print_stacktrace(ptr noundef %2349) #12
  %2351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2352 = trunc nuw i8 %2351 to i1
  br i1 %2352, label %2353, label %2357

2353:                                             ; preds = %2347
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = call i32 @fileno(ptr noundef %2354) #12
  %2356 = call i32 @isatty(i32 noundef %2355) #12
  %.not1734 = icmp eq i32 %2356, 0
  br i1 %.not1734, label %2357, label %2358

2357:                                             ; preds = %2353, %2347
  br label %2358

2358:                                             ; preds = %2353, %2357
  %.str.5.sink3027 = phi ptr [ @.str.5, %2357 ], [ @.str.2, %2353 ]
  store i32 %2348, ptr %228, align 4, !tbaa !5
  %2359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2360 = load i32, ptr @test_count, align 4, !tbaa !5
  %2361 = load i32, ptr %174, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror(i32 noundef %2361, ptr noundef nonnull @.str.4) #12
  %2363 = load i32, ptr %174, align 4, !tbaa !5
  %2364 = call ptr @s2n_strerror_debug(i32 noundef %2363, ptr noundef nonnull @.str.4) #12
  %2365 = load i32, ptr %228, align 4, !tbaa !5
  %2366 = call ptr @strerror(i32 noundef %2365) #12
  %2367 = load i32, ptr %228, align 4, !tbaa !5
  %2368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2359, ptr noundef nonnull %.str.5.sink3027, i32 noundef %2360, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %2362, ptr noundef %2364, ptr noundef %2366, i32 noundef %2367) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2369:                                             ; preds = %2340
  %2370 = add nsw i32 %2342, 2
  store i32 %2370, ptr @test_count, align 4, !tbaa !5
  %2371 = getelementptr inbounds i8, ptr %2341, i64 148
  %2372 = load i32, ptr %2371, align 4, !tbaa !58
  %2373 = icmp eq i32 %2372, 0
  br i1 %2373, label %2396, label %2374

2374:                                             ; preds = %2369
  %2375 = load i32, ptr %228, align 4, !tbaa !5
  %2376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2377 = call i32 @s2n_print_stacktrace(ptr noundef %2376) #12
  %2378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2379 = trunc nuw i8 %2378 to i1
  br i1 %2379, label %2380, label %2384

2380:                                             ; preds = %2374
  %2381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2382 = call i32 @fileno(ptr noundef %2381) #12
  %2383 = call i32 @isatty(i32 noundef %2382) #12
  %.not1735 = icmp eq i32 %2383, 0
  br i1 %.not1735, label %2384, label %2385

2384:                                             ; preds = %2380, %2374
  br label %2385

2385:                                             ; preds = %2380, %2384
  %.str.5.sink3036 = phi ptr [ @.str.5, %2384 ], [ @.str.2, %2380 ]
  store i32 %2375, ptr %228, align 4, !tbaa !5
  %2386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2387 = load i32, ptr @test_count, align 4, !tbaa !5
  %2388 = load i32, ptr %174, align 4, !tbaa !5
  %2389 = call ptr @s2n_strerror(i32 noundef %2388, ptr noundef nonnull @.str.4) #12
  %2390 = load i32, ptr %174, align 4, !tbaa !5
  %2391 = call ptr @s2n_strerror_debug(i32 noundef %2390, ptr noundef nonnull @.str.4) #12
  %2392 = load i32, ptr %228, align 4, !tbaa !5
  %2393 = call ptr @strerror(i32 noundef %2392) #12
  %2394 = load i32, ptr %228, align 4, !tbaa !5
  %2395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2386, ptr noundef nonnull %.str.5.sink3036, i32 noundef %2387, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 339, ptr noundef %2389, ptr noundef %2391, ptr noundef %2393, i32 noundef %2394) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2396:                                             ; preds = %2369
  %2397 = add nsw i32 %2342, 3
  store i32 %2397, ptr @test_count, align 4, !tbaa !5
  %2398 = call i32 @s2n_psk_set_early_data_context(ptr noundef nonnull %2341, ptr noundef nonnull %3, i16 noundef zeroext 0) #12
  %2399 = icmp eq i32 %2398, -1
  br i1 %2399, label %2400, label %2422

2400:                                             ; preds = %2396
  %2401 = load i32, ptr %228, align 4, !tbaa !5
  %2402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2403 = call i32 @s2n_print_stacktrace(ptr noundef %2402) #12
  %2404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2405 = trunc nuw i8 %2404 to i1
  br i1 %2405, label %2406, label %2410

2406:                                             ; preds = %2400
  %2407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2408 = call i32 @fileno(ptr noundef %2407) #12
  %2409 = call i32 @isatty(i32 noundef %2408) #12
  %.not2226 = icmp eq i32 %2409, 0
  br i1 %.not2226, label %2410, label %2411

2410:                                             ; preds = %2406, %2400
  br label %2411

2411:                                             ; preds = %2406, %2410
  %.str.5.sink3045 = phi ptr [ @.str.5, %2410 ], [ @.str.2, %2406 ]
  store i32 %2401, ptr %228, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = load i32, ptr @test_count, align 4, !tbaa !5
  %2414 = load i32, ptr %174, align 4, !tbaa !5
  %2415 = call ptr @s2n_strerror(i32 noundef %2414, ptr noundef nonnull @.str.4) #12
  %2416 = load i32, ptr %174, align 4, !tbaa !5
  %2417 = call ptr @s2n_strerror_debug(i32 noundef %2416, ptr noundef nonnull @.str.4) #12
  %2418 = load i32, ptr %228, align 4, !tbaa !5
  %2419 = call ptr @strerror(i32 noundef %2418) #12
  %2420 = load i32, ptr %228, align 4, !tbaa !5
  %2421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2412, ptr noundef nonnull %.str.5.sink3045, i32 noundef %2413, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %2415, ptr noundef %2417, ptr noundef %2419, i32 noundef %2420) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2422:                                             ; preds = %2396
  %2423 = load i32, ptr @test_count, align 4, !tbaa !5
  %2424 = add nsw i32 %2423, 1
  store i32 %2424, ptr @test_count, align 4, !tbaa !5
  %2425 = load ptr, ptr %20, align 8, !tbaa !9
  %2426 = getelementptr inbounds i8, ptr %2425, i64 144
  %2427 = load i32, ptr %2426, align 8, !tbaa !57
  %2428 = icmp eq i32 %2427, 0
  br i1 %2428, label %2451, label %2429

2429:                                             ; preds = %2422
  %2430 = load i32, ptr %228, align 4, !tbaa !5
  %2431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2432 = call i32 @s2n_print_stacktrace(ptr noundef %2431) #12
  %2433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2434 = trunc nuw i8 %2433 to i1
  br i1 %2434, label %2435, label %2439

2435:                                             ; preds = %2429
  %2436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2437 = call i32 @fileno(ptr noundef %2436) #12
  %2438 = call i32 @isatty(i32 noundef %2437) #12
  %.not1736 = icmp eq i32 %2438, 0
  br i1 %.not1736, label %2439, label %2440

2439:                                             ; preds = %2435, %2429
  br label %2440

2440:                                             ; preds = %2435, %2439
  %.str.5.sink3054 = phi ptr [ @.str.5, %2439 ], [ @.str.2, %2435 ]
  store i32 %2430, ptr %228, align 4, !tbaa !5
  %2441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2442 = load i32, ptr @test_count, align 4, !tbaa !5
  %2443 = load i32, ptr %174, align 4, !tbaa !5
  %2444 = call ptr @s2n_strerror(i32 noundef %2443, ptr noundef nonnull @.str.4) #12
  %2445 = load i32, ptr %174, align 4, !tbaa !5
  %2446 = call ptr @s2n_strerror_debug(i32 noundef %2445, ptr noundef nonnull @.str.4) #12
  %2447 = load i32, ptr %228, align 4, !tbaa !5
  %2448 = call ptr @strerror(i32 noundef %2447) #12
  %2449 = load i32, ptr %228, align 4, !tbaa !5
  %2450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2441, ptr noundef nonnull %.str.5.sink3054, i32 noundef %2442, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %2444, ptr noundef %2446, ptr noundef %2448, i32 noundef %2449) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2451:                                             ; preds = %2422
  %2452 = add nsw i32 %2423, 2
  store i32 %2452, ptr @test_count, align 4, !tbaa !5
  %2453 = getelementptr inbounds i8, ptr %2425, i64 148
  %2454 = load i32, ptr %2453, align 4, !tbaa !58
  %2455 = icmp eq i32 %2454, 0
  br i1 %2455, label %2478, label %2456

2456:                                             ; preds = %2451
  %2457 = load i32, ptr %228, align 4, !tbaa !5
  %2458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2459 = call i32 @s2n_print_stacktrace(ptr noundef %2458) #12
  %2460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2461 = trunc nuw i8 %2460 to i1
  br i1 %2461, label %2462, label %2466

2462:                                             ; preds = %2456
  %2463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2464 = call i32 @fileno(ptr noundef %2463) #12
  %2465 = call i32 @isatty(i32 noundef %2464) #12
  %.not1737 = icmp eq i32 %2465, 0
  br i1 %.not1737, label %2466, label %2467

2466:                                             ; preds = %2462, %2456
  br label %2467

2467:                                             ; preds = %2462, %2466
  %.str.5.sink3063 = phi ptr [ @.str.5, %2466 ], [ @.str.2, %2462 ]
  store i32 %2457, ptr %228, align 4, !tbaa !5
  %2468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2469 = load i32, ptr @test_count, align 4, !tbaa !5
  %2470 = load i32, ptr %174, align 4, !tbaa !5
  %2471 = call ptr @s2n_strerror(i32 noundef %2470, ptr noundef nonnull @.str.4) #12
  %2472 = load i32, ptr %174, align 4, !tbaa !5
  %2473 = call ptr @s2n_strerror_debug(i32 noundef %2472, ptr noundef nonnull @.str.4) #12
  %2474 = load i32, ptr %228, align 4, !tbaa !5
  %2475 = call ptr @strerror(i32 noundef %2474) #12
  %2476 = load i32, ptr %228, align 4, !tbaa !5
  %2477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2468, ptr noundef nonnull %.str.5.sink3063, i32 noundef %2469, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %2471, ptr noundef %2473, ptr noundef %2475, i32 noundef %2476) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2478:                                             ; preds = %2451
  %2479 = add nsw i32 %2423, 3
  store i32 %2479, ptr @test_count, align 4, !tbaa !5
  %2480 = call i32 @s2n_psk_set_early_data_context(ptr noundef nonnull %2425, ptr noundef nonnull %3, i16 noundef zeroext 11) #12
  %2481 = icmp eq i32 %2480, -1
  br i1 %2481, label %2482, label %2504

2482:                                             ; preds = %2478
  %2483 = load i32, ptr %228, align 4, !tbaa !5
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = call i32 @s2n_print_stacktrace(ptr noundef %2484) #12
  %2486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2487 = trunc nuw i8 %2486 to i1
  br i1 %2487, label %2488, label %2492

2488:                                             ; preds = %2482
  %2489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2490 = call i32 @fileno(ptr noundef %2489) #12
  %2491 = call i32 @isatty(i32 noundef %2490) #12
  %.not2225 = icmp eq i32 %2491, 0
  br i1 %.not2225, label %2492, label %2493

2492:                                             ; preds = %2488, %2482
  br label %2493

2493:                                             ; preds = %2488, %2492
  %.str.5.sink3072 = phi ptr [ @.str.5, %2492 ], [ @.str.2, %2488 ]
  store i32 %2483, ptr %228, align 4, !tbaa !5
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2495 = load i32, ptr @test_count, align 4, !tbaa !5
  %2496 = load i32, ptr %174, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror(i32 noundef %2496, ptr noundef nonnull @.str.4) #12
  %2498 = load i32, ptr %174, align 4, !tbaa !5
  %2499 = call ptr @s2n_strerror_debug(i32 noundef %2498, ptr noundef nonnull @.str.4) #12
  %2500 = load i32, ptr %228, align 4, !tbaa !5
  %2501 = call ptr @strerror(i32 noundef %2500) #12
  %2502 = load i32, ptr %228, align 4, !tbaa !5
  %2503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2494, ptr noundef nonnull %.str.5.sink3072, i32 noundef %2495, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %2497, ptr noundef %2499, ptr noundef %2501, i32 noundef %2502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2504:                                             ; preds = %2478
  %2505 = load i32, ptr @test_count, align 4, !tbaa !5
  %2506 = add nsw i32 %2505, 1
  store i32 %2506, ptr @test_count, align 4, !tbaa !5
  %2507 = load ptr, ptr %20, align 8, !tbaa !9
  %2508 = getelementptr inbounds i8, ptr %2507, i64 144
  %2509 = load i32, ptr %2508, align 8, !tbaa !57
  %2510 = icmp eq i32 %2509, 11
  br i1 %2510, label %2533, label %2511

2511:                                             ; preds = %2504
  %2512 = load i32, ptr %228, align 4, !tbaa !5
  %2513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2514 = call i32 @s2n_print_stacktrace(ptr noundef %2513) #12
  %2515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2516 = trunc nuw i8 %2515 to i1
  br i1 %2516, label %2517, label %2521

2517:                                             ; preds = %2511
  %2518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2519 = call i32 @fileno(ptr noundef %2518) #12
  %2520 = call i32 @isatty(i32 noundef %2519) #12
  %.not1738 = icmp eq i32 %2520, 0
  br i1 %.not1738, label %2521, label %2522

2521:                                             ; preds = %2517, %2511
  br label %2522

2522:                                             ; preds = %2517, %2521
  %.str.5.sink3081 = phi ptr [ @.str.5, %2521 ], [ @.str.2, %2517 ]
  store i32 %2512, ptr %228, align 4, !tbaa !5
  %2523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2524 = load i32, ptr @test_count, align 4, !tbaa !5
  %2525 = load i32, ptr %174, align 4, !tbaa !5
  %2526 = call ptr @s2n_strerror(i32 noundef %2525, ptr noundef nonnull @.str.4) #12
  %2527 = load i32, ptr %174, align 4, !tbaa !5
  %2528 = call ptr @s2n_strerror_debug(i32 noundef %2527, ptr noundef nonnull @.str.4) #12
  %2529 = load i32, ptr %228, align 4, !tbaa !5
  %2530 = call ptr @strerror(i32 noundef %2529) #12
  %2531 = load i32, ptr %228, align 4, !tbaa !5
  %2532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2523, ptr noundef nonnull %.str.5.sink3081, i32 noundef %2524, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %2526, ptr noundef %2528, ptr noundef %2530, i32 noundef %2531) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2533:                                             ; preds = %2504
  %2534 = add nsw i32 %2505, 2
  store i32 %2534, ptr @test_count, align 4, !tbaa !5
  %2535 = getelementptr inbounds i8, ptr %2507, i64 136
  %2536 = load ptr, ptr %2535, align 8, !tbaa !59
  %bcmp1739 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %2536, ptr noundef nonnull dereferenceable(11) %3, i64 11)
  %2537 = icmp eq i32 %bcmp1739, 0
  br i1 %2537, label %2560, label %2538

2538:                                             ; preds = %2533
  %2539 = load i32, ptr %228, align 4, !tbaa !5
  %2540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2541 = call i32 @s2n_print_stacktrace(ptr noundef %2540) #12
  %2542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2543 = trunc nuw i8 %2542 to i1
  br i1 %2543, label %2544, label %2548

2544:                                             ; preds = %2538
  %2545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2546 = call i32 @fileno(ptr noundef %2545) #12
  %2547 = call i32 @isatty(i32 noundef %2546) #12
  %.not1740 = icmp eq i32 %2547, 0
  br i1 %.not1740, label %2548, label %2549

2548:                                             ; preds = %2544, %2538
  br label %2549

2549:                                             ; preds = %2544, %2548
  %.str.5.sink3090 = phi ptr [ @.str.5, %2548 ], [ @.str.2, %2544 ]
  store i32 %2539, ptr %228, align 4, !tbaa !5
  %2550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2551 = load i32, ptr @test_count, align 4, !tbaa !5
  %2552 = load i32, ptr %174, align 4, !tbaa !5
  %2553 = call ptr @s2n_strerror(i32 noundef %2552, ptr noundef nonnull @.str.4) #12
  %2554 = load i32, ptr %174, align 4, !tbaa !5
  %2555 = call ptr @s2n_strerror_debug(i32 noundef %2554, ptr noundef nonnull @.str.4) #12
  %2556 = load i32, ptr %228, align 4, !tbaa !5
  %2557 = call ptr @strerror(i32 noundef %2556) #12
  %2558 = load i32, ptr %228, align 4, !tbaa !5
  %2559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2550, ptr noundef nonnull %.str.5.sink3090, i32 noundef %2551, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %2553, ptr noundef %2555, ptr noundef %2557, i32 noundef %2558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2560:                                             ; preds = %2533
  %2561 = add nsw i32 %2505, 3
  store i32 %2561, ptr @test_count, align 4, !tbaa !5
  %2562 = call i32 @s2n_psk_set_early_data_context(ptr noundef nonnull %2507, ptr noundef nonnull %4, i16 noundef zeroext 15) #12
  %2563 = icmp eq i32 %2562, -1
  br i1 %2563, label %2564, label %2586

2564:                                             ; preds = %2560
  %2565 = load i32, ptr %228, align 4, !tbaa !5
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = call i32 @s2n_print_stacktrace(ptr noundef %2566) #12
  %2568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2569 = trunc nuw i8 %2568 to i1
  br i1 %2569, label %2570, label %2574

2570:                                             ; preds = %2564
  %2571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2572 = call i32 @fileno(ptr noundef %2571) #12
  %2573 = call i32 @isatty(i32 noundef %2572) #12
  %.not2224 = icmp eq i32 %2573, 0
  br i1 %.not2224, label %2574, label %2575

2574:                                             ; preds = %2570, %2564
  br label %2575

2575:                                             ; preds = %2570, %2574
  %.str.5.sink3099 = phi ptr [ @.str.5, %2574 ], [ @.str.2, %2570 ]
  store i32 %2565, ptr %228, align 4, !tbaa !5
  %2576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2577 = load i32, ptr @test_count, align 4, !tbaa !5
  %2578 = load i32, ptr %174, align 4, !tbaa !5
  %2579 = call ptr @s2n_strerror(i32 noundef %2578, ptr noundef nonnull @.str.4) #12
  %2580 = load i32, ptr %174, align 4, !tbaa !5
  %2581 = call ptr @s2n_strerror_debug(i32 noundef %2580, ptr noundef nonnull @.str.4) #12
  %2582 = load i32, ptr %228, align 4, !tbaa !5
  %2583 = call ptr @strerror(i32 noundef %2582) #12
  %2584 = load i32, ptr %228, align 4, !tbaa !5
  %2585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2576, ptr noundef nonnull %.str.5.sink3099, i32 noundef %2577, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %2579, ptr noundef %2581, ptr noundef %2583, i32 noundef %2584) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2586:                                             ; preds = %2560
  %2587 = load i32, ptr @test_count, align 4, !tbaa !5
  %2588 = add nsw i32 %2587, 1
  store i32 %2588, ptr @test_count, align 4, !tbaa !5
  %2589 = load ptr, ptr %20, align 8, !tbaa !9
  %2590 = getelementptr inbounds i8, ptr %2589, i64 144
  %2591 = load i32, ptr %2590, align 8, !tbaa !57
  %2592 = icmp eq i32 %2591, 15
  br i1 %2592, label %2615, label %2593

2593:                                             ; preds = %2586
  %2594 = load i32, ptr %228, align 4, !tbaa !5
  %2595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2596 = call i32 @s2n_print_stacktrace(ptr noundef %2595) #12
  %2597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2598 = trunc nuw i8 %2597 to i1
  br i1 %2598, label %2599, label %2603

2599:                                             ; preds = %2593
  %2600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2601 = call i32 @fileno(ptr noundef %2600) #12
  %2602 = call i32 @isatty(i32 noundef %2601) #12
  %.not1741 = icmp eq i32 %2602, 0
  br i1 %.not1741, label %2603, label %2604

2603:                                             ; preds = %2599, %2593
  br label %2604

2604:                                             ; preds = %2599, %2603
  %.str.5.sink3108 = phi ptr [ @.str.5, %2603 ], [ @.str.2, %2599 ]
  store i32 %2594, ptr %228, align 4, !tbaa !5
  %2605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2606 = load i32, ptr @test_count, align 4, !tbaa !5
  %2607 = load i32, ptr %174, align 4, !tbaa !5
  %2608 = call ptr @s2n_strerror(i32 noundef %2607, ptr noundef nonnull @.str.4) #12
  %2609 = load i32, ptr %174, align 4, !tbaa !5
  %2610 = call ptr @s2n_strerror_debug(i32 noundef %2609, ptr noundef nonnull @.str.4) #12
  %2611 = load i32, ptr %228, align 4, !tbaa !5
  %2612 = call ptr @strerror(i32 noundef %2611) #12
  %2613 = load i32, ptr %228, align 4, !tbaa !5
  %2614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2605, ptr noundef nonnull %.str.5.sink3108, i32 noundef %2606, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %2608, ptr noundef %2610, ptr noundef %2612, i32 noundef %2613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2615:                                             ; preds = %2586
  %2616 = add nsw i32 %2587, 2
  store i32 %2616, ptr @test_count, align 4, !tbaa !5
  %2617 = getelementptr inbounds i8, ptr %2589, i64 136
  %2618 = load ptr, ptr %2617, align 8, !tbaa !59
  %bcmp1742 = call i32 @bcmp(ptr noundef nonnull dereferenceable(15) %2618, ptr noundef nonnull dereferenceable(15) %4, i64 15)
  %2619 = icmp eq i32 %bcmp1742, 0
  br i1 %2619, label %2642, label %2620

2620:                                             ; preds = %2615
  %2621 = load i32, ptr %228, align 4, !tbaa !5
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = call i32 @s2n_print_stacktrace(ptr noundef %2622) #12
  %2624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2625 = trunc nuw i8 %2624 to i1
  br i1 %2625, label %2626, label %2630

2626:                                             ; preds = %2620
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = call i32 @fileno(ptr noundef %2627) #12
  %2629 = call i32 @isatty(i32 noundef %2628) #12
  %.not1743 = icmp eq i32 %2629, 0
  br i1 %.not1743, label %2630, label %2631

2630:                                             ; preds = %2626, %2620
  br label %2631

2631:                                             ; preds = %2626, %2630
  %.str.5.sink3117 = phi ptr [ @.str.5, %2630 ], [ @.str.2, %2626 ]
  store i32 %2621, ptr %228, align 4, !tbaa !5
  %2632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2633 = load i32, ptr @test_count, align 4, !tbaa !5
  %2634 = load i32, ptr %174, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror(i32 noundef %2634, ptr noundef nonnull @.str.4) #12
  %2636 = load i32, ptr %174, align 4, !tbaa !5
  %2637 = call ptr @s2n_strerror_debug(i32 noundef %2636, ptr noundef nonnull @.str.4) #12
  %2638 = load i32, ptr %228, align 4, !tbaa !5
  %2639 = call ptr @strerror(i32 noundef %2638) #12
  %2640 = load i32, ptr %228, align 4, !tbaa !5
  %2641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2632, ptr noundef nonnull %.str.5.sink3117, i32 noundef %2633, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %2635, ptr noundef %2637, ptr noundef %2639, i32 noundef %2640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2642:                                             ; preds = %2615
  %2643 = add nsw i32 %2587, 3
  store i32 %2643, ptr @test_count, align 4, !tbaa !5
  %2644 = call i32 @s2n_psk_set_early_data_context(ptr noundef nonnull %2589, ptr noundef nonnull %3, i16 noundef zeroext 0) #12
  %2645 = icmp eq i32 %2644, -1
  br i1 %2645, label %2646, label %2668

2646:                                             ; preds = %2642
  %2647 = load i32, ptr %228, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = call i32 @s2n_print_stacktrace(ptr noundef %2648) #12
  %2650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2651 = trunc nuw i8 %2650 to i1
  br i1 %2651, label %2652, label %2656

2652:                                             ; preds = %2646
  %2653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2654 = call i32 @fileno(ptr noundef %2653) #12
  %2655 = call i32 @isatty(i32 noundef %2654) #12
  %.not2223 = icmp eq i32 %2655, 0
  br i1 %.not2223, label %2656, label %2657

2656:                                             ; preds = %2652, %2646
  br label %2657

2657:                                             ; preds = %2652, %2656
  %.str.5.sink3126 = phi ptr [ @.str.5, %2656 ], [ @.str.2, %2652 ]
  store i32 %2647, ptr %228, align 4, !tbaa !5
  %2658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = load i32, ptr %174, align 4, !tbaa !5
  %2661 = call ptr @s2n_strerror(i32 noundef %2660, ptr noundef nonnull @.str.4) #12
  %2662 = load i32, ptr %174, align 4, !tbaa !5
  %2663 = call ptr @s2n_strerror_debug(i32 noundef %2662, ptr noundef nonnull @.str.4) #12
  %2664 = load i32, ptr %228, align 4, !tbaa !5
  %2665 = call ptr @strerror(i32 noundef %2664) #12
  %2666 = load i32, ptr %228, align 4, !tbaa !5
  %2667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2658, ptr noundef nonnull %.str.5.sink3126, i32 noundef %2659, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 357, ptr noundef %2661, ptr noundef %2663, ptr noundef %2665, i32 noundef %2666) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2668:                                             ; preds = %2642
  %2669 = load i32, ptr @test_count, align 4, !tbaa !5
  %2670 = add nsw i32 %2669, 1
  store i32 %2670, ptr @test_count, align 4, !tbaa !5
  %2671 = load ptr, ptr %20, align 8, !tbaa !9
  %2672 = getelementptr inbounds i8, ptr %2671, i64 144
  %2673 = load i32, ptr %2672, align 8, !tbaa !57
  %2674 = icmp eq i32 %2673, 0
  br i1 %2674, label %2697, label %2675

2675:                                             ; preds = %2668
  %2676 = load i32, ptr %228, align 4, !tbaa !5
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = call i32 @s2n_print_stacktrace(ptr noundef %2677) #12
  %2679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2680 = trunc nuw i8 %2679 to i1
  br i1 %2680, label %2681, label %2685

2681:                                             ; preds = %2675
  %2682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2683 = call i32 @fileno(ptr noundef %2682) #12
  %2684 = call i32 @isatty(i32 noundef %2683) #12
  %.not1744 = icmp eq i32 %2684, 0
  br i1 %.not1744, label %2685, label %2686

2685:                                             ; preds = %2681, %2675
  br label %2686

2686:                                             ; preds = %2681, %2685
  %.str.5.sink3135 = phi ptr [ @.str.5, %2685 ], [ @.str.2, %2681 ]
  store i32 %2676, ptr %228, align 4, !tbaa !5
  %2687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2688 = load i32, ptr @test_count, align 4, !tbaa !5
  %2689 = load i32, ptr %174, align 4, !tbaa !5
  %2690 = call ptr @s2n_strerror(i32 noundef %2689, ptr noundef nonnull @.str.4) #12
  %2691 = load i32, ptr %174, align 4, !tbaa !5
  %2692 = call ptr @s2n_strerror_debug(i32 noundef %2691, ptr noundef nonnull @.str.4) #12
  %2693 = load i32, ptr %228, align 4, !tbaa !5
  %2694 = call ptr @strerror(i32 noundef %2693) #12
  %2695 = load i32, ptr %228, align 4, !tbaa !5
  %2696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2687, ptr noundef nonnull %.str.5.sink3135, i32 noundef %2688, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %2690, ptr noundef %2692, ptr noundef %2694, i32 noundef %2695) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2697:                                             ; preds = %2668
  %2698 = add nsw i32 %2669, 2
  store i32 %2698, ptr @test_count, align 4, !tbaa !5
  %2699 = getelementptr inbounds i8, ptr %2671, i64 148
  %2700 = load i32, ptr %2699, align 4, !tbaa !58
  %2701 = icmp eq i32 %2700, 0
  br i1 %2701, label %2724, label %2702

2702:                                             ; preds = %2697
  %2703 = load i32, ptr %228, align 4, !tbaa !5
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @s2n_print_stacktrace(ptr noundef %2704) #12
  %2706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2707 = trunc nuw i8 %2706 to i1
  br i1 %2707, label %2708, label %2712

2708:                                             ; preds = %2702
  %2709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2710 = call i32 @fileno(ptr noundef %2709) #12
  %2711 = call i32 @isatty(i32 noundef %2710) #12
  %.not1745 = icmp eq i32 %2711, 0
  br i1 %.not1745, label %2712, label %2713

2712:                                             ; preds = %2708, %2702
  br label %2713

2713:                                             ; preds = %2708, %2712
  %.str.5.sink3144 = phi ptr [ @.str.5, %2712 ], [ @.str.2, %2708 ]
  store i32 %2703, ptr %228, align 4, !tbaa !5
  %2714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2715 = load i32, ptr @test_count, align 4, !tbaa !5
  %2716 = load i32, ptr %174, align 4, !tbaa !5
  %2717 = call ptr @s2n_strerror(i32 noundef %2716, ptr noundef nonnull @.str.4) #12
  %2718 = load i32, ptr %174, align 4, !tbaa !5
  %2719 = call ptr @s2n_strerror_debug(i32 noundef %2718, ptr noundef nonnull @.str.4) #12
  %2720 = load i32, ptr %228, align 4, !tbaa !5
  %2721 = call ptr @strerror(i32 noundef %2720) #12
  %2722 = load i32, ptr %228, align 4, !tbaa !5
  %2723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2714, ptr noundef nonnull %.str.5.sink3144, i32 noundef %2715, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %2717, ptr noundef %2719, ptr noundef %2721, i32 noundef %2722) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2724:                                             ; preds = %2697
  %2725 = add nsw i32 %2669, 3
  store i32 %2725, ptr @test_count, align 4, !tbaa !5
  %2726 = call i32 @s2n_psk_set_early_data_context(ptr noundef nonnull %2671, ptr noundef nonnull %3, i16 noundef zeroext 0) #12
  %2727 = icmp eq i32 %2726, -1
  br i1 %2727, label %2728, label %2750

2728:                                             ; preds = %2724
  %2729 = load i32, ptr %228, align 4, !tbaa !5
  %2730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2731 = call i32 @s2n_print_stacktrace(ptr noundef %2730) #12
  %2732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2733 = trunc nuw i8 %2732 to i1
  br i1 %2733, label %2734, label %2738

2734:                                             ; preds = %2728
  %2735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2736 = call i32 @fileno(ptr noundef %2735) #12
  %2737 = call i32 @isatty(i32 noundef %2736) #12
  %.not2222 = icmp eq i32 %2737, 0
  br i1 %.not2222, label %2738, label %2739

2738:                                             ; preds = %2734, %2728
  br label %2739

2739:                                             ; preds = %2734, %2738
  %.str.5.sink3153 = phi ptr [ @.str.5, %2738 ], [ @.str.2, %2734 ]
  store i32 %2729, ptr %228, align 4, !tbaa !5
  %2740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2741 = load i32, ptr @test_count, align 4, !tbaa !5
  %2742 = load i32, ptr %174, align 4, !tbaa !5
  %2743 = call ptr @s2n_strerror(i32 noundef %2742, ptr noundef nonnull @.str.4) #12
  %2744 = load i32, ptr %174, align 4, !tbaa !5
  %2745 = call ptr @s2n_strerror_debug(i32 noundef %2744, ptr noundef nonnull @.str.4) #12
  %2746 = load i32, ptr %228, align 4, !tbaa !5
  %2747 = call ptr @strerror(i32 noundef %2746) #12
  %2748 = load i32, ptr %228, align 4, !tbaa !5
  %2749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2740, ptr noundef nonnull %.str.5.sink3153, i32 noundef %2741, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %2743, ptr noundef %2745, ptr noundef %2747, i32 noundef %2748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2750:                                             ; preds = %2724
  %2751 = load i32, ptr @test_count, align 4, !tbaa !5
  %2752 = add nsw i32 %2751, 1
  store i32 %2752, ptr @test_count, align 4, !tbaa !5
  %2753 = load ptr, ptr %20, align 8, !tbaa !9
  %2754 = getelementptr inbounds i8, ptr %2753, i64 144
  %2755 = load i32, ptr %2754, align 8, !tbaa !57
  %2756 = icmp eq i32 %2755, 0
  br i1 %2756, label %2779, label %2757

2757:                                             ; preds = %2750
  %2758 = load i32, ptr %228, align 4, !tbaa !5
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = call i32 @s2n_print_stacktrace(ptr noundef %2759) #12
  %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) #12
  %2766 = call i32 @isatty(i32 noundef %2765) #12
  %.not1746 = icmp eq i32 %2766, 0
  br i1 %.not1746, label %2767, label %2768

2767:                                             ; preds = %2763, %2757
  br label %2768

2768:                                             ; preds = %2763, %2767
  %.str.5.sink3162 = phi ptr [ @.str.5, %2767 ], [ @.str.2, %2763 ]
  store i32 %2758, ptr %228, 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 %174, align 4, !tbaa !5
  %2772 = call ptr @s2n_strerror(i32 noundef %2771, ptr noundef nonnull @.str.4) #12
  %2773 = load i32, ptr %174, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror_debug(i32 noundef %2773, ptr noundef nonnull @.str.4) #12
  %2775 = load i32, ptr %228, align 4, !tbaa !5
  %2776 = call ptr @strerror(i32 noundef %2775) #12
  %2777 = load i32, ptr %228, align 4, !tbaa !5
  %2778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2769, ptr noundef nonnull %.str.5.sink3162, i32 noundef %2770, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %2772, ptr noundef %2774, ptr noundef %2776, i32 noundef %2777) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2779:                                             ; preds = %2750
  %2780 = add nsw i32 %2751, 2
  store i32 %2780, ptr @test_count, align 4, !tbaa !5
  %2781 = getelementptr inbounds i8, ptr %2753, i64 148
  %2782 = load i32, ptr %2781, align 4, !tbaa !58
  %2783 = icmp eq i32 %2782, 0
  br i1 %2783, label %2806, label %2784

2784:                                             ; preds = %2779
  %2785 = load i32, ptr %228, align 4, !tbaa !5
  %2786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2787 = call i32 @s2n_print_stacktrace(ptr noundef %2786) #12
  %2788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2789 = trunc nuw i8 %2788 to i1
  br i1 %2789, label %2790, label %2794

2790:                                             ; preds = %2784
  %2791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2792 = call i32 @fileno(ptr noundef %2791) #12
  %2793 = call i32 @isatty(i32 noundef %2792) #12
  %.not1747 = icmp eq i32 %2793, 0
  br i1 %.not1747, label %2794, label %2795

2794:                                             ; preds = %2790, %2784
  br label %2795

2795:                                             ; preds = %2790, %2794
  %.str.5.sink3171 = phi ptr [ @.str.5, %2794 ], [ @.str.2, %2790 ]
  store i32 %2785, ptr %228, align 4, !tbaa !5
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = load i32, ptr @test_count, align 4, !tbaa !5
  %2798 = load i32, ptr %174, align 4, !tbaa !5
  %2799 = call ptr @s2n_strerror(i32 noundef %2798, ptr noundef nonnull @.str.4) #12
  %2800 = load i32, ptr %174, align 4, !tbaa !5
  %2801 = call ptr @s2n_strerror_debug(i32 noundef %2800, ptr noundef nonnull @.str.4) #12
  %2802 = load i32, ptr %228, align 4, !tbaa !5
  %2803 = call ptr @strerror(i32 noundef %2802) #12
  %2804 = load i32, ptr %228, align 4, !tbaa !5
  %2805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2796, ptr noundef nonnull %.str.5.sink3171, i32 noundef %2797, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %2799, ptr noundef %2801, ptr noundef %2803, i32 noundef %2804) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2806:                                             ; preds = %2779
  %2807 = call i32 @s2n_psk_free(ptr noundef nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #12
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %21) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %21, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.test_bad_value, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %22) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %22, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.test_apln, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %2808 = load i64, ptr @__const.main.test_context, align 1
  store i64 %2808, ptr %23, align 8
  br label %2813

2809:                                             ; preds = %3370
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %21) #12
  %2810 = load i32, ptr @test_count, align 4, !tbaa !5
  %2811 = add nsw i32 %2810, 1
  store i32 %2811, ptr @test_count, align 4, !tbaa !5
  %2812 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef null) #12
  br i1 %2812, label %3372, label %3394

2813:                                             ; preds = %2806, %3370
  %.not2199 = phi i1 [ true, %2806 ], [ false, %3370 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #12
  %2814 = call ptr @s2n_external_psk_new() #12
  store ptr %2814, ptr %24, align 8, !tbaa !9
  %2815 = load i32, ptr @test_count, align 4, !tbaa !5
  %2816 = add nsw i32 %2815, 1
  store i32 %2816, ptr @test_count, align 4, !tbaa !5
  %2817 = icmp eq ptr %2814, null
  br i1 %2817, label %2818, label %2840

2818:                                             ; preds = %2813
  %2819 = load i32, ptr %228, align 4, !tbaa !5
  %2820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2821 = call i32 @s2n_print_stacktrace(ptr noundef %2820) #12
  %2822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2823 = trunc nuw i8 %2822 to i1
  br i1 %2823, label %2824, label %2828

2824:                                             ; preds = %2818
  %2825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2826 = call i32 @fileno(ptr noundef %2825) #12
  %2827 = call i32 @isatty(i32 noundef %2826) #12
  %.not2221 = icmp eq i32 %2827, 0
  br i1 %.not2221, label %2828, label %2829

2828:                                             ; preds = %2824, %2818
  br label %2829

2829:                                             ; preds = %2824, %2828
  %.str.5.sink3180 = phi ptr [ @.str.5, %2828 ], [ @.str.2, %2824 ]
  store i32 %2819, ptr %228, align 4, !tbaa !5
  %2830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2831 = load i32, ptr @test_count, align 4, !tbaa !5
  %2832 = load i32, ptr %174, align 4, !tbaa !5
  %2833 = call ptr @s2n_strerror(i32 noundef %2832, ptr noundef nonnull @.str.4) #12
  %2834 = load i32, ptr %174, align 4, !tbaa !5
  %2835 = call ptr @s2n_strerror_debug(i32 noundef %2834, ptr noundef nonnull @.str.4) #12
  %2836 = load i32, ptr %228, align 4, !tbaa !5
  %2837 = call ptr @strerror(i32 noundef %2836) #12
  %2838 = load i32, ptr %228, align 4, !tbaa !5
  %2839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2830, ptr noundef nonnull %.str.5.sink3180, i32 noundef %2831, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %2833, ptr noundef %2835, ptr noundef %2837, i32 noundef %2838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2840:                                             ; preds = %2813
  %2841 = add nsw i32 %2815, 2
  store i32 %2841, ptr @test_count, align 4, !tbaa !5
  %2842 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_chacha20_poly1305_sha256, i64 24), align 8, !tbaa !45
  %2843 = load i8, ptr getelementptr inbounds (i8, ptr @s2n_tls13_chacha20_poly1305_sha256, i64 25), align 1, !tbaa !45
  %2844 = call i32 @s2n_psk_configure_early_data(ptr noundef nonnull %2814, i32 noundef 10, i8 noundef zeroext %2842, i8 noundef zeroext %2843) #12
  %2845 = icmp eq i32 %2844, -1
  br i1 %2845, label %2846, label %2868

2846:                                             ; preds = %2840
  %2847 = load i32, ptr %228, align 4, !tbaa !5
  %2848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2849 = call i32 @s2n_print_stacktrace(ptr noundef %2848) #12
  %2850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2851 = trunc nuw i8 %2850 to i1
  br i1 %2851, label %2852, label %2856

2852:                                             ; preds = %2846
  %2853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2854 = call i32 @fileno(ptr noundef %2853) #12
  %2855 = call i32 @isatty(i32 noundef %2854) #12
  %.not2220 = icmp eq i32 %2855, 0
  br i1 %.not2220, label %2856, label %2857

2856:                                             ; preds = %2852, %2846
  br label %2857

2857:                                             ; preds = %2852, %2856
  %.str.5.sink3189 = phi ptr [ @.str.5, %2856 ], [ @.str.2, %2852 ]
  store i32 %2847, ptr %228, align 4, !tbaa !5
  %2858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2859 = load i32, ptr @test_count, align 4, !tbaa !5
  %2860 = load i32, ptr %174, align 4, !tbaa !5
  %2861 = call ptr @s2n_strerror(i32 noundef %2860, ptr noundef nonnull @.str.4) #12
  %2862 = load i32, ptr %174, align 4, !tbaa !5
  %2863 = call ptr @s2n_strerror_debug(i32 noundef %2862, ptr noundef nonnull @.str.4) #12
  %2864 = load i32, ptr %228, align 4, !tbaa !5
  %2865 = call ptr @strerror(i32 noundef %2864) #12
  %2866 = load i32, ptr %228, align 4, !tbaa !5
  %2867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2858, ptr noundef nonnull %.str.5.sink3189, i32 noundef %2859, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %2861, ptr noundef %2863, ptr noundef %2865, i32 noundef %2866) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2868:                                             ; preds = %2840
  %2869 = load i32, ptr @test_count, align 4, !tbaa !5
  %2870 = add nsw i32 %2869, 1
  store i32 %2870, ptr @test_count, align 4, !tbaa !5
  %2871 = load ptr, ptr %24, align 8, !tbaa !9
  %2872 = call i32 @s2n_psk_set_application_protocol(ptr noundef %2871, ptr noundef nonnull %22, i8 noundef zeroext 9) #12
  %2873 = icmp eq i32 %2872, -1
  br i1 %2873, label %2874, label %2896

2874:                                             ; preds = %2868
  %2875 = load i32, ptr %228, align 4, !tbaa !5
  %2876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2877 = call i32 @s2n_print_stacktrace(ptr noundef %2876) #12
  %2878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2879 = trunc nuw i8 %2878 to i1
  br i1 %2879, label %2880, label %2884

2880:                                             ; preds = %2874
  %2881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2882 = call i32 @fileno(ptr noundef %2881) #12
  %2883 = call i32 @isatty(i32 noundef %2882) #12
  %.not2219 = icmp eq i32 %2883, 0
  br i1 %.not2219, label %2884, label %2885

2884:                                             ; preds = %2880, %2874
  br label %2885

2885:                                             ; preds = %2880, %2884
  %.str.5.sink3198 = phi ptr [ @.str.5, %2884 ], [ @.str.2, %2880 ]
  store i32 %2875, ptr %228, align 4, !tbaa !5
  %2886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2887 = load i32, ptr @test_count, align 4, !tbaa !5
  %2888 = load i32, ptr %174, align 4, !tbaa !5
  %2889 = call ptr @s2n_strerror(i32 noundef %2888, ptr noundef nonnull @.str.4) #12
  %2890 = load i32, ptr %174, align 4, !tbaa !5
  %2891 = call ptr @s2n_strerror_debug(i32 noundef %2890, ptr noundef nonnull @.str.4) #12
  %2892 = load i32, ptr %228, align 4, !tbaa !5
  %2893 = call ptr @strerror(i32 noundef %2892) #12
  %2894 = load i32, ptr %228, align 4, !tbaa !5
  %2895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2886, ptr noundef nonnull %.str.5.sink3198, i32 noundef %2887, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %2889, ptr noundef %2891, ptr noundef %2893, i32 noundef %2894) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2896:                                             ; preds = %2868
  %2897 = load i32, ptr @test_count, align 4, !tbaa !5
  %2898 = add nsw i32 %2897, 1
  store i32 %2898, ptr @test_count, align 4, !tbaa !5
  %2899 = load ptr, ptr %24, align 8, !tbaa !9
  %2900 = call i32 @s2n_psk_set_early_data_context(ptr noundef %2899, ptr noundef nonnull %23, i16 noundef zeroext 8) #12
  %2901 = icmp eq i32 %2900, -1
  br i1 %2901, label %2902, label %2924

2902:                                             ; preds = %2896
  %2903 = load i32, ptr %228, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = call i32 @s2n_print_stacktrace(ptr noundef %2904) #12
  %2906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2907 = trunc nuw i8 %2906 to i1
  br i1 %2907, label %2908, label %2912

2908:                                             ; preds = %2902
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = call i32 @fileno(ptr noundef %2909) #12
  %2911 = call i32 @isatty(i32 noundef %2910) #12
  %.not2218 = icmp eq i32 %2911, 0
  br i1 %.not2218, label %2912, label %2913

2912:                                             ; preds = %2908, %2902
  br label %2913

2913:                                             ; preds = %2908, %2912
  %.str.5.sink3207 = phi ptr [ @.str.5, %2912 ], [ @.str.2, %2908 ]
  store i32 %2903, ptr %228, align 4, !tbaa !5
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = load i32, ptr @test_count, align 4, !tbaa !5
  %2916 = load i32, ptr %174, align 4, !tbaa !5
  %2917 = call ptr @s2n_strerror(i32 noundef %2916, ptr noundef nonnull @.str.4) #12
  %2918 = load i32, ptr %174, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror_debug(i32 noundef %2918, ptr noundef nonnull @.str.4) #12
  %2920 = load i32, ptr %228, align 4, !tbaa !5
  %2921 = call ptr @strerror(i32 noundef %2920) #12
  %2922 = load i32, ptr %228, align 4, !tbaa !5
  %2923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2914, ptr noundef nonnull %.str.5.sink3207, i32 noundef %2915, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %2917, ptr noundef %2919, ptr noundef %2921, i32 noundef %2922) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2924:                                             ; preds = %2896
  %2925 = load ptr, ptr %24, align 8, !tbaa !9
  %2926 = getelementptr inbounds i8, ptr %2925, i64 100
  store i8 -1, ptr %2926, align 4, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #12
  %2927 = call ptr @s2n_external_psk_new() #12
  store ptr %2927, ptr %25, align 8, !tbaa !9
  %2928 = load i32, ptr @test_count, align 4, !tbaa !5
  %2929 = add nsw i32 %2928, 1
  store i32 %2929, ptr @test_count, align 4, !tbaa !5
  %2930 = call i32 @s2n_psk_set_application_protocol(ptr noundef %2927, ptr noundef nonnull %21, i8 noundef zeroext 6) #12
  %2931 = icmp eq i32 %2930, -1
  br i1 %2931, label %2932, label %2954

2932:                                             ; preds = %2924
  %2933 = load i32, ptr %228, align 4, !tbaa !5
  %2934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2935 = call i32 @s2n_print_stacktrace(ptr noundef %2934) #12
  %2936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2937 = trunc nuw i8 %2936 to i1
  br i1 %2937, label %2938, label %2942

2938:                                             ; preds = %2932
  %2939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2940 = call i32 @fileno(ptr noundef %2939) #12
  %2941 = call i32 @isatty(i32 noundef %2940) #12
  %.not2217 = icmp eq i32 %2941, 0
  br i1 %.not2217, label %2942, label %2943

2942:                                             ; preds = %2938, %2932
  br label %2943

2943:                                             ; preds = %2938, %2942
  %.str.5.sink3216 = phi ptr [ @.str.5, %2942 ], [ @.str.2, %2938 ]
  store i32 %2933, ptr %228, align 4, !tbaa !5
  %2944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2945 = load i32, ptr @test_count, align 4, !tbaa !5
  %2946 = load i32, ptr %174, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror(i32 noundef %2946, ptr noundef nonnull @.str.4) #12
  %2948 = load i32, ptr %174, align 4, !tbaa !5
  %2949 = call ptr @s2n_strerror_debug(i32 noundef %2948, ptr noundef nonnull @.str.4) #12
  %2950 = load i32, ptr %228, align 4, !tbaa !5
  %2951 = call ptr @strerror(i32 noundef %2950) #12
  %2952 = load i32, ptr %228, align 4, !tbaa !5
  %2953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2944, ptr noundef nonnull %.str.5.sink3216, i32 noundef %2945, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %2947, ptr noundef %2949, ptr noundef %2951, i32 noundef %2952) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2954:                                             ; preds = %2924
  %2955 = load i32, ptr @test_count, align 4, !tbaa !5
  %2956 = add nsw i32 %2955, 1
  store i32 %2956, ptr @test_count, align 4, !tbaa !5
  %2957 = load ptr, ptr %25, align 8, !tbaa !9
  %2958 = icmp eq ptr %2957, null
  br i1 %2958, label %2959, label %2981

2959:                                             ; preds = %2954
  %2960 = load i32, ptr %228, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @s2n_print_stacktrace(ptr noundef %2961) #12
  %2963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2964 = trunc nuw i8 %2963 to i1
  br i1 %2964, label %2965, label %2969

2965:                                             ; preds = %2959
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = call i32 @fileno(ptr noundef %2966) #12
  %2968 = call i32 @isatty(i32 noundef %2967) #12
  %.not2216 = icmp eq i32 %2968, 0
  br i1 %.not2216, label %2969, label %2970

2969:                                             ; preds = %2965, %2959
  br label %2970

2970:                                             ; preds = %2965, %2969
  %.str.5.sink3225 = phi ptr [ @.str.5, %2969 ], [ @.str.2, %2965 ]
  store i32 %2960, ptr %228, align 4, !tbaa !5
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = load i32, ptr @test_count, align 4, !tbaa !5
  %2973 = load i32, ptr %174, align 4, !tbaa !5
  %2974 = call ptr @s2n_strerror(i32 noundef %2973, ptr noundef nonnull @.str.4) #12
  %2975 = load i32, ptr %174, align 4, !tbaa !5
  %2976 = call ptr @s2n_strerror_debug(i32 noundef %2975, ptr noundef nonnull @.str.4) #12
  %2977 = load i32, ptr %228, align 4, !tbaa !5
  %2978 = call ptr @strerror(i32 noundef %2977) #12
  %2979 = load i32, ptr %228, align 4, !tbaa !5
  %2980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2971, ptr noundef nonnull %.str.5.sink3225, i32 noundef %2972, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %2974, ptr noundef %2976, ptr noundef %2978, i32 noundef %2979) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2981:                                             ; preds = %2954
  %2982 = add nsw i32 %2955, 2
  store i32 %2982, ptr @test_count, align 4, !tbaa !5
  %2983 = load ptr, ptr %24, align 8, !tbaa !9
  br i1 %.not2199, label %3010, label %2984

2984:                                             ; preds = %2981
  %2985 = getelementptr inbounds i8, ptr %2983, i64 96
  %2986 = call i32 @s2n_early_data_config_clone(ptr noundef nonnull %2957, ptr noundef nonnull %2985) #12
  %2987 = call zeroext i1 @s2n_result_is_ok(i32 %2986)
  br i1 %2987, label %3092, label %2988

2988:                                             ; preds = %2984
  %2989 = load i32, ptr %228, align 4, !tbaa !5
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = call i32 @s2n_print_stacktrace(ptr noundef %2990) #12
  %2992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2993 = trunc nuw i8 %2992 to i1
  br i1 %2993, label %2994, label %2998

2994:                                             ; preds = %2988
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = call i32 @fileno(ptr noundef %2995) #12
  %2997 = call i32 @isatty(i32 noundef %2996) #12
  %.not2203 = icmp eq i32 %2997, 0
  br i1 %.not2203, label %2998, label %2999

2998:                                             ; preds = %2994, %2988
  br label %2999

2999:                                             ; preds = %2994, %2998
  %.str.5.sink3234 = phi ptr [ @.str.5, %2998 ], [ @.str.2, %2994 ]
  store i32 %2989, ptr %228, align 4, !tbaa !5
  %3000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3001 = load i32, ptr @test_count, align 4, !tbaa !5
  %3002 = load i32, ptr %174, align 4, !tbaa !5
  %3003 = call ptr @s2n_strerror(i32 noundef %3002, ptr noundef nonnull @.str.4) #12
  %3004 = load i32, ptr %174, align 4, !tbaa !5
  %3005 = call ptr @s2n_strerror_debug(i32 noundef %3004, ptr noundef nonnull @.str.4) #12
  %3006 = load i32, ptr %228, align 4, !tbaa !5
  %3007 = call ptr @strerror(i32 noundef %3006) #12
  %3008 = load i32, ptr %228, align 4, !tbaa !5
  %3009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3000, ptr noundef nonnull %.str.5.sink3234, i32 noundef %3001, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %3003, ptr noundef %3005, ptr noundef %3007, i32 noundef %3008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3010:                                             ; preds = %2981
  %3011 = call i32 @s2n_psk_set_identity(ptr noundef %2983, ptr noundef nonnull %21, i16 noundef zeroext 6) #12
  %3012 = icmp eq i32 %3011, -1
  br i1 %3012, label %3013, label %3035

3013:                                             ; preds = %3010
  %3014 = load i32, ptr %228, align 4, !tbaa !5
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = call i32 @s2n_print_stacktrace(ptr noundef %3015) #12
  %3017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3018 = trunc nuw i8 %3017 to i1
  br i1 %3018, label %3019, label %3023

3019:                                             ; preds = %3013
  %3020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3021 = call i32 @fileno(ptr noundef %3020) #12
  %3022 = call i32 @isatty(i32 noundef %3021) #12
  %.not2202 = icmp eq i32 %3022, 0
  br i1 %.not2202, label %3023, label %3024

3023:                                             ; preds = %3019, %3013
  br label %3024

3024:                                             ; preds = %3019, %3023
  %.str.5.sink3243 = phi ptr [ @.str.5, %3023 ], [ @.str.2, %3019 ]
  store i32 %3014, ptr %228, align 4, !tbaa !5
  %3025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3026 = load i32, ptr @test_count, align 4, !tbaa !5
  %3027 = load i32, ptr %174, align 4, !tbaa !5
  %3028 = call ptr @s2n_strerror(i32 noundef %3027, ptr noundef nonnull @.str.4) #12
  %3029 = load i32, ptr %174, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror_debug(i32 noundef %3029, ptr noundef nonnull @.str.4) #12
  %3031 = load i32, ptr %228, align 4, !tbaa !5
  %3032 = call ptr @strerror(i32 noundef %3031) #12
  %3033 = load i32, ptr %228, align 4, !tbaa !5
  %3034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3025, ptr noundef nonnull %.str.5.sink3243, i32 noundef %3026, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %3028, ptr noundef %3030, ptr noundef %3032, i32 noundef %3033) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3035:                                             ; preds = %3010
  %3036 = load i32, ptr @test_count, align 4, !tbaa !5
  %3037 = add nsw i32 %3036, 1
  store i32 %3037, ptr @test_count, align 4, !tbaa !5
  %3038 = load ptr, ptr %24, align 8, !tbaa !9
  %3039 = call i32 @s2n_psk_set_secret(ptr noundef %3038, ptr noundef nonnull %21, i16 noundef zeroext 6) #12
  %3040 = icmp eq i32 %3039, -1
  br i1 %3040, label %3041, label %3063

3041:                                             ; preds = %3035
  %3042 = load i32, ptr %228, align 4, !tbaa !5
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = call i32 @s2n_print_stacktrace(ptr noundef %3043) #12
  %3045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3046 = trunc nuw i8 %3045 to i1
  br i1 %3046, label %3047, label %3051

3047:                                             ; preds = %3041
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = call i32 @fileno(ptr noundef %3048) #12
  %3050 = call i32 @isatty(i32 noundef %3049) #12
  %.not2201 = icmp eq i32 %3050, 0
  br i1 %.not2201, label %3051, label %3052

3051:                                             ; preds = %3047, %3041
  br label %3052

3052:                                             ; preds = %3047, %3051
  %.str.5.sink3252 = phi ptr [ @.str.5, %3051 ], [ @.str.2, %3047 ]
  store i32 %3042, ptr %228, align 4, !tbaa !5
  %3053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3054 = load i32, ptr @test_count, align 4, !tbaa !5
  %3055 = load i32, ptr %174, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror(i32 noundef %3055, ptr noundef nonnull @.str.4) #12
  %3057 = load i32, ptr %174, align 4, !tbaa !5
  %3058 = call ptr @s2n_strerror_debug(i32 noundef %3057, ptr noundef nonnull @.str.4) #12
  %3059 = load i32, ptr %228, align 4, !tbaa !5
  %3060 = call ptr @strerror(i32 noundef %3059) #12
  %3061 = load i32, ptr %228, align 4, !tbaa !5
  %3062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3053, ptr noundef nonnull %.str.5.sink3252, i32 noundef %3054, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %3056, ptr noundef %3058, ptr noundef %3060, i32 noundef %3061) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3063:                                             ; preds = %3035
  %3064 = load i32, ptr @test_count, align 4, !tbaa !5
  %3065 = add nsw i32 %3064, 1
  store i32 %3065, ptr @test_count, align 4, !tbaa !5
  %3066 = load ptr, ptr %25, align 8, !tbaa !9
  %3067 = load ptr, ptr %24, align 8, !tbaa !9
  %3068 = call i32 @s2n_psk_clone(ptr noundef %3066, ptr noundef %3067) #12
  %3069 = call zeroext i1 @s2n_result_is_ok(i32 %3068)
  br i1 %3069, label %3092, label %3070

3070:                                             ; preds = %3063
  %3071 = load i32, ptr %228, align 4, !tbaa !5
  %3072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3073 = call i32 @s2n_print_stacktrace(ptr noundef %3072) #12
  %3074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3075 = trunc nuw i8 %3074 to i1
  br i1 %3075, label %3076, label %3080

3076:                                             ; preds = %3070
  %3077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3078 = call i32 @fileno(ptr noundef %3077) #12
  %3079 = call i32 @isatty(i32 noundef %3078) #12
  %.not2200 = icmp eq i32 %3079, 0
  br i1 %.not2200, label %3080, label %3081

3080:                                             ; preds = %3076, %3070
  br label %3081

3081:                                             ; preds = %3076, %3080
  %.str.5.sink3261 = phi ptr [ @.str.5, %3080 ], [ @.str.2, %3076 ]
  store i32 %3071, ptr %228, align 4, !tbaa !5
  %3082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3083 = load i32, ptr @test_count, align 4, !tbaa !5
  %3084 = load i32, ptr %174, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror(i32 noundef %3084, ptr noundef nonnull @.str.4) #12
  %3086 = load i32, ptr %174, align 4, !tbaa !5
  %3087 = call ptr @s2n_strerror_debug(i32 noundef %3086, ptr noundef nonnull @.str.4) #12
  %3088 = load i32, ptr %228, align 4, !tbaa !5
  %3089 = call ptr @strerror(i32 noundef %3088) #12
  %3090 = load i32, ptr %228, align 4, !tbaa !5
  %3091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3082, ptr noundef nonnull %.str.5.sink3261, i32 noundef %3083, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %3085, ptr noundef %3087, ptr noundef %3089, i32 noundef %3090) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3092:                                             ; preds = %2984, %3063
  %3093 = load i32, ptr @test_count, align 4, !tbaa !5
  %3094 = add nsw i32 %3093, 1
  store i32 %3094, ptr @test_count, align 4, !tbaa !5
  %3095 = load ptr, ptr %24, align 8, !tbaa !9
  %3096 = getelementptr inbounds i8, ptr %3095, i64 112
  %3097 = load ptr, ptr %3096, align 8, !tbaa !56
  %3098 = load ptr, ptr %25, align 8, !tbaa !9
  %3099 = getelementptr inbounds i8, ptr %3098, i64 112
  %3100 = load ptr, ptr %3099, align 8, !tbaa !56
  %3101 = icmp eq ptr %3097, %3100
  br i1 %3101, label %3102, label %3124

3102:                                             ; preds = %3092
  %3103 = load i32, ptr %228, align 4, !tbaa !5
  %3104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3105 = call i32 @s2n_print_stacktrace(ptr noundef %3104) #12
  %3106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3107 = trunc nuw i8 %3106 to i1
  br i1 %3107, label %3108, label %3112

3108:                                             ; preds = %3102
  %3109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3110 = call i32 @fileno(ptr noundef %3109) #12
  %3111 = call i32 @isatty(i32 noundef %3110) #12
  %.not2215 = icmp eq i32 %3111, 0
  br i1 %.not2215, label %3112, label %3113

3112:                                             ; preds = %3108, %3102
  br label %3113

3113:                                             ; preds = %3108, %3112
  %.str.5.sink3270 = phi ptr [ @.str.5, %3112 ], [ @.str.2, %3108 ]
  store i32 %3103, ptr %228, align 4, !tbaa !5
  %3114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3115 = load i32, ptr @test_count, align 4, !tbaa !5
  %3116 = load i32, ptr %174, align 4, !tbaa !5
  %3117 = call ptr @s2n_strerror(i32 noundef %3116, ptr noundef nonnull @.str.4) #12
  %3118 = load i32, ptr %174, align 4, !tbaa !5
  %3119 = call ptr @s2n_strerror_debug(i32 noundef %3118, ptr noundef nonnull @.str.4) #12
  %3120 = load i32, ptr %228, align 4, !tbaa !5
  %3121 = call ptr @strerror(i32 noundef %3120) #12
  %3122 = load i32, ptr %228, align 4, !tbaa !5
  %3123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3114, ptr noundef nonnull %.str.5.sink3270, i32 noundef %3115, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %3117, ptr noundef %3119, ptr noundef %3121, i32 noundef %3122) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3124:                                             ; preds = %3092
  %3125 = add nsw i32 %3093, 2
  store i32 %3125, ptr @test_count, align 4, !tbaa !5
  %3126 = getelementptr inbounds i8, ptr %3095, i64 136
  %3127 = load ptr, ptr %3126, align 8, !tbaa !59
  %3128 = getelementptr inbounds i8, ptr %3098, i64 136
  %3129 = load ptr, ptr %3128, align 8, !tbaa !59
  %3130 = icmp eq ptr %3127, %3129
  br i1 %3130, label %3131, label %3153

3131:                                             ; preds = %3124
  %3132 = load i32, ptr %228, align 4, !tbaa !5
  %3133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3134 = call i32 @s2n_print_stacktrace(ptr noundef %3133) #12
  %3135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3136 = trunc nuw i8 %3135 to i1
  br i1 %3136, label %3137, label %3141

3137:                                             ; preds = %3131
  %3138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3139 = call i32 @fileno(ptr noundef %3138) #12
  %3140 = call i32 @isatty(i32 noundef %3139) #12
  %.not2214 = icmp eq i32 %3140, 0
  br i1 %.not2214, label %3141, label %3142

3141:                                             ; preds = %3137, %3131
  br label %3142

3142:                                             ; preds = %3137, %3141
  %.str.5.sink3279 = phi ptr [ @.str.5, %3141 ], [ @.str.2, %3137 ]
  store i32 %3132, ptr %228, align 4, !tbaa !5
  %3143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3144 = load i32, ptr @test_count, align 4, !tbaa !5
  %3145 = load i32, ptr %174, align 4, !tbaa !5
  %3146 = call ptr @s2n_strerror(i32 noundef %3145, ptr noundef nonnull @.str.4) #12
  %3147 = load i32, ptr %174, align 4, !tbaa !5
  %3148 = call ptr @s2n_strerror_debug(i32 noundef %3147, ptr noundef nonnull @.str.4) #12
  %3149 = load i32, ptr %228, align 4, !tbaa !5
  %3150 = call ptr @strerror(i32 noundef %3149) #12
  %3151 = load i32, ptr %228, align 4, !tbaa !5
  %3152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3143, ptr noundef nonnull %.str.5.sink3279, i32 noundef %3144, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %3146, ptr noundef %3148, ptr noundef %3150, i32 noundef %3151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3153:                                             ; preds = %3124
  %3154 = add nsw i32 %3093, 3
  store i32 %3154, ptr @test_count, align 4, !tbaa !5
  %3155 = call i32 @s2n_psk_free(ptr noundef nonnull %24) #12
  %3156 = icmp eq i32 %3155, -1
  br i1 %3156, label %3157, label %3179

3157:                                             ; preds = %3153
  %3158 = load i32, ptr %228, align 4, !tbaa !5
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = call i32 @s2n_print_stacktrace(ptr noundef %3159) #12
  %3161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3162 = trunc nuw i8 %3161 to i1
  br i1 %3162, label %3163, label %3167

3163:                                             ; preds = %3157
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = call i32 @fileno(ptr noundef %3164) #12
  %3166 = call i32 @isatty(i32 noundef %3165) #12
  %.not2213 = icmp eq i32 %3166, 0
  br i1 %.not2213, label %3167, label %3168

3167:                                             ; preds = %3163, %3157
  br label %3168

3168:                                             ; preds = %3163, %3167
  %.str.5.sink3288 = phi ptr [ @.str.5, %3167 ], [ @.str.2, %3163 ]
  store i32 %3158, ptr %228, align 4, !tbaa !5
  %3169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3170 = load i32, ptr @test_count, align 4, !tbaa !5
  %3171 = load i32, ptr %174, align 4, !tbaa !5
  %3172 = call ptr @s2n_strerror(i32 noundef %3171, ptr noundef nonnull @.str.4) #12
  %3173 = load i32, ptr %174, align 4, !tbaa !5
  %3174 = call ptr @s2n_strerror_debug(i32 noundef %3173, ptr noundef nonnull @.str.4) #12
  %3175 = load i32, ptr %228, align 4, !tbaa !5
  %3176 = call ptr @strerror(i32 noundef %3175) #12
  %3177 = load i32, ptr %228, align 4, !tbaa !5
  %3178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3169, ptr noundef nonnull %.str.5.sink3288, i32 noundef %3170, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %3172, ptr noundef %3174, ptr noundef %3176, i32 noundef %3177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3179:                                             ; preds = %3153
  %3180 = load i32, ptr @test_count, align 4, !tbaa !5
  %3181 = add nsw i32 %3180, 1
  store i32 %3181, ptr @test_count, align 4, !tbaa !5
  %3182 = load ptr, ptr %25, align 8, !tbaa !9
  %3183 = getelementptr inbounds i8, ptr %3182, i64 120
  %3184 = load i32, ptr %3183, align 8, !tbaa !54
  %3185 = icmp eq i32 %3184, 9
  br i1 %3185, label %3208, label %3186

3186:                                             ; preds = %3179
  %3187 = load i32, ptr %228, align 4, !tbaa !5
  %3188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3189 = call i32 @s2n_print_stacktrace(ptr noundef %3188) #12
  %3190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3191 = trunc nuw i8 %3190 to i1
  br i1 %3191, label %3192, label %3196

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

3196:                                             ; preds = %3192, %3186
  br label %3197

3197:                                             ; preds = %3192, %3196
  %.str.5.sink3297 = phi ptr [ @.str.5, %3196 ], [ @.str.2, %3192 ]
  store i32 %3187, ptr %228, align 4, !tbaa !5
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = load i32, ptr @test_count, align 4, !tbaa !5
  %3200 = load i32, ptr %174, align 4, !tbaa !5
  %3201 = call ptr @s2n_strerror(i32 noundef %3200, ptr noundef nonnull @.str.4) #12
  %3202 = load i32, ptr %174, align 4, !tbaa !5
  %3203 = call ptr @s2n_strerror_debug(i32 noundef %3202, ptr noundef nonnull @.str.4) #12
  %3204 = load i32, ptr %228, align 4, !tbaa !5
  %3205 = call ptr @strerror(i32 noundef %3204) #12
  %3206 = load i32, ptr %228, align 4, !tbaa !5
  %3207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3198, ptr noundef nonnull %.str.5.sink3297, i32 noundef %3199, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %3201, ptr noundef %3203, ptr noundef %3205, i32 noundef %3206) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3208:                                             ; preds = %3179
  %3209 = add nsw i32 %3180, 2
  store i32 %3209, ptr @test_count, align 4, !tbaa !5
  %3210 = getelementptr inbounds i8, ptr %3182, i64 112
  %3211 = load ptr, ptr %3210, align 8, !tbaa !56
  %bcmp2205 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %3211, ptr noundef nonnull dereferenceable(9) %22, i64 9)
  %3212 = icmp eq i32 %bcmp2205, 0
  br i1 %3212, label %3235, label %3213

3213:                                             ; preds = %3208
  %3214 = load i32, ptr %228, align 4, !tbaa !5
  %3215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3216 = call i32 @s2n_print_stacktrace(ptr noundef %3215) #12
  %3217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3218 = trunc nuw i8 %3217 to i1
  br i1 %3218, label %3219, label %3223

3219:                                             ; preds = %3213
  %3220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3221 = call i32 @fileno(ptr noundef %3220) #12
  %3222 = call i32 @isatty(i32 noundef %3221) #12
  %.not2206 = icmp eq i32 %3222, 0
  br i1 %.not2206, label %3223, label %3224

3223:                                             ; preds = %3219, %3213
  br label %3224

3224:                                             ; preds = %3219, %3223
  %.str.5.sink3306 = phi ptr [ @.str.5, %3223 ], [ @.str.2, %3219 ]
  store i32 %3214, ptr %228, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = load i32, ptr @test_count, align 4, !tbaa !5
  %3227 = load i32, ptr %174, align 4, !tbaa !5
  %3228 = call ptr @s2n_strerror(i32 noundef %3227, ptr noundef nonnull @.str.4) #12
  %3229 = load i32, ptr %174, align 4, !tbaa !5
  %3230 = call ptr @s2n_strerror_debug(i32 noundef %3229, ptr noundef nonnull @.str.4) #12
  %3231 = load i32, ptr %228, align 4, !tbaa !5
  %3232 = call ptr @strerror(i32 noundef %3231) #12
  %3233 = load i32, ptr %228, align 4, !tbaa !5
  %3234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3225, ptr noundef nonnull %.str.5.sink3306, i32 noundef %3226, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %3228, ptr noundef %3230, ptr noundef %3232, i32 noundef %3233) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3235:                                             ; preds = %3208
  %3236 = add nsw i32 %3180, 3
  store i32 %3236, ptr @test_count, align 4, !tbaa !5
  %3237 = getelementptr inbounds i8, ptr %3182, i64 144
  %3238 = load i32, ptr %3237, align 8, !tbaa !57
  %3239 = icmp eq i32 %3238, 8
  br i1 %3239, label %3262, label %3240

3240:                                             ; preds = %3235
  %3241 = load i32, ptr %228, align 4, !tbaa !5
  %3242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3243 = call i32 @s2n_print_stacktrace(ptr noundef %3242) #12
  %3244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3245 = trunc nuw i8 %3244 to i1
  br i1 %3245, label %3246, label %3250

3246:                                             ; preds = %3240
  %3247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3248 = call i32 @fileno(ptr noundef %3247) #12
  %3249 = call i32 @isatty(i32 noundef %3248) #12
  %.not2207 = icmp eq i32 %3249, 0
  br i1 %.not2207, label %3250, label %3251

3250:                                             ; preds = %3246, %3240
  br label %3251

3251:                                             ; preds = %3246, %3250
  %.str.5.sink3315 = phi ptr [ @.str.5, %3250 ], [ @.str.2, %3246 ]
  store i32 %3241, ptr %228, align 4, !tbaa !5
  %3252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3253 = load i32, ptr @test_count, align 4, !tbaa !5
  %3254 = load i32, ptr %174, align 4, !tbaa !5
  %3255 = call ptr @s2n_strerror(i32 noundef %3254, ptr noundef nonnull @.str.4) #12
  %3256 = load i32, ptr %174, align 4, !tbaa !5
  %3257 = call ptr @s2n_strerror_debug(i32 noundef %3256, ptr noundef nonnull @.str.4) #12
  %3258 = load i32, ptr %228, align 4, !tbaa !5
  %3259 = call ptr @strerror(i32 noundef %3258) #12
  %3260 = load i32, ptr %228, align 4, !tbaa !5
  %3261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3252, ptr noundef nonnull %.str.5.sink3315, i32 noundef %3253, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %3255, ptr noundef %3257, ptr noundef %3259, i32 noundef %3260) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3262:                                             ; preds = %3235
  %3263 = add nsw i32 %3180, 4
  store i32 %3263, ptr @test_count, align 4, !tbaa !5
  %3264 = getelementptr inbounds i8, ptr %3182, i64 136
  %3265 = load ptr, ptr %3264, align 8, !tbaa !59
  %bcmp2208 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %3265, ptr noundef nonnull dereferenceable(8) %23, i64 8)
  %3266 = icmp eq i32 %bcmp2208, 0
  br i1 %3266, label %3289, label %3267

3267:                                             ; preds = %3262
  %3268 = load i32, ptr %228, align 4, !tbaa !5
  %3269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3270 = call i32 @s2n_print_stacktrace(ptr noundef %3269) #12
  %3271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3272 = trunc nuw i8 %3271 to i1
  br i1 %3272, label %3273, label %3277

3273:                                             ; preds = %3267
  %3274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3275 = call i32 @fileno(ptr noundef %3274) #12
  %3276 = call i32 @isatty(i32 noundef %3275) #12
  %.not2209 = icmp eq i32 %3276, 0
  br i1 %.not2209, label %3277, label %3278

3277:                                             ; preds = %3273, %3267
  br label %3278

3278:                                             ; preds = %3273, %3277
  %.str.5.sink3324 = phi ptr [ @.str.5, %3277 ], [ @.str.2, %3273 ]
  store i32 %3268, ptr %228, align 4, !tbaa !5
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = load i32, ptr @test_count, align 4, !tbaa !5
  %3281 = load i32, ptr %174, align 4, !tbaa !5
  %3282 = call ptr @s2n_strerror(i32 noundef %3281, ptr noundef nonnull @.str.4) #12
  %3283 = load i32, ptr %174, align 4, !tbaa !5
  %3284 = call ptr @s2n_strerror_debug(i32 noundef %3283, ptr noundef nonnull @.str.4) #12
  %3285 = load i32, ptr %228, align 4, !tbaa !5
  %3286 = call ptr @strerror(i32 noundef %3285) #12
  %3287 = load i32, ptr %228, align 4, !tbaa !5
  %3288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3279, ptr noundef nonnull %.str.5.sink3324, i32 noundef %3280, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %3282, ptr noundef %3284, ptr noundef %3286, i32 noundef %3287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3289:                                             ; preds = %3262
  %3290 = add nsw i32 %3180, 5
  store i32 %3290, ptr @test_count, align 4, !tbaa !5
  %3291 = getelementptr inbounds i8, ptr %3182, i64 96
  %3292 = load i32, ptr %3291, align 8, !tbaa !46
  %3293 = icmp eq i32 %3292, 10
  br i1 %3293, label %3316, label %3294

3294:                                             ; preds = %3289
  %3295 = load i32, ptr %228, align 4, !tbaa !5
  %3296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3297 = call i32 @s2n_print_stacktrace(ptr noundef %3296) #12
  %3298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3299 = trunc nuw i8 %3298 to i1
  br i1 %3299, label %3300, label %3304

3300:                                             ; preds = %3294
  %3301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3302 = call i32 @fileno(ptr noundef %3301) #12
  %3303 = call i32 @isatty(i32 noundef %3302) #12
  %.not2210 = icmp eq i32 %3303, 0
  br i1 %.not2210, label %3304, label %3305

3304:                                             ; preds = %3300, %3294
  br label %3305

3305:                                             ; preds = %3300, %3304
  %.str.5.sink3333 = phi ptr [ @.str.5, %3304 ], [ @.str.2, %3300 ]
  store i32 %3295, ptr %228, align 4, !tbaa !5
  %3306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3307 = load i32, ptr @test_count, align 4, !tbaa !5
  %3308 = load i32, ptr %174, align 4, !tbaa !5
  %3309 = call ptr @s2n_strerror(i32 noundef %3308, ptr noundef nonnull @.str.4) #12
  %3310 = load i32, ptr %174, align 4, !tbaa !5
  %3311 = call ptr @s2n_strerror_debug(i32 noundef %3310, ptr noundef nonnull @.str.4) #12
  %3312 = load i32, ptr %228, align 4, !tbaa !5
  %3313 = call ptr @strerror(i32 noundef %3312) #12
  %3314 = load i32, ptr %228, align 4, !tbaa !5
  %3315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3306, ptr noundef nonnull %.str.5.sink3333, i32 noundef %3307, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %3309, ptr noundef %3311, ptr noundef %3313, i32 noundef %3314) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3316:                                             ; preds = %3289
  %3317 = add nsw i32 %3180, 6
  store i32 %3317, ptr @test_count, align 4, !tbaa !5
  %3318 = getelementptr inbounds i8, ptr %3182, i64 104
  %3319 = load ptr, ptr %3318, align 8, !tbaa !50
  %3320 = icmp eq ptr %3319, @s2n_tls13_chacha20_poly1305_sha256
  br i1 %3320, label %3343, label %3321

3321:                                             ; preds = %3316
  %3322 = load i32, ptr %228, align 4, !tbaa !5
  %3323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3324 = call i32 @s2n_print_stacktrace(ptr noundef %3323) #12
  %3325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3326 = trunc nuw i8 %3325 to i1
  br i1 %3326, label %3327, label %3331

3327:                                             ; preds = %3321
  %3328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3329 = call i32 @fileno(ptr noundef %3328) #12
  %3330 = call i32 @isatty(i32 noundef %3329) #12
  %.not2211 = icmp eq i32 %3330, 0
  br i1 %.not2211, label %3331, label %3332

3331:                                             ; preds = %3327, %3321
  br label %3332

3332:                                             ; preds = %3327, %3331
  %.str.5.sink3342 = phi ptr [ @.str.5, %3331 ], [ @.str.2, %3327 ]
  store i32 %3322, ptr %228, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = load i32, ptr @test_count, align 4, !tbaa !5
  %3335 = load i32, ptr %174, align 4, !tbaa !5
  %3336 = call ptr @s2n_strerror(i32 noundef %3335, ptr noundef nonnull @.str.4) #12
  %3337 = load i32, ptr %174, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror_debug(i32 noundef %3337, ptr noundef nonnull @.str.4) #12
  %3339 = load i32, ptr %228, align 4, !tbaa !5
  %3340 = call ptr @strerror(i32 noundef %3339) #12
  %3341 = load i32, ptr %228, align 4, !tbaa !5
  %3342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3333, ptr noundef nonnull %.str.5.sink3342, i32 noundef %3334, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %3336, ptr noundef %3338, ptr noundef %3340, i32 noundef %3341) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3343:                                             ; preds = %3316
  %3344 = add nsw i32 %3180, 7
  store i32 %3344, ptr @test_count, align 4, !tbaa !5
  %3345 = getelementptr inbounds i8, ptr %3182, i64 100
  %3346 = load i8, ptr %3345, align 4, !tbaa !49
  %3347 = icmp eq i8 %3346, -1
  br i1 %3347, label %3370, label %3348

3348:                                             ; preds = %3343
  %3349 = load i32, ptr %228, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = call i32 @s2n_print_stacktrace(ptr noundef %3350) #12
  %3352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3353 = trunc nuw i8 %3352 to i1
  br i1 %3353, label %3354, label %3358

3354:                                             ; preds = %3348
  %3355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3356 = call i32 @fileno(ptr noundef %3355) #12
  %3357 = call i32 @isatty(i32 noundef %3356) #12
  %.not2212 = icmp eq i32 %3357, 0
  br i1 %.not2212, label %3358, label %3359

3358:                                             ; preds = %3354, %3348
  br label %3359

3359:                                             ; preds = %3354, %3358
  %.str.5.sink3351 = phi ptr [ @.str.5, %3358 ], [ @.str.2, %3354 ]
  store i32 %3349, ptr %228, align 4, !tbaa !5
  %3360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3361 = load i32, ptr @test_count, align 4, !tbaa !5
  %3362 = load i32, ptr %174, align 4, !tbaa !5
  %3363 = call ptr @s2n_strerror(i32 noundef %3362, ptr noundef nonnull @.str.4) #12
  %3364 = load i32, ptr %174, align 4, !tbaa !5
  %3365 = call ptr @s2n_strerror_debug(i32 noundef %3364, ptr noundef nonnull @.str.4) #12
  %3366 = load i32, ptr %228, align 4, !tbaa !5
  %3367 = call ptr @strerror(i32 noundef %3366) #12
  %3368 = load i32, ptr %228, align 4, !tbaa !5
  %3369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3360, ptr noundef nonnull %.str.5.sink3351, i32 noundef %3361, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 416, ptr noundef %3363, ptr noundef %3365, ptr noundef %3367, i32 noundef %3368) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3370:                                             ; preds = %3343
  %3371 = call i32 @s2n_psk_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #12
  br i1 %.not2199, label %2813, label %2809, !llvm.loop !60

3372:                                             ; preds = %2809
  %3373 = load i32, ptr %228, align 4, !tbaa !5
  %3374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3375 = call i32 @s2n_print_stacktrace(ptr noundef %3374) #12
  %3376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3377 = trunc nuw i8 %3376 to i1
  br i1 %3377, label %3378, label %3382

3378:                                             ; preds = %3372
  %3379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3380 = call i32 @fileno(ptr noundef %3379) #12
  %3381 = call i32 @isatty(i32 noundef %3380) #12
  %.not2198 = icmp eq i32 %3381, 0
  br i1 %.not2198, label %3382, label %3383

3382:                                             ; preds = %3378, %3372
  br label %3383

3383:                                             ; preds = %3378, %3382
  %.str.5.sink3360 = phi ptr [ @.str.5, %3382 ], [ @.str.2, %3378 ]
  store i32 %3373, ptr %228, align 4, !tbaa !5
  %3384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3385 = load i32, ptr @test_count, align 4, !tbaa !5
  %3386 = load i32, ptr %174, align 4, !tbaa !5
  %3387 = call ptr @s2n_strerror(i32 noundef %3386, ptr noundef nonnull @.str.4) #12
  %3388 = load i32, ptr %174, align 4, !tbaa !5
  %3389 = call ptr @s2n_strerror_debug(i32 noundef %3388, ptr noundef nonnull @.str.4) #12
  %3390 = load i32, ptr %228, align 4, !tbaa !5
  %3391 = call ptr @strerror(i32 noundef %3390) #12
  %3392 = load i32, ptr %228, align 4, !tbaa !5
  %3393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3384, ptr noundef nonnull %.str.5.sink3360, i32 noundef %3385, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %3387, ptr noundef %3389, ptr noundef %3391, i32 noundef %3392) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3394:                                             ; preds = %2809
  %3395 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3396 = load i32, ptr @test_count, align 4, !tbaa !5
  %3397 = add nsw i32 %3396, 1
  store i32 %3397, ptr @test_count, align 4, !tbaa !5
  %3398 = icmp eq ptr %3395, null
  br i1 %3398, label %3399, label %3421

3399:                                             ; preds = %3394
  %3400 = load i32, ptr %228, align 4, !tbaa !5
  %3401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3402 = call i32 @s2n_print_stacktrace(ptr noundef %3401) #12
  %3403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3404 = trunc nuw i8 %3403 to i1
  br i1 %3404, label %3405, label %3409

3405:                                             ; preds = %3399
  %3406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3407 = call i32 @fileno(ptr noundef %3406) #12
  %3408 = call i32 @isatty(i32 noundef %3407) #12
  %.not2197 = icmp eq i32 %3408, 0
  br i1 %.not2197, label %3409, label %3410

3409:                                             ; preds = %3405, %3399
  br label %3410

3410:                                             ; preds = %3405, %3409
  %.str.5.sink3369 = phi ptr [ @.str.5, %3409 ], [ @.str.2, %3405 ]
  store i32 %3400, ptr %228, align 4, !tbaa !5
  %3411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3412 = load i32, ptr @test_count, align 4, !tbaa !5
  %3413 = load i32, ptr %174, align 4, !tbaa !5
  %3414 = call ptr @s2n_strerror(i32 noundef %3413, ptr noundef nonnull @.str.4) #12
  %3415 = load i32, ptr %174, align 4, !tbaa !5
  %3416 = call ptr @s2n_strerror_debug(i32 noundef %3415, ptr noundef nonnull @.str.4) #12
  %3417 = load i32, ptr %228, align 4, !tbaa !5
  %3418 = call ptr @strerror(i32 noundef %3417) #12
  %3419 = load i32, ptr %228, align 4, !tbaa !5
  %3420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3411, ptr noundef nonnull %.str.5.sink3369, i32 noundef %3412, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 435, ptr noundef %3414, ptr noundef %3416, ptr noundef %3418, i32 noundef %3419) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3421:                                             ; preds = %3394
  %3422 = add nsw i32 %3396, 2
  store i32 %3422, ptr @test_count, align 4, !tbaa !5
  %3423 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %3395, ptr noundef nonnull @.str.84) #12
  %3424 = icmp eq i32 %3423, -1
  br i1 %3424, label %3425, label %3447

3425:                                             ; preds = %3421
  %3426 = load i32, ptr %228, align 4, !tbaa !5
  %3427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3428 = call i32 @s2n_print_stacktrace(ptr noundef %3427) #12
  %3429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3430 = trunc nuw i8 %3429 to i1
  br i1 %3430, label %3431, label %3435

3431:                                             ; preds = %3425
  %3432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3433 = call i32 @fileno(ptr noundef %3432) #12
  %3434 = call i32 @isatty(i32 noundef %3433) #12
  %.not2196 = icmp eq i32 %3434, 0
  br i1 %.not2196, label %3435, label %3436

3435:                                             ; preds = %3431, %3425
  br label %3436

3436:                                             ; preds = %3431, %3435
  %.str.5.sink3378 = phi ptr [ @.str.5, %3435 ], [ @.str.2, %3431 ]
  store i32 %3426, ptr %228, align 4, !tbaa !5
  %3437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3438 = load i32, ptr @test_count, align 4, !tbaa !5
  %3439 = load i32, ptr %174, align 4, !tbaa !5
  %3440 = call ptr @s2n_strerror(i32 noundef %3439, ptr noundef nonnull @.str.4) #12
  %3441 = load i32, ptr %174, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror_debug(i32 noundef %3441, ptr noundef nonnull @.str.4) #12
  %3443 = load i32, ptr %228, align 4, !tbaa !5
  %3444 = call ptr @strerror(i32 noundef %3443) #12
  %3445 = load i32, ptr %228, align 4, !tbaa !5
  %3446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3437, ptr noundef nonnull %.str.5.sink3378, i32 noundef %3438, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 436, ptr noundef %3440, ptr noundef %3442, ptr noundef %3444, i32 noundef %3445) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3447:                                             ; preds = %3421
  %3448 = getelementptr inbounds i8, ptr %3395, i64 232
  %3449 = load ptr, ptr %3448, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %3449, align 8, !tbaa !63
  %3450 = load i32, ptr @test_count, align 4, !tbaa !5
  %3451 = add nsw i32 %3450, 1
  store i32 %3451, ptr @test_count, align 4, !tbaa !5
  %3452 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %3395, i8 noundef zeroext 34) #12
  %3453 = call zeroext i1 @s2n_result_is_ok(i32 %3452)
  br i1 %3453, label %3476, label %3454

3454:                                             ; preds = %3447
  %3455 = load i32, ptr %228, align 4, !tbaa !5
  %3456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3457 = call i32 @s2n_print_stacktrace(ptr noundef %3456) #12
  %3458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3459 = trunc nuw i8 %3458 to i1
  br i1 %3459, label %3460, label %3464

3460:                                             ; preds = %3454
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = call i32 @fileno(ptr noundef %3461) #12
  %3463 = call i32 @isatty(i32 noundef %3462) #12
  %.not1748 = icmp eq i32 %3463, 0
  br i1 %.not1748, label %3464, label %3465

3464:                                             ; preds = %3460, %3454
  br label %3465

3465:                                             ; preds = %3460, %3464
  %.str.5.sink3387 = phi ptr [ @.str.5, %3464 ], [ @.str.2, %3460 ]
  store i32 %3455, ptr %228, align 4, !tbaa !5
  %3466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3467 = load i32, ptr @test_count, align 4, !tbaa !5
  %3468 = load i32, ptr %174, align 4, !tbaa !5
  %3469 = call ptr @s2n_strerror(i32 noundef %3468, ptr noundef nonnull @.str.4) #12
  %3470 = load i32, ptr %174, align 4, !tbaa !5
  %3471 = call ptr @s2n_strerror_debug(i32 noundef %3470, ptr noundef nonnull @.str.4) #12
  %3472 = load i32, ptr %228, align 4, !tbaa !5
  %3473 = call ptr @strerror(i32 noundef %3472) #12
  %3474 = load i32, ptr %228, align 4, !tbaa !5
  %3475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3466, ptr noundef nonnull %.str.5.sink3387, i32 noundef %3467, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %3469, ptr noundef %3471, ptr noundef %3473, i32 noundef %3474) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3476:                                             ; preds = %3447
  %3477 = getelementptr inbounds i8, ptr %3395, i64 220
  store i8 34, ptr %3477, align 4, !tbaa !68
  %3478 = getelementptr inbounds i8, ptr %3395, i64 4088
  store i32 1, ptr %3478, align 8, !tbaa !15
  %3479 = load i32, ptr @test_count, align 4, !tbaa !5
  %3480 = add nsw i32 %3479, 1
  store i32 %3480, ptr @test_count, align 4, !tbaa !5
  %3481 = getelementptr inbounds i8, ptr %3395, i64 1736
  %3482 = load ptr, ptr %3481, align 8, !tbaa !69
  %3483 = icmp eq ptr %3482, null
  br i1 %3483, label %3506, label %3484

3484:                                             ; preds = %3476
  %3485 = load i32, ptr %228, align 4, !tbaa !5
  %3486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3487 = call i32 @s2n_print_stacktrace(ptr noundef %3486) #12
  %3488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3489 = trunc nuw i8 %3488 to i1
  br i1 %3489, label %3490, label %3494

3490:                                             ; preds = %3484
  %3491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3492 = call i32 @fileno(ptr noundef %3491) #12
  %3493 = call i32 @isatty(i32 noundef %3492) #12
  %.not1749 = icmp eq i32 %3493, 0
  br i1 %.not1749, label %3494, label %3495

3494:                                             ; preds = %3490, %3484
  br label %3495

3495:                                             ; preds = %3490, %3494
  %.str.5.sink3396 = phi ptr [ @.str.5, %3494 ], [ @.str.2, %3490 ]
  store i32 %3485, ptr %228, align 4, !tbaa !5
  %3496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3497 = load i32, ptr @test_count, align 4, !tbaa !5
  %3498 = load i32, ptr %174, align 4, !tbaa !5
  %3499 = call ptr @s2n_strerror(i32 noundef %3498, ptr noundef nonnull @.str.4) #12
  %3500 = load i32, ptr %174, align 4, !tbaa !5
  %3501 = call ptr @s2n_strerror_debug(i32 noundef %3500, ptr noundef nonnull @.str.4) #12
  %3502 = load i32, ptr %228, align 4, !tbaa !5
  %3503 = call ptr @strerror(i32 noundef %3502) #12
  %3504 = load i32, ptr %228, align 4, !tbaa !5
  %3505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3496, ptr noundef nonnull %.str.5.sink3396, i32 noundef %3497, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %3499, ptr noundef %3501, ptr noundef %3503, i32 noundef %3504) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3506:                                             ; preds = %3476
  %3507 = add nsw i32 %3479, 2
  store i32 %3507, ptr @test_count, align 4, !tbaa !5
  %3508 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %3395) #12
  br i1 %3508, label %3509, label %3531

3509:                                             ; preds = %3506
  %3510 = load i32, ptr %228, align 4, !tbaa !5
  %3511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3512 = call i32 @s2n_print_stacktrace(ptr noundef %3511) #12
  %3513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3514 = trunc nuw i8 %3513 to i1
  br i1 %3514, label %3515, label %3519

3515:                                             ; preds = %3509
  %3516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3517 = call i32 @fileno(ptr noundef %3516) #12
  %3518 = call i32 @isatty(i32 noundef %3517) #12
  %.not2195 = icmp eq i32 %3518, 0
  br i1 %.not2195, label %3519, label %3520

3519:                                             ; preds = %3515, %3509
  br label %3520

3520:                                             ; preds = %3515, %3519
  %.str.5.sink3405 = phi ptr [ @.str.5, %3519 ], [ @.str.2, %3515 ]
  store i32 %3510, ptr %228, align 4, !tbaa !5
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = load i32, ptr @test_count, align 4, !tbaa !5
  %3523 = load i32, ptr %174, align 4, !tbaa !5
  %3524 = call ptr @s2n_strerror(i32 noundef %3523, ptr noundef nonnull @.str.4) #12
  %3525 = load i32, ptr %174, align 4, !tbaa !5
  %3526 = call ptr @s2n_strerror_debug(i32 noundef %3525, ptr noundef nonnull @.str.4) #12
  %3527 = load i32, ptr %228, align 4, !tbaa !5
  %3528 = call ptr @strerror(i32 noundef %3527) #12
  %3529 = load i32, ptr %228, align 4, !tbaa !5
  %3530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3521, ptr noundef nonnull %.str.5.sink3405, i32 noundef %3522, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %3524, ptr noundef %3526, ptr noundef %3528, i32 noundef %3529) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3531:                                             ; preds = %3506
  %3532 = load i32, ptr @test_count, align 4, !tbaa !5
  %3533 = add nsw i32 %3532, 1
  store i32 %3533, ptr @test_count, align 4, !tbaa !5
  %3534 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %3395, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %3535 = call zeroext i1 @s2n_result_is_ok(i32 %3534)
  br i1 %3535, label %3558, label %3536

3536:                                             ; preds = %3531
  %3537 = load i32, ptr %228, align 4, !tbaa !5
  %3538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3539 = call i32 @s2n_print_stacktrace(ptr noundef %3538) #12
  %3540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3541 = trunc nuw i8 %3540 to i1
  br i1 %3541, label %3542, label %3546

3542:                                             ; preds = %3536
  %3543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3544 = call i32 @fileno(ptr noundef %3543) #12
  %3545 = call i32 @isatty(i32 noundef %3544) #12
  %.not1750 = icmp eq i32 %3545, 0
  br i1 %.not1750, label %3546, label %3547

3546:                                             ; preds = %3542, %3536
  br label %3547

3547:                                             ; preds = %3542, %3546
  %.str.5.sink3414 = phi ptr [ @.str.5, %3546 ], [ @.str.2, %3542 ]
  store i32 %3537, ptr %228, align 4, !tbaa !5
  %3548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3549 = load i32, ptr @test_count, align 4, !tbaa !5
  %3550 = load i32, ptr %174, align 4, !tbaa !5
  %3551 = call ptr @s2n_strerror(i32 noundef %3550, ptr noundef nonnull @.str.4) #12
  %3552 = load i32, ptr %174, align 4, !tbaa !5
  %3553 = call ptr @s2n_strerror_debug(i32 noundef %3552, ptr noundef nonnull @.str.4) #12
  %3554 = load i32, ptr %228, align 4, !tbaa !5
  %3555 = call ptr @strerror(i32 noundef %3554) #12
  %3556 = load i32, ptr %228, align 4, !tbaa !5
  %3557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3548, ptr noundef nonnull %.str.5.sink3414, i32 noundef %3549, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 446, ptr noundef %3551, ptr noundef %3553, ptr noundef %3555, i32 noundef %3556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3558:                                             ; preds = %3531
  %3559 = getelementptr inbounds i8, ptr %3395, i64 1730
  store i16 5, ptr %3559, align 2, !tbaa !70
  %3560 = load i32, ptr @test_count, align 4, !tbaa !5
  %3561 = add nsw i32 %3560, 1
  store i32 %3561, ptr @test_count, align 4, !tbaa !5
  %3562 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %3395) #12
  br i1 %3562, label %3563, label %3585

3563:                                             ; preds = %3558
  %3564 = load i32, ptr %228, align 4, !tbaa !5
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3566 = call i32 @s2n_print_stacktrace(ptr noundef %3565) #12
  %3567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3568 = trunc nuw i8 %3567 to i1
  br i1 %3568, label %3569, label %3573

3569:                                             ; preds = %3563
  %3570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3571 = call i32 @fileno(ptr noundef %3570) #12
  %3572 = call i32 @isatty(i32 noundef %3571) #12
  %.not2194 = icmp eq i32 %3572, 0
  br i1 %.not2194, label %3573, label %3574

3573:                                             ; preds = %3569, %3563
  br label %3574

3574:                                             ; preds = %3569, %3573
  %.str.5.sink3423 = phi ptr [ @.str.5, %3573 ], [ @.str.2, %3569 ]
  store i32 %3564, ptr %228, align 4, !tbaa !5
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3576 = load i32, ptr @test_count, align 4, !tbaa !5
  %3577 = load i32, ptr %174, align 4, !tbaa !5
  %3578 = call ptr @s2n_strerror(i32 noundef %3577, ptr noundef nonnull @.str.4) #12
  %3579 = load i32, ptr %174, align 4, !tbaa !5
  %3580 = call ptr @s2n_strerror_debug(i32 noundef %3579, ptr noundef nonnull @.str.4) #12
  %3581 = load i32, ptr %228, align 4, !tbaa !5
  %3582 = call ptr @strerror(i32 noundef %3581) #12
  %3583 = load i32, ptr %228, align 4, !tbaa !5
  %3584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3575, ptr noundef nonnull %.str.5.sink3423, i32 noundef %3576, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 450, ptr noundef %3578, ptr noundef %3580, ptr noundef %3582, i32 noundef %3583) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3585:                                             ; preds = %3558
  store i16 0, ptr %3559, align 2, !tbaa !70
  %3586 = load i32, ptr @test_count, align 4, !tbaa !5
  %3587 = add nsw i32 %3586, 1
  store i32 %3587, ptr @test_count, align 4, !tbaa !5
  %3588 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %3395) #12
  br i1 %3588, label %3611, label %3589

3589:                                             ; preds = %3585
  %3590 = load i32, ptr %228, align 4, !tbaa !5
  %3591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3592 = call i32 @s2n_print_stacktrace(ptr noundef %3591) #12
  %3593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3594 = trunc nuw i8 %3593 to i1
  br i1 %3594, label %3595, label %3599

3595:                                             ; preds = %3589
  %3596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3597 = call i32 @fileno(ptr noundef %3596) #12
  %3598 = call i32 @isatty(i32 noundef %3597) #12
  %.not1751 = icmp eq i32 %3598, 0
  br i1 %.not1751, label %3599, label %3600

3599:                                             ; preds = %3595, %3589
  br label %3600

3600:                                             ; preds = %3595, %3599
  %.str.5.sink3432 = phi ptr [ @.str.5, %3599 ], [ @.str.2, %3595 ]
  store i32 %3590, ptr %228, align 4, !tbaa !5
  %3601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3602 = load i32, ptr @test_count, align 4, !tbaa !5
  %3603 = load i32, ptr %174, align 4, !tbaa !5
  %3604 = call ptr @s2n_strerror(i32 noundef %3603, ptr noundef nonnull @.str.4) #12
  %3605 = load i32, ptr %174, align 4, !tbaa !5
  %3606 = call ptr @s2n_strerror_debug(i32 noundef %3605, ptr noundef nonnull @.str.4) #12
  %3607 = load i32, ptr %228, align 4, !tbaa !5
  %3608 = call ptr @strerror(i32 noundef %3607) #12
  %3609 = load i32, ptr %228, align 4, !tbaa !5
  %3610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3601, ptr noundef nonnull %.str.5.sink3432, i32 noundef %3602, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 454, ptr noundef %3604, ptr noundef %3606, ptr noundef %3608, i32 noundef %3609) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3611:                                             ; preds = %3585
  %3612 = load i32, ptr @test_count, align 4, !tbaa !5
  %3613 = add nsw i32 %3612, 1
  store i32 %3613, ptr @test_count, align 4, !tbaa !5
  %3614 = call i32 @s2n_connection_free(ptr noundef nonnull %3395) #12
  %3615 = icmp eq i32 %3614, -1
  br i1 %3615, label %3616, label %3638

3616:                                             ; preds = %3611
  %3617 = load i32, ptr %228, align 4, !tbaa !5
  %3618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3619 = call i32 @s2n_print_stacktrace(ptr noundef %3618) #12
  %3620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3621 = trunc nuw i8 %3620 to i1
  br i1 %3621, label %3622, label %3626

3622:                                             ; preds = %3616
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = call i32 @fileno(ptr noundef %3623) #12
  %3625 = call i32 @isatty(i32 noundef %3624) #12
  %.not2193 = icmp eq i32 %3625, 0
  br i1 %.not2193, label %3626, label %3627

3626:                                             ; preds = %3622, %3616
  br label %3627

3627:                                             ; preds = %3622, %3626
  %.str.5.sink3441 = phi ptr [ @.str.5, %3626 ], [ @.str.2, %3622 ]
  store i32 %3617, ptr %228, align 4, !tbaa !5
  %3628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3629 = load i32, ptr @test_count, align 4, !tbaa !5
  %3630 = load i32, ptr %174, align 4, !tbaa !5
  %3631 = call ptr @s2n_strerror(i32 noundef %3630, ptr noundef nonnull @.str.4) #12
  %3632 = load i32, ptr %174, align 4, !tbaa !5
  %3633 = call ptr @s2n_strerror_debug(i32 noundef %3632, ptr noundef nonnull @.str.4) #12
  %3634 = load i32, ptr %228, align 4, !tbaa !5
  %3635 = call ptr @strerror(i32 noundef %3634) #12
  %3636 = load i32, ptr %228, align 4, !tbaa !5
  %3637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3628, ptr noundef nonnull %.str.5.sink3441, i32 noundef %3629, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 456, ptr noundef %3631, ptr noundef %3633, ptr noundef %3635, i32 noundef %3636) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3638:                                             ; preds = %3611
  %3639 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3640 = load i32, ptr @test_count, align 4, !tbaa !5
  %3641 = add nsw i32 %3640, 1
  store i32 %3641, ptr @test_count, align 4, !tbaa !5
  %3642 = icmp eq ptr %3639, null
  br i1 %3642, label %3643, label %3665

3643:                                             ; preds = %3638
  %3644 = load i32, ptr %228, align 4, !tbaa !5
  %3645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3646 = call i32 @s2n_print_stacktrace(ptr noundef %3645) #12
  %3647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3648 = trunc nuw i8 %3647 to i1
  br i1 %3648, label %3649, label %3653

3649:                                             ; preds = %3643
  %3650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3651 = call i32 @fileno(ptr noundef %3650) #12
  %3652 = call i32 @isatty(i32 noundef %3651) #12
  %.not2192 = icmp eq i32 %3652, 0
  br i1 %.not2192, label %3653, label %3654

3653:                                             ; preds = %3649, %3643
  br label %3654

3654:                                             ; preds = %3649, %3653
  %.str.5.sink3450 = phi ptr [ @.str.5, %3653 ], [ @.str.2, %3649 ]
  store i32 %3644, ptr %228, align 4, !tbaa !5
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = load i32, ptr @test_count, align 4, !tbaa !5
  %3657 = load i32, ptr %174, align 4, !tbaa !5
  %3658 = call ptr @s2n_strerror(i32 noundef %3657, ptr noundef nonnull @.str.4) #12
  %3659 = load i32, ptr %174, align 4, !tbaa !5
  %3660 = call ptr @s2n_strerror_debug(i32 noundef %3659, ptr noundef nonnull @.str.4) #12
  %3661 = load i32, ptr %228, align 4, !tbaa !5
  %3662 = call ptr @strerror(i32 noundef %3661) #12
  %3663 = load i32, ptr %228, align 4, !tbaa !5
  %3664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3655, ptr noundef nonnull %.str.5.sink3450, i32 noundef %3656, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 474, ptr noundef %3658, ptr noundef %3660, ptr noundef %3662, i32 noundef %3663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3665:                                             ; preds = %3638
  %3666 = add nsw i32 %3640, 2
  store i32 %3666, ptr @test_count, align 4, !tbaa !5
  %3667 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %3639, ptr noundef nonnull @.str.84) #12
  %3668 = icmp eq i32 %3667, -1
  br i1 %3668, label %3669, label %3691

3669:                                             ; preds = %3665
  %3670 = load i32, ptr %228, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = call i32 @s2n_print_stacktrace(ptr noundef %3671) #12
  %3673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3674 = trunc nuw i8 %3673 to i1
  br i1 %3674, label %3675, label %3679

3675:                                             ; preds = %3669
  %3676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3677 = call i32 @fileno(ptr noundef %3676) #12
  %3678 = call i32 @isatty(i32 noundef %3677) #12
  %.not2191 = icmp eq i32 %3678, 0
  br i1 %.not2191, label %3679, label %3680

3679:                                             ; preds = %3675, %3669
  br label %3680

3680:                                             ; preds = %3675, %3679
  %.str.5.sink3459 = phi ptr [ @.str.5, %3679 ], [ @.str.2, %3675 ]
  store i32 %3670, ptr %228, align 4, !tbaa !5
  %3681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = load i32, ptr %174, align 4, !tbaa !5
  %3684 = call ptr @s2n_strerror(i32 noundef %3683, ptr noundef nonnull @.str.4) #12
  %3685 = load i32, ptr %174, align 4, !tbaa !5
  %3686 = call ptr @s2n_strerror_debug(i32 noundef %3685, ptr noundef nonnull @.str.4) #12
  %3687 = load i32, ptr %228, align 4, !tbaa !5
  %3688 = call ptr @strerror(i32 noundef %3687) #12
  %3689 = load i32, ptr %228, align 4, !tbaa !5
  %3690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3681, ptr noundef nonnull %.str.5.sink3459, i32 noundef %3682, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 475, ptr noundef %3684, ptr noundef %3686, ptr noundef %3688, i32 noundef %3689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3691:                                             ; preds = %3665
  %3692 = load i32, ptr @test_count, align 4, !tbaa !5
  %3693 = add nsw i32 %3692, 1
  store i32 %3693, ptr @test_count, align 4, !tbaa !5
  %3694 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %3639, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %3695 = call zeroext i1 @s2n_result_is_ok(i32 %3694)
  br i1 %3695, label %3718, label %3696

3696:                                             ; preds = %3691
  %3697 = load i32, ptr %228, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = call i32 @s2n_print_stacktrace(ptr noundef %3698) #12
  %3700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3701 = trunc nuw i8 %3700 to i1
  br i1 %3701, label %3702, label %3706

3702:                                             ; preds = %3696
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = call i32 @fileno(ptr noundef %3703) #12
  %3705 = call i32 @isatty(i32 noundef %3704) #12
  %.not1752 = icmp eq i32 %3705, 0
  br i1 %.not1752, label %3706, label %3707

3706:                                             ; preds = %3702, %3696
  br label %3707

3707:                                             ; preds = %3702, %3706
  %.str.5.sink3468 = phi ptr [ @.str.5, %3706 ], [ @.str.2, %3702 ]
  store i32 %3697, ptr %228, align 4, !tbaa !5
  %3708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3709 = load i32, ptr @test_count, align 4, !tbaa !5
  %3710 = load i32, ptr %174, align 4, !tbaa !5
  %3711 = call ptr @s2n_strerror(i32 noundef %3710, ptr noundef nonnull @.str.4) #12
  %3712 = load i32, ptr %174, align 4, !tbaa !5
  %3713 = call ptr @s2n_strerror_debug(i32 noundef %3712, ptr noundef nonnull @.str.4) #12
  %3714 = load i32, ptr %228, align 4, !tbaa !5
  %3715 = call ptr @strerror(i32 noundef %3714) #12
  %3716 = load i32, ptr %228, align 4, !tbaa !5
  %3717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3708, ptr noundef nonnull %.str.5.sink3468, i32 noundef %3709, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 476, ptr noundef %3711, ptr noundef %3713, ptr noundef %3715, i32 noundef %3716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3718:                                             ; preds = %3691
  %3719 = getelementptr inbounds i8, ptr %3639, i64 232
  %3720 = load ptr, ptr %3719, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %3720, align 8, !tbaa !63
  %3721 = getelementptr inbounds i8, ptr %3639, i64 4088
  store i32 1, ptr %3721, align 8, !tbaa !15
  %3722 = getelementptr inbounds i8, ptr %3639, i64 220
  store i8 33, ptr %3722, align 4, !tbaa !68
  %3723 = load i32, ptr @test_count, align 4, !tbaa !5
  %3724 = add nsw i32 %3723, 1
  store i32 %3724, ptr @test_count, align 4, !tbaa !5
  %3725 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %3639, i8 noundef zeroext 33) #12
  %3726 = call zeroext i1 @s2n_result_is_ok(i32 %3725)
  br i1 %3726, label %3749, label %3727

3727:                                             ; preds = %3718
  %3728 = load i32, ptr %228, align 4, !tbaa !5
  %3729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3730 = call i32 @s2n_print_stacktrace(ptr noundef %3729) #12
  %3731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3732 = trunc nuw i8 %3731 to i1
  br i1 %3732, label %3733, label %3737

3733:                                             ; preds = %3727
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = call i32 @fileno(ptr noundef %3734) #12
  %3736 = call i32 @isatty(i32 noundef %3735) #12
  %.not1753 = icmp eq i32 %3736, 0
  br i1 %.not1753, label %3737, label %3738

3737:                                             ; preds = %3733, %3727
  br label %3738

3738:                                             ; preds = %3733, %3737
  %.str.5.sink3477 = phi ptr [ @.str.5, %3737 ], [ @.str.2, %3733 ]
  store i32 %3728, ptr %228, align 4, !tbaa !5
  %3739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3740 = load i32, ptr @test_count, align 4, !tbaa !5
  %3741 = load i32, ptr %174, align 4, !tbaa !5
  %3742 = call ptr @s2n_strerror(i32 noundef %3741, ptr noundef nonnull @.str.4) #12
  %3743 = load i32, ptr %174, align 4, !tbaa !5
  %3744 = call ptr @s2n_strerror_debug(i32 noundef %3743, ptr noundef nonnull @.str.4) #12
  %3745 = load i32, ptr %228, align 4, !tbaa !5
  %3746 = call ptr @strerror(i32 noundef %3745) #12
  %3747 = load i32, ptr %228, align 4, !tbaa !5
  %3748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3739, ptr noundef nonnull %.str.5.sink3477, i32 noundef %3740, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 481, ptr noundef %3742, ptr noundef %3744, ptr noundef %3746, i32 noundef %3747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3749:                                             ; preds = %3718
  %3750 = load i32, ptr @test_count, align 4, !tbaa !5
  %3751 = add nsw i32 %3750, 1
  store i32 %3751, ptr @test_count, align 4, !tbaa !5
  %3752 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %3639) #12
  br i1 %3752, label %3753, label %3775

3753:                                             ; preds = %3749
  %3754 = load i32, ptr %228, align 4, !tbaa !5
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = call i32 @s2n_print_stacktrace(ptr noundef %3755) #12
  %3757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3758 = trunc nuw i8 %3757 to i1
  br i1 %3758, label %3759, label %3763

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

3763:                                             ; preds = %3759, %3753
  br label %3764

3764:                                             ; preds = %3759, %3763
  %.str.5.sink3486 = phi ptr [ @.str.5, %3763 ], [ @.str.2, %3759 ]
  store i32 %3754, ptr %228, align 4, !tbaa !5
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = load i32, ptr @test_count, align 4, !tbaa !5
  %3767 = load i32, ptr %174, align 4, !tbaa !5
  %3768 = call ptr @s2n_strerror(i32 noundef %3767, ptr noundef nonnull @.str.4) #12
  %3769 = load i32, ptr %174, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror_debug(i32 noundef %3769, ptr noundef nonnull @.str.4) #12
  %3771 = load i32, ptr %228, align 4, !tbaa !5
  %3772 = call ptr @strerror(i32 noundef %3771) #12
  %3773 = load i32, ptr %228, align 4, !tbaa !5
  %3774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3765, ptr noundef nonnull %.str.5.sink3486, i32 noundef %3766, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %3768, ptr noundef %3770, ptr noundef %3772, i32 noundef %3773) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3775:                                             ; preds = %3749
  %3776 = getelementptr inbounds i8, ptr %3639, i64 2204
  store i32 0, ptr %3776, align 4, !tbaa !71
  store i8 34, ptr %3722, align 4, !tbaa !68
  %3777 = load i32, ptr @test_count, align 4, !tbaa !5
  %3778 = add nsw i32 %3777, 1
  store i32 %3778, ptr @test_count, align 4, !tbaa !5
  %3779 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %3639, i8 noundef zeroext 34) #12
  %3780 = call zeroext i1 @s2n_result_is_ok(i32 %3779)
  br i1 %3780, label %3803, label %3781

3781:                                             ; preds = %3775
  %3782 = load i32, ptr %228, align 4, !tbaa !5
  %3783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3784 = call i32 @s2n_print_stacktrace(ptr noundef %3783) #12
  %3785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3786 = trunc nuw i8 %3785 to i1
  br i1 %3786, label %3787, label %3791

3787:                                             ; preds = %3781
  %3788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3789 = call i32 @fileno(ptr noundef %3788) #12
  %3790 = call i32 @isatty(i32 noundef %3789) #12
  %.not1754 = icmp eq i32 %3790, 0
  br i1 %.not1754, label %3791, label %3792

3791:                                             ; preds = %3787, %3781
  br label %3792

3792:                                             ; preds = %3787, %3791
  %.str.5.sink3495 = phi ptr [ @.str.5, %3791 ], [ @.str.2, %3787 ]
  store i32 %3782, ptr %228, align 4, !tbaa !5
  %3793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3794 = load i32, ptr @test_count, align 4, !tbaa !5
  %3795 = load i32, ptr %174, align 4, !tbaa !5
  %3796 = call ptr @s2n_strerror(i32 noundef %3795, ptr noundef nonnull @.str.4) #12
  %3797 = load i32, ptr %174, align 4, !tbaa !5
  %3798 = call ptr @s2n_strerror_debug(i32 noundef %3797, ptr noundef nonnull @.str.4) #12
  %3799 = load i32, ptr %228, align 4, !tbaa !5
  %3800 = call ptr @strerror(i32 noundef %3799) #12
  %3801 = load i32, ptr %228, align 4, !tbaa !5
  %3802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3793, ptr noundef nonnull %.str.5.sink3495, i32 noundef %3794, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 488, ptr noundef %3796, ptr noundef %3798, ptr noundef %3800, i32 noundef %3801) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3803:                                             ; preds = %3775
  %3804 = load i32, ptr @test_count, align 4, !tbaa !5
  %3805 = add nsw i32 %3804, 1
  store i32 %3805, ptr @test_count, align 4, !tbaa !5
  %3806 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %3639) #12
  br i1 %3806, label %3829, label %3807

3807:                                             ; preds = %3803
  %3808 = load i32, ptr %228, align 4, !tbaa !5
  %3809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3810 = call i32 @s2n_print_stacktrace(ptr noundef %3809) #12
  %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) #12
  %3816 = call i32 @isatty(i32 noundef %3815) #12
  %.not1755 = icmp eq i32 %3816, 0
  br i1 %.not1755, label %3817, label %3818

3817:                                             ; preds = %3813, %3807
  br label %3818

3818:                                             ; preds = %3813, %3817
  %.str.5.sink3504 = phi ptr [ @.str.5, %3817 ], [ @.str.2, %3813 ]
  store i32 %3808, ptr %228, 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 %174, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror(i32 noundef %3821, ptr noundef nonnull @.str.4) #12
  %3823 = load i32, ptr %174, align 4, !tbaa !5
  %3824 = call ptr @s2n_strerror_debug(i32 noundef %3823, ptr noundef nonnull @.str.4) #12
  %3825 = load i32, ptr %228, align 4, !tbaa !5
  %3826 = call ptr @strerror(i32 noundef %3825) #12
  %3827 = load i32, ptr %228, align 4, !tbaa !5
  %3828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3819, ptr noundef nonnull %.str.5.sink3504, i32 noundef %3820, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 489, ptr noundef %3822, ptr noundef %3824, ptr noundef %3826, i32 noundef %3827) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3829:                                             ; preds = %3803
  %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_free(ptr noundef nonnull %3639) #12
  %3833 = icmp eq i32 %3832, -1
  br i1 %3833, label %3834, label %3856

3834:                                             ; preds = %3829
  %3835 = load i32, ptr %228, align 4, !tbaa !5
  %3836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3837 = call i32 @s2n_print_stacktrace(ptr noundef %3836) #12
  %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) #12
  %3843 = call i32 @isatty(i32 noundef %3842) #12
  %.not2189 = icmp eq i32 %3843, 0
  br i1 %.not2189, label %3844, label %3845

3844:                                             ; preds = %3840, %3834
  br label %3845

3845:                                             ; preds = %3840, %3844
  %.str.5.sink3513 = phi ptr [ @.str.5, %3844 ], [ @.str.2, %3840 ]
  store i32 %3835, ptr %228, 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 %174, align 4, !tbaa !5
  %3849 = call ptr @s2n_strerror(i32 noundef %3848, ptr noundef nonnull @.str.4) #12
  %3850 = load i32, ptr %174, align 4, !tbaa !5
  %3851 = call ptr @s2n_strerror_debug(i32 noundef %3850, ptr noundef nonnull @.str.4) #12
  %3852 = load i32, ptr %228, align 4, !tbaa !5
  %3853 = call ptr @strerror(i32 noundef %3852) #12
  %3854 = load i32, ptr %228, align 4, !tbaa !5
  %3855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3846, ptr noundef nonnull %.str.5.sink3513, i32 noundef %3847, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 491, ptr noundef %3849, ptr noundef %3851, ptr noundef %3853, i32 noundef %3854) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3856:                                             ; preds = %3829
  %3857 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3858 = load i32, ptr @test_count, align 4, !tbaa !5
  %3859 = add nsw i32 %3858, 1
  store i32 %3859, ptr @test_count, align 4, !tbaa !5
  %3860 = icmp eq ptr %3857, null
  br i1 %3860, label %3861, label %3883

3861:                                             ; preds = %3856
  %3862 = load i32, ptr %228, align 4, !tbaa !5
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3864 = call i32 @s2n_print_stacktrace(ptr noundef %3863) #12
  %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) #12
  %3870 = call i32 @isatty(i32 noundef %3869) #12
  %.not2188 = icmp eq i32 %3870, 0
  br i1 %.not2188, label %3871, label %3872

3871:                                             ; preds = %3867, %3861
  br label %3872

3872:                                             ; preds = %3867, %3871
  %.str.5.sink3522 = phi ptr [ @.str.5, %3871 ], [ @.str.2, %3867 ]
  store i32 %3862, ptr %228, 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 %174, align 4, !tbaa !5
  %3876 = call ptr @s2n_strerror(i32 noundef %3875, ptr noundef nonnull @.str.4) #12
  %3877 = load i32, ptr %174, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror_debug(i32 noundef %3877, ptr noundef nonnull @.str.4) #12
  %3879 = load i32, ptr %228, align 4, !tbaa !5
  %3880 = call ptr @strerror(i32 noundef %3879) #12
  %3881 = load i32, ptr %228, align 4, !tbaa !5
  %3882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull %.str.5.sink3522, i32 noundef %3874, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 501, ptr noundef %3876, ptr noundef %3878, ptr noundef %3880, i32 noundef %3881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3883:                                             ; preds = %3856
  %3884 = add nsw i32 %3858, 2
  store i32 %3884, ptr @test_count, align 4, !tbaa !5
  %3885 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %3857, ptr noundef nonnull @.str.84) #12
  %3886 = icmp eq i32 %3885, -1
  br i1 %3886, label %3887, label %3909

3887:                                             ; preds = %3883
  %3888 = load i32, ptr %228, align 4, !tbaa !5
  %3889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3890 = call i32 @s2n_print_stacktrace(ptr noundef %3889) #12
  %3891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3892 = trunc nuw i8 %3891 to i1
  br i1 %3892, label %3893, label %3897

3893:                                             ; preds = %3887
  %3894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3895 = call i32 @fileno(ptr noundef %3894) #12
  %3896 = call i32 @isatty(i32 noundef %3895) #12
  %.not2187 = icmp eq i32 %3896, 0
  br i1 %.not2187, label %3897, label %3898

3897:                                             ; preds = %3893, %3887
  br label %3898

3898:                                             ; preds = %3893, %3897
  %.str.5.sink3531 = phi ptr [ @.str.5, %3897 ], [ @.str.2, %3893 ]
  store i32 %3888, ptr %228, align 4, !tbaa !5
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = load i32, ptr %174, align 4, !tbaa !5
  %3902 = call ptr @s2n_strerror(i32 noundef %3901, ptr noundef nonnull @.str.4) #12
  %3903 = load i32, ptr %174, align 4, !tbaa !5
  %3904 = call ptr @s2n_strerror_debug(i32 noundef %3903, ptr noundef nonnull @.str.4) #12
  %3905 = load i32, ptr %228, align 4, !tbaa !5
  %3906 = call ptr @strerror(i32 noundef %3905) #12
  %3907 = load i32, ptr %228, align 4, !tbaa !5
  %3908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3899, ptr noundef nonnull %.str.5.sink3531, i32 noundef %3900, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 502, ptr noundef %3902, ptr noundef %3904, ptr noundef %3906, i32 noundef %3907) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3909:                                             ; preds = %3883
  %3910 = load i32, ptr @test_count, align 4, !tbaa !5
  %3911 = add nsw i32 %3910, 1
  store i32 %3911, ptr @test_count, align 4, !tbaa !5
  %3912 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %3857, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %3913 = call zeroext i1 @s2n_result_is_ok(i32 %3912)
  br i1 %3913, label %3936, label %3914

3914:                                             ; preds = %3909
  %3915 = load i32, ptr %228, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = call i32 @s2n_print_stacktrace(ptr noundef %3916) #12
  %3918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3919 = trunc nuw i8 %3918 to i1
  br i1 %3919, label %3920, label %3924

3920:                                             ; preds = %3914
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = call i32 @fileno(ptr noundef %3921) #12
  %3923 = call i32 @isatty(i32 noundef %3922) #12
  %.not1756 = icmp eq i32 %3923, 0
  br i1 %.not1756, label %3924, label %3925

3924:                                             ; preds = %3920, %3914
  br label %3925

3925:                                             ; preds = %3920, %3924
  %.str.5.sink3540 = phi ptr [ @.str.5, %3924 ], [ @.str.2, %3920 ]
  store i32 %3915, ptr %228, align 4, !tbaa !5
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = load i32, ptr @test_count, align 4, !tbaa !5
  %3928 = load i32, ptr %174, align 4, !tbaa !5
  %3929 = call ptr @s2n_strerror(i32 noundef %3928, ptr noundef nonnull @.str.4) #12
  %3930 = load i32, ptr %174, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror_debug(i32 noundef %3930, ptr noundef nonnull @.str.4) #12
  %3932 = load i32, ptr %228, align 4, !tbaa !5
  %3933 = call ptr @strerror(i32 noundef %3932) #12
  %3934 = load i32, ptr %228, align 4, !tbaa !5
  %3935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3926, ptr noundef nonnull %.str.5.sink3540, i32 noundef %3927, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 503, ptr noundef %3929, ptr noundef %3931, ptr noundef %3933, i32 noundef %3934) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3936:                                             ; preds = %3909
  %3937 = load i32, ptr @test_count, align 4, !tbaa !5
  %3938 = add nsw i32 %3937, 1
  store i32 %3938, ptr @test_count, align 4, !tbaa !5
  %3939 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %3857, i8 noundef zeroext 34) #12
  %3940 = call zeroext i1 @s2n_result_is_ok(i32 %3939)
  br i1 %3940, label %3963, label %3941

3941:                                             ; preds = %3936
  %3942 = load i32, ptr %228, align 4, !tbaa !5
  %3943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3944 = call i32 @s2n_print_stacktrace(ptr noundef %3943) #12
  %3945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3946 = trunc nuw i8 %3945 to i1
  br i1 %3946, label %3947, label %3951

3947:                                             ; preds = %3941
  %3948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3949 = call i32 @fileno(ptr noundef %3948) #12
  %3950 = call i32 @isatty(i32 noundef %3949) #12
  %.not1757 = icmp eq i32 %3950, 0
  br i1 %.not1757, label %3951, label %3952

3951:                                             ; preds = %3947, %3941
  br label %3952

3952:                                             ; preds = %3947, %3951
  %.str.5.sink3549 = phi ptr [ @.str.5, %3951 ], [ @.str.2, %3947 ]
  store i32 %3942, ptr %228, align 4, !tbaa !5
  %3953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3954 = load i32, ptr @test_count, align 4, !tbaa !5
  %3955 = load i32, ptr %174, align 4, !tbaa !5
  %3956 = call ptr @s2n_strerror(i32 noundef %3955, ptr noundef nonnull @.str.4) #12
  %3957 = load i32, ptr %174, align 4, !tbaa !5
  %3958 = call ptr @s2n_strerror_debug(i32 noundef %3957, ptr noundef nonnull @.str.4) #12
  %3959 = load i32, ptr %228, align 4, !tbaa !5
  %3960 = call ptr @strerror(i32 noundef %3959) #12
  %3961 = load i32, ptr %228, align 4, !tbaa !5
  %3962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3953, ptr noundef nonnull %.str.5.sink3549, i32 noundef %3954, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %3956, ptr noundef %3958, ptr noundef %3960, i32 noundef %3961) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3963:                                             ; preds = %3936
  %3964 = getelementptr inbounds i8, ptr %3857, i64 220
  store i8 34, ptr %3964, align 4, !tbaa !68
  %3965 = getelementptr inbounds i8, ptr %3857, i64 4088
  store i32 1, ptr %3965, align 8, !tbaa !15
  %3966 = getelementptr inbounds i8, ptr %3857, i64 232
  %3967 = load ptr, ptr %3966, align 8, !tbaa !62
  store ptr @s2n_tls13_chacha20_poly1305_sha256, ptr %3967, align 8, !tbaa !63
  %3968 = load i32, ptr @test_count, align 4, !tbaa !5
  %3969 = add nsw i32 %3968, 1
  store i32 %3969, ptr @test_count, align 4, !tbaa !5
  %3970 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %3857) #12
  br i1 %3970, label %3971, label %3993

3971:                                             ; preds = %3963
  %3972 = load i32, ptr %228, align 4, !tbaa !5
  %3973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3974 = call i32 @s2n_print_stacktrace(ptr noundef %3973) #12
  %3975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3976 = trunc nuw i8 %3975 to i1
  br i1 %3976, label %3977, label %3981

3977:                                             ; preds = %3971
  %3978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3979 = call i32 @fileno(ptr noundef %3978) #12
  %3980 = call i32 @isatty(i32 noundef %3979) #12
  %.not2186 = icmp eq i32 %3980, 0
  br i1 %.not2186, label %3981, label %3982

3981:                                             ; preds = %3977, %3971
  br label %3982

3982:                                             ; preds = %3977, %3981
  %.str.5.sink3558 = phi ptr [ @.str.5, %3981 ], [ @.str.2, %3977 ]
  store i32 %3972, ptr %228, align 4, !tbaa !5
  %3983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3984 = load i32, ptr @test_count, align 4, !tbaa !5
  %3985 = load i32, ptr %174, align 4, !tbaa !5
  %3986 = call ptr @s2n_strerror(i32 noundef %3985, ptr noundef nonnull @.str.4) #12
  %3987 = load i32, ptr %174, align 4, !tbaa !5
  %3988 = call ptr @s2n_strerror_debug(i32 noundef %3987, ptr noundef nonnull @.str.4) #12
  %3989 = load i32, ptr %228, align 4, !tbaa !5
  %3990 = call ptr @strerror(i32 noundef %3989) #12
  %3991 = load i32, ptr %228, align 4, !tbaa !5
  %3992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3983, ptr noundef nonnull %.str.5.sink3558, i32 noundef %3984, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 509, ptr noundef %3986, ptr noundef %3988, ptr noundef %3990, i32 noundef %3991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3993:                                             ; preds = %3963
  %3994 = load ptr, ptr %3966, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %3994, align 8, !tbaa !63
  %3995 = load i32, ptr @test_count, align 4, !tbaa !5
  %3996 = add nsw i32 %3995, 1
  store i32 %3996, ptr @test_count, align 4, !tbaa !5
  %3997 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %3857) #12
  br i1 %3997, label %4020, label %3998

3998:                                             ; preds = %3993
  %3999 = load i32, ptr %228, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = call i32 @s2n_print_stacktrace(ptr noundef %4000) #12
  %4002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4003 = trunc nuw i8 %4002 to i1
  br i1 %4003, label %4004, label %4008

4004:                                             ; preds = %3998
  %4005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4006 = call i32 @fileno(ptr noundef %4005) #12
  %4007 = call i32 @isatty(i32 noundef %4006) #12
  %.not1758 = icmp eq i32 %4007, 0
  br i1 %.not1758, label %4008, label %4009

4008:                                             ; preds = %4004, %3998
  br label %4009

4009:                                             ; preds = %4004, %4008
  %.str.5.sink3567 = phi ptr [ @.str.5, %4008 ], [ @.str.2, %4004 ]
  store i32 %3999, ptr %228, align 4, !tbaa !5
  %4010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4011 = load i32, ptr @test_count, align 4, !tbaa !5
  %4012 = load i32, ptr %174, align 4, !tbaa !5
  %4013 = call ptr @s2n_strerror(i32 noundef %4012, ptr noundef nonnull @.str.4) #12
  %4014 = load i32, ptr %174, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror_debug(i32 noundef %4014, ptr noundef nonnull @.str.4) #12
  %4016 = load i32, ptr %228, align 4, !tbaa !5
  %4017 = call ptr @strerror(i32 noundef %4016) #12
  %4018 = load i32, ptr %228, align 4, !tbaa !5
  %4019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4010, ptr noundef nonnull %.str.5.sink3567, i32 noundef %4011, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 512, ptr noundef %4013, ptr noundef %4015, ptr noundef %4017, i32 noundef %4018) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4020:                                             ; preds = %3993
  %4021 = load i32, ptr @test_count, align 4, !tbaa !5
  %4022 = add nsw i32 %4021, 1
  store i32 %4022, ptr @test_count, align 4, !tbaa !5
  %4023 = call i32 @s2n_connection_free(ptr noundef nonnull %3857) #12
  %4024 = icmp eq i32 %4023, -1
  br i1 %4024, label %4025, label %4047

4025:                                             ; preds = %4020
  %4026 = load i32, ptr %228, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = call i32 @s2n_print_stacktrace(ptr noundef %4027) #12
  %4029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4030 = trunc nuw i8 %4029 to i1
  br i1 %4030, label %4031, label %4035

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

4035:                                             ; preds = %4031, %4025
  br label %4036

4036:                                             ; preds = %4031, %4035
  %.str.5.sink3576 = phi ptr [ @.str.5, %4035 ], [ @.str.2, %4031 ]
  store i32 %4026, ptr %228, align 4, !tbaa !5
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = load i32, ptr %174, align 4, !tbaa !5
  %4040 = call ptr @s2n_strerror(i32 noundef %4039, ptr noundef nonnull @.str.4) #12
  %4041 = load i32, ptr %174, align 4, !tbaa !5
  %4042 = call ptr @s2n_strerror_debug(i32 noundef %4041, ptr noundef nonnull @.str.4) #12
  %4043 = load i32, ptr %228, align 4, !tbaa !5
  %4044 = call ptr @strerror(i32 noundef %4043) #12
  %4045 = load i32, ptr %228, align 4, !tbaa !5
  %4046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4037, ptr noundef nonnull %.str.5.sink3576, i32 noundef %4038, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 514, ptr noundef %4040, ptr noundef %4042, ptr noundef %4044, i32 noundef %4045) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4047:                                             ; preds = %4020
  %4048 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = add nsw i32 %4049, 1
  store i32 %4050, ptr @test_count, align 4, !tbaa !5
  %4051 = icmp eq ptr %4048, null
  br i1 %4051, label %4052, label %4074

4052:                                             ; preds = %4047
  %4053 = load i32, ptr %228, align 4, !tbaa !5
  %4054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4055 = call i32 @s2n_print_stacktrace(ptr noundef %4054) #12
  %4056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4057 = trunc nuw i8 %4056 to i1
  br i1 %4057, label %4058, label %4062

4058:                                             ; preds = %4052
  %4059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4060 = call i32 @fileno(ptr noundef %4059) #12
  %4061 = call i32 @isatty(i32 noundef %4060) #12
  %.not2184 = icmp eq i32 %4061, 0
  br i1 %.not2184, label %4062, label %4063

4062:                                             ; preds = %4058, %4052
  br label %4063

4063:                                             ; preds = %4058, %4062
  %.str.5.sink3585 = phi ptr [ @.str.5, %4062 ], [ @.str.2, %4058 ]
  store i32 %4053, ptr %228, align 4, !tbaa !5
  %4064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4065 = load i32, ptr @test_count, align 4, !tbaa !5
  %4066 = load i32, ptr %174, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror(i32 noundef %4066, ptr noundef nonnull @.str.4) #12
  %4068 = load i32, ptr %174, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror_debug(i32 noundef %4068, ptr noundef nonnull @.str.4) #12
  %4070 = load i32, ptr %228, align 4, !tbaa !5
  %4071 = call ptr @strerror(i32 noundef %4070) #12
  %4072 = load i32, ptr %228, align 4, !tbaa !5
  %4073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4064, ptr noundef nonnull %.str.5.sink3585, i32 noundef %4065, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 524, ptr noundef %4067, ptr noundef %4069, ptr noundef %4071, i32 noundef %4072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4074:                                             ; preds = %4047
  %4075 = add nsw i32 %4049, 2
  store i32 %4075, ptr @test_count, align 4, !tbaa !5
  %4076 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %4048, ptr noundef nonnull @.str.84) #12
  %4077 = icmp eq i32 %4076, -1
  br i1 %4077, label %4078, label %4100

4078:                                             ; preds = %4074
  %4079 = load i32, ptr %228, align 4, !tbaa !5
  %4080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4081 = call i32 @s2n_print_stacktrace(ptr noundef %4080) #12
  %4082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4083 = trunc nuw i8 %4082 to i1
  br i1 %4083, label %4084, label %4088

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

4088:                                             ; preds = %4084, %4078
  br label %4089

4089:                                             ; preds = %4084, %4088
  %.str.5.sink3594 = phi ptr [ @.str.5, %4088 ], [ @.str.2, %4084 ]
  store i32 %4079, ptr %228, align 4, !tbaa !5
  %4090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4091 = load i32, ptr @test_count, align 4, !tbaa !5
  %4092 = load i32, ptr %174, align 4, !tbaa !5
  %4093 = call ptr @s2n_strerror(i32 noundef %4092, ptr noundef nonnull @.str.4) #12
  %4094 = load i32, ptr %174, align 4, !tbaa !5
  %4095 = call ptr @s2n_strerror_debug(i32 noundef %4094, ptr noundef nonnull @.str.4) #12
  %4096 = load i32, ptr %228, align 4, !tbaa !5
  %4097 = call ptr @strerror(i32 noundef %4096) #12
  %4098 = load i32, ptr %228, align 4, !tbaa !5
  %4099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4090, ptr noundef nonnull %.str.5.sink3594, i32 noundef %4091, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 525, ptr noundef %4093, ptr noundef %4095, ptr noundef %4097, i32 noundef %4098) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4100:                                             ; preds = %4074
  %4101 = load i32, ptr @test_count, align 4, !tbaa !5
  %4102 = add nsw i32 %4101, 1
  store i32 %4102, ptr @test_count, align 4, !tbaa !5
  %4103 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %4048, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %4104 = call zeroext i1 @s2n_result_is_ok(i32 %4103)
  br i1 %4104, label %4127, label %4105

4105:                                             ; preds = %4100
  %4106 = load i32, ptr %228, align 4, !tbaa !5
  %4107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4108 = call i32 @s2n_print_stacktrace(ptr noundef %4107) #12
  %4109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4110 = trunc nuw i8 %4109 to i1
  br i1 %4110, label %4111, label %4115

4111:                                             ; preds = %4105
  %4112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4113 = call i32 @fileno(ptr noundef %4112) #12
  %4114 = call i32 @isatty(i32 noundef %4113) #12
  %.not1759 = icmp eq i32 %4114, 0
  br i1 %.not1759, label %4115, label %4116

4115:                                             ; preds = %4111, %4105
  br label %4116

4116:                                             ; preds = %4111, %4115
  %.str.5.sink3603 = phi ptr [ @.str.5, %4115 ], [ @.str.2, %4111 ]
  store i32 %4106, ptr %228, align 4, !tbaa !5
  %4117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4118 = load i32, ptr @test_count, align 4, !tbaa !5
  %4119 = load i32, ptr %174, align 4, !tbaa !5
  %4120 = call ptr @s2n_strerror(i32 noundef %4119, ptr noundef nonnull @.str.4) #12
  %4121 = load i32, ptr %174, align 4, !tbaa !5
  %4122 = call ptr @s2n_strerror_debug(i32 noundef %4121, ptr noundef nonnull @.str.4) #12
  %4123 = load i32, ptr %228, align 4, !tbaa !5
  %4124 = call ptr @strerror(i32 noundef %4123) #12
  %4125 = load i32, ptr %228, align 4, !tbaa !5
  %4126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4117, ptr noundef nonnull %.str.5.sink3603, i32 noundef %4118, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %4120, ptr noundef %4122, ptr noundef %4124, i32 noundef %4125) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4127:                                             ; preds = %4100
  %4128 = getelementptr inbounds i8, ptr %4048, i64 232
  %4129 = load ptr, ptr %4128, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %4129, align 8, !tbaa !63
  %4130 = getelementptr inbounds i8, ptr %4048, i64 220
  store i8 34, ptr %4130, align 4, !tbaa !68
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = add nsw i32 %4131, 1
  store i32 %4132, ptr @test_count, align 4, !tbaa !5
  %4133 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %4048, i8 noundef zeroext 34) #12
  %4134 = call zeroext i1 @s2n_result_is_ok(i32 %4133)
  br i1 %4134, label %4157, label %4135

4135:                                             ; preds = %4127
  %4136 = load i32, ptr %228, align 4, !tbaa !5
  %4137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4138 = call i32 @s2n_print_stacktrace(ptr noundef %4137) #12
  %4139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4140 = trunc nuw i8 %4139 to i1
  br i1 %4140, label %4141, label %4145

4141:                                             ; preds = %4135
  %4142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4143 = call i32 @fileno(ptr noundef %4142) #12
  %4144 = call i32 @isatty(i32 noundef %4143) #12
  %.not1760 = icmp eq i32 %4144, 0
  br i1 %.not1760, label %4145, label %4146

4145:                                             ; preds = %4141, %4135
  br label %4146

4146:                                             ; preds = %4141, %4145
  %.str.5.sink3612 = phi ptr [ @.str.5, %4145 ], [ @.str.2, %4141 ]
  store i32 %4136, ptr %228, align 4, !tbaa !5
  %4147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4148 = load i32, ptr @test_count, align 4, !tbaa !5
  %4149 = load i32, ptr %174, align 4, !tbaa !5
  %4150 = call ptr @s2n_strerror(i32 noundef %4149, ptr noundef nonnull @.str.4) #12
  %4151 = load i32, ptr %174, align 4, !tbaa !5
  %4152 = call ptr @s2n_strerror_debug(i32 noundef %4151, ptr noundef nonnull @.str.4) #12
  %4153 = load i32, ptr %228, align 4, !tbaa !5
  %4154 = call ptr @strerror(i32 noundef %4153) #12
  %4155 = load i32, ptr %228, align 4, !tbaa !5
  %4156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4147, ptr noundef nonnull %.str.5.sink3612, i32 noundef %4148, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 529, ptr noundef %4150, ptr noundef %4152, ptr noundef %4154, i32 noundef %4155) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4157:                                             ; preds = %4127
  %4158 = getelementptr inbounds i8, ptr %4048, i64 4088
  store i32 1, ptr %4158, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %26) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(18) %26, ptr noundef nonnull align 16 dereferenceable(18) @__const.main.required_protocol, i64 18, i1 false)
  %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 zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %4048) #12
  br i1 %4161, label %4184, label %4162

4162:                                             ; preds = %4157
  %4163 = load i32, ptr %228, align 4, !tbaa !5
  %4164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4165 = call i32 @s2n_print_stacktrace(ptr noundef %4164) #12
  %4166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4167 = trunc nuw i8 %4166 to i1
  br i1 %4167, label %4168, label %4172

4168:                                             ; preds = %4162
  %4169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4170 = call i32 @fileno(ptr noundef %4169) #12
  %4171 = call i32 @isatty(i32 noundef %4170) #12
  %.not1761 = icmp eq i32 %4171, 0
  br i1 %.not1761, label %4172, label %4173

4172:                                             ; preds = %4168, %4162
  br label %4173

4173:                                             ; preds = %4168, %4172
  %.str.5.sink3621 = phi ptr [ @.str.5, %4172 ], [ @.str.2, %4168 ]
  store i32 %4163, ptr %228, align 4, !tbaa !5
  %4174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4175 = load i32, ptr @test_count, align 4, !tbaa !5
  %4176 = load i32, ptr %174, align 4, !tbaa !5
  %4177 = call ptr @s2n_strerror(i32 noundef %4176, ptr noundef nonnull @.str.4) #12
  %4178 = load i32, ptr %174, align 4, !tbaa !5
  %4179 = call ptr @s2n_strerror_debug(i32 noundef %4178, ptr noundef nonnull @.str.4) #12
  %4180 = load i32, ptr %228, align 4, !tbaa !5
  %4181 = call ptr @strerror(i32 noundef %4180) #12
  %4182 = load i32, ptr %228, align 4, !tbaa !5
  %4183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4174, ptr noundef nonnull %.str.5.sink3621, i32 noundef %4175, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 537, ptr noundef %4177, ptr noundef %4179, ptr noundef %4181, i32 noundef %4182) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4184:                                             ; preds = %4157
  %4185 = getelementptr inbounds i8, ptr %4048, i64 2528
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(18) %4185, ptr noundef nonnull align 16 dereferenceable(18) %26, i64 18, i1 false)
  %4186 = load i32, ptr @test_count, align 4, !tbaa !5
  %4187 = add nsw i32 %4186, 1
  store i32 %4187, ptr @test_count, align 4, !tbaa !5
  %4188 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %4048) #12
  br i1 %4188, label %4189, label %4211

4189:                                             ; preds = %4184
  %4190 = load i32, ptr %228, align 4, !tbaa !5
  %4191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4192 = call i32 @s2n_print_stacktrace(ptr noundef %4191) #12
  %4193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4194 = trunc nuw i8 %4193 to i1
  br i1 %4194, label %4195, label %4199

4195:                                             ; preds = %4189
  %4196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4197 = call i32 @fileno(ptr noundef %4196) #12
  %4198 = call i32 @isatty(i32 noundef %4197) #12
  %.not2182 = icmp eq i32 %4198, 0
  br i1 %.not2182, label %4199, label %4200

4199:                                             ; preds = %4195, %4189
  br label %4200

4200:                                             ; preds = %4195, %4199
  %.str.5.sink3630 = phi ptr [ @.str.5, %4199 ], [ @.str.2, %4195 ]
  store i32 %4190, ptr %228, align 4, !tbaa !5
  %4201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4202 = load i32, ptr @test_count, align 4, !tbaa !5
  %4203 = load i32, ptr %174, align 4, !tbaa !5
  %4204 = call ptr @s2n_strerror(i32 noundef %4203, ptr noundef nonnull @.str.4) #12
  %4205 = load i32, ptr %174, align 4, !tbaa !5
  %4206 = call ptr @s2n_strerror_debug(i32 noundef %4205, ptr noundef nonnull @.str.4) #12
  %4207 = load i32, ptr %228, align 4, !tbaa !5
  %4208 = call ptr @strerror(i32 noundef %4207) #12
  %4209 = load i32, ptr %228, align 4, !tbaa !5
  %4210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4201, ptr noundef nonnull %.str.5.sink3630, i32 noundef %4202, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 541, ptr noundef %4204, ptr noundef %4206, ptr noundef %4208, i32 noundef %4209) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4211:                                             ; preds = %4184
  %4212 = load i32, ptr @test_count, align 4, !tbaa !5
  %4213 = add nsw i32 %4212, 1
  store i32 %4213, ptr @test_count, align 4, !tbaa !5
  %4214 = getelementptr inbounds i8, ptr %4048, i64 1736
  %4215 = load ptr, ptr %4214, align 8, !tbaa !69
  %4216 = call i32 @s2n_psk_set_application_protocol(ptr noundef %4215, ptr noundef nonnull %26, i8 noundef zeroext 18) #12
  %4217 = icmp eq i32 %4216, -1
  br i1 %4217, label %4218, label %4240

4218:                                             ; preds = %4211
  %4219 = load i32, ptr %228, align 4, !tbaa !5
  %4220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4221 = call i32 @s2n_print_stacktrace(ptr noundef %4220) #12
  %4222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4223 = trunc nuw i8 %4222 to i1
  br i1 %4223, label %4224, label %4228

4224:                                             ; preds = %4218
  %4225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4226 = call i32 @fileno(ptr noundef %4225) #12
  %4227 = call i32 @isatty(i32 noundef %4226) #12
  %.not2181 = icmp eq i32 %4227, 0
  br i1 %.not2181, label %4228, label %4229

4228:                                             ; preds = %4224, %4218
  br label %4229

4229:                                             ; preds = %4224, %4228
  %.str.5.sink3639 = phi ptr [ @.str.5, %4228 ], [ @.str.2, %4224 ]
  store i32 %4219, ptr %228, align 4, !tbaa !5
  %4230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4231 = load i32, ptr @test_count, align 4, !tbaa !5
  %4232 = load i32, ptr %174, align 4, !tbaa !5
  %4233 = call ptr @s2n_strerror(i32 noundef %4232, ptr noundef nonnull @.str.4) #12
  %4234 = load i32, ptr %174, align 4, !tbaa !5
  %4235 = call ptr @s2n_strerror_debug(i32 noundef %4234, ptr noundef nonnull @.str.4) #12
  %4236 = load i32, ptr %228, align 4, !tbaa !5
  %4237 = call ptr @strerror(i32 noundef %4236) #12
  %4238 = load i32, ptr %228, align 4, !tbaa !5
  %4239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4230, ptr noundef nonnull %.str.5.sink3639, i32 noundef %4231, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 544, ptr noundef %4233, ptr noundef %4235, ptr noundef %4237, i32 noundef %4238) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4240:                                             ; preds = %4211
  store i8 0, ptr %4185, align 8
  %4241 = load i32, ptr @test_count, align 4, !tbaa !5
  %4242 = add nsw i32 %4241, 1
  store i32 %4242, ptr @test_count, align 4, !tbaa !5
  %4243 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %4048) #12
  br i1 %4243, label %4244, label %4266

4244:                                             ; preds = %4240
  %4245 = load i32, ptr %228, align 4, !tbaa !5
  %4246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4247 = call i32 @s2n_print_stacktrace(ptr noundef %4246) #12
  %4248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4249 = trunc nuw i8 %4248 to i1
  br i1 %4249, label %4250, label %4254

4250:                                             ; preds = %4244
  %4251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4252 = call i32 @fileno(ptr noundef %4251) #12
  %4253 = call i32 @isatty(i32 noundef %4252) #12
  %.not2180 = icmp eq i32 %4253, 0
  br i1 %.not2180, label %4254, label %4255

4254:                                             ; preds = %4250, %4244
  br label %4255

4255:                                             ; preds = %4250, %4254
  %.str.5.sink3648 = phi ptr [ @.str.5, %4254 ], [ @.str.2, %4250 ]
  store i32 %4245, ptr %228, align 4, !tbaa !5
  %4256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4257 = load i32, ptr @test_count, align 4, !tbaa !5
  %4258 = load i32, ptr %174, align 4, !tbaa !5
  %4259 = call ptr @s2n_strerror(i32 noundef %4258, ptr noundef nonnull @.str.4) #12
  %4260 = load i32, ptr %174, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror_debug(i32 noundef %4260, ptr noundef nonnull @.str.4) #12
  %4262 = load i32, ptr %228, align 4, !tbaa !5
  %4263 = call ptr @strerror(i32 noundef %4262) #12
  %4264 = load i32, ptr %228, align 4, !tbaa !5
  %4265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4256, ptr noundef nonnull %.str.5.sink3648, i32 noundef %4257, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %4259, ptr noundef %4261, ptr noundef %4263, i32 noundef %4264) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4266:                                             ; preds = %4240
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(15) %4185, ptr noundef nonnull align 1 dereferenceable(15) @__const.main.wrong_protocol, i64 15, i1 false)
  %4267 = load i32, ptr @test_count, align 4, !tbaa !5
  %4268 = add nsw i32 %4267, 1
  store i32 %4268, ptr @test_count, align 4, !tbaa !5
  %4269 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %4048) #12
  br i1 %4269, label %4270, label %4292

4270:                                             ; preds = %4266
  %4271 = load i32, ptr %228, align 4, !tbaa !5
  %4272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4273 = call i32 @s2n_print_stacktrace(ptr noundef %4272) #12
  %4274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4275 = trunc nuw i8 %4274 to i1
  br i1 %4275, label %4276, label %4280

4276:                                             ; preds = %4270
  %4277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4278 = call i32 @fileno(ptr noundef %4277) #12
  %4279 = call i32 @isatty(i32 noundef %4278) #12
  %.not2179 = icmp eq i32 %4279, 0
  br i1 %.not2179, label %4280, label %4281

4280:                                             ; preds = %4276, %4270
  br label %4281

4281:                                             ; preds = %4276, %4280
  %.str.5.sink3657 = phi ptr [ @.str.5, %4280 ], [ @.str.2, %4276 ]
  store i32 %4271, ptr %228, align 4, !tbaa !5
  %4282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4283 = load i32, ptr @test_count, align 4, !tbaa !5
  %4284 = load i32, ptr %174, align 4, !tbaa !5
  %4285 = call ptr @s2n_strerror(i32 noundef %4284, ptr noundef nonnull @.str.4) #12
  %4286 = load i32, ptr %174, align 4, !tbaa !5
  %4287 = call ptr @s2n_strerror_debug(i32 noundef %4286, ptr noundef nonnull @.str.4) #12
  %4288 = load i32, ptr %228, align 4, !tbaa !5
  %4289 = call ptr @strerror(i32 noundef %4288) #12
  %4290 = load i32, ptr %228, align 4, !tbaa !5
  %4291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4282, ptr noundef nonnull %.str.5.sink3657, i32 noundef %4283, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %4285, ptr noundef %4287, ptr noundef %4289, i32 noundef %4290) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4292:                                             ; preds = %4266
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(18) %4185, ptr noundef nonnull align 16 dereferenceable(18) %26, i64 18, i1 false)
  %4293 = load i32, ptr @test_count, align 4, !tbaa !5
  %4294 = add nsw i32 %4293, 1
  store i32 %4294, ptr @test_count, align 4, !tbaa !5
  %4295 = call zeroext i1 @s2n_early_data_is_valid_for_connection(ptr noundef nonnull %4048) #12
  br i1 %4295, label %4318, label %4296

4296:                                             ; preds = %4292
  %4297 = load i32, ptr %228, align 4, !tbaa !5
  %4298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4299 = call i32 @s2n_print_stacktrace(ptr noundef %4298) #12
  %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) #12
  %4305 = call i32 @isatty(i32 noundef %4304) #12
  %.not1762 = icmp eq i32 %4305, 0
  br i1 %.not1762, label %4306, label %4307

4306:                                             ; preds = %4302, %4296
  br label %4307

4307:                                             ; preds = %4302, %4306
  %.str.5.sink3666 = phi ptr [ @.str.5, %4306 ], [ @.str.2, %4302 ]
  store i32 %4297, ptr %228, 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 %174, align 4, !tbaa !5
  %4311 = call ptr @s2n_strerror(i32 noundef %4310, ptr noundef nonnull @.str.4) #12
  %4312 = load i32, ptr %174, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror_debug(i32 noundef %4312, ptr noundef nonnull @.str.4) #12
  %4314 = load i32, ptr %228, align 4, !tbaa !5
  %4315 = call ptr @strerror(i32 noundef %4314) #12
  %4316 = load i32, ptr %228, align 4, !tbaa !5
  %4317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4308, ptr noundef nonnull %.str.5.sink3666, i32 noundef %4309, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %4311, ptr noundef %4313, ptr noundef %4315, i32 noundef %4316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4318:                                             ; preds = %4292
  %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 = call i32 @s2n_connection_free(ptr noundef nonnull %4048) #12
  %4322 = icmp eq i32 %4321, -1
  br i1 %4322, label %4323, label %4345

4323:                                             ; preds = %4318
  %4324 = load i32, ptr %228, align 4, !tbaa !5
  %4325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4326 = call i32 @s2n_print_stacktrace(ptr noundef %4325) #12
  %4327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4328 = trunc nuw i8 %4327 to i1
  br i1 %4328, label %4329, label %4333

4329:                                             ; preds = %4323
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = call i32 @fileno(ptr noundef %4330) #12
  %4332 = call i32 @isatty(i32 noundef %4331) #12
  %.not2178 = icmp eq i32 %4332, 0
  br i1 %.not2178, label %4333, label %4334

4333:                                             ; preds = %4329, %4323
  br label %4334

4334:                                             ; preds = %4329, %4333
  %.str.5.sink3675 = phi ptr [ @.str.5, %4333 ], [ @.str.2, %4329 ]
  store i32 %4324, ptr %228, align 4, !tbaa !5
  %4335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4336 = load i32, ptr @test_count, align 4, !tbaa !5
  %4337 = load i32, ptr %174, align 4, !tbaa !5
  %4338 = call ptr @s2n_strerror(i32 noundef %4337, ptr noundef nonnull @.str.4) #12
  %4339 = load i32, ptr %174, align 4, !tbaa !5
  %4340 = call ptr @s2n_strerror_debug(i32 noundef %4339, ptr noundef nonnull @.str.4) #12
  %4341 = load i32, ptr %228, align 4, !tbaa !5
  %4342 = call ptr @strerror(i32 noundef %4341) #12
  %4343 = load i32, ptr %228, align 4, !tbaa !5
  %4344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4335, ptr noundef nonnull %.str.5.sink3675, i32 noundef %4336, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 558, ptr noundef %4338, ptr noundef %4340, ptr noundef %4342, i32 noundef %4343) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4345:                                             ; preds = %4318
  call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %26) #12
  %4346 = load i32, ptr @test_count, align 4, !tbaa !5
  %4347 = add nsw i32 %4346, 1
  store i32 %4347, ptr @test_count, align 4, !tbaa !5
  %4348 = call i32 @s2n_early_data_accept_or_reject(ptr noundef null) #12
  %4349 = call zeroext i1 @s2n_result_is_error(i32 %4348)
  br i1 %4349, label %4372, label %4350

4350:                                             ; preds = %4345
  %4351 = load i32, ptr %228, align 4, !tbaa !5
  %4352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4353 = call i32 @s2n_print_stacktrace(ptr noundef %4352) #12
  %4354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4355 = trunc nuw i8 %4354 to i1
  br i1 %4355, label %4356, label %4360

4356:                                             ; preds = %4350
  %4357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4358 = call i32 @fileno(ptr noundef %4357) #12
  %4359 = call i32 @isatty(i32 noundef %4358) #12
  %.not1763 = icmp eq i32 %4359, 0
  br i1 %.not1763, label %4360, label %4361

4360:                                             ; preds = %4356, %4350
  br label %4361

4361:                                             ; preds = %4356, %4360
  %.str.5.sink3684 = phi ptr [ @.str.5, %4360 ], [ @.str.2, %4356 ]
  store i32 %4351, ptr %228, align 4, !tbaa !5
  %4362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4363 = load i32, ptr @test_count, align 4, !tbaa !5
  %4364 = load i32, ptr %174, align 4, !tbaa !5
  %4365 = call ptr @s2n_strerror(i32 noundef %4364, ptr noundef nonnull @.str.4) #12
  %4366 = load i32, ptr %174, align 4, !tbaa !5
  %4367 = call ptr @s2n_strerror_debug(i32 noundef %4366, ptr noundef nonnull @.str.4) #12
  %4368 = load i32, ptr %228, align 4, !tbaa !5
  %4369 = call ptr @strerror(i32 noundef %4368) #12
  %4370 = load i32, ptr %228, align 4, !tbaa !5
  %4371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4362, ptr noundef nonnull %.str.5.sink3684, i32 noundef %4363, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %4365, ptr noundef %4367, ptr noundef %4369, i32 noundef %4370) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4372:                                             ; preds = %4345
  %4373 = load i32, ptr @test_count, align 4, !tbaa !5
  %4374 = add nsw i32 %4373, 1
  store i32 %4374, ptr @test_count, align 4, !tbaa !5
  %4375 = load i32, ptr %174, align 4, !tbaa !5
  %4376 = icmp eq i32 %4375, 402653193
  br i1 %4376, label %4399, label %4377

4377:                                             ; preds = %4372
  %4378 = load i32, ptr %228, align 4, !tbaa !5
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = call i32 @s2n_print_stacktrace(ptr noundef %4379) #12
  %4381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4382 = trunc nuw i8 %4381 to i1
  br i1 %4382, label %4383, label %4387

4383:                                             ; preds = %4377
  %4384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4385 = call i32 @fileno(ptr noundef %4384) #12
  %4386 = call i32 @isatty(i32 noundef %4385) #12
  %.not1764 = icmp eq i32 %4386, 0
  br i1 %.not1764, label %4387, label %4388

4387:                                             ; preds = %4383, %4377
  br label %4388

4388:                                             ; preds = %4383, %4387
  %.str.5.sink3693 = phi ptr [ @.str.5, %4387 ], [ @.str.2, %4383 ]
  store i32 %4378, ptr %228, align 4, !tbaa !5
  %4389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4390 = load i32, ptr @test_count, align 4, !tbaa !5
  %4391 = load i32, ptr %174, align 4, !tbaa !5
  %4392 = call ptr @s2n_strerror(i32 noundef %4391, ptr noundef nonnull @.str.4) #12
  %4393 = load i32, ptr %174, align 4, !tbaa !5
  %4394 = call ptr @s2n_strerror_debug(i32 noundef %4393, ptr noundef nonnull @.str.4) #12
  %4395 = load i32, ptr %228, align 4, !tbaa !5
  %4396 = call ptr @strerror(i32 noundef %4395) #12
  %4397 = load i32, ptr %228, align 4, !tbaa !5
  %4398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4389, ptr noundef nonnull %.str.5.sink3693, i32 noundef %4390, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %4392, ptr noundef %4394, ptr noundef %4396, i32 noundef %4397) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4399:                                             ; preds = %4372
  %4400 = add nsw i32 %4373, 2
  store i32 %4400, ptr @test_count, align 4, !tbaa !5
  %4401 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %4402 = icmp eq ptr %4401, null
  br i1 %4402, label %4403, label %4425

4403:                                             ; preds = %4399
  %4404 = load i32, ptr %228, align 4, !tbaa !5
  %4405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4406 = call i32 @s2n_print_stacktrace(ptr noundef %4405) #12
  %4407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4408 = trunc nuw i8 %4407 to i1
  br i1 %4408, label %4409, label %4413

4409:                                             ; preds = %4403
  %4410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4411 = call i32 @fileno(ptr noundef %4410) #12
  %4412 = call i32 @isatty(i32 noundef %4411) #12
  %.not2177 = icmp eq i32 %4412, 0
  br i1 %.not2177, label %4413, label %4414

4413:                                             ; preds = %4409, %4403
  br label %4414

4414:                                             ; preds = %4409, %4413
  %.str.5.sink3702 = phi ptr [ @.str.5, %4413 ], [ @.str.2, %4409 ]
  store i32 %4404, ptr %228, align 4, !tbaa !5
  %4415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4416 = load i32, ptr @test_count, align 4, !tbaa !5
  %4417 = load i32, ptr %174, align 4, !tbaa !5
  %4418 = call ptr @s2n_strerror(i32 noundef %4417, ptr noundef nonnull @.str.4) #12
  %4419 = load i32, ptr %174, align 4, !tbaa !5
  %4420 = call ptr @s2n_strerror_debug(i32 noundef %4419, ptr noundef nonnull @.str.4) #12
  %4421 = load i32, ptr %228, align 4, !tbaa !5
  %4422 = call ptr @strerror(i32 noundef %4421) #12
  %4423 = load i32, ptr %228, align 4, !tbaa !5
  %4424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4415, ptr noundef nonnull %.str.5.sink3702, i32 noundef %4416, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %4418, ptr noundef %4420, ptr noundef %4422, i32 noundef %4423) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4425:                                             ; preds = %4399
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %4426 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %4427 = load i32, ptr @test_count, align 4, !tbaa !5
  %4428 = add nsw i32 %4427, 1
  store i32 %4428, ptr @test_count, align 4, !tbaa !5
  %4429 = icmp eq ptr %4426, null
  br i1 %4429, label %4430, label %4452

4430:                                             ; preds = %4425
  %4431 = load i32, ptr %228, align 4, !tbaa !5
  %4432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4433 = call i32 @s2n_print_stacktrace(ptr noundef %4432) #12
  %4434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4435 = trunc nuw i8 %4434 to i1
  br i1 %4435, label %4436, label %4440

4436:                                             ; preds = %4430
  %4437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4438 = call i32 @fileno(ptr noundef %4437) #12
  %4439 = call i32 @isatty(i32 noundef %4438) #12
  %.not2176 = icmp eq i32 %4439, 0
  br i1 %.not2176, label %4440, label %4441

4440:                                             ; preds = %4436, %4430
  br label %4441

4441:                                             ; preds = %4436, %4440
  %.str.5.sink3711 = phi ptr [ @.str.5, %4440 ], [ @.str.2, %4436 ]
  store i32 %4431, ptr %228, align 4, !tbaa !5
  %4442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4443 = load i32, ptr @test_count, align 4, !tbaa !5
  %4444 = load i32, ptr %174, align 4, !tbaa !5
  %4445 = call ptr @s2n_strerror(i32 noundef %4444, ptr noundef nonnull @.str.4) #12
  %4446 = load i32, ptr %174, align 4, !tbaa !5
  %4447 = call ptr @s2n_strerror_debug(i32 noundef %4446, ptr noundef nonnull @.str.4) #12
  %4448 = load i32, ptr %228, align 4, !tbaa !5
  %4449 = call ptr @strerror(i32 noundef %4448) #12
  %4450 = load i32, ptr %228, align 4, !tbaa !5
  %4451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4442, ptr noundef nonnull %.str.5.sink3711, i32 noundef %4443, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %4445, ptr noundef %4447, ptr noundef %4449, i32 noundef %4450) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4452:                                             ; preds = %4425
  %4453 = add nsw i32 %4427, 2
  store i32 %4453, ptr @test_count, align 4, !tbaa !5
  %4454 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %4426, ptr noundef nonnull @.str.84) #12
  %4455 = icmp eq i32 %4454, -1
  br i1 %4455, label %4456, label %4478

4456:                                             ; preds = %4452
  %4457 = load i32, ptr %228, align 4, !tbaa !5
  %4458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4459 = call i32 @s2n_print_stacktrace(ptr noundef %4458) #12
  %4460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4461 = trunc nuw i8 %4460 to i1
  br i1 %4461, label %4462, label %4466

4462:                                             ; preds = %4456
  %4463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4464 = call i32 @fileno(ptr noundef %4463) #12
  %4465 = call i32 @isatty(i32 noundef %4464) #12
  %.not2175 = icmp eq i32 %4465, 0
  br i1 %.not2175, label %4466, label %4467

4466:                                             ; preds = %4462, %4456
  br label %4467

4467:                                             ; preds = %4462, %4466
  %.str.5.sink3720 = phi ptr [ @.str.5, %4466 ], [ @.str.2, %4462 ]
  store i32 %4457, ptr %228, align 4, !tbaa !5
  %4468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4469 = load i32, ptr @test_count, align 4, !tbaa !5
  %4470 = load i32, ptr %174, align 4, !tbaa !5
  %4471 = call ptr @s2n_strerror(i32 noundef %4470, ptr noundef nonnull @.str.4) #12
  %4472 = load i32, ptr %174, align 4, !tbaa !5
  %4473 = call ptr @s2n_strerror_debug(i32 noundef %4472, ptr noundef nonnull @.str.4) #12
  %4474 = load i32, ptr %228, align 4, !tbaa !5
  %4475 = call ptr @strerror(i32 noundef %4474) #12
  %4476 = load i32, ptr %228, align 4, !tbaa !5
  %4477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4468, ptr noundef nonnull %.str.5.sink3720, i32 noundef %4469, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 572, ptr noundef %4471, ptr noundef %4473, ptr noundef %4475, i32 noundef %4476) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4478:                                             ; preds = %4452
  %4479 = load i32, ptr @test_count, align 4, !tbaa !5
  %4480 = add nsw i32 %4479, 1
  store i32 %4480, ptr @test_count, align 4, !tbaa !5
  %4481 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %4426, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %4482 = call zeroext i1 @s2n_result_is_ok(i32 %4481)
  br i1 %4482, label %4505, label %4483

4483:                                             ; preds = %4478
  %4484 = load i32, ptr %228, align 4, !tbaa !5
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = call i32 @s2n_print_stacktrace(ptr noundef %4485) #12
  %4487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4488 = trunc nuw i8 %4487 to i1
  br i1 %4488, label %4489, label %4493

4489:                                             ; preds = %4483
  %4490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4491 = call i32 @fileno(ptr noundef %4490) #12
  %4492 = call i32 @isatty(i32 noundef %4491) #12
  %.not1765 = icmp eq i32 %4492, 0
  br i1 %.not1765, label %4493, label %4494

4493:                                             ; preds = %4489, %4483
  br label %4494

4494:                                             ; preds = %4489, %4493
  %.str.5.sink3729 = phi ptr [ @.str.5, %4493 ], [ @.str.2, %4489 ]
  store i32 %4484, ptr %228, align 4, !tbaa !5
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = load i32, ptr @test_count, align 4, !tbaa !5
  %4497 = load i32, ptr %174, align 4, !tbaa !5
  %4498 = call ptr @s2n_strerror(i32 noundef %4497, ptr noundef nonnull @.str.4) #12
  %4499 = load i32, ptr %174, align 4, !tbaa !5
  %4500 = call ptr @s2n_strerror_debug(i32 noundef %4499, ptr noundef nonnull @.str.4) #12
  %4501 = load i32, ptr %228, align 4, !tbaa !5
  %4502 = call ptr @strerror(i32 noundef %4501) #12
  %4503 = load i32, ptr %228, align 4, !tbaa !5
  %4504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4495, ptr noundef nonnull %.str.5.sink3729, i32 noundef %4496, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %4498, ptr noundef %4500, ptr noundef %4502, i32 noundef %4503) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4505:                                             ; preds = %4478
  %4506 = getelementptr inbounds i8, ptr %4426, i64 232
  %4507 = load ptr, ptr %4506, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %4507, align 8, !tbaa !63
  %4508 = getelementptr inbounds i8, ptr %4426, i64 4088
  store i32 1, ptr %4508, align 8, !tbaa !15
  %4509 = getelementptr inbounds i8, ptr %4426, i64 220
  store i8 34, ptr %4509, align 4, !tbaa !68
  %4510 = load i32, ptr @test_count, align 4, !tbaa !5
  %4511 = add nsw i32 %4510, 1
  store i32 %4511, ptr @test_count, align 4, !tbaa !5
  %4512 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4426) #12
  %4513 = call zeroext i1 @s2n_result_is_ok(i32 %4512)
  br i1 %4513, label %4536, label %4514

4514:                                             ; preds = %4505
  %4515 = load i32, ptr %228, align 4, !tbaa !5
  %4516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4517 = call i32 @s2n_print_stacktrace(ptr noundef %4516) #12
  %4518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4519 = trunc nuw i8 %4518 to i1
  br i1 %4519, label %4520, label %4524

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

4524:                                             ; preds = %4520, %4514
  br label %4525

4525:                                             ; preds = %4520, %4524
  %.str.5.sink3738 = phi ptr [ @.str.5, %4524 ], [ @.str.2, %4520 ]
  store i32 %4515, ptr %228, align 4, !tbaa !5
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = load i32, ptr @test_count, align 4, !tbaa !5
  %4528 = load i32, ptr %174, align 4, !tbaa !5
  %4529 = call ptr @s2n_strerror(i32 noundef %4528, ptr noundef nonnull @.str.4) #12
  %4530 = load i32, ptr %174, align 4, !tbaa !5
  %4531 = call ptr @s2n_strerror_debug(i32 noundef %4530, ptr noundef nonnull @.str.4) #12
  %4532 = load i32, ptr %228, align 4, !tbaa !5
  %4533 = call ptr @strerror(i32 noundef %4532) #12
  %4534 = load i32, ptr %228, align 4, !tbaa !5
  %4535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4526, ptr noundef nonnull %.str.5.sink3738, i32 noundef %4527, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %4529, ptr noundef %4531, ptr noundef %4533, i32 noundef %4534) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4536:                                             ; preds = %4505
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = add nsw i32 %4537, 1
  store i32 %4538, ptr @test_count, align 4, !tbaa !5
  %4539 = load i32, ptr %4508, align 8, !tbaa !15
  %4540 = icmp eq i32 %4539, 4
  br i1 %4540, label %4563, label %4541

4541:                                             ; preds = %4536
  %4542 = load i32, ptr %228, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = call i32 @s2n_print_stacktrace(ptr noundef %4543) #12
  %4545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4546 = trunc nuw i8 %4545 to i1
  br i1 %4546, label %4547, label %4551

4547:                                             ; preds = %4541
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = call i32 @fileno(ptr noundef %4548) #12
  %4550 = call i32 @isatty(i32 noundef %4549) #12
  %.not1767 = icmp eq i32 %4550, 0
  br i1 %.not1767, label %4551, label %4552

4551:                                             ; preds = %4547, %4541
  br label %4552

4552:                                             ; preds = %4547, %4551
  %.str.5.sink3747 = phi ptr [ @.str.5, %4551 ], [ @.str.2, %4547 ]
  store i32 %4542, ptr %228, align 4, !tbaa !5
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = load i32, ptr %174, align 4, !tbaa !5
  %4556 = call ptr @s2n_strerror(i32 noundef %4555, ptr noundef nonnull @.str.4) #12
  %4557 = load i32, ptr %174, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror_debug(i32 noundef %4557, ptr noundef nonnull @.str.4) #12
  %4559 = load i32, ptr %228, align 4, !tbaa !5
  %4560 = call ptr @strerror(i32 noundef %4559) #12
  %4561 = load i32, ptr %228, align 4, !tbaa !5
  %4562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4553, ptr noundef nonnull %.str.5.sink3747, i32 noundef %4554, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 580, ptr noundef %4556, ptr noundef %4558, ptr noundef %4560, i32 noundef %4561) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4563:                                             ; preds = %4536
  %4564 = add nsw i32 %4537, 2
  store i32 %4564, ptr @test_count, align 4, !tbaa !5
  %4565 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %4426) #12
  %4566 = icmp eq i32 %4565, -1
  br i1 %4566, label %4567, label %4589

4567:                                             ; preds = %4563
  %4568 = load i32, ptr %228, align 4, !tbaa !5
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = call i32 @s2n_print_stacktrace(ptr noundef %4569) #12
  %4571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4572 = trunc nuw i8 %4571 to i1
  br i1 %4572, label %4573, label %4577

4573:                                             ; preds = %4567
  %4574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4575 = call i32 @fileno(ptr noundef %4574) #12
  %4576 = call i32 @isatty(i32 noundef %4575) #12
  %.not2174 = icmp eq i32 %4576, 0
  br i1 %.not2174, label %4577, label %4578

4577:                                             ; preds = %4573, %4567
  br label %4578

4578:                                             ; preds = %4573, %4577
  %.str.5.sink3756 = phi ptr [ @.str.5, %4577 ], [ @.str.2, %4573 ]
  store i32 %4568, ptr %228, align 4, !tbaa !5
  %4579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4580 = load i32, ptr @test_count, align 4, !tbaa !5
  %4581 = load i32, ptr %174, align 4, !tbaa !5
  %4582 = call ptr @s2n_strerror(i32 noundef %4581, ptr noundef nonnull @.str.4) #12
  %4583 = load i32, ptr %174, align 4, !tbaa !5
  %4584 = call ptr @s2n_strerror_debug(i32 noundef %4583, ptr noundef nonnull @.str.4) #12
  %4585 = load i32, ptr %228, align 4, !tbaa !5
  %4586 = call ptr @strerror(i32 noundef %4585) #12
  %4587 = load i32, ptr %228, align 4, !tbaa !5
  %4588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4579, ptr noundef nonnull %.str.5.sink3756, i32 noundef %4580, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %4582, ptr noundef %4584, ptr noundef %4586, i32 noundef %4587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4589:                                             ; preds = %4563
  store i32 2, ptr %4508, align 8, !tbaa !15
  store i8 34, ptr %4509, align 4, !tbaa !68
  %4590 = load i32, ptr @test_count, align 4, !tbaa !5
  %4591 = add nsw i32 %4590, 1
  store i32 %4591, ptr @test_count, align 4, !tbaa !5
  %4592 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4426) #12
  %4593 = call zeroext i1 @s2n_result_is_ok(i32 %4592)
  br i1 %4593, label %4616, label %4594

4594:                                             ; preds = %4589
  %4595 = load i32, ptr %228, align 4, !tbaa !5
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = call i32 @s2n_print_stacktrace(ptr noundef %4596) #12
  %4598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4599 = trunc nuw i8 %4598 to i1
  br i1 %4599, label %4600, label %4604

4600:                                             ; preds = %4594
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = call i32 @fileno(ptr noundef %4601) #12
  %4603 = call i32 @isatty(i32 noundef %4602) #12
  %.not1768 = icmp eq i32 %4603, 0
  br i1 %.not1768, label %4604, label %4605

4604:                                             ; preds = %4600, %4594
  br label %4605

4605:                                             ; preds = %4600, %4604
  %.str.5.sink3765 = phi ptr [ @.str.5, %4604 ], [ @.str.2, %4600 ]
  store i32 %4595, ptr %228, align 4, !tbaa !5
  %4606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4607 = load i32, ptr @test_count, align 4, !tbaa !5
  %4608 = load i32, ptr %174, align 4, !tbaa !5
  %4609 = call ptr @s2n_strerror(i32 noundef %4608, ptr noundef nonnull @.str.4) #12
  %4610 = load i32, ptr %174, align 4, !tbaa !5
  %4611 = call ptr @s2n_strerror_debug(i32 noundef %4610, ptr noundef nonnull @.str.4) #12
  %4612 = load i32, ptr %228, align 4, !tbaa !5
  %4613 = call ptr @strerror(i32 noundef %4612) #12
  %4614 = load i32, ptr %228, align 4, !tbaa !5
  %4615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4606, ptr noundef nonnull %.str.5.sink3765, i32 noundef %4607, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 587, ptr noundef %4609, ptr noundef %4611, ptr noundef %4613, i32 noundef %4614) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4616:                                             ; preds = %4589
  %4617 = load i32, ptr @test_count, align 4, !tbaa !5
  %4618 = add nsw i32 %4617, 1
  store i32 %4618, ptr @test_count, align 4, !tbaa !5
  %4619 = load i32, ptr %4508, align 8, !tbaa !15
  %4620 = icmp eq i32 %4619, 2
  br i1 %4620, label %4643, label %4621

4621:                                             ; preds = %4616
  %4622 = load i32, ptr %228, align 4, !tbaa !5
  %4623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4624 = call i32 @s2n_print_stacktrace(ptr noundef %4623) #12
  %4625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4626 = trunc nuw i8 %4625 to i1
  br i1 %4626, label %4627, label %4631

4627:                                             ; preds = %4621
  %4628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4629 = call i32 @fileno(ptr noundef %4628) #12
  %4630 = call i32 @isatty(i32 noundef %4629) #12
  %.not1769 = icmp eq i32 %4630, 0
  br i1 %.not1769, label %4631, label %4632

4631:                                             ; preds = %4627, %4621
  br label %4632

4632:                                             ; preds = %4627, %4631
  %.str.5.sink3774 = phi ptr [ @.str.5, %4631 ], [ @.str.2, %4627 ]
  store i32 %4622, ptr %228, align 4, !tbaa !5
  %4633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4634 = load i32, ptr @test_count, align 4, !tbaa !5
  %4635 = load i32, ptr %174, align 4, !tbaa !5
  %4636 = call ptr @s2n_strerror(i32 noundef %4635, ptr noundef nonnull @.str.4) #12
  %4637 = load i32, ptr %174, align 4, !tbaa !5
  %4638 = call ptr @s2n_strerror_debug(i32 noundef %4637, ptr noundef nonnull @.str.4) #12
  %4639 = load i32, ptr %228, align 4, !tbaa !5
  %4640 = call ptr @strerror(i32 noundef %4639) #12
  %4641 = load i32, ptr %228, align 4, !tbaa !5
  %4642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4633, ptr noundef nonnull %.str.5.sink3774, i32 noundef %4634, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 588, ptr noundef %4636, ptr noundef %4638, ptr noundef %4640, i32 noundef %4641) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4643:                                             ; preds = %4616
  store i32 1, ptr %4508, align 8, !tbaa !15
  store i8 33, ptr %4509, align 4, !tbaa !68
  %4644 = add nsw i32 %4617, 2
  store i32 %4644, ptr @test_count, align 4, !tbaa !5
  %4645 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4426) #12
  %4646 = call zeroext i1 @s2n_result_is_ok(i32 %4645)
  br i1 %4646, label %4669, label %4647

4647:                                             ; preds = %4643
  %4648 = load i32, ptr %228, align 4, !tbaa !5
  %4649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4650 = call i32 @s2n_print_stacktrace(ptr noundef %4649) #12
  %4651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4652 = trunc nuw i8 %4651 to i1
  br i1 %4652, label %4653, label %4657

4653:                                             ; preds = %4647
  %4654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4655 = call i32 @fileno(ptr noundef %4654) #12
  %4656 = call i32 @isatty(i32 noundef %4655) #12
  %.not1770 = icmp eq i32 %4656, 0
  br i1 %.not1770, label %4657, label %4658

4657:                                             ; preds = %4653, %4647
  br label %4658

4658:                                             ; preds = %4653, %4657
  %.str.5.sink3783 = phi ptr [ @.str.5, %4657 ], [ @.str.2, %4653 ]
  store i32 %4648, ptr %228, align 4, !tbaa !5
  %4659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4660 = load i32, ptr @test_count, align 4, !tbaa !5
  %4661 = load i32, ptr %174, align 4, !tbaa !5
  %4662 = call ptr @s2n_strerror(i32 noundef %4661, ptr noundef nonnull @.str.4) #12
  %4663 = load i32, ptr %174, align 4, !tbaa !5
  %4664 = call ptr @s2n_strerror_debug(i32 noundef %4663, ptr noundef nonnull @.str.4) #12
  %4665 = load i32, ptr %228, align 4, !tbaa !5
  %4666 = call ptr @strerror(i32 noundef %4665) #12
  %4667 = load i32, ptr %228, align 4, !tbaa !5
  %4668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4659, ptr noundef nonnull %.str.5.sink3783, i32 noundef %4660, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 593, ptr noundef %4662, ptr noundef %4664, ptr noundef %4666, i32 noundef %4667) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4669:                                             ; preds = %4643
  %4670 = load i32, ptr @test_count, align 4, !tbaa !5
  %4671 = add nsw i32 %4670, 1
  store i32 %4671, ptr @test_count, align 4, !tbaa !5
  %4672 = load i32, ptr %4508, align 8, !tbaa !15
  %4673 = icmp eq i32 %4672, 4
  br i1 %4673, label %4696, label %4674

4674:                                             ; preds = %4669
  %4675 = load i32, ptr %228, align 4, !tbaa !5
  %4676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4677 = call i32 @s2n_print_stacktrace(ptr noundef %4676) #12
  %4678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4679 = trunc nuw i8 %4678 to i1
  br i1 %4679, label %4680, label %4684

4680:                                             ; preds = %4674
  %4681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4682 = call i32 @fileno(ptr noundef %4681) #12
  %4683 = call i32 @isatty(i32 noundef %4682) #12
  %.not1771 = icmp eq i32 %4683, 0
  br i1 %.not1771, label %4684, label %4685

4684:                                             ; preds = %4680, %4674
  br label %4685

4685:                                             ; preds = %4680, %4684
  %.str.5.sink3792 = phi ptr [ @.str.5, %4684 ], [ @.str.2, %4680 ]
  store i32 %4675, ptr %228, align 4, !tbaa !5
  %4686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4687 = load i32, ptr @test_count, align 4, !tbaa !5
  %4688 = load i32, ptr %174, align 4, !tbaa !5
  %4689 = call ptr @s2n_strerror(i32 noundef %4688, ptr noundef nonnull @.str.4) #12
  %4690 = load i32, ptr %174, align 4, !tbaa !5
  %4691 = call ptr @s2n_strerror_debug(i32 noundef %4690, ptr noundef nonnull @.str.4) #12
  %4692 = load i32, ptr %228, align 4, !tbaa !5
  %4693 = call ptr @strerror(i32 noundef %4692) #12
  %4694 = load i32, ptr %228, align 4, !tbaa !5
  %4695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4686, ptr noundef nonnull %.str.5.sink3792, i32 noundef %4687, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %4689, ptr noundef %4691, ptr noundef %4693, i32 noundef %4694) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4696:                                             ; preds = %4669
  store i32 1, ptr %4508, align 8, !tbaa !15
  store i8 34, ptr %4509, align 4, !tbaa !68
  %4697 = add nsw i32 %4670, 2
  store i32 %4697, ptr @test_count, align 4, !tbaa !5
  %4698 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4426) #12
  %4699 = call zeroext i1 @s2n_result_is_ok(i32 %4698)
  br i1 %4699, label %4722, label %4700

4700:                                             ; preds = %4696
  %4701 = load i32, ptr %228, align 4, !tbaa !5
  %4702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4703 = call i32 @s2n_print_stacktrace(ptr noundef %4702) #12
  %4704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4705 = trunc nuw i8 %4704 to i1
  br i1 %4705, label %4706, label %4710

4706:                                             ; preds = %4700
  %4707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4708 = call i32 @fileno(ptr noundef %4707) #12
  %4709 = call i32 @isatty(i32 noundef %4708) #12
  %.not1772 = icmp eq i32 %4709, 0
  br i1 %.not1772, label %4710, label %4711

4710:                                             ; preds = %4706, %4700
  br label %4711

4711:                                             ; preds = %4706, %4710
  %.str.5.sink3801 = phi ptr [ @.str.5, %4710 ], [ @.str.2, %4706 ]
  store i32 %4701, ptr %228, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = load i32, ptr @test_count, align 4, !tbaa !5
  %4714 = load i32, ptr %174, align 4, !tbaa !5
  %4715 = call ptr @s2n_strerror(i32 noundef %4714, ptr noundef nonnull @.str.4) #12
  %4716 = load i32, ptr %174, align 4, !tbaa !5
  %4717 = call ptr @s2n_strerror_debug(i32 noundef %4716, ptr noundef nonnull @.str.4) #12
  %4718 = load i32, ptr %228, align 4, !tbaa !5
  %4719 = call ptr @strerror(i32 noundef %4718) #12
  %4720 = load i32, ptr %228, align 4, !tbaa !5
  %4721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4712, ptr noundef nonnull %.str.5.sink3801, i32 noundef %4713, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %4715, ptr noundef %4717, ptr noundef %4719, i32 noundef %4720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4722:                                             ; preds = %4696
  %4723 = load i32, ptr @test_count, align 4, !tbaa !5
  %4724 = add nsw i32 %4723, 1
  store i32 %4724, ptr @test_count, align 4, !tbaa !5
  %4725 = load i32, ptr %4508, align 8, !tbaa !15
  %4726 = icmp eq i32 %4725, 3
  br i1 %4726, label %4749, label %4727

4727:                                             ; preds = %4722
  %4728 = load i32, ptr %228, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = call i32 @s2n_print_stacktrace(ptr noundef %4729) #12
  %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) #12
  %4736 = call i32 @isatty(i32 noundef %4735) #12
  %.not1773 = icmp eq i32 %4736, 0
  br i1 %.not1773, label %4737, label %4738

4737:                                             ; preds = %4733, %4727
  br label %4738

4738:                                             ; preds = %4733, %4737
  %.str.5.sink3810 = phi ptr [ @.str.5, %4737 ], [ @.str.2, %4733 ]
  store i32 %4728, ptr %228, 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 %174, align 4, !tbaa !5
  %4742 = call ptr @s2n_strerror(i32 noundef %4741, ptr noundef nonnull @.str.4) #12
  %4743 = load i32, ptr %174, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror_debug(i32 noundef %4743, ptr noundef nonnull @.str.4) #12
  %4745 = load i32, ptr %228, align 4, !tbaa !5
  %4746 = call ptr @strerror(i32 noundef %4745) #12
  %4747 = load i32, ptr %228, align 4, !tbaa !5
  %4748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4739, ptr noundef nonnull %.str.5.sink3810, i32 noundef %4740, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %4742, ptr noundef %4744, ptr noundef %4746, i32 noundef %4747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4749:                                             ; preds = %4722
  %4750 = add nsw i32 %4723, 2
  store i32 %4750, ptr @test_count, align 4, !tbaa !5
  %4751 = call i32 @s2n_connection_free(ptr noundef nonnull %4426) #12
  %4752 = icmp eq i32 %4751, -1
  br i1 %4752, label %4753, label %4775

4753:                                             ; preds = %4749
  %4754 = load i32, ptr %228, align 4, !tbaa !5
  %4755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4756 = call i32 @s2n_print_stacktrace(ptr noundef %4755) #12
  %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) #12
  %4762 = call i32 @isatty(i32 noundef %4761) #12
  %.not2173 = icmp eq i32 %4762, 0
  br i1 %.not2173, label %4763, label %4764

4763:                                             ; preds = %4759, %4753
  br label %4764

4764:                                             ; preds = %4759, %4763
  %.str.5.sink3819 = phi ptr [ @.str.5, %4763 ], [ @.str.2, %4759 ]
  store i32 %4754, ptr %228, 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 %174, align 4, !tbaa !5
  %4768 = call ptr @s2n_strerror(i32 noundef %4767, ptr noundef nonnull @.str.4) #12
  %4769 = load i32, ptr %174, align 4, !tbaa !5
  %4770 = call ptr @s2n_strerror_debug(i32 noundef %4769, ptr noundef nonnull @.str.4) #12
  %4771 = load i32, ptr %228, align 4, !tbaa !5
  %4772 = call ptr @strerror(i32 noundef %4771) #12
  %4773 = load i32, ptr %228, align 4, !tbaa !5
  %4774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4765, ptr noundef nonnull %.str.5.sink3819, i32 noundef %4766, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 601, ptr noundef %4768, ptr noundef %4770, ptr noundef %4772, i32 noundef %4773) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4775:                                             ; preds = %4749
  %4776 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4777 = load i32, ptr @test_count, align 4, !tbaa !5
  %4778 = add nsw i32 %4777, 1
  store i32 %4778, ptr @test_count, align 4, !tbaa !5
  %4779 = icmp eq ptr %4776, null
  br i1 %4779, label %4780, label %4802

4780:                                             ; preds = %4775
  %4781 = load i32, ptr %228, align 4, !tbaa !5
  %4782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4783 = call i32 @s2n_print_stacktrace(ptr noundef %4782) #12
  %4784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4785 = trunc nuw i8 %4784 to i1
  br i1 %4785, label %4786, label %4790

4786:                                             ; preds = %4780
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = call i32 @fileno(ptr noundef %4787) #12
  %4789 = call i32 @isatty(i32 noundef %4788) #12
  %.not2172 = icmp eq i32 %4789, 0
  br i1 %.not2172, label %4790, label %4791

4790:                                             ; preds = %4786, %4780
  br label %4791

4791:                                             ; preds = %4786, %4790
  %.str.5.sink3828 = phi ptr [ @.str.5, %4790 ], [ @.str.2, %4786 ]
  store i32 %4781, ptr %228, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = load i32, ptr @test_count, align 4, !tbaa !5
  %4794 = load i32, ptr %174, align 4, !tbaa !5
  %4795 = call ptr @s2n_strerror(i32 noundef %4794, ptr noundef nonnull @.str.4) #12
  %4796 = load i32, ptr %174, align 4, !tbaa !5
  %4797 = call ptr @s2n_strerror_debug(i32 noundef %4796, ptr noundef nonnull @.str.4) #12
  %4798 = load i32, ptr %228, align 4, !tbaa !5
  %4799 = call ptr @strerror(i32 noundef %4798) #12
  %4800 = load i32, ptr %228, align 4, !tbaa !5
  %4801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4792, ptr noundef nonnull %.str.5.sink3828, i32 noundef %4793, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 607, ptr noundef %4795, ptr noundef %4797, ptr noundef %4799, i32 noundef %4800) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4802:                                             ; preds = %4775
  %4803 = add nsw i32 %4777, 2
  store i32 %4803, ptr @test_count, align 4, !tbaa !5
  %4804 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %4776, ptr noundef nonnull @.str.84) #12
  %4805 = icmp eq i32 %4804, -1
  br i1 %4805, label %4806, label %4828

4806:                                             ; preds = %4802
  %4807 = load i32, ptr %228, align 4, !tbaa !5
  %4808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4809 = call i32 @s2n_print_stacktrace(ptr noundef %4808) #12
  %4810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4811 = trunc nuw i8 %4810 to i1
  br i1 %4811, label %4812, label %4816

4812:                                             ; preds = %4806
  %4813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4814 = call i32 @fileno(ptr noundef %4813) #12
  %4815 = call i32 @isatty(i32 noundef %4814) #12
  %.not2171 = icmp eq i32 %4815, 0
  br i1 %.not2171, label %4816, label %4817

4816:                                             ; preds = %4812, %4806
  br label %4817

4817:                                             ; preds = %4812, %4816
  %.str.5.sink3837 = phi ptr [ @.str.5, %4816 ], [ @.str.2, %4812 ]
  store i32 %4807, ptr %228, align 4, !tbaa !5
  %4818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4819 = load i32, ptr @test_count, align 4, !tbaa !5
  %4820 = load i32, ptr %174, align 4, !tbaa !5
  %4821 = call ptr @s2n_strerror(i32 noundef %4820, ptr noundef nonnull @.str.4) #12
  %4822 = load i32, ptr %174, align 4, !tbaa !5
  %4823 = call ptr @s2n_strerror_debug(i32 noundef %4822, ptr noundef nonnull @.str.4) #12
  %4824 = load i32, ptr %228, align 4, !tbaa !5
  %4825 = call ptr @strerror(i32 noundef %4824) #12
  %4826 = load i32, ptr %228, align 4, !tbaa !5
  %4827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4818, ptr noundef nonnull %.str.5.sink3837, i32 noundef %4819, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 608, ptr noundef %4821, ptr noundef %4823, ptr noundef %4825, i32 noundef %4826) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4828:                                             ; preds = %4802
  %4829 = load i32, ptr @test_count, align 4, !tbaa !5
  %4830 = add nsw i32 %4829, 1
  store i32 %4830, ptr @test_count, align 4, !tbaa !5
  %4831 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %4776, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %4832 = call zeroext i1 @s2n_result_is_ok(i32 %4831)
  br i1 %4832, label %4855, label %4833

4833:                                             ; preds = %4828
  %4834 = load i32, ptr %228, align 4, !tbaa !5
  %4835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4836 = call i32 @s2n_print_stacktrace(ptr noundef %4835) #12
  %4837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4838 = trunc nuw i8 %4837 to i1
  br i1 %4838, label %4839, label %4843

4839:                                             ; preds = %4833
  %4840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4841 = call i32 @fileno(ptr noundef %4840) #12
  %4842 = call i32 @isatty(i32 noundef %4841) #12
  %.not1774 = icmp eq i32 %4842, 0
  br i1 %.not1774, label %4843, label %4844

4843:                                             ; preds = %4839, %4833
  br label %4844

4844:                                             ; preds = %4839, %4843
  %.str.5.sink3846 = phi ptr [ @.str.5, %4843 ], [ @.str.2, %4839 ]
  store i32 %4834, ptr %228, align 4, !tbaa !5
  %4845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4846 = load i32, ptr @test_count, align 4, !tbaa !5
  %4847 = load i32, ptr %174, align 4, !tbaa !5
  %4848 = call ptr @s2n_strerror(i32 noundef %4847, ptr noundef nonnull @.str.4) #12
  %4849 = load i32, ptr %174, align 4, !tbaa !5
  %4850 = call ptr @s2n_strerror_debug(i32 noundef %4849, ptr noundef nonnull @.str.4) #12
  %4851 = load i32, ptr %228, align 4, !tbaa !5
  %4852 = call ptr @strerror(i32 noundef %4851) #12
  %4853 = load i32, ptr %228, align 4, !tbaa !5
  %4854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4845, ptr noundef nonnull %.str.5.sink3846, i32 noundef %4846, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 609, ptr noundef %4848, ptr noundef %4850, ptr noundef %4852, i32 noundef %4853) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4855:                                             ; preds = %4828
  %4856 = getelementptr inbounds i8, ptr %4776, i64 232
  %4857 = load ptr, ptr %4856, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %4857, align 8, !tbaa !63
  %4858 = getelementptr inbounds i8, ptr %4776, i64 4088
  store i32 1, ptr %4858, align 8, !tbaa !15
  %4859 = getelementptr inbounds i8, ptr %4776, i64 220
  store i8 34, ptr %4859, align 4, !tbaa !68
  %4860 = load i32, ptr @test_count, align 4, !tbaa !5
  %4861 = add nsw i32 %4860, 1
  store i32 %4861, ptr @test_count, align 4, !tbaa !5
  %4862 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4776) #12
  %4863 = call zeroext i1 @s2n_result_is_ok(i32 %4862)
  br i1 %4863, label %4886, label %4864

4864:                                             ; preds = %4855
  %4865 = load i32, ptr %228, align 4, !tbaa !5
  %4866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4867 = call i32 @s2n_print_stacktrace(ptr noundef %4866) #12
  %4868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4869 = trunc nuw i8 %4868 to i1
  br i1 %4869, label %4870, label %4874

4870:                                             ; preds = %4864
  %4871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4872 = call i32 @fileno(ptr noundef %4871) #12
  %4873 = call i32 @isatty(i32 noundef %4872) #12
  %.not1775 = icmp eq i32 %4873, 0
  br i1 %.not1775, label %4874, label %4875

4874:                                             ; preds = %4870, %4864
  br label %4875

4875:                                             ; preds = %4870, %4874
  %.str.5.sink3855 = phi ptr [ @.str.5, %4874 ], [ @.str.2, %4870 ]
  store i32 %4865, ptr %228, align 4, !tbaa !5
  %4876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4877 = load i32, ptr @test_count, align 4, !tbaa !5
  %4878 = load i32, ptr %174, align 4, !tbaa !5
  %4879 = call ptr @s2n_strerror(i32 noundef %4878, ptr noundef nonnull @.str.4) #12
  %4880 = load i32, ptr %174, align 4, !tbaa !5
  %4881 = call ptr @s2n_strerror_debug(i32 noundef %4880, ptr noundef nonnull @.str.4) #12
  %4882 = load i32, ptr %228, align 4, !tbaa !5
  %4883 = call ptr @strerror(i32 noundef %4882) #12
  %4884 = load i32, ptr %228, align 4, !tbaa !5
  %4885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4876, ptr noundef nonnull %.str.5.sink3855, i32 noundef %4877, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %4879, ptr noundef %4881, ptr noundef %4883, i32 noundef %4884) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4886:                                             ; preds = %4855
  %4887 = load i32, ptr @test_count, align 4, !tbaa !5
  %4888 = add nsw i32 %4887, 1
  store i32 %4888, ptr @test_count, align 4, !tbaa !5
  %4889 = load i32, ptr %4858, align 8, !tbaa !15
  %4890 = icmp eq i32 %4889, 1
  br i1 %4890, label %4913, label %4891

4891:                                             ; preds = %4886
  %4892 = load i32, ptr %228, align 4, !tbaa !5
  %4893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4894 = call i32 @s2n_print_stacktrace(ptr noundef %4893) #12
  %4895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4896 = trunc nuw i8 %4895 to i1
  br i1 %4896, label %4897, label %4901

4897:                                             ; preds = %4891
  %4898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4899 = call i32 @fileno(ptr noundef %4898) #12
  %4900 = call i32 @isatty(i32 noundef %4899) #12
  %.not1776 = icmp eq i32 %4900, 0
  br i1 %.not1776, label %4901, label %4902

4901:                                             ; preds = %4897, %4891
  br label %4902

4902:                                             ; preds = %4897, %4901
  %.str.5.sink3864 = phi ptr [ @.str.5, %4901 ], [ @.str.2, %4897 ]
  store i32 %4892, ptr %228, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = load i32, ptr @test_count, align 4, !tbaa !5
  %4905 = load i32, ptr %174, align 4, !tbaa !5
  %4906 = call ptr @s2n_strerror(i32 noundef %4905, ptr noundef nonnull @.str.4) #12
  %4907 = load i32, ptr %174, align 4, !tbaa !5
  %4908 = call ptr @s2n_strerror_debug(i32 noundef %4907, ptr noundef nonnull @.str.4) #12
  %4909 = load i32, ptr %228, align 4, !tbaa !5
  %4910 = call ptr @strerror(i32 noundef %4909) #12
  %4911 = load i32, ptr %228, align 4, !tbaa !5
  %4912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4903, ptr noundef nonnull %.str.5.sink3864, i32 noundef %4904, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 616, ptr noundef %4906, ptr noundef %4908, ptr noundef %4910, i32 noundef %4911) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4913:                                             ; preds = %4886
  %4914 = add nsw i32 %4887, 2
  store i32 %4914, ptr @test_count, align 4, !tbaa !5
  %4915 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %4776) #12
  %4916 = icmp eq i32 %4915, -1
  br i1 %4916, label %4917, label %4939

4917:                                             ; preds = %4913
  %4918 = load i32, ptr %228, align 4, !tbaa !5
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = call i32 @s2n_print_stacktrace(ptr noundef %4919) #12
  %4921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4922 = trunc nuw i8 %4921 to i1
  br i1 %4922, label %4923, label %4927

4923:                                             ; preds = %4917
  %4924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4925 = call i32 @fileno(ptr noundef %4924) #12
  %4926 = call i32 @isatty(i32 noundef %4925) #12
  %.not2170 = icmp eq i32 %4926, 0
  br i1 %.not2170, label %4927, label %4928

4927:                                             ; preds = %4923, %4917
  br label %4928

4928:                                             ; preds = %4923, %4927
  %.str.5.sink3873 = phi ptr [ @.str.5, %4927 ], [ @.str.2, %4923 ]
  store i32 %4918, ptr %228, align 4, !tbaa !5
  %4929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4930 = load i32, ptr @test_count, align 4, !tbaa !5
  %4931 = load i32, ptr %174, align 4, !tbaa !5
  %4932 = call ptr @s2n_strerror(i32 noundef %4931, ptr noundef nonnull @.str.4) #12
  %4933 = load i32, ptr %174, align 4, !tbaa !5
  %4934 = call ptr @s2n_strerror_debug(i32 noundef %4933, ptr noundef nonnull @.str.4) #12
  %4935 = load i32, ptr %228, align 4, !tbaa !5
  %4936 = call ptr @strerror(i32 noundef %4935) #12
  %4937 = load i32, ptr %228, align 4, !tbaa !5
  %4938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4929, ptr noundef nonnull %.str.5.sink3873, i32 noundef %4930, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %4932, ptr noundef %4934, ptr noundef %4936, i32 noundef %4937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4939:                                             ; preds = %4913
  store i32 2, ptr %4858, align 8, !tbaa !15
  store i8 34, ptr %4859, align 4, !tbaa !68
  %4940 = load i32, ptr @test_count, align 4, !tbaa !5
  %4941 = add nsw i32 %4940, 1
  store i32 %4941, ptr @test_count, align 4, !tbaa !5
  %4942 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4776) #12
  %4943 = call zeroext i1 @s2n_result_is_ok(i32 %4942)
  br i1 %4943, label %4966, label %4944

4944:                                             ; preds = %4939
  %4945 = load i32, ptr %228, align 4, !tbaa !5
  %4946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4947 = call i32 @s2n_print_stacktrace(ptr noundef %4946) #12
  %4948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4949 = trunc nuw i8 %4948 to i1
  br i1 %4949, label %4950, label %4954

4950:                                             ; preds = %4944
  %4951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4952 = call i32 @fileno(ptr noundef %4951) #12
  %4953 = call i32 @isatty(i32 noundef %4952) #12
  %.not1777 = icmp eq i32 %4953, 0
  br i1 %.not1777, label %4954, label %4955

4954:                                             ; preds = %4950, %4944
  br label %4955

4955:                                             ; preds = %4950, %4954
  %.str.5.sink3882 = phi ptr [ @.str.5, %4954 ], [ @.str.2, %4950 ]
  store i32 %4945, ptr %228, align 4, !tbaa !5
  %4956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4957 = load i32, ptr @test_count, align 4, !tbaa !5
  %4958 = load i32, ptr %174, align 4, !tbaa !5
  %4959 = call ptr @s2n_strerror(i32 noundef %4958, ptr noundef nonnull @.str.4) #12
  %4960 = load i32, ptr %174, align 4, !tbaa !5
  %4961 = call ptr @s2n_strerror_debug(i32 noundef %4960, ptr noundef nonnull @.str.4) #12
  %4962 = load i32, ptr %228, align 4, !tbaa !5
  %4963 = call ptr @strerror(i32 noundef %4962) #12
  %4964 = load i32, ptr %228, align 4, !tbaa !5
  %4965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4956, ptr noundef nonnull %.str.5.sink3882, i32 noundef %4957, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %4959, ptr noundef %4961, ptr noundef %4963, i32 noundef %4964) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4966:                                             ; preds = %4939
  %4967 = load i32, ptr @test_count, align 4, !tbaa !5
  %4968 = add nsw i32 %4967, 1
  store i32 %4968, ptr @test_count, align 4, !tbaa !5
  %4969 = load i32, ptr %4858, align 8, !tbaa !15
  %4970 = icmp eq i32 %4969, 2
  br i1 %4970, label %4993, label %4971

4971:                                             ; preds = %4966
  %4972 = load i32, ptr %228, align 4, !tbaa !5
  %4973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4974 = call i32 @s2n_print_stacktrace(ptr noundef %4973) #12
  %4975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4976 = trunc nuw i8 %4975 to i1
  br i1 %4976, label %4977, label %4981

4977:                                             ; preds = %4971
  %4978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4979 = call i32 @fileno(ptr noundef %4978) #12
  %4980 = call i32 @isatty(i32 noundef %4979) #12
  %.not1778 = icmp eq i32 %4980, 0
  br i1 %.not1778, label %4981, label %4982

4981:                                             ; preds = %4977, %4971
  br label %4982

4982:                                             ; preds = %4977, %4981
  %.str.5.sink3891 = phi ptr [ @.str.5, %4981 ], [ @.str.2, %4977 ]
  store i32 %4972, ptr %228, align 4, !tbaa !5
  %4983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4984 = load i32, ptr @test_count, align 4, !tbaa !5
  %4985 = load i32, ptr %174, align 4, !tbaa !5
  %4986 = call ptr @s2n_strerror(i32 noundef %4985, ptr noundef nonnull @.str.4) #12
  %4987 = load i32, ptr %174, align 4, !tbaa !5
  %4988 = call ptr @s2n_strerror_debug(i32 noundef %4987, ptr noundef nonnull @.str.4) #12
  %4989 = load i32, ptr %228, align 4, !tbaa !5
  %4990 = call ptr @strerror(i32 noundef %4989) #12
  %4991 = load i32, ptr %228, align 4, !tbaa !5
  %4992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4983, ptr noundef nonnull %.str.5.sink3891, i32 noundef %4984, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 624, ptr noundef %4986, ptr noundef %4988, ptr noundef %4990, i32 noundef %4991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4993:                                             ; preds = %4966
  store i32 1, ptr %4858, align 8, !tbaa !15
  store i8 33, ptr %4859, align 4, !tbaa !68
  %4994 = add nsw i32 %4967, 2
  store i32 %4994, ptr @test_count, align 4, !tbaa !5
  %4995 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4776) #12
  %4996 = call zeroext i1 @s2n_result_is_ok(i32 %4995)
  br i1 %4996, label %5019, label %4997

4997:                                             ; preds = %4993
  %4998 = load i32, ptr %228, align 4, !tbaa !5
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = call i32 @s2n_print_stacktrace(ptr noundef %4999) #12
  %5001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5002 = trunc nuw i8 %5001 to i1
  br i1 %5002, label %5003, label %5007

5003:                                             ; preds = %4997
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = call i32 @fileno(ptr noundef %5004) #12
  %5006 = call i32 @isatty(i32 noundef %5005) #12
  %.not1779 = icmp eq i32 %5006, 0
  br i1 %.not1779, label %5007, label %5008

5007:                                             ; preds = %5003, %4997
  br label %5008

5008:                                             ; preds = %5003, %5007
  %.str.5.sink3900 = phi ptr [ @.str.5, %5007 ], [ @.str.2, %5003 ]
  store i32 %4998, ptr %228, align 4, !tbaa !5
  %5009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5010 = load i32, ptr @test_count, align 4, !tbaa !5
  %5011 = load i32, ptr %174, align 4, !tbaa !5
  %5012 = call ptr @s2n_strerror(i32 noundef %5011, ptr noundef nonnull @.str.4) #12
  %5013 = load i32, ptr %174, align 4, !tbaa !5
  %5014 = call ptr @s2n_strerror_debug(i32 noundef %5013, ptr noundef nonnull @.str.4) #12
  %5015 = load i32, ptr %228, align 4, !tbaa !5
  %5016 = call ptr @strerror(i32 noundef %5015) #12
  %5017 = load i32, ptr %228, align 4, !tbaa !5
  %5018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5009, ptr noundef nonnull %.str.5.sink3900, i32 noundef %5010, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 629, ptr noundef %5012, ptr noundef %5014, ptr noundef %5016, i32 noundef %5017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5019:                                             ; preds = %4993
  %5020 = load i32, ptr @test_count, align 4, !tbaa !5
  %5021 = add nsw i32 %5020, 1
  store i32 %5021, ptr @test_count, align 4, !tbaa !5
  %5022 = load i32, ptr %4858, align 8, !tbaa !15
  %5023 = icmp eq i32 %5022, 4
  br i1 %5023, label %5046, label %5024

5024:                                             ; preds = %5019
  %5025 = load i32, ptr %228, align 4, !tbaa !5
  %5026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5027 = call i32 @s2n_print_stacktrace(ptr noundef %5026) #12
  %5028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5029 = trunc nuw i8 %5028 to i1
  br i1 %5029, label %5030, label %5034

5030:                                             ; preds = %5024
  %5031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5032 = call i32 @fileno(ptr noundef %5031) #12
  %5033 = call i32 @isatty(i32 noundef %5032) #12
  %.not1780 = icmp eq i32 %5033, 0
  br i1 %.not1780, label %5034, label %5035

5034:                                             ; preds = %5030, %5024
  br label %5035

5035:                                             ; preds = %5030, %5034
  %.str.5.sink3909 = phi ptr [ @.str.5, %5034 ], [ @.str.2, %5030 ]
  store i32 %5025, ptr %228, align 4, !tbaa !5
  %5036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5037 = load i32, ptr @test_count, align 4, !tbaa !5
  %5038 = load i32, ptr %174, align 4, !tbaa !5
  %5039 = call ptr @s2n_strerror(i32 noundef %5038, ptr noundef nonnull @.str.4) #12
  %5040 = load i32, ptr %174, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror_debug(i32 noundef %5040, ptr noundef nonnull @.str.4) #12
  %5042 = load i32, ptr %228, align 4, !tbaa !5
  %5043 = call ptr @strerror(i32 noundef %5042) #12
  %5044 = load i32, ptr %228, align 4, !tbaa !5
  %5045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5036, ptr noundef nonnull %.str.5.sink3909, i32 noundef %5037, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %5039, ptr noundef %5041, ptr noundef %5043, i32 noundef %5044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5046:                                             ; preds = %5019
  store i32 1, ptr %4858, align 8, !tbaa !15
  store i8 34, ptr %4859, align 4, !tbaa !68
  %5047 = add nsw i32 %5020, 2
  store i32 %5047, ptr @test_count, align 4, !tbaa !5
  %5048 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %4776) #12
  %5049 = call zeroext i1 @s2n_result_is_ok(i32 %5048)
  br i1 %5049, label %5072, label %5050

5050:                                             ; preds = %5046
  %5051 = load i32, ptr %228, align 4, !tbaa !5
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = call i32 @s2n_print_stacktrace(ptr noundef %5052) #12
  %5054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5055 = trunc nuw i8 %5054 to i1
  br i1 %5055, label %5056, label %5060

5056:                                             ; preds = %5050
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = call i32 @fileno(ptr noundef %5057) #12
  %5059 = call i32 @isatty(i32 noundef %5058) #12
  %.not1781 = icmp eq i32 %5059, 0
  br i1 %.not1781, label %5060, label %5061

5060:                                             ; preds = %5056, %5050
  br label %5061

5061:                                             ; preds = %5056, %5060
  %.str.5.sink3918 = phi ptr [ @.str.5, %5060 ], [ @.str.2, %5056 ]
  store i32 %5051, ptr %228, align 4, !tbaa !5
  %5062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5063 = load i32, ptr @test_count, align 4, !tbaa !5
  %5064 = load i32, ptr %174, align 4, !tbaa !5
  %5065 = call ptr @s2n_strerror(i32 noundef %5064, ptr noundef nonnull @.str.4) #12
  %5066 = load i32, ptr %174, align 4, !tbaa !5
  %5067 = call ptr @s2n_strerror_debug(i32 noundef %5066, ptr noundef nonnull @.str.4) #12
  %5068 = load i32, ptr %228, align 4, !tbaa !5
  %5069 = call ptr @strerror(i32 noundef %5068) #12
  %5070 = load i32, ptr %228, align 4, !tbaa !5
  %5071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5062, ptr noundef nonnull %.str.5.sink3918, i32 noundef %5063, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 634, ptr noundef %5065, ptr noundef %5067, ptr noundef %5069, i32 noundef %5070) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5072:                                             ; preds = %5046
  %5073 = load i32, ptr @test_count, align 4, !tbaa !5
  %5074 = add nsw i32 %5073, 1
  store i32 %5074, ptr @test_count, align 4, !tbaa !5
  %5075 = load i32, ptr %4858, align 8, !tbaa !15
  %5076 = icmp eq i32 %5075, 1
  br i1 %5076, label %5099, label %5077

5077:                                             ; preds = %5072
  %5078 = load i32, ptr %228, align 4, !tbaa !5
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = call i32 @s2n_print_stacktrace(ptr noundef %5079) #12
  %5081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5082 = trunc nuw i8 %5081 to i1
  br i1 %5082, label %5083, label %5087

5083:                                             ; preds = %5077
  %5084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5085 = call i32 @fileno(ptr noundef %5084) #12
  %5086 = call i32 @isatty(i32 noundef %5085) #12
  %.not1782 = icmp eq i32 %5086, 0
  br i1 %.not1782, label %5087, label %5088

5087:                                             ; preds = %5083, %5077
  br label %5088

5088:                                             ; preds = %5083, %5087
  %.str.5.sink3927 = phi ptr [ @.str.5, %5087 ], [ @.str.2, %5083 ]
  store i32 %5078, ptr %228, align 4, !tbaa !5
  %5089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5090 = load i32, ptr @test_count, align 4, !tbaa !5
  %5091 = load i32, ptr %174, align 4, !tbaa !5
  %5092 = call ptr @s2n_strerror(i32 noundef %5091, ptr noundef nonnull @.str.4) #12
  %5093 = load i32, ptr %174, align 4, !tbaa !5
  %5094 = call ptr @s2n_strerror_debug(i32 noundef %5093, ptr noundef nonnull @.str.4) #12
  %5095 = load i32, ptr %228, align 4, !tbaa !5
  %5096 = call ptr @strerror(i32 noundef %5095) #12
  %5097 = load i32, ptr %228, align 4, !tbaa !5
  %5098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5089, ptr noundef nonnull %.str.5.sink3927, i32 noundef %5090, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %5092, ptr noundef %5094, ptr noundef %5096, i32 noundef %5097) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5099:                                             ; preds = %5072
  %5100 = add nsw i32 %5073, 2
  store i32 %5100, ptr @test_count, align 4, !tbaa !5
  %5101 = call i32 @s2n_connection_free(ptr noundef nonnull %4776) #12
  %5102 = icmp eq i32 %5101, -1
  br i1 %5102, label %5103, label %5125

5103:                                             ; preds = %5099
  %5104 = load i32, ptr %228, align 4, !tbaa !5
  %5105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5106 = call i32 @s2n_print_stacktrace(ptr noundef %5105) #12
  %5107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5108 = trunc nuw i8 %5107 to i1
  br i1 %5108, label %5109, label %5113

5109:                                             ; preds = %5103
  %5110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5111 = call i32 @fileno(ptr noundef %5110) #12
  %5112 = call i32 @isatty(i32 noundef %5111) #12
  %.not2169 = icmp eq i32 %5112, 0
  br i1 %.not2169, label %5113, label %5114

5113:                                             ; preds = %5109, %5103
  br label %5114

5114:                                             ; preds = %5109, %5113
  %.str.5.sink3936 = phi ptr [ @.str.5, %5113 ], [ @.str.2, %5109 ]
  store i32 %5104, ptr %228, align 4, !tbaa !5
  %5115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5116 = load i32, ptr @test_count, align 4, !tbaa !5
  %5117 = load i32, ptr %174, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror(i32 noundef %5117, ptr noundef nonnull @.str.4) #12
  %5119 = load i32, ptr %174, align 4, !tbaa !5
  %5120 = call ptr @s2n_strerror_debug(i32 noundef %5119, ptr noundef nonnull @.str.4) #12
  %5121 = load i32, ptr %228, align 4, !tbaa !5
  %5122 = call ptr @strerror(i32 noundef %5121) #12
  %5123 = load i32, ptr %228, align 4, !tbaa !5
  %5124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5115, ptr noundef nonnull %.str.5.sink3936, i32 noundef %5116, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 637, ptr noundef %5118, ptr noundef %5120, ptr noundef %5122, i32 noundef %5123) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5125:                                             ; preds = %5099
  %5126 = call ptr @s2n_config_new() #12
  %5127 = load i32, ptr @test_count, align 4, !tbaa !5
  %5128 = add nsw i32 %5127, 1
  store i32 %5128, ptr @test_count, align 4, !tbaa !5
  %5129 = icmp eq ptr %5126, null
  br i1 %5129, label %5130, label %5152

5130:                                             ; preds = %5125
  %5131 = load i32, ptr %228, align 4, !tbaa !5
  %5132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5133 = call i32 @s2n_print_stacktrace(ptr noundef %5132) #12
  %5134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5135 = trunc nuw i8 %5134 to i1
  br i1 %5135, label %5136, label %5140

5136:                                             ; preds = %5130
  %5137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5138 = call i32 @fileno(ptr noundef %5137) #12
  %5139 = call i32 @isatty(i32 noundef %5138) #12
  %.not2168 = icmp eq i32 %5139, 0
  br i1 %.not2168, label %5140, label %5141

5140:                                             ; preds = %5136, %5130
  br label %5141

5141:                                             ; preds = %5136, %5140
  %.str.5.sink3945 = phi ptr [ @.str.5, %5140 ], [ @.str.2, %5136 ]
  store i32 %5131, ptr %228, align 4, !tbaa !5
  %5142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5143 = load i32, ptr @test_count, align 4, !tbaa !5
  %5144 = load i32, ptr %174, align 4, !tbaa !5
  %5145 = call ptr @s2n_strerror(i32 noundef %5144, ptr noundef nonnull @.str.4) #12
  %5146 = load i32, ptr %174, align 4, !tbaa !5
  %5147 = call ptr @s2n_strerror_debug(i32 noundef %5146, ptr noundef nonnull @.str.4) #12
  %5148 = load i32, ptr %228, align 4, !tbaa !5
  %5149 = call ptr @strerror(i32 noundef %5148) #12
  %5150 = load i32, ptr %228, align 4, !tbaa !5
  %5151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5142, ptr noundef nonnull %.str.5.sink3945, i32 noundef %5143, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 643, ptr noundef %5145, ptr noundef %5147, ptr noundef %5149, i32 noundef %5150) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5152:                                             ; preds = %5125
  %5153 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %5154 = load i32, ptr @test_count, align 4, !tbaa !5
  %5155 = add nsw i32 %5154, 1
  store i32 %5155, ptr @test_count, align 4, !tbaa !5
  %5156 = icmp eq ptr %5153, null
  br i1 %5156, label %5157, label %5179

5157:                                             ; preds = %5152
  %5158 = load i32, ptr %228, align 4, !tbaa !5
  %5159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5160 = call i32 @s2n_print_stacktrace(ptr noundef %5159) #12
  %5161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5162 = trunc nuw i8 %5161 to i1
  br i1 %5162, label %5163, label %5167

5163:                                             ; preds = %5157
  %5164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5165 = call i32 @fileno(ptr noundef %5164) #12
  %5166 = call i32 @isatty(i32 noundef %5165) #12
  %.not2167 = icmp eq i32 %5166, 0
  br i1 %.not2167, label %5167, label %5168

5167:                                             ; preds = %5163, %5157
  br label %5168

5168:                                             ; preds = %5163, %5167
  %.str.5.sink3954 = phi ptr [ @.str.5, %5167 ], [ @.str.2, %5163 ]
  store i32 %5158, ptr %228, align 4, !tbaa !5
  %5169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5170 = load i32, ptr @test_count, align 4, !tbaa !5
  %5171 = load i32, ptr %174, align 4, !tbaa !5
  %5172 = call ptr @s2n_strerror(i32 noundef %5171, ptr noundef nonnull @.str.4) #12
  %5173 = load i32, ptr %174, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror_debug(i32 noundef %5173, ptr noundef nonnull @.str.4) #12
  %5175 = load i32, ptr %228, align 4, !tbaa !5
  %5176 = call ptr @strerror(i32 noundef %5175) #12
  %5177 = load i32, ptr %228, align 4, !tbaa !5
  %5178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5169, ptr noundef nonnull %.str.5.sink3954, i32 noundef %5170, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 646, ptr noundef %5172, ptr noundef %5174, ptr noundef %5176, i32 noundef %5177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5179:                                             ; preds = %5152
  %5180 = add nsw i32 %5154, 2
  store i32 %5180, ptr @test_count, align 4, !tbaa !5
  %5181 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5153, ptr noundef nonnull %5126) #12
  %5182 = icmp eq i32 %5181, -1
  br i1 %5182, label %5183, label %5205

5183:                                             ; preds = %5179
  %5184 = load i32, ptr %228, align 4, !tbaa !5
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = call i32 @s2n_print_stacktrace(ptr noundef %5185) #12
  %5187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5188 = trunc nuw i8 %5187 to i1
  br i1 %5188, label %5189, label %5193

5189:                                             ; preds = %5183
  %5190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5191 = call i32 @fileno(ptr noundef %5190) #12
  %5192 = call i32 @isatty(i32 noundef %5191) #12
  %.not2166 = icmp eq i32 %5192, 0
  br i1 %.not2166, label %5193, label %5194

5193:                                             ; preds = %5189, %5183
  br label %5194

5194:                                             ; preds = %5189, %5193
  %.str.5.sink3963 = phi ptr [ @.str.5, %5193 ], [ @.str.2, %5189 ]
  store i32 %5184, ptr %228, align 4, !tbaa !5
  %5195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5196 = load i32, ptr @test_count, align 4, !tbaa !5
  %5197 = load i32, ptr %174, align 4, !tbaa !5
  %5198 = call ptr @s2n_strerror(i32 noundef %5197, ptr noundef nonnull @.str.4) #12
  %5199 = load i32, ptr %174, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror_debug(i32 noundef %5199, ptr noundef nonnull @.str.4) #12
  %5201 = load i32, ptr %228, align 4, !tbaa !5
  %5202 = call ptr @strerror(i32 noundef %5201) #12
  %5203 = load i32, ptr %228, align 4, !tbaa !5
  %5204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5195, ptr noundef nonnull %.str.5.sink3963, i32 noundef %5196, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 647, ptr noundef %5198, ptr noundef %5200, ptr noundef %5202, i32 noundef %5203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5205:                                             ; preds = %5179
  %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 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %5153, ptr noundef nonnull @.str.84) #12
  %5209 = icmp eq i32 %5208, -1
  br i1 %5209, label %5210, label %5232

5210:                                             ; preds = %5205
  %5211 = load i32, ptr %228, align 4, !tbaa !5
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = call i32 @s2n_print_stacktrace(ptr noundef %5212) #12
  %5214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5215 = trunc nuw i8 %5214 to i1
  br i1 %5215, label %5216, label %5220

5216:                                             ; preds = %5210
  %5217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5218 = call i32 @fileno(ptr noundef %5217) #12
  %5219 = call i32 @isatty(i32 noundef %5218) #12
  %.not2165 = icmp eq i32 %5219, 0
  br i1 %.not2165, label %5220, label %5221

5220:                                             ; preds = %5216, %5210
  br label %5221

5221:                                             ; preds = %5216, %5220
  %.str.5.sink3972 = phi ptr [ @.str.5, %5220 ], [ @.str.2, %5216 ]
  store i32 %5211, ptr %228, align 4, !tbaa !5
  %5222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5223 = load i32, ptr @test_count, align 4, !tbaa !5
  %5224 = load i32, ptr %174, align 4, !tbaa !5
  %5225 = call ptr @s2n_strerror(i32 noundef %5224, ptr noundef nonnull @.str.4) #12
  %5226 = load i32, ptr %174, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror_debug(i32 noundef %5226, ptr noundef nonnull @.str.4) #12
  %5228 = load i32, ptr %228, align 4, !tbaa !5
  %5229 = call ptr @strerror(i32 noundef %5228) #12
  %5230 = load i32, ptr %228, align 4, !tbaa !5
  %5231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5222, ptr noundef nonnull %.str.5.sink3972, i32 noundef %5223, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 648, ptr noundef %5225, ptr noundef %5227, ptr noundef %5229, i32 noundef %5230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5232:                                             ; preds = %5205
  %5233 = load i32, ptr @test_count, align 4, !tbaa !5
  %5234 = add nsw i32 %5233, 1
  store i32 %5234, ptr @test_count, align 4, !tbaa !5
  %5235 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %5153, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %5236 = call zeroext i1 @s2n_result_is_ok(i32 %5235)
  br i1 %5236, label %5259, label %5237

5237:                                             ; preds = %5232
  %5238 = load i32, ptr %228, align 4, !tbaa !5
  %5239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5240 = call i32 @s2n_print_stacktrace(ptr noundef %5239) #12
  %5241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5242 = trunc nuw i8 %5241 to i1
  br i1 %5242, label %5243, label %5247

5243:                                             ; preds = %5237
  %5244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5245 = call i32 @fileno(ptr noundef %5244) #12
  %5246 = call i32 @isatty(i32 noundef %5245) #12
  %.not1783 = icmp eq i32 %5246, 0
  br i1 %.not1783, label %5247, label %5248

5247:                                             ; preds = %5243, %5237
  br label %5248

5248:                                             ; preds = %5243, %5247
  %.str.5.sink3981 = phi ptr [ @.str.5, %5247 ], [ @.str.2, %5243 ]
  store i32 %5238, ptr %228, align 4, !tbaa !5
  %5249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5250 = load i32, ptr @test_count, align 4, !tbaa !5
  %5251 = load i32, ptr %174, align 4, !tbaa !5
  %5252 = call ptr @s2n_strerror(i32 noundef %5251, ptr noundef nonnull @.str.4) #12
  %5253 = load i32, ptr %174, align 4, !tbaa !5
  %5254 = call ptr @s2n_strerror_debug(i32 noundef %5253, ptr noundef nonnull @.str.4) #12
  %5255 = load i32, ptr %228, align 4, !tbaa !5
  %5256 = call ptr @strerror(i32 noundef %5255) #12
  %5257 = load i32, ptr %228, align 4, !tbaa !5
  %5258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5249, ptr noundef nonnull %.str.5.sink3981, i32 noundef %5250, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 649, ptr noundef %5252, ptr noundef %5254, ptr noundef %5256, i32 noundef %5257) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5259:                                             ; preds = %5232
  %5260 = load i32, ptr @test_count, align 4, !tbaa !5
  %5261 = add nsw i32 %5260, 1
  store i32 %5261, ptr @test_count, align 4, !tbaa !5
  %5262 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %5153) #12
  %5263 = icmp eq i32 %5262, -1
  br i1 %5263, label %5264, label %5286

5264:                                             ; preds = %5259
  %5265 = load i32, ptr %228, align 4, !tbaa !5
  %5266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5267 = call i32 @s2n_print_stacktrace(ptr noundef %5266) #12
  %5268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5269 = trunc nuw i8 %5268 to i1
  br i1 %5269, label %5270, label %5274

5270:                                             ; preds = %5264
  %5271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5272 = call i32 @fileno(ptr noundef %5271) #12
  %5273 = call i32 @isatty(i32 noundef %5272) #12
  %.not2164 = icmp eq i32 %5273, 0
  br i1 %.not2164, label %5274, label %5275

5274:                                             ; preds = %5270, %5264
  br label %5275

5275:                                             ; preds = %5270, %5274
  %.str.5.sink3990 = phi ptr [ @.str.5, %5274 ], [ @.str.2, %5270 ]
  store i32 %5265, ptr %228, align 4, !tbaa !5
  %5276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5277 = load i32, ptr @test_count, align 4, !tbaa !5
  %5278 = load i32, ptr %174, align 4, !tbaa !5
  %5279 = call ptr @s2n_strerror(i32 noundef %5278, ptr noundef nonnull @.str.4) #12
  %5280 = load i32, ptr %174, align 4, !tbaa !5
  %5281 = call ptr @s2n_strerror_debug(i32 noundef %5280, ptr noundef nonnull @.str.4) #12
  %5282 = load i32, ptr %228, align 4, !tbaa !5
  %5283 = call ptr @strerror(i32 noundef %5282) #12
  %5284 = load i32, ptr %228, align 4, !tbaa !5
  %5285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5276, ptr noundef nonnull %.str.5.sink3990, i32 noundef %5277, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 650, ptr noundef %5279, ptr noundef %5281, ptr noundef %5283, i32 noundef %5284) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5286:                                             ; preds = %5259
  %5287 = getelementptr inbounds i8, ptr %5153, i64 232
  %5288 = load ptr, ptr %5287, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %5288, align 8, !tbaa !63
  %5289 = getelementptr inbounds i8, ptr %5153, i64 220
  store i8 34, ptr %5289, align 4, !tbaa !68
  %5290 = getelementptr inbounds i8, ptr %5153, i64 4088
  store i32 1, ptr %5290, align 8, !tbaa !15
  %5291 = load i32, ptr @test_count, align 4, !tbaa !5
  %5292 = add nsw i32 %5291, 1
  store i32 %5292, ptr @test_count, align 4, !tbaa !5
  %5293 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %5153) #12
  %5294 = call zeroext i1 @s2n_result_is_ok(i32 %5293)
  br i1 %5294, label %5317, label %5295

5295:                                             ; preds = %5286
  %5296 = load i32, ptr %228, align 4, !tbaa !5
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = call i32 @s2n_print_stacktrace(ptr noundef %5297) #12
  %5299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5300 = trunc nuw i8 %5299 to i1
  br i1 %5300, label %5301, label %5305

5301:                                             ; preds = %5295
  %5302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5303 = call i32 @fileno(ptr noundef %5302) #12
  %5304 = call i32 @isatty(i32 noundef %5303) #12
  %.not1784 = icmp eq i32 %5304, 0
  br i1 %.not1784, label %5305, label %5306

5305:                                             ; preds = %5301, %5295
  br label %5306

5306:                                             ; preds = %5301, %5305
  %.str.5.sink3999 = phi ptr [ @.str.5, %5305 ], [ @.str.2, %5301 ]
  store i32 %5296, ptr %228, align 4, !tbaa !5
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = load i32, ptr @test_count, align 4, !tbaa !5
  %5309 = load i32, ptr %174, align 4, !tbaa !5
  %5310 = call ptr @s2n_strerror(i32 noundef %5309, ptr noundef nonnull @.str.4) #12
  %5311 = load i32, ptr %174, align 4, !tbaa !5
  %5312 = call ptr @s2n_strerror_debug(i32 noundef %5311, ptr noundef nonnull @.str.4) #12
  %5313 = load i32, ptr %228, align 4, !tbaa !5
  %5314 = call ptr @strerror(i32 noundef %5313) #12
  %5315 = load i32, ptr %228, align 4, !tbaa !5
  %5316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5307, ptr noundef nonnull %.str.5.sink3999, i32 noundef %5308, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 656, ptr noundef %5310, ptr noundef %5312, ptr noundef %5314, i32 noundef %5315) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5317:                                             ; preds = %5286
  %5318 = load i32, ptr @test_count, align 4, !tbaa !5
  %5319 = add nsw i32 %5318, 1
  store i32 %5319, ptr @test_count, align 4, !tbaa !5
  %5320 = load i32, ptr %5290, align 8, !tbaa !15
  %5321 = icmp eq i32 %5320, 3
  br i1 %5321, label %5344, label %5322

5322:                                             ; preds = %5317
  %5323 = load i32, ptr %228, align 4, !tbaa !5
  %5324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5325 = call i32 @s2n_print_stacktrace(ptr noundef %5324) #12
  %5326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5327 = trunc nuw i8 %5326 to i1
  br i1 %5327, label %5328, label %5332

5328:                                             ; preds = %5322
  %5329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5330 = call i32 @fileno(ptr noundef %5329) #12
  %5331 = call i32 @isatty(i32 noundef %5330) #12
  %.not1785 = icmp eq i32 %5331, 0
  br i1 %.not1785, label %5332, label %5333

5332:                                             ; preds = %5328, %5322
  br label %5333

5333:                                             ; preds = %5328, %5332
  %.str.5.sink4008 = phi ptr [ @.str.5, %5332 ], [ @.str.2, %5328 ]
  store i32 %5323, ptr %228, align 4, !tbaa !5
  %5334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5335 = load i32, ptr @test_count, align 4, !tbaa !5
  %5336 = load i32, ptr %174, align 4, !tbaa !5
  %5337 = call ptr @s2n_strerror(i32 noundef %5336, ptr noundef nonnull @.str.4) #12
  %5338 = load i32, ptr %174, align 4, !tbaa !5
  %5339 = call ptr @s2n_strerror_debug(i32 noundef %5338, ptr noundef nonnull @.str.4) #12
  %5340 = load i32, ptr %228, align 4, !tbaa !5
  %5341 = call ptr @strerror(i32 noundef %5340) #12
  %5342 = load i32, ptr %228, align 4, !tbaa !5
  %5343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5334, ptr noundef nonnull %.str.5.sink4008, i32 noundef %5335, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %5337, ptr noundef %5339, ptr noundef %5341, i32 noundef %5342) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5344:                                             ; preds = %5317
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #12
  store i8 1, ptr %27, align 1, !tbaa !45
  %5345 = add nsw i32 %5318, 2
  store i32 %5345, ptr @test_count, align 4, !tbaa !5
  %5346 = call i32 @s2n_config_set_early_data_cb(ptr noundef nonnull %5126, ptr noundef nonnull @s2n_test_early_data_cb) #12
  %5347 = icmp eq i32 %5346, -1
  br i1 %5347, label %5348, label %5370

5348:                                             ; preds = %5344
  %5349 = load i32, ptr %228, align 4, !tbaa !5
  %5350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5351 = call i32 @s2n_print_stacktrace(ptr noundef %5350) #12
  %5352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5353 = trunc nuw i8 %5352 to i1
  br i1 %5353, label %5354, label %5358

5354:                                             ; preds = %5348
  %5355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5356 = call i32 @fileno(ptr noundef %5355) #12
  %5357 = call i32 @isatty(i32 noundef %5356) #12
  %.not2163 = icmp eq i32 %5357, 0
  br i1 %.not2163, label %5358, label %5359

5358:                                             ; preds = %5354, %5348
  br label %5359

5359:                                             ; preds = %5354, %5358
  %.str.5.sink4017 = phi ptr [ @.str.5, %5358 ], [ @.str.2, %5354 ]
  store i32 %5349, ptr %228, align 4, !tbaa !5
  %5360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5361 = load i32, ptr @test_count, align 4, !tbaa !5
  %5362 = load i32, ptr %174, align 4, !tbaa !5
  %5363 = call ptr @s2n_strerror(i32 noundef %5362, ptr noundef nonnull @.str.4) #12
  %5364 = load i32, ptr %174, align 4, !tbaa !5
  %5365 = call ptr @s2n_strerror_debug(i32 noundef %5364, ptr noundef nonnull @.str.4) #12
  %5366 = load i32, ptr %228, align 4, !tbaa !5
  %5367 = call ptr @strerror(i32 noundef %5366) #12
  %5368 = load i32, ptr %228, align 4, !tbaa !5
  %5369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5360, ptr noundef nonnull %.str.5.sink4017, i32 noundef %5361, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 660, ptr noundef %5363, ptr noundef %5365, ptr noundef %5367, i32 noundef %5368) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5370:                                             ; preds = %5344
  %5371 = getelementptr inbounds i8, ptr %5153, i64 2192
  store ptr null, ptr %5371, align 8, !tbaa !9
  store i32 1, ptr %5290, align 8, !tbaa !15
  %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 = getelementptr inbounds i8, ptr %5153, i64 1736
  %5375 = load ptr, ptr %5374, align 8, !tbaa !69
  %5376 = call i32 @s2n_psk_set_early_data_context(ptr noundef %5375, ptr noundef nonnull %27, i16 noundef zeroext 1) #12
  %5377 = icmp eq i32 %5376, -1
  br i1 %5377, label %5378, label %5400

5378:                                             ; preds = %5370
  %5379 = load i32, ptr %228, align 4, !tbaa !5
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = call i32 @s2n_print_stacktrace(ptr noundef %5380) #12
  %5382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5383 = trunc nuw i8 %5382 to i1
  br i1 %5383, label %5384, label %5388

5384:                                             ; preds = %5378
  %5385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5386 = call i32 @fileno(ptr noundef %5385) #12
  %5387 = call i32 @isatty(i32 noundef %5386) #12
  %.not2162 = icmp eq i32 %5387, 0
  br i1 %.not2162, label %5388, label %5389

5388:                                             ; preds = %5384, %5378
  br label %5389

5389:                                             ; preds = %5384, %5388
  %.str.5.sink4026 = phi ptr [ @.str.5, %5388 ], [ @.str.2, %5384 ]
  store i32 %5379, ptr %228, align 4, !tbaa !5
  %5390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5391 = load i32, ptr @test_count, align 4, !tbaa !5
  %5392 = load i32, ptr %174, align 4, !tbaa !5
  %5393 = call ptr @s2n_strerror(i32 noundef %5392, ptr noundef nonnull @.str.4) #12
  %5394 = load i32, ptr %174, align 4, !tbaa !5
  %5395 = call ptr @s2n_strerror_debug(i32 noundef %5394, ptr noundef nonnull @.str.4) #12
  %5396 = load i32, ptr %228, align 4, !tbaa !5
  %5397 = call ptr @strerror(i32 noundef %5396) #12
  %5398 = load i32, ptr %228, align 4, !tbaa !5
  %5399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5390, ptr noundef nonnull %.str.5.sink4026, i32 noundef %5391, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 665, ptr noundef %5393, ptr noundef %5395, ptr noundef %5397, i32 noundef %5398) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5400:                                             ; preds = %5370
  %5401 = load i32, ptr @test_count, align 4, !tbaa !5
  %5402 = add nsw i32 %5401, 1
  store i32 %5402, ptr @test_count, align 4, !tbaa !5
  %5403 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %5153) #12
  %5404 = call zeroext i1 @s2n_result_is_ok(i32 %5403)
  br i1 %5404, label %5427, label %5405

5405:                                             ; preds = %5400
  %5406 = load i32, ptr %228, align 4, !tbaa !5
  %5407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5408 = call i32 @s2n_print_stacktrace(ptr noundef %5407) #12
  %5409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5410 = trunc nuw i8 %5409 to i1
  br i1 %5410, label %5411, label %5415

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

5415:                                             ; preds = %5411, %5405
  br label %5416

5416:                                             ; preds = %5411, %5415
  %.str.5.sink4035 = phi ptr [ @.str.5, %5415 ], [ @.str.2, %5411 ]
  store i32 %5406, ptr %228, align 4, !tbaa !5
  %5417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5418 = load i32, ptr @test_count, align 4, !tbaa !5
  %5419 = load i32, ptr %174, align 4, !tbaa !5
  %5420 = call ptr @s2n_strerror(i32 noundef %5419, ptr noundef nonnull @.str.4) #12
  %5421 = load i32, ptr %174, align 4, !tbaa !5
  %5422 = call ptr @s2n_strerror_debug(i32 noundef %5421, ptr noundef nonnull @.str.4) #12
  %5423 = load i32, ptr %228, align 4, !tbaa !5
  %5424 = call ptr @strerror(i32 noundef %5423) #12
  %5425 = load i32, ptr %228, align 4, !tbaa !5
  %5426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5417, ptr noundef nonnull %.str.5.sink4035, i32 noundef %5418, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 666, ptr noundef %5420, ptr noundef %5422, ptr noundef %5424, i32 noundef %5425) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5427:                                             ; preds = %5400
  %5428 = load i32, ptr @test_count, align 4, !tbaa !5
  %5429 = add nsw i32 %5428, 1
  store i32 %5429, ptr @test_count, align 4, !tbaa !5
  %5430 = load i32, ptr %5290, align 8, !tbaa !15
  %5431 = icmp eq i32 %5430, 3
  br i1 %5431, label %5454, label %5432

5432:                                             ; preds = %5427
  %5433 = load i32, ptr %228, align 4, !tbaa !5
  %5434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5435 = call i32 @s2n_print_stacktrace(ptr noundef %5434) #12
  %5436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5437 = trunc nuw i8 %5436 to i1
  br i1 %5437, label %5438, label %5442

5438:                                             ; preds = %5432
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = call i32 @fileno(ptr noundef %5439) #12
  %5441 = call i32 @isatty(i32 noundef %5440) #12
  %.not1787 = icmp eq i32 %5441, 0
  br i1 %.not1787, label %5442, label %5443

5442:                                             ; preds = %5438, %5432
  br label %5443

5443:                                             ; preds = %5438, %5442
  %.str.5.sink4044 = phi ptr [ @.str.5, %5442 ], [ @.str.2, %5438 ]
  store i32 %5433, ptr %228, align 4, !tbaa !5
  %5444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5445 = load i32, ptr @test_count, align 4, !tbaa !5
  %5446 = load i32, ptr %174, align 4, !tbaa !5
  %5447 = call ptr @s2n_strerror(i32 noundef %5446, ptr noundef nonnull @.str.4) #12
  %5448 = load i32, ptr %174, align 4, !tbaa !5
  %5449 = call ptr @s2n_strerror_debug(i32 noundef %5448, ptr noundef nonnull @.str.4) #12
  %5450 = load i32, ptr %228, align 4, !tbaa !5
  %5451 = call ptr @strerror(i32 noundef %5450) #12
  %5452 = load i32, ptr %228, align 4, !tbaa !5
  %5453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5444, ptr noundef nonnull %.str.5.sink4044, i32 noundef %5445, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 667, ptr noundef %5447, ptr noundef %5449, ptr noundef %5451, i32 noundef %5452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5454:                                             ; preds = %5427
  store i8 0, ptr %27, align 1, !tbaa !45
  store ptr null, ptr %5371, align 8, !tbaa !9
  store i32 1, ptr %5290, align 8, !tbaa !15
  %5455 = add nsw i32 %5428, 2
  store i32 %5455, ptr @test_count, align 4, !tbaa !5
  %5456 = load ptr, ptr %5374, align 8, !tbaa !69
  %5457 = call i32 @s2n_psk_set_early_data_context(ptr noundef %5456, ptr noundef nonnull %27, i16 noundef zeroext 1) #12
  %5458 = icmp eq i32 %5457, -1
  br i1 %5458, label %5459, label %5481

5459:                                             ; preds = %5454
  %5460 = load i32, ptr %228, align 4, !tbaa !5
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = call i32 @s2n_print_stacktrace(ptr noundef %5461) #12
  %5463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5464 = trunc nuw i8 %5463 to i1
  br i1 %5464, label %5465, label %5469

5465:                                             ; preds = %5459
  %5466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5467 = call i32 @fileno(ptr noundef %5466) #12
  %5468 = call i32 @isatty(i32 noundef %5467) #12
  %.not2161 = icmp eq i32 %5468, 0
  br i1 %.not2161, label %5469, label %5470

5469:                                             ; preds = %5465, %5459
  br label %5470

5470:                                             ; preds = %5465, %5469
  %.str.5.sink4053 = phi ptr [ @.str.5, %5469 ], [ @.str.2, %5465 ]
  store i32 %5460, ptr %228, align 4, !tbaa !5
  %5471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5472 = load i32, ptr @test_count, align 4, !tbaa !5
  %5473 = load i32, ptr %174, align 4, !tbaa !5
  %5474 = call ptr @s2n_strerror(i32 noundef %5473, ptr noundef nonnull @.str.4) #12
  %5475 = load i32, ptr %174, align 4, !tbaa !5
  %5476 = call ptr @s2n_strerror_debug(i32 noundef %5475, ptr noundef nonnull @.str.4) #12
  %5477 = load i32, ptr %228, align 4, !tbaa !5
  %5478 = call ptr @strerror(i32 noundef %5477) #12
  %5479 = load i32, ptr %228, align 4, !tbaa !5
  %5480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5471, ptr noundef nonnull %.str.5.sink4053, i32 noundef %5472, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 673, ptr noundef %5474, ptr noundef %5476, ptr noundef %5478, i32 noundef %5479) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5481:                                             ; preds = %5454
  %5482 = load i32, ptr @test_count, align 4, !tbaa !5
  %5483 = add nsw i32 %5482, 1
  store i32 %5483, ptr @test_count, align 4, !tbaa !5
  %5484 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %5153) #12
  %5485 = call zeroext i1 @s2n_result_is_ok(i32 %5484)
  br i1 %5485, label %5508, label %5486

5486:                                             ; preds = %5481
  %5487 = load i32, ptr %228, align 4, !tbaa !5
  %5488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5489 = call i32 @s2n_print_stacktrace(ptr noundef %5488) #12
  %5490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5491 = trunc nuw i8 %5490 to i1
  br i1 %5491, label %5492, label %5496

5492:                                             ; preds = %5486
  %5493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5494 = call i32 @fileno(ptr noundef %5493) #12
  %5495 = call i32 @isatty(i32 noundef %5494) #12
  %.not1788 = icmp eq i32 %5495, 0
  br i1 %.not1788, label %5496, label %5497

5496:                                             ; preds = %5492, %5486
  br label %5497

5497:                                             ; preds = %5492, %5496
  %.str.5.sink4062 = phi ptr [ @.str.5, %5496 ], [ @.str.2, %5492 ]
  store i32 %5487, ptr %228, align 4, !tbaa !5
  %5498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5499 = load i32, ptr @test_count, align 4, !tbaa !5
  %5500 = load i32, ptr %174, align 4, !tbaa !5
  %5501 = call ptr @s2n_strerror(i32 noundef %5500, ptr noundef nonnull @.str.4) #12
  %5502 = load i32, ptr %174, align 4, !tbaa !5
  %5503 = call ptr @s2n_strerror_debug(i32 noundef %5502, ptr noundef nonnull @.str.4) #12
  %5504 = load i32, ptr %228, align 4, !tbaa !5
  %5505 = call ptr @strerror(i32 noundef %5504) #12
  %5506 = load i32, ptr %228, align 4, !tbaa !5
  %5507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5498, ptr noundef nonnull %.str.5.sink4062, i32 noundef %5499, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %5501, ptr noundef %5503, ptr noundef %5505, i32 noundef %5506) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5508:                                             ; preds = %5481
  %5509 = load i32, ptr @test_count, align 4, !tbaa !5
  %5510 = add nsw i32 %5509, 1
  store i32 %5510, ptr @test_count, align 4, !tbaa !5
  %5511 = load i32, ptr %5290, align 8, !tbaa !15
  %5512 = icmp eq i32 %5511, 4
  br i1 %5512, label %5535, label %5513

5513:                                             ; preds = %5508
  %5514 = load i32, ptr %228, align 4, !tbaa !5
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = call i32 @s2n_print_stacktrace(ptr noundef %5515) #12
  %5517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5518 = trunc nuw i8 %5517 to i1
  br i1 %5518, label %5519, label %5523

5519:                                             ; preds = %5513
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5521 = call i32 @fileno(ptr noundef %5520) #12
  %5522 = call i32 @isatty(i32 noundef %5521) #12
  %.not1789 = icmp eq i32 %5522, 0
  br i1 %.not1789, label %5523, label %5524

5523:                                             ; preds = %5519, %5513
  br label %5524

5524:                                             ; preds = %5519, %5523
  %.str.5.sink4071 = phi ptr [ @.str.5, %5523 ], [ @.str.2, %5519 ]
  store i32 %5514, ptr %228, align 4, !tbaa !5
  %5525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5526 = load i32, ptr @test_count, align 4, !tbaa !5
  %5527 = load i32, ptr %174, align 4, !tbaa !5
  %5528 = call ptr @s2n_strerror(i32 noundef %5527, ptr noundef nonnull @.str.4) #12
  %5529 = load i32, ptr %174, align 4, !tbaa !5
  %5530 = call ptr @s2n_strerror_debug(i32 noundef %5529, ptr noundef nonnull @.str.4) #12
  %5531 = load i32, ptr %228, align 4, !tbaa !5
  %5532 = call ptr @strerror(i32 noundef %5531) #12
  %5533 = load i32, ptr %228, align 4, !tbaa !5
  %5534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5525, ptr noundef nonnull %.str.5.sink4071, i32 noundef %5526, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 675, ptr noundef %5528, ptr noundef %5530, ptr noundef %5532, i32 noundef %5533) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5535:                                             ; preds = %5508
  %5536 = add nsw i32 %5509, 2
  store i32 %5536, ptr @test_count, align 4, !tbaa !5
  %5537 = call i32 @s2n_connection_free(ptr noundef nonnull %5153) #12
  %5538 = icmp eq i32 %5537, -1
  br i1 %5538, label %5539, label %5561

5539:                                             ; preds = %5535
  %5540 = load i32, ptr %228, align 4, !tbaa !5
  %5541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5542 = call i32 @s2n_print_stacktrace(ptr noundef %5541) #12
  %5543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5544 = trunc nuw i8 %5543 to i1
  br i1 %5544, label %5545, label %5549

5545:                                             ; preds = %5539
  %5546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5547 = call i32 @fileno(ptr noundef %5546) #12
  %5548 = call i32 @isatty(i32 noundef %5547) #12
  %.not2160 = icmp eq i32 %5548, 0
  br i1 %.not2160, label %5549, label %5550

5549:                                             ; preds = %5545, %5539
  br label %5550

5550:                                             ; preds = %5545, %5549
  %.str.5.sink4080 = phi ptr [ @.str.5, %5549 ], [ @.str.2, %5545 ]
  store i32 %5540, ptr %228, align 4, !tbaa !5
  %5551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5552 = load i32, ptr @test_count, align 4, !tbaa !5
  %5553 = load i32, ptr %174, align 4, !tbaa !5
  %5554 = call ptr @s2n_strerror(i32 noundef %5553, ptr noundef nonnull @.str.4) #12
  %5555 = load i32, ptr %174, align 4, !tbaa !5
  %5556 = call ptr @s2n_strerror_debug(i32 noundef %5555, ptr noundef nonnull @.str.4) #12
  %5557 = load i32, ptr %228, align 4, !tbaa !5
  %5558 = call ptr @strerror(i32 noundef %5557) #12
  %5559 = load i32, ptr %228, align 4, !tbaa !5
  %5560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5551, ptr noundef nonnull %.str.5.sink4080, i32 noundef %5552, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 677, ptr noundef %5554, ptr noundef %5556, ptr noundef %5558, i32 noundef %5559) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5561:                                             ; preds = %5535
  %5562 = load i32, ptr @test_count, align 4, !tbaa !5
  %5563 = add nsw i32 %5562, 1
  store i32 %5563, ptr @test_count, align 4, !tbaa !5
  %5564 = call i32 @s2n_config_free(ptr noundef nonnull %5126) #12
  %5565 = icmp eq i32 %5564, -1
  br i1 %5565, label %5566, label %5588

5566:                                             ; preds = %5561
  %5567 = load i32, ptr %228, align 4, !tbaa !5
  %5568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5569 = call i32 @s2n_print_stacktrace(ptr noundef %5568) #12
  %5570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5571 = trunc nuw i8 %5570 to i1
  br i1 %5571, label %5572, label %5576

5572:                                             ; preds = %5566
  %5573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5574 = call i32 @fileno(ptr noundef %5573) #12
  %5575 = call i32 @isatty(i32 noundef %5574) #12
  %.not2159 = icmp eq i32 %5575, 0
  br i1 %.not2159, label %5576, label %5577

5576:                                             ; preds = %5572, %5566
  br label %5577

5577:                                             ; preds = %5572, %5576
  %.str.5.sink4089 = phi ptr [ @.str.5, %5576 ], [ @.str.2, %5572 ]
  store i32 %5567, ptr %228, align 4, !tbaa !5
  %5578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5579 = load i32, ptr @test_count, align 4, !tbaa !5
  %5580 = load i32, ptr %174, align 4, !tbaa !5
  %5581 = call ptr @s2n_strerror(i32 noundef %5580, ptr noundef nonnull @.str.4) #12
  %5582 = load i32, ptr %174, align 4, !tbaa !5
  %5583 = call ptr @s2n_strerror_debug(i32 noundef %5582, ptr noundef nonnull @.str.4) #12
  %5584 = load i32, ptr %228, align 4, !tbaa !5
  %5585 = call ptr @strerror(i32 noundef %5584) #12
  %5586 = load i32, ptr %228, align 4, !tbaa !5
  %5587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5578, ptr noundef nonnull %.str.5.sink4089, i32 noundef %5579, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 678, ptr noundef %5581, ptr noundef %5583, ptr noundef %5585, i32 noundef %5586) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5588:                                             ; preds = %5561
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #12
  %5589 = call ptr @s2n_config_new() #12
  %5590 = load i32, ptr @test_count, align 4, !tbaa !5
  %5591 = add nsw i32 %5590, 1
  store i32 %5591, ptr @test_count, align 4, !tbaa !5
  %5592 = call i32 @s2n_config_set_early_data_cb(ptr noundef %5589, ptr noundef nonnull @s2n_test_async_early_data_cb) #12
  %5593 = icmp eq i32 %5592, -1
  br i1 %5593, label %5594, label %5616

5594:                                             ; preds = %5588
  %5595 = load i32, ptr %228, align 4, !tbaa !5
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5597 = call i32 @s2n_print_stacktrace(ptr noundef %5596) #12
  %5598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5599 = trunc nuw i8 %5598 to i1
  br i1 %5599, label %5600, label %5604

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

5604:                                             ; preds = %5600, %5594
  br label %5605

5605:                                             ; preds = %5600, %5604
  %.str.5.sink4098 = phi ptr [ @.str.5, %5604 ], [ @.str.2, %5600 ]
  store i32 %5595, ptr %228, align 4, !tbaa !5
  %5606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5607 = load i32, ptr @test_count, align 4, !tbaa !5
  %5608 = load i32, ptr %174, align 4, !tbaa !5
  %5609 = call ptr @s2n_strerror(i32 noundef %5608, ptr noundef nonnull @.str.4) #12
  %5610 = load i32, ptr %174, align 4, !tbaa !5
  %5611 = call ptr @s2n_strerror_debug(i32 noundef %5610, ptr noundef nonnull @.str.4) #12
  %5612 = load i32, ptr %228, align 4, !tbaa !5
  %5613 = call ptr @strerror(i32 noundef %5612) #12
  %5614 = load i32, ptr %228, align 4, !tbaa !5
  %5615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5606, ptr noundef nonnull %.str.5.sink4098, i32 noundef %5607, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 684, ptr noundef %5609, ptr noundef %5611, ptr noundef %5613, i32 noundef %5614) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5616:                                             ; preds = %5588
  %5617 = load i32, ptr @test_count, align 4, !tbaa !5
  %5618 = add nsw i32 %5617, 1
  store i32 %5618, ptr @test_count, align 4, !tbaa !5
  %5619 = icmp eq ptr %5589, null
  br i1 %5619, label %5620, label %5642

5620:                                             ; preds = %5616
  %5621 = load i32, ptr %228, align 4, !tbaa !5
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @s2n_print_stacktrace(ptr noundef %5622) #12
  %5624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5625 = trunc nuw i8 %5624 to i1
  br i1 %5625, label %5626, label %5630

5626:                                             ; preds = %5620
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = call i32 @fileno(ptr noundef %5627) #12
  %5629 = call i32 @isatty(i32 noundef %5628) #12
  %.not2157 = icmp eq i32 %5629, 0
  br i1 %.not2157, label %5630, label %5631

5630:                                             ; preds = %5626, %5620
  br label %5631

5631:                                             ; preds = %5626, %5630
  %.str.5.sink4107 = phi ptr [ @.str.5, %5630 ], [ @.str.2, %5626 ]
  store i32 %5621, ptr %228, align 4, !tbaa !5
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = load i32, ptr %174, align 4, !tbaa !5
  %5635 = call ptr @s2n_strerror(i32 noundef %5634, ptr noundef nonnull @.str.4) #12
  %5636 = load i32, ptr %174, align 4, !tbaa !5
  %5637 = call ptr @s2n_strerror_debug(i32 noundef %5636, ptr noundef nonnull @.str.4) #12
  %5638 = load i32, ptr %228, align 4, !tbaa !5
  %5639 = call ptr @strerror(i32 noundef %5638) #12
  %5640 = load i32, ptr %228, align 4, !tbaa !5
  %5641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5632, ptr noundef nonnull %.str.5.sink4107, i32 noundef %5633, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 685, ptr noundef %5635, ptr noundef %5637, ptr noundef %5639, i32 noundef %5640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5642:                                             ; preds = %5616
  %5643 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %5644 = load i32, ptr @test_count, align 4, !tbaa !5
  %5645 = add nsw i32 %5644, 1
  store i32 %5645, ptr @test_count, align 4, !tbaa !5
  %5646 = icmp eq ptr %5643, null
  br i1 %5646, label %5647, label %5669

5647:                                             ; preds = %5642
  %5648 = load i32, ptr %228, align 4, !tbaa !5
  %5649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5650 = call i32 @s2n_print_stacktrace(ptr noundef %5649) #12
  %5651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5652 = trunc nuw i8 %5651 to i1
  br i1 %5652, label %5653, label %5657

5653:                                             ; preds = %5647
  %5654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5655 = call i32 @fileno(ptr noundef %5654) #12
  %5656 = call i32 @isatty(i32 noundef %5655) #12
  %.not2156 = icmp eq i32 %5656, 0
  br i1 %.not2156, label %5657, label %5658

5657:                                             ; preds = %5653, %5647
  br label %5658

5658:                                             ; preds = %5653, %5657
  %.str.5.sink4116 = phi ptr [ @.str.5, %5657 ], [ @.str.2, %5653 ]
  store i32 %5648, ptr %228, align 4, !tbaa !5
  %5659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5660 = load i32, ptr @test_count, align 4, !tbaa !5
  %5661 = load i32, ptr %174, align 4, !tbaa !5
  %5662 = call ptr @s2n_strerror(i32 noundef %5661, ptr noundef nonnull @.str.4) #12
  %5663 = load i32, ptr %174, align 4, !tbaa !5
  %5664 = call ptr @s2n_strerror_debug(i32 noundef %5663, ptr noundef nonnull @.str.4) #12
  %5665 = load i32, ptr %228, align 4, !tbaa !5
  %5666 = call ptr @strerror(i32 noundef %5665) #12
  %5667 = load i32, ptr %228, align 4, !tbaa !5
  %5668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5659, ptr noundef nonnull %.str.5.sink4116, i32 noundef %5660, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 688, ptr noundef %5662, ptr noundef %5664, ptr noundef %5666, i32 noundef %5667) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5669:                                             ; preds = %5642
  %5670 = add nsw i32 %5644, 2
  store i32 %5670, ptr @test_count, align 4, !tbaa !5
  %5671 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5643, ptr noundef nonnull %5589) #12
  %5672 = icmp eq i32 %5671, -1
  br i1 %5672, label %5673, label %5695

5673:                                             ; preds = %5669
  %5674 = load i32, ptr %228, align 4, !tbaa !5
  %5675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5676 = call i32 @s2n_print_stacktrace(ptr noundef %5675) #12
  %5677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5678 = trunc nuw i8 %5677 to i1
  br i1 %5678, label %5679, label %5683

5679:                                             ; preds = %5673
  %5680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5681 = call i32 @fileno(ptr noundef %5680) #12
  %5682 = call i32 @isatty(i32 noundef %5681) #12
  %.not2155 = icmp eq i32 %5682, 0
  br i1 %.not2155, label %5683, label %5684

5683:                                             ; preds = %5679, %5673
  br label %5684

5684:                                             ; preds = %5679, %5683
  %.str.5.sink4125 = phi ptr [ @.str.5, %5683 ], [ @.str.2, %5679 ]
  store i32 %5674, ptr %228, align 4, !tbaa !5
  %5685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5686 = load i32, ptr @test_count, align 4, !tbaa !5
  %5687 = load i32, ptr %174, align 4, !tbaa !5
  %5688 = call ptr @s2n_strerror(i32 noundef %5687, ptr noundef nonnull @.str.4) #12
  %5689 = load i32, ptr %174, align 4, !tbaa !5
  %5690 = call ptr @s2n_strerror_debug(i32 noundef %5689, ptr noundef nonnull @.str.4) #12
  %5691 = load i32, ptr %228, align 4, !tbaa !5
  %5692 = call ptr @strerror(i32 noundef %5691) #12
  %5693 = load i32, ptr %228, align 4, !tbaa !5
  %5694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5685, ptr noundef nonnull %.str.5.sink4125, i32 noundef %5686, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 689, ptr noundef %5688, ptr noundef %5690, ptr noundef %5692, i32 noundef %5693) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5695:                                             ; preds = %5669
  %5696 = load i32, ptr @test_count, align 4, !tbaa !5
  %5697 = add nsw i32 %5696, 1
  store i32 %5697, ptr @test_count, align 4, !tbaa !5
  %5698 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %5643, ptr noundef nonnull @.str.84) #12
  %5699 = icmp eq i32 %5698, -1
  br i1 %5699, label %5700, label %5722

5700:                                             ; preds = %5695
  %5701 = load i32, ptr %228, align 4, !tbaa !5
  %5702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5703 = call i32 @s2n_print_stacktrace(ptr noundef %5702) #12
  %5704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5705 = trunc nuw i8 %5704 to i1
  br i1 %5705, label %5706, label %5710

5706:                                             ; preds = %5700
  %5707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5708 = call i32 @fileno(ptr noundef %5707) #12
  %5709 = call i32 @isatty(i32 noundef %5708) #12
  %.not2154 = icmp eq i32 %5709, 0
  br i1 %.not2154, label %5710, label %5711

5710:                                             ; preds = %5706, %5700
  br label %5711

5711:                                             ; preds = %5706, %5710
  %.str.5.sink4134 = phi ptr [ @.str.5, %5710 ], [ @.str.2, %5706 ]
  store i32 %5701, ptr %228, align 4, !tbaa !5
  %5712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5713 = load i32, ptr @test_count, align 4, !tbaa !5
  %5714 = load i32, ptr %174, align 4, !tbaa !5
  %5715 = call ptr @s2n_strerror(i32 noundef %5714, ptr noundef nonnull @.str.4) #12
  %5716 = load i32, ptr %174, align 4, !tbaa !5
  %5717 = call ptr @s2n_strerror_debug(i32 noundef %5716, ptr noundef nonnull @.str.4) #12
  %5718 = load i32, ptr %228, align 4, !tbaa !5
  %5719 = call ptr @strerror(i32 noundef %5718) #12
  %5720 = load i32, ptr %228, align 4, !tbaa !5
  %5721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5712, ptr noundef nonnull %.str.5.sink4134, i32 noundef %5713, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 690, ptr noundef %5715, ptr noundef %5717, ptr noundef %5719, i32 noundef %5720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5722:                                             ; preds = %5695
  %5723 = load i32, ptr @test_count, align 4, !tbaa !5
  %5724 = add nsw i32 %5723, 1
  store i32 %5724, ptr @test_count, align 4, !tbaa !5
  %5725 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %5643, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %5726 = call zeroext i1 @s2n_result_is_ok(i32 %5725)
  br i1 %5726, label %5749, label %5727

5727:                                             ; preds = %5722
  %5728 = load i32, ptr %228, align 4, !tbaa !5
  %5729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5730 = call i32 @s2n_print_stacktrace(ptr noundef %5729) #12
  %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) #12
  %5736 = call i32 @isatty(i32 noundef %5735) #12
  %.not1790 = icmp eq i32 %5736, 0
  br i1 %.not1790, label %5737, label %5738

5737:                                             ; preds = %5733, %5727
  br label %5738

5738:                                             ; preds = %5733, %5737
  %.str.5.sink4143 = phi ptr [ @.str.5, %5737 ], [ @.str.2, %5733 ]
  store i32 %5728, ptr %228, 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 %174, align 4, !tbaa !5
  %5742 = call ptr @s2n_strerror(i32 noundef %5741, ptr noundef nonnull @.str.4) #12
  %5743 = load i32, ptr %174, align 4, !tbaa !5
  %5744 = call ptr @s2n_strerror_debug(i32 noundef %5743, ptr noundef nonnull @.str.4) #12
  %5745 = load i32, ptr %228, align 4, !tbaa !5
  %5746 = call ptr @strerror(i32 noundef %5745) #12
  %5747 = load i32, ptr %228, align 4, !tbaa !5
  %5748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5739, ptr noundef nonnull %.str.5.sink4143, i32 noundef %5740, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 691, ptr noundef %5742, ptr noundef %5744, ptr noundef %5746, i32 noundef %5747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5749:                                             ; preds = %5722
  %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_connection_set_early_data_expected(ptr noundef nonnull %5643) #12
  %5753 = icmp eq i32 %5752, -1
  br i1 %5753, label %5754, label %5776

5754:                                             ; preds = %5749
  %5755 = load i32, ptr %228, align 4, !tbaa !5
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = call i32 @s2n_print_stacktrace(ptr noundef %5756) #12
  %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) #12
  %5763 = call i32 @isatty(i32 noundef %5762) #12
  %.not2153 = icmp eq i32 %5763, 0
  br i1 %.not2153, label %5764, label %5765

5764:                                             ; preds = %5760, %5754
  br label %5765

5765:                                             ; preds = %5760, %5764
  %.str.5.sink4152 = phi ptr [ @.str.5, %5764 ], [ @.str.2, %5760 ]
  store i32 %5755, ptr %228, 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 %174, align 4, !tbaa !5
  %5769 = call ptr @s2n_strerror(i32 noundef %5768, ptr noundef nonnull @.str.4) #12
  %5770 = load i32, ptr %174, align 4, !tbaa !5
  %5771 = call ptr @s2n_strerror_debug(i32 noundef %5770, ptr noundef nonnull @.str.4) #12
  %5772 = load i32, ptr %228, align 4, !tbaa !5
  %5773 = call ptr @strerror(i32 noundef %5772) #12
  %5774 = load i32, ptr %228, align 4, !tbaa !5
  %5775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5766, ptr noundef nonnull %.str.5.sink4152, i32 noundef %5767, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 692, ptr noundef %5769, ptr noundef %5771, ptr noundef %5773, i32 noundef %5774) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5776:                                             ; preds = %5749
  %5777 = getelementptr inbounds i8, ptr %5643, i64 232
  %5778 = load ptr, ptr %5777, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %5778, align 8, !tbaa !63
  %5779 = load i32, ptr @test_count, align 4, !tbaa !5
  %5780 = add nsw i32 %5779, 1
  store i32 %5780, ptr @test_count, align 4, !tbaa !5
  %5781 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %5643, i8 noundef zeroext 34) #12
  %5782 = call zeroext i1 @s2n_result_is_ok(i32 %5781)
  br i1 %5782, label %5805, label %5783

5783:                                             ; preds = %5776
  %5784 = load i32, ptr %228, align 4, !tbaa !5
  %5785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5786 = call i32 @s2n_print_stacktrace(ptr noundef %5785) #12
  %5787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5788 = trunc nuw i8 %5787 to i1
  br i1 %5788, label %5789, label %5793

5789:                                             ; preds = %5783
  %5790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5791 = call i32 @fileno(ptr noundef %5790) #12
  %5792 = call i32 @isatty(i32 noundef %5791) #12
  %.not1791 = icmp eq i32 %5792, 0
  br i1 %.not1791, label %5793, label %5794

5793:                                             ; preds = %5789, %5783
  br label %5794

5794:                                             ; preds = %5789, %5793
  %.str.5.sink4161 = phi ptr [ @.str.5, %5793 ], [ @.str.2, %5789 ]
  store i32 %5784, ptr %228, align 4, !tbaa !5
  %5795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5796 = load i32, ptr @test_count, align 4, !tbaa !5
  %5797 = load i32, ptr %174, align 4, !tbaa !5
  %5798 = call ptr @s2n_strerror(i32 noundef %5797, ptr noundef nonnull @.str.4) #12
  %5799 = load i32, ptr %174, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror_debug(i32 noundef %5799, ptr noundef nonnull @.str.4) #12
  %5801 = load i32, ptr %228, align 4, !tbaa !5
  %5802 = call ptr @strerror(i32 noundef %5801) #12
  %5803 = load i32, ptr %228, align 4, !tbaa !5
  %5804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5795, ptr noundef nonnull %.str.5.sink4161, i32 noundef %5796, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 694, ptr noundef %5798, ptr noundef %5800, ptr noundef %5802, i32 noundef %5803) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5805:                                             ; preds = %5776
  %5806 = getelementptr inbounds i8, ptr %5643, i64 220
  store i8 34, ptr %5806, align 4, !tbaa !68
  %5807 = getelementptr inbounds i8, ptr %5643, i64 4088
  store i32 1, ptr %5807, align 8, !tbaa !15
  %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 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %5643) #12
  %5811 = call zeroext i1 @s2n_result_is_error(i32 %5810)
  br i1 %5811, label %5834, label %5812

5812:                                             ; preds = %5805
  %5813 = load i32, ptr %228, align 4, !tbaa !5
  %5814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5815 = call i32 @s2n_print_stacktrace(ptr noundef %5814) #12
  %5816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5817 = trunc nuw i8 %5816 to i1
  br i1 %5817, label %5818, label %5822

5818:                                             ; preds = %5812
  %5819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5820 = call i32 @fileno(ptr noundef %5819) #12
  %5821 = call i32 @isatty(i32 noundef %5820) #12
  %.not1792 = icmp eq i32 %5821, 0
  br i1 %.not1792, label %5822, label %5823

5822:                                             ; preds = %5818, %5812
  br label %5823

5823:                                             ; preds = %5818, %5822
  %.str.5.sink4170 = phi ptr [ @.str.5, %5822 ], [ @.str.2, %5818 ]
  store i32 %5813, ptr %228, align 4, !tbaa !5
  %5824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5825 = load i32, ptr @test_count, align 4, !tbaa !5
  %5826 = load i32, ptr %174, align 4, !tbaa !5
  %5827 = call ptr @s2n_strerror(i32 noundef %5826, ptr noundef nonnull @.str.4) #12
  %5828 = load i32, ptr %174, align 4, !tbaa !5
  %5829 = call ptr @s2n_strerror_debug(i32 noundef %5828, ptr noundef nonnull @.str.4) #12
  %5830 = load i32, ptr %228, align 4, !tbaa !5
  %5831 = call ptr @strerror(i32 noundef %5830) #12
  %5832 = load i32, ptr %228, align 4, !tbaa !5
  %5833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5824, ptr noundef nonnull %.str.5.sink4170, i32 noundef %5825, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 699, ptr noundef %5827, ptr noundef %5829, ptr noundef %5831, i32 noundef %5832) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5834:                                             ; preds = %5805
  %5835 = load i32, ptr @test_count, align 4, !tbaa !5
  %5836 = add nsw i32 %5835, 1
  store i32 %5836, ptr @test_count, align 4, !tbaa !5
  %5837 = load i32, ptr %174, align 4, !tbaa !5
  %5838 = icmp eq i32 %5837, 201326593
  br i1 %5838, label %5861, label %5839

5839:                                             ; preds = %5834
  %5840 = load i32, ptr %228, align 4, !tbaa !5
  %5841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5842 = call i32 @s2n_print_stacktrace(ptr noundef %5841) #12
  %5843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5844 = trunc nuw i8 %5843 to i1
  br i1 %5844, label %5845, label %5849

5845:                                             ; preds = %5839
  %5846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5847 = call i32 @fileno(ptr noundef %5846) #12
  %5848 = call i32 @isatty(i32 noundef %5847) #12
  %.not1793 = icmp eq i32 %5848, 0
  br i1 %.not1793, label %5849, label %5850

5849:                                             ; preds = %5845, %5839
  br label %5850

5850:                                             ; preds = %5845, %5849
  %.str.5.sink4179 = phi ptr [ @.str.5, %5849 ], [ @.str.2, %5845 ]
  store i32 %5840, ptr %228, align 4, !tbaa !5
  %5851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5852 = load i32, ptr @test_count, align 4, !tbaa !5
  %5853 = load i32, ptr %174, align 4, !tbaa !5
  %5854 = call ptr @s2n_strerror(i32 noundef %5853, ptr noundef nonnull @.str.4) #12
  %5855 = load i32, ptr %174, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror_debug(i32 noundef %5855, ptr noundef nonnull @.str.4) #12
  %5857 = load i32, ptr %228, align 4, !tbaa !5
  %5858 = call ptr @strerror(i32 noundef %5857) #12
  %5859 = load i32, ptr %228, align 4, !tbaa !5
  %5860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5851, ptr noundef nonnull %.str.5.sink4179, i32 noundef %5852, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 699, ptr noundef %5854, ptr noundef %5856, ptr noundef %5858, i32 noundef %5859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5861:                                             ; preds = %5834
  %5862 = add nsw i32 %5835, 2
  store i32 %5862, ptr @test_count, align 4, !tbaa !5
  %5863 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #12
  %5864 = icmp eq ptr %5863, null
  br i1 %5864, label %5865, label %5887

5865:                                             ; preds = %5861
  %5866 = load i32, ptr %228, align 4, !tbaa !5
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = call i32 @s2n_print_stacktrace(ptr noundef %5867) #12
  %5869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5870 = trunc nuw i8 %5869 to i1
  br i1 %5870, label %5871, label %5875

5871:                                             ; preds = %5865
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = call i32 @fileno(ptr noundef %5872) #12
  %5874 = call i32 @isatty(i32 noundef %5873) #12
  %.not2152 = icmp eq i32 %5874, 0
  br i1 %.not2152, label %5875, label %5876

5875:                                             ; preds = %5871, %5865
  br label %5876

5876:                                             ; preds = %5871, %5875
  %.str.5.sink4188 = phi ptr [ @.str.5, %5875 ], [ @.str.2, %5871 ]
  store i32 %5866, ptr %228, align 4, !tbaa !5
  %5877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5878 = load i32, ptr @test_count, align 4, !tbaa !5
  %5879 = load i32, ptr %174, align 4, !tbaa !5
  %5880 = call ptr @s2n_strerror(i32 noundef %5879, ptr noundef nonnull @.str.4) #12
  %5881 = load i32, ptr %174, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror_debug(i32 noundef %5881, ptr noundef nonnull @.str.4) #12
  %5883 = load i32, ptr %228, align 4, !tbaa !5
  %5884 = call ptr @strerror(i32 noundef %5883) #12
  %5885 = load i32, ptr %228, align 4, !tbaa !5
  %5886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5877, ptr noundef nonnull %.str.5.sink4188, i32 noundef %5878, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 699, ptr noundef %5880, ptr noundef %5882, ptr noundef %5884, i32 noundef %5885) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5887:                                             ; preds = %5861
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %5888 = load i32, ptr @test_count, align 4, !tbaa !5
  %5889 = add nsw i32 %5888, 1
  store i32 %5889, ptr @test_count, align 4, !tbaa !5
  %5890 = load i32, ptr %5807, align 8, !tbaa !15
  %5891 = icmp eq i32 %5890, 1
  br i1 %5891, label %5914, label %5892

5892:                                             ; preds = %5887
  %5893 = load i32, ptr %228, align 4, !tbaa !5
  %5894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5895 = call i32 @s2n_print_stacktrace(ptr noundef %5894) #12
  %5896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5897 = trunc nuw i8 %5896 to i1
  br i1 %5897, label %5898, label %5902

5898:                                             ; preds = %5892
  %5899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5900 = call i32 @fileno(ptr noundef %5899) #12
  %5901 = call i32 @isatty(i32 noundef %5900) #12
  %.not1794 = icmp eq i32 %5901, 0
  br i1 %.not1794, label %5902, label %5903

5902:                                             ; preds = %5898, %5892
  br label %5903

5903:                                             ; preds = %5898, %5902
  %.str.5.sink4197 = phi ptr [ @.str.5, %5902 ], [ @.str.2, %5898 ]
  store i32 %5893, ptr %228, align 4, !tbaa !5
  %5904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5905 = load i32, ptr @test_count, align 4, !tbaa !5
  %5906 = load i32, ptr %174, align 4, !tbaa !5
  %5907 = call ptr @s2n_strerror(i32 noundef %5906, ptr noundef nonnull @.str.4) #12
  %5908 = load i32, ptr %174, align 4, !tbaa !5
  %5909 = call ptr @s2n_strerror_debug(i32 noundef %5908, ptr noundef nonnull @.str.4) #12
  %5910 = load i32, ptr %228, align 4, !tbaa !5
  %5911 = call ptr @strerror(i32 noundef %5910) #12
  %5912 = load i32, ptr %228, align 4, !tbaa !5
  %5913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5904, ptr noundef nonnull %.str.5.sink4197, i32 noundef %5905, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 700, ptr noundef %5907, ptr noundef %5909, ptr noundef %5911, i32 noundef %5912) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5914:                                             ; preds = %5887
  %5915 = add nsw i32 %5888, 2
  store i32 %5915, ptr @test_count, align 4, !tbaa !5
  %5916 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %5643) #12
  %5917 = call zeroext i1 @s2n_result_is_error(i32 %5916)
  br i1 %5917, label %5940, label %5918

5918:                                             ; preds = %5914
  %5919 = load i32, ptr %228, align 4, !tbaa !5
  %5920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5921 = call i32 @s2n_print_stacktrace(ptr noundef %5920) #12
  %5922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5923 = trunc nuw i8 %5922 to i1
  br i1 %5923, label %5924, label %5928

5924:                                             ; preds = %5918
  %5925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5926 = call i32 @fileno(ptr noundef %5925) #12
  %5927 = call i32 @isatty(i32 noundef %5926) #12
  %.not1795 = icmp eq i32 %5927, 0
  br i1 %.not1795, label %5928, label %5929

5928:                                             ; preds = %5924, %5918
  br label %5929

5929:                                             ; preds = %5924, %5928
  %.str.5.sink4206 = phi ptr [ @.str.5, %5928 ], [ @.str.2, %5924 ]
  store i32 %5919, ptr %228, align 4, !tbaa !5
  %5930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5931 = load i32, ptr @test_count, align 4, !tbaa !5
  %5932 = load i32, ptr %174, align 4, !tbaa !5
  %5933 = call ptr @s2n_strerror(i32 noundef %5932, ptr noundef nonnull @.str.4) #12
  %5934 = load i32, ptr %174, align 4, !tbaa !5
  %5935 = call ptr @s2n_strerror_debug(i32 noundef %5934, ptr noundef nonnull @.str.4) #12
  %5936 = load i32, ptr %228, align 4, !tbaa !5
  %5937 = call ptr @strerror(i32 noundef %5936) #12
  %5938 = load i32, ptr %228, align 4, !tbaa !5
  %5939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5930, ptr noundef nonnull %.str.5.sink4206, i32 noundef %5931, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 703, ptr noundef %5933, ptr noundef %5935, ptr noundef %5937, i32 noundef %5938) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5940:                                             ; preds = %5914
  %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 = load i32, ptr %174, align 4, !tbaa !5
  %5944 = icmp eq i32 %5943, 201326593
  br i1 %5944, label %5967, label %5945

5945:                                             ; preds = %5940
  %5946 = load i32, ptr %228, align 4, !tbaa !5
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = call i32 @s2n_print_stacktrace(ptr noundef %5947) #12
  %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) #12
  %5954 = call i32 @isatty(i32 noundef %5953) #12
  %.not1796 = icmp eq i32 %5954, 0
  br i1 %.not1796, label %5955, label %5956

5955:                                             ; preds = %5951, %5945
  br label %5956

5956:                                             ; preds = %5951, %5955
  %.str.5.sink4215 = phi ptr [ @.str.5, %5955 ], [ @.str.2, %5951 ]
  store i32 %5946, ptr %228, 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 %174, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror(i32 noundef %5959, ptr noundef nonnull @.str.4) #12
  %5961 = load i32, ptr %174, align 4, !tbaa !5
  %5962 = call ptr @s2n_strerror_debug(i32 noundef %5961, ptr noundef nonnull @.str.4) #12
  %5963 = load i32, ptr %228, align 4, !tbaa !5
  %5964 = call ptr @strerror(i32 noundef %5963) #12
  %5965 = load i32, ptr %228, align 4, !tbaa !5
  %5966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5957, ptr noundef nonnull %.str.5.sink4215, i32 noundef %5958, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 703, ptr noundef %5960, ptr noundef %5962, ptr noundef %5964, i32 noundef %5965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5967:                                             ; preds = %5940
  %5968 = add nsw i32 %5941, 2
  store i32 %5968, ptr @test_count, align 4, !tbaa !5
  %5969 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #12
  %5970 = icmp eq ptr %5969, null
  br i1 %5970, label %5971, label %5993

5971:                                             ; preds = %5967
  %5972 = load i32, ptr %228, align 4, !tbaa !5
  %5973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5974 = call i32 @s2n_print_stacktrace(ptr noundef %5973) #12
  %5975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5976 = trunc nuw i8 %5975 to i1
  br i1 %5976, label %5977, label %5981

5977:                                             ; preds = %5971
  %5978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5979 = call i32 @fileno(ptr noundef %5978) #12
  %5980 = call i32 @isatty(i32 noundef %5979) #12
  %.not2151 = icmp eq i32 %5980, 0
  br i1 %.not2151, label %5981, label %5982

5981:                                             ; preds = %5977, %5971
  br label %5982

5982:                                             ; preds = %5977, %5981
  %.str.5.sink4224 = phi ptr [ @.str.5, %5981 ], [ @.str.2, %5977 ]
  store i32 %5972, ptr %228, align 4, !tbaa !5
  %5983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5984 = load i32, ptr @test_count, align 4, !tbaa !5
  %5985 = load i32, ptr %174, align 4, !tbaa !5
  %5986 = call ptr @s2n_strerror(i32 noundef %5985, ptr noundef nonnull @.str.4) #12
  %5987 = load i32, ptr %174, align 4, !tbaa !5
  %5988 = call ptr @s2n_strerror_debug(i32 noundef %5987, ptr noundef nonnull @.str.4) #12
  %5989 = load i32, ptr %228, align 4, !tbaa !5
  %5990 = call ptr @strerror(i32 noundef %5989) #12
  %5991 = load i32, ptr %228, align 4, !tbaa !5
  %5992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5983, ptr noundef nonnull %.str.5.sink4224, i32 noundef %5984, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 703, ptr noundef %5986, ptr noundef %5988, ptr noundef %5990, i32 noundef %5991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5993:                                             ; preds = %5967
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %5994 = load i32, ptr @test_count, align 4, !tbaa !5
  %5995 = add nsw i32 %5994, 1
  store i32 %5995, ptr @test_count, align 4, !tbaa !5
  %5996 = load i32, ptr %5807, align 8, !tbaa !15
  %5997 = icmp eq i32 %5996, 1
  br i1 %5997, label %6020, label %5998

5998:                                             ; preds = %5993
  %5999 = load i32, ptr %228, align 4, !tbaa !5
  %6000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6001 = call i32 @s2n_print_stacktrace(ptr noundef %6000) #12
  %6002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6003 = trunc nuw i8 %6002 to i1
  br i1 %6003, label %6004, label %6008

6004:                                             ; preds = %5998
  %6005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6006 = call i32 @fileno(ptr noundef %6005) #12
  %6007 = call i32 @isatty(i32 noundef %6006) #12
  %.not1797 = icmp eq i32 %6007, 0
  br i1 %.not1797, label %6008, label %6009

6008:                                             ; preds = %6004, %5998
  br label %6009

6009:                                             ; preds = %6004, %6008
  %.str.5.sink4233 = phi ptr [ @.str.5, %6008 ], [ @.str.2, %6004 ]
  store i32 %5999, ptr %228, align 4, !tbaa !5
  %6010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6011 = load i32, ptr @test_count, align 4, !tbaa !5
  %6012 = load i32, ptr %174, align 4, !tbaa !5
  %6013 = call ptr @s2n_strerror(i32 noundef %6012, ptr noundef nonnull @.str.4) #12
  %6014 = load i32, ptr %174, align 4, !tbaa !5
  %6015 = call ptr @s2n_strerror_debug(i32 noundef %6014, ptr noundef nonnull @.str.4) #12
  %6016 = load i32, ptr %228, align 4, !tbaa !5
  %6017 = call ptr @strerror(i32 noundef %6016) #12
  %6018 = load i32, ptr %228, align 4, !tbaa !5
  %6019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6010, ptr noundef nonnull %.str.5.sink4233, i32 noundef %6011, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 704, ptr noundef %6013, ptr noundef %6015, ptr noundef %6017, i32 noundef %6018) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6020:                                             ; preds = %5993
  %6021 = add nsw i32 %5994, 2
  store i32 %6021, ptr @test_count, align 4, !tbaa !5
  %6022 = load ptr, ptr @async_early_data, align 8, !tbaa !9
  %6023 = call i32 @s2n_offered_early_data_reject(ptr noundef %6022) #12
  %6024 = icmp eq i32 %6023, -1
  br i1 %6024, label %6025, label %6047

6025:                                             ; preds = %6020
  %6026 = load i32, ptr %228, align 4, !tbaa !5
  %6027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6028 = call i32 @s2n_print_stacktrace(ptr noundef %6027) #12
  %6029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6030 = trunc nuw i8 %6029 to i1
  br i1 %6030, label %6031, label %6035

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

6035:                                             ; preds = %6031, %6025
  br label %6036

6036:                                             ; preds = %6031, %6035
  %.str.5.sink4242 = phi ptr [ @.str.5, %6035 ], [ @.str.2, %6031 ]
  store i32 %6026, ptr %228, align 4, !tbaa !5
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = load i32, ptr @test_count, align 4, !tbaa !5
  %6039 = load i32, ptr %174, align 4, !tbaa !5
  %6040 = call ptr @s2n_strerror(i32 noundef %6039, ptr noundef nonnull @.str.4) #12
  %6041 = load i32, ptr %174, align 4, !tbaa !5
  %6042 = call ptr @s2n_strerror_debug(i32 noundef %6041, ptr noundef nonnull @.str.4) #12
  %6043 = load i32, ptr %228, align 4, !tbaa !5
  %6044 = call ptr @strerror(i32 noundef %6043) #12
  %6045 = load i32, ptr %228, align 4, !tbaa !5
  %6046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6037, ptr noundef nonnull %.str.5.sink4242, i32 noundef %6038, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 707, ptr noundef %6040, ptr noundef %6042, ptr noundef %6044, i32 noundef %6045) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6047:                                             ; preds = %6020
  %6048 = load i32, ptr @test_count, align 4, !tbaa !5
  %6049 = add nsw i32 %6048, 1
  store i32 %6049, ptr @test_count, align 4, !tbaa !5
  %6050 = load i32, ptr %5807, align 8, !tbaa !15
  %6051 = icmp eq i32 %6050, 4
  br i1 %6051, label %6074, label %6052

6052:                                             ; preds = %6047
  %6053 = load i32, ptr %228, align 4, !tbaa !5
  %6054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6055 = call i32 @s2n_print_stacktrace(ptr noundef %6054) #12
  %6056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6057 = trunc nuw i8 %6056 to i1
  br i1 %6057, label %6058, label %6062

6058:                                             ; preds = %6052
  %6059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6060 = call i32 @fileno(ptr noundef %6059) #12
  %6061 = call i32 @isatty(i32 noundef %6060) #12
  %.not1798 = icmp eq i32 %6061, 0
  br i1 %.not1798, label %6062, label %6063

6062:                                             ; preds = %6058, %6052
  br label %6063

6063:                                             ; preds = %6058, %6062
  %.str.5.sink4251 = phi ptr [ @.str.5, %6062 ], [ @.str.2, %6058 ]
  store i32 %6053, ptr %228, align 4, !tbaa !5
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = load i32, ptr @test_count, align 4, !tbaa !5
  %6066 = load i32, ptr %174, align 4, !tbaa !5
  %6067 = call ptr @s2n_strerror(i32 noundef %6066, ptr noundef nonnull @.str.4) #12
  %6068 = load i32, ptr %174, align 4, !tbaa !5
  %6069 = call ptr @s2n_strerror_debug(i32 noundef %6068, ptr noundef nonnull @.str.4) #12
  %6070 = load i32, ptr %228, align 4, !tbaa !5
  %6071 = call ptr @strerror(i32 noundef %6070) #12
  %6072 = load i32, ptr %228, align 4, !tbaa !5
  %6073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6064, ptr noundef nonnull %.str.5.sink4251, i32 noundef %6065, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 708, ptr noundef %6067, ptr noundef %6069, ptr noundef %6071, i32 noundef %6072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6074:                                             ; preds = %6047
  %6075 = add nsw i32 %6048, 2
  store i32 %6075, ptr @test_count, align 4, !tbaa !5
  %6076 = call i32 @s2n_early_data_accept_or_reject(ptr noundef nonnull %5643) #12
  %6077 = call zeroext i1 @s2n_result_is_ok(i32 %6076)
  br i1 %6077, label %6100, label %6078

6078:                                             ; preds = %6074
  %6079 = load i32, ptr %228, align 4, !tbaa !5
  %6080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6081 = call i32 @s2n_print_stacktrace(ptr noundef %6080) #12
  %6082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6083 = trunc nuw i8 %6082 to i1
  br i1 %6083, label %6084, label %6088

6084:                                             ; preds = %6078
  %6085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6086 = call i32 @fileno(ptr noundef %6085) #12
  %6087 = call i32 @isatty(i32 noundef %6086) #12
  %.not1799 = icmp eq i32 %6087, 0
  br i1 %.not1799, label %6088, label %6089

6088:                                             ; preds = %6084, %6078
  br label %6089

6089:                                             ; preds = %6084, %6088
  %.str.5.sink4260 = phi ptr [ @.str.5, %6088 ], [ @.str.2, %6084 ]
  store i32 %6079, ptr %228, align 4, !tbaa !5
  %6090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6091 = load i32, ptr @test_count, align 4, !tbaa !5
  %6092 = load i32, ptr %174, align 4, !tbaa !5
  %6093 = call ptr @s2n_strerror(i32 noundef %6092, ptr noundef nonnull @.str.4) #12
  %6094 = load i32, ptr %174, align 4, !tbaa !5
  %6095 = call ptr @s2n_strerror_debug(i32 noundef %6094, ptr noundef nonnull @.str.4) #12
  %6096 = load i32, ptr %228, align 4, !tbaa !5
  %6097 = call ptr @strerror(i32 noundef %6096) #12
  %6098 = load i32, ptr %228, align 4, !tbaa !5
  %6099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6090, ptr noundef nonnull %.str.5.sink4260, i32 noundef %6091, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 711, ptr noundef %6093, ptr noundef %6095, ptr noundef %6097, i32 noundef %6098) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6100:                                             ; preds = %6074
  %6101 = load i32, ptr @test_count, align 4, !tbaa !5
  %6102 = add nsw i32 %6101, 1
  store i32 %6102, ptr @test_count, align 4, !tbaa !5
  %6103 = load i32, ptr %5807, align 8, !tbaa !15
  %6104 = icmp eq i32 %6103, 4
  br i1 %6104, label %6127, label %6105

6105:                                             ; preds = %6100
  %6106 = load i32, ptr %228, align 4, !tbaa !5
  %6107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6108 = call i32 @s2n_print_stacktrace(ptr noundef %6107) #12
  %6109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6110 = trunc nuw i8 %6109 to i1
  br i1 %6110, label %6111, label %6115

6111:                                             ; preds = %6105
  %6112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6113 = call i32 @fileno(ptr noundef %6112) #12
  %6114 = call i32 @isatty(i32 noundef %6113) #12
  %.not1800 = icmp eq i32 %6114, 0
  br i1 %.not1800, label %6115, label %6116

6115:                                             ; preds = %6111, %6105
  br label %6116

6116:                                             ; preds = %6111, %6115
  %.str.5.sink4269 = phi ptr [ @.str.5, %6115 ], [ @.str.2, %6111 ]
  store i32 %6106, ptr %228, align 4, !tbaa !5
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = load i32, ptr @test_count, align 4, !tbaa !5
  %6119 = load i32, ptr %174, align 4, !tbaa !5
  %6120 = call ptr @s2n_strerror(i32 noundef %6119, ptr noundef nonnull @.str.4) #12
  %6121 = load i32, ptr %174, align 4, !tbaa !5
  %6122 = call ptr @s2n_strerror_debug(i32 noundef %6121, ptr noundef nonnull @.str.4) #12
  %6123 = load i32, ptr %228, align 4, !tbaa !5
  %6124 = call ptr @strerror(i32 noundef %6123) #12
  %6125 = load i32, ptr %228, align 4, !tbaa !5
  %6126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6117, ptr noundef nonnull %.str.5.sink4269, i32 noundef %6118, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %6120, ptr noundef %6122, ptr noundef %6124, i32 noundef %6125) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6127:                                             ; preds = %6100
  %6128 = add nsw i32 %6101, 2
  store i32 %6128, ptr @test_count, align 4, !tbaa !5
  %6129 = call i32 @s2n_connection_free(ptr noundef nonnull %5643) #12
  %6130 = icmp eq i32 %6129, -1
  br i1 %6130, label %6131, label %6153

6131:                                             ; preds = %6127
  %6132 = load i32, ptr %228, align 4, !tbaa !5
  %6133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6134 = call i32 @s2n_print_stacktrace(ptr noundef %6133) #12
  %6135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6136 = trunc nuw i8 %6135 to i1
  br i1 %6136, label %6137, label %6141

6137:                                             ; preds = %6131
  %6138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6139 = call i32 @fileno(ptr noundef %6138) #12
  %6140 = call i32 @isatty(i32 noundef %6139) #12
  %.not2149 = icmp eq i32 %6140, 0
  br i1 %.not2149, label %6141, label %6142

6141:                                             ; preds = %6137, %6131
  br label %6142

6142:                                             ; preds = %6137, %6141
  %.str.5.sink4278 = phi ptr [ @.str.5, %6141 ], [ @.str.2, %6137 ]
  store i32 %6132, ptr %228, align 4, !tbaa !5
  %6143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6144 = load i32, ptr @test_count, align 4, !tbaa !5
  %6145 = load i32, ptr %174, align 4, !tbaa !5
  %6146 = call ptr @s2n_strerror(i32 noundef %6145, ptr noundef nonnull @.str.4) #12
  %6147 = load i32, ptr %174, align 4, !tbaa !5
  %6148 = call ptr @s2n_strerror_debug(i32 noundef %6147, ptr noundef nonnull @.str.4) #12
  %6149 = load i32, ptr %228, align 4, !tbaa !5
  %6150 = call ptr @strerror(i32 noundef %6149) #12
  %6151 = load i32, ptr %228, align 4, !tbaa !5
  %6152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6143, ptr noundef nonnull %.str.5.sink4278, i32 noundef %6144, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 714, ptr noundef %6146, ptr noundef %6148, ptr noundef %6150, i32 noundef %6151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6153:                                             ; preds = %6127
  %6154 = load i32, ptr @test_count, align 4, !tbaa !5
  %6155 = add nsw i32 %6154, 1
  store i32 %6155, ptr @test_count, align 4, !tbaa !5
  %6156 = call i32 @s2n_config_free(ptr noundef nonnull %5589) #12
  %6157 = icmp eq i32 %6156, -1
  br i1 %6157, label %6158, label %6180

6158:                                             ; preds = %6153
  %6159 = load i32, ptr %228, align 4, !tbaa !5
  %6160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6161 = call i32 @s2n_print_stacktrace(ptr noundef %6160) #12
  %6162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6163 = trunc nuw i8 %6162 to i1
  br i1 %6163, label %6164, label %6168

6164:                                             ; preds = %6158
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = call i32 @fileno(ptr noundef %6165) #12
  %6167 = call i32 @isatty(i32 noundef %6166) #12
  %.not2148 = icmp eq i32 %6167, 0
  br i1 %.not2148, label %6168, label %6169

6168:                                             ; preds = %6164, %6158
  br label %6169

6169:                                             ; preds = %6164, %6168
  %.str.5.sink4287 = phi ptr [ @.str.5, %6168 ], [ @.str.2, %6164 ]
  store i32 %6159, ptr %228, align 4, !tbaa !5
  %6170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6171 = load i32, ptr @test_count, align 4, !tbaa !5
  %6172 = load i32, ptr %174, align 4, !tbaa !5
  %6173 = call ptr @s2n_strerror(i32 noundef %6172, ptr noundef nonnull @.str.4) #12
  %6174 = load i32, ptr %174, align 4, !tbaa !5
  %6175 = call ptr @s2n_strerror_debug(i32 noundef %6174, ptr noundef nonnull @.str.4) #12
  %6176 = load i32, ptr %228, align 4, !tbaa !5
  %6177 = call ptr @strerror(i32 noundef %6176) #12
  %6178 = load i32, ptr %228, align 4, !tbaa !5
  %6179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6170, ptr noundef nonnull %.str.5.sink4287, i32 noundef %6171, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 715, ptr noundef %6173, ptr noundef %6175, ptr noundef %6177, i32 noundef %6178) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6180:                                             ; preds = %6153
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %28) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %28, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #12
  store i32 0, ptr %29, align 4, !tbaa !5
  %6181 = load i32, ptr @test_count, align 4, !tbaa !5
  %6182 = add nsw i32 %6181, 1
  store i32 %6182, ptr @test_count, align 4, !tbaa !5
  %6183 = call i32 @s2n_connection_get_early_data_status(ptr noundef null, ptr noundef nonnull %29) #12
  %6184 = icmp eq i32 %6183, -1
  br i1 %6184, label %6207, label %6185

6185:                                             ; preds = %6180
  %6186 = load i32, ptr %228, align 4, !tbaa !5
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = call i32 @s2n_print_stacktrace(ptr noundef %6187) #12
  %6189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6190 = trunc nuw i8 %6189 to i1
  br i1 %6190, label %6191, label %6195

6191:                                             ; preds = %6185
  %6192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6193 = call i32 @fileno(ptr noundef %6192) #12
  %6194 = call i32 @isatty(i32 noundef %6193) #12
  %.not1801 = icmp eq i32 %6194, 0
  br i1 %.not1801, label %6195, label %6196

6195:                                             ; preds = %6191, %6185
  br label %6196

6196:                                             ; preds = %6191, %6195
  %.str.5.sink4296 = phi ptr [ @.str.5, %6195 ], [ @.str.2, %6191 ]
  store i32 %6186, ptr %228, align 4, !tbaa !5
  %6197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6198 = load i32, ptr @test_count, align 4, !tbaa !5
  %6199 = load i32, ptr %174, align 4, !tbaa !5
  %6200 = call ptr @s2n_strerror(i32 noundef %6199, ptr noundef nonnull @.str.4) #12
  %6201 = load i32, ptr %174, align 4, !tbaa !5
  %6202 = call ptr @s2n_strerror_debug(i32 noundef %6201, ptr noundef nonnull @.str.4) #12
  %6203 = load i32, ptr %228, align 4, !tbaa !5
  %6204 = call ptr @strerror(i32 noundef %6203) #12
  %6205 = load i32, ptr %228, align 4, !tbaa !5
  %6206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6197, ptr noundef nonnull %.str.5.sink4296, i32 noundef %6198, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 727, ptr noundef %6200, ptr noundef %6202, ptr noundef %6204, i32 noundef %6205) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6207:                                             ; preds = %6180
  %6208 = load i32, ptr @test_count, align 4, !tbaa !5
  %6209 = add nsw i32 %6208, 1
  store i32 %6209, ptr @test_count, align 4, !tbaa !5
  %6210 = load i32, ptr %174, align 4, !tbaa !5
  %6211 = icmp eq i32 %6210, 402653193
  br i1 %6211, label %6234, label %6212

6212:                                             ; preds = %6207
  %6213 = load i32, ptr %228, align 4, !tbaa !5
  %6214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6215 = call i32 @s2n_print_stacktrace(ptr noundef %6214) #12
  %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) #12
  %6221 = call i32 @isatty(i32 noundef %6220) #12
  %.not1802 = icmp eq i32 %6221, 0
  br i1 %.not1802, label %6222, label %6223

6222:                                             ; preds = %6218, %6212
  br label %6223

6223:                                             ; preds = %6218, %6222
  %.str.5.sink4305 = phi ptr [ @.str.5, %6222 ], [ @.str.2, %6218 ]
  store i32 %6213, ptr %228, 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 %174, align 4, !tbaa !5
  %6227 = call ptr @s2n_strerror(i32 noundef %6226, ptr noundef nonnull @.str.4) #12
  %6228 = load i32, ptr %174, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror_debug(i32 noundef %6228, ptr noundef nonnull @.str.4) #12
  %6230 = load i32, ptr %228, align 4, !tbaa !5
  %6231 = call ptr @strerror(i32 noundef %6230) #12
  %6232 = load i32, ptr %228, align 4, !tbaa !5
  %6233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6224, ptr noundef nonnull %.str.5.sink4305, i32 noundef %6225, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 727, ptr noundef %6227, ptr noundef %6229, ptr noundef %6231, i32 noundef %6232) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6234:                                             ; preds = %6207
  %6235 = add nsw i32 %6208, 2
  store i32 %6235, ptr @test_count, align 4, !tbaa !5
  %6236 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %6237 = icmp eq ptr %6236, null
  br i1 %6237, label %6238, label %6260

6238:                                             ; preds = %6234
  %6239 = load i32, ptr %228, align 4, !tbaa !5
  %6240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6241 = call i32 @s2n_print_stacktrace(ptr noundef %6240) #12
  %6242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6243 = trunc nuw i8 %6242 to i1
  br i1 %6243, label %6244, label %6248

6244:                                             ; preds = %6238
  %6245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6246 = call i32 @fileno(ptr noundef %6245) #12
  %6247 = call i32 @isatty(i32 noundef %6246) #12
  %.not2147 = icmp eq i32 %6247, 0
  br i1 %.not2147, label %6248, label %6249

6248:                                             ; preds = %6244, %6238
  br label %6249

6249:                                             ; preds = %6244, %6248
  %.str.5.sink4314 = phi ptr [ @.str.5, %6248 ], [ @.str.2, %6244 ]
  store i32 %6239, ptr %228, align 4, !tbaa !5
  %6250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6251 = load i32, ptr @test_count, align 4, !tbaa !5
  %6252 = load i32, ptr %174, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror(i32 noundef %6252, ptr noundef nonnull @.str.4) #12
  %6254 = load i32, ptr %174, align 4, !tbaa !5
  %6255 = call ptr @s2n_strerror_debug(i32 noundef %6254, ptr noundef nonnull @.str.4) #12
  %6256 = load i32, ptr %228, align 4, !tbaa !5
  %6257 = call ptr @strerror(i32 noundef %6256) #12
  %6258 = load i32, ptr %228, align 4, !tbaa !5
  %6259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6250, ptr noundef nonnull %.str.5.sink4314, i32 noundef %6251, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 727, ptr noundef %6253, ptr noundef %6255, ptr noundef %6257, i32 noundef %6258) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6260:                                             ; preds = %6234
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %6261 = load i32, ptr @test_count, align 4, !tbaa !5
  %6262 = add nsw i32 %6261, 1
  store i32 %6262, ptr @test_count, align 4, !tbaa !5
  %6263 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %28, ptr noundef null) #12
  %6264 = icmp eq i32 %6263, -1
  br i1 %6264, label %6287, label %6265

6265:                                             ; preds = %6260
  %6266 = load i32, ptr %228, align 4, !tbaa !5
  %6267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6268 = call i32 @s2n_print_stacktrace(ptr noundef %6267) #12
  %6269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6270 = trunc nuw i8 %6269 to i1
  br i1 %6270, label %6271, label %6275

6271:                                             ; preds = %6265
  %6272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6273 = call i32 @fileno(ptr noundef %6272) #12
  %6274 = call i32 @isatty(i32 noundef %6273) #12
  %.not1803 = icmp eq i32 %6274, 0
  br i1 %.not1803, label %6275, label %6276

6275:                                             ; preds = %6271, %6265
  br label %6276

6276:                                             ; preds = %6271, %6275
  %.str.5.sink4323 = phi ptr [ @.str.5, %6275 ], [ @.str.2, %6271 ]
  store i32 %6266, ptr %228, align 4, !tbaa !5
  %6277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6278 = load i32, ptr @test_count, align 4, !tbaa !5
  %6279 = load i32, ptr %174, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror(i32 noundef %6279, ptr noundef nonnull @.str.4) #12
  %6281 = load i32, ptr %174, align 4, !tbaa !5
  %6282 = call ptr @s2n_strerror_debug(i32 noundef %6281, ptr noundef nonnull @.str.4) #12
  %6283 = load i32, ptr %228, align 4, !tbaa !5
  %6284 = call ptr @strerror(i32 noundef %6283) #12
  %6285 = load i32, ptr %228, align 4, !tbaa !5
  %6286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6277, ptr noundef nonnull %.str.5.sink4323, i32 noundef %6278, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 728, ptr noundef %6280, ptr noundef %6282, ptr noundef %6284, i32 noundef %6285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6287:                                             ; preds = %6260
  %6288 = load i32, ptr @test_count, align 4, !tbaa !5
  %6289 = add nsw i32 %6288, 1
  store i32 %6289, ptr @test_count, align 4, !tbaa !5
  %6290 = load i32, ptr %174, align 4, !tbaa !5
  %6291 = icmp eq i32 %6290, 402653193
  br i1 %6291, label %6314, label %6292

6292:                                             ; preds = %6287
  %6293 = load i32, ptr %228, align 4, !tbaa !5
  %6294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6295 = call i32 @s2n_print_stacktrace(ptr noundef %6294) #12
  %6296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6297 = trunc nuw i8 %6296 to i1
  br i1 %6297, label %6298, label %6302

6298:                                             ; preds = %6292
  %6299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6300 = call i32 @fileno(ptr noundef %6299) #12
  %6301 = call i32 @isatty(i32 noundef %6300) #12
  %.not1804 = icmp eq i32 %6301, 0
  br i1 %.not1804, label %6302, label %6303

6302:                                             ; preds = %6298, %6292
  br label %6303

6303:                                             ; preds = %6298, %6302
  %.str.5.sink4332 = phi ptr [ @.str.5, %6302 ], [ @.str.2, %6298 ]
  store i32 %6293, ptr %228, align 4, !tbaa !5
  %6304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6305 = load i32, ptr @test_count, align 4, !tbaa !5
  %6306 = load i32, ptr %174, align 4, !tbaa !5
  %6307 = call ptr @s2n_strerror(i32 noundef %6306, ptr noundef nonnull @.str.4) #12
  %6308 = load i32, ptr %174, align 4, !tbaa !5
  %6309 = call ptr @s2n_strerror_debug(i32 noundef %6308, ptr noundef nonnull @.str.4) #12
  %6310 = load i32, ptr %228, align 4, !tbaa !5
  %6311 = call ptr @strerror(i32 noundef %6310) #12
  %6312 = load i32, ptr %228, align 4, !tbaa !5
  %6313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6304, ptr noundef nonnull %.str.5.sink4332, i32 noundef %6305, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 728, ptr noundef %6307, ptr noundef %6309, ptr noundef %6311, i32 noundef %6312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6314:                                             ; preds = %6287
  %6315 = add nsw i32 %6288, 2
  store i32 %6315, ptr @test_count, align 4, !tbaa !5
  %6316 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %6317 = icmp eq ptr %6316, null
  br i1 %6317, label %6318, label %6340

6318:                                             ; preds = %6314
  %6319 = load i32, ptr %228, align 4, !tbaa !5
  %6320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6321 = call i32 @s2n_print_stacktrace(ptr noundef %6320) #12
  %6322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6323 = trunc nuw i8 %6322 to i1
  br i1 %6323, label %6324, label %6328

6324:                                             ; preds = %6318
  %6325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6326 = call i32 @fileno(ptr noundef %6325) #12
  %6327 = call i32 @isatty(i32 noundef %6326) #12
  %.not2146 = icmp eq i32 %6327, 0
  br i1 %.not2146, label %6328, label %6329

6328:                                             ; preds = %6324, %6318
  br label %6329

6329:                                             ; preds = %6324, %6328
  %.str.5.sink4341 = phi ptr [ @.str.5, %6328 ], [ @.str.2, %6324 ]
  store i32 %6319, ptr %228, align 4, !tbaa !5
  %6330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6331 = load i32, ptr @test_count, align 4, !tbaa !5
  %6332 = load i32, ptr %174, align 4, !tbaa !5
  %6333 = call ptr @s2n_strerror(i32 noundef %6332, ptr noundef nonnull @.str.4) #12
  %6334 = load i32, ptr %174, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror_debug(i32 noundef %6334, ptr noundef nonnull @.str.4) #12
  %6336 = load i32, ptr %228, align 4, !tbaa !5
  %6337 = call ptr @strerror(i32 noundef %6336) #12
  %6338 = load i32, ptr %228, align 4, !tbaa !5
  %6339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6330, ptr noundef nonnull %.str.5.sink4341, i32 noundef %6331, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 728, ptr noundef %6333, ptr noundef %6335, ptr noundef %6337, i32 noundef %6338) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6340:                                             ; preds = %6314
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %6341 = getelementptr inbounds i8, ptr %28, i64 4088
  store i32 6, ptr %6341, align 8, !tbaa !15
  %6342 = load i32, ptr @test_count, align 4, !tbaa !5
  %6343 = add nsw i32 %6342, 1
  store i32 %6343, ptr @test_count, align 4, !tbaa !5
  %6344 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %28, ptr noundef nonnull %29) #12
  %6345 = icmp eq i32 %6344, -1
  br i1 %6345, label %6368, label %6346

6346:                                             ; preds = %6340
  %6347 = load i32, ptr %228, align 4, !tbaa !5
  %6348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6349 = call i32 @s2n_print_stacktrace(ptr noundef %6348) #12
  %6350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6351 = trunc nuw i8 %6350 to i1
  br i1 %6351, label %6352, label %6356

6352:                                             ; preds = %6346
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = call i32 @fileno(ptr noundef %6353) #12
  %6355 = call i32 @isatty(i32 noundef %6354) #12
  %.not1805 = icmp eq i32 %6355, 0
  br i1 %.not1805, label %6356, label %6357

6356:                                             ; preds = %6352, %6346
  br label %6357

6357:                                             ; preds = %6352, %6356
  %.str.5.sink4350 = phi ptr [ @.str.5, %6356 ], [ @.str.2, %6352 ]
  store i32 %6347, ptr %228, align 4, !tbaa !5
  %6358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6359 = load i32, ptr @test_count, align 4, !tbaa !5
  %6360 = load i32, ptr %174, align 4, !tbaa !5
  %6361 = call ptr @s2n_strerror(i32 noundef %6360, ptr noundef nonnull @.str.4) #12
  %6362 = load i32, ptr %174, align 4, !tbaa !5
  %6363 = call ptr @s2n_strerror_debug(i32 noundef %6362, ptr noundef nonnull @.str.4) #12
  %6364 = load i32, ptr %228, align 4, !tbaa !5
  %6365 = call ptr @strerror(i32 noundef %6364) #12
  %6366 = load i32, ptr %228, align 4, !tbaa !5
  %6367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6358, ptr noundef nonnull %.str.5.sink4350, i32 noundef %6359, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %6361, ptr noundef %6363, ptr noundef %6365, i32 noundef %6366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6368:                                             ; preds = %6340
  %6369 = load i32, ptr @test_count, align 4, !tbaa !5
  %6370 = add nsw i32 %6369, 1
  store i32 %6370, ptr @test_count, align 4, !tbaa !5
  %6371 = load i32, ptr %174, align 4, !tbaa !5
  %6372 = icmp eq i32 %6371, 402653262
  br i1 %6372, label %6395, label %6373

6373:                                             ; preds = %6368
  %6374 = load i32, ptr %228, align 4, !tbaa !5
  %6375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6376 = call i32 @s2n_print_stacktrace(ptr noundef %6375) #12
  %6377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6378 = trunc nuw i8 %6377 to i1
  br i1 %6378, label %6379, label %6383

6379:                                             ; preds = %6373
  %6380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6381 = call i32 @fileno(ptr noundef %6380) #12
  %6382 = call i32 @isatty(i32 noundef %6381) #12
  %.not1806 = icmp eq i32 %6382, 0
  br i1 %.not1806, label %6383, label %6384

6383:                                             ; preds = %6379, %6373
  br label %6384

6384:                                             ; preds = %6379, %6383
  %.str.5.sink4359 = phi ptr [ @.str.5, %6383 ], [ @.str.2, %6379 ]
  store i32 %6374, ptr %228, align 4, !tbaa !5
  %6385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6386 = load i32, ptr @test_count, align 4, !tbaa !5
  %6387 = load i32, ptr %174, align 4, !tbaa !5
  %6388 = call ptr @s2n_strerror(i32 noundef %6387, ptr noundef nonnull @.str.4) #12
  %6389 = load i32, ptr %174, align 4, !tbaa !5
  %6390 = call ptr @s2n_strerror_debug(i32 noundef %6389, ptr noundef nonnull @.str.4) #12
  %6391 = load i32, ptr %228, align 4, !tbaa !5
  %6392 = call ptr @strerror(i32 noundef %6391) #12
  %6393 = load i32, ptr %228, align 4, !tbaa !5
  %6394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6385, ptr noundef nonnull %.str.5.sink4359, i32 noundef %6386, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %6388, ptr noundef %6390, ptr noundef %6392, i32 noundef %6393) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6395:                                             ; preds = %6368
  %6396 = add nsw i32 %6369, 2
  store i32 %6396, ptr @test_count, align 4, !tbaa !5
  %6397 = call ptr @s2n_strerror_debug(i32 noundef 402653262, ptr noundef nonnull @.str.4) #12
  %6398 = icmp eq ptr %6397, null
  br i1 %6398, label %6399, label %6421

6399:                                             ; preds = %6395
  %6400 = load i32, ptr %228, align 4, !tbaa !5
  %6401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6402 = call i32 @s2n_print_stacktrace(ptr noundef %6401) #12
  %6403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6404 = trunc nuw i8 %6403 to i1
  br i1 %6404, label %6405, label %6409

6405:                                             ; preds = %6399
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = call i32 @fileno(ptr noundef %6406) #12
  %6408 = call i32 @isatty(i32 noundef %6407) #12
  %.not2145 = icmp eq i32 %6408, 0
  br i1 %.not2145, label %6409, label %6410

6409:                                             ; preds = %6405, %6399
  br label %6410

6410:                                             ; preds = %6405, %6409
  %.str.5.sink4368 = phi ptr [ @.str.5, %6409 ], [ @.str.2, %6405 ]
  store i32 %6400, ptr %228, align 4, !tbaa !5
  %6411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6412 = load i32, ptr @test_count, align 4, !tbaa !5
  %6413 = load i32, ptr %174, align 4, !tbaa !5
  %6414 = call ptr @s2n_strerror(i32 noundef %6413, ptr noundef nonnull @.str.4) #12
  %6415 = load i32, ptr %174, align 4, !tbaa !5
  %6416 = call ptr @s2n_strerror_debug(i32 noundef %6415, ptr noundef nonnull @.str.4) #12
  %6417 = load i32, ptr %228, align 4, !tbaa !5
  %6418 = call ptr @strerror(i32 noundef %6417) #12
  %6419 = load i32, ptr %228, align 4, !tbaa !5
  %6420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6411, ptr noundef nonnull %.str.5.sink4368, i32 noundef %6412, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %6414, ptr noundef %6416, ptr noundef %6418, i32 noundef %6419) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6421:                                             ; preds = %6395
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %28) #12
  %6422 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6423 = load i32, ptr @test_count, align 4, !tbaa !5
  %6424 = add nsw i32 %6423, 1
  store i32 %6424, ptr @test_count, align 4, !tbaa !5
  %6425 = icmp eq ptr %6422, null
  br i1 %6425, label %6426, label %6448

6426:                                             ; preds = %6421
  %6427 = load i32, ptr %228, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = call i32 @s2n_print_stacktrace(ptr noundef %6428) #12
  %6430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6431 = trunc nuw i8 %6430 to i1
  br i1 %6431, label %6432, label %6436

6432:                                             ; preds = %6426
  %6433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6434 = call i32 @fileno(ptr noundef %6433) #12
  %6435 = call i32 @isatty(i32 noundef %6434) #12
  %.not2144 = icmp eq i32 %6435, 0
  br i1 %.not2144, label %6436, label %6437

6436:                                             ; preds = %6432, %6426
  br label %6437

6437:                                             ; preds = %6432, %6436
  %.str.5.sink4377 = phi ptr [ @.str.5, %6436 ], [ @.str.2, %6432 ]
  store i32 %6427, ptr %228, align 4, !tbaa !5
  %6438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6439 = load i32, ptr @test_count, align 4, !tbaa !5
  %6440 = load i32, ptr %174, align 4, !tbaa !5
  %6441 = call ptr @s2n_strerror(i32 noundef %6440, ptr noundef nonnull @.str.4) #12
  %6442 = load i32, ptr %174, align 4, !tbaa !5
  %6443 = call ptr @s2n_strerror_debug(i32 noundef %6442, ptr noundef nonnull @.str.4) #12
  %6444 = load i32, ptr %228, align 4, !tbaa !5
  %6445 = call ptr @strerror(i32 noundef %6444) #12
  %6446 = load i32, ptr %228, align 4, !tbaa !5
  %6447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6438, ptr noundef nonnull %.str.5.sink4377, i32 noundef %6439, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %6441, ptr noundef %6443, ptr noundef %6445, i32 noundef %6446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6448:                                             ; preds = %6421
  %6449 = add nsw i32 %6423, 2
  store i32 %6449, ptr @test_count, align 4, !tbaa !5
  %6450 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %6422, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %6451 = call zeroext i1 @s2n_result_is_ok(i32 %6450)
  br i1 %6451, label %6474, label %6452

6452:                                             ; preds = %6448
  %6453 = load i32, ptr %228, align 4, !tbaa !5
  %6454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6455 = call i32 @s2n_print_stacktrace(ptr noundef %6454) #12
  %6456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6457 = trunc nuw i8 %6456 to i1
  br i1 %6457, label %6458, label %6462

6458:                                             ; preds = %6452
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = call i32 @fileno(ptr noundef %6459) #12
  %6461 = call i32 @isatty(i32 noundef %6460) #12
  %.not1807 = icmp eq i32 %6461, 0
  br i1 %.not1807, label %6462, label %6463

6462:                                             ; preds = %6458, %6452
  br label %6463

6463:                                             ; preds = %6458, %6462
  %.str.5.sink4386 = phi ptr [ @.str.5, %6462 ], [ @.str.2, %6458 ]
  store i32 %6453, ptr %228, align 4, !tbaa !5
  %6464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6465 = load i32, ptr @test_count, align 4, !tbaa !5
  %6466 = load i32, ptr %174, align 4, !tbaa !5
  %6467 = call ptr @s2n_strerror(i32 noundef %6466, ptr noundef nonnull @.str.4) #12
  %6468 = load i32, ptr %174, align 4, !tbaa !5
  %6469 = call ptr @s2n_strerror_debug(i32 noundef %6468, ptr noundef nonnull @.str.4) #12
  %6470 = load i32, ptr %228, align 4, !tbaa !5
  %6471 = call ptr @strerror(i32 noundef %6470) #12
  %6472 = load i32, ptr %228, align 4, !tbaa !5
  %6473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6464, ptr noundef nonnull %.str.5.sink4386, i32 noundef %6465, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 738, ptr noundef %6467, ptr noundef %6469, ptr noundef %6471, i32 noundef %6472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6474:                                             ; preds = %6448
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #12
  store i32 0, ptr %30, align 4, !tbaa !5
  %6475 = load i32, ptr @test_count, align 4, !tbaa !5
  %6476 = add nsw i32 %6475, 1
  store i32 %6476, ptr @test_count, align 4, !tbaa !5
  %6477 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6422, ptr noundef nonnull %30) #12
  %6478 = icmp eq i32 %6477, -1
  br i1 %6478, label %6479, label %6501

6479:                                             ; preds = %6474
  %6480 = load i32, ptr %228, align 4, !tbaa !5
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = call i32 @s2n_print_stacktrace(ptr noundef %6481) #12
  %6483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6484 = trunc nuw i8 %6483 to i1
  br i1 %6484, label %6485, label %6489

6485:                                             ; preds = %6479
  %6486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6487 = call i32 @fileno(ptr noundef %6486) #12
  %6488 = call i32 @isatty(i32 noundef %6487) #12
  %.not2143 = icmp eq i32 %6488, 0
  br i1 %.not2143, label %6489, label %6490

6489:                                             ; preds = %6485, %6479
  br label %6490

6490:                                             ; preds = %6485, %6489
  %.str.5.sink4395 = phi ptr [ @.str.5, %6489 ], [ @.str.2, %6485 ]
  store i32 %6480, ptr %228, align 4, !tbaa !5
  %6491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6492 = load i32, ptr @test_count, align 4, !tbaa !5
  %6493 = load i32, ptr %174, align 4, !tbaa !5
  %6494 = call ptr @s2n_strerror(i32 noundef %6493, ptr noundef nonnull @.str.4) #12
  %6495 = load i32, ptr %174, align 4, !tbaa !5
  %6496 = call ptr @s2n_strerror_debug(i32 noundef %6495, ptr noundef nonnull @.str.4) #12
  %6497 = load i32, ptr %228, align 4, !tbaa !5
  %6498 = call ptr @strerror(i32 noundef %6497) #12
  %6499 = load i32, ptr %228, align 4, !tbaa !5
  %6500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6491, ptr noundef nonnull %.str.5.sink4395, i32 noundef %6492, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 742, ptr noundef %6494, ptr noundef %6496, ptr noundef %6498, i32 noundef %6499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6501:                                             ; preds = %6474
  %6502 = load i32, ptr @test_count, align 4, !tbaa !5
  %6503 = add nsw i32 %6502, 1
  store i32 %6503, ptr @test_count, align 4, !tbaa !5
  %6504 = load i32, ptr %30, align 4, !tbaa !5
  %6505 = icmp eq i32 %6504, 0
  br i1 %6505, label %6528, label %6506

6506:                                             ; preds = %6501
  %6507 = load i32, ptr %228, align 4, !tbaa !5
  %6508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6509 = call i32 @s2n_print_stacktrace(ptr noundef %6508) #12
  %6510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6511 = trunc nuw i8 %6510 to i1
  br i1 %6511, label %6512, label %6516

6512:                                             ; preds = %6506
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = call i32 @fileno(ptr noundef %6513) #12
  %6515 = call i32 @isatty(i32 noundef %6514) #12
  %.not1808 = icmp eq i32 %6515, 0
  br i1 %.not1808, label %6516, label %6517

6516:                                             ; preds = %6512, %6506
  br label %6517

6517:                                             ; preds = %6512, %6516
  %.str.5.sink4404 = phi ptr [ @.str.5, %6516 ], [ @.str.2, %6512 ]
  store i32 %6507, ptr %228, align 4, !tbaa !5
  %6518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6519 = load i32, ptr @test_count, align 4, !tbaa !5
  %6520 = load i32, ptr %174, align 4, !tbaa !5
  %6521 = call ptr @s2n_strerror(i32 noundef %6520, ptr noundef nonnull @.str.4) #12
  %6522 = load i32, ptr %174, align 4, !tbaa !5
  %6523 = call ptr @s2n_strerror_debug(i32 noundef %6522, ptr noundef nonnull @.str.4) #12
  %6524 = load i32, ptr %228, align 4, !tbaa !5
  %6525 = call ptr @strerror(i32 noundef %6524) #12
  %6526 = load i32, ptr %228, align 4, !tbaa !5
  %6527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6518, ptr noundef nonnull %.str.5.sink4404, i32 noundef %6519, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 743, ptr noundef %6521, ptr noundef %6523, ptr noundef %6525, i32 noundef %6526) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6528:                                             ; preds = %6501
  %6529 = getelementptr inbounds i8, ptr %6422, i64 4088
  store i32 2, ptr %6529, align 8, !tbaa !15
  %6530 = add nsw i32 %6502, 2
  store i32 %6530, ptr @test_count, align 4, !tbaa !5
  %6531 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6422, ptr noundef nonnull %30) #12
  %6532 = icmp eq i32 %6531, -1
  br i1 %6532, label %6533, label %6555

6533:                                             ; preds = %6528
  %6534 = load i32, ptr %228, align 4, !tbaa !5
  %6535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6536 = call i32 @s2n_print_stacktrace(ptr noundef %6535) #12
  %6537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6538 = trunc nuw i8 %6537 to i1
  br i1 %6538, label %6539, label %6543

6539:                                             ; preds = %6533
  %6540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6541 = call i32 @fileno(ptr noundef %6540) #12
  %6542 = call i32 @isatty(i32 noundef %6541) #12
  %.not2142 = icmp eq i32 %6542, 0
  br i1 %.not2142, label %6543, label %6544

6543:                                             ; preds = %6539, %6533
  br label %6544

6544:                                             ; preds = %6539, %6543
  %.str.5.sink4413 = phi ptr [ @.str.5, %6543 ], [ @.str.2, %6539 ]
  store i32 %6534, ptr %228, align 4, !tbaa !5
  %6545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6546 = load i32, ptr @test_count, align 4, !tbaa !5
  %6547 = load i32, ptr %174, align 4, !tbaa !5
  %6548 = call ptr @s2n_strerror(i32 noundef %6547, ptr noundef nonnull @.str.4) #12
  %6549 = load i32, ptr %174, align 4, !tbaa !5
  %6550 = call ptr @s2n_strerror_debug(i32 noundef %6549, ptr noundef nonnull @.str.4) #12
  %6551 = load i32, ptr %228, align 4, !tbaa !5
  %6552 = call ptr @strerror(i32 noundef %6551) #12
  %6553 = load i32, ptr %228, align 4, !tbaa !5
  %6554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6545, ptr noundef nonnull %.str.5.sink4413, i32 noundef %6546, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 746, ptr noundef %6548, ptr noundef %6550, ptr noundef %6552, i32 noundef %6553) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6555:                                             ; preds = %6528
  %6556 = load i32, ptr @test_count, align 4, !tbaa !5
  %6557 = add nsw i32 %6556, 1
  store i32 %6557, ptr @test_count, align 4, !tbaa !5
  %6558 = load i32, ptr %30, align 4, !tbaa !5
  %6559 = icmp eq i32 %6558, 1
  br i1 %6559, label %6582, label %6560

6560:                                             ; preds = %6555
  %6561 = load i32, ptr %228, align 4, !tbaa !5
  %6562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6563 = call i32 @s2n_print_stacktrace(ptr noundef %6562) #12
  %6564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6565 = trunc nuw i8 %6564 to i1
  br i1 %6565, label %6566, label %6570

6566:                                             ; preds = %6560
  %6567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6568 = call i32 @fileno(ptr noundef %6567) #12
  %6569 = call i32 @isatty(i32 noundef %6568) #12
  %.not1809 = icmp eq i32 %6569, 0
  br i1 %.not1809, label %6570, label %6571

6570:                                             ; preds = %6566, %6560
  br label %6571

6571:                                             ; preds = %6566, %6570
  %.str.5.sink4422 = phi ptr [ @.str.5, %6570 ], [ @.str.2, %6566 ]
  store i32 %6561, ptr %228, align 4, !tbaa !5
  %6572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6573 = load i32, ptr @test_count, align 4, !tbaa !5
  %6574 = load i32, ptr %174, align 4, !tbaa !5
  %6575 = call ptr @s2n_strerror(i32 noundef %6574, ptr noundef nonnull @.str.4) #12
  %6576 = load i32, ptr %174, align 4, !tbaa !5
  %6577 = call ptr @s2n_strerror_debug(i32 noundef %6576, ptr noundef nonnull @.str.4) #12
  %6578 = load i32, ptr %228, align 4, !tbaa !5
  %6579 = call ptr @strerror(i32 noundef %6578) #12
  %6580 = load i32, ptr %228, align 4, !tbaa !5
  %6581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6572, ptr noundef nonnull %.str.5.sink4422, i32 noundef %6573, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 747, ptr noundef %6575, ptr noundef %6577, ptr noundef %6579, i32 noundef %6580) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6582:                                             ; preds = %6555
  store i32 1, ptr %6529, align 8, !tbaa !15
  %6583 = add nsw i32 %6556, 2
  store i32 %6583, ptr @test_count, align 4, !tbaa !5
  %6584 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6422, ptr noundef nonnull %30) #12
  %6585 = icmp eq i32 %6584, -1
  br i1 %6585, label %6586, label %6608

6586:                                             ; preds = %6582
  %6587 = load i32, ptr %228, align 4, !tbaa !5
  %6588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6589 = call i32 @s2n_print_stacktrace(ptr noundef %6588) #12
  %6590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6591 = trunc nuw i8 %6590 to i1
  br i1 %6591, label %6592, label %6596

6592:                                             ; preds = %6586
  %6593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6594 = call i32 @fileno(ptr noundef %6593) #12
  %6595 = call i32 @isatty(i32 noundef %6594) #12
  %.not2141 = icmp eq i32 %6595, 0
  br i1 %.not2141, label %6596, label %6597

6596:                                             ; preds = %6592, %6586
  br label %6597

6597:                                             ; preds = %6592, %6596
  %.str.5.sink4431 = phi ptr [ @.str.5, %6596 ], [ @.str.2, %6592 ]
  store i32 %6587, ptr %228, align 4, !tbaa !5
  %6598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6599 = load i32, ptr @test_count, align 4, !tbaa !5
  %6600 = load i32, ptr %174, align 4, !tbaa !5
  %6601 = call ptr @s2n_strerror(i32 noundef %6600, ptr noundef nonnull @.str.4) #12
  %6602 = load i32, ptr %174, align 4, !tbaa !5
  %6603 = call ptr @s2n_strerror_debug(i32 noundef %6602, ptr noundef nonnull @.str.4) #12
  %6604 = load i32, ptr %228, align 4, !tbaa !5
  %6605 = call ptr @strerror(i32 noundef %6604) #12
  %6606 = load i32, ptr %228, align 4, !tbaa !5
  %6607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6598, ptr noundef nonnull %.str.5.sink4431, i32 noundef %6599, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 750, ptr noundef %6601, ptr noundef %6603, ptr noundef %6605, i32 noundef %6606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6608:                                             ; preds = %6582
  %6609 = load i32, ptr @test_count, align 4, !tbaa !5
  %6610 = add nsw i32 %6609, 1
  store i32 %6610, ptr @test_count, align 4, !tbaa !5
  %6611 = load i32, ptr %30, align 4, !tbaa !5
  %6612 = icmp eq i32 %6611, 0
  br i1 %6612, label %6635, label %6613

6613:                                             ; preds = %6608
  %6614 = load i32, ptr %228, align 4, !tbaa !5
  %6615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6616 = call i32 @s2n_print_stacktrace(ptr noundef %6615) #12
  %6617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6618 = trunc nuw i8 %6617 to i1
  br i1 %6618, label %6619, label %6623

6619:                                             ; preds = %6613
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = call i32 @fileno(ptr noundef %6620) #12
  %6622 = call i32 @isatty(i32 noundef %6621) #12
  %.not1810 = icmp eq i32 %6622, 0
  br i1 %.not1810, label %6623, label %6624

6623:                                             ; preds = %6619, %6613
  br label %6624

6624:                                             ; preds = %6619, %6623
  %.str.5.sink4440 = phi ptr [ @.str.5, %6623 ], [ @.str.2, %6619 ]
  store i32 %6614, ptr %228, align 4, !tbaa !5
  %6625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6626 = load i32, ptr @test_count, align 4, !tbaa !5
  %6627 = load i32, ptr %174, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror(i32 noundef %6627, ptr noundef nonnull @.str.4) #12
  %6629 = load i32, ptr %174, align 4, !tbaa !5
  %6630 = call ptr @s2n_strerror_debug(i32 noundef %6629, ptr noundef nonnull @.str.4) #12
  %6631 = load i32, ptr %228, align 4, !tbaa !5
  %6632 = call ptr @strerror(i32 noundef %6631) #12
  %6633 = load i32, ptr %228, align 4, !tbaa !5
  %6634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6625, ptr noundef nonnull %.str.5.sink4440, i32 noundef %6626, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 751, ptr noundef %6628, ptr noundef %6630, ptr noundef %6632, i32 noundef %6633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6635:                                             ; preds = %6608
  store i32 4, ptr %6529, align 8, !tbaa !15
  %6636 = add nsw i32 %6609, 2
  store i32 %6636, ptr @test_count, align 4, !tbaa !5
  %6637 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6422, ptr noundef nonnull %30) #12
  %6638 = icmp eq i32 %6637, -1
  br i1 %6638, label %6639, label %6661

6639:                                             ; preds = %6635
  %6640 = load i32, ptr %228, align 4, !tbaa !5
  %6641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6642 = call i32 @s2n_print_stacktrace(ptr noundef %6641) #12
  %6643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6644 = trunc nuw i8 %6643 to i1
  br i1 %6644, label %6645, label %6649

6645:                                             ; preds = %6639
  %6646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6647 = call i32 @fileno(ptr noundef %6646) #12
  %6648 = call i32 @isatty(i32 noundef %6647) #12
  %.not2140 = icmp eq i32 %6648, 0
  br i1 %.not2140, label %6649, label %6650

6649:                                             ; preds = %6645, %6639
  br label %6650

6650:                                             ; preds = %6645, %6649
  %.str.5.sink4449 = phi ptr [ @.str.5, %6649 ], [ @.str.2, %6645 ]
  store i32 %6640, ptr %228, align 4, !tbaa !5
  %6651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6652 = load i32, ptr @test_count, align 4, !tbaa !5
  %6653 = load i32, ptr %174, align 4, !tbaa !5
  %6654 = call ptr @s2n_strerror(i32 noundef %6653, ptr noundef nonnull @.str.4) #12
  %6655 = load i32, ptr %174, align 4, !tbaa !5
  %6656 = call ptr @s2n_strerror_debug(i32 noundef %6655, ptr noundef nonnull @.str.4) #12
  %6657 = load i32, ptr %228, align 4, !tbaa !5
  %6658 = call ptr @strerror(i32 noundef %6657) #12
  %6659 = load i32, ptr %228, align 4, !tbaa !5
  %6660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6651, ptr noundef nonnull %.str.5.sink4449, i32 noundef %6652, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 754, ptr noundef %6654, ptr noundef %6656, ptr noundef %6658, i32 noundef %6659) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6661:                                             ; preds = %6635
  %6662 = load i32, ptr @test_count, align 4, !tbaa !5
  %6663 = add nsw i32 %6662, 1
  store i32 %6663, ptr @test_count, align 4, !tbaa !5
  %6664 = load i32, ptr %30, align 4, !tbaa !5
  %6665 = icmp eq i32 %6664, 2
  br i1 %6665, label %6688, label %6666

6666:                                             ; preds = %6661
  %6667 = load i32, ptr %228, align 4, !tbaa !5
  %6668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6669 = call i32 @s2n_print_stacktrace(ptr noundef %6668) #12
  %6670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6671 = trunc nuw i8 %6670 to i1
  br i1 %6671, label %6672, label %6676

6672:                                             ; preds = %6666
  %6673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6674 = call i32 @fileno(ptr noundef %6673) #12
  %6675 = call i32 @isatty(i32 noundef %6674) #12
  %.not1811 = icmp eq i32 %6675, 0
  br i1 %.not1811, label %6676, label %6677

6676:                                             ; preds = %6672, %6666
  br label %6677

6677:                                             ; preds = %6672, %6676
  %.str.5.sink4458 = phi ptr [ @.str.5, %6676 ], [ @.str.2, %6672 ]
  store i32 %6667, ptr %228, align 4, !tbaa !5
  %6678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6679 = load i32, ptr @test_count, align 4, !tbaa !5
  %6680 = load i32, ptr %174, align 4, !tbaa !5
  %6681 = call ptr @s2n_strerror(i32 noundef %6680, ptr noundef nonnull @.str.4) #12
  %6682 = load i32, ptr %174, align 4, !tbaa !5
  %6683 = call ptr @s2n_strerror_debug(i32 noundef %6682, ptr noundef nonnull @.str.4) #12
  %6684 = load i32, ptr %228, align 4, !tbaa !5
  %6685 = call ptr @strerror(i32 noundef %6684) #12
  %6686 = load i32, ptr %228, align 4, !tbaa !5
  %6687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6678, ptr noundef nonnull %.str.5.sink4458, i32 noundef %6679, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 755, ptr noundef %6681, ptr noundef %6683, ptr noundef %6685, i32 noundef %6686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6688:                                             ; preds = %6661
  store i32 3, ptr %6529, align 8, !tbaa !15
  %6689 = add nsw i32 %6662, 2
  store i32 %6689, ptr @test_count, align 4, !tbaa !5
  %6690 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6422, ptr noundef nonnull %30) #12
  %6691 = icmp eq i32 %6690, -1
  br i1 %6691, label %6692, label %6714

6692:                                             ; preds = %6688
  %6693 = load i32, ptr %228, align 4, !tbaa !5
  %6694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6695 = call i32 @s2n_print_stacktrace(ptr noundef %6694) #12
  %6696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6697 = trunc nuw i8 %6696 to i1
  br i1 %6697, label %6698, label %6702

6698:                                             ; preds = %6692
  %6699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6700 = call i32 @fileno(ptr noundef %6699) #12
  %6701 = call i32 @isatty(i32 noundef %6700) #12
  %.not2139 = icmp eq i32 %6701, 0
  br i1 %.not2139, label %6702, label %6703

6702:                                             ; preds = %6698, %6692
  br label %6703

6703:                                             ; preds = %6698, %6702
  %.str.5.sink4467 = phi ptr [ @.str.5, %6702 ], [ @.str.2, %6698 ]
  store i32 %6693, ptr %228, align 4, !tbaa !5
  %6704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6705 = load i32, ptr @test_count, align 4, !tbaa !5
  %6706 = load i32, ptr %174, align 4, !tbaa !5
  %6707 = call ptr @s2n_strerror(i32 noundef %6706, ptr noundef nonnull @.str.4) #12
  %6708 = load i32, ptr %174, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror_debug(i32 noundef %6708, ptr noundef nonnull @.str.4) #12
  %6710 = load i32, ptr %228, align 4, !tbaa !5
  %6711 = call ptr @strerror(i32 noundef %6710) #12
  %6712 = load i32, ptr %228, align 4, !tbaa !5
  %6713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6704, ptr noundef nonnull %.str.5.sink4467, i32 noundef %6705, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 758, ptr noundef %6707, ptr noundef %6709, ptr noundef %6711, i32 noundef %6712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6714:                                             ; preds = %6688
  %6715 = load i32, ptr @test_count, align 4, !tbaa !5
  %6716 = add nsw i32 %6715, 1
  store i32 %6716, ptr @test_count, align 4, !tbaa !5
  %6717 = load i32, ptr %30, align 4, !tbaa !5
  %6718 = icmp eq i32 %6717, 0
  br i1 %6718, label %6741, label %6719

6719:                                             ; preds = %6714
  %6720 = load i32, ptr %228, align 4, !tbaa !5
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = call i32 @s2n_print_stacktrace(ptr noundef %6721) #12
  %6723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6724 = trunc nuw i8 %6723 to i1
  br i1 %6724, label %6725, label %6729

6725:                                             ; preds = %6719
  %6726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6727 = call i32 @fileno(ptr noundef %6726) #12
  %6728 = call i32 @isatty(i32 noundef %6727) #12
  %.not1812 = icmp eq i32 %6728, 0
  br i1 %.not1812, label %6729, label %6730

6729:                                             ; preds = %6725, %6719
  br label %6730

6730:                                             ; preds = %6725, %6729
  %.str.5.sink4476 = phi ptr [ @.str.5, %6729 ], [ @.str.2, %6725 ]
  store i32 %6720, ptr %228, align 4, !tbaa !5
  %6731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6732 = load i32, ptr @test_count, align 4, !tbaa !5
  %6733 = load i32, ptr %174, align 4, !tbaa !5
  %6734 = call ptr @s2n_strerror(i32 noundef %6733, ptr noundef nonnull @.str.4) #12
  %6735 = load i32, ptr %174, align 4, !tbaa !5
  %6736 = call ptr @s2n_strerror_debug(i32 noundef %6735, ptr noundef nonnull @.str.4) #12
  %6737 = load i32, ptr %228, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #12
  %6739 = load i32, ptr %228, align 4, !tbaa !5
  %6740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6731, ptr noundef nonnull %.str.5.sink4476, i32 noundef %6732, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 759, ptr noundef %6734, ptr noundef %6736, ptr noundef %6738, i32 noundef %6739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6741:                                             ; preds = %6714
  store i32 5, ptr %6529, align 8, !tbaa !15
  %6742 = add nsw i32 %6715, 2
  store i32 %6742, ptr @test_count, align 4, !tbaa !5
  %6743 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6422, ptr noundef nonnull %30) #12
  %6744 = icmp eq i32 %6743, -1
  br i1 %6744, label %6745, label %6767

6745:                                             ; preds = %6741
  %6746 = load i32, ptr %228, align 4, !tbaa !5
  %6747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6748 = call i32 @s2n_print_stacktrace(ptr noundef %6747) #12
  %6749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6750 = trunc nuw i8 %6749 to i1
  br i1 %6750, label %6751, label %6755

6751:                                             ; preds = %6745
  %6752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6753 = call i32 @fileno(ptr noundef %6752) #12
  %6754 = call i32 @isatty(i32 noundef %6753) #12
  %.not2138 = icmp eq i32 %6754, 0
  br i1 %.not2138, label %6755, label %6756

6755:                                             ; preds = %6751, %6745
  br label %6756

6756:                                             ; preds = %6751, %6755
  %.str.5.sink4485 = phi ptr [ @.str.5, %6755 ], [ @.str.2, %6751 ]
  store i32 %6746, ptr %228, align 4, !tbaa !5
  %6757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6758 = load i32, ptr @test_count, align 4, !tbaa !5
  %6759 = load i32, ptr %174, align 4, !tbaa !5
  %6760 = call ptr @s2n_strerror(i32 noundef %6759, ptr noundef nonnull @.str.4) #12
  %6761 = load i32, ptr %174, align 4, !tbaa !5
  %6762 = call ptr @s2n_strerror_debug(i32 noundef %6761, ptr noundef nonnull @.str.4) #12
  %6763 = load i32, ptr %228, align 4, !tbaa !5
  %6764 = call ptr @strerror(i32 noundef %6763) #12
  %6765 = load i32, ptr %228, align 4, !tbaa !5
  %6766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6757, ptr noundef nonnull %.str.5.sink4485, i32 noundef %6758, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 762, ptr noundef %6760, ptr noundef %6762, ptr noundef %6764, i32 noundef %6765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6767:                                             ; preds = %6741
  %6768 = load i32, ptr @test_count, align 4, !tbaa !5
  %6769 = add nsw i32 %6768, 1
  store i32 %6769, ptr @test_count, align 4, !tbaa !5
  %6770 = load i32, ptr %30, align 4, !tbaa !5
  %6771 = icmp eq i32 %6770, 3
  br i1 %6771, label %6794, label %6772

6772:                                             ; preds = %6767
  %6773 = load i32, ptr %228, align 4, !tbaa !5
  %6774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6775 = call i32 @s2n_print_stacktrace(ptr noundef %6774) #12
  %6776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6777 = trunc nuw i8 %6776 to i1
  br i1 %6777, label %6778, label %6782

6778:                                             ; preds = %6772
  %6779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6780 = call i32 @fileno(ptr noundef %6779) #12
  %6781 = call i32 @isatty(i32 noundef %6780) #12
  %.not1813 = icmp eq i32 %6781, 0
  br i1 %.not1813, label %6782, label %6783

6782:                                             ; preds = %6778, %6772
  br label %6783

6783:                                             ; preds = %6778, %6782
  %.str.5.sink4494 = phi ptr [ @.str.5, %6782 ], [ @.str.2, %6778 ]
  store i32 %6773, ptr %228, align 4, !tbaa !5
  %6784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6785 = load i32, ptr @test_count, align 4, !tbaa !5
  %6786 = load i32, ptr %174, align 4, !tbaa !5
  %6787 = call ptr @s2n_strerror(i32 noundef %6786, ptr noundef nonnull @.str.4) #12
  %6788 = load i32, ptr %174, align 4, !tbaa !5
  %6789 = call ptr @s2n_strerror_debug(i32 noundef %6788, ptr noundef nonnull @.str.4) #12
  %6790 = load i32, ptr %228, align 4, !tbaa !5
  %6791 = call ptr @strerror(i32 noundef %6790) #12
  %6792 = load i32, ptr %228, align 4, !tbaa !5
  %6793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6784, ptr noundef nonnull %.str.5.sink4494, i32 noundef %6785, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 763, ptr noundef %6787, ptr noundef %6789, ptr noundef %6791, i32 noundef %6792) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6794:                                             ; preds = %6767
  %6795 = add nsw i32 %6768, 2
  store i32 %6795, ptr @test_count, align 4, !tbaa !5
  %6796 = call i32 @s2n_connection_free(ptr noundef nonnull %6422) #12
  %6797 = icmp eq i32 %6796, -1
  br i1 %6797, label %6798, label %6820

6798:                                             ; preds = %6794
  %6799 = load i32, ptr %228, align 4, !tbaa !5
  %6800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6801 = call i32 @s2n_print_stacktrace(ptr noundef %6800) #12
  %6802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6803 = trunc nuw i8 %6802 to i1
  br i1 %6803, label %6804, label %6808

6804:                                             ; preds = %6798
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = call i32 @fileno(ptr noundef %6805) #12
  %6807 = call i32 @isatty(i32 noundef %6806) #12
  %.not2137 = icmp eq i32 %6807, 0
  br i1 %.not2137, label %6808, label %6809

6808:                                             ; preds = %6804, %6798
  br label %6809

6809:                                             ; preds = %6804, %6808
  %.str.5.sink4503 = phi ptr [ @.str.5, %6808 ], [ @.str.2, %6804 ]
  store i32 %6799, ptr %228, align 4, !tbaa !5
  %6810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6811 = load i32, ptr @test_count, align 4, !tbaa !5
  %6812 = load i32, ptr %174, align 4, !tbaa !5
  %6813 = call ptr @s2n_strerror(i32 noundef %6812, ptr noundef nonnull @.str.4) #12
  %6814 = load i32, ptr %174, align 4, !tbaa !5
  %6815 = call ptr @s2n_strerror_debug(i32 noundef %6814, ptr noundef nonnull @.str.4) #12
  %6816 = load i32, ptr %228, align 4, !tbaa !5
  %6817 = call ptr @strerror(i32 noundef %6816) #12
  %6818 = load i32, ptr %228, align 4, !tbaa !5
  %6819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6810, ptr noundef nonnull %.str.5.sink4503, i32 noundef %6811, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 765, ptr noundef %6813, ptr noundef %6815, ptr noundef %6817, i32 noundef %6818) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6820:                                             ; preds = %6794
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #12
  %6821 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6822 = load i32, ptr @test_count, align 4, !tbaa !5
  %6823 = add nsw i32 %6822, 1
  store i32 %6823, ptr @test_count, align 4, !tbaa !5
  %6824 = icmp eq ptr %6821, null
  br i1 %6824, label %6825, label %6847

6825:                                             ; preds = %6820
  %6826 = load i32, ptr %228, align 4, !tbaa !5
  %6827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6828 = call i32 @s2n_print_stacktrace(ptr noundef %6827) #12
  %6829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6830 = trunc nuw i8 %6829 to i1
  br i1 %6830, label %6831, label %6835

6831:                                             ; preds = %6825
  %6832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6833 = call i32 @fileno(ptr noundef %6832) #12
  %6834 = call i32 @isatty(i32 noundef %6833) #12
  %.not2136 = icmp eq i32 %6834, 0
  br i1 %.not2136, label %6835, label %6836

6835:                                             ; preds = %6831, %6825
  br label %6836

6836:                                             ; preds = %6831, %6835
  %.str.5.sink4512 = phi ptr [ @.str.5, %6835 ], [ @.str.2, %6831 ]
  store i32 %6826, ptr %228, align 4, !tbaa !5
  %6837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6838 = load i32, ptr @test_count, align 4, !tbaa !5
  %6839 = load i32, ptr %174, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror(i32 noundef %6839, ptr noundef nonnull @.str.4) #12
  %6841 = load i32, ptr %174, align 4, !tbaa !5
  %6842 = call ptr @s2n_strerror_debug(i32 noundef %6841, ptr noundef nonnull @.str.4) #12
  %6843 = load i32, ptr %228, align 4, !tbaa !5
  %6844 = call ptr @strerror(i32 noundef %6843) #12
  %6845 = load i32, ptr %228, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6837, ptr noundef nonnull %.str.5.sink4512, i32 noundef %6838, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 771, ptr noundef %6840, ptr noundef %6842, ptr noundef %6844, i32 noundef %6845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6847:                                             ; preds = %6820
  %6848 = add nsw i32 %6822, 2
  store i32 %6848, ptr @test_count, align 4, !tbaa !5
  %6849 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %6821, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %6850 = call zeroext i1 @s2n_result_is_ok(i32 %6849)
  br i1 %6850, label %6873, label %6851

6851:                                             ; preds = %6847
  %6852 = load i32, ptr %228, align 4, !tbaa !5
  %6853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6854 = call i32 @s2n_print_stacktrace(ptr noundef %6853) #12
  %6855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6856 = trunc nuw i8 %6855 to i1
  br i1 %6856, label %6857, label %6861

6857:                                             ; preds = %6851
  %6858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6859 = call i32 @fileno(ptr noundef %6858) #12
  %6860 = call i32 @isatty(i32 noundef %6859) #12
  %.not1814 = icmp eq i32 %6860, 0
  br i1 %.not1814, label %6861, label %6862

6861:                                             ; preds = %6857, %6851
  br label %6862

6862:                                             ; preds = %6857, %6861
  %.str.5.sink4521 = phi ptr [ @.str.5, %6861 ], [ @.str.2, %6857 ]
  store i32 %6852, ptr %228, align 4, !tbaa !5
  %6863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6864 = load i32, ptr @test_count, align 4, !tbaa !5
  %6865 = load i32, ptr %174, align 4, !tbaa !5
  %6866 = call ptr @s2n_strerror(i32 noundef %6865, ptr noundef nonnull @.str.4) #12
  %6867 = load i32, ptr %174, align 4, !tbaa !5
  %6868 = call ptr @s2n_strerror_debug(i32 noundef %6867, ptr noundef nonnull @.str.4) #12
  %6869 = load i32, ptr %228, align 4, !tbaa !5
  %6870 = call ptr @strerror(i32 noundef %6869) #12
  %6871 = load i32, ptr %228, align 4, !tbaa !5
  %6872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6863, ptr noundef nonnull %.str.5.sink4521, i32 noundef %6864, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 772, ptr noundef %6866, ptr noundef %6868, ptr noundef %6870, i32 noundef %6871) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6873:                                             ; preds = %6847
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #12
  store i32 0, ptr %31, align 4, !tbaa !5
  %6874 = getelementptr inbounds i8, ptr %6821, i64 4088
  store i32 1, ptr %6874, align 8, !tbaa !15
  %6875 = load i32, ptr @test_count, align 4, !tbaa !5
  %6876 = add nsw i32 %6875, 1
  store i32 %6876, ptr @test_count, align 4, !tbaa !5
  %6877 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6821, ptr noundef nonnull %31) #12
  %6878 = icmp eq i32 %6877, -1
  br i1 %6878, label %6904, label %6879

6879:                                             ; preds = %6873
  store i32 2, ptr %6874, align 8, !tbaa !15
  %6880 = load i32, ptr @test_count, align 4, !tbaa !5
  %6881 = add nsw i32 %6880, 1
  store i32 %6881, ptr @test_count, align 4, !tbaa !5
  %6882 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6821, ptr noundef nonnull %31) #12
  %6883 = icmp eq i32 %6882, -1
  br i1 %6883, label %6904, label %6884

6884:                                             ; preds = %6879
  store i32 3, ptr %6874, align 8, !tbaa !15
  %6885 = load i32, ptr @test_count, align 4, !tbaa !5
  %6886 = add nsw i32 %6885, 1
  store i32 %6886, ptr @test_count, align 4, !tbaa !5
  %6887 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6821, ptr noundef nonnull %31) #12
  %6888 = icmp eq i32 %6887, -1
  br i1 %6888, label %6904, label %6889

6889:                                             ; preds = %6884
  store i32 4, ptr %6874, align 8, !tbaa !15
  %6890 = load i32, ptr @test_count, align 4, !tbaa !5
  %6891 = add nsw i32 %6890, 1
  store i32 %6891, ptr @test_count, align 4, !tbaa !5
  %6892 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6821, ptr noundef nonnull %31) #12
  %6893 = icmp eq i32 %6892, -1
  br i1 %6893, label %6904, label %6894

6894:                                             ; preds = %6889
  store i32 5, ptr %6874, align 8, !tbaa !15
  %6895 = load i32, ptr @test_count, align 4, !tbaa !5
  %6896 = add nsw i32 %6895, 1
  store i32 %6896, ptr @test_count, align 4, !tbaa !5
  %6897 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %6821, ptr noundef nonnull %31) #12
  %6898 = icmp eq i32 %6897, -1
  br i1 %6898, label %6904, label %6899

6899:                                             ; preds = %6894
  %6900 = load i32, ptr @test_count, align 4, !tbaa !5
  %6901 = add nsw i32 %6900, 1
  store i32 %6901, ptr @test_count, align 4, !tbaa !5
  %6902 = call i32 @s2n_connection_free(ptr noundef nonnull %6821) #12
  %6903 = icmp eq i32 %6902, -1
  br i1 %6903, label %6926, label %6948

6904:                                             ; preds = %6894, %6889, %6884, %6879, %6873
  %6905 = load i32, ptr %228, align 4, !tbaa !5
  %6906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6907 = call i32 @s2n_print_stacktrace(ptr noundef %6906) #12
  %6908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6909 = trunc nuw i8 %6908 to i1
  br i1 %6909, label %6910, label %6914

6910:                                             ; preds = %6904
  %6911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6912 = call i32 @fileno(ptr noundef %6911) #12
  %6913 = call i32 @isatty(i32 noundef %6912) #12
  %.not2135 = icmp eq i32 %6913, 0
  br i1 %.not2135, label %6914, label %6915

6914:                                             ; preds = %6910, %6904
  br label %6915

6915:                                             ; preds = %6910, %6914
  %.str.5.sink4530 = phi ptr [ @.str.5, %6914 ], [ @.str.2, %6910 ]
  store i32 %6905, ptr %228, align 4, !tbaa !5
  %6916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6917 = load i32, ptr @test_count, align 4, !tbaa !5
  %6918 = load i32, ptr %174, align 4, !tbaa !5
  %6919 = call ptr @s2n_strerror(i32 noundef %6918, ptr noundef nonnull @.str.4) #12
  %6920 = load i32, ptr %174, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror_debug(i32 noundef %6920, ptr noundef nonnull @.str.4) #12
  %6922 = load i32, ptr %228, align 4, !tbaa !5
  %6923 = call ptr @strerror(i32 noundef %6922) #12
  %6924 = load i32, ptr %228, align 4, !tbaa !5
  %6925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6916, ptr noundef nonnull %.str.5.sink4530, i32 noundef %6917, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 777, ptr noundef %6919, ptr noundef %6921, ptr noundef %6923, i32 noundef %6924) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6926:                                             ; preds = %6899
  %6927 = load i32, ptr %228, align 4, !tbaa !5
  %6928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6929 = call i32 @s2n_print_stacktrace(ptr noundef %6928) #12
  %6930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6931 = trunc nuw i8 %6930 to i1
  br i1 %6931, label %6932, label %6936

6932:                                             ; preds = %6926
  %6933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6934 = call i32 @fileno(ptr noundef %6933) #12
  %6935 = call i32 @isatty(i32 noundef %6934) #12
  %.not2134 = icmp eq i32 %6935, 0
  br i1 %.not2134, label %6936, label %6937

6936:                                             ; preds = %6932, %6926
  br label %6937

6937:                                             ; preds = %6932, %6936
  %.str.5.sink4539 = phi ptr [ @.str.5, %6936 ], [ @.str.2, %6932 ]
  store i32 %6927, ptr %228, align 4, !tbaa !5
  %6938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6939 = load i32, ptr @test_count, align 4, !tbaa !5
  %6940 = load i32, ptr %174, align 4, !tbaa !5
  %6941 = call ptr @s2n_strerror(i32 noundef %6940, ptr noundef nonnull @.str.4) #12
  %6942 = load i32, ptr %174, align 4, !tbaa !5
  %6943 = call ptr @s2n_strerror_debug(i32 noundef %6942, ptr noundef nonnull @.str.4) #12
  %6944 = load i32, ptr %228, align 4, !tbaa !5
  %6945 = call ptr @strerror(i32 noundef %6944) #12
  %6946 = load i32, ptr %228, align 4, !tbaa !5
  %6947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6938, ptr noundef nonnull %.str.5.sink4539, i32 noundef %6939, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 780, ptr noundef %6941, ptr noundef %6943, ptr noundef %6945, i32 noundef %6946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6948:                                             ; preds = %6899
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #12
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %32) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %32, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #12
  store i32 0, ptr %33, align 4, !tbaa !5
  %6949 = load i32, ptr @test_count, align 4, !tbaa !5
  %6950 = add nsw i32 %6949, 1
  store i32 %6950, ptr @test_count, align 4, !tbaa !5
  %6951 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef null, ptr noundef nonnull %33) #12
  %6952 = icmp eq i32 %6951, -1
  br i1 %6952, label %6975, label %6953

6953:                                             ; preds = %6948
  %6954 = load i32, ptr %228, align 4, !tbaa !5
  %6955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6956 = call i32 @s2n_print_stacktrace(ptr noundef %6955) #12
  %6957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6958 = trunc nuw i8 %6957 to i1
  br i1 %6958, label %6959, label %6963

6959:                                             ; preds = %6953
  %6960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6961 = call i32 @fileno(ptr noundef %6960) #12
  %6962 = call i32 @isatty(i32 noundef %6961) #12
  %.not1815 = icmp eq i32 %6962, 0
  br i1 %.not1815, label %6963, label %6964

6963:                                             ; preds = %6959, %6953
  br label %6964

6964:                                             ; preds = %6959, %6963
  %.str.5.sink4548 = phi ptr [ @.str.5, %6963 ], [ @.str.2, %6959 ]
  store i32 %6954, ptr %228, align 4, !tbaa !5
  %6965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6966 = load i32, ptr @test_count, align 4, !tbaa !5
  %6967 = load i32, ptr %174, align 4, !tbaa !5
  %6968 = call ptr @s2n_strerror(i32 noundef %6967, ptr noundef nonnull @.str.4) #12
  %6969 = load i32, ptr %174, align 4, !tbaa !5
  %6970 = call ptr @s2n_strerror_debug(i32 noundef %6969, ptr noundef nonnull @.str.4) #12
  %6971 = load i32, ptr %228, align 4, !tbaa !5
  %6972 = call ptr @strerror(i32 noundef %6971) #12
  %6973 = load i32, ptr %228, align 4, !tbaa !5
  %6974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6965, ptr noundef nonnull %.str.5.sink4548, i32 noundef %6966, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 792, ptr noundef %6968, ptr noundef %6970, ptr noundef %6972, i32 noundef %6973) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6975:                                             ; preds = %6948
  %6976 = load i32, ptr @test_count, align 4, !tbaa !5
  %6977 = add nsw i32 %6976, 1
  store i32 %6977, ptr @test_count, align 4, !tbaa !5
  %6978 = load i32, ptr %174, align 4, !tbaa !5
  %6979 = icmp eq i32 %6978, 402653193
  br i1 %6979, label %7002, label %6980

6980:                                             ; preds = %6975
  %6981 = load i32, ptr %228, align 4, !tbaa !5
  %6982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6983 = call i32 @s2n_print_stacktrace(ptr noundef %6982) #12
  %6984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6985 = trunc nuw i8 %6984 to i1
  br i1 %6985, label %6986, label %6990

6986:                                             ; preds = %6980
  %6987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6988 = call i32 @fileno(ptr noundef %6987) #12
  %6989 = call i32 @isatty(i32 noundef %6988) #12
  %.not1816 = icmp eq i32 %6989, 0
  br i1 %.not1816, label %6990, label %6991

6990:                                             ; preds = %6986, %6980
  br label %6991

6991:                                             ; preds = %6986, %6990
  %.str.5.sink4557 = phi ptr [ @.str.5, %6990 ], [ @.str.2, %6986 ]
  store i32 %6981, ptr %228, align 4, !tbaa !5
  %6992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6993 = load i32, ptr @test_count, align 4, !tbaa !5
  %6994 = load i32, ptr %174, align 4, !tbaa !5
  %6995 = call ptr @s2n_strerror(i32 noundef %6994, ptr noundef nonnull @.str.4) #12
  %6996 = load i32, ptr %174, align 4, !tbaa !5
  %6997 = call ptr @s2n_strerror_debug(i32 noundef %6996, ptr noundef nonnull @.str.4) #12
  %6998 = load i32, ptr %228, align 4, !tbaa !5
  %6999 = call ptr @strerror(i32 noundef %6998) #12
  %7000 = load i32, ptr %228, align 4, !tbaa !5
  %7001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6992, ptr noundef nonnull %.str.5.sink4557, i32 noundef %6993, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 792, ptr noundef %6995, ptr noundef %6997, ptr noundef %6999, i32 noundef %7000) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7002:                                             ; preds = %6975
  %7003 = add nsw i32 %6976, 2
  store i32 %7003, ptr @test_count, align 4, !tbaa !5
  %7004 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %7005 = icmp eq ptr %7004, null
  br i1 %7005, label %7006, label %7028

7006:                                             ; preds = %7002
  %7007 = load i32, ptr %228, align 4, !tbaa !5
  %7008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7009 = call i32 @s2n_print_stacktrace(ptr noundef %7008) #12
  %7010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7011 = trunc nuw i8 %7010 to i1
  br i1 %7011, label %7012, label %7016

7012:                                             ; preds = %7006
  %7013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7014 = call i32 @fileno(ptr noundef %7013) #12
  %7015 = call i32 @isatty(i32 noundef %7014) #12
  %.not2133 = icmp eq i32 %7015, 0
  br i1 %.not2133, label %7016, label %7017

7016:                                             ; preds = %7012, %7006
  br label %7017

7017:                                             ; preds = %7012, %7016
  %.str.5.sink4566 = phi ptr [ @.str.5, %7016 ], [ @.str.2, %7012 ]
  store i32 %7007, ptr %228, align 4, !tbaa !5
  %7018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7019 = load i32, ptr @test_count, align 4, !tbaa !5
  %7020 = load i32, ptr %174, align 4, !tbaa !5
  %7021 = call ptr @s2n_strerror(i32 noundef %7020, ptr noundef nonnull @.str.4) #12
  %7022 = load i32, ptr %174, align 4, !tbaa !5
  %7023 = call ptr @s2n_strerror_debug(i32 noundef %7022, ptr noundef nonnull @.str.4) #12
  %7024 = load i32, ptr %228, align 4, !tbaa !5
  %7025 = call ptr @strerror(i32 noundef %7024) #12
  %7026 = load i32, ptr %228, align 4, !tbaa !5
  %7027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7018, ptr noundef nonnull %.str.5.sink4566, i32 noundef %7019, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 792, ptr noundef %7021, ptr noundef %7023, ptr noundef %7025, i32 noundef %7026) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7028:                                             ; preds = %7002
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %7029 = load i32, ptr @test_count, align 4, !tbaa !5
  %7030 = add nsw i32 %7029, 1
  store i32 %7030, ptr @test_count, align 4, !tbaa !5
  %7031 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %32, ptr noundef null) #12
  %7032 = icmp eq i32 %7031, -1
  br i1 %7032, label %7055, label %7033

7033:                                             ; preds = %7028
  %7034 = load i32, ptr %228, align 4, !tbaa !5
  %7035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7036 = call i32 @s2n_print_stacktrace(ptr noundef %7035) #12
  %7037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7038 = trunc nuw i8 %7037 to i1
  br i1 %7038, label %7039, label %7043

7039:                                             ; preds = %7033
  %7040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7041 = call i32 @fileno(ptr noundef %7040) #12
  %7042 = call i32 @isatty(i32 noundef %7041) #12
  %.not1817 = icmp eq i32 %7042, 0
  br i1 %.not1817, label %7043, label %7044

7043:                                             ; preds = %7039, %7033
  br label %7044

7044:                                             ; preds = %7039, %7043
  %.str.5.sink4575 = phi ptr [ @.str.5, %7043 ], [ @.str.2, %7039 ]
  store i32 %7034, ptr %228, align 4, !tbaa !5
  %7045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7046 = load i32, ptr @test_count, align 4, !tbaa !5
  %7047 = load i32, ptr %174, align 4, !tbaa !5
  %7048 = call ptr @s2n_strerror(i32 noundef %7047, ptr noundef nonnull @.str.4) #12
  %7049 = load i32, ptr %174, align 4, !tbaa !5
  %7050 = call ptr @s2n_strerror_debug(i32 noundef %7049, ptr noundef nonnull @.str.4) #12
  %7051 = load i32, ptr %228, align 4, !tbaa !5
  %7052 = call ptr @strerror(i32 noundef %7051) #12
  %7053 = load i32, ptr %228, align 4, !tbaa !5
  %7054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7045, ptr noundef nonnull %.str.5.sink4575, i32 noundef %7046, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 793, ptr noundef %7048, ptr noundef %7050, ptr noundef %7052, i32 noundef %7053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7055:                                             ; preds = %7028
  %7056 = load i32, ptr @test_count, align 4, !tbaa !5
  %7057 = add nsw i32 %7056, 1
  store i32 %7057, ptr @test_count, align 4, !tbaa !5
  %7058 = load i32, ptr %174, align 4, !tbaa !5
  %7059 = icmp eq i32 %7058, 402653193
  br i1 %7059, label %7082, label %7060

7060:                                             ; preds = %7055
  %7061 = load i32, ptr %228, align 4, !tbaa !5
  %7062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7063 = call i32 @s2n_print_stacktrace(ptr noundef %7062) #12
  %7064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7065 = trunc nuw i8 %7064 to i1
  br i1 %7065, label %7066, label %7070

7066:                                             ; preds = %7060
  %7067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7068 = call i32 @fileno(ptr noundef %7067) #12
  %7069 = call i32 @isatty(i32 noundef %7068) #12
  %.not1818 = icmp eq i32 %7069, 0
  br i1 %.not1818, label %7070, label %7071

7070:                                             ; preds = %7066, %7060
  br label %7071

7071:                                             ; preds = %7066, %7070
  %.str.5.sink4584 = phi ptr [ @.str.5, %7070 ], [ @.str.2, %7066 ]
  store i32 %7061, ptr %228, align 4, !tbaa !5
  %7072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7073 = load i32, ptr @test_count, align 4, !tbaa !5
  %7074 = load i32, ptr %174, align 4, !tbaa !5
  %7075 = call ptr @s2n_strerror(i32 noundef %7074, ptr noundef nonnull @.str.4) #12
  %7076 = load i32, ptr %174, align 4, !tbaa !5
  %7077 = call ptr @s2n_strerror_debug(i32 noundef %7076, ptr noundef nonnull @.str.4) #12
  %7078 = load i32, ptr %228, align 4, !tbaa !5
  %7079 = call ptr @strerror(i32 noundef %7078) #12
  %7080 = load i32, ptr %228, align 4, !tbaa !5
  %7081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7072, ptr noundef nonnull %.str.5.sink4584, i32 noundef %7073, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 793, ptr noundef %7075, ptr noundef %7077, ptr noundef %7079, i32 noundef %7080) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7082:                                             ; preds = %7055
  %7083 = add nsw i32 %7056, 2
  store i32 %7083, ptr @test_count, align 4, !tbaa !5
  %7084 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %7085 = icmp eq ptr %7084, null
  br i1 %7085, label %7086, label %7108

7086:                                             ; preds = %7082
  %7087 = load i32, ptr %228, align 4, !tbaa !5
  %7088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7089 = call i32 @s2n_print_stacktrace(ptr noundef %7088) #12
  %7090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7091 = trunc nuw i8 %7090 to i1
  br i1 %7091, label %7092, label %7096

7092:                                             ; preds = %7086
  %7093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7094 = call i32 @fileno(ptr noundef %7093) #12
  %7095 = call i32 @isatty(i32 noundef %7094) #12
  %.not2132 = icmp eq i32 %7095, 0
  br i1 %.not2132, label %7096, label %7097

7096:                                             ; preds = %7092, %7086
  br label %7097

7097:                                             ; preds = %7092, %7096
  %.str.5.sink4593 = phi ptr [ @.str.5, %7096 ], [ @.str.2, %7092 ]
  store i32 %7087, ptr %228, align 4, !tbaa !5
  %7098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7099 = load i32, ptr @test_count, align 4, !tbaa !5
  %7100 = load i32, ptr %174, align 4, !tbaa !5
  %7101 = call ptr @s2n_strerror(i32 noundef %7100, ptr noundef nonnull @.str.4) #12
  %7102 = load i32, ptr %174, align 4, !tbaa !5
  %7103 = call ptr @s2n_strerror_debug(i32 noundef %7102, ptr noundef nonnull @.str.4) #12
  %7104 = load i32, ptr %228, align 4, !tbaa !5
  %7105 = call ptr @strerror(i32 noundef %7104) #12
  %7106 = load i32, ptr %228, align 4, !tbaa !5
  %7107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7098, ptr noundef nonnull %.str.5.sink4593, i32 noundef %7099, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 793, ptr noundef %7101, ptr noundef %7103, ptr noundef %7105, i32 noundef %7106) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7108:                                             ; preds = %7082
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %32) #12
  %7109 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %7110 = load i32, ptr @test_count, align 4, !tbaa !5
  %7111 = add nsw i32 %7110, 1
  store i32 %7111, ptr @test_count, align 4, !tbaa !5
  %7112 = icmp eq ptr %7109, null
  br i1 %7112, label %7113, label %7135

7113:                                             ; preds = %7108
  %7114 = load i32, ptr %228, align 4, !tbaa !5
  %7115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7116 = call i32 @s2n_print_stacktrace(ptr noundef %7115) #12
  %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) #12
  %7122 = call i32 @isatty(i32 noundef %7121) #12
  %.not2131 = icmp eq i32 %7122, 0
  br i1 %.not2131, label %7123, label %7124

7123:                                             ; preds = %7119, %7113
  br label %7124

7124:                                             ; preds = %7119, %7123
  %.str.5.sink4602 = phi ptr [ @.str.5, %7123 ], [ @.str.2, %7119 ]
  store i32 %7114, ptr %228, 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 %174, align 4, !tbaa !5
  %7128 = call ptr @s2n_strerror(i32 noundef %7127, ptr noundef nonnull @.str.4) #12
  %7129 = load i32, ptr %174, align 4, !tbaa !5
  %7130 = call ptr @s2n_strerror_debug(i32 noundef %7129, ptr noundef nonnull @.str.4) #12
  %7131 = load i32, ptr %228, align 4, !tbaa !5
  %7132 = call ptr @strerror(i32 noundef %7131) #12
  %7133 = load i32, ptr %228, align 4, !tbaa !5
  %7134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7125, ptr noundef nonnull %.str.5.sink4602, i32 noundef %7126, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 799, ptr noundef %7128, ptr noundef %7130, ptr noundef %7132, i32 noundef %7133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7135:                                             ; preds = %7108
  %7136 = add nsw i32 %7110, 2
  store i32 %7136, ptr @test_count, align 4, !tbaa !5
  %7137 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %7109, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %7138 = call zeroext i1 @s2n_result_is_ok(i32 %7137)
  br i1 %7138, label %7161, label %7139

7139:                                             ; preds = %7135
  %7140 = load i32, ptr %228, align 4, !tbaa !5
  %7141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7142 = call i32 @s2n_print_stacktrace(ptr noundef %7141) #12
  %7143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7144 = trunc nuw i8 %7143 to i1
  br i1 %7144, label %7145, label %7149

7145:                                             ; preds = %7139
  %7146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7147 = call i32 @fileno(ptr noundef %7146) #12
  %7148 = call i32 @isatty(i32 noundef %7147) #12
  %.not1819 = icmp eq i32 %7148, 0
  br i1 %.not1819, label %7149, label %7150

7149:                                             ; preds = %7145, %7139
  br label %7150

7150:                                             ; preds = %7145, %7149
  %.str.5.sink4611 = phi ptr [ @.str.5, %7149 ], [ @.str.2, %7145 ]
  store i32 %7140, ptr %228, align 4, !tbaa !5
  %7151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7152 = load i32, ptr @test_count, align 4, !tbaa !5
  %7153 = load i32, ptr %174, align 4, !tbaa !5
  %7154 = call ptr @s2n_strerror(i32 noundef %7153, ptr noundef nonnull @.str.4) #12
  %7155 = load i32, ptr %174, align 4, !tbaa !5
  %7156 = call ptr @s2n_strerror_debug(i32 noundef %7155, ptr noundef nonnull @.str.4) #12
  %7157 = load i32, ptr %228, align 4, !tbaa !5
  %7158 = call ptr @strerror(i32 noundef %7157) #12
  %7159 = load i32, ptr %228, align 4, !tbaa !5
  %7160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7151, ptr noundef nonnull %.str.5.sink4611, i32 noundef %7152, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 800, ptr noundef %7154, ptr noundef %7156, ptr noundef %7158, i32 noundef %7159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7161:                                             ; preds = %7135
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #12
  store i32 0, ptr %34, align 4, !tbaa !5
  %7162 = load i32, ptr @test_count, align 4, !tbaa !5
  %7163 = add nsw i32 %7162, 1
  store i32 %7163, ptr @test_count, align 4, !tbaa !5
  %7164 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7109, ptr noundef nonnull %34) #12
  %7165 = icmp eq i32 %7164, -1
  br i1 %7165, label %7166, label %7188

7166:                                             ; preds = %7161
  %7167 = load i32, ptr %228, align 4, !tbaa !5
  %7168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7169 = call i32 @s2n_print_stacktrace(ptr noundef %7168) #12
  %7170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7171 = trunc nuw i8 %7170 to i1
  br i1 %7171, label %7172, label %7176

7172:                                             ; preds = %7166
  %7173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7174 = call i32 @fileno(ptr noundef %7173) #12
  %7175 = call i32 @isatty(i32 noundef %7174) #12
  %.not2130 = icmp eq i32 %7175, 0
  br i1 %.not2130, label %7176, label %7177

7176:                                             ; preds = %7172, %7166
  br label %7177

7177:                                             ; preds = %7172, %7176
  %.str.5.sink4620 = phi ptr [ @.str.5, %7176 ], [ @.str.2, %7172 ]
  store i32 %7167, ptr %228, align 4, !tbaa !5
  %7178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7179 = load i32, ptr @test_count, align 4, !tbaa !5
  %7180 = load i32, ptr %174, align 4, !tbaa !5
  %7181 = call ptr @s2n_strerror(i32 noundef %7180, ptr noundef nonnull @.str.4) #12
  %7182 = load i32, ptr %174, align 4, !tbaa !5
  %7183 = call ptr @s2n_strerror_debug(i32 noundef %7182, ptr noundef nonnull @.str.4) #12
  %7184 = load i32, ptr %228, align 4, !tbaa !5
  %7185 = call ptr @strerror(i32 noundef %7184) #12
  %7186 = load i32, ptr %228, align 4, !tbaa !5
  %7187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7178, ptr noundef nonnull %.str.5.sink4620, i32 noundef %7179, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 804, ptr noundef %7181, ptr noundef %7183, ptr noundef %7185, i32 noundef %7186) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7188:                                             ; preds = %7161
  %7189 = load i32, ptr @test_count, align 4, !tbaa !5
  %7190 = add nsw i32 %7189, 1
  store i32 %7190, ptr @test_count, align 4, !tbaa !5
  %7191 = load i32, ptr %34, align 4, !tbaa !5
  %7192 = icmp eq i32 %7191, 10
  br i1 %7192, label %7215, label %7193

7193:                                             ; preds = %7188
  %7194 = load i32, ptr %228, align 4, !tbaa !5
  %7195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7196 = call i32 @s2n_print_stacktrace(ptr noundef %7195) #12
  %7197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7198 = trunc nuw i8 %7197 to i1
  br i1 %7198, label %7199, label %7203

7199:                                             ; preds = %7193
  %7200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7201 = call i32 @fileno(ptr noundef %7200) #12
  %7202 = call i32 @isatty(i32 noundef %7201) #12
  %.not1820 = icmp eq i32 %7202, 0
  br i1 %.not1820, label %7203, label %7204

7203:                                             ; preds = %7199, %7193
  br label %7204

7204:                                             ; preds = %7199, %7203
  %.str.5.sink4629 = phi ptr [ @.str.5, %7203 ], [ @.str.2, %7199 ]
  store i32 %7194, ptr %228, align 4, !tbaa !5
  %7205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7206 = load i32, ptr @test_count, align 4, !tbaa !5
  %7207 = load i32, ptr %174, align 4, !tbaa !5
  %7208 = call ptr @s2n_strerror(i32 noundef %7207, ptr noundef nonnull @.str.4) #12
  %7209 = load i32, ptr %174, align 4, !tbaa !5
  %7210 = call ptr @s2n_strerror_debug(i32 noundef %7209, ptr noundef nonnull @.str.4) #12
  %7211 = load i32, ptr %228, align 4, !tbaa !5
  %7212 = call ptr @strerror(i32 noundef %7211) #12
  %7213 = load i32, ptr %228, align 4, !tbaa !5
  %7214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7205, ptr noundef nonnull %.str.5.sink4629, i32 noundef %7206, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 805, ptr noundef %7208, ptr noundef %7210, ptr noundef %7212, i32 noundef %7213) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7215:                                             ; preds = %7188
  %7216 = getelementptr inbounds i8, ptr %7109, i64 4088
  store i32 2, ptr %7216, align 8, !tbaa !15
  %7217 = add nsw i32 %7189, 2
  store i32 %7217, ptr @test_count, align 4, !tbaa !5
  %7218 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7109, ptr noundef nonnull %34) #12
  %7219 = icmp eq i32 %7218, -1
  br i1 %7219, label %7220, label %7242

7220:                                             ; preds = %7215
  %7221 = load i32, ptr %228, align 4, !tbaa !5
  %7222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7223 = call i32 @s2n_print_stacktrace(ptr noundef %7222) #12
  %7224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7225 = trunc nuw i8 %7224 to i1
  br i1 %7225, label %7226, label %7230

7226:                                             ; preds = %7220
  %7227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7228 = call i32 @fileno(ptr noundef %7227) #12
  %7229 = call i32 @isatty(i32 noundef %7228) #12
  %.not2129 = icmp eq i32 %7229, 0
  br i1 %.not2129, label %7230, label %7231

7230:                                             ; preds = %7226, %7220
  br label %7231

7231:                                             ; preds = %7226, %7230
  %.str.5.sink4638 = phi ptr [ @.str.5, %7230 ], [ @.str.2, %7226 ]
  store i32 %7221, ptr %228, align 4, !tbaa !5
  %7232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7233 = load i32, ptr @test_count, align 4, !tbaa !5
  %7234 = load i32, ptr %174, align 4, !tbaa !5
  %7235 = call ptr @s2n_strerror(i32 noundef %7234, ptr noundef nonnull @.str.4) #12
  %7236 = load i32, ptr %174, align 4, !tbaa !5
  %7237 = call ptr @s2n_strerror_debug(i32 noundef %7236, ptr noundef nonnull @.str.4) #12
  %7238 = load i32, ptr %228, align 4, !tbaa !5
  %7239 = call ptr @strerror(i32 noundef %7238) #12
  %7240 = load i32, ptr %228, align 4, !tbaa !5
  %7241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7232, ptr noundef nonnull %.str.5.sink4638, i32 noundef %7233, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 808, ptr noundef %7235, ptr noundef %7237, ptr noundef %7239, i32 noundef %7240) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7242:                                             ; preds = %7215
  %7243 = load i32, ptr @test_count, align 4, !tbaa !5
  %7244 = add nsw i32 %7243, 1
  store i32 %7244, ptr @test_count, align 4, !tbaa !5
  %7245 = load i32, ptr %34, align 4, !tbaa !5
  %7246 = icmp eq i32 %7245, 0
  br i1 %7246, label %7269, label %7247

7247:                                             ; preds = %7242
  %7248 = load i32, ptr %228, align 4, !tbaa !5
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = call i32 @s2n_print_stacktrace(ptr noundef %7249) #12
  %7251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7252 = trunc nuw i8 %7251 to i1
  br i1 %7252, label %7253, label %7257

7253:                                             ; preds = %7247
  %7254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7255 = call i32 @fileno(ptr noundef %7254) #12
  %7256 = call i32 @isatty(i32 noundef %7255) #12
  %.not1821 = icmp eq i32 %7256, 0
  br i1 %.not1821, label %7257, label %7258

7257:                                             ; preds = %7253, %7247
  br label %7258

7258:                                             ; preds = %7253, %7257
  %.str.5.sink4647 = phi ptr [ @.str.5, %7257 ], [ @.str.2, %7253 ]
  store i32 %7248, ptr %228, align 4, !tbaa !5
  %7259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7260 = load i32, ptr @test_count, align 4, !tbaa !5
  %7261 = load i32, ptr %174, align 4, !tbaa !5
  %7262 = call ptr @s2n_strerror(i32 noundef %7261, ptr noundef nonnull @.str.4) #12
  %7263 = load i32, ptr %174, align 4, !tbaa !5
  %7264 = call ptr @s2n_strerror_debug(i32 noundef %7263, ptr noundef nonnull @.str.4) #12
  %7265 = load i32, ptr %228, align 4, !tbaa !5
  %7266 = call ptr @strerror(i32 noundef %7265) #12
  %7267 = load i32, ptr %228, align 4, !tbaa !5
  %7268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7259, ptr noundef nonnull %.str.5.sink4647, i32 noundef %7260, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 809, ptr noundef %7262, ptr noundef %7264, ptr noundef %7266, i32 noundef %7267) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7269:                                             ; preds = %7242
  store i32 1, ptr %7216, align 8, !tbaa !15
  %7270 = add nsw i32 %7243, 2
  store i32 %7270, ptr @test_count, align 4, !tbaa !5
  %7271 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7109, ptr noundef nonnull %34) #12
  %7272 = icmp eq i32 %7271, -1
  br i1 %7272, label %7273, label %7295

7273:                                             ; preds = %7269
  %7274 = load i32, ptr %228, align 4, !tbaa !5
  %7275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7276 = call i32 @s2n_print_stacktrace(ptr noundef %7275) #12
  %7277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7278 = trunc nuw i8 %7277 to i1
  br i1 %7278, label %7279, label %7283

7279:                                             ; preds = %7273
  %7280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7281 = call i32 @fileno(ptr noundef %7280) #12
  %7282 = call i32 @isatty(i32 noundef %7281) #12
  %.not2128 = icmp eq i32 %7282, 0
  br i1 %.not2128, label %7283, label %7284

7283:                                             ; preds = %7279, %7273
  br label %7284

7284:                                             ; preds = %7279, %7283
  %.str.5.sink4656 = phi ptr [ @.str.5, %7283 ], [ @.str.2, %7279 ]
  store i32 %7274, ptr %228, align 4, !tbaa !5
  %7285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7286 = load i32, ptr @test_count, align 4, !tbaa !5
  %7287 = load i32, ptr %174, align 4, !tbaa !5
  %7288 = call ptr @s2n_strerror(i32 noundef %7287, ptr noundef nonnull @.str.4) #12
  %7289 = load i32, ptr %174, align 4, !tbaa !5
  %7290 = call ptr @s2n_strerror_debug(i32 noundef %7289, ptr noundef nonnull @.str.4) #12
  %7291 = load i32, ptr %228, align 4, !tbaa !5
  %7292 = call ptr @strerror(i32 noundef %7291) #12
  %7293 = load i32, ptr %228, align 4, !tbaa !5
  %7294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7285, ptr noundef nonnull %.str.5.sink4656, i32 noundef %7286, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 812, ptr noundef %7288, ptr noundef %7290, ptr noundef %7292, i32 noundef %7293) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7295:                                             ; preds = %7269
  %7296 = load i32, ptr @test_count, align 4, !tbaa !5
  %7297 = add nsw i32 %7296, 1
  store i32 %7297, ptr @test_count, align 4, !tbaa !5
  %7298 = load i32, ptr %34, align 4, !tbaa !5
  %7299 = icmp eq i32 %7298, 10
  br i1 %7299, label %7322, label %7300

7300:                                             ; preds = %7295
  %7301 = load i32, ptr %228, align 4, !tbaa !5
  %7302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7303 = call i32 @s2n_print_stacktrace(ptr noundef %7302) #12
  %7304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7305 = trunc nuw i8 %7304 to i1
  br i1 %7305, label %7306, label %7310

7306:                                             ; preds = %7300
  %7307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7308 = call i32 @fileno(ptr noundef %7307) #12
  %7309 = call i32 @isatty(i32 noundef %7308) #12
  %.not1822 = icmp eq i32 %7309, 0
  br i1 %.not1822, label %7310, label %7311

7310:                                             ; preds = %7306, %7300
  br label %7311

7311:                                             ; preds = %7306, %7310
  %.str.5.sink4665 = phi ptr [ @.str.5, %7310 ], [ @.str.2, %7306 ]
  store i32 %7301, ptr %228, align 4, !tbaa !5
  %7312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7313 = load i32, ptr @test_count, align 4, !tbaa !5
  %7314 = load i32, ptr %174, align 4, !tbaa !5
  %7315 = call ptr @s2n_strerror(i32 noundef %7314, ptr noundef nonnull @.str.4) #12
  %7316 = load i32, ptr %174, align 4, !tbaa !5
  %7317 = call ptr @s2n_strerror_debug(i32 noundef %7316, ptr noundef nonnull @.str.4) #12
  %7318 = load i32, ptr %228, align 4, !tbaa !5
  %7319 = call ptr @strerror(i32 noundef %7318) #12
  %7320 = load i32, ptr %228, align 4, !tbaa !5
  %7321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7312, ptr noundef nonnull %.str.5.sink4665, i32 noundef %7313, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 813, ptr noundef %7315, ptr noundef %7317, ptr noundef %7319, i32 noundef %7320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7322:                                             ; preds = %7295
  %7323 = getelementptr inbounds i8, ptr %7109, i64 2256
  store i64 9, ptr %7323, align 8, !tbaa !72
  store i32 1, ptr %7216, align 8, !tbaa !15
  %7324 = add nsw i32 %7296, 2
  store i32 %7324, ptr @test_count, align 4, !tbaa !5
  %7325 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7109, ptr noundef nonnull %34) #12
  %7326 = icmp eq i32 %7325, -1
  br i1 %7326, label %7327, label %7349

7327:                                             ; preds = %7322
  %7328 = load i32, ptr %228, align 4, !tbaa !5
  %7329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7330 = call i32 @s2n_print_stacktrace(ptr noundef %7329) #12
  %7331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7332 = trunc nuw i8 %7331 to i1
  br i1 %7332, label %7333, label %7337

7333:                                             ; preds = %7327
  %7334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7335 = call i32 @fileno(ptr noundef %7334) #12
  %7336 = call i32 @isatty(i32 noundef %7335) #12
  %.not2127 = icmp eq i32 %7336, 0
  br i1 %.not2127, label %7337, label %7338

7337:                                             ; preds = %7333, %7327
  br label %7338

7338:                                             ; preds = %7333, %7337
  %.str.5.sink4674 = phi ptr [ @.str.5, %7337 ], [ @.str.2, %7333 ]
  store i32 %7328, ptr %228, align 4, !tbaa !5
  %7339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7340 = load i32, ptr @test_count, align 4, !tbaa !5
  %7341 = load i32, ptr %174, align 4, !tbaa !5
  %7342 = call ptr @s2n_strerror(i32 noundef %7341, ptr noundef nonnull @.str.4) #12
  %7343 = load i32, ptr %174, align 4, !tbaa !5
  %7344 = call ptr @s2n_strerror_debug(i32 noundef %7343, ptr noundef nonnull @.str.4) #12
  %7345 = load i32, ptr %228, align 4, !tbaa !5
  %7346 = call ptr @strerror(i32 noundef %7345) #12
  %7347 = load i32, ptr %228, align 4, !tbaa !5
  %7348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7339, ptr noundef nonnull %.str.5.sink4674, i32 noundef %7340, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 817, ptr noundef %7342, ptr noundef %7344, ptr noundef %7346, i32 noundef %7347) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7349:                                             ; preds = %7322
  %7350 = load i32, ptr @test_count, align 4, !tbaa !5
  %7351 = add nsw i32 %7350, 1
  store i32 %7351, ptr @test_count, align 4, !tbaa !5
  %7352 = load i32, ptr %34, align 4, !tbaa !5
  %7353 = icmp eq i32 %7352, 1
  br i1 %7353, label %7376, label %7354

7354:                                             ; preds = %7349
  %7355 = load i32, ptr %228, align 4, !tbaa !5
  %7356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7357 = call i32 @s2n_print_stacktrace(ptr noundef %7356) #12
  %7358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7359 = trunc nuw i8 %7358 to i1
  br i1 %7359, label %7360, label %7364

7360:                                             ; preds = %7354
  %7361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7362 = call i32 @fileno(ptr noundef %7361) #12
  %7363 = call i32 @isatty(i32 noundef %7362) #12
  %.not1823 = icmp eq i32 %7363, 0
  br i1 %.not1823, label %7364, label %7365

7364:                                             ; preds = %7360, %7354
  br label %7365

7365:                                             ; preds = %7360, %7364
  %.str.5.sink4683 = phi ptr [ @.str.5, %7364 ], [ @.str.2, %7360 ]
  store i32 %7355, ptr %228, align 4, !tbaa !5
  %7366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7367 = load i32, ptr @test_count, align 4, !tbaa !5
  %7368 = load i32, ptr %174, align 4, !tbaa !5
  %7369 = call ptr @s2n_strerror(i32 noundef %7368, ptr noundef nonnull @.str.4) #12
  %7370 = load i32, ptr %174, align 4, !tbaa !5
  %7371 = call ptr @s2n_strerror_debug(i32 noundef %7370, ptr noundef nonnull @.str.4) #12
  %7372 = load i32, ptr %228, align 4, !tbaa !5
  %7373 = call ptr @strerror(i32 noundef %7372) #12
  %7374 = load i32, ptr %228, align 4, !tbaa !5
  %7375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7366, ptr noundef nonnull %.str.5.sink4683, i32 noundef %7367, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 818, ptr noundef %7369, ptr noundef %7371, ptr noundef %7373, i32 noundef %7374) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7376:                                             ; preds = %7349
  store i64 10, ptr %7323, align 8, !tbaa !72
  store i32 1, ptr %7216, align 8, !tbaa !15
  %7377 = add nsw i32 %7350, 2
  store i32 %7377, ptr @test_count, align 4, !tbaa !5
  %7378 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7109, ptr noundef nonnull %34) #12
  %7379 = icmp eq i32 %7378, -1
  br i1 %7379, label %7380, label %7402

7380:                                             ; preds = %7376
  %7381 = load i32, ptr %228, align 4, !tbaa !5
  %7382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7383 = call i32 @s2n_print_stacktrace(ptr noundef %7382) #12
  %7384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7385 = trunc nuw i8 %7384 to i1
  br i1 %7385, label %7386, label %7390

7386:                                             ; preds = %7380
  %7387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7388 = call i32 @fileno(ptr noundef %7387) #12
  %7389 = call i32 @isatty(i32 noundef %7388) #12
  %.not2126 = icmp eq i32 %7389, 0
  br i1 %.not2126, label %7390, label %7391

7390:                                             ; preds = %7386, %7380
  br label %7391

7391:                                             ; preds = %7386, %7390
  %.str.5.sink4692 = phi ptr [ @.str.5, %7390 ], [ @.str.2, %7386 ]
  store i32 %7381, ptr %228, align 4, !tbaa !5
  %7392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7393 = load i32, ptr @test_count, align 4, !tbaa !5
  %7394 = load i32, ptr %174, align 4, !tbaa !5
  %7395 = call ptr @s2n_strerror(i32 noundef %7394, ptr noundef nonnull @.str.4) #12
  %7396 = load i32, ptr %174, align 4, !tbaa !5
  %7397 = call ptr @s2n_strerror_debug(i32 noundef %7396, ptr noundef nonnull @.str.4) #12
  %7398 = load i32, ptr %228, align 4, !tbaa !5
  %7399 = call ptr @strerror(i32 noundef %7398) #12
  %7400 = load i32, ptr %228, align 4, !tbaa !5
  %7401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7392, ptr noundef nonnull %.str.5.sink4692, i32 noundef %7393, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 822, ptr noundef %7395, ptr noundef %7397, ptr noundef %7399, i32 noundef %7400) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7402:                                             ; preds = %7376
  %7403 = load i32, ptr @test_count, align 4, !tbaa !5
  %7404 = add nsw i32 %7403, 1
  store i32 %7404, ptr @test_count, align 4, !tbaa !5
  %7405 = load i32, ptr %34, align 4, !tbaa !5
  %7406 = icmp eq i32 %7405, 0
  br i1 %7406, label %7429, label %7407

7407:                                             ; preds = %7402
  %7408 = load i32, ptr %228, align 4, !tbaa !5
  %7409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7410 = call i32 @s2n_print_stacktrace(ptr noundef %7409) #12
  %7411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7412 = trunc nuw i8 %7411 to i1
  br i1 %7412, label %7413, label %7417

7413:                                             ; preds = %7407
  %7414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7415 = call i32 @fileno(ptr noundef %7414) #12
  %7416 = call i32 @isatty(i32 noundef %7415) #12
  %.not1824 = icmp eq i32 %7416, 0
  br i1 %.not1824, label %7417, label %7418

7417:                                             ; preds = %7413, %7407
  br label %7418

7418:                                             ; preds = %7413, %7417
  %.str.5.sink4701 = phi ptr [ @.str.5, %7417 ], [ @.str.2, %7413 ]
  store i32 %7408, ptr %228, align 4, !tbaa !5
  %7419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7420 = load i32, ptr @test_count, align 4, !tbaa !5
  %7421 = load i32, ptr %174, align 4, !tbaa !5
  %7422 = call ptr @s2n_strerror(i32 noundef %7421, ptr noundef nonnull @.str.4) #12
  %7423 = load i32, ptr %174, align 4, !tbaa !5
  %7424 = call ptr @s2n_strerror_debug(i32 noundef %7423, ptr noundef nonnull @.str.4) #12
  %7425 = load i32, ptr %228, align 4, !tbaa !5
  %7426 = call ptr @strerror(i32 noundef %7425) #12
  %7427 = load i32, ptr %228, align 4, !tbaa !5
  %7428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7419, ptr noundef nonnull %.str.5.sink4701, i32 noundef %7420, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 823, ptr noundef %7422, ptr noundef %7424, ptr noundef %7426, i32 noundef %7427) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7429:                                             ; preds = %7402
  store i64 11, ptr %7323, align 8, !tbaa !72
  store i32 1, ptr %7216, align 8, !tbaa !15
  %7430 = add nsw i32 %7403, 2
  store i32 %7430, ptr @test_count, align 4, !tbaa !5
  %7431 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7109, ptr noundef nonnull %34) #12
  %7432 = icmp eq i32 %7431, -1
  br i1 %7432, label %7455, label %7433

7433:                                             ; preds = %7429
  %7434 = load i32, ptr %228, align 4, !tbaa !5
  %7435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7436 = call i32 @s2n_print_stacktrace(ptr noundef %7435) #12
  %7437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7438 = trunc nuw i8 %7437 to i1
  br i1 %7438, label %7439, label %7443

7439:                                             ; preds = %7433
  %7440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7441 = call i32 @fileno(ptr noundef %7440) #12
  %7442 = call i32 @isatty(i32 noundef %7441) #12
  %.not1825 = icmp eq i32 %7442, 0
  br i1 %.not1825, label %7443, label %7444

7443:                                             ; preds = %7439, %7433
  br label %7444

7444:                                             ; preds = %7439, %7443
  %.str.5.sink4710 = phi ptr [ @.str.5, %7443 ], [ @.str.2, %7439 ]
  store i32 %7434, ptr %228, align 4, !tbaa !5
  %7445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7446 = load i32, ptr @test_count, align 4, !tbaa !5
  %7447 = load i32, ptr %174, align 4, !tbaa !5
  %7448 = call ptr @s2n_strerror(i32 noundef %7447, ptr noundef nonnull @.str.4) #12
  %7449 = load i32, ptr %174, align 4, !tbaa !5
  %7450 = call ptr @s2n_strerror_debug(i32 noundef %7449, ptr noundef nonnull @.str.4) #12
  %7451 = load i32, ptr %228, align 4, !tbaa !5
  %7452 = call ptr @strerror(i32 noundef %7451) #12
  %7453 = load i32, ptr %228, align 4, !tbaa !5
  %7454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7445, ptr noundef nonnull %.str.5.sink4710, i32 noundef %7446, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 828, ptr noundef %7448, ptr noundef %7450, ptr noundef %7452, i32 noundef %7453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7455:                                             ; preds = %7429
  %7456 = load i32, ptr @test_count, align 4, !tbaa !5
  %7457 = add nsw i32 %7456, 1
  store i32 %7457, ptr @test_count, align 4, !tbaa !5
  %7458 = load i32, ptr %174, align 4, !tbaa !5
  %7459 = icmp eq i32 %7458, 335544396
  br i1 %7459, label %7482, label %7460

7460:                                             ; preds = %7455
  %7461 = load i32, ptr %228, align 4, !tbaa !5
  %7462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7463 = call i32 @s2n_print_stacktrace(ptr noundef %7462) #12
  %7464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7465 = trunc nuw i8 %7464 to i1
  br i1 %7465, label %7466, label %7470

7466:                                             ; preds = %7460
  %7467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7468 = call i32 @fileno(ptr noundef %7467) #12
  %7469 = call i32 @isatty(i32 noundef %7468) #12
  %.not1826 = icmp eq i32 %7469, 0
  br i1 %.not1826, label %7470, label %7471

7470:                                             ; preds = %7466, %7460
  br label %7471

7471:                                             ; preds = %7466, %7470
  %.str.5.sink4719 = phi ptr [ @.str.5, %7470 ], [ @.str.2, %7466 ]
  store i32 %7461, ptr %228, align 4, !tbaa !5
  %7472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7473 = load i32, ptr @test_count, align 4, !tbaa !5
  %7474 = load i32, ptr %174, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror(i32 noundef %7474, ptr noundef nonnull @.str.4) #12
  %7476 = load i32, ptr %174, align 4, !tbaa !5
  %7477 = call ptr @s2n_strerror_debug(i32 noundef %7476, ptr noundef nonnull @.str.4) #12
  %7478 = load i32, ptr %228, align 4, !tbaa !5
  %7479 = call ptr @strerror(i32 noundef %7478) #12
  %7480 = load i32, ptr %228, align 4, !tbaa !5
  %7481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7472, ptr noundef nonnull %.str.5.sink4719, i32 noundef %7473, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 828, ptr noundef %7475, ptr noundef %7477, ptr noundef %7479, i32 noundef %7480) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7482:                                             ; preds = %7455
  %7483 = add nsw i32 %7456, 2
  store i32 %7483, ptr @test_count, align 4, !tbaa !5
  %7484 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %7485 = icmp eq ptr %7484, null
  br i1 %7485, label %7486, label %7508

7486:                                             ; preds = %7482
  %7487 = load i32, ptr %228, align 4, !tbaa !5
  %7488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7489 = call i32 @s2n_print_stacktrace(ptr noundef %7488) #12
  %7490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7491 = trunc nuw i8 %7490 to i1
  br i1 %7491, label %7492, label %7496

7492:                                             ; preds = %7486
  %7493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7494 = call i32 @fileno(ptr noundef %7493) #12
  %7495 = call i32 @isatty(i32 noundef %7494) #12
  %.not2125 = icmp eq i32 %7495, 0
  br i1 %.not2125, label %7496, label %7497

7496:                                             ; preds = %7492, %7486
  br label %7497

7497:                                             ; preds = %7492, %7496
  %.str.5.sink4728 = phi ptr [ @.str.5, %7496 ], [ @.str.2, %7492 ]
  store i32 %7487, ptr %228, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = load i32, ptr %174, align 4, !tbaa !5
  %7501 = call ptr @s2n_strerror(i32 noundef %7500, ptr noundef nonnull @.str.4) #12
  %7502 = load i32, ptr %174, align 4, !tbaa !5
  %7503 = call ptr @s2n_strerror_debug(i32 noundef %7502, ptr noundef nonnull @.str.4) #12
  %7504 = load i32, ptr %228, align 4, !tbaa !5
  %7505 = call ptr @strerror(i32 noundef %7504) #12
  %7506 = load i32, ptr %228, align 4, !tbaa !5
  %7507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7498, ptr noundef nonnull %.str.5.sink4728, i32 noundef %7499, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 828, ptr noundef %7501, ptr noundef %7503, ptr noundef %7505, i32 noundef %7506) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7508:                                             ; preds = %7482
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %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 = load i32, ptr %34, align 4, !tbaa !5
  %7512 = icmp eq i32 %7511, 0
  br i1 %7512, label %7535, label %7513

7513:                                             ; preds = %7508
  %7514 = load i32, ptr %228, align 4, !tbaa !5
  %7515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7516 = call i32 @s2n_print_stacktrace(ptr noundef %7515) #12
  %7517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7518 = trunc nuw i8 %7517 to i1
  br i1 %7518, label %7519, label %7523

7519:                                             ; preds = %7513
  %7520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7521 = call i32 @fileno(ptr noundef %7520) #12
  %7522 = call i32 @isatty(i32 noundef %7521) #12
  %.not1827 = icmp eq i32 %7522, 0
  br i1 %.not1827, label %7523, label %7524

7523:                                             ; preds = %7519, %7513
  br label %7524

7524:                                             ; preds = %7519, %7523
  %.str.5.sink4737 = phi ptr [ @.str.5, %7523 ], [ @.str.2, %7519 ]
  store i32 %7514, ptr %228, align 4, !tbaa !5
  %7525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7526 = load i32, ptr @test_count, align 4, !tbaa !5
  %7527 = load i32, ptr %174, align 4, !tbaa !5
  %7528 = call ptr @s2n_strerror(i32 noundef %7527, ptr noundef nonnull @.str.4) #12
  %7529 = load i32, ptr %174, align 4, !tbaa !5
  %7530 = call ptr @s2n_strerror_debug(i32 noundef %7529, ptr noundef nonnull @.str.4) #12
  %7531 = load i32, ptr %228, align 4, !tbaa !5
  %7532 = call ptr @strerror(i32 noundef %7531) #12
  %7533 = load i32, ptr %228, align 4, !tbaa !5
  %7534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7525, ptr noundef nonnull %.str.5.sink4737, i32 noundef %7526, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 829, ptr noundef %7528, ptr noundef %7530, ptr noundef %7532, i32 noundef %7533) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7535:                                             ; preds = %7508
  %7536 = add nsw i32 %7509, 2
  store i32 %7536, ptr @test_count, align 4, !tbaa !5
  %7537 = call i32 @s2n_connection_free(ptr noundef nonnull %7109) #12
  %7538 = icmp eq i32 %7537, -1
  br i1 %7538, label %7539, label %7561

7539:                                             ; preds = %7535
  %7540 = load i32, ptr %228, align 4, !tbaa !5
  %7541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7542 = call i32 @s2n_print_stacktrace(ptr noundef %7541) #12
  %7543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7544 = trunc nuw i8 %7543 to i1
  br i1 %7544, label %7545, label %7549

7545:                                             ; preds = %7539
  %7546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7547 = call i32 @fileno(ptr noundef %7546) #12
  %7548 = call i32 @isatty(i32 noundef %7547) #12
  %.not2124 = icmp eq i32 %7548, 0
  br i1 %.not2124, label %7549, label %7550

7549:                                             ; preds = %7545, %7539
  br label %7550

7550:                                             ; preds = %7545, %7549
  %.str.5.sink4746 = phi ptr [ @.str.5, %7549 ], [ @.str.2, %7545 ]
  store i32 %7540, ptr %228, align 4, !tbaa !5
  %7551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7552 = load i32, ptr @test_count, align 4, !tbaa !5
  %7553 = load i32, ptr %174, align 4, !tbaa !5
  %7554 = call ptr @s2n_strerror(i32 noundef %7553, ptr noundef nonnull @.str.4) #12
  %7555 = load i32, ptr %174, align 4, !tbaa !5
  %7556 = call ptr @s2n_strerror_debug(i32 noundef %7555, ptr noundef nonnull @.str.4) #12
  %7557 = load i32, ptr %228, align 4, !tbaa !5
  %7558 = call ptr @strerror(i32 noundef %7557) #12
  %7559 = load i32, ptr %228, align 4, !tbaa !5
  %7560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7551, ptr noundef nonnull %.str.5.sink4746, i32 noundef %7552, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 831, ptr noundef %7554, ptr noundef %7556, ptr noundef %7558, i32 noundef %7559) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7561:                                             ; preds = %7535
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #12
  %7562 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %7563 = load i32, ptr @test_count, align 4, !tbaa !5
  %7564 = add nsw i32 %7563, 1
  store i32 %7564, ptr @test_count, align 4, !tbaa !5
  %7565 = icmp eq ptr %7562, null
  br i1 %7565, label %7566, label %7588

7566:                                             ; preds = %7561
  %7567 = load i32, ptr %228, align 4, !tbaa !5
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = call i32 @s2n_print_stacktrace(ptr noundef %7568) #12
  %7570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7571 = trunc nuw i8 %7570 to i1
  br i1 %7571, label %7572, label %7576

7572:                                             ; preds = %7566
  %7573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7574 = call i32 @fileno(ptr noundef %7573) #12
  %7575 = call i32 @isatty(i32 noundef %7574) #12
  %.not2123 = icmp eq i32 %7575, 0
  br i1 %.not2123, label %7576, label %7577

7576:                                             ; preds = %7572, %7566
  br label %7577

7577:                                             ; preds = %7572, %7576
  %.str.5.sink4755 = phi ptr [ @.str.5, %7576 ], [ @.str.2, %7572 ]
  store i32 %7567, ptr %228, align 4, !tbaa !5
  %7578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7579 = load i32, ptr @test_count, align 4, !tbaa !5
  %7580 = load i32, ptr %174, align 4, !tbaa !5
  %7581 = call ptr @s2n_strerror(i32 noundef %7580, ptr noundef nonnull @.str.4) #12
  %7582 = load i32, ptr %174, align 4, !tbaa !5
  %7583 = call ptr @s2n_strerror_debug(i32 noundef %7582, ptr noundef nonnull @.str.4) #12
  %7584 = load i32, ptr %228, align 4, !tbaa !5
  %7585 = call ptr @strerror(i32 noundef %7584) #12
  %7586 = load i32, ptr %228, align 4, !tbaa !5
  %7587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7578, ptr noundef nonnull %.str.5.sink4755, i32 noundef %7579, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 837, ptr noundef %7581, ptr noundef %7583, ptr noundef %7585, i32 noundef %7586) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7588:                                             ; preds = %7561
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #12
  store i32 0, ptr %35, align 4, !tbaa !5
  %7589 = getelementptr inbounds i8, ptr %7562, i64 4088
  store i32 0, ptr %7589, align 8, !tbaa !15
  %7590 = add nsw i32 %7563, 2
  store i32 %7590, ptr @test_count, align 4, !tbaa !5
  %7591 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7562, ptr noundef nonnull %35) #12
  %7592 = icmp eq i32 %7591, -1
  br i1 %7592, label %7642, label %7664

7593:                                             ; preds = %7664
  store i32 1, ptr %7589, align 8, !tbaa !15
  %7594 = add nsw i32 %7665, 2
  store i32 %7594, ptr @test_count, align 4, !tbaa !5
  %7595 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7562, ptr noundef nonnull %35) #12
  %7596 = icmp eq i32 %7595, -1
  br i1 %7596, label %7642, label %7597

7597:                                             ; preds = %7593
  %7598 = load i32, ptr @test_count, align 4, !tbaa !5
  %7599 = add nsw i32 %7598, 1
  store i32 %7599, ptr @test_count, align 4, !tbaa !5
  %7600 = load i32, ptr %35, align 4, !tbaa !5
  %7601 = icmp eq i32 %7600, 0
  br i1 %7601, label %7602, label %7669

7602:                                             ; preds = %7597
  store i32 2, ptr %7589, align 8, !tbaa !15
  %7603 = add nsw i32 %7598, 2
  store i32 %7603, ptr @test_count, align 4, !tbaa !5
  %7604 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7562, ptr noundef nonnull %35) #12
  %7605 = icmp eq i32 %7604, -1
  br i1 %7605, label %7642, label %7606

7606:                                             ; preds = %7602
  %7607 = load i32, ptr @test_count, align 4, !tbaa !5
  %7608 = add nsw i32 %7607, 1
  store i32 %7608, ptr @test_count, align 4, !tbaa !5
  %7609 = load i32, ptr %35, align 4, !tbaa !5
  %7610 = icmp eq i32 %7609, 0
  br i1 %7610, label %7611, label %7669

7611:                                             ; preds = %7606
  store i32 3, ptr %7589, align 8, !tbaa !15
  %7612 = add nsw i32 %7607, 2
  store i32 %7612, ptr @test_count, align 4, !tbaa !5
  %7613 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7562, ptr noundef nonnull %35) #12
  %7614 = icmp eq i32 %7613, -1
  br i1 %7614, label %7642, label %7615

7615:                                             ; preds = %7611
  %7616 = load i32, ptr @test_count, align 4, !tbaa !5
  %7617 = add nsw i32 %7616, 1
  store i32 %7617, ptr @test_count, align 4, !tbaa !5
  %7618 = load i32, ptr %35, align 4, !tbaa !5
  %7619 = icmp eq i32 %7618, 0
  br i1 %7619, label %7620, label %7669

7620:                                             ; preds = %7615
  store i32 4, ptr %7589, align 8, !tbaa !15
  %7621 = add nsw i32 %7616, 2
  store i32 %7621, ptr @test_count, align 4, !tbaa !5
  %7622 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7562, ptr noundef nonnull %35) #12
  %7623 = icmp eq i32 %7622, -1
  br i1 %7623, label %7642, label %7624

7624:                                             ; preds = %7620
  %7625 = load i32, ptr @test_count, align 4, !tbaa !5
  %7626 = add nsw i32 %7625, 1
  store i32 %7626, ptr @test_count, align 4, !tbaa !5
  %7627 = load i32, ptr %35, align 4, !tbaa !5
  %7628 = icmp eq i32 %7627, 0
  br i1 %7628, label %7629, label %7669

7629:                                             ; preds = %7624
  store i32 5, ptr %7589, align 8, !tbaa !15
  %7630 = add nsw i32 %7625, 2
  store i32 %7630, ptr @test_count, align 4, !tbaa !5
  %7631 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7562, ptr noundef nonnull %35) #12
  %7632 = icmp eq i32 %7631, -1
  br i1 %7632, label %7642, label %7633

7633:                                             ; preds = %7629
  %7634 = load i32, ptr @test_count, align 4, !tbaa !5
  %7635 = add nsw i32 %7634, 1
  store i32 %7635, ptr @test_count, align 4, !tbaa !5
  %7636 = load i32, ptr %35, align 4, !tbaa !5
  %7637 = icmp eq i32 %7636, 0
  br i1 %7637, label %7638, label %7669

7638:                                             ; preds = %7633
  %7639 = add nsw i32 %7634, 2
  store i32 %7639, ptr @test_count, align 4, !tbaa !5
  %7640 = call i32 @s2n_connection_free(ptr noundef nonnull %7562) #12
  %7641 = icmp eq i32 %7640, -1
  br i1 %7641, label %7691, label %7713

7642:                                             ; preds = %7629, %7620, %7611, %7602, %7593, %7588
  %7643 = load i32, ptr %228, align 4, !tbaa !5
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = call i32 @s2n_print_stacktrace(ptr noundef %7644) #12
  %7646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7647 = trunc nuw i8 %7646 to i1
  br i1 %7647, label %7648, label %7652

7648:                                             ; preds = %7642
  %7649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7650 = call i32 @fileno(ptr noundef %7649) #12
  %7651 = call i32 @isatty(i32 noundef %7650) #12
  %.not2122 = icmp eq i32 %7651, 0
  br i1 %.not2122, label %7652, label %7653

7652:                                             ; preds = %7648, %7642
  br label %7653

7653:                                             ; preds = %7648, %7652
  %.str.5.sink4764 = phi ptr [ @.str.5, %7652 ], [ @.str.2, %7648 ]
  store i32 %7643, ptr %228, align 4, !tbaa !5
  %7654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7655 = load i32, ptr @test_count, align 4, !tbaa !5
  %7656 = load i32, ptr %174, align 4, !tbaa !5
  %7657 = call ptr @s2n_strerror(i32 noundef %7656, ptr noundef nonnull @.str.4) #12
  %7658 = load i32, ptr %174, align 4, !tbaa !5
  %7659 = call ptr @s2n_strerror_debug(i32 noundef %7658, ptr noundef nonnull @.str.4) #12
  %7660 = load i32, ptr %228, align 4, !tbaa !5
  %7661 = call ptr @strerror(i32 noundef %7660) #12
  %7662 = load i32, ptr %228, align 4, !tbaa !5
  %7663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7654, ptr noundef nonnull %.str.5.sink4764, i32 noundef %7655, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 842, ptr noundef %7657, ptr noundef %7659, ptr noundef %7661, i32 noundef %7662) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7664:                                             ; preds = %7588
  %7665 = load i32, ptr @test_count, align 4, !tbaa !5
  %7666 = add nsw i32 %7665, 1
  store i32 %7666, ptr @test_count, align 4, !tbaa !5
  %7667 = load i32, ptr %35, align 4, !tbaa !5
  %7668 = icmp eq i32 %7667, 0
  br i1 %7668, label %7593, label %7669

7669:                                             ; preds = %7633, %7624, %7615, %7606, %7597, %7664
  %7670 = load i32, ptr %228, align 4, !tbaa !5
  %7671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7672 = call i32 @s2n_print_stacktrace(ptr noundef %7671) #12
  %7673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7674 = trunc nuw i8 %7673 to i1
  br i1 %7674, label %7675, label %7679

7675:                                             ; preds = %7669
  %7676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7677 = call i32 @fileno(ptr noundef %7676) #12
  %7678 = call i32 @isatty(i32 noundef %7677) #12
  %.not2121 = icmp eq i32 %7678, 0
  br i1 %.not2121, label %7679, label %7680

7679:                                             ; preds = %7675, %7669
  br label %7680

7680:                                             ; preds = %7675, %7679
  %.str.5.sink4773 = phi ptr [ @.str.5, %7679 ], [ @.str.2, %7675 ]
  store i32 %7670, ptr %228, align 4, !tbaa !5
  %7681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7682 = load i32, ptr @test_count, align 4, !tbaa !5
  %7683 = load i32, ptr %174, align 4, !tbaa !5
  %7684 = call ptr @s2n_strerror(i32 noundef %7683, ptr noundef nonnull @.str.4) #12
  %7685 = load i32, ptr %174, align 4, !tbaa !5
  %7686 = call ptr @s2n_strerror_debug(i32 noundef %7685, ptr noundef nonnull @.str.4) #12
  %7687 = load i32, ptr %228, align 4, !tbaa !5
  %7688 = call ptr @strerror(i32 noundef %7687) #12
  %7689 = load i32, ptr %228, align 4, !tbaa !5
  %7690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7681, ptr noundef nonnull %.str.5.sink4773, i32 noundef %7682, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 843, ptr noundef %7684, ptr noundef %7686, ptr noundef %7688, i32 noundef %7689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7691:                                             ; preds = %7638
  %7692 = load i32, ptr %228, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = call i32 @s2n_print_stacktrace(ptr noundef %7693) #12
  %7695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7696 = trunc nuw i8 %7695 to i1
  br i1 %7696, label %7697, label %7701

7697:                                             ; preds = %7691
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = call i32 @fileno(ptr noundef %7698) #12
  %7700 = call i32 @isatty(i32 noundef %7699) #12
  %.not2120 = icmp eq i32 %7700, 0
  br i1 %.not2120, label %7701, label %7702

7701:                                             ; preds = %7697, %7691
  br label %7702

7702:                                             ; preds = %7697, %7701
  %.str.5.sink4782 = phi ptr [ @.str.5, %7701 ], [ @.str.2, %7697 ]
  store i32 %7692, ptr %228, align 4, !tbaa !5
  %7703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7704 = load i32, ptr @test_count, align 4, !tbaa !5
  %7705 = load i32, ptr %174, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror(i32 noundef %7705, ptr noundef nonnull @.str.4) #12
  %7707 = load i32, ptr %174, align 4, !tbaa !5
  %7708 = call ptr @s2n_strerror_debug(i32 noundef %7707, ptr noundef nonnull @.str.4) #12
  %7709 = load i32, ptr %228, align 4, !tbaa !5
  %7710 = call ptr @strerror(i32 noundef %7709) #12
  %7711 = load i32, ptr %228, align 4, !tbaa !5
  %7712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7703, ptr noundef nonnull %.str.5.sink4782, i32 noundef %7704, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 846, ptr noundef %7706, ptr noundef %7708, ptr noundef %7710, i32 noundef %7711) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7713:                                             ; preds = %7638
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #12
  %7714 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %7715 = load i32, ptr @test_count, align 4, !tbaa !5
  %7716 = add nsw i32 %7715, 1
  store i32 %7716, ptr @test_count, align 4, !tbaa !5
  %7717 = icmp eq ptr %7714, null
  br i1 %7717, label %7718, label %7740

7718:                                             ; preds = %7713
  %7719 = load i32, ptr %228, align 4, !tbaa !5
  %7720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7721 = call i32 @s2n_print_stacktrace(ptr noundef %7720) #12
  %7722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7723 = trunc nuw i8 %7722 to i1
  br i1 %7723, label %7724, label %7728

7724:                                             ; preds = %7718
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = call i32 @fileno(ptr noundef %7725) #12
  %7727 = call i32 @isatty(i32 noundef %7726) #12
  %.not2119 = icmp eq i32 %7727, 0
  br i1 %.not2119, label %7728, label %7729

7728:                                             ; preds = %7724, %7718
  br label %7729

7729:                                             ; preds = %7724, %7728
  %.str.5.sink4791 = phi ptr [ @.str.5, %7728 ], [ @.str.2, %7724 ]
  store i32 %7719, ptr %228, align 4, !tbaa !5
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = load i32, ptr @test_count, align 4, !tbaa !5
  %7732 = load i32, ptr %174, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror(i32 noundef %7732, ptr noundef nonnull @.str.4) #12
  %7734 = load i32, ptr %174, align 4, !tbaa !5
  %7735 = call ptr @s2n_strerror_debug(i32 noundef %7734, ptr noundef nonnull @.str.4) #12
  %7736 = load i32, ptr %228, align 4, !tbaa !5
  %7737 = call ptr @strerror(i32 noundef %7736) #12
  %7738 = load i32, ptr %228, align 4, !tbaa !5
  %7739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7730, ptr noundef nonnull %.str.5.sink4791, i32 noundef %7731, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 852, ptr noundef %7733, ptr noundef %7735, ptr noundef %7737, i32 noundef %7738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7740:                                             ; preds = %7713
  %7741 = add nsw i32 %7715, 2
  store i32 %7741, ptr @test_count, align 4, !tbaa !5
  %7742 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %7714, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %7743 = call zeroext i1 @s2n_result_is_ok(i32 %7742)
  br i1 %7743, label %7766, label %7744

7744:                                             ; preds = %7740
  %7745 = load i32, ptr %228, align 4, !tbaa !5
  %7746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7747 = call i32 @s2n_print_stacktrace(ptr noundef %7746) #12
  %7748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7749 = trunc nuw i8 %7748 to i1
  br i1 %7749, label %7750, label %7754

7750:                                             ; preds = %7744
  %7751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7752 = call i32 @fileno(ptr noundef %7751) #12
  %7753 = call i32 @isatty(i32 noundef %7752) #12
  %.not1828 = icmp eq i32 %7753, 0
  br i1 %.not1828, label %7754, label %7755

7754:                                             ; preds = %7750, %7744
  br label %7755

7755:                                             ; preds = %7750, %7754
  %.str.5.sink4800 = phi ptr [ @.str.5, %7754 ], [ @.str.2, %7750 ]
  store i32 %7745, ptr %228, align 4, !tbaa !5
  %7756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7757 = load i32, ptr @test_count, align 4, !tbaa !5
  %7758 = load i32, ptr %174, align 4, !tbaa !5
  %7759 = call ptr @s2n_strerror(i32 noundef %7758, ptr noundef nonnull @.str.4) #12
  %7760 = load i32, ptr %174, align 4, !tbaa !5
  %7761 = call ptr @s2n_strerror_debug(i32 noundef %7760, ptr noundef nonnull @.str.4) #12
  %7762 = load i32, ptr %228, align 4, !tbaa !5
  %7763 = call ptr @strerror(i32 noundef %7762) #12
  %7764 = load i32, ptr %228, align 4, !tbaa !5
  %7765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7756, ptr noundef nonnull %.str.5.sink4800, i32 noundef %7757, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 853, ptr noundef %7759, ptr noundef %7761, ptr noundef %7763, i32 noundef %7764) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7766:                                             ; preds = %7740
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #12
  store i32 0, ptr %36, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  %7767 = getelementptr inbounds i8, ptr %7714, i64 4088
  store i32 0, ptr %7767, align 8, !tbaa !15
  %7768 = load i32, ptr @test_count, align 4, !tbaa !5
  %7769 = add nsw i32 %7768, 1
  store i32 %7769, ptr @test_count, align 4, !tbaa !5
  %7770 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %7714, ptr noundef nonnull %36) #12
  %7771 = icmp eq i32 %7770, -1
  br i1 %7771, label %7772, label %7794

7772:                                             ; preds = %7951, %7932, %7913, %7894, %7875, %7766
  %7773 = load i32, ptr %228, align 4, !tbaa !5
  %7774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7775 = call i32 @s2n_print_stacktrace(ptr noundef %7774) #12
  %7776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7777 = trunc nuw i8 %7776 to i1
  br i1 %7777, label %7778, label %7782

7778:                                             ; preds = %7772
  %7779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7780 = call i32 @fileno(ptr noundef %7779) #12
  %7781 = call i32 @isatty(i32 noundef %7780) #12
  %.not2118 = icmp eq i32 %7781, 0
  br i1 %.not2118, label %7782, label %7783

7782:                                             ; preds = %7778, %7772
  br label %7783

7783:                                             ; preds = %7778, %7782
  %.str.5.sink4809 = phi ptr [ @.str.5, %7782 ], [ @.str.2, %7778 ]
  store i32 %7773, ptr %228, align 4, !tbaa !5
  %7784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7785 = load i32, ptr @test_count, align 4, !tbaa !5
  %7786 = load i32, ptr %174, align 4, !tbaa !5
  %7787 = call ptr @s2n_strerror(i32 noundef %7786, ptr noundef nonnull @.str.4) #12
  %7788 = load i32, ptr %174, align 4, !tbaa !5
  %7789 = call ptr @s2n_strerror_debug(i32 noundef %7788, ptr noundef nonnull @.str.4) #12
  %7790 = load i32, ptr %228, align 4, !tbaa !5
  %7791 = call ptr @strerror(i32 noundef %7790) #12
  %7792 = load i32, ptr %228, align 4, !tbaa !5
  %7793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7784, ptr noundef nonnull %.str.5.sink4809, i32 noundef %7785, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 860, ptr noundef %7787, ptr noundef %7789, ptr noundef %7791, i32 noundef %7792) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7794:                                             ; preds = %7766
  %7795 = load i32, ptr @test_count, align 4, !tbaa !5
  %7796 = add nsw i32 %7795, 1
  store i32 %7796, ptr @test_count, align 4, !tbaa !5
  %7797 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7714, ptr noundef nonnull %37) #12
  %7798 = icmp eq i32 %7797, -1
  br i1 %7798, label %7799, label %7821

7799:                                             ; preds = %7955, %7936, %7917, %7898, %7879, %7794
  %7800 = load i32, ptr %228, align 4, !tbaa !5
  %7801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7802 = call i32 @s2n_print_stacktrace(ptr noundef %7801) #12
  %7803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7804 = trunc nuw i8 %7803 to i1
  br i1 %7804, label %7805, label %7809

7805:                                             ; preds = %7799
  %7806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7807 = call i32 @fileno(ptr noundef %7806) #12
  %7808 = call i32 @isatty(i32 noundef %7807) #12
  %.not2117 = icmp eq i32 %7808, 0
  br i1 %.not2117, label %7809, label %7810

7809:                                             ; preds = %7805, %7799
  br label %7810

7810:                                             ; preds = %7805, %7809
  %.str.5.sink4818 = phi ptr [ @.str.5, %7809 ], [ @.str.2, %7805 ]
  store i32 %7800, ptr %228, align 4, !tbaa !5
  %7811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7812 = load i32, ptr @test_count, align 4, !tbaa !5
  %7813 = load i32, ptr %174, align 4, !tbaa !5
  %7814 = call ptr @s2n_strerror(i32 noundef %7813, ptr noundef nonnull @.str.4) #12
  %7815 = load i32, ptr %174, align 4, !tbaa !5
  %7816 = call ptr @s2n_strerror_debug(i32 noundef %7815, ptr noundef nonnull @.str.4) #12
  %7817 = load i32, ptr %228, align 4, !tbaa !5
  %7818 = call ptr @strerror(i32 noundef %7817) #12
  %7819 = load i32, ptr %228, align 4, !tbaa !5
  %7820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7811, ptr noundef nonnull %.str.5.sink4818, i32 noundef %7812, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 861, ptr noundef %7814, ptr noundef %7816, ptr noundef %7818, i32 noundef %7819) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7821:                                             ; preds = %7794
  %7822 = load i32, ptr %36, align 4, !tbaa !5
  %7823 = icmp eq i32 %7822, 0
  %7824 = load i32, ptr @test_count, align 4, !tbaa !5
  %7825 = add nsw i32 %7824, 1
  store i32 %7825, ptr @test_count, align 4, !tbaa !5
  %7826 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %7823, label %7827, label %7851

7827:                                             ; preds = %7821
  %7828 = icmp eq i32 %7826, 10
  br i1 %7828, label %7875, label %7829

7829:                                             ; preds = %7968, %7949, %7930, %7911, %7892, %7827
  %7830 = load i32, ptr %228, align 4, !tbaa !5
  %7831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7832 = call i32 @s2n_print_stacktrace(ptr noundef %7831) #12
  %7833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7834 = trunc nuw i8 %7833 to i1
  br i1 %7834, label %7835, label %7839

7835:                                             ; preds = %7829
  %7836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7837 = call i32 @fileno(ptr noundef %7836) #12
  %7838 = call i32 @isatty(i32 noundef %7837) #12
  %.not2116 = icmp eq i32 %7838, 0
  br i1 %.not2116, label %7839, label %7840

7839:                                             ; preds = %7835, %7829
  br label %7840

7840:                                             ; preds = %7835, %7839
  %.str.5.sink4827 = phi ptr [ @.str.5, %7839 ], [ @.str.2, %7835 ]
  store i32 %7830, ptr %228, align 4, !tbaa !5
  %7841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7842 = load i32, ptr @test_count, align 4, !tbaa !5
  %7843 = load i32, ptr %174, align 4, !tbaa !5
  %7844 = call ptr @s2n_strerror(i32 noundef %7843, ptr noundef nonnull @.str.4) #12
  %7845 = load i32, ptr %174, align 4, !tbaa !5
  %7846 = call ptr @s2n_strerror_debug(i32 noundef %7845, ptr noundef nonnull @.str.4) #12
  %7847 = load i32, ptr %228, align 4, !tbaa !5
  %7848 = call ptr @strerror(i32 noundef %7847) #12
  %7849 = load i32, ptr %228, align 4, !tbaa !5
  %7850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7841, ptr noundef nonnull %.str.5.sink4827, i32 noundef %7842, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 864, ptr noundef %7844, ptr noundef %7846, ptr noundef %7848, i32 noundef %7849) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7851:                                             ; preds = %7821
  %7852 = icmp eq i32 %7826, 0
  br i1 %7852, label %7875, label %7853

7853:                                             ; preds = %7966, %7947, %7928, %7909, %7890, %7851
  %7854 = load i32, ptr %228, align 4, !tbaa !5
  %7855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7856 = call i32 @s2n_print_stacktrace(ptr noundef %7855) #12
  %7857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7858 = trunc nuw i8 %7857 to i1
  br i1 %7858, label %7859, label %7863

7859:                                             ; preds = %7853
  %7860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7861 = call i32 @fileno(ptr noundef %7860) #12
  %7862 = call i32 @isatty(i32 noundef %7861) #12
  %.not2115 = icmp eq i32 %7862, 0
  br i1 %.not2115, label %7863, label %7864

7863:                                             ; preds = %7859, %7853
  br label %7864

7864:                                             ; preds = %7859, %7863
  %.str.5.sink4836 = phi ptr [ @.str.5, %7863 ], [ @.str.2, %7859 ]
  store i32 %7854, ptr %228, align 4, !tbaa !5
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = load i32, ptr @test_count, align 4, !tbaa !5
  %7867 = load i32, ptr %174, align 4, !tbaa !5
  %7868 = call ptr @s2n_strerror(i32 noundef %7867, ptr noundef nonnull @.str.4) #12
  %7869 = load i32, ptr %174, align 4, !tbaa !5
  %7870 = call ptr @s2n_strerror_debug(i32 noundef %7869, ptr noundef nonnull @.str.4) #12
  %7871 = load i32, ptr %228, align 4, !tbaa !5
  %7872 = call ptr @strerror(i32 noundef %7871) #12
  %7873 = load i32, ptr %228, align 4, !tbaa !5
  %7874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7865, ptr noundef nonnull %.str.5.sink4836, i32 noundef %7866, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 866, ptr noundef %7868, ptr noundef %7870, ptr noundef %7872, i32 noundef %7873) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7875:                                             ; preds = %7827, %7851
  store i32 1, ptr %7767, align 8, !tbaa !15
  %7876 = add nsw i32 %7824, 2
  store i32 %7876, ptr @test_count, align 4, !tbaa !5
  %7877 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %7714, ptr noundef nonnull %36) #12
  %7878 = icmp eq i32 %7877, -1
  br i1 %7878, label %7772, label %7879

7879:                                             ; preds = %7875
  %7880 = load i32, ptr @test_count, align 4, !tbaa !5
  %7881 = add nsw i32 %7880, 1
  store i32 %7881, ptr @test_count, align 4, !tbaa !5
  %7882 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7714, ptr noundef nonnull %37) #12
  %7883 = icmp eq i32 %7882, -1
  br i1 %7883, label %7799, label %7884

7884:                                             ; preds = %7879
  %7885 = load i32, ptr %36, align 4, !tbaa !5
  %7886 = icmp eq i32 %7885, 0
  %7887 = load i32, ptr @test_count, align 4, !tbaa !5
  %7888 = add nsw i32 %7887, 1
  store i32 %7888, ptr @test_count, align 4, !tbaa !5
  %7889 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %7886, label %7892, label %7890

7890:                                             ; preds = %7884
  %7891 = icmp eq i32 %7889, 0
  br i1 %7891, label %7894, label %7853

7892:                                             ; preds = %7884
  %7893 = icmp eq i32 %7889, 10
  br i1 %7893, label %7894, label %7829

7894:                                             ; preds = %7892, %7890
  store i32 2, ptr %7767, align 8, !tbaa !15
  %7895 = add nsw i32 %7887, 2
  store i32 %7895, ptr @test_count, align 4, !tbaa !5
  %7896 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %7714, ptr noundef nonnull %36) #12
  %7897 = icmp eq i32 %7896, -1
  br i1 %7897, label %7772, label %7898

7898:                                             ; preds = %7894
  %7899 = load i32, ptr @test_count, align 4, !tbaa !5
  %7900 = add nsw i32 %7899, 1
  store i32 %7900, ptr @test_count, align 4, !tbaa !5
  %7901 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7714, ptr noundef nonnull %37) #12
  %7902 = icmp eq i32 %7901, -1
  br i1 %7902, label %7799, label %7903

7903:                                             ; preds = %7898
  %7904 = load i32, ptr %36, align 4, !tbaa !5
  %7905 = icmp eq i32 %7904, 0
  %7906 = load i32, ptr @test_count, align 4, !tbaa !5
  %7907 = add nsw i32 %7906, 1
  store i32 %7907, ptr @test_count, align 4, !tbaa !5
  %7908 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %7905, label %7911, label %7909

7909:                                             ; preds = %7903
  %7910 = icmp eq i32 %7908, 0
  br i1 %7910, label %7913, label %7853

7911:                                             ; preds = %7903
  %7912 = icmp eq i32 %7908, 10
  br i1 %7912, label %7913, label %7829

7913:                                             ; preds = %7911, %7909
  store i32 3, ptr %7767, align 8, !tbaa !15
  %7914 = add nsw i32 %7906, 2
  store i32 %7914, ptr @test_count, align 4, !tbaa !5
  %7915 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %7714, ptr noundef nonnull %36) #12
  %7916 = icmp eq i32 %7915, -1
  br i1 %7916, label %7772, label %7917

7917:                                             ; preds = %7913
  %7918 = load i32, ptr @test_count, align 4, !tbaa !5
  %7919 = add nsw i32 %7918, 1
  store i32 %7919, ptr @test_count, align 4, !tbaa !5
  %7920 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7714, ptr noundef nonnull %37) #12
  %7921 = icmp eq i32 %7920, -1
  br i1 %7921, label %7799, label %7922

7922:                                             ; preds = %7917
  %7923 = load i32, ptr %36, align 4, !tbaa !5
  %7924 = icmp eq i32 %7923, 0
  %7925 = load i32, ptr @test_count, align 4, !tbaa !5
  %7926 = add nsw i32 %7925, 1
  store i32 %7926, ptr @test_count, align 4, !tbaa !5
  %7927 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %7924, label %7930, label %7928

7928:                                             ; preds = %7922
  %7929 = icmp eq i32 %7927, 0
  br i1 %7929, label %7932, label %7853

7930:                                             ; preds = %7922
  %7931 = icmp eq i32 %7927, 10
  br i1 %7931, label %7932, label %7829

7932:                                             ; preds = %7930, %7928
  store i32 4, ptr %7767, align 8, !tbaa !15
  %7933 = add nsw i32 %7925, 2
  store i32 %7933, ptr @test_count, align 4, !tbaa !5
  %7934 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %7714, ptr noundef nonnull %36) #12
  %7935 = icmp eq i32 %7934, -1
  br i1 %7935, label %7772, label %7936

7936:                                             ; preds = %7932
  %7937 = load i32, ptr @test_count, align 4, !tbaa !5
  %7938 = add nsw i32 %7937, 1
  store i32 %7938, ptr @test_count, align 4, !tbaa !5
  %7939 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7714, ptr noundef nonnull %37) #12
  %7940 = icmp eq i32 %7939, -1
  br i1 %7940, label %7799, label %7941

7941:                                             ; preds = %7936
  %7942 = load i32, ptr %36, align 4, !tbaa !5
  %7943 = icmp eq i32 %7942, 0
  %7944 = load i32, ptr @test_count, align 4, !tbaa !5
  %7945 = add nsw i32 %7944, 1
  store i32 %7945, ptr @test_count, align 4, !tbaa !5
  %7946 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %7943, label %7949, label %7947

7947:                                             ; preds = %7941
  %7948 = icmp eq i32 %7946, 0
  br i1 %7948, label %7951, label %7853

7949:                                             ; preds = %7941
  %7950 = icmp eq i32 %7946, 10
  br i1 %7950, label %7951, label %7829

7951:                                             ; preds = %7949, %7947
  store i32 5, ptr %7767, align 8, !tbaa !15
  %7952 = add nsw i32 %7944, 2
  store i32 %7952, ptr @test_count, align 4, !tbaa !5
  %7953 = call i32 @s2n_connection_get_early_data_status(ptr noundef nonnull %7714, ptr noundef nonnull %36) #12
  %7954 = icmp eq i32 %7953, -1
  br i1 %7954, label %7772, label %7955

7955:                                             ; preds = %7951
  %7956 = load i32, ptr @test_count, align 4, !tbaa !5
  %7957 = add nsw i32 %7956, 1
  store i32 %7957, ptr @test_count, align 4, !tbaa !5
  %7958 = call i32 @s2n_connection_get_remaining_early_data_size(ptr noundef nonnull %7714, ptr noundef nonnull %37) #12
  %7959 = icmp eq i32 %7958, -1
  br i1 %7959, label %7799, label %7960

7960:                                             ; preds = %7955
  %7961 = load i32, ptr %36, align 4, !tbaa !5
  %7962 = icmp eq i32 %7961, 0
  %7963 = load i32, ptr @test_count, align 4, !tbaa !5
  %7964 = add nsw i32 %7963, 1
  store i32 %7964, ptr @test_count, align 4, !tbaa !5
  %7965 = load i32, ptr %37, align 4, !tbaa !5
  br i1 %7962, label %7968, label %7966

7966:                                             ; preds = %7960
  %7967 = icmp eq i32 %7965, 0
  br i1 %7967, label %7970, label %7853

7968:                                             ; preds = %7960
  %7969 = icmp eq i32 %7965, 10
  br i1 %7969, label %7970, label %7829

7970:                                             ; preds = %7968, %7966
  %7971 = add nsw i32 %7963, 2
  store i32 %7971, ptr @test_count, align 4, !tbaa !5
  %7972 = call i32 @s2n_connection_free(ptr noundef nonnull %7714) #12
  %7973 = icmp eq i32 %7972, -1
  br i1 %7973, label %7974, label %7996

7974:                                             ; preds = %7970
  %7975 = load i32, ptr %228, align 4, !tbaa !5
  %7976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7977 = call i32 @s2n_print_stacktrace(ptr noundef %7976) #12
  %7978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7979 = trunc nuw i8 %7978 to i1
  br i1 %7979, label %7980, label %7984

7980:                                             ; preds = %7974
  %7981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7982 = call i32 @fileno(ptr noundef %7981) #12
  %7983 = call i32 @isatty(i32 noundef %7982) #12
  %.not2114 = icmp eq i32 %7983, 0
  br i1 %.not2114, label %7984, label %7985

7984:                                             ; preds = %7980, %7974
  br label %7985

7985:                                             ; preds = %7980, %7984
  %.str.5.sink4845 = phi ptr [ @.str.5, %7984 ], [ @.str.2, %7980 ]
  store i32 %7975, ptr %228, align 4, !tbaa !5
  %7986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7987 = load i32, ptr @test_count, align 4, !tbaa !5
  %7988 = load i32, ptr %174, align 4, !tbaa !5
  %7989 = call ptr @s2n_strerror(i32 noundef %7988, ptr noundef nonnull @.str.4) #12
  %7990 = load i32, ptr %174, align 4, !tbaa !5
  %7991 = call ptr @s2n_strerror_debug(i32 noundef %7990, ptr noundef nonnull @.str.4) #12
  %7992 = load i32, ptr %228, align 4, !tbaa !5
  %7993 = call ptr @strerror(i32 noundef %7992) #12
  %7994 = load i32, ptr %228, align 4, !tbaa !5
  %7995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7986, ptr noundef nonnull %.str.5.sink4845, i32 noundef %7987, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 870, ptr noundef %7989, ptr noundef %7991, ptr noundef %7993, i32 noundef %7994) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7996:                                             ; preds = %7970
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %38, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #12
  store i32 0, ptr %39, align 4, !tbaa !5
  %7997 = load i32, ptr @test_count, align 4, !tbaa !5
  %7998 = add nsw i32 %7997, 1
  store i32 %7998, ptr @test_count, align 4, !tbaa !5
  %7999 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %38, ptr noundef null) #12
  %8000 = icmp eq i32 %7999, -1
  br i1 %8000, label %8023, label %8001

8001:                                             ; preds = %7996
  %8002 = load i32, ptr %228, align 4, !tbaa !5
  %8003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8004 = call i32 @s2n_print_stacktrace(ptr noundef %8003) #12
  %8005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8006 = trunc nuw i8 %8005 to i1
  br i1 %8006, label %8007, label %8011

8007:                                             ; preds = %8001
  %8008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8009 = call i32 @fileno(ptr noundef %8008) #12
  %8010 = call i32 @isatty(i32 noundef %8009) #12
  %.not1829 = icmp eq i32 %8010, 0
  br i1 %.not1829, label %8011, label %8012

8011:                                             ; preds = %8007, %8001
  br label %8012

8012:                                             ; preds = %8007, %8011
  %.str.5.sink4854 = phi ptr [ @.str.5, %8011 ], [ @.str.2, %8007 ]
  store i32 %8002, ptr %228, align 4, !tbaa !5
  %8013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8014 = load i32, ptr @test_count, align 4, !tbaa !5
  %8015 = load i32, ptr %174, align 4, !tbaa !5
  %8016 = call ptr @s2n_strerror(i32 noundef %8015, ptr noundef nonnull @.str.4) #12
  %8017 = load i32, ptr %174, align 4, !tbaa !5
  %8018 = call ptr @s2n_strerror_debug(i32 noundef %8017, ptr noundef nonnull @.str.4) #12
  %8019 = load i32, ptr %228, align 4, !tbaa !5
  %8020 = call ptr @strerror(i32 noundef %8019) #12
  %8021 = load i32, ptr %228, align 4, !tbaa !5
  %8022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8013, ptr noundef nonnull %.str.5.sink4854, i32 noundef %8014, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 880, ptr noundef %8016, ptr noundef %8018, ptr noundef %8020, i32 noundef %8021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8023:                                             ; preds = %7996
  %8024 = load i32, ptr @test_count, align 4, !tbaa !5
  %8025 = add nsw i32 %8024, 1
  store i32 %8025, ptr @test_count, align 4, !tbaa !5
  %8026 = load i32, ptr %174, align 4, !tbaa !5
  %8027 = icmp eq i32 %8026, 402653193
  br i1 %8027, label %8050, label %8028

8028:                                             ; preds = %8023
  %8029 = load i32, ptr %228, align 4, !tbaa !5
  %8030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8031 = call i32 @s2n_print_stacktrace(ptr noundef %8030) #12
  %8032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8033 = trunc nuw i8 %8032 to i1
  br i1 %8033, label %8034, label %8038

8034:                                             ; preds = %8028
  %8035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8036 = call i32 @fileno(ptr noundef %8035) #12
  %8037 = call i32 @isatty(i32 noundef %8036) #12
  %.not1830 = icmp eq i32 %8037, 0
  br i1 %.not1830, label %8038, label %8039

8038:                                             ; preds = %8034, %8028
  br label %8039

8039:                                             ; preds = %8034, %8038
  %.str.5.sink4863 = phi ptr [ @.str.5, %8038 ], [ @.str.2, %8034 ]
  store i32 %8029, ptr %228, align 4, !tbaa !5
  %8040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8041 = load i32, ptr @test_count, align 4, !tbaa !5
  %8042 = load i32, ptr %174, align 4, !tbaa !5
  %8043 = call ptr @s2n_strerror(i32 noundef %8042, ptr noundef nonnull @.str.4) #12
  %8044 = load i32, ptr %174, align 4, !tbaa !5
  %8045 = call ptr @s2n_strerror_debug(i32 noundef %8044, ptr noundef nonnull @.str.4) #12
  %8046 = load i32, ptr %228, align 4, !tbaa !5
  %8047 = call ptr @strerror(i32 noundef %8046) #12
  %8048 = load i32, ptr %228, align 4, !tbaa !5
  %8049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8040, ptr noundef nonnull %.str.5.sink4863, i32 noundef %8041, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 880, ptr noundef %8043, ptr noundef %8045, ptr noundef %8047, i32 noundef %8048) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8050:                                             ; preds = %8023
  %8051 = add nsw i32 %8024, 2
  store i32 %8051, ptr @test_count, align 4, !tbaa !5
  %8052 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %8053 = icmp eq ptr %8052, null
  br i1 %8053, label %8054, label %8076

8054:                                             ; preds = %8050
  %8055 = load i32, ptr %228, align 4, !tbaa !5
  %8056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8057 = call i32 @s2n_print_stacktrace(ptr noundef %8056) #12
  %8058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8059 = trunc nuw i8 %8058 to i1
  br i1 %8059, label %8060, label %8064

8060:                                             ; preds = %8054
  %8061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8062 = call i32 @fileno(ptr noundef %8061) #12
  %8063 = call i32 @isatty(i32 noundef %8062) #12
  %.not2113 = icmp eq i32 %8063, 0
  br i1 %.not2113, label %8064, label %8065

8064:                                             ; preds = %8060, %8054
  br label %8065

8065:                                             ; preds = %8060, %8064
  %.str.5.sink4872 = phi ptr [ @.str.5, %8064 ], [ @.str.2, %8060 ]
  store i32 %8055, ptr %228, align 4, !tbaa !5
  %8066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8067 = load i32, ptr @test_count, align 4, !tbaa !5
  %8068 = load i32, ptr %174, align 4, !tbaa !5
  %8069 = call ptr @s2n_strerror(i32 noundef %8068, ptr noundef nonnull @.str.4) #12
  %8070 = load i32, ptr %174, align 4, !tbaa !5
  %8071 = call ptr @s2n_strerror_debug(i32 noundef %8070, ptr noundef nonnull @.str.4) #12
  %8072 = load i32, ptr %228, align 4, !tbaa !5
  %8073 = call ptr @strerror(i32 noundef %8072) #12
  %8074 = load i32, ptr %228, align 4, !tbaa !5
  %8075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8066, ptr noundef nonnull %.str.5.sink4872, i32 noundef %8067, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 880, ptr noundef %8069, ptr noundef %8071, ptr noundef %8073, i32 noundef %8074) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8076:                                             ; preds = %8050
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %8077 = load i32, ptr @test_count, align 4, !tbaa !5
  %8078 = add nsw i32 %8077, 1
  store i32 %8078, ptr @test_count, align 4, !tbaa !5
  %8079 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef null, ptr noundef nonnull %39) #12
  %8080 = icmp eq i32 %8079, -1
  br i1 %8080, label %8103, label %8081

8081:                                             ; preds = %8076
  %8082 = load i32, ptr %228, align 4, !tbaa !5
  %8083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8084 = call i32 @s2n_print_stacktrace(ptr noundef %8083) #12
  %8085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8086 = trunc nuw i8 %8085 to i1
  br i1 %8086, label %8087, label %8091

8087:                                             ; preds = %8081
  %8088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8089 = call i32 @fileno(ptr noundef %8088) #12
  %8090 = call i32 @isatty(i32 noundef %8089) #12
  %.not1831 = icmp eq i32 %8090, 0
  br i1 %.not1831, label %8091, label %8092

8091:                                             ; preds = %8087, %8081
  br label %8092

8092:                                             ; preds = %8087, %8091
  %.str.5.sink4881 = phi ptr [ @.str.5, %8091 ], [ @.str.2, %8087 ]
  store i32 %8082, ptr %228, align 4, !tbaa !5
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = load i32, ptr @test_count, align 4, !tbaa !5
  %8095 = load i32, ptr %174, align 4, !tbaa !5
  %8096 = call ptr @s2n_strerror(i32 noundef %8095, ptr noundef nonnull @.str.4) #12
  %8097 = load i32, ptr %174, align 4, !tbaa !5
  %8098 = call ptr @s2n_strerror_debug(i32 noundef %8097, ptr noundef nonnull @.str.4) #12
  %8099 = load i32, ptr %228, align 4, !tbaa !5
  %8100 = call ptr @strerror(i32 noundef %8099) #12
  %8101 = load i32, ptr %228, align 4, !tbaa !5
  %8102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8093, ptr noundef nonnull %.str.5.sink4881, i32 noundef %8094, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 881, ptr noundef %8096, ptr noundef %8098, ptr noundef %8100, i32 noundef %8101) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8103:                                             ; preds = %8076
  %8104 = load i32, ptr @test_count, align 4, !tbaa !5
  %8105 = add nsw i32 %8104, 1
  store i32 %8105, ptr @test_count, align 4, !tbaa !5
  %8106 = load i32, ptr %174, align 4, !tbaa !5
  %8107 = icmp eq i32 %8106, 402653193
  br i1 %8107, label %8130, label %8108

8108:                                             ; preds = %8103
  %8109 = load i32, ptr %228, align 4, !tbaa !5
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = call i32 @s2n_print_stacktrace(ptr noundef %8110) #12
  %8112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8113 = trunc nuw i8 %8112 to i1
  br i1 %8113, label %8114, label %8118

8114:                                             ; preds = %8108
  %8115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8116 = call i32 @fileno(ptr noundef %8115) #12
  %8117 = call i32 @isatty(i32 noundef %8116) #12
  %.not1832 = icmp eq i32 %8117, 0
  br i1 %.not1832, label %8118, label %8119

8118:                                             ; preds = %8114, %8108
  br label %8119

8119:                                             ; preds = %8114, %8118
  %.str.5.sink4890 = phi ptr [ @.str.5, %8118 ], [ @.str.2, %8114 ]
  store i32 %8109, ptr %228, align 4, !tbaa !5
  %8120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8121 = load i32, ptr @test_count, align 4, !tbaa !5
  %8122 = load i32, ptr %174, align 4, !tbaa !5
  %8123 = call ptr @s2n_strerror(i32 noundef %8122, ptr noundef nonnull @.str.4) #12
  %8124 = load i32, ptr %174, align 4, !tbaa !5
  %8125 = call ptr @s2n_strerror_debug(i32 noundef %8124, ptr noundef nonnull @.str.4) #12
  %8126 = load i32, ptr %228, align 4, !tbaa !5
  %8127 = call ptr @strerror(i32 noundef %8126) #12
  %8128 = load i32, ptr %228, align 4, !tbaa !5
  %8129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8120, ptr noundef nonnull %.str.5.sink4890, i32 noundef %8121, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 881, ptr noundef %8123, ptr noundef %8125, ptr noundef %8127, i32 noundef %8128) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8130:                                             ; preds = %8103
  %8131 = add nsw i32 %8104, 2
  store i32 %8131, ptr @test_count, align 4, !tbaa !5
  %8132 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %8133 = icmp eq ptr %8132, null
  br i1 %8133, label %8134, label %8156

8134:                                             ; preds = %8130
  %8135 = load i32, ptr %228, align 4, !tbaa !5
  %8136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8137 = call i32 @s2n_print_stacktrace(ptr noundef %8136) #12
  %8138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8139 = trunc nuw i8 %8138 to i1
  br i1 %8139, label %8140, label %8144

8140:                                             ; preds = %8134
  %8141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8142 = call i32 @fileno(ptr noundef %8141) #12
  %8143 = call i32 @isatty(i32 noundef %8142) #12
  %.not2112 = icmp eq i32 %8143, 0
  br i1 %.not2112, label %8144, label %8145

8144:                                             ; preds = %8140, %8134
  br label %8145

8145:                                             ; preds = %8140, %8144
  %.str.5.sink4899 = phi ptr [ @.str.5, %8144 ], [ @.str.2, %8140 ]
  store i32 %8135, ptr %228, align 4, !tbaa !5
  %8146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8147 = load i32, ptr @test_count, align 4, !tbaa !5
  %8148 = load i32, ptr %174, align 4, !tbaa !5
  %8149 = call ptr @s2n_strerror(i32 noundef %8148, ptr noundef nonnull @.str.4) #12
  %8150 = load i32, ptr %174, align 4, !tbaa !5
  %8151 = call ptr @s2n_strerror_debug(i32 noundef %8150, ptr noundef nonnull @.str.4) #12
  %8152 = load i32, ptr %228, align 4, !tbaa !5
  %8153 = call ptr @strerror(i32 noundef %8152) #12
  %8154 = load i32, ptr %228, align 4, !tbaa !5
  %8155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8146, ptr noundef nonnull %.str.5.sink4899, i32 noundef %8147, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 881, ptr noundef %8149, ptr noundef %8151, ptr noundef %8153, i32 noundef %8154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8156:                                             ; preds = %8130
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %8157 = load i32, ptr @test_count, align 4, !tbaa !5
  %8158 = add nsw i32 %8157, 1
  store i32 %8158, ptr @test_count, align 4, !tbaa !5
  %8159 = load i32, ptr %39, align 4, !tbaa !5
  %8160 = icmp eq i32 %8159, 0
  br i1 %8160, label %8183, label %8161

8161:                                             ; preds = %8156
  %8162 = load i32, ptr %228, align 4, !tbaa !5
  %8163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8164 = call i32 @s2n_print_stacktrace(ptr noundef %8163) #12
  %8165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8166 = trunc nuw i8 %8165 to i1
  br i1 %8166, label %8167, label %8171

8167:                                             ; preds = %8161
  %8168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8169 = call i32 @fileno(ptr noundef %8168) #12
  %8170 = call i32 @isatty(i32 noundef %8169) #12
  %.not1833 = icmp eq i32 %8170, 0
  br i1 %.not1833, label %8171, label %8172

8171:                                             ; preds = %8167, %8161
  br label %8172

8172:                                             ; preds = %8167, %8171
  %.str.5.sink4908 = phi ptr [ @.str.5, %8171 ], [ @.str.2, %8167 ]
  store i32 %8162, ptr %228, align 4, !tbaa !5
  %8173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8174 = load i32, ptr @test_count, align 4, !tbaa !5
  %8175 = load i32, ptr %174, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror(i32 noundef %8175, ptr noundef nonnull @.str.4) #12
  %8177 = load i32, ptr %174, align 4, !tbaa !5
  %8178 = call ptr @s2n_strerror_debug(i32 noundef %8177, ptr noundef nonnull @.str.4) #12
  %8179 = load i32, ptr %228, align 4, !tbaa !5
  %8180 = call ptr @strerror(i32 noundef %8179) #12
  %8181 = load i32, ptr %228, align 4, !tbaa !5
  %8182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8173, ptr noundef nonnull %.str.5.sink4908, i32 noundef %8174, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 882, ptr noundef %8176, ptr noundef %8178, ptr noundef %8180, i32 noundef %8181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8183:                                             ; preds = %8156
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %38) #12
  %8184 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %8185 = load i32, ptr @test_count, align 4, !tbaa !5
  %8186 = add nsw i32 %8185, 1
  store i32 %8186, ptr @test_count, align 4, !tbaa !5
  %8187 = icmp eq ptr %8184, null
  br i1 %8187, label %8188, label %8210

8188:                                             ; preds = %8183
  %8189 = load i32, ptr %228, align 4, !tbaa !5
  %8190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8191 = call i32 @s2n_print_stacktrace(ptr noundef %8190) #12
  %8192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8193 = trunc nuw i8 %8192 to i1
  br i1 %8193, label %8194, label %8198

8194:                                             ; preds = %8188
  %8195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8196 = call i32 @fileno(ptr noundef %8195) #12
  %8197 = call i32 @isatty(i32 noundef %8196) #12
  %.not2111 = icmp eq i32 %8197, 0
  br i1 %.not2111, label %8198, label %8199

8198:                                             ; preds = %8194, %8188
  br label %8199

8199:                                             ; preds = %8194, %8198
  %.str.5.sink4917 = phi ptr [ @.str.5, %8198 ], [ @.str.2, %8194 ]
  store i32 %8189, ptr %228, align 4, !tbaa !5
  %8200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8201 = load i32, ptr @test_count, align 4, !tbaa !5
  %8202 = load i32, ptr %174, align 4, !tbaa !5
  %8203 = call ptr @s2n_strerror(i32 noundef %8202, ptr noundef nonnull @.str.4) #12
  %8204 = load i32, ptr %174, align 4, !tbaa !5
  %8205 = call ptr @s2n_strerror_debug(i32 noundef %8204, ptr noundef nonnull @.str.4) #12
  %8206 = load i32, ptr %228, align 4, !tbaa !5
  %8207 = call ptr @strerror(i32 noundef %8206) #12
  %8208 = load i32, ptr %228, align 4, !tbaa !5
  %8209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8200, ptr noundef nonnull %.str.5.sink4917, i32 noundef %8201, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 888, ptr noundef %8203, ptr noundef %8205, ptr noundef %8207, i32 noundef %8208) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8210:                                             ; preds = %8183
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #12
  store i32 10, ptr %40, align 4, !tbaa !5
  %8211 = add nsw i32 %8185, 2
  store i32 %8211, ptr @test_count, align 4, !tbaa !5
  %8212 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8184, ptr noundef nonnull %40) #12
  %8213 = icmp eq i32 %8212, -1
  br i1 %8213, label %8214, label %8236

8214:                                             ; preds = %8210
  %8215 = load i32, ptr %228, align 4, !tbaa !5
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = call i32 @s2n_print_stacktrace(ptr noundef %8216) #12
  %8218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8219 = trunc nuw i8 %8218 to i1
  br i1 %8219, label %8220, label %8224

8220:                                             ; preds = %8214
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @fileno(ptr noundef %8221) #12
  %8223 = call i32 @isatty(i32 noundef %8222) #12
  %.not2110 = icmp eq i32 %8223, 0
  br i1 %.not2110, label %8224, label %8225

8224:                                             ; preds = %8220, %8214
  br label %8225

8225:                                             ; preds = %8220, %8224
  %.str.5.sink4926 = phi ptr [ @.str.5, %8224 ], [ @.str.2, %8220 ]
  store i32 %8215, ptr %228, align 4, !tbaa !5
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = load i32, ptr @test_count, align 4, !tbaa !5
  %8228 = load i32, ptr %174, align 4, !tbaa !5
  %8229 = call ptr @s2n_strerror(i32 noundef %8228, ptr noundef nonnull @.str.4) #12
  %8230 = load i32, ptr %174, align 4, !tbaa !5
  %8231 = call ptr @s2n_strerror_debug(i32 noundef %8230, ptr noundef nonnull @.str.4) #12
  %8232 = load i32, ptr %228, align 4, !tbaa !5
  %8233 = call ptr @strerror(i32 noundef %8232) #12
  %8234 = load i32, ptr %228, align 4, !tbaa !5
  %8235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8226, ptr noundef nonnull %.str.5.sink4926, i32 noundef %8227, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 894, ptr noundef %8229, ptr noundef %8231, ptr noundef %8233, i32 noundef %8234) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8236:                                             ; preds = %8210
  %8237 = load i32, ptr @test_count, align 4, !tbaa !5
  %8238 = add nsw i32 %8237, 1
  store i32 %8238, ptr @test_count, align 4, !tbaa !5
  %8239 = load i32, ptr %40, align 4, !tbaa !5
  %8240 = icmp eq i32 %8239, 0
  br i1 %8240, label %8263, label %8241

8241:                                             ; preds = %8236
  %8242 = load i32, ptr %228, align 4, !tbaa !5
  %8243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8244 = call i32 @s2n_print_stacktrace(ptr noundef %8243) #12
  %8245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8246 = trunc nuw i8 %8245 to i1
  br i1 %8246, label %8247, label %8251

8247:                                             ; preds = %8241
  %8248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8249 = call i32 @fileno(ptr noundef %8248) #12
  %8250 = call i32 @isatty(i32 noundef %8249) #12
  %.not1834 = icmp eq i32 %8250, 0
  br i1 %.not1834, label %8251, label %8252

8251:                                             ; preds = %8247, %8241
  br label %8252

8252:                                             ; preds = %8247, %8251
  %.str.5.sink4935 = phi ptr [ @.str.5, %8251 ], [ @.str.2, %8247 ]
  store i32 %8242, ptr %228, align 4, !tbaa !5
  %8253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8254 = load i32, ptr @test_count, align 4, !tbaa !5
  %8255 = load i32, ptr %174, align 4, !tbaa !5
  %8256 = call ptr @s2n_strerror(i32 noundef %8255, ptr noundef nonnull @.str.4) #12
  %8257 = load i32, ptr %174, align 4, !tbaa !5
  %8258 = call ptr @s2n_strerror_debug(i32 noundef %8257, ptr noundef nonnull @.str.4) #12
  %8259 = load i32, ptr %228, align 4, !tbaa !5
  %8260 = call ptr @strerror(i32 noundef %8259) #12
  %8261 = load i32, ptr %228, align 4, !tbaa !5
  %8262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8253, ptr noundef nonnull %.str.5.sink4935, i32 noundef %8254, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 895, ptr noundef %8256, ptr noundef %8258, ptr noundef %8260, i32 noundef %8261) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8263:                                             ; preds = %8236
  %8264 = add nsw i32 %8237, 2
  store i32 %8264, ptr @test_count, align 4, !tbaa !5
  %8265 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %8184, i32 noundef 0, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %8266 = call zeroext i1 @s2n_result_is_ok(i32 %8265)
  br i1 %8266, label %8289, label %8267

8267:                                             ; preds = %8263
  %8268 = load i32, ptr %228, align 4, !tbaa !5
  %8269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8270 = call i32 @s2n_print_stacktrace(ptr noundef %8269) #12
  %8271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8272 = trunc nuw i8 %8271 to i1
  br i1 %8272, label %8273, label %8277

8273:                                             ; preds = %8267
  %8274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8275 = call i32 @fileno(ptr noundef %8274) #12
  %8276 = call i32 @isatty(i32 noundef %8275) #12
  %.not1835 = icmp eq i32 %8276, 0
  br i1 %.not1835, label %8277, label %8278

8277:                                             ; preds = %8273, %8267
  br label %8278

8278:                                             ; preds = %8273, %8277
  %.str.5.sink4944 = phi ptr [ @.str.5, %8277 ], [ @.str.2, %8273 ]
  store i32 %8268, ptr %228, align 4, !tbaa !5
  %8279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8280 = load i32, ptr @test_count, align 4, !tbaa !5
  %8281 = load i32, ptr %174, align 4, !tbaa !5
  %8282 = call ptr @s2n_strerror(i32 noundef %8281, ptr noundef nonnull @.str.4) #12
  %8283 = load i32, ptr %174, align 4, !tbaa !5
  %8284 = call ptr @s2n_strerror_debug(i32 noundef %8283, ptr noundef nonnull @.str.4) #12
  %8285 = load i32, ptr %228, align 4, !tbaa !5
  %8286 = call ptr @strerror(i32 noundef %8285) #12
  %8287 = load i32, ptr %228, align 4, !tbaa !5
  %8288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8279, ptr noundef nonnull %.str.5.sink4944, i32 noundef %8280, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 898, ptr noundef %8282, ptr noundef %8284, ptr noundef %8286, i32 noundef %8287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8289:                                             ; preds = %8263
  %8290 = load i32, ptr @test_count, align 4, !tbaa !5
  %8291 = add nsw i32 %8290, 1
  store i32 %8291, ptr @test_count, align 4, !tbaa !5
  %8292 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8184, ptr noundef nonnull %40) #12
  %8293 = icmp eq i32 %8292, -1
  br i1 %8293, label %8294, label %8316

8294:                                             ; preds = %8289
  %8295 = load i32, ptr %228, align 4, !tbaa !5
  %8296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8297 = call i32 @s2n_print_stacktrace(ptr noundef %8296) #12
  %8298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8299 = trunc nuw i8 %8298 to i1
  br i1 %8299, label %8300, label %8304

8300:                                             ; preds = %8294
  %8301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8302 = call i32 @fileno(ptr noundef %8301) #12
  %8303 = call i32 @isatty(i32 noundef %8302) #12
  %.not2109 = icmp eq i32 %8303, 0
  br i1 %.not2109, label %8304, label %8305

8304:                                             ; preds = %8300, %8294
  br label %8305

8305:                                             ; preds = %8300, %8304
  %.str.5.sink4953 = phi ptr [ @.str.5, %8304 ], [ @.str.2, %8300 ]
  store i32 %8295, ptr %228, align 4, !tbaa !5
  %8306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8307 = load i32, ptr @test_count, align 4, !tbaa !5
  %8308 = load i32, ptr %174, align 4, !tbaa !5
  %8309 = call ptr @s2n_strerror(i32 noundef %8308, ptr noundef nonnull @.str.4) #12
  %8310 = load i32, ptr %174, align 4, !tbaa !5
  %8311 = call ptr @s2n_strerror_debug(i32 noundef %8310, ptr noundef nonnull @.str.4) #12
  %8312 = load i32, ptr %228, align 4, !tbaa !5
  %8313 = call ptr @strerror(i32 noundef %8312) #12
  %8314 = load i32, ptr %228, align 4, !tbaa !5
  %8315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8306, ptr noundef nonnull %.str.5.sink4953, i32 noundef %8307, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 899, ptr noundef %8309, ptr noundef %8311, ptr noundef %8313, i32 noundef %8314) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8316:                                             ; preds = %8289
  %8317 = load i32, ptr @test_count, align 4, !tbaa !5
  %8318 = add nsw i32 %8317, 1
  store i32 %8318, ptr @test_count, align 4, !tbaa !5
  %8319 = load i32, ptr %40, align 4, !tbaa !5
  %8320 = icmp eq i32 %8319, 0
  br i1 %8320, label %8343, label %8321

8321:                                             ; preds = %8316
  %8322 = load i32, ptr %228, align 4, !tbaa !5
  %8323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8324 = call i32 @s2n_print_stacktrace(ptr noundef %8323) #12
  %8325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8326 = trunc nuw i8 %8325 to i1
  br i1 %8326, label %8327, label %8331

8327:                                             ; preds = %8321
  %8328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8329 = call i32 @fileno(ptr noundef %8328) #12
  %8330 = call i32 @isatty(i32 noundef %8329) #12
  %.not1836 = icmp eq i32 %8330, 0
  br i1 %.not1836, label %8331, label %8332

8331:                                             ; preds = %8327, %8321
  br label %8332

8332:                                             ; preds = %8327, %8331
  %.str.5.sink4962 = phi ptr [ @.str.5, %8331 ], [ @.str.2, %8327 ]
  store i32 %8322, ptr %228, align 4, !tbaa !5
  %8333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8334 = load i32, ptr @test_count, align 4, !tbaa !5
  %8335 = load i32, ptr %174, align 4, !tbaa !5
  %8336 = call ptr @s2n_strerror(i32 noundef %8335, ptr noundef nonnull @.str.4) #12
  %8337 = load i32, ptr %174, align 4, !tbaa !5
  %8338 = call ptr @s2n_strerror_debug(i32 noundef %8337, ptr noundef nonnull @.str.4) #12
  %8339 = load i32, ptr %228, align 4, !tbaa !5
  %8340 = call ptr @strerror(i32 noundef %8339) #12
  %8341 = load i32, ptr %228, align 4, !tbaa !5
  %8342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8333, ptr noundef nonnull %.str.5.sink4962, i32 noundef %8334, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 900, ptr noundef %8336, ptr noundef %8338, ptr noundef %8340, i32 noundef %8341) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8343:                                             ; preds = %8316
  %8344 = add nsw i32 %8317, 2
  store i32 %8344, ptr @test_count, align 4, !tbaa !5
  %8345 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %8184, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %8346 = call zeroext i1 @s2n_result_is_ok(i32 %8345)
  br i1 %8346, label %8369, label %8347

8347:                                             ; preds = %8343
  %8348 = load i32, ptr %228, align 4, !tbaa !5
  %8349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8350 = call i32 @s2n_print_stacktrace(ptr noundef %8349) #12
  %8351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8352 = trunc nuw i8 %8351 to i1
  br i1 %8352, label %8353, label %8357

8353:                                             ; preds = %8347
  %8354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8355 = call i32 @fileno(ptr noundef %8354) #12
  %8356 = call i32 @isatty(i32 noundef %8355) #12
  %.not1837 = icmp eq i32 %8356, 0
  br i1 %.not1837, label %8357, label %8358

8357:                                             ; preds = %8353, %8347
  br label %8358

8358:                                             ; preds = %8353, %8357
  %.str.5.sink4971 = phi ptr [ @.str.5, %8357 ], [ @.str.2, %8353 ]
  store i32 %8348, ptr %228, align 4, !tbaa !5
  %8359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8360 = load i32, ptr @test_count, align 4, !tbaa !5
  %8361 = load i32, ptr %174, align 4, !tbaa !5
  %8362 = call ptr @s2n_strerror(i32 noundef %8361, ptr noundef nonnull @.str.4) #12
  %8363 = load i32, ptr %174, align 4, !tbaa !5
  %8364 = call ptr @s2n_strerror_debug(i32 noundef %8363, ptr noundef nonnull @.str.4) #12
  %8365 = load i32, ptr %228, align 4, !tbaa !5
  %8366 = call ptr @strerror(i32 noundef %8365) #12
  %8367 = load i32, ptr %228, align 4, !tbaa !5
  %8368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8359, ptr noundef nonnull %.str.5.sink4971, i32 noundef %8360, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 903, ptr noundef %8362, ptr noundef %8364, ptr noundef %8366, i32 noundef %8367) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8369:                                             ; preds = %8343
  %8370 = load i32, ptr @test_count, align 4, !tbaa !5
  %8371 = add nsw i32 %8370, 1
  store i32 %8371, ptr @test_count, align 4, !tbaa !5
  %8372 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8184, ptr noundef nonnull %40) #12
  %8373 = icmp eq i32 %8372, -1
  br i1 %8373, label %8374, label %8396

8374:                                             ; preds = %8369
  %8375 = load i32, ptr %228, align 4, !tbaa !5
  %8376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8377 = call i32 @s2n_print_stacktrace(ptr noundef %8376) #12
  %8378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8379 = trunc nuw i8 %8378 to i1
  br i1 %8379, label %8380, label %8384

8380:                                             ; preds = %8374
  %8381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8382 = call i32 @fileno(ptr noundef %8381) #12
  %8383 = call i32 @isatty(i32 noundef %8382) #12
  %.not2108 = icmp eq i32 %8383, 0
  br i1 %.not2108, label %8384, label %8385

8384:                                             ; preds = %8380, %8374
  br label %8385

8385:                                             ; preds = %8380, %8384
  %.str.5.sink4980 = phi ptr [ @.str.5, %8384 ], [ @.str.2, %8380 ]
  store i32 %8375, ptr %228, align 4, !tbaa !5
  %8386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8387 = load i32, ptr @test_count, align 4, !tbaa !5
  %8388 = load i32, ptr %174, align 4, !tbaa !5
  %8389 = call ptr @s2n_strerror(i32 noundef %8388, ptr noundef nonnull @.str.4) #12
  %8390 = load i32, ptr %174, align 4, !tbaa !5
  %8391 = call ptr @s2n_strerror_debug(i32 noundef %8390, ptr noundef nonnull @.str.4) #12
  %8392 = load i32, ptr %228, align 4, !tbaa !5
  %8393 = call ptr @strerror(i32 noundef %8392) #12
  %8394 = load i32, ptr %228, align 4, !tbaa !5
  %8395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8386, ptr noundef nonnull %.str.5.sink4980, i32 noundef %8387, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 904, ptr noundef %8389, ptr noundef %8391, ptr noundef %8393, i32 noundef %8394) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8396:                                             ; preds = %8369
  %8397 = load i32, ptr @test_count, align 4, !tbaa !5
  %8398 = add nsw i32 %8397, 1
  store i32 %8398, ptr @test_count, align 4, !tbaa !5
  %8399 = load i32, ptr %40, align 4, !tbaa !5
  %8400 = icmp eq i32 %8399, 0
  br i1 %8400, label %8423, label %8401

8401:                                             ; preds = %8396
  %8402 = load i32, ptr %228, align 4, !tbaa !5
  %8403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8404 = call i32 @s2n_print_stacktrace(ptr noundef %8403) #12
  %8405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8406 = trunc nuw i8 %8405 to i1
  br i1 %8406, label %8407, label %8411

8407:                                             ; preds = %8401
  %8408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8409 = call i32 @fileno(ptr noundef %8408) #12
  %8410 = call i32 @isatty(i32 noundef %8409) #12
  %.not1838 = icmp eq i32 %8410, 0
  br i1 %.not1838, label %8411, label %8412

8411:                                             ; preds = %8407, %8401
  br label %8412

8412:                                             ; preds = %8407, %8411
  %.str.5.sink4989 = phi ptr [ @.str.5, %8411 ], [ @.str.2, %8407 ]
  store i32 %8402, ptr %228, align 4, !tbaa !5
  %8413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8414 = load i32, ptr @test_count, align 4, !tbaa !5
  %8415 = load i32, ptr %174, align 4, !tbaa !5
  %8416 = call ptr @s2n_strerror(i32 noundef %8415, ptr noundef nonnull @.str.4) #12
  %8417 = load i32, ptr %174, align 4, !tbaa !5
  %8418 = call ptr @s2n_strerror_debug(i32 noundef %8417, ptr noundef nonnull @.str.4) #12
  %8419 = load i32, ptr %228, align 4, !tbaa !5
  %8420 = call ptr @strerror(i32 noundef %8419) #12
  %8421 = load i32, ptr %228, align 4, !tbaa !5
  %8422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8413, ptr noundef nonnull %.str.5.sink4989, i32 noundef %8414, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 905, ptr noundef %8416, ptr noundef %8418, ptr noundef %8420, i32 noundef %8421) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8423:                                             ; preds = %8396
  %8424 = add nsw i32 %8397, 2
  store i32 %8424, ptr @test_count, align 4, !tbaa !5
  %8425 = getelementptr inbounds i8, ptr %8184, i64 1688
  %8426 = call i32 @s2n_psk_parameters_wipe(ptr noundef nonnull %8425) #12
  %8427 = call zeroext i1 @s2n_result_is_ok(i32 %8426)
  br i1 %8427, label %8450, label %8428

8428:                                             ; preds = %8423
  %8429 = load i32, ptr %228, align 4, !tbaa !5
  %8430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8431 = call i32 @s2n_print_stacktrace(ptr noundef %8430) #12
  %8432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8433 = trunc nuw i8 %8432 to i1
  br i1 %8433, label %8434, label %8438

8434:                                             ; preds = %8428
  %8435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8436 = call i32 @fileno(ptr noundef %8435) #12
  %8437 = call i32 @isatty(i32 noundef %8436) #12
  %.not1839 = icmp eq i32 %8437, 0
  br i1 %.not1839, label %8438, label %8439

8438:                                             ; preds = %8434, %8428
  br label %8439

8439:                                             ; preds = %8434, %8438
  %.str.5.sink4998 = phi ptr [ @.str.5, %8438 ], [ @.str.2, %8434 ]
  store i32 %8429, ptr %228, align 4, !tbaa !5
  %8440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8441 = load i32, ptr @test_count, align 4, !tbaa !5
  %8442 = load i32, ptr %174, align 4, !tbaa !5
  %8443 = call ptr @s2n_strerror(i32 noundef %8442, ptr noundef nonnull @.str.4) #12
  %8444 = load i32, ptr %174, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror_debug(i32 noundef %8444, ptr noundef nonnull @.str.4) #12
  %8446 = load i32, ptr %228, align 4, !tbaa !5
  %8447 = call ptr @strerror(i32 noundef %8446) #12
  %8448 = load i32, ptr %228, align 4, !tbaa !5
  %8449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8440, ptr noundef nonnull %.str.5.sink4998, i32 noundef %8441, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 908, ptr noundef %8443, ptr noundef %8445, ptr noundef %8447, i32 noundef %8448) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8450:                                             ; preds = %8423
  %8451 = load i32, ptr @test_count, align 4, !tbaa !5
  %8452 = add nsw i32 %8451, 1
  store i32 %8452, ptr @test_count, align 4, !tbaa !5
  %8453 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %8184, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %8454 = call zeroext i1 @s2n_result_is_ok(i32 %8453)
  br i1 %8454, label %8477, label %8455

8455:                                             ; preds = %8450
  %8456 = load i32, ptr %228, align 4, !tbaa !5
  %8457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8458 = call i32 @s2n_print_stacktrace(ptr noundef %8457) #12
  %8459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8460 = trunc nuw i8 %8459 to i1
  br i1 %8460, label %8461, label %8465

8461:                                             ; preds = %8455
  %8462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8463 = call i32 @fileno(ptr noundef %8462) #12
  %8464 = call i32 @isatty(i32 noundef %8463) #12
  %.not1840 = icmp eq i32 %8464, 0
  br i1 %.not1840, label %8465, label %8466

8465:                                             ; preds = %8461, %8455
  br label %8466

8466:                                             ; preds = %8461, %8465
  %.str.5.sink5007 = phi ptr [ @.str.5, %8465 ], [ @.str.2, %8461 ]
  store i32 %8456, ptr %228, align 4, !tbaa !5
  %8467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8468 = load i32, ptr @test_count, align 4, !tbaa !5
  %8469 = load i32, ptr %174, align 4, !tbaa !5
  %8470 = call ptr @s2n_strerror(i32 noundef %8469, ptr noundef nonnull @.str.4) #12
  %8471 = load i32, ptr %174, align 4, !tbaa !5
  %8472 = call ptr @s2n_strerror_debug(i32 noundef %8471, ptr noundef nonnull @.str.4) #12
  %8473 = load i32, ptr %228, align 4, !tbaa !5
  %8474 = call ptr @strerror(i32 noundef %8473) #12
  %8475 = load i32, ptr %228, align 4, !tbaa !5
  %8476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8467, ptr noundef nonnull %.str.5.sink5007, i32 noundef %8468, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 909, ptr noundef %8470, ptr noundef %8472, ptr noundef %8474, i32 noundef %8475) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8477:                                             ; preds = %8450
  %8478 = load i32, ptr @test_count, align 4, !tbaa !5
  %8479 = add nsw i32 %8478, 1
  store i32 %8479, ptr @test_count, align 4, !tbaa !5
  %8480 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8184, ptr noundef nonnull %40) #12
  %8481 = icmp eq i32 %8480, -1
  br i1 %8481, label %8482, label %8504

8482:                                             ; preds = %8477
  %8483 = load i32, ptr %228, align 4, !tbaa !5
  %8484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8485 = call i32 @s2n_print_stacktrace(ptr noundef %8484) #12
  %8486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8487 = trunc nuw i8 %8486 to i1
  br i1 %8487, label %8488, label %8492

8488:                                             ; preds = %8482
  %8489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8490 = call i32 @fileno(ptr noundef %8489) #12
  %8491 = call i32 @isatty(i32 noundef %8490) #12
  %.not2107 = icmp eq i32 %8491, 0
  br i1 %.not2107, label %8492, label %8493

8492:                                             ; preds = %8488, %8482
  br label %8493

8493:                                             ; preds = %8488, %8492
  %.str.5.sink5016 = phi ptr [ @.str.5, %8492 ], [ @.str.2, %8488 ]
  store i32 %8483, ptr %228, align 4, !tbaa !5
  %8494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8495 = load i32, ptr @test_count, align 4, !tbaa !5
  %8496 = load i32, ptr %174, align 4, !tbaa !5
  %8497 = call ptr @s2n_strerror(i32 noundef %8496, ptr noundef nonnull @.str.4) #12
  %8498 = load i32, ptr %174, align 4, !tbaa !5
  %8499 = call ptr @s2n_strerror_debug(i32 noundef %8498, ptr noundef nonnull @.str.4) #12
  %8500 = load i32, ptr %228, align 4, !tbaa !5
  %8501 = call ptr @strerror(i32 noundef %8500) #12
  %8502 = load i32, ptr %228, align 4, !tbaa !5
  %8503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8494, ptr noundef nonnull %.str.5.sink5016, i32 noundef %8495, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 910, ptr noundef %8497, ptr noundef %8499, ptr noundef %8501, i32 noundef %8502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8504:                                             ; preds = %8477
  %8505 = load i32, ptr @test_count, align 4, !tbaa !5
  %8506 = add nsw i32 %8505, 1
  store i32 %8506, ptr @test_count, align 4, !tbaa !5
  %8507 = load i32, ptr %40, align 4, !tbaa !5
  %8508 = icmp eq i32 %8507, 10
  br i1 %8508, label %8531, label %8509

8509:                                             ; preds = %8504
  %8510 = load i32, ptr %228, align 4, !tbaa !5
  %8511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8512 = call i32 @s2n_print_stacktrace(ptr noundef %8511) #12
  %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) #12
  %8518 = call i32 @isatty(i32 noundef %8517) #12
  %.not1841 = icmp eq i32 %8518, 0
  br i1 %.not1841, label %8519, label %8520

8519:                                             ; preds = %8515, %8509
  br label %8520

8520:                                             ; preds = %8515, %8519
  %.str.5.sink5025 = phi ptr [ @.str.5, %8519 ], [ @.str.2, %8515 ]
  store i32 %8510, ptr %228, 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 %174, align 4, !tbaa !5
  %8524 = call ptr @s2n_strerror(i32 noundef %8523, ptr noundef nonnull @.str.4) #12
  %8525 = load i32, ptr %174, align 4, !tbaa !5
  %8526 = call ptr @s2n_strerror_debug(i32 noundef %8525, ptr noundef nonnull @.str.4) #12
  %8527 = load i32, ptr %228, align 4, !tbaa !5
  %8528 = call ptr @strerror(i32 noundef %8527) #12
  %8529 = load i32, ptr %228, align 4, !tbaa !5
  %8530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8521, ptr noundef nonnull %.str.5.sink5025, i32 noundef %8522, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 911, ptr noundef %8524, ptr noundef %8526, ptr noundef %8528, i32 noundef %8529) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8531:                                             ; preds = %8504
  %8532 = add nsw i32 %8505, 2
  store i32 %8532, ptr @test_count, align 4, !tbaa !5
  %8533 = call i32 @s2n_connection_free(ptr noundef nonnull %8184) #12
  %8534 = icmp eq i32 %8533, -1
  br i1 %8534, label %8535, label %8557

8535:                                             ; preds = %8531
  %8536 = load i32, ptr %228, align 4, !tbaa !5
  %8537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8538 = call i32 @s2n_print_stacktrace(ptr noundef %8537) #12
  %8539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8540 = trunc nuw i8 %8539 to i1
  br i1 %8540, label %8541, label %8545

8541:                                             ; preds = %8535
  %8542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8543 = call i32 @fileno(ptr noundef %8542) #12
  %8544 = call i32 @isatty(i32 noundef %8543) #12
  %.not2106 = icmp eq i32 %8544, 0
  br i1 %.not2106, label %8545, label %8546

8545:                                             ; preds = %8541, %8535
  br label %8546

8546:                                             ; preds = %8541, %8545
  %.str.5.sink5034 = phi ptr [ @.str.5, %8545 ], [ @.str.2, %8541 ]
  store i32 %8536, ptr %228, align 4, !tbaa !5
  %8547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8548 = load i32, ptr @test_count, align 4, !tbaa !5
  %8549 = load i32, ptr %174, align 4, !tbaa !5
  %8550 = call ptr @s2n_strerror(i32 noundef %8549, ptr noundef nonnull @.str.4) #12
  %8551 = load i32, ptr %174, align 4, !tbaa !5
  %8552 = call ptr @s2n_strerror_debug(i32 noundef %8551, ptr noundef nonnull @.str.4) #12
  %8553 = load i32, ptr %228, align 4, !tbaa !5
  %8554 = call ptr @strerror(i32 noundef %8553) #12
  %8555 = load i32, ptr %228, align 4, !tbaa !5
  %8556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8547, ptr noundef nonnull %.str.5.sink5034, i32 noundef %8548, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 913, ptr noundef %8550, ptr noundef %8552, ptr noundef %8554, i32 noundef %8555) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8557:                                             ; preds = %8531
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #12
  %8558 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %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 = icmp eq ptr %8558, null
  br i1 %8561, label %8562, label %8584

8562:                                             ; preds = %8557
  %8563 = load i32, ptr %228, align 4, !tbaa !5
  %8564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8565 = call i32 @s2n_print_stacktrace(ptr noundef %8564) #12
  %8566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8567 = trunc nuw i8 %8566 to i1
  br i1 %8567, label %8568, label %8572

8568:                                             ; preds = %8562
  %8569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8570 = call i32 @fileno(ptr noundef %8569) #12
  %8571 = call i32 @isatty(i32 noundef %8570) #12
  %.not2105 = icmp eq i32 %8571, 0
  br i1 %.not2105, label %8572, label %8573

8572:                                             ; preds = %8568, %8562
  br label %8573

8573:                                             ; preds = %8568, %8572
  %.str.5.sink5043 = phi ptr [ @.str.5, %8572 ], [ @.str.2, %8568 ]
  store i32 %8563, ptr %228, align 4, !tbaa !5
  %8574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8575 = load i32, ptr @test_count, align 4, !tbaa !5
  %8576 = load i32, ptr %174, align 4, !tbaa !5
  %8577 = call ptr @s2n_strerror(i32 noundef %8576, ptr noundef nonnull @.str.4) #12
  %8578 = load i32, ptr %174, align 4, !tbaa !5
  %8579 = call ptr @s2n_strerror_debug(i32 noundef %8578, ptr noundef nonnull @.str.4) #12
  %8580 = load i32, ptr %228, align 4, !tbaa !5
  %8581 = call ptr @strerror(i32 noundef %8580) #12
  %8582 = load i32, ptr %228, align 4, !tbaa !5
  %8583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8574, ptr noundef nonnull %.str.5.sink5043, i32 noundef %8575, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 919, ptr noundef %8577, ptr noundef %8579, ptr noundef %8581, i32 noundef %8582) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8584:                                             ; preds = %8557
  %8585 = add nsw i32 %8559, 2
  store i32 %8585, ptr @test_count, align 4, !tbaa !5
  %8586 = call i32 @s2n_append_test_chosen_psk_with_early_data(ptr noundef nonnull %8558, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %8587 = call zeroext i1 @s2n_result_is_ok(i32 %8586)
  br i1 %8587, label %8610, label %8588

8588:                                             ; preds = %8584
  %8589 = load i32, ptr %228, align 4, !tbaa !5
  %8590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8591 = call i32 @s2n_print_stacktrace(ptr noundef %8590) #12
  %8592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8593 = trunc nuw i8 %8592 to i1
  br i1 %8593, label %8594, label %8598

8594:                                             ; preds = %8588
  %8595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8596 = call i32 @fileno(ptr noundef %8595) #12
  %8597 = call i32 @isatty(i32 noundef %8596) #12
  %.not1842 = icmp eq i32 %8597, 0
  br i1 %.not1842, label %8598, label %8599

8598:                                             ; preds = %8594, %8588
  br label %8599

8599:                                             ; preds = %8594, %8598
  %.str.5.sink5052 = phi ptr [ @.str.5, %8598 ], [ @.str.2, %8594 ]
  store i32 %8589, ptr %228, align 4, !tbaa !5
  %8600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8601 = load i32, ptr @test_count, align 4, !tbaa !5
  %8602 = load i32, ptr %174, align 4, !tbaa !5
  %8603 = call ptr @s2n_strerror(i32 noundef %8602, ptr noundef nonnull @.str.4) #12
  %8604 = load i32, ptr %174, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror_debug(i32 noundef %8604, ptr noundef nonnull @.str.4) #12
  %8606 = load i32, ptr %228, align 4, !tbaa !5
  %8607 = call ptr @strerror(i32 noundef %8606) #12
  %8608 = load i32, ptr %228, align 4, !tbaa !5
  %8609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8600, ptr noundef nonnull %.str.5.sink5052, i32 noundef %8601, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 922, ptr noundef %8603, ptr noundef %8605, ptr noundef %8607, i32 noundef %8608) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8610:                                             ; preds = %8584
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #12
  store i32 0, ptr %41, align 4, !tbaa !5
  %8611 = load i32, ptr @test_count, align 4, !tbaa !5
  %8612 = add nsw i32 %8611, 1
  store i32 %8612, ptr @test_count, align 4, !tbaa !5
  %8613 = getelementptr inbounds i8, ptr %8558, i64 1736
  %8614 = load ptr, ptr %8613, align 8, !tbaa !69
  %8615 = load i32, ptr %8614, align 8, !tbaa !73
  %8616 = icmp eq i32 %8615, 1
  br i1 %8616, label %8639, label %8617

8617:                                             ; preds = %8610
  %8618 = load i32, ptr %228, align 4, !tbaa !5
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = call i32 @s2n_print_stacktrace(ptr noundef %8619) #12
  %8621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8622 = trunc nuw i8 %8621 to i1
  br i1 %8622, label %8623, label %8627

8623:                                             ; preds = %8617
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = call i32 @fileno(ptr noundef %8624) #12
  %8626 = call i32 @isatty(i32 noundef %8625) #12
  %.not1843 = icmp eq i32 %8626, 0
  br i1 %.not1843, label %8627, label %8628

8627:                                             ; preds = %8623, %8617
  br label %8628

8628:                                             ; preds = %8623, %8627
  %.str.5.sink5061 = phi ptr [ @.str.5, %8627 ], [ @.str.2, %8623 ]
  store i32 %8618, ptr %228, align 4, !tbaa !5
  %8629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8630 = load i32, ptr @test_count, align 4, !tbaa !5
  %8631 = load i32, ptr %174, align 4, !tbaa !5
  %8632 = call ptr @s2n_strerror(i32 noundef %8631, ptr noundef nonnull @.str.4) #12
  %8633 = load i32, ptr %174, align 4, !tbaa !5
  %8634 = call ptr @s2n_strerror_debug(i32 noundef %8633, ptr noundef nonnull @.str.4) #12
  %8635 = load i32, ptr %228, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #12
  %8637 = load i32, ptr %228, align 4, !tbaa !5
  %8638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8629, ptr noundef nonnull %.str.5.sink5061, i32 noundef %8630, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 927, ptr noundef %8632, ptr noundef %8634, ptr noundef %8636, i32 noundef %8637) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8639:                                             ; preds = %8610
  %8640 = add nsw i32 %8611, 2
  store i32 %8640, ptr @test_count, align 4, !tbaa !5
  %8641 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %8558, i32 noundef 9) #12
  %8642 = icmp eq i32 %8641, -1
  br i1 %8642, label %8643, label %8665

8643:                                             ; preds = %8639
  %8644 = load i32, ptr %228, align 4, !tbaa !5
  %8645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8646 = call i32 @s2n_print_stacktrace(ptr noundef %8645) #12
  %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) #12
  %8652 = call i32 @isatty(i32 noundef %8651) #12
  %.not2104 = icmp eq i32 %8652, 0
  br i1 %.not2104, label %8653, label %8654

8653:                                             ; preds = %8649, %8643
  br label %8654

8654:                                             ; preds = %8649, %8653
  %.str.5.sink5070 = phi ptr [ @.str.5, %8653 ], [ @.str.2, %8649 ]
  store i32 %8644, ptr %228, 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 %174, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror(i32 noundef %8657, ptr noundef nonnull @.str.4) #12
  %8659 = load i32, ptr %174, align 4, !tbaa !5
  %8660 = call ptr @s2n_strerror_debug(i32 noundef %8659, ptr noundef nonnull @.str.4) #12
  %8661 = load i32, ptr %228, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #12
  %8663 = load i32, ptr %228, align 4, !tbaa !5
  %8664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8655, ptr noundef nonnull %.str.5.sink5070, i32 noundef %8656, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 929, ptr noundef %8658, ptr noundef %8660, ptr noundef %8662, i32 noundef %8663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8665:                                             ; preds = %8639
  %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 i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8558, ptr noundef nonnull %41) #12
  %8669 = icmp eq i32 %8668, -1
  br i1 %8669, label %8670, label %8692

8670:                                             ; preds = %8665
  %8671 = load i32, ptr %228, align 4, !tbaa !5
  %8672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8673 = call i32 @s2n_print_stacktrace(ptr noundef %8672) #12
  %8674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8675 = trunc nuw i8 %8674 to i1
  br i1 %8675, label %8676, label %8680

8676:                                             ; preds = %8670
  %8677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8678 = call i32 @fileno(ptr noundef %8677) #12
  %8679 = call i32 @isatty(i32 noundef %8678) #12
  %.not2103 = icmp eq i32 %8679, 0
  br i1 %.not2103, label %8680, label %8681

8680:                                             ; preds = %8676, %8670
  br label %8681

8681:                                             ; preds = %8676, %8680
  %.str.5.sink5079 = phi ptr [ @.str.5, %8680 ], [ @.str.2, %8676 ]
  store i32 %8671, ptr %228, align 4, !tbaa !5
  %8682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8683 = load i32, ptr @test_count, align 4, !tbaa !5
  %8684 = load i32, ptr %174, align 4, !tbaa !5
  %8685 = call ptr @s2n_strerror(i32 noundef %8684, ptr noundef nonnull @.str.4) #12
  %8686 = load i32, ptr %174, align 4, !tbaa !5
  %8687 = call ptr @s2n_strerror_debug(i32 noundef %8686, ptr noundef nonnull @.str.4) #12
  %8688 = load i32, ptr %228, align 4, !tbaa !5
  %8689 = call ptr @strerror(i32 noundef %8688) #12
  %8690 = load i32, ptr %228, align 4, !tbaa !5
  %8691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8682, ptr noundef nonnull %.str.5.sink5079, i32 noundef %8683, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 930, ptr noundef %8685, ptr noundef %8687, ptr noundef %8689, i32 noundef %8690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8692:                                             ; preds = %8665
  %8693 = load i32, ptr @test_count, align 4, !tbaa !5
  %8694 = add nsw i32 %8693, 1
  store i32 %8694, ptr @test_count, align 4, !tbaa !5
  %8695 = load i32, ptr %41, align 4, !tbaa !5
  %8696 = icmp eq i32 %8695, 10
  br i1 %8696, label %8719, label %8697

8697:                                             ; preds = %8692
  %8698 = load i32, ptr %228, align 4, !tbaa !5
  %8699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8700 = call i32 @s2n_print_stacktrace(ptr noundef %8699) #12
  %8701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8702 = trunc nuw i8 %8701 to i1
  br i1 %8702, label %8703, label %8707

8703:                                             ; preds = %8697
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = call i32 @fileno(ptr noundef %8704) #12
  %8706 = call i32 @isatty(i32 noundef %8705) #12
  %.not1844 = icmp eq i32 %8706, 0
  br i1 %.not1844, label %8707, label %8708

8707:                                             ; preds = %8703, %8697
  br label %8708

8708:                                             ; preds = %8703, %8707
  %.str.5.sink5088 = phi ptr [ @.str.5, %8707 ], [ @.str.2, %8703 ]
  store i32 %8698, ptr %228, align 4, !tbaa !5
  %8709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8710 = load i32, ptr @test_count, align 4, !tbaa !5
  %8711 = load i32, ptr %174, align 4, !tbaa !5
  %8712 = call ptr @s2n_strerror(i32 noundef %8711, ptr noundef nonnull @.str.4) #12
  %8713 = load i32, ptr %174, align 4, !tbaa !5
  %8714 = call ptr @s2n_strerror_debug(i32 noundef %8713, ptr noundef nonnull @.str.4) #12
  %8715 = load i32, ptr %228, align 4, !tbaa !5
  %8716 = call ptr @strerror(i32 noundef %8715) #12
  %8717 = load i32, ptr %228, align 4, !tbaa !5
  %8718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8709, ptr noundef nonnull %.str.5.sink5088, i32 noundef %8710, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 931, ptr noundef %8712, ptr noundef %8714, ptr noundef %8716, i32 noundef %8717) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8719:                                             ; preds = %8692
  %8720 = load ptr, ptr %8613, align 8, !tbaa !69
  store i32 0, ptr %8720, align 8, !tbaa !73
  %8721 = load i32, ptr @test_count, align 4, !tbaa !5
  %8722 = add nsw i32 %8721, 1
  store i32 %8722, ptr @test_count, align 4, !tbaa !5
  %8723 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %8558, i32 noundef 11) #12
  %8724 = icmp eq i32 %8723, -1
  br i1 %8724, label %8725, label %8747

8725:                                             ; preds = %8719
  %8726 = load i32, ptr %228, align 4, !tbaa !5
  %8727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8728 = call i32 @s2n_print_stacktrace(ptr noundef %8727) #12
  %8729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8730 = trunc nuw i8 %8729 to i1
  br i1 %8730, label %8731, label %8735

8731:                                             ; preds = %8725
  %8732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8733 = call i32 @fileno(ptr noundef %8732) #12
  %8734 = call i32 @isatty(i32 noundef %8733) #12
  %.not2102 = icmp eq i32 %8734, 0
  br i1 %.not2102, label %8735, label %8736

8735:                                             ; preds = %8731, %8725
  br label %8736

8736:                                             ; preds = %8731, %8735
  %.str.5.sink5097 = phi ptr [ @.str.5, %8735 ], [ @.str.2, %8731 ]
  store i32 %8726, ptr %228, align 4, !tbaa !5
  %8737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8738 = load i32, ptr @test_count, align 4, !tbaa !5
  %8739 = load i32, ptr %174, align 4, !tbaa !5
  %8740 = call ptr @s2n_strerror(i32 noundef %8739, ptr noundef nonnull @.str.4) #12
  %8741 = load i32, ptr %174, align 4, !tbaa !5
  %8742 = call ptr @s2n_strerror_debug(i32 noundef %8741, ptr noundef nonnull @.str.4) #12
  %8743 = load i32, ptr %228, align 4, !tbaa !5
  %8744 = call ptr @strerror(i32 noundef %8743) #12
  %8745 = load i32, ptr %228, align 4, !tbaa !5
  %8746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8737, ptr noundef nonnull %.str.5.sink5097, i32 noundef %8738, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 937, ptr noundef %8740, ptr noundef %8742, ptr noundef %8744, i32 noundef %8745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8747:                                             ; preds = %8719
  %8748 = load i32, ptr @test_count, align 4, !tbaa !5
  %8749 = add nsw i32 %8748, 1
  store i32 %8749, ptr @test_count, align 4, !tbaa !5
  %8750 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8558, ptr noundef nonnull %41) #12
  %8751 = icmp eq i32 %8750, -1
  br i1 %8751, label %8752, label %8774

8752:                                             ; preds = %8747
  %8753 = load i32, ptr %228, align 4, !tbaa !5
  %8754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8755 = call i32 @s2n_print_stacktrace(ptr noundef %8754) #12
  %8756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8757 = trunc nuw i8 %8756 to i1
  br i1 %8757, label %8758, label %8762

8758:                                             ; preds = %8752
  %8759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8760 = call i32 @fileno(ptr noundef %8759) #12
  %8761 = call i32 @isatty(i32 noundef %8760) #12
  %.not2101 = icmp eq i32 %8761, 0
  br i1 %.not2101, label %8762, label %8763

8762:                                             ; preds = %8758, %8752
  br label %8763

8763:                                             ; preds = %8758, %8762
  %.str.5.sink5106 = phi ptr [ @.str.5, %8762 ], [ @.str.2, %8758 ]
  store i32 %8753, ptr %228, align 4, !tbaa !5
  %8764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8765 = load i32, ptr @test_count, align 4, !tbaa !5
  %8766 = load i32, ptr %174, align 4, !tbaa !5
  %8767 = call ptr @s2n_strerror(i32 noundef %8766, ptr noundef nonnull @.str.4) #12
  %8768 = load i32, ptr %174, align 4, !tbaa !5
  %8769 = call ptr @s2n_strerror_debug(i32 noundef %8768, ptr noundef nonnull @.str.4) #12
  %8770 = load i32, ptr %228, align 4, !tbaa !5
  %8771 = call ptr @strerror(i32 noundef %8770) #12
  %8772 = load i32, ptr %228, align 4, !tbaa !5
  %8773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8764, ptr noundef nonnull %.str.5.sink5106, i32 noundef %8765, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 938, ptr noundef %8767, ptr noundef %8769, ptr noundef %8771, i32 noundef %8772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8774:                                             ; preds = %8747
  %8775 = load i32, ptr @test_count, align 4, !tbaa !5
  %8776 = add nsw i32 %8775, 1
  store i32 %8776, ptr @test_count, align 4, !tbaa !5
  %8777 = load i32, ptr %41, align 4, !tbaa !5
  %8778 = icmp eq i32 %8777, 10
  br i1 %8778, label %8801, label %8779

8779:                                             ; preds = %8774
  %8780 = load i32, ptr %228, align 4, !tbaa !5
  %8781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8782 = call i32 @s2n_print_stacktrace(ptr noundef %8781) #12
  %8783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8784 = trunc nuw i8 %8783 to i1
  br i1 %8784, label %8785, label %8789

8785:                                             ; preds = %8779
  %8786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8787 = call i32 @fileno(ptr noundef %8786) #12
  %8788 = call i32 @isatty(i32 noundef %8787) #12
  %.not1845 = icmp eq i32 %8788, 0
  br i1 %.not1845, label %8789, label %8790

8789:                                             ; preds = %8785, %8779
  br label %8790

8790:                                             ; preds = %8785, %8789
  %.str.5.sink5115 = phi ptr [ @.str.5, %8789 ], [ @.str.2, %8785 ]
  store i32 %8780, ptr %228, align 4, !tbaa !5
  %8791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8792 = load i32, ptr @test_count, align 4, !tbaa !5
  %8793 = load i32, ptr %174, align 4, !tbaa !5
  %8794 = call ptr @s2n_strerror(i32 noundef %8793, ptr noundef nonnull @.str.4) #12
  %8795 = load i32, ptr %174, align 4, !tbaa !5
  %8796 = call ptr @s2n_strerror_debug(i32 noundef %8795, ptr noundef nonnull @.str.4) #12
  %8797 = load i32, ptr %228, align 4, !tbaa !5
  %8798 = call ptr @strerror(i32 noundef %8797) #12
  %8799 = load i32, ptr %228, align 4, !tbaa !5
  %8800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8791, ptr noundef nonnull %.str.5.sink5115, i32 noundef %8792, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 939, ptr noundef %8794, ptr noundef %8796, ptr noundef %8798, i32 noundef %8799) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8801:                                             ; preds = %8774
  %8802 = add nsw i32 %8775, 2
  store i32 %8802, ptr @test_count, align 4, !tbaa !5
  %8803 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %8558, i32 noundef 9) #12
  %8804 = icmp eq i32 %8803, -1
  br i1 %8804, label %8805, label %8827

8805:                                             ; preds = %8801
  %8806 = load i32, ptr %228, align 4, !tbaa !5
  %8807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8808 = call i32 @s2n_print_stacktrace(ptr noundef %8807) #12
  %8809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8810 = trunc nuw i8 %8809 to i1
  br i1 %8810, label %8811, label %8815

8811:                                             ; preds = %8805
  %8812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8813 = call i32 @fileno(ptr noundef %8812) #12
  %8814 = call i32 @isatty(i32 noundef %8813) #12
  %.not2100 = icmp eq i32 %8814, 0
  br i1 %.not2100, label %8815, label %8816

8815:                                             ; preds = %8811, %8805
  br label %8816

8816:                                             ; preds = %8811, %8815
  %.str.5.sink5124 = phi ptr [ @.str.5, %8815 ], [ @.str.2, %8811 ]
  store i32 %8806, ptr %228, align 4, !tbaa !5
  %8817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8818 = load i32, ptr @test_count, align 4, !tbaa !5
  %8819 = load i32, ptr %174, align 4, !tbaa !5
  %8820 = call ptr @s2n_strerror(i32 noundef %8819, ptr noundef nonnull @.str.4) #12
  %8821 = load i32, ptr %174, align 4, !tbaa !5
  %8822 = call ptr @s2n_strerror_debug(i32 noundef %8821, ptr noundef nonnull @.str.4) #12
  %8823 = load i32, ptr %228, align 4, !tbaa !5
  %8824 = call ptr @strerror(i32 noundef %8823) #12
  %8825 = load i32, ptr %228, align 4, !tbaa !5
  %8826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8817, ptr noundef nonnull %.str.5.sink5124, i32 noundef %8818, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 943, ptr noundef %8820, ptr noundef %8822, ptr noundef %8824, i32 noundef %8825) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8827:                                             ; preds = %8801
  %8828 = load i32, ptr @test_count, align 4, !tbaa !5
  %8829 = add nsw i32 %8828, 1
  store i32 %8829, ptr @test_count, align 4, !tbaa !5
  %8830 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8558, ptr noundef nonnull %41) #12
  %8831 = icmp eq i32 %8830, -1
  br i1 %8831, label %8832, label %8854

8832:                                             ; preds = %8827
  %8833 = load i32, ptr %228, align 4, !tbaa !5
  %8834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8835 = call i32 @s2n_print_stacktrace(ptr noundef %8834) #12
  %8836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8837 = trunc nuw i8 %8836 to i1
  br i1 %8837, label %8838, label %8842

8838:                                             ; preds = %8832
  %8839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8840 = call i32 @fileno(ptr noundef %8839) #12
  %8841 = call i32 @isatty(i32 noundef %8840) #12
  %.not2099 = icmp eq i32 %8841, 0
  br i1 %.not2099, label %8842, label %8843

8842:                                             ; preds = %8838, %8832
  br label %8843

8843:                                             ; preds = %8838, %8842
  %.str.5.sink5133 = phi ptr [ @.str.5, %8842 ], [ @.str.2, %8838 ]
  store i32 %8833, ptr %228, align 4, !tbaa !5
  %8844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8845 = load i32, ptr @test_count, align 4, !tbaa !5
  %8846 = load i32, ptr %174, align 4, !tbaa !5
  %8847 = call ptr @s2n_strerror(i32 noundef %8846, ptr noundef nonnull @.str.4) #12
  %8848 = load i32, ptr %174, align 4, !tbaa !5
  %8849 = call ptr @s2n_strerror_debug(i32 noundef %8848, ptr noundef nonnull @.str.4) #12
  %8850 = load i32, ptr %228, align 4, !tbaa !5
  %8851 = call ptr @strerror(i32 noundef %8850) #12
  %8852 = load i32, ptr %228, align 4, !tbaa !5
  %8853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8844, ptr noundef nonnull %.str.5.sink5133, i32 noundef %8845, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 944, ptr noundef %8847, ptr noundef %8849, ptr noundef %8851, i32 noundef %8852) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8854:                                             ; preds = %8827
  %8855 = load i32, ptr @test_count, align 4, !tbaa !5
  %8856 = add nsw i32 %8855, 1
  store i32 %8856, ptr @test_count, align 4, !tbaa !5
  %8857 = load i32, ptr %41, align 4, !tbaa !5
  %8858 = icmp eq i32 %8857, 9
  br i1 %8858, label %8881, label %8859

8859:                                             ; preds = %8854
  %8860 = load i32, ptr %228, align 4, !tbaa !5
  %8861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8862 = call i32 @s2n_print_stacktrace(ptr noundef %8861) #12
  %8863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8864 = trunc nuw i8 %8863 to i1
  br i1 %8864, label %8865, label %8869

8865:                                             ; preds = %8859
  %8866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8867 = call i32 @fileno(ptr noundef %8866) #12
  %8868 = call i32 @isatty(i32 noundef %8867) #12
  %.not1846 = icmp eq i32 %8868, 0
  br i1 %.not1846, label %8869, label %8870

8869:                                             ; preds = %8865, %8859
  br label %8870

8870:                                             ; preds = %8865, %8869
  %.str.5.sink5142 = phi ptr [ @.str.5, %8869 ], [ @.str.2, %8865 ]
  store i32 %8860, ptr %228, align 4, !tbaa !5
  %8871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8872 = load i32, ptr @test_count, align 4, !tbaa !5
  %8873 = load i32, ptr %174, align 4, !tbaa !5
  %8874 = call ptr @s2n_strerror(i32 noundef %8873, ptr noundef nonnull @.str.4) #12
  %8875 = load i32, ptr %174, align 4, !tbaa !5
  %8876 = call ptr @s2n_strerror_debug(i32 noundef %8875, ptr noundef nonnull @.str.4) #12
  %8877 = load i32, ptr %228, align 4, !tbaa !5
  %8878 = call ptr @strerror(i32 noundef %8877) #12
  %8879 = load i32, ptr %228, align 4, !tbaa !5
  %8880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8871, ptr noundef nonnull %.str.5.sink5142, i32 noundef %8872, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 945, ptr noundef %8874, ptr noundef %8876, ptr noundef %8878, i32 noundef %8879) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8881:                                             ; preds = %8854
  %8882 = add nsw i32 %8855, 2
  store i32 %8882, ptr @test_count, align 4, !tbaa !5
  %8883 = call i32 @s2n_connection_free(ptr noundef nonnull %8558) #12
  %8884 = icmp eq i32 %8883, -1
  br i1 %8884, label %8885, label %8907

8885:                                             ; preds = %8881
  %8886 = load i32, ptr %228, align 4, !tbaa !5
  %8887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8888 = call i32 @s2n_print_stacktrace(ptr noundef %8887) #12
  %8889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8890 = trunc nuw i8 %8889 to i1
  br i1 %8890, label %8891, label %8895

8891:                                             ; preds = %8885
  %8892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8893 = call i32 @fileno(ptr noundef %8892) #12
  %8894 = call i32 @isatty(i32 noundef %8893) #12
  %.not2098 = icmp eq i32 %8894, 0
  br i1 %.not2098, label %8895, label %8896

8895:                                             ; preds = %8891, %8885
  br label %8896

8896:                                             ; preds = %8891, %8895
  %.str.5.sink5151 = phi ptr [ @.str.5, %8895 ], [ @.str.2, %8891 ]
  store i32 %8886, ptr %228, align 4, !tbaa !5
  %8897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8898 = load i32, ptr @test_count, align 4, !tbaa !5
  %8899 = load i32, ptr %174, align 4, !tbaa !5
  %8900 = call ptr @s2n_strerror(i32 noundef %8899, ptr noundef nonnull @.str.4) #12
  %8901 = load i32, ptr %174, align 4, !tbaa !5
  %8902 = call ptr @s2n_strerror_debug(i32 noundef %8901, ptr noundef nonnull @.str.4) #12
  %8903 = load i32, ptr %228, align 4, !tbaa !5
  %8904 = call ptr @strerror(i32 noundef %8903) #12
  %8905 = load i32, ptr %228, align 4, !tbaa !5
  %8906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8897, ptr noundef nonnull %.str.5.sink5151, i32 noundef %8898, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 947, ptr noundef %8900, ptr noundef %8902, ptr noundef %8904, i32 noundef %8905) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8907:                                             ; preds = %8881
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #12
  store i32 0, ptr %42, align 4, !tbaa !5
  %8908 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %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 = icmp eq ptr %8908, null
  br i1 %8911, label %8912, label %8934

8912:                                             ; preds = %8907
  %8913 = load i32, ptr %228, align 4, !tbaa !5
  %8914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8915 = call i32 @s2n_print_stacktrace(ptr noundef %8914) #12
  %8916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8917 = trunc nuw i8 %8916 to i1
  br i1 %8917, label %8918, label %8922

8918:                                             ; preds = %8912
  %8919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8920 = call i32 @fileno(ptr noundef %8919) #12
  %8921 = call i32 @isatty(i32 noundef %8920) #12
  %.not2097 = icmp eq i32 %8921, 0
  br i1 %.not2097, label %8922, label %8923

8922:                                             ; preds = %8918, %8912
  br label %8923

8923:                                             ; preds = %8918, %8922
  %.str.5.sink5160 = phi ptr [ @.str.5, %8922 ], [ @.str.2, %8918 ]
  store i32 %8913, ptr %228, align 4, !tbaa !5
  %8924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8925 = load i32, ptr @test_count, align 4, !tbaa !5
  %8926 = load i32, ptr %174, align 4, !tbaa !5
  %8927 = call ptr @s2n_strerror(i32 noundef %8926, ptr noundef nonnull @.str.4) #12
  %8928 = load i32, ptr %174, align 4, !tbaa !5
  %8929 = call ptr @s2n_strerror_debug(i32 noundef %8928, ptr noundef nonnull @.str.4) #12
  %8930 = load i32, ptr %228, align 4, !tbaa !5
  %8931 = call ptr @strerror(i32 noundef %8930) #12
  %8932 = load i32, ptr %228, align 4, !tbaa !5
  %8933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8924, ptr noundef nonnull %.str.5.sink5160, i32 noundef %8925, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 956, ptr noundef %8927, ptr noundef %8929, ptr noundef %8931, i32 noundef %8932) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8934:                                             ; preds = %8907
  %8935 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %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 = icmp eq ptr %8935, null
  br i1 %8938, label %8939, label %8961

8939:                                             ; preds = %8934
  %8940 = load i32, ptr %228, align 4, !tbaa !5
  %8941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8942 = call i32 @s2n_print_stacktrace(ptr noundef %8941) #12
  %8943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8944 = trunc nuw i8 %8943 to i1
  br i1 %8944, label %8945, label %8949

8945:                                             ; preds = %8939
  %8946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8947 = call i32 @fileno(ptr noundef %8946) #12
  %8948 = call i32 @isatty(i32 noundef %8947) #12
  %.not2096 = icmp eq i32 %8948, 0
  br i1 %.not2096, label %8949, label %8950

8949:                                             ; preds = %8945, %8939
  br label %8950

8950:                                             ; preds = %8945, %8949
  %.str.5.sink5169 = phi ptr [ @.str.5, %8949 ], [ @.str.2, %8945 ]
  store i32 %8940, ptr %228, align 4, !tbaa !5
  %8951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8952 = load i32, ptr @test_count, align 4, !tbaa !5
  %8953 = load i32, ptr %174, align 4, !tbaa !5
  %8954 = call ptr @s2n_strerror(i32 noundef %8953, ptr noundef nonnull @.str.4) #12
  %8955 = load i32, ptr %174, align 4, !tbaa !5
  %8956 = call ptr @s2n_strerror_debug(i32 noundef %8955, ptr noundef nonnull @.str.4) #12
  %8957 = load i32, ptr %228, align 4, !tbaa !5
  %8958 = call ptr @strerror(i32 noundef %8957) #12
  %8959 = load i32, ptr %228, align 4, !tbaa !5
  %8960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8951, ptr noundef nonnull %.str.5.sink5169, i32 noundef %8952, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 959, ptr noundef %8954, ptr noundef %8956, ptr noundef %8958, i32 noundef %8959) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8961:                                             ; preds = %8934
  %8962 = add nsw i32 %8936, 2
  store i32 %8962, ptr @test_count, align 4, !tbaa !5
  %8963 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %8908, i32 noundef 15) #12
  %8964 = icmp eq i32 %8963, -1
  br i1 %8964, label %8965, label %8987

8965:                                             ; preds = %8961
  %8966 = load i32, ptr %228, align 4, !tbaa !5
  %8967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8968 = call i32 @s2n_print_stacktrace(ptr noundef %8967) #12
  %8969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8970 = trunc nuw i8 %8969 to i1
  br i1 %8970, label %8971, label %8975

8971:                                             ; preds = %8965
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = call i32 @fileno(ptr noundef %8972) #12
  %8974 = call i32 @isatty(i32 noundef %8973) #12
  %.not2095 = icmp eq i32 %8974, 0
  br i1 %.not2095, label %8975, label %8976

8975:                                             ; preds = %8971, %8965
  br label %8976

8976:                                             ; preds = %8971, %8975
  %.str.5.sink5178 = phi ptr [ @.str.5, %8975 ], [ @.str.2, %8971 ]
  store i32 %8966, ptr %228, align 4, !tbaa !5
  %8977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8978 = load i32, ptr @test_count, align 4, !tbaa !5
  %8979 = load i32, ptr %174, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror(i32 noundef %8979, ptr noundef nonnull @.str.4) #12
  %8981 = load i32, ptr %174, align 4, !tbaa !5
  %8982 = call ptr @s2n_strerror_debug(i32 noundef %8981, ptr noundef nonnull @.str.4) #12
  %8983 = load i32, ptr %228, align 4, !tbaa !5
  %8984 = call ptr @strerror(i32 noundef %8983) #12
  %8985 = load i32, ptr %228, align 4, !tbaa !5
  %8986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8977, ptr noundef nonnull %.str.5.sink5178, i32 noundef %8978, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.1, i32 noundef 962, ptr noundef %8980, ptr noundef %8982, ptr noundef %8984, i32 noundef %8985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8987:                                             ; preds = %8961
  %8988 = load i32, ptr @test_count, align 4, !tbaa !5
  %8989 = add nsw i32 %8988, 1
  store i32 %8989, ptr @test_count, align 4, !tbaa !5
  %8990 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8908, ptr noundef nonnull %42) #12
  %8991 = icmp eq i32 %8990, -1
  br i1 %8991, label %8992, label %9014

8992:                                             ; preds = %8987
  %8993 = load i32, ptr %228, align 4, !tbaa !5
  %8994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8995 = call i32 @s2n_print_stacktrace(ptr noundef %8994) #12
  %8996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8997 = trunc nuw i8 %8996 to i1
  br i1 %8997, label %8998, label %9002

8998:                                             ; preds = %8992
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @fileno(ptr noundef %8999) #12
  %9001 = call i32 @isatty(i32 noundef %9000) #12
  %.not2094 = icmp eq i32 %9001, 0
  br i1 %.not2094, label %9002, label %9003

9002:                                             ; preds = %8998, %8992
  br label %9003

9003:                                             ; preds = %8998, %9002
  %.str.5.sink5187 = phi ptr [ @.str.5, %9002 ], [ @.str.2, %8998 ]
  store i32 %8993, ptr %228, align 4, !tbaa !5
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = load i32, ptr @test_count, align 4, !tbaa !5
  %9006 = load i32, ptr %174, align 4, !tbaa !5
  %9007 = call ptr @s2n_strerror(i32 noundef %9006, ptr noundef nonnull @.str.4) #12
  %9008 = load i32, ptr %174, align 4, !tbaa !5
  %9009 = call ptr @s2n_strerror_debug(i32 noundef %9008, ptr noundef nonnull @.str.4) #12
  %9010 = load i32, ptr %228, align 4, !tbaa !5
  %9011 = call ptr @strerror(i32 noundef %9010) #12
  %9012 = load i32, ptr %228, align 4, !tbaa !5
  %9013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9004, ptr noundef nonnull %.str.5.sink5187, i32 noundef %9005, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 963, ptr noundef %9007, ptr noundef %9009, ptr noundef %9011, i32 noundef %9012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9014:                                             ; preds = %8987
  %9015 = load i32, ptr @test_count, align 4, !tbaa !5
  %9016 = add nsw i32 %9015, 1
  store i32 %9016, ptr @test_count, align 4, !tbaa !5
  %9017 = load i32, ptr %42, align 4, !tbaa !5
  %9018 = icmp eq i32 %9017, 15
  br i1 %9018, label %9041, label %9019

9019:                                             ; preds = %9014
  %9020 = load i32, ptr %228, align 4, !tbaa !5
  %9021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9022 = call i32 @s2n_print_stacktrace(ptr noundef %9021) #12
  %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) #12
  %9028 = call i32 @isatty(i32 noundef %9027) #12
  %.not1847 = icmp eq i32 %9028, 0
  br i1 %.not1847, label %9029, label %9030

9029:                                             ; preds = %9025, %9019
  br label %9030

9030:                                             ; preds = %9025, %9029
  %.str.5.sink5196 = phi ptr [ @.str.5, %9029 ], [ @.str.2, %9025 ]
  store i32 %9020, ptr %228, 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 %174, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror(i32 noundef %9033, ptr noundef nonnull @.str.4) #12
  %9035 = load i32, ptr %174, align 4, !tbaa !5
  %9036 = call ptr @s2n_strerror_debug(i32 noundef %9035, ptr noundef nonnull @.str.4) #12
  %9037 = load i32, ptr %228, align 4, !tbaa !5
  %9038 = call ptr @strerror(i32 noundef %9037) #12
  %9039 = load i32, ptr %228, align 4, !tbaa !5
  %9040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9031, ptr noundef nonnull %.str.5.sink5196, i32 noundef %9032, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 964, ptr noundef %9034, ptr noundef %9036, ptr noundef %9038, i32 noundef %9039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9041:                                             ; preds = %9014
  %9042 = add nsw i32 %9015, 2
  store i32 %9042, ptr @test_count, align 4, !tbaa !5
  %9043 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %8935, i32 noundef 15) #12
  %9044 = icmp eq i32 %9043, -1
  br i1 %9044, label %9045, label %9067

9045:                                             ; preds = %9041
  %9046 = load i32, ptr %228, align 4, !tbaa !5
  %9047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9048 = call i32 @s2n_print_stacktrace(ptr noundef %9047) #12
  %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) #12
  %9054 = call i32 @isatty(i32 noundef %9053) #12
  %.not2093 = icmp eq i32 %9054, 0
  br i1 %.not2093, label %9055, label %9056

9055:                                             ; preds = %9051, %9045
  br label %9056

9056:                                             ; preds = %9051, %9055
  %.str.5.sink5205 = phi ptr [ @.str.5, %9055 ], [ @.str.2, %9051 ]
  store i32 %9046, ptr %228, 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 %174, align 4, !tbaa !5
  %9060 = call ptr @s2n_strerror(i32 noundef %9059, ptr noundef nonnull @.str.4) #12
  %9061 = load i32, ptr %174, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror_debug(i32 noundef %9061, ptr noundef nonnull @.str.4) #12
  %9063 = load i32, ptr %228, align 4, !tbaa !5
  %9064 = call ptr @strerror(i32 noundef %9063) #12
  %9065 = load i32, ptr %228, align 4, !tbaa !5
  %9066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9057, ptr noundef nonnull %.str.5.sink5205, i32 noundef %9058, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 967, ptr noundef %9060, ptr noundef %9062, ptr noundef %9064, i32 noundef %9065) #14
  call void @exit(i32 noundef 1) #15
  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_connection_get_max_early_data_size(ptr noundef nonnull %8935, ptr noundef nonnull %42) #12
  %9071 = icmp eq i32 %9070, -1
  br i1 %9071, label %9072, label %9094

9072:                                             ; preds = %9067
  %9073 = load i32, ptr %228, align 4, !tbaa !5
  %9074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9075 = call i32 @s2n_print_stacktrace(ptr noundef %9074) #12
  %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) #12
  %9081 = call i32 @isatty(i32 noundef %9080) #12
  %.not2092 = icmp eq i32 %9081, 0
  br i1 %.not2092, label %9082, label %9083

9082:                                             ; preds = %9078, %9072
  br label %9083

9083:                                             ; preds = %9078, %9082
  %.str.5.sink5214 = phi ptr [ @.str.5, %9082 ], [ @.str.2, %9078 ]
  store i32 %9073, ptr %228, 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 %174, align 4, !tbaa !5
  %9087 = call ptr @s2n_strerror(i32 noundef %9086, ptr noundef nonnull @.str.4) #12
  %9088 = load i32, ptr %174, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror_debug(i32 noundef %9088, ptr noundef nonnull @.str.4) #12
  %9090 = load i32, ptr %228, align 4, !tbaa !5
  %9091 = call ptr @strerror(i32 noundef %9090) #12
  %9092 = load i32, ptr %228, align 4, !tbaa !5
  %9093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9084, ptr noundef nonnull %.str.5.sink5214, i32 noundef %9085, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.1, i32 noundef 968, ptr noundef %9087, ptr noundef %9089, ptr noundef %9091, i32 noundef %9092) #14
  call void @exit(i32 noundef 1) #15
  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 = load i32, ptr %42, align 4, !tbaa !5
  %9098 = icmp eq i32 %9097, 0
  br i1 %9098, label %9121, label %9099

9099:                                             ; preds = %9094
  %9100 = load i32, ptr %228, align 4, !tbaa !5
  %9101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9102 = call i32 @s2n_print_stacktrace(ptr noundef %9101) #12
  %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) #12
  %9108 = call i32 @isatty(i32 noundef %9107) #12
  %.not1848 = icmp eq i32 %9108, 0
  br i1 %.not1848, label %9109, label %9110

9109:                                             ; preds = %9105, %9099
  br label %9110

9110:                                             ; preds = %9105, %9109
  %.str.5.sink5223 = phi ptr [ @.str.5, %9109 ], [ @.str.2, %9105 ]
  store i32 %9100, ptr %228, 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 %174, align 4, !tbaa !5
  %9114 = call ptr @s2n_strerror(i32 noundef %9113, ptr noundef nonnull @.str.4) #12
  %9115 = load i32, ptr %174, align 4, !tbaa !5
  %9116 = call ptr @s2n_strerror_debug(i32 noundef %9115, ptr noundef nonnull @.str.4) #12
  %9117 = load i32, ptr %228, align 4, !tbaa !5
  %9118 = call ptr @strerror(i32 noundef %9117) #12
  %9119 = load i32, ptr %228, align 4, !tbaa !5
  %9120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9111, ptr noundef nonnull %.str.5.sink5223, i32 noundef %9112, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 969, ptr noundef %9114, ptr noundef %9116, ptr noundef %9118, i32 noundef %9119) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9121:                                             ; preds = %9094
  %9122 = getelementptr inbounds i8, ptr %8908, i64 2172
  store i32 1, ptr %9122, align 4, !tbaa !74
  %9123 = add nsw i32 %9095, 2
  store i32 %9123, ptr @test_count, align 4, !tbaa !5
  %9124 = call i32 @s2n_connection_get_max_early_data_size(ptr noundef nonnull %8908, ptr noundef nonnull %42) #12
  %9125 = icmp eq i32 %9124, -1
  br i1 %9125, label %9126, label %9148

9126:                                             ; preds = %9121
  %9127 = load i32, ptr %228, align 4, !tbaa !5
  %9128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9129 = call i32 @s2n_print_stacktrace(ptr noundef %9128) #12
  %9130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9131 = trunc nuw i8 %9130 to i1
  br i1 %9131, label %9132, label %9136

9132:                                             ; preds = %9126
  %9133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9134 = call i32 @fileno(ptr noundef %9133) #12
  %9135 = call i32 @isatty(i32 noundef %9134) #12
  %.not2091 = icmp eq i32 %9135, 0
  br i1 %.not2091, label %9136, label %9137

9136:                                             ; preds = %9132, %9126
  br label %9137

9137:                                             ; preds = %9132, %9136
  %.str.5.sink5232 = phi ptr [ @.str.5, %9136 ], [ @.str.2, %9132 ]
  store i32 %9127, ptr %228, align 4, !tbaa !5
  %9138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9139 = load i32, ptr @test_count, align 4, !tbaa !5
  %9140 = load i32, ptr %174, align 4, !tbaa !5
  %9141 = call ptr @s2n_strerror(i32 noundef %9140, ptr noundef nonnull @.str.4) #12
  %9142 = load i32, ptr %174, align 4, !tbaa !5
  %9143 = call ptr @s2n_strerror_debug(i32 noundef %9142, ptr noundef nonnull @.str.4) #12
  %9144 = load i32, ptr %228, align 4, !tbaa !5
  %9145 = call ptr @strerror(i32 noundef %9144) #12
  %9146 = load i32, ptr %228, align 4, !tbaa !5
  %9147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9138, ptr noundef nonnull %.str.5.sink5232, i32 noundef %9139, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 973, ptr noundef %9141, ptr noundef %9143, ptr noundef %9145, i32 noundef %9146) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9148:                                             ; preds = %9121
  %9149 = load i32, ptr @test_count, align 4, !tbaa !5
  %9150 = add nsw i32 %9149, 1
  store i32 %9150, ptr @test_count, align 4, !tbaa !5
  %9151 = load i32, ptr %42, align 4, !tbaa !5
  %9152 = icmp eq i32 %9151, 0
  br i1 %9152, label %9175, label %9153

9153:                                             ; preds = %9148
  %9154 = load i32, ptr %228, align 4, !tbaa !5
  %9155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9156 = call i32 @s2n_print_stacktrace(ptr noundef %9155) #12
  %9157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9158 = trunc nuw i8 %9157 to i1
  br i1 %9158, label %9159, label %9163

9159:                                             ; preds = %9153
  %9160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9161 = call i32 @fileno(ptr noundef %9160) #12
  %9162 = call i32 @isatty(i32 noundef %9161) #12
  %.not1849 = icmp eq i32 %9162, 0
  br i1 %.not1849, label %9163, label %9164

9163:                                             ; preds = %9159, %9153
  br label %9164

9164:                                             ; preds = %9159, %9163
  %.str.5.sink5241 = phi ptr [ @.str.5, %9163 ], [ @.str.2, %9159 ]
  store i32 %9154, ptr %228, align 4, !tbaa !5
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = load i32, ptr @test_count, align 4, !tbaa !5
  %9167 = load i32, ptr %174, align 4, !tbaa !5
  %9168 = call ptr @s2n_strerror(i32 noundef %9167, ptr noundef nonnull @.str.4) #12
  %9169 = load i32, ptr %174, align 4, !tbaa !5
  %9170 = call ptr @s2n_strerror_debug(i32 noundef %9169, ptr noundef nonnull @.str.4) #12
  %9171 = load i32, ptr %228, align 4, !tbaa !5
  %9172 = call ptr @strerror(i32 noundef %9171) #12
  %9173 = load i32, ptr %228, align 4, !tbaa !5
  %9174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9165, ptr noundef nonnull %.str.5.sink5241, i32 noundef %9166, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 974, ptr noundef %9168, ptr noundef %9170, ptr noundef %9172, i32 noundef %9173) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9175:                                             ; preds = %9148
  %9176 = add nsw i32 %9149, 2
  store i32 %9176, ptr @test_count, align 4, !tbaa !5
  %9177 = call i32 @s2n_connection_free(ptr noundef nonnull %8935) #12
  %9178 = icmp eq i32 %9177, -1
  br i1 %9178, label %9179, label %9201

9179:                                             ; preds = %9175
  %9180 = load i32, ptr %228, align 4, !tbaa !5
  %9181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9182 = call i32 @s2n_print_stacktrace(ptr noundef %9181) #12
  %9183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9184 = trunc nuw i8 %9183 to i1
  br i1 %9184, label %9185, label %9189

9185:                                             ; preds = %9179
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = call i32 @fileno(ptr noundef %9186) #12
  %9188 = call i32 @isatty(i32 noundef %9187) #12
  %.not2090 = icmp eq i32 %9188, 0
  br i1 %.not2090, label %9189, label %9190

9189:                                             ; preds = %9185, %9179
  br label %9190

9190:                                             ; preds = %9185, %9189
  %.str.5.sink5250 = phi ptr [ @.str.5, %9189 ], [ @.str.2, %9185 ]
  store i32 %9180, ptr %228, align 4, !tbaa !5
  %9191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9192 = load i32, ptr @test_count, align 4, !tbaa !5
  %9193 = load i32, ptr %174, align 4, !tbaa !5
  %9194 = call ptr @s2n_strerror(i32 noundef %9193, ptr noundef nonnull @.str.4) #12
  %9195 = load i32, ptr %174, align 4, !tbaa !5
  %9196 = call ptr @s2n_strerror_debug(i32 noundef %9195, ptr noundef nonnull @.str.4) #12
  %9197 = load i32, ptr %228, align 4, !tbaa !5
  %9198 = call ptr @strerror(i32 noundef %9197) #12
  %9199 = load i32, ptr %228, align 4, !tbaa !5
  %9200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9191, ptr noundef nonnull %.str.5.sink5250, i32 noundef %9192, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %9194, ptr noundef %9196, ptr noundef %9198, i32 noundef %9199) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9201:                                             ; preds = %9175
  %9202 = load i32, ptr @test_count, align 4, !tbaa !5
  %9203 = add nsw i32 %9202, 1
  store i32 %9203, ptr @test_count, align 4, !tbaa !5
  %9204 = call i32 @s2n_connection_free(ptr noundef nonnull %8908) #12
  %9205 = icmp eq i32 %9204, -1
  br i1 %9205, label %9206, label %9228

9206:                                             ; preds = %9201
  %9207 = load i32, ptr %228, align 4, !tbaa !5
  %9208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9209 = call i32 @s2n_print_stacktrace(ptr noundef %9208) #12
  %9210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9211 = trunc nuw i8 %9210 to i1
  br i1 %9211, label %9212, label %9216

9212:                                             ; preds = %9206
  %9213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9214 = call i32 @fileno(ptr noundef %9213) #12
  %9215 = call i32 @isatty(i32 noundef %9214) #12
  %.not2089 = icmp eq i32 %9215, 0
  br i1 %.not2089, label %9216, label %9217

9216:                                             ; preds = %9212, %9206
  br label %9217

9217:                                             ; preds = %9212, %9216
  %.str.5.sink5259 = phi ptr [ @.str.5, %9216 ], [ @.str.2, %9212 ]
  store i32 %9207, ptr %228, align 4, !tbaa !5
  %9218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9219 = load i32, ptr @test_count, align 4, !tbaa !5
  %9220 = load i32, ptr %174, align 4, !tbaa !5
  %9221 = call ptr @s2n_strerror(i32 noundef %9220, ptr noundef nonnull @.str.4) #12
  %9222 = load i32, ptr %174, align 4, !tbaa !5
  %9223 = call ptr @s2n_strerror_debug(i32 noundef %9222, ptr noundef nonnull @.str.4) #12
  %9224 = load i32, ptr %228, align 4, !tbaa !5
  %9225 = call ptr @strerror(i32 noundef %9224) #12
  %9226 = load i32, ptr %228, align 4, !tbaa !5
  %9227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9218, ptr noundef nonnull %.str.5.sink5259, i32 noundef %9219, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.1, i32 noundef 977, ptr noundef %9221, ptr noundef %9223, ptr noundef %9225, i32 noundef %9226) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9228:                                             ; preds = %9201
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #12
  %9229 = load i32, ptr @test_count, align 4, !tbaa !5
  %9230 = add nsw i32 %9229, 1
  store i32 %9230, ptr @test_count, align 4, !tbaa !5
  %9231 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef null, i32 noundef 1) #12
  %9232 = icmp eq i32 %9231, -1
  br i1 %9232, label %9255, label %9233

9233:                                             ; preds = %9228
  %9234 = load i32, ptr %228, align 4, !tbaa !5
  %9235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9236 = call i32 @s2n_print_stacktrace(ptr noundef %9235) #12
  %9237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9238 = trunc nuw i8 %9237 to i1
  br i1 %9238, label %9239, label %9243

9239:                                             ; preds = %9233
  %9240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9241 = call i32 @fileno(ptr noundef %9240) #12
  %9242 = call i32 @isatty(i32 noundef %9241) #12
  %.not1850 = icmp eq i32 %9242, 0
  br i1 %.not1850, label %9243, label %9244

9243:                                             ; preds = %9239, %9233
  br label %9244

9244:                                             ; preds = %9239, %9243
  %.str.5.sink5268 = phi ptr [ @.str.5, %9243 ], [ @.str.2, %9239 ]
  store i32 %9234, ptr %228, align 4, !tbaa !5
  %9245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9246 = load i32, ptr @test_count, align 4, !tbaa !5
  %9247 = load i32, ptr %174, align 4, !tbaa !5
  %9248 = call ptr @s2n_strerror(i32 noundef %9247, ptr noundef nonnull @.str.4) #12
  %9249 = load i32, ptr %174, align 4, !tbaa !5
  %9250 = call ptr @s2n_strerror_debug(i32 noundef %9249, ptr noundef nonnull @.str.4) #12
  %9251 = load i32, ptr %228, align 4, !tbaa !5
  %9252 = call ptr @strerror(i32 noundef %9251) #12
  %9253 = load i32, ptr %228, align 4, !tbaa !5
  %9254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9245, ptr noundef nonnull %.str.5.sink5268, i32 noundef %9246, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %9248, ptr noundef %9250, ptr noundef %9252, i32 noundef %9253) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9255:                                             ; preds = %9228
  %9256 = load i32, ptr @test_count, align 4, !tbaa !5
  %9257 = add nsw i32 %9256, 1
  store i32 %9257, ptr @test_count, align 4, !tbaa !5
  %9258 = load i32, ptr %174, align 4, !tbaa !5
  %9259 = icmp eq i32 %9258, 402653193
  br i1 %9259, label %9282, label %9260

9260:                                             ; preds = %9255
  %9261 = load i32, ptr %228, align 4, !tbaa !5
  %9262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9263 = call i32 @s2n_print_stacktrace(ptr noundef %9262) #12
  %9264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9265 = trunc nuw i8 %9264 to i1
  br i1 %9265, label %9266, label %9270

9266:                                             ; preds = %9260
  %9267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9268 = call i32 @fileno(ptr noundef %9267) #12
  %9269 = call i32 @isatty(i32 noundef %9268) #12
  %.not1851 = icmp eq i32 %9269, 0
  br i1 %.not1851, label %9270, label %9271

9270:                                             ; preds = %9266, %9260
  br label %9271

9271:                                             ; preds = %9266, %9270
  %.str.5.sink5277 = phi ptr [ @.str.5, %9270 ], [ @.str.2, %9266 ]
  store i32 %9261, ptr %228, align 4, !tbaa !5
  %9272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9273 = load i32, ptr @test_count, align 4, !tbaa !5
  %9274 = load i32, ptr %174, align 4, !tbaa !5
  %9275 = call ptr @s2n_strerror(i32 noundef %9274, ptr noundef nonnull @.str.4) #12
  %9276 = load i32, ptr %174, align 4, !tbaa !5
  %9277 = call ptr @s2n_strerror_debug(i32 noundef %9276, ptr noundef nonnull @.str.4) #12
  %9278 = load i32, ptr %228, align 4, !tbaa !5
  %9279 = call ptr @strerror(i32 noundef %9278) #12
  %9280 = load i32, ptr %228, align 4, !tbaa !5
  %9281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9272, ptr noundef nonnull %.str.5.sink5277, i32 noundef %9273, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %9275, ptr noundef %9277, ptr noundef %9279, i32 noundef %9280) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9282:                                             ; preds = %9255
  %9283 = add nsw i32 %9256, 2
  store i32 %9283, ptr @test_count, align 4, !tbaa !5
  %9284 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %9285 = icmp eq ptr %9284, null
  br i1 %9285, label %9286, label %9308

9286:                                             ; preds = %9282
  %9287 = load i32, ptr %228, align 4, !tbaa !5
  %9288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9289 = call i32 @s2n_print_stacktrace(ptr noundef %9288) #12
  %9290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9291 = trunc nuw i8 %9290 to i1
  br i1 %9291, label %9292, label %9296

9292:                                             ; preds = %9286
  %9293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9294 = call i32 @fileno(ptr noundef %9293) #12
  %9295 = call i32 @isatty(i32 noundef %9294) #12
  %.not2088 = icmp eq i32 %9295, 0
  br i1 %.not2088, label %9296, label %9297

9296:                                             ; preds = %9292, %9286
  br label %9297

9297:                                             ; preds = %9292, %9296
  %.str.5.sink5286 = phi ptr [ @.str.5, %9296 ], [ @.str.2, %9292 ]
  store i32 %9287, ptr %228, align 4, !tbaa !5
  %9298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9299 = load i32, ptr @test_count, align 4, !tbaa !5
  %9300 = load i32, ptr %174, align 4, !tbaa !5
  %9301 = call ptr @s2n_strerror(i32 noundef %9300, ptr noundef nonnull @.str.4) #12
  %9302 = load i32, ptr %174, align 4, !tbaa !5
  %9303 = call ptr @s2n_strerror_debug(i32 noundef %9302, ptr noundef nonnull @.str.4) #12
  %9304 = load i32, ptr %228, align 4, !tbaa !5
  %9305 = call ptr @strerror(i32 noundef %9304) #12
  %9306 = load i32, ptr %228, align 4, !tbaa !5
  %9307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9298, ptr noundef nonnull %.str.5.sink5286, i32 noundef %9299, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %9301, ptr noundef %9303, ptr noundef %9305, i32 noundef %9306) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9308:                                             ; preds = %9282
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %9309 = call ptr @s2n_config_new() #12
  %9310 = load i32, ptr @test_count, align 4, !tbaa !5
  %9311 = add nsw i32 %9310, 1
  store i32 %9311, ptr @test_count, align 4, !tbaa !5
  %9312 = icmp eq ptr %9309, null
  br i1 %9312, label %9313, label %9335

9313:                                             ; preds = %9308
  %9314 = load i32, ptr %228, align 4, !tbaa !5
  %9315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9316 = call i32 @s2n_print_stacktrace(ptr noundef %9315) #12
  %9317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9318 = trunc nuw i8 %9317 to i1
  br i1 %9318, label %9319, label %9323

9319:                                             ; preds = %9313
  %9320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9321 = call i32 @fileno(ptr noundef %9320) #12
  %9322 = call i32 @isatty(i32 noundef %9321) #12
  %.not2087 = icmp eq i32 %9322, 0
  br i1 %.not2087, label %9323, label %9324

9323:                                             ; preds = %9319, %9313
  br label %9324

9324:                                             ; preds = %9319, %9323
  %.str.5.sink5295 = phi ptr [ @.str.5, %9323 ], [ @.str.2, %9319 ]
  store i32 %9314, ptr %228, align 4, !tbaa !5
  %9325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9326 = load i32, ptr @test_count, align 4, !tbaa !5
  %9327 = load i32, ptr %174, align 4, !tbaa !5
  %9328 = call ptr @s2n_strerror(i32 noundef %9327, ptr noundef nonnull @.str.4) #12
  %9329 = load i32, ptr %174, align 4, !tbaa !5
  %9330 = call ptr @s2n_strerror_debug(i32 noundef %9329, ptr noundef nonnull @.str.4) #12
  %9331 = load i32, ptr %228, align 4, !tbaa !5
  %9332 = call ptr @strerror(i32 noundef %9331) #12
  %9333 = load i32, ptr %228, align 4, !tbaa !5
  %9334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9325, ptr noundef nonnull %.str.5.sink5295, i32 noundef %9326, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 987, ptr noundef %9328, ptr noundef %9330, ptr noundef %9332, i32 noundef %9333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9335:                                             ; preds = %9308
  %9336 = add nsw i32 %9310, 2
  store i32 %9336, ptr @test_count, align 4, !tbaa !5
  %9337 = getelementptr inbounds i8, ptr %9309, i64 392
  %9338 = load i32, ptr %9337, align 8, !tbaa !75
  %9339 = icmp eq i32 %9338, 0
  br i1 %9339, label %9362, label %9340

9340:                                             ; preds = %9335
  %9341 = load i32, ptr %228, align 4, !tbaa !5
  %9342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9343 = call i32 @s2n_print_stacktrace(ptr noundef %9342) #12
  %9344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9345 = trunc nuw i8 %9344 to i1
  br i1 %9345, label %9346, label %9350

9346:                                             ; preds = %9340
  %9347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9348 = call i32 @fileno(ptr noundef %9347) #12
  %9349 = call i32 @isatty(i32 noundef %9348) #12
  %.not1852 = icmp eq i32 %9349, 0
  br i1 %.not1852, label %9350, label %9351

9350:                                             ; preds = %9346, %9340
  br label %9351

9351:                                             ; preds = %9346, %9350
  %.str.5.sink5304 = phi ptr [ @.str.5, %9350 ], [ @.str.2, %9346 ]
  store i32 %9341, ptr %228, align 4, !tbaa !5
  %9352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9353 = load i32, ptr @test_count, align 4, !tbaa !5
  %9354 = load i32, ptr %174, align 4, !tbaa !5
  %9355 = call ptr @s2n_strerror(i32 noundef %9354, ptr noundef nonnull @.str.4) #12
  %9356 = load i32, ptr %174, align 4, !tbaa !5
  %9357 = call ptr @s2n_strerror_debug(i32 noundef %9356, ptr noundef nonnull @.str.4) #12
  %9358 = load i32, ptr %228, align 4, !tbaa !5
  %9359 = call ptr @strerror(i32 noundef %9358) #12
  %9360 = load i32, ptr %228, align 4, !tbaa !5
  %9361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9352, ptr noundef nonnull %.str.5.sink5304, i32 noundef %9353, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.1, i32 noundef 989, ptr noundef %9355, ptr noundef %9357, ptr noundef %9359, i32 noundef %9360) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9362:                                             ; preds = %9335
  %9363 = add nsw i32 %9310, 3
  store i32 %9363, ptr @test_count, align 4, !tbaa !5
  %9364 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef nonnull %9309, i32 noundef 1) #12
  %9365 = icmp eq i32 %9364, -1
  br i1 %9365, label %9366, label %9388

9366:                                             ; preds = %9362
  %9367 = load i32, ptr %228, align 4, !tbaa !5
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = call i32 @s2n_print_stacktrace(ptr noundef %9368) #12
  %9370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9371 = trunc nuw i8 %9370 to i1
  br i1 %9371, label %9372, label %9376

9372:                                             ; preds = %9366
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = call i32 @fileno(ptr noundef %9373) #12
  %9375 = call i32 @isatty(i32 noundef %9374) #12
  %.not2086 = icmp eq i32 %9375, 0
  br i1 %.not2086, label %9376, label %9377

9376:                                             ; preds = %9372, %9366
  br label %9377

9377:                                             ; preds = %9372, %9376
  %.str.5.sink5313 = phi ptr [ @.str.5, %9376 ], [ @.str.2, %9372 ]
  store i32 %9367, ptr %228, align 4, !tbaa !5
  %9378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9379 = load i32, ptr @test_count, align 4, !tbaa !5
  %9380 = load i32, ptr %174, align 4, !tbaa !5
  %9381 = call ptr @s2n_strerror(i32 noundef %9380, ptr noundef nonnull @.str.4) #12
  %9382 = load i32, ptr %174, align 4, !tbaa !5
  %9383 = call ptr @s2n_strerror_debug(i32 noundef %9382, ptr noundef nonnull @.str.4) #12
  %9384 = load i32, ptr %228, align 4, !tbaa !5
  %9385 = call ptr @strerror(i32 noundef %9384) #12
  %9386 = load i32, ptr %228, align 4, !tbaa !5
  %9387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9378, ptr noundef nonnull %.str.5.sink5313, i32 noundef %9379, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.1, i32 noundef 991, ptr noundef %9381, ptr noundef %9383, ptr noundef %9385, i32 noundef %9386) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9388:                                             ; preds = %9362
  %9389 = load i32, ptr @test_count, align 4, !tbaa !5
  %9390 = add nsw i32 %9389, 1
  store i32 %9390, ptr @test_count, align 4, !tbaa !5
  %9391 = load i32, ptr %9337, align 8, !tbaa !75
  %9392 = icmp eq i32 %9391, 1
  br i1 %9392, label %9415, label %9393

9393:                                             ; preds = %9388
  %9394 = load i32, ptr %228, align 4, !tbaa !5
  %9395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9396 = call i32 @s2n_print_stacktrace(ptr noundef %9395) #12
  %9397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9398 = trunc nuw i8 %9397 to i1
  br i1 %9398, label %9399, label %9403

9399:                                             ; preds = %9393
  %9400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9401 = call i32 @fileno(ptr noundef %9400) #12
  %9402 = call i32 @isatty(i32 noundef %9401) #12
  %.not1853 = icmp eq i32 %9402, 0
  br i1 %.not1853, label %9403, label %9404

9403:                                             ; preds = %9399, %9393
  br label %9404

9404:                                             ; preds = %9399, %9403
  %.str.5.sink5322 = phi ptr [ @.str.5, %9403 ], [ @.str.2, %9399 ]
  store i32 %9394, ptr %228, align 4, !tbaa !5
  %9405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9406 = load i32, ptr @test_count, align 4, !tbaa !5
  %9407 = load i32, ptr %174, align 4, !tbaa !5
  %9408 = call ptr @s2n_strerror(i32 noundef %9407, ptr noundef nonnull @.str.4) #12
  %9409 = load i32, ptr %174, align 4, !tbaa !5
  %9410 = call ptr @s2n_strerror_debug(i32 noundef %9409, ptr noundef nonnull @.str.4) #12
  %9411 = load i32, ptr %228, align 4, !tbaa !5
  %9412 = call ptr @strerror(i32 noundef %9411) #12
  %9413 = load i32, ptr %228, align 4, !tbaa !5
  %9414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9405, ptr noundef nonnull %.str.5.sink5322, i32 noundef %9406, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.1, i32 noundef 992, ptr noundef %9408, ptr noundef %9410, ptr noundef %9412, i32 noundef %9413) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9415:                                             ; preds = %9388
  %9416 = add nsw i32 %9389, 2
  store i32 %9416, ptr @test_count, align 4, !tbaa !5
  %9417 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef nonnull %9309, i32 noundef -1) #12
  %9418 = icmp eq i32 %9417, -1
  br i1 %9418, label %9419, label %9441

9419:                                             ; preds = %9415
  %9420 = load i32, ptr %228, align 4, !tbaa !5
  %9421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9422 = call i32 @s2n_print_stacktrace(ptr noundef %9421) #12
  %9423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9424 = trunc nuw i8 %9423 to i1
  br i1 %9424, label %9425, label %9429

9425:                                             ; preds = %9419
  %9426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9427 = call i32 @fileno(ptr noundef %9426) #12
  %9428 = call i32 @isatty(i32 noundef %9427) #12
  %.not2085 = icmp eq i32 %9428, 0
  br i1 %.not2085, label %9429, label %9430

9429:                                             ; preds = %9425, %9419
  br label %9430

9430:                                             ; preds = %9425, %9429
  %.str.5.sink5331 = phi ptr [ @.str.5, %9429 ], [ @.str.2, %9425 ]
  store i32 %9420, ptr %228, align 4, !tbaa !5
  %9431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9432 = load i32, ptr @test_count, align 4, !tbaa !5
  %9433 = load i32, ptr %174, align 4, !tbaa !5
  %9434 = call ptr @s2n_strerror(i32 noundef %9433, ptr noundef nonnull @.str.4) #12
  %9435 = load i32, ptr %174, align 4, !tbaa !5
  %9436 = call ptr @s2n_strerror_debug(i32 noundef %9435, ptr noundef nonnull @.str.4) #12
  %9437 = load i32, ptr %228, align 4, !tbaa !5
  %9438 = call ptr @strerror(i32 noundef %9437) #12
  %9439 = load i32, ptr %228, align 4, !tbaa !5
  %9440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9431, ptr noundef nonnull %.str.5.sink5331, i32 noundef %9432, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.1, i32 noundef 994, ptr noundef %9434, ptr noundef %9436, ptr noundef %9438, i32 noundef %9439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9441:                                             ; preds = %9415
  %9442 = load i32, ptr @test_count, align 4, !tbaa !5
  %9443 = add nsw i32 %9442, 1
  store i32 %9443, ptr @test_count, align 4, !tbaa !5
  %9444 = load i32, ptr %9337, align 8, !tbaa !75
  %9445 = icmp eq i32 %9444, -1
  br i1 %9445, label %9468, label %9446

9446:                                             ; preds = %9441
  %9447 = load i32, ptr %228, align 4, !tbaa !5
  %9448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9449 = call i32 @s2n_print_stacktrace(ptr noundef %9448) #12
  %9450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9451 = trunc nuw i8 %9450 to i1
  br i1 %9451, label %9452, label %9456

9452:                                             ; preds = %9446
  %9453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9454 = call i32 @fileno(ptr noundef %9453) #12
  %9455 = call i32 @isatty(i32 noundef %9454) #12
  %.not1854 = icmp eq i32 %9455, 0
  br i1 %.not1854, label %9456, label %9457

9456:                                             ; preds = %9452, %9446
  br label %9457

9457:                                             ; preds = %9452, %9456
  %.str.5.sink5340 = phi ptr [ @.str.5, %9456 ], [ @.str.2, %9452 ]
  store i32 %9447, ptr %228, align 4, !tbaa !5
  %9458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9459 = load i32, ptr @test_count, align 4, !tbaa !5
  %9460 = load i32, ptr %174, align 4, !tbaa !5
  %9461 = call ptr @s2n_strerror(i32 noundef %9460, ptr noundef nonnull @.str.4) #12
  %9462 = load i32, ptr %174, align 4, !tbaa !5
  %9463 = call ptr @s2n_strerror_debug(i32 noundef %9462, ptr noundef nonnull @.str.4) #12
  %9464 = load i32, ptr %228, align 4, !tbaa !5
  %9465 = call ptr @strerror(i32 noundef %9464) #12
  %9466 = load i32, ptr %228, align 4, !tbaa !5
  %9467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9458, ptr noundef nonnull %.str.5.sink5340, i32 noundef %9459, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.1, i32 noundef 995, ptr noundef %9461, ptr noundef %9463, ptr noundef %9465, i32 noundef %9466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9468:                                             ; preds = %9441
  %9469 = add nsw i32 %9442, 2
  store i32 %9469, ptr @test_count, align 4, !tbaa !5
  %9470 = call i32 @s2n_config_free(ptr noundef nonnull %9309) #12
  %9471 = icmp eq i32 %9470, -1
  br i1 %9471, label %9472, label %9494

9472:                                             ; preds = %9468
  %9473 = load i32, ptr %228, align 4, !tbaa !5
  %9474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9475 = call i32 @s2n_print_stacktrace(ptr noundef %9474) #12
  %9476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9477 = trunc nuw i8 %9476 to i1
  br i1 %9477, label %9478, label %9482

9478:                                             ; preds = %9472
  %9479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9480 = call i32 @fileno(ptr noundef %9479) #12
  %9481 = call i32 @isatty(i32 noundef %9480) #12
  %.not2084 = icmp eq i32 %9481, 0
  br i1 %.not2084, label %9482, label %9483

9482:                                             ; preds = %9478, %9472
  br label %9483

9483:                                             ; preds = %9478, %9482
  %.str.5.sink5349 = phi ptr [ @.str.5, %9482 ], [ @.str.2, %9478 ]
  store i32 %9473, ptr %228, align 4, !tbaa !5
  %9484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9485 = load i32, ptr @test_count, align 4, !tbaa !5
  %9486 = load i32, ptr %174, align 4, !tbaa !5
  %9487 = call ptr @s2n_strerror(i32 noundef %9486, ptr noundef nonnull @.str.4) #12
  %9488 = load i32, ptr %174, align 4, !tbaa !5
  %9489 = call ptr @s2n_strerror_debug(i32 noundef %9488, ptr noundef nonnull @.str.4) #12
  %9490 = load i32, ptr %228, align 4, !tbaa !5
  %9491 = call ptr @strerror(i32 noundef %9490) #12
  %9492 = load i32, ptr %228, align 4, !tbaa !5
  %9493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9484, ptr noundef nonnull %.str.5.sink5349, i32 noundef %9485, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 997, ptr noundef %9487, ptr noundef %9489, ptr noundef %9491, i32 noundef %9492) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9494:                                             ; preds = %9468
  %9495 = load i32, ptr @test_count, align 4, !tbaa !5
  %9496 = add nsw i32 %9495, 1
  store i32 %9496, ptr @test_count, align 4, !tbaa !5
  %9497 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef null, i32 noundef 1) #12
  %9498 = icmp eq i32 %9497, -1
  br i1 %9498, label %9521, label %9499

9499:                                             ; preds = %9494
  %9500 = load i32, ptr %228, align 4, !tbaa !5
  %9501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9502 = call i32 @s2n_print_stacktrace(ptr noundef %9501) #12
  %9503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9504 = trunc nuw i8 %9503 to i1
  br i1 %9504, label %9505, label %9509

9505:                                             ; preds = %9499
  %9506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9507 = call i32 @fileno(ptr noundef %9506) #12
  %9508 = call i32 @isatty(i32 noundef %9507) #12
  %.not1855 = icmp eq i32 %9508, 0
  br i1 %.not1855, label %9509, label %9510

9509:                                             ; preds = %9505, %9499
  br label %9510

9510:                                             ; preds = %9505, %9509
  %.str.5.sink5358 = phi ptr [ @.str.5, %9509 ], [ @.str.2, %9505 ]
  store i32 %9500, ptr %228, align 4, !tbaa !5
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = load i32, ptr @test_count, align 4, !tbaa !5
  %9513 = load i32, ptr %174, align 4, !tbaa !5
  %9514 = call ptr @s2n_strerror(i32 noundef %9513, ptr noundef nonnull @.str.4) #12
  %9515 = load i32, ptr %174, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror_debug(i32 noundef %9515, ptr noundef nonnull @.str.4) #12
  %9517 = load i32, ptr %228, align 4, !tbaa !5
  %9518 = call ptr @strerror(i32 noundef %9517) #12
  %9519 = load i32, ptr %228, align 4, !tbaa !5
  %9520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9511, ptr noundef nonnull %.str.5.sink5358, i32 noundef %9512, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.1, i32 noundef 1003, ptr noundef %9514, ptr noundef %9516, ptr noundef %9518, i32 noundef %9519) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9521:                                             ; preds = %9494
  %9522 = load i32, ptr @test_count, align 4, !tbaa !5
  %9523 = add nsw i32 %9522, 1
  store i32 %9523, ptr @test_count, align 4, !tbaa !5
  %9524 = load i32, ptr %174, align 4, !tbaa !5
  %9525 = icmp eq i32 %9524, 402653193
  br i1 %9525, label %9548, label %9526

9526:                                             ; preds = %9521
  %9527 = load i32, ptr %228, align 4, !tbaa !5
  %9528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9529 = call i32 @s2n_print_stacktrace(ptr noundef %9528) #12
  %9530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9531 = trunc nuw i8 %9530 to i1
  br i1 %9531, label %9532, label %9536

9532:                                             ; preds = %9526
  %9533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9534 = call i32 @fileno(ptr noundef %9533) #12
  %9535 = call i32 @isatty(i32 noundef %9534) #12
  %.not1856 = icmp eq i32 %9535, 0
  br i1 %.not1856, label %9536, label %9537

9536:                                             ; preds = %9532, %9526
  br label %9537

9537:                                             ; preds = %9532, %9536
  %.str.5.sink5367 = phi ptr [ @.str.5, %9536 ], [ @.str.2, %9532 ]
  store i32 %9527, ptr %228, align 4, !tbaa !5
  %9538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9539 = load i32, ptr @test_count, align 4, !tbaa !5
  %9540 = load i32, ptr %174, align 4, !tbaa !5
  %9541 = call ptr @s2n_strerror(i32 noundef %9540, ptr noundef nonnull @.str.4) #12
  %9542 = load i32, ptr %174, align 4, !tbaa !5
  %9543 = call ptr @s2n_strerror_debug(i32 noundef %9542, ptr noundef nonnull @.str.4) #12
  %9544 = load i32, ptr %228, align 4, !tbaa !5
  %9545 = call ptr @strerror(i32 noundef %9544) #12
  %9546 = load i32, ptr %228, align 4, !tbaa !5
  %9547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9538, ptr noundef nonnull %.str.5.sink5367, i32 noundef %9539, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1003, ptr noundef %9541, ptr noundef %9543, ptr noundef %9545, i32 noundef %9546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9548:                                             ; preds = %9521
  %9549 = add nsw i32 %9522, 2
  store i32 %9549, ptr @test_count, align 4, !tbaa !5
  %9550 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %9551 = icmp eq ptr %9550, null
  br i1 %9551, label %9552, label %9574

9552:                                             ; preds = %9548
  %9553 = load i32, ptr %228, align 4, !tbaa !5
  %9554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9555 = call i32 @s2n_print_stacktrace(ptr noundef %9554) #12
  %9556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9557 = trunc nuw i8 %9556 to i1
  br i1 %9557, label %9558, label %9562

9558:                                             ; preds = %9552
  %9559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9560 = call i32 @fileno(ptr noundef %9559) #12
  %9561 = call i32 @isatty(i32 noundef %9560) #12
  %.not2083 = icmp eq i32 %9561, 0
  br i1 %.not2083, label %9562, label %9563

9562:                                             ; preds = %9558, %9552
  br label %9563

9563:                                             ; preds = %9558, %9562
  %.str.5.sink5376 = phi ptr [ @.str.5, %9562 ], [ @.str.2, %9558 ]
  store i32 %9553, ptr %228, align 4, !tbaa !5
  %9564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9565 = load i32, ptr @test_count, align 4, !tbaa !5
  %9566 = load i32, ptr %174, align 4, !tbaa !5
  %9567 = call ptr @s2n_strerror(i32 noundef %9566, ptr noundef nonnull @.str.4) #12
  %9568 = load i32, ptr %174, align 4, !tbaa !5
  %9569 = call ptr @s2n_strerror_debug(i32 noundef %9568, ptr noundef nonnull @.str.4) #12
  %9570 = load i32, ptr %228, align 4, !tbaa !5
  %9571 = call ptr @strerror(i32 noundef %9570) #12
  %9572 = load i32, ptr %228, align 4, !tbaa !5
  %9573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9564, ptr noundef nonnull %.str.5.sink5376, i32 noundef %9565, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1003, ptr noundef %9567, ptr noundef %9569, ptr noundef %9571, i32 noundef %9572) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9574:                                             ; preds = %9548
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %9575 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %9576 = load i32, ptr @test_count, align 4, !tbaa !5
  %9577 = add nsw i32 %9576, 1
  store i32 %9577, ptr @test_count, align 4, !tbaa !5
  %9578 = icmp eq ptr %9575, null
  br i1 %9578, label %9579, label %9601

9579:                                             ; preds = %9574
  %9580 = load i32, ptr %228, align 4, !tbaa !5
  %9581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9582 = call i32 @s2n_print_stacktrace(ptr noundef %9581) #12
  %9583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9584 = trunc nuw i8 %9583 to i1
  br i1 %9584, label %9585, label %9589

9585:                                             ; preds = %9579
  %9586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9587 = call i32 @fileno(ptr noundef %9586) #12
  %9588 = call i32 @isatty(i32 noundef %9587) #12
  %.not2082 = icmp eq i32 %9588, 0
  br i1 %.not2082, label %9589, label %9590

9589:                                             ; preds = %9585, %9579
  br label %9590

9590:                                             ; preds = %9585, %9589
  %.str.5.sink5385 = phi ptr [ @.str.5, %9589 ], [ @.str.2, %9585 ]
  store i32 %9580, ptr %228, align 4, !tbaa !5
  %9591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9592 = load i32, ptr @test_count, align 4, !tbaa !5
  %9593 = load i32, ptr %174, align 4, !tbaa !5
  %9594 = call ptr @s2n_strerror(i32 noundef %9593, ptr noundef nonnull @.str.4) #12
  %9595 = load i32, ptr %174, align 4, !tbaa !5
  %9596 = call ptr @s2n_strerror_debug(i32 noundef %9595, ptr noundef nonnull @.str.4) #12
  %9597 = load i32, ptr %228, align 4, !tbaa !5
  %9598 = call ptr @strerror(i32 noundef %9597) #12
  %9599 = load i32, ptr %228, align 4, !tbaa !5
  %9600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9591, ptr noundef nonnull %.str.5.sink5385, i32 noundef %9592, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 1006, ptr noundef %9594, ptr noundef %9596, ptr noundef %9598, i32 noundef %9599) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9601:                                             ; preds = %9574
  %9602 = add nsw i32 %9576, 2
  store i32 %9602, ptr @test_count, align 4, !tbaa !5
  %9603 = getelementptr inbounds i8, ptr %9575, i64 4092
  %9604 = load i32, ptr %9603, align 4, !tbaa !79
  %9605 = icmp eq i32 %9604, 0
  br i1 %9605, label %9628, label %9606

9606:                                             ; preds = %9601
  %9607 = load i32, ptr %228, align 4, !tbaa !5
  %9608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9609 = call i32 @s2n_print_stacktrace(ptr noundef %9608) #12
  %9610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9611 = trunc nuw i8 %9610 to i1
  br i1 %9611, label %9612, label %9616

9612:                                             ; preds = %9606
  %9613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9614 = call i32 @fileno(ptr noundef %9613) #12
  %9615 = call i32 @isatty(i32 noundef %9614) #12
  %.not1857 = icmp eq i32 %9615, 0
  br i1 %.not1857, label %9616, label %9617

9616:                                             ; preds = %9612, %9606
  br label %9617

9617:                                             ; preds = %9612, %9616
  %.str.5.sink5394 = phi ptr [ @.str.5, %9616 ], [ @.str.2, %9612 ]
  store i32 %9607, ptr %228, align 4, !tbaa !5
  %9618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9619 = load i32, ptr @test_count, align 4, !tbaa !5
  %9620 = load i32, ptr %174, align 4, !tbaa !5
  %9621 = call ptr @s2n_strerror(i32 noundef %9620, ptr noundef nonnull @.str.4) #12
  %9622 = load i32, ptr %174, align 4, !tbaa !5
  %9623 = call ptr @s2n_strerror_debug(i32 noundef %9622, ptr noundef nonnull @.str.4) #12
  %9624 = load i32, ptr %228, align 4, !tbaa !5
  %9625 = call ptr @strerror(i32 noundef %9624) #12
  %9626 = load i32, ptr %228, align 4, !tbaa !5
  %9627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9618, ptr noundef nonnull %.str.5.sink5394, i32 noundef %9619, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.1, i32 noundef 1008, ptr noundef %9621, ptr noundef %9623, ptr noundef %9625, i32 noundef %9626) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9628:                                             ; preds = %9601
  %9629 = add nsw i32 %9576, 3
  store i32 %9629, ptr @test_count, align 4, !tbaa !5
  %9630 = load i32, ptr %9575, align 8
  %9631 = and i32 %9630, 2048
  %.not1858 = icmp eq i32 %9631, 0
  br i1 %.not1858, label %9654, label %9632

9632:                                             ; preds = %9628
  %9633 = load i32, ptr %228, align 4, !tbaa !5
  %9634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9635 = call i32 @s2n_print_stacktrace(ptr noundef %9634) #12
  %9636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9637 = trunc nuw i8 %9636 to i1
  br i1 %9637, label %9638, label %9642

9638:                                             ; preds = %9632
  %9639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9640 = call i32 @fileno(ptr noundef %9639) #12
  %9641 = call i32 @isatty(i32 noundef %9640) #12
  %.not2081 = icmp eq i32 %9641, 0
  br i1 %.not2081, label %9642, label %9643

9642:                                             ; preds = %9638, %9632
  br label %9643

9643:                                             ; preds = %9638, %9642
  %.str.5.sink5403 = phi ptr [ @.str.5, %9642 ], [ @.str.2, %9638 ]
  store i32 %9633, ptr %228, align 4, !tbaa !5
  %9644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9645 = load i32, ptr @test_count, align 4, !tbaa !5
  %9646 = load i32, ptr %174, align 4, !tbaa !5
  %9647 = call ptr @s2n_strerror(i32 noundef %9646, ptr noundef nonnull @.str.4) #12
  %9648 = load i32, ptr %174, align 4, !tbaa !5
  %9649 = call ptr @s2n_strerror_debug(i32 noundef %9648, ptr noundef nonnull @.str.4) #12
  %9650 = load i32, ptr %228, align 4, !tbaa !5
  %9651 = call ptr @strerror(i32 noundef %9650) #12
  %9652 = load i32, ptr %228, align 4, !tbaa !5
  %9653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9644, ptr noundef nonnull %.str.5.sink5403, i32 noundef %9645, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.1, i32 noundef 1009, ptr noundef %9647, ptr noundef %9649, ptr noundef %9651, i32 noundef %9652) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9654:                                             ; preds = %9628
  %9655 = add nsw i32 %9576, 4
  store i32 %9655, ptr @test_count, align 4, !tbaa !5
  %9656 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %9575, i32 noundef 1) #12
  %9657 = icmp eq i32 %9656, -1
  br i1 %9657, label %9658, label %9680

9658:                                             ; preds = %9654
  %9659 = load i32, ptr %228, align 4, !tbaa !5
  %9660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9661 = call i32 @s2n_print_stacktrace(ptr noundef %9660) #12
  %9662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9663 = trunc nuw i8 %9662 to i1
  br i1 %9663, label %9664, label %9668

9664:                                             ; preds = %9658
  %9665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9666 = call i32 @fileno(ptr noundef %9665) #12
  %9667 = call i32 @isatty(i32 noundef %9666) #12
  %.not2080 = icmp eq i32 %9667, 0
  br i1 %.not2080, label %9668, label %9669

9668:                                             ; preds = %9664, %9658
  br label %9669

9669:                                             ; preds = %9664, %9668
  %.str.5.sink5412 = phi ptr [ @.str.5, %9668 ], [ @.str.2, %9664 ]
  store i32 %9659, ptr %228, align 4, !tbaa !5
  %9670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9671 = load i32, ptr @test_count, align 4, !tbaa !5
  %9672 = load i32, ptr %174, align 4, !tbaa !5
  %9673 = call ptr @s2n_strerror(i32 noundef %9672, ptr noundef nonnull @.str.4) #12
  %9674 = load i32, ptr %174, align 4, !tbaa !5
  %9675 = call ptr @s2n_strerror_debug(i32 noundef %9674, ptr noundef nonnull @.str.4) #12
  %9676 = load i32, ptr %228, align 4, !tbaa !5
  %9677 = call ptr @strerror(i32 noundef %9676) #12
  %9678 = load i32, ptr %228, align 4, !tbaa !5
  %9679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9670, ptr noundef nonnull %.str.5.sink5412, i32 noundef %9671, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.1, i32 noundef 1011, ptr noundef %9673, ptr noundef %9675, ptr noundef %9677, i32 noundef %9678) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9680:                                             ; preds = %9654
  %9681 = load i32, ptr @test_count, align 4, !tbaa !5
  %9682 = add nsw i32 %9681, 1
  store i32 %9682, ptr @test_count, align 4, !tbaa !5
  %9683 = load i32, ptr %9603, align 4, !tbaa !79
  %9684 = icmp eq i32 %9683, 1
  br i1 %9684, label %9707, label %9685

9685:                                             ; preds = %9680
  %9686 = load i32, ptr %228, align 4, !tbaa !5
  %9687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9688 = call i32 @s2n_print_stacktrace(ptr noundef %9687) #12
  %9689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9690 = trunc nuw i8 %9689 to i1
  br i1 %9690, label %9691, label %9695

9691:                                             ; preds = %9685
  %9692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9693 = call i32 @fileno(ptr noundef %9692) #12
  %9694 = call i32 @isatty(i32 noundef %9693) #12
  %.not1859 = icmp eq i32 %9694, 0
  br i1 %.not1859, label %9695, label %9696

9695:                                             ; preds = %9691, %9685
  br label %9696

9696:                                             ; preds = %9691, %9695
  %.str.5.sink5421 = phi ptr [ @.str.5, %9695 ], [ @.str.2, %9691 ]
  store i32 %9686, ptr %228, align 4, !tbaa !5
  %9697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9698 = load i32, ptr @test_count, align 4, !tbaa !5
  %9699 = load i32, ptr %174, align 4, !tbaa !5
  %9700 = call ptr @s2n_strerror(i32 noundef %9699, ptr noundef nonnull @.str.4) #12
  %9701 = load i32, ptr %174, align 4, !tbaa !5
  %9702 = call ptr @s2n_strerror_debug(i32 noundef %9701, ptr noundef nonnull @.str.4) #12
  %9703 = load i32, ptr %228, align 4, !tbaa !5
  %9704 = call ptr @strerror(i32 noundef %9703) #12
  %9705 = load i32, ptr %228, align 4, !tbaa !5
  %9706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9697, ptr noundef nonnull %.str.5.sink5421, i32 noundef %9698, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.1, i32 noundef 1012, ptr noundef %9700, ptr noundef %9702, ptr noundef %9704, i32 noundef %9705) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9707:                                             ; preds = %9680
  %9708 = add nsw i32 %9681, 2
  store i32 %9708, ptr @test_count, align 4, !tbaa !5
  %9709 = load i32, ptr %9575, align 8
  %9710 = and i32 %9709, 2048
  %.not1860 = icmp eq i32 %9710, 0
  br i1 %.not1860, label %9711, label %9733

9711:                                             ; preds = %9707
  %9712 = load i32, ptr %228, align 4, !tbaa !5
  %9713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9714 = call i32 @s2n_print_stacktrace(ptr noundef %9713) #12
  %9715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9716 = trunc nuw i8 %9715 to i1
  br i1 %9716, label %9717, label %9721

9717:                                             ; preds = %9711
  %9718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9719 = call i32 @fileno(ptr noundef %9718) #12
  %9720 = call i32 @isatty(i32 noundef %9719) #12
  %.not1861 = icmp eq i32 %9720, 0
  br i1 %.not1861, label %9721, label %9722

9721:                                             ; preds = %9717, %9711
  br label %9722

9722:                                             ; preds = %9717, %9721
  %.str.5.sink5430 = phi ptr [ @.str.5, %9721 ], [ @.str.2, %9717 ]
  store i32 %9712, ptr %228, align 4, !tbaa !5
  %9723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9724 = load i32, ptr @test_count, align 4, !tbaa !5
  %9725 = load i32, ptr %174, align 4, !tbaa !5
  %9726 = call ptr @s2n_strerror(i32 noundef %9725, ptr noundef nonnull @.str.4) #12
  %9727 = load i32, ptr %174, align 4, !tbaa !5
  %9728 = call ptr @s2n_strerror_debug(i32 noundef %9727, ptr noundef nonnull @.str.4) #12
  %9729 = load i32, ptr %228, align 4, !tbaa !5
  %9730 = call ptr @strerror(i32 noundef %9729) #12
  %9731 = load i32, ptr %228, align 4, !tbaa !5
  %9732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9723, ptr noundef nonnull %.str.5.sink5430, i32 noundef %9724, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 1013, ptr noundef %9726, ptr noundef %9728, ptr noundef %9730, i32 noundef %9731) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9733:                                             ; preds = %9707
  %9734 = and i32 %9709, -2049
  store i32 %9734, ptr %9575, align 8
  %9735 = load i32, ptr @test_count, align 4, !tbaa !5
  %9736 = add nsw i32 %9735, 1
  store i32 %9736, ptr @test_count, align 4, !tbaa !5
  %9737 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %9575, i32 noundef -1) #12
  %9738 = icmp eq i32 %9737, -1
  br i1 %9738, label %9739, label %9761

9739:                                             ; preds = %9733
  %9740 = load i32, ptr %228, align 4, !tbaa !5
  %9741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9742 = call i32 @s2n_print_stacktrace(ptr noundef %9741) #12
  %9743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9744 = trunc nuw i8 %9743 to i1
  br i1 %9744, label %9745, label %9749

9745:                                             ; preds = %9739
  %9746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9747 = call i32 @fileno(ptr noundef %9746) #12
  %9748 = call i32 @isatty(i32 noundef %9747) #12
  %.not2079 = icmp eq i32 %9748, 0
  br i1 %.not2079, label %9749, label %9750

9749:                                             ; preds = %9745, %9739
  br label %9750

9750:                                             ; preds = %9745, %9749
  %.str.5.sink5439 = phi ptr [ @.str.5, %9749 ], [ @.str.2, %9745 ]
  store i32 %9740, ptr %228, align 4, !tbaa !5
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = load i32, ptr @test_count, align 4, !tbaa !5
  %9753 = load i32, ptr %174, align 4, !tbaa !5
  %9754 = call ptr @s2n_strerror(i32 noundef %9753, ptr noundef nonnull @.str.4) #12
  %9755 = load i32, ptr %174, align 4, !tbaa !5
  %9756 = call ptr @s2n_strerror_debug(i32 noundef %9755, ptr noundef nonnull @.str.4) #12
  %9757 = load i32, ptr %228, align 4, !tbaa !5
  %9758 = call ptr @strerror(i32 noundef %9757) #12
  %9759 = load i32, ptr %228, align 4, !tbaa !5
  %9760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9751, ptr noundef nonnull %.str.5.sink5439, i32 noundef %9752, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.1, i32 noundef 1017, ptr noundef %9754, ptr noundef %9756, ptr noundef %9758, i32 noundef %9759) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9761:                                             ; preds = %9733
  %9762 = load i32, ptr @test_count, align 4, !tbaa !5
  %9763 = add nsw i32 %9762, 1
  store i32 %9763, ptr @test_count, align 4, !tbaa !5
  %9764 = load i32, ptr %9603, align 4, !tbaa !79
  %9765 = icmp eq i32 %9764, -1
  br i1 %9765, label %9788, label %9766

9766:                                             ; preds = %9761
  %9767 = load i32, ptr %228, align 4, !tbaa !5
  %9768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9769 = call i32 @s2n_print_stacktrace(ptr noundef %9768) #12
  %9770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9771 = trunc nuw i8 %9770 to i1
  br i1 %9771, label %9772, label %9776

9772:                                             ; preds = %9766
  %9773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9774 = call i32 @fileno(ptr noundef %9773) #12
  %9775 = call i32 @isatty(i32 noundef %9774) #12
  %.not1862 = icmp eq i32 %9775, 0
  br i1 %.not1862, label %9776, label %9777

9776:                                             ; preds = %9772, %9766
  br label %9777

9777:                                             ; preds = %9772, %9776
  %.str.5.sink5448 = phi ptr [ @.str.5, %9776 ], [ @.str.2, %9772 ]
  store i32 %9767, ptr %228, align 4, !tbaa !5
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = load i32, ptr @test_count, align 4, !tbaa !5
  %9780 = load i32, ptr %174, align 4, !tbaa !5
  %9781 = call ptr @s2n_strerror(i32 noundef %9780, ptr noundef nonnull @.str.4) #12
  %9782 = load i32, ptr %174, align 4, !tbaa !5
  %9783 = call ptr @s2n_strerror_debug(i32 noundef %9782, ptr noundef nonnull @.str.4) #12
  %9784 = load i32, ptr %228, align 4, !tbaa !5
  %9785 = call ptr @strerror(i32 noundef %9784) #12
  %9786 = load i32, ptr %228, align 4, !tbaa !5
  %9787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9778, ptr noundef nonnull %.str.5.sink5448, i32 noundef %9779, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 1018, ptr noundef %9781, ptr noundef %9783, ptr noundef %9785, i32 noundef %9786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9788:                                             ; preds = %9761
  %9789 = add nsw i32 %9762, 2
  store i32 %9789, ptr @test_count, align 4, !tbaa !5
  %9790 = load i32, ptr %9575, align 8
  %9791 = and i32 %9790, 2048
  %.not1863 = icmp eq i32 %9791, 0
  br i1 %.not1863, label %9792, label %9814

9792:                                             ; preds = %9788
  %9793 = load i32, ptr %228, align 4, !tbaa !5
  %9794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9795 = call i32 @s2n_print_stacktrace(ptr noundef %9794) #12
  %9796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9797 = trunc nuw i8 %9796 to i1
  br i1 %9797, label %9798, label %9802

9798:                                             ; preds = %9792
  %9799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9800 = call i32 @fileno(ptr noundef %9799) #12
  %9801 = call i32 @isatty(i32 noundef %9800) #12
  %.not1864 = icmp eq i32 %9801, 0
  br i1 %.not1864, label %9802, label %9803

9802:                                             ; preds = %9798, %9792
  br label %9803

9803:                                             ; preds = %9798, %9802
  %.str.5.sink5457 = phi ptr [ @.str.5, %9802 ], [ @.str.2, %9798 ]
  store i32 %9793, ptr %228, align 4, !tbaa !5
  %9804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9805 = load i32, ptr @test_count, align 4, !tbaa !5
  %9806 = load i32, ptr %174, align 4, !tbaa !5
  %9807 = call ptr @s2n_strerror(i32 noundef %9806, ptr noundef nonnull @.str.4) #12
  %9808 = load i32, ptr %174, align 4, !tbaa !5
  %9809 = call ptr @s2n_strerror_debug(i32 noundef %9808, ptr noundef nonnull @.str.4) #12
  %9810 = load i32, ptr %228, align 4, !tbaa !5
  %9811 = call ptr @strerror(i32 noundef %9810) #12
  %9812 = load i32, ptr %228, align 4, !tbaa !5
  %9813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9804, ptr noundef nonnull %.str.5.sink5457, i32 noundef %9805, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 1019, ptr noundef %9807, ptr noundef %9809, ptr noundef %9811, i32 noundef %9812) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9814:                                             ; preds = %9788
  %9815 = add nsw i32 %9762, 3
  store i32 %9815, ptr @test_count, align 4, !tbaa !5
  %9816 = call i32 @s2n_connection_free(ptr noundef nonnull %9575) #12
  %9817 = icmp eq i32 %9816, -1
  br i1 %9817, label %9818, label %9840

9818:                                             ; preds = %9814
  %9819 = load i32, ptr %228, align 4, !tbaa !5
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @s2n_print_stacktrace(ptr noundef %9820) #12
  %9822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9823 = trunc nuw i8 %9822 to i1
  br i1 %9823, label %9824, label %9828

9824:                                             ; preds = %9818
  %9825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9826 = call i32 @fileno(ptr noundef %9825) #12
  %9827 = call i32 @isatty(i32 noundef %9826) #12
  %.not2078 = icmp eq i32 %9827, 0
  br i1 %.not2078, label %9828, label %9829

9828:                                             ; preds = %9824, %9818
  br label %9829

9829:                                             ; preds = %9824, %9828
  %.str.5.sink5466 = phi ptr [ @.str.5, %9828 ], [ @.str.2, %9824 ]
  store i32 %9819, ptr %228, align 4, !tbaa !5
  %9830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9831 = load i32, ptr @test_count, align 4, !tbaa !5
  %9832 = load i32, ptr %174, align 4, !tbaa !5
  %9833 = call ptr @s2n_strerror(i32 noundef %9832, ptr noundef nonnull @.str.4) #12
  %9834 = load i32, ptr %174, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror_debug(i32 noundef %9834, ptr noundef nonnull @.str.4) #12
  %9836 = load i32, ptr %228, align 4, !tbaa !5
  %9837 = call ptr @strerror(i32 noundef %9836) #12
  %9838 = load i32, ptr %228, align 4, !tbaa !5
  %9839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9830, ptr noundef nonnull %.str.5.sink5466, i32 noundef %9831, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1021, ptr noundef %9833, ptr noundef %9835, ptr noundef %9837, i32 noundef %9838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9840:                                             ; preds = %9814
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #12
  store i32 0, ptr %43, align 4, !tbaa !5
  %9841 = call ptr @s2n_config_new() #12
  %9842 = load i32, ptr @test_count, align 4, !tbaa !5
  %9843 = add nsw i32 %9842, 1
  store i32 %9843, ptr @test_count, align 4, !tbaa !5
  %9844 = icmp eq ptr %9841, null
  br i1 %9844, label %9845, label %9867

9845:                                             ; preds = %9840
  %9846 = load i32, ptr %228, align 4, !tbaa !5
  %9847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9848 = call i32 @s2n_print_stacktrace(ptr noundef %9847) #12
  %9849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9850 = trunc nuw i8 %9849 to i1
  br i1 %9850, label %9851, label %9855

9851:                                             ; preds = %9845
  %9852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9853 = call i32 @fileno(ptr noundef %9852) #12
  %9854 = call i32 @isatty(i32 noundef %9853) #12
  %.not2077 = icmp eq i32 %9854, 0
  br i1 %.not2077, label %9855, label %9856

9855:                                             ; preds = %9851, %9845
  br label %9856

9856:                                             ; preds = %9851, %9855
  %.str.5.sink5475 = phi ptr [ @.str.5, %9855 ], [ @.str.2, %9851 ]
  store i32 %9846, ptr %228, align 4, !tbaa !5
  %9857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9858 = load i32, ptr @test_count, align 4, !tbaa !5
  %9859 = load i32, ptr %174, align 4, !tbaa !5
  %9860 = call ptr @s2n_strerror(i32 noundef %9859, ptr noundef nonnull @.str.4) #12
  %9861 = load i32, ptr %174, align 4, !tbaa !5
  %9862 = call ptr @s2n_strerror_debug(i32 noundef %9861, ptr noundef nonnull @.str.4) #12
  %9863 = load i32, ptr %228, align 4, !tbaa !5
  %9864 = call ptr @strerror(i32 noundef %9863) #12
  %9865 = load i32, ptr %228, align 4, !tbaa !5
  %9866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9857, ptr noundef nonnull %.str.5.sink5475, i32 noundef %9858, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 1031, ptr noundef %9860, ptr noundef %9862, ptr noundef %9864, i32 noundef %9865) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9867:                                             ; preds = %9840
  %9868 = add nsw i32 %9842, 2
  store i32 %9868, ptr @test_count, align 4, !tbaa !5
  %9869 = call i32 @s2n_config_set_server_max_early_data_size(ptr noundef nonnull %9841, i32 noundef 5) #12
  %9870 = icmp eq i32 %9869, -1
  br i1 %9870, label %9871, label %9893

9871:                                             ; preds = %9867
  %9872 = load i32, ptr %228, align 4, !tbaa !5
  %9873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9874 = call i32 @s2n_print_stacktrace(ptr noundef %9873) #12
  %9875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9876 = trunc nuw i8 %9875 to i1
  br i1 %9876, label %9877, label %9881

9877:                                             ; preds = %9871
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = call i32 @fileno(ptr noundef %9878) #12
  %9880 = call i32 @isatty(i32 noundef %9879) #12
  %.not2076 = icmp eq i32 %9880, 0
  br i1 %.not2076, label %9881, label %9882

9881:                                             ; preds = %9877, %9871
  br label %9882

9882:                                             ; preds = %9877, %9881
  %.str.5.sink5484 = phi ptr [ @.str.5, %9881 ], [ @.str.2, %9877 ]
  store i32 %9872, ptr %228, align 4, !tbaa !5
  %9883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9884 = load i32, ptr @test_count, align 4, !tbaa !5
  %9885 = load i32, ptr %174, align 4, !tbaa !5
  %9886 = call ptr @s2n_strerror(i32 noundef %9885, ptr noundef nonnull @.str.4) #12
  %9887 = load i32, ptr %174, align 4, !tbaa !5
  %9888 = call ptr @s2n_strerror_debug(i32 noundef %9887, ptr noundef nonnull @.str.4) #12
  %9889 = load i32, ptr %228, align 4, !tbaa !5
  %9890 = call ptr @strerror(i32 noundef %9889) #12
  %9891 = load i32, ptr %228, align 4, !tbaa !5
  %9892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9883, ptr noundef nonnull %.str.5.sink5484, i32 noundef %9884, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.1, i32 noundef 1032, ptr noundef %9886, ptr noundef %9888, ptr noundef %9890, i32 noundef %9891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9893:                                             ; preds = %9867
  %9894 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %9895 = load i32, ptr @test_count, align 4, !tbaa !5
  %9896 = add nsw i32 %9895, 1
  store i32 %9896, ptr @test_count, align 4, !tbaa !5
  %9897 = icmp eq ptr %9894, null
  br i1 %9897, label %9898, label %9920

9898:                                             ; preds = %9893
  %9899 = load i32, ptr %228, align 4, !tbaa !5
  %9900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9901 = call i32 @s2n_print_stacktrace(ptr noundef %9900) #12
  %9902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9903 = trunc nuw i8 %9902 to i1
  br i1 %9903, label %9904, label %9908

9904:                                             ; preds = %9898
  %9905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9906 = call i32 @fileno(ptr noundef %9905) #12
  %9907 = call i32 @isatty(i32 noundef %9906) #12
  %.not2075 = icmp eq i32 %9907, 0
  br i1 %.not2075, label %9908, label %9909

9908:                                             ; preds = %9904, %9898
  br label %9909

9909:                                             ; preds = %9904, %9908
  %.str.5.sink5493 = phi ptr [ @.str.5, %9908 ], [ @.str.2, %9904 ]
  store i32 %9899, ptr %228, align 4, !tbaa !5
  %9910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9911 = load i32, ptr @test_count, align 4, !tbaa !5
  %9912 = load i32, ptr %174, align 4, !tbaa !5
  %9913 = call ptr @s2n_strerror(i32 noundef %9912, ptr noundef nonnull @.str.4) #12
  %9914 = load i32, ptr %174, align 4, !tbaa !5
  %9915 = call ptr @s2n_strerror_debug(i32 noundef %9914, ptr noundef nonnull @.str.4) #12
  %9916 = load i32, ptr %228, align 4, !tbaa !5
  %9917 = call ptr @strerror(i32 noundef %9916) #12
  %9918 = load i32, ptr %228, align 4, !tbaa !5
  %9919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9910, ptr noundef nonnull %.str.5.sink5493, i32 noundef %9911, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 1035, ptr noundef %9913, ptr noundef %9915, ptr noundef %9917, i32 noundef %9918) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9920:                                             ; preds = %9893
  %9921 = add nsw i32 %9895, 2
  store i32 %9921, ptr @test_count, align 4, !tbaa !5
  %9922 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %9894, i32 noundef 10) #12
  %9923 = icmp eq i32 %9922, -1
  br i1 %9923, label %9924, label %9946

9924:                                             ; preds = %9920
  %9925 = load i32, ptr %228, align 4, !tbaa !5
  %9926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9927 = call i32 @s2n_print_stacktrace(ptr noundef %9926) #12
  %9928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9929 = trunc nuw i8 %9928 to i1
  br i1 %9929, label %9930, label %9934

9930:                                             ; preds = %9924
  %9931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9932 = call i32 @fileno(ptr noundef %9931) #12
  %9933 = call i32 @isatty(i32 noundef %9932) #12
  %.not2074 = icmp eq i32 %9933, 0
  br i1 %.not2074, label %9934, label %9935

9934:                                             ; preds = %9930, %9924
  br label %9935

9935:                                             ; preds = %9930, %9934
  %.str.5.sink5502 = phi ptr [ @.str.5, %9934 ], [ @.str.2, %9930 ]
  store i32 %9925, ptr %228, align 4, !tbaa !5
  %9936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9937 = load i32, ptr @test_count, align 4, !tbaa !5
  %9938 = load i32, ptr %174, align 4, !tbaa !5
  %9939 = call ptr @s2n_strerror(i32 noundef %9938, ptr noundef nonnull @.str.4) #12
  %9940 = load i32, ptr %174, align 4, !tbaa !5
  %9941 = call ptr @s2n_strerror_debug(i32 noundef %9940, ptr noundef nonnull @.str.4) #12
  %9942 = load i32, ptr %228, align 4, !tbaa !5
  %9943 = call ptr @strerror(i32 noundef %9942) #12
  %9944 = load i32, ptr %228, align 4, !tbaa !5
  %9945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9936, ptr noundef nonnull %.str.5.sink5502, i32 noundef %9937, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 1036, ptr noundef %9939, ptr noundef %9941, ptr noundef %9943, i32 noundef %9944) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9946:                                             ; preds = %9920
  %9947 = load i32, ptr @test_count, align 4, !tbaa !5
  %9948 = add nsw i32 %9947, 1
  store i32 %9948, ptr @test_count, align 4, !tbaa !5
  %9949 = call i32 @s2n_early_data_get_server_max_size(ptr noundef null, ptr noundef nonnull %43) #12
  %9950 = call zeroext i1 @s2n_result_is_error(i32 %9949)
  br i1 %9950, label %9973, label %9951

9951:                                             ; preds = %9946
  %9952 = load i32, ptr %228, align 4, !tbaa !5
  %9953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9954 = call i32 @s2n_print_stacktrace(ptr noundef %9953) #12
  %9955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9956 = trunc nuw i8 %9955 to i1
  br i1 %9956, label %9957, label %9961

9957:                                             ; preds = %9951
  %9958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9959 = call i32 @fileno(ptr noundef %9958) #12
  %9960 = call i32 @isatty(i32 noundef %9959) #12
  %.not1865 = icmp eq i32 %9960, 0
  br i1 %.not1865, label %9961, label %9962

9961:                                             ; preds = %9957, %9951
  br label %9962

9962:                                             ; preds = %9957, %9961
  %.str.5.sink5511 = phi ptr [ @.str.5, %9961 ], [ @.str.2, %9957 ]
  store i32 %9952, ptr %228, align 4, !tbaa !5
  %9963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9964 = load i32, ptr @test_count, align 4, !tbaa !5
  %9965 = load i32, ptr %174, align 4, !tbaa !5
  %9966 = call ptr @s2n_strerror(i32 noundef %9965, ptr noundef nonnull @.str.4) #12
  %9967 = load i32, ptr %174, align 4, !tbaa !5
  %9968 = call ptr @s2n_strerror_debug(i32 noundef %9967, ptr noundef nonnull @.str.4) #12
  %9969 = load i32, ptr %228, align 4, !tbaa !5
  %9970 = call ptr @strerror(i32 noundef %9969) #12
  %9971 = load i32, ptr %228, align 4, !tbaa !5
  %9972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9963, ptr noundef nonnull %.str.5.sink5511, i32 noundef %9964, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.1, i32 noundef 1039, ptr noundef %9966, ptr noundef %9968, ptr noundef %9970, i32 noundef %9971) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9973:                                             ; preds = %9946
  %9974 = load i32, ptr @test_count, align 4, !tbaa !5
  %9975 = add nsw i32 %9974, 1
  store i32 %9975, ptr @test_count, align 4, !tbaa !5
  %9976 = load i32, ptr %174, align 4, !tbaa !5
  %9977 = icmp eq i32 %9976, 402653193
  br i1 %9977, label %10000, label %9978

9978:                                             ; preds = %9973
  %9979 = load i32, ptr %228, align 4, !tbaa !5
  %9980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9981 = call i32 @s2n_print_stacktrace(ptr noundef %9980) #12
  %9982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9983 = trunc nuw i8 %9982 to i1
  br i1 %9983, label %9984, label %9988

9984:                                             ; preds = %9978
  %9985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9986 = call i32 @fileno(ptr noundef %9985) #12
  %9987 = call i32 @isatty(i32 noundef %9986) #12
  %.not1866 = icmp eq i32 %9987, 0
  br i1 %.not1866, label %9988, label %9989

9988:                                             ; preds = %9984, %9978
  br label %9989

9989:                                             ; preds = %9984, %9988
  %.str.5.sink5520 = phi ptr [ @.str.5, %9988 ], [ @.str.2, %9984 ]
  store i32 %9979, ptr %228, align 4, !tbaa !5
  %9990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9991 = load i32, ptr @test_count, align 4, !tbaa !5
  %9992 = load i32, ptr %174, align 4, !tbaa !5
  %9993 = call ptr @s2n_strerror(i32 noundef %9992, ptr noundef nonnull @.str.4) #12
  %9994 = load i32, ptr %174, align 4, !tbaa !5
  %9995 = call ptr @s2n_strerror_debug(i32 noundef %9994, ptr noundef nonnull @.str.4) #12
  %9996 = load i32, ptr %228, align 4, !tbaa !5
  %9997 = call ptr @strerror(i32 noundef %9996) #12
  %9998 = load i32, ptr %228, align 4, !tbaa !5
  %9999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9990, ptr noundef nonnull %.str.5.sink5520, i32 noundef %9991, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1039, ptr noundef %9993, ptr noundef %9995, ptr noundef %9997, i32 noundef %9998) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10000:                                            ; preds = %9973
  %10001 = add nsw i32 %9974, 2
  store i32 %10001, ptr @test_count, align 4, !tbaa !5
  %10002 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %10003 = icmp eq ptr %10002, null
  br i1 %10003, label %10004, label %10026

10004:                                            ; preds = %10000
  %10005 = load i32, ptr %228, align 4, !tbaa !5
  %10006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10007 = call i32 @s2n_print_stacktrace(ptr noundef %10006) #12
  %10008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10009 = trunc nuw i8 %10008 to i1
  br i1 %10009, label %10010, label %10014

10010:                                            ; preds = %10004
  %10011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10012 = call i32 @fileno(ptr noundef %10011) #12
  %10013 = call i32 @isatty(i32 noundef %10012) #12
  %.not2073 = icmp eq i32 %10013, 0
  br i1 %.not2073, label %10014, label %10015

10014:                                            ; preds = %10010, %10004
  br label %10015

10015:                                            ; preds = %10010, %10014
  %.str.5.sink5529 = phi ptr [ @.str.5, %10014 ], [ @.str.2, %10010 ]
  store i32 %10005, ptr %228, align 4, !tbaa !5
  %10016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10017 = load i32, ptr @test_count, align 4, !tbaa !5
  %10018 = load i32, ptr %174, align 4, !tbaa !5
  %10019 = call ptr @s2n_strerror(i32 noundef %10018, ptr noundef nonnull @.str.4) #12
  %10020 = load i32, ptr %174, align 4, !tbaa !5
  %10021 = call ptr @s2n_strerror_debug(i32 noundef %10020, ptr noundef nonnull @.str.4) #12
  %10022 = load i32, ptr %228, align 4, !tbaa !5
  %10023 = call ptr @strerror(i32 noundef %10022) #12
  %10024 = load i32, ptr %228, align 4, !tbaa !5
  %10025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10016, ptr noundef nonnull %.str.5.sink5529, i32 noundef %10017, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1039, ptr noundef %10019, ptr noundef %10021, ptr noundef %10023, i32 noundef %10024) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10026:                                            ; preds = %10000
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %10027 = load i32, ptr @test_count, align 4, !tbaa !5
  %10028 = add nsw i32 %10027, 1
  store i32 %10028, ptr @test_count, align 4, !tbaa !5
  %10029 = call i32 @s2n_early_data_get_server_max_size(ptr noundef nonnull %9894, ptr noundef null) #12
  %10030 = call zeroext i1 @s2n_result_is_error(i32 %10029)
  br i1 %10030, label %10053, label %10031

10031:                                            ; preds = %10026
  %10032 = load i32, ptr %228, align 4, !tbaa !5
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = call i32 @s2n_print_stacktrace(ptr noundef %10033) #12
  %10035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10036 = trunc nuw i8 %10035 to i1
  br i1 %10036, label %10037, label %10041

10037:                                            ; preds = %10031
  %10038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10039 = call i32 @fileno(ptr noundef %10038) #12
  %10040 = call i32 @isatty(i32 noundef %10039) #12
  %.not1867 = icmp eq i32 %10040, 0
  br i1 %.not1867, label %10041, label %10042

10041:                                            ; preds = %10037, %10031
  br label %10042

10042:                                            ; preds = %10037, %10041
  %.str.5.sink5538 = phi ptr [ @.str.5, %10041 ], [ @.str.2, %10037 ]
  store i32 %10032, ptr %228, align 4, !tbaa !5
  %10043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10044 = load i32, ptr @test_count, align 4, !tbaa !5
  %10045 = load i32, ptr %174, align 4, !tbaa !5
  %10046 = call ptr @s2n_strerror(i32 noundef %10045, ptr noundef nonnull @.str.4) #12
  %10047 = load i32, ptr %174, align 4, !tbaa !5
  %10048 = call ptr @s2n_strerror_debug(i32 noundef %10047, ptr noundef nonnull @.str.4) #12
  %10049 = load i32, ptr %228, align 4, !tbaa !5
  %10050 = call ptr @strerror(i32 noundef %10049) #12
  %10051 = load i32, ptr %228, align 4, !tbaa !5
  %10052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10043, ptr noundef nonnull %.str.5.sink5538, i32 noundef %10044, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.1, i32 noundef 1040, ptr noundef %10046, ptr noundef %10048, ptr noundef %10050, i32 noundef %10051) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10053:                                            ; preds = %10026
  %10054 = load i32, ptr @test_count, align 4, !tbaa !5
  %10055 = add nsw i32 %10054, 1
  store i32 %10055, ptr @test_count, align 4, !tbaa !5
  %10056 = load i32, ptr %174, align 4, !tbaa !5
  %10057 = icmp eq i32 %10056, 402653193
  br i1 %10057, label %10080, label %10058

10058:                                            ; preds = %10053
  %10059 = load i32, ptr %228, align 4, !tbaa !5
  %10060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10061 = call i32 @s2n_print_stacktrace(ptr noundef %10060) #12
  %10062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10063 = trunc nuw i8 %10062 to i1
  br i1 %10063, label %10064, label %10068

10064:                                            ; preds = %10058
  %10065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10066 = call i32 @fileno(ptr noundef %10065) #12
  %10067 = call i32 @isatty(i32 noundef %10066) #12
  %.not1868 = icmp eq i32 %10067, 0
  br i1 %.not1868, label %10068, label %10069

10068:                                            ; preds = %10064, %10058
  br label %10069

10069:                                            ; preds = %10064, %10068
  %.str.5.sink5547 = phi ptr [ @.str.5, %10068 ], [ @.str.2, %10064 ]
  store i32 %10059, ptr %228, align 4, !tbaa !5
  %10070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10071 = load i32, ptr @test_count, align 4, !tbaa !5
  %10072 = load i32, ptr %174, align 4, !tbaa !5
  %10073 = call ptr @s2n_strerror(i32 noundef %10072, ptr noundef nonnull @.str.4) #12
  %10074 = load i32, ptr %174, align 4, !tbaa !5
  %10075 = call ptr @s2n_strerror_debug(i32 noundef %10074, ptr noundef nonnull @.str.4) #12
  %10076 = load i32, ptr %228, align 4, !tbaa !5
  %10077 = call ptr @strerror(i32 noundef %10076) #12
  %10078 = load i32, ptr %228, align 4, !tbaa !5
  %10079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10070, ptr noundef nonnull %.str.5.sink5547, i32 noundef %10071, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1040, ptr noundef %10073, ptr noundef %10075, ptr noundef %10077, i32 noundef %10078) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10080:                                            ; preds = %10053
  %10081 = add nsw i32 %10054, 2
  store i32 %10081, ptr @test_count, align 4, !tbaa !5
  %10082 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %10083 = icmp eq ptr %10082, null
  br i1 %10083, label %10084, label %10106

10084:                                            ; preds = %10080
  %10085 = load i32, ptr %228, align 4, !tbaa !5
  %10086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10087 = call i32 @s2n_print_stacktrace(ptr noundef %10086) #12
  %10088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10089 = trunc nuw i8 %10088 to i1
  br i1 %10089, label %10090, label %10094

10090:                                            ; preds = %10084
  %10091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10092 = call i32 @fileno(ptr noundef %10091) #12
  %10093 = call i32 @isatty(i32 noundef %10092) #12
  %.not2072 = icmp eq i32 %10093, 0
  br i1 %.not2072, label %10094, label %10095

10094:                                            ; preds = %10090, %10084
  br label %10095

10095:                                            ; preds = %10090, %10094
  %.str.5.sink5556 = phi ptr [ @.str.5, %10094 ], [ @.str.2, %10090 ]
  store i32 %10085, ptr %228, align 4, !tbaa !5
  %10096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10097 = load i32, ptr @test_count, align 4, !tbaa !5
  %10098 = load i32, ptr %174, align 4, !tbaa !5
  %10099 = call ptr @s2n_strerror(i32 noundef %10098, ptr noundef nonnull @.str.4) #12
  %10100 = load i32, ptr %174, align 4, !tbaa !5
  %10101 = call ptr @s2n_strerror_debug(i32 noundef %10100, ptr noundef nonnull @.str.4) #12
  %10102 = load i32, ptr %228, align 4, !tbaa !5
  %10103 = call ptr @strerror(i32 noundef %10102) #12
  %10104 = load i32, ptr %228, align 4, !tbaa !5
  %10105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10096, ptr noundef nonnull %.str.5.sink5556, i32 noundef %10097, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1040, ptr noundef %10099, ptr noundef %10101, ptr noundef %10103, i32 noundef %10104) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10106:                                            ; preds = %10080
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %10107 = getelementptr inbounds i8, ptr %9894, i64 8
  store ptr null, ptr %10107, align 8, !tbaa !80
  %10108 = load i32, ptr %9894, align 8
  %10109 = and i32 %10108, -2049
  store i32 %10109, ptr %9894, align 8
  %10110 = load i32, ptr @test_count, align 4, !tbaa !5
  %10111 = add nsw i32 %10110, 1
  store i32 %10111, ptr @test_count, align 4, !tbaa !5
  %10112 = call i32 @s2n_early_data_get_server_max_size(ptr noundef nonnull %9894, ptr noundef nonnull %43) #12
  %10113 = call zeroext i1 @s2n_result_is_error(i32 %10112)
  br i1 %10113, label %10136, label %10114

10114:                                            ; preds = %10106
  %10115 = load i32, ptr %228, align 4, !tbaa !5
  %10116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10117 = call i32 @s2n_print_stacktrace(ptr noundef %10116) #12
  %10118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10119 = trunc nuw i8 %10118 to i1
  br i1 %10119, label %10120, label %10124

10120:                                            ; preds = %10114
  %10121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10122 = call i32 @fileno(ptr noundef %10121) #12
  %10123 = call i32 @isatty(i32 noundef %10122) #12
  %.not1869 = icmp eq i32 %10123, 0
  br i1 %.not1869, label %10124, label %10125

10124:                                            ; preds = %10120, %10114
  br label %10125

10125:                                            ; preds = %10120, %10124
  %.str.5.sink5565 = phi ptr [ @.str.5, %10124 ], [ @.str.2, %10120 ]
  store i32 %10115, ptr %228, align 4, !tbaa !5
  %10126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10127 = load i32, ptr @test_count, align 4, !tbaa !5
  %10128 = load i32, ptr %174, align 4, !tbaa !5
  %10129 = call ptr @s2n_strerror(i32 noundef %10128, ptr noundef nonnull @.str.4) #12
  %10130 = load i32, ptr %174, align 4, !tbaa !5
  %10131 = call ptr @s2n_strerror_debug(i32 noundef %10130, ptr noundef nonnull @.str.4) #12
  %10132 = load i32, ptr %228, align 4, !tbaa !5
  %10133 = call ptr @strerror(i32 noundef %10132) #12
  %10134 = load i32, ptr %228, align 4, !tbaa !5
  %10135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10126, ptr noundef nonnull %.str.5.sink5565, i32 noundef %10127, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.1, i32 noundef 1045, ptr noundef %10129, ptr noundef %10131, ptr noundef %10133, i32 noundef %10134) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10136:                                            ; preds = %10106
  %10137 = load i32, ptr @test_count, align 4, !tbaa !5
  %10138 = add nsw i32 %10137, 1
  store i32 %10138, ptr @test_count, align 4, !tbaa !5
  %10139 = load i32, ptr %174, align 4, !tbaa !5
  %10140 = icmp eq i32 %10139, 402653193
  br i1 %10140, label %10163, label %10141

10141:                                            ; preds = %10136
  %10142 = load i32, ptr %228, align 4, !tbaa !5
  %10143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10144 = call i32 @s2n_print_stacktrace(ptr noundef %10143) #12
  %10145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10146 = trunc nuw i8 %10145 to i1
  br i1 %10146, label %10147, label %10151

10147:                                            ; preds = %10141
  %10148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10149 = call i32 @fileno(ptr noundef %10148) #12
  %10150 = call i32 @isatty(i32 noundef %10149) #12
  %.not1870 = icmp eq i32 %10150, 0
  br i1 %.not1870, label %10151, label %10152

10151:                                            ; preds = %10147, %10141
  br label %10152

10152:                                            ; preds = %10147, %10151
  %.str.5.sink5574 = phi ptr [ @.str.5, %10151 ], [ @.str.2, %10147 ]
  store i32 %10142, ptr %228, align 4, !tbaa !5
  %10153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10154 = load i32, ptr @test_count, align 4, !tbaa !5
  %10155 = load i32, ptr %174, align 4, !tbaa !5
  %10156 = call ptr @s2n_strerror(i32 noundef %10155, ptr noundef nonnull @.str.4) #12
  %10157 = load i32, ptr %174, align 4, !tbaa !5
  %10158 = call ptr @s2n_strerror_debug(i32 noundef %10157, ptr noundef nonnull @.str.4) #12
  %10159 = load i32, ptr %228, align 4, !tbaa !5
  %10160 = call ptr @strerror(i32 noundef %10159) #12
  %10161 = load i32, ptr %228, align 4, !tbaa !5
  %10162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10153, ptr noundef nonnull %.str.5.sink5574, i32 noundef %10154, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1045, ptr noundef %10156, ptr noundef %10158, ptr noundef %10160, i32 noundef %10161) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10163:                                            ; preds = %10136
  %10164 = add nsw i32 %10137, 2
  store i32 %10164, ptr @test_count, align 4, !tbaa !5
  %10165 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %10166 = icmp eq ptr %10165, null
  br i1 %10166, label %10167, label %10189

10167:                                            ; preds = %10163
  %10168 = load i32, ptr %228, align 4, !tbaa !5
  %10169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10170 = call i32 @s2n_print_stacktrace(ptr noundef %10169) #12
  %10171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10172 = trunc nuw i8 %10171 to i1
  br i1 %10172, label %10173, label %10177

10173:                                            ; preds = %10167
  %10174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10175 = call i32 @fileno(ptr noundef %10174) #12
  %10176 = call i32 @isatty(i32 noundef %10175) #12
  %.not2071 = icmp eq i32 %10176, 0
  br i1 %.not2071, label %10177, label %10178

10177:                                            ; preds = %10173, %10167
  br label %10178

10178:                                            ; preds = %10173, %10177
  %.str.5.sink5583 = phi ptr [ @.str.5, %10177 ], [ @.str.2, %10173 ]
  store i32 %10168, ptr %228, align 4, !tbaa !5
  %10179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10180 = load i32, ptr @test_count, align 4, !tbaa !5
  %10181 = load i32, ptr %174, align 4, !tbaa !5
  %10182 = call ptr @s2n_strerror(i32 noundef %10181, ptr noundef nonnull @.str.4) #12
  %10183 = load i32, ptr %174, align 4, !tbaa !5
  %10184 = call ptr @s2n_strerror_debug(i32 noundef %10183, ptr noundef nonnull @.str.4) #12
  %10185 = load i32, ptr %228, align 4, !tbaa !5
  %10186 = call ptr @strerror(i32 noundef %10185) #12
  %10187 = load i32, ptr %228, align 4, !tbaa !5
  %10188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10179, ptr noundef nonnull %.str.5.sink5583, i32 noundef %10180, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1045, ptr noundef %10182, ptr noundef %10184, ptr noundef %10186, i32 noundef %10187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10189:                                            ; preds = %10163
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %10190 = load i32, ptr @test_count, align 4, !tbaa !5
  %10191 = add nsw i32 %10190, 1
  store i32 %10191, ptr @test_count, align 4, !tbaa !5
  %10192 = load ptr, ptr %10107, align 8, !tbaa !80
  %10193 = icmp eq ptr %10192, null
  br i1 %10193, label %10216, label %10194

10194:                                            ; preds = %10189
  %10195 = load i32, ptr %228, align 4, !tbaa !5
  %10196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10197 = call i32 @s2n_print_stacktrace(ptr noundef %10196) #12
  %10198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10199 = trunc nuw i8 %10198 to i1
  br i1 %10199, label %10200, label %10204

10200:                                            ; preds = %10194
  %10201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10202 = call i32 @fileno(ptr noundef %10201) #12
  %10203 = call i32 @isatty(i32 noundef %10202) #12
  %.not1871 = icmp eq i32 %10203, 0
  br i1 %.not1871, label %10204, label %10205

10204:                                            ; preds = %10200, %10194
  br label %10205

10205:                                            ; preds = %10200, %10204
  %.str.5.sink5592 = phi ptr [ @.str.5, %10204 ], [ @.str.2, %10200 ]
  store i32 %10195, ptr %228, align 4, !tbaa !5
  %10206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10207 = load i32, ptr @test_count, align 4, !tbaa !5
  %10208 = load i32, ptr %174, align 4, !tbaa !5
  %10209 = call ptr @s2n_strerror(i32 noundef %10208, ptr noundef nonnull @.str.4) #12
  %10210 = load i32, ptr %174, align 4, !tbaa !5
  %10211 = call ptr @s2n_strerror_debug(i32 noundef %10210, ptr noundef nonnull @.str.4) #12
  %10212 = load i32, ptr %228, align 4, !tbaa !5
  %10213 = call ptr @strerror(i32 noundef %10212) #12
  %10214 = load i32, ptr %228, align 4, !tbaa !5
  %10215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10206, ptr noundef nonnull %.str.5.sink5592, i32 noundef %10207, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.1, i32 noundef 1048, ptr noundef %10209, ptr noundef %10211, ptr noundef %10213, i32 noundef %10214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10216:                                            ; preds = %10189
  %10217 = load i32, ptr %9894, align 8
  %10218 = or i32 %10217, 2048
  store i32 %10218, ptr %9894, align 8
  %10219 = load i32, ptr @test_count, align 4, !tbaa !5
  %10220 = add nsw i32 %10219, 1
  store i32 %10220, ptr @test_count, align 4, !tbaa !5
  %10221 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %9894, i32 noundef 10) #12
  %10222 = icmp eq i32 %10221, -1
  br i1 %10222, label %10223, label %10245

10223:                                            ; preds = %10216
  %10224 = load i32, ptr %228, align 4, !tbaa !5
  %10225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10226 = call i32 @s2n_print_stacktrace(ptr noundef %10225) #12
  %10227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10228 = trunc nuw i8 %10227 to i1
  br i1 %10228, label %10229, label %10233

10229:                                            ; preds = %10223
  %10230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10231 = call i32 @fileno(ptr noundef %10230) #12
  %10232 = call i32 @isatty(i32 noundef %10231) #12
  %.not2070 = icmp eq i32 %10232, 0
  br i1 %.not2070, label %10233, label %10234

10233:                                            ; preds = %10229, %10223
  br label %10234

10234:                                            ; preds = %10229, %10233
  %.str.5.sink5601 = phi ptr [ @.str.5, %10233 ], [ @.str.2, %10229 ]
  store i32 %10224, ptr %228, align 4, !tbaa !5
  %10235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10236 = load i32, ptr @test_count, align 4, !tbaa !5
  %10237 = load i32, ptr %174, align 4, !tbaa !5
  %10238 = call ptr @s2n_strerror(i32 noundef %10237, ptr noundef nonnull @.str.4) #12
  %10239 = load i32, ptr %174, align 4, !tbaa !5
  %10240 = call ptr @s2n_strerror_debug(i32 noundef %10239, ptr noundef nonnull @.str.4) #12
  %10241 = load i32, ptr %228, align 4, !tbaa !5
  %10242 = call ptr @strerror(i32 noundef %10241) #12
  %10243 = load i32, ptr %228, align 4, !tbaa !5
  %10244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10235, ptr noundef nonnull %.str.5.sink5601, i32 noundef %10236, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 1050, ptr noundef %10238, ptr noundef %10240, ptr noundef %10242, i32 noundef %10243) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10245:                                            ; preds = %10216
  %10246 = load i32, ptr @test_count, align 4, !tbaa !5
  %10247 = add nsw i32 %10246, 1
  store i32 %10247, ptr @test_count, align 4, !tbaa !5
  %10248 = call i32 @s2n_early_data_get_server_max_size(ptr noundef nonnull %9894, ptr noundef nonnull %43) #12
  %10249 = call zeroext i1 @s2n_result_is_ok(i32 %10248)
  br i1 %10249, label %10272, label %10250

10250:                                            ; preds = %10245
  %10251 = load i32, ptr %228, align 4, !tbaa !5
  %10252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10253 = call i32 @s2n_print_stacktrace(ptr noundef %10252) #12
  %10254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10255 = trunc nuw i8 %10254 to i1
  br i1 %10255, label %10256, label %10260

10256:                                            ; preds = %10250
  %10257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10258 = call i32 @fileno(ptr noundef %10257) #12
  %10259 = call i32 @isatty(i32 noundef %10258) #12
  %.not1872 = icmp eq i32 %10259, 0
  br i1 %.not1872, label %10260, label %10261

10260:                                            ; preds = %10256, %10250
  br label %10261

10261:                                            ; preds = %10256, %10260
  %.str.5.sink5610 = phi ptr [ @.str.5, %10260 ], [ @.str.2, %10256 ]
  store i32 %10251, ptr %228, align 4, !tbaa !5
  %10262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10263 = load i32, ptr @test_count, align 4, !tbaa !5
  %10264 = load i32, ptr %174, align 4, !tbaa !5
  %10265 = call ptr @s2n_strerror(i32 noundef %10264, ptr noundef nonnull @.str.4) #12
  %10266 = load i32, ptr %174, align 4, !tbaa !5
  %10267 = call ptr @s2n_strerror_debug(i32 noundef %10266, ptr noundef nonnull @.str.4) #12
  %10268 = load i32, ptr %228, align 4, !tbaa !5
  %10269 = call ptr @strerror(i32 noundef %10268) #12
  %10270 = load i32, ptr %228, align 4, !tbaa !5
  %10271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10262, ptr noundef nonnull %.str.5.sink5610, i32 noundef %10263, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.1, i32 noundef 1051, ptr noundef %10265, ptr noundef %10267, ptr noundef %10269, i32 noundef %10270) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10272:                                            ; preds = %10245
  %10273 = load i32, ptr @test_count, align 4, !tbaa !5
  %10274 = add nsw i32 %10273, 1
  store i32 %10274, ptr @test_count, align 4, !tbaa !5
  %10275 = load i32, ptr %43, align 4, !tbaa !5
  %10276 = icmp eq i32 %10275, 10
  br i1 %10276, label %10299, label %10277

10277:                                            ; preds = %10272
  %10278 = load i32, ptr %228, align 4, !tbaa !5
  %10279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10280 = call i32 @s2n_print_stacktrace(ptr noundef %10279) #12
  %10281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10282 = trunc nuw i8 %10281 to i1
  br i1 %10282, label %10283, label %10287

10283:                                            ; preds = %10277
  %10284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10285 = call i32 @fileno(ptr noundef %10284) #12
  %10286 = call i32 @isatty(i32 noundef %10285) #12
  %.not1873 = icmp eq i32 %10286, 0
  br i1 %.not1873, label %10287, label %10288

10287:                                            ; preds = %10283, %10277
  br label %10288

10288:                                            ; preds = %10283, %10287
  %.str.5.sink5619 = phi ptr [ @.str.5, %10287 ], [ @.str.2, %10283 ]
  store i32 %10278, ptr %228, align 4, !tbaa !5
  %10289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10290 = load i32, ptr @test_count, align 4, !tbaa !5
  %10291 = load i32, ptr %174, align 4, !tbaa !5
  %10292 = call ptr @s2n_strerror(i32 noundef %10291, ptr noundef nonnull @.str.4) #12
  %10293 = load i32, ptr %174, align 4, !tbaa !5
  %10294 = call ptr @s2n_strerror_debug(i32 noundef %10293, ptr noundef nonnull @.str.4) #12
  %10295 = load i32, ptr %228, align 4, !tbaa !5
  %10296 = call ptr @strerror(i32 noundef %10295) #12
  %10297 = load i32, ptr %228, align 4, !tbaa !5
  %10298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10289, ptr noundef nonnull %.str.5.sink5619, i32 noundef %10290, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.1, i32 noundef 1052, ptr noundef %10292, ptr noundef %10294, ptr noundef %10296, i32 noundef %10297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10299:                                            ; preds = %10272
  %10300 = add nsw i32 %10273, 2
  store i32 %10300, ptr @test_count, align 4, !tbaa !5
  %10301 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9894, ptr noundef nonnull %9841) #12
  %10302 = icmp eq i32 %10301, -1
  br i1 %10302, label %10303, label %10325

10303:                                            ; preds = %10299
  %10304 = load i32, ptr %228, align 4, !tbaa !5
  %10305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10306 = call i32 @s2n_print_stacktrace(ptr noundef %10305) #12
  %10307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10308 = trunc nuw i8 %10307 to i1
  br i1 %10308, label %10309, label %10313

10309:                                            ; preds = %10303
  %10310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10311 = call i32 @fileno(ptr noundef %10310) #12
  %10312 = call i32 @isatty(i32 noundef %10311) #12
  %.not2069 = icmp eq i32 %10312, 0
  br i1 %.not2069, label %10313, label %10314

10313:                                            ; preds = %10309, %10303
  br label %10314

10314:                                            ; preds = %10309, %10313
  %.str.5.sink5628 = phi ptr [ @.str.5, %10313 ], [ @.str.2, %10309 ]
  store i32 %10304, ptr %228, align 4, !tbaa !5
  %10315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10316 = load i32, ptr @test_count, align 4, !tbaa !5
  %10317 = load i32, ptr %174, align 4, !tbaa !5
  %10318 = call ptr @s2n_strerror(i32 noundef %10317, ptr noundef nonnull @.str.4) #12
  %10319 = load i32, ptr %174, align 4, !tbaa !5
  %10320 = call ptr @s2n_strerror_debug(i32 noundef %10319, ptr noundef nonnull @.str.4) #12
  %10321 = load i32, ptr %228, align 4, !tbaa !5
  %10322 = call ptr @strerror(i32 noundef %10321) #12
  %10323 = load i32, ptr %228, align 4, !tbaa !5
  %10324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10315, ptr noundef nonnull %.str.5.sink5628, i32 noundef %10316, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 1054, ptr noundef %10318, ptr noundef %10320, ptr noundef %10322, i32 noundef %10323) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10325:                                            ; preds = %10299
  %10326 = load i32, ptr %9894, align 8
  %10327 = and i32 %10326, -2049
  store i32 %10327, ptr %9894, align 8
  %10328 = load i32, ptr @test_count, align 4, !tbaa !5
  %10329 = add nsw i32 %10328, 1
  store i32 %10329, ptr @test_count, align 4, !tbaa !5
  %10330 = call i32 @s2n_early_data_get_server_max_size(ptr noundef nonnull %9894, ptr noundef nonnull %43) #12
  %10331 = call zeroext i1 @s2n_result_is_ok(i32 %10330)
  br i1 %10331, label %10354, label %10332

10332:                                            ; preds = %10325
  %10333 = load i32, ptr %228, align 4, !tbaa !5
  %10334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10335 = call i32 @s2n_print_stacktrace(ptr noundef %10334) #12
  %10336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10337 = trunc nuw i8 %10336 to i1
  br i1 %10337, label %10338, label %10342

10338:                                            ; preds = %10332
  %10339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10340 = call i32 @fileno(ptr noundef %10339) #12
  %10341 = call i32 @isatty(i32 noundef %10340) #12
  %.not1874 = icmp eq i32 %10341, 0
  br i1 %.not1874, label %10342, label %10343

10342:                                            ; preds = %10338, %10332
  br label %10343

10343:                                            ; preds = %10338, %10342
  %.str.5.sink5637 = phi ptr [ @.str.5, %10342 ], [ @.str.2, %10338 ]
  store i32 %10333, ptr %228, align 4, !tbaa !5
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = load i32, ptr @test_count, align 4, !tbaa !5
  %10346 = load i32, ptr %174, align 4, !tbaa !5
  %10347 = call ptr @s2n_strerror(i32 noundef %10346, ptr noundef nonnull @.str.4) #12
  %10348 = load i32, ptr %174, align 4, !tbaa !5
  %10349 = call ptr @s2n_strerror_debug(i32 noundef %10348, ptr noundef nonnull @.str.4) #12
  %10350 = load i32, ptr %228, align 4, !tbaa !5
  %10351 = call ptr @strerror(i32 noundef %10350) #12
  %10352 = load i32, ptr %228, align 4, !tbaa !5
  %10353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10344, ptr noundef nonnull %.str.5.sink5637, i32 noundef %10345, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.1, i32 noundef 1058, ptr noundef %10347, ptr noundef %10349, ptr noundef %10351, i32 noundef %10352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10354:                                            ; preds = %10325
  %10355 = load i32, ptr @test_count, align 4, !tbaa !5
  %10356 = add nsw i32 %10355, 1
  store i32 %10356, ptr @test_count, align 4, !tbaa !5
  %10357 = load i32, ptr %43, align 4, !tbaa !5
  %10358 = icmp eq i32 %10357, 5
  br i1 %10358, label %10381, label %10359

10359:                                            ; preds = %10354
  %10360 = load i32, ptr %228, align 4, !tbaa !5
  %10361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10362 = call i32 @s2n_print_stacktrace(ptr noundef %10361) #12
  %10363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10364 = trunc nuw i8 %10363 to i1
  br i1 %10364, label %10365, label %10369

10365:                                            ; preds = %10359
  %10366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10367 = call i32 @fileno(ptr noundef %10366) #12
  %10368 = call i32 @isatty(i32 noundef %10367) #12
  %.not1875 = icmp eq i32 %10368, 0
  br i1 %.not1875, label %10369, label %10370

10369:                                            ; preds = %10365, %10359
  br label %10370

10370:                                            ; preds = %10365, %10369
  %.str.5.sink5646 = phi ptr [ @.str.5, %10369 ], [ @.str.2, %10365 ]
  store i32 %10360, ptr %228, align 4, !tbaa !5
  %10371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10372 = load i32, ptr @test_count, align 4, !tbaa !5
  %10373 = load i32, ptr %174, align 4, !tbaa !5
  %10374 = call ptr @s2n_strerror(i32 noundef %10373, ptr noundef nonnull @.str.4) #12
  %10375 = load i32, ptr %174, align 4, !tbaa !5
  %10376 = call ptr @s2n_strerror_debug(i32 noundef %10375, ptr noundef nonnull @.str.4) #12
  %10377 = load i32, ptr %228, align 4, !tbaa !5
  %10378 = call ptr @strerror(i32 noundef %10377) #12
  %10379 = load i32, ptr %228, align 4, !tbaa !5
  %10380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10371, ptr noundef nonnull %.str.5.sink5646, i32 noundef %10372, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.1, i32 noundef 1059, ptr noundef %10374, ptr noundef %10376, ptr noundef %10378, i32 noundef %10379) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10381:                                            ; preds = %10354
  %10382 = load i32, ptr %9894, align 8
  %10383 = or i32 %10382, 2048
  store i32 %10383, ptr %9894, align 8
  %10384 = load i32, ptr @test_count, align 4, !tbaa !5
  %10385 = add nsw i32 %10384, 1
  store i32 %10385, ptr @test_count, align 4, !tbaa !5
  %10386 = call i32 @s2n_early_data_get_server_max_size(ptr noundef nonnull %9894, ptr noundef nonnull %43) #12
  %10387 = call zeroext i1 @s2n_result_is_ok(i32 %10386)
  br i1 %10387, label %10410, label %10388

10388:                                            ; preds = %10381
  %10389 = load i32, ptr %228, align 4, !tbaa !5
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = call i32 @s2n_print_stacktrace(ptr noundef %10390) #12
  %10392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10393 = trunc nuw i8 %10392 to i1
  br i1 %10393, label %10394, label %10398

10394:                                            ; preds = %10388
  %10395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10396 = call i32 @fileno(ptr noundef %10395) #12
  %10397 = call i32 @isatty(i32 noundef %10396) #12
  %.not1876 = icmp eq i32 %10397, 0
  br i1 %.not1876, label %10398, label %10399

10398:                                            ; preds = %10394, %10388
  br label %10399

10399:                                            ; preds = %10394, %10398
  %.str.5.sink5655 = phi ptr [ @.str.5, %10398 ], [ @.str.2, %10394 ]
  store i32 %10389, ptr %228, align 4, !tbaa !5
  %10400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10401 = load i32, ptr @test_count, align 4, !tbaa !5
  %10402 = load i32, ptr %174, align 4, !tbaa !5
  %10403 = call ptr @s2n_strerror(i32 noundef %10402, ptr noundef nonnull @.str.4) #12
  %10404 = load i32, ptr %174, align 4, !tbaa !5
  %10405 = call ptr @s2n_strerror_debug(i32 noundef %10404, ptr noundef nonnull @.str.4) #12
  %10406 = load i32, ptr %228, align 4, !tbaa !5
  %10407 = call ptr @strerror(i32 noundef %10406) #12
  %10408 = load i32, ptr %228, align 4, !tbaa !5
  %10409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10400, ptr noundef nonnull %.str.5.sink5655, i32 noundef %10401, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.1, i32 noundef 1063, ptr noundef %10403, ptr noundef %10405, ptr noundef %10407, i32 noundef %10408) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10410:                                            ; preds = %10381
  %10411 = load i32, ptr @test_count, align 4, !tbaa !5
  %10412 = add nsw i32 %10411, 1
  store i32 %10412, ptr @test_count, align 4, !tbaa !5
  %10413 = load i32, ptr %43, align 4, !tbaa !5
  %10414 = icmp eq i32 %10413, 10
  br i1 %10414, label %10437, label %10415

10415:                                            ; preds = %10410
  %10416 = load i32, ptr %228, align 4, !tbaa !5
  %10417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10418 = call i32 @s2n_print_stacktrace(ptr noundef %10417) #12
  %10419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10420 = trunc nuw i8 %10419 to i1
  br i1 %10420, label %10421, label %10425

10421:                                            ; preds = %10415
  %10422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10423 = call i32 @fileno(ptr noundef %10422) #12
  %10424 = call i32 @isatty(i32 noundef %10423) #12
  %.not1877 = icmp eq i32 %10424, 0
  br i1 %.not1877, label %10425, label %10426

10425:                                            ; preds = %10421, %10415
  br label %10426

10426:                                            ; preds = %10421, %10425
  %.str.5.sink5664 = phi ptr [ @.str.5, %10425 ], [ @.str.2, %10421 ]
  store i32 %10416, ptr %228, align 4, !tbaa !5
  %10427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10428 = load i32, ptr @test_count, align 4, !tbaa !5
  %10429 = load i32, ptr %174, align 4, !tbaa !5
  %10430 = call ptr @s2n_strerror(i32 noundef %10429, ptr noundef nonnull @.str.4) #12
  %10431 = load i32, ptr %174, align 4, !tbaa !5
  %10432 = call ptr @s2n_strerror_debug(i32 noundef %10431, ptr noundef nonnull @.str.4) #12
  %10433 = load i32, ptr %228, align 4, !tbaa !5
  %10434 = call ptr @strerror(i32 noundef %10433) #12
  %10435 = load i32, ptr %228, align 4, !tbaa !5
  %10436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10427, ptr noundef nonnull %.str.5.sink5664, i32 noundef %10428, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.1, i32 noundef 1064, ptr noundef %10430, ptr noundef %10432, ptr noundef %10434, i32 noundef %10435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10437:                                            ; preds = %10410
  %10438 = add nsw i32 %10411, 2
  store i32 %10438, ptr @test_count, align 4, !tbaa !5
  %10439 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %9894, i32 noundef 0) #12
  %10440 = icmp eq i32 %10439, -1
  br i1 %10440, label %10441, label %10463

10441:                                            ; preds = %10437
  %10442 = load i32, ptr %228, align 4, !tbaa !5
  %10443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10444 = call i32 @s2n_print_stacktrace(ptr noundef %10443) #12
  %10445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10446 = trunc nuw i8 %10445 to i1
  br i1 %10446, label %10447, label %10451

10447:                                            ; preds = %10441
  %10448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10449 = call i32 @fileno(ptr noundef %10448) #12
  %10450 = call i32 @isatty(i32 noundef %10449) #12
  %.not2068 = icmp eq i32 %10450, 0
  br i1 %.not2068, label %10451, label %10452

10451:                                            ; preds = %10447, %10441
  br label %10452

10452:                                            ; preds = %10447, %10451
  %.str.5.sink5673 = phi ptr [ @.str.5, %10451 ], [ @.str.2, %10447 ]
  store i32 %10442, ptr %228, align 4, !tbaa !5
  %10453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10454 = load i32, ptr @test_count, align 4, !tbaa !5
  %10455 = load i32, ptr %174, align 4, !tbaa !5
  %10456 = call ptr @s2n_strerror(i32 noundef %10455, ptr noundef nonnull @.str.4) #12
  %10457 = load i32, ptr %174, align 4, !tbaa !5
  %10458 = call ptr @s2n_strerror_debug(i32 noundef %10457, ptr noundef nonnull @.str.4) #12
  %10459 = load i32, ptr %228, align 4, !tbaa !5
  %10460 = call ptr @strerror(i32 noundef %10459) #12
  %10461 = load i32, ptr %228, align 4, !tbaa !5
  %10462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10453, ptr noundef nonnull %.str.5.sink5673, i32 noundef %10454, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.1, i32 noundef 1067, ptr noundef %10456, ptr noundef %10458, ptr noundef %10460, i32 noundef %10461) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10463:                                            ; preds = %10437
  %10464 = load i32, ptr @test_count, align 4, !tbaa !5
  %10465 = add nsw i32 %10464, 1
  store i32 %10465, ptr @test_count, align 4, !tbaa !5
  %10466 = call i32 @s2n_early_data_get_server_max_size(ptr noundef nonnull %9894, ptr noundef nonnull %43) #12
  %10467 = call zeroext i1 @s2n_result_is_ok(i32 %10466)
  br i1 %10467, label %10490, label %10468

10468:                                            ; preds = %10463
  %10469 = load i32, ptr %228, align 4, !tbaa !5
  %10470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10471 = call i32 @s2n_print_stacktrace(ptr noundef %10470) #12
  %10472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10473 = trunc nuw i8 %10472 to i1
  br i1 %10473, label %10474, label %10478

10474:                                            ; preds = %10468
  %10475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10476 = call i32 @fileno(ptr noundef %10475) #12
  %10477 = call i32 @isatty(i32 noundef %10476) #12
  %.not1878 = icmp eq i32 %10477, 0
  br i1 %.not1878, label %10478, label %10479

10478:                                            ; preds = %10474, %10468
  br label %10479

10479:                                            ; preds = %10474, %10478
  %.str.5.sink5682 = phi ptr [ @.str.5, %10478 ], [ @.str.2, %10474 ]
  store i32 %10469, ptr %228, align 4, !tbaa !5
  %10480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10481 = load i32, ptr @test_count, align 4, !tbaa !5
  %10482 = load i32, ptr %174, align 4, !tbaa !5
  %10483 = call ptr @s2n_strerror(i32 noundef %10482, ptr noundef nonnull @.str.4) #12
  %10484 = load i32, ptr %174, align 4, !tbaa !5
  %10485 = call ptr @s2n_strerror_debug(i32 noundef %10484, ptr noundef nonnull @.str.4) #12
  %10486 = load i32, ptr %228, align 4, !tbaa !5
  %10487 = call ptr @strerror(i32 noundef %10486) #12
  %10488 = load i32, ptr %228, align 4, !tbaa !5
  %10489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10480, ptr noundef nonnull %.str.5.sink5682, i32 noundef %10481, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.1, i32 noundef 1068, ptr noundef %10483, ptr noundef %10485, ptr noundef %10487, i32 noundef %10488) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10490:                                            ; preds = %10463
  %10491 = load i32, ptr @test_count, align 4, !tbaa !5
  %10492 = add nsw i32 %10491, 1
  store i32 %10492, ptr @test_count, align 4, !tbaa !5
  %10493 = load i32, ptr %43, align 4, !tbaa !5
  %10494 = icmp eq i32 %10493, 0
  br i1 %10494, label %10517, label %10495

10495:                                            ; preds = %10490
  %10496 = load i32, ptr %228, align 4, !tbaa !5
  %10497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10498 = call i32 @s2n_print_stacktrace(ptr noundef %10497) #12
  %10499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10500 = trunc nuw i8 %10499 to i1
  br i1 %10500, label %10501, label %10505

10501:                                            ; preds = %10495
  %10502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10503 = call i32 @fileno(ptr noundef %10502) #12
  %10504 = call i32 @isatty(i32 noundef %10503) #12
  %.not1879 = icmp eq i32 %10504, 0
  br i1 %.not1879, label %10505, label %10506

10505:                                            ; preds = %10501, %10495
  br label %10506

10506:                                            ; preds = %10501, %10505
  %.str.5.sink5691 = phi ptr [ @.str.5, %10505 ], [ @.str.2, %10501 ]
  store i32 %10496, ptr %228, align 4, !tbaa !5
  %10507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10508 = load i32, ptr @test_count, align 4, !tbaa !5
  %10509 = load i32, ptr %174, align 4, !tbaa !5
  %10510 = call ptr @s2n_strerror(i32 noundef %10509, ptr noundef nonnull @.str.4) #12
  %10511 = load i32, ptr %174, align 4, !tbaa !5
  %10512 = call ptr @s2n_strerror_debug(i32 noundef %10511, ptr noundef nonnull @.str.4) #12
  %10513 = load i32, ptr %228, align 4, !tbaa !5
  %10514 = call ptr @strerror(i32 noundef %10513) #12
  %10515 = load i32, ptr %228, align 4, !tbaa !5
  %10516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10507, ptr noundef nonnull %.str.5.sink5691, i32 noundef %10508, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.1, i32 noundef 1069, ptr noundef %10510, ptr noundef %10512, ptr noundef %10514, i32 noundef %10515) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10517:                                            ; preds = %10490
  %10518 = add nsw i32 %10491, 2
  store i32 %10518, ptr @test_count, align 4, !tbaa !5
  %10519 = call i32 @s2n_config_free(ptr noundef nonnull %9841) #12
  %10520 = icmp eq i32 %10519, -1
  br i1 %10520, label %10521, label %10543

10521:                                            ; preds = %10517
  %10522 = load i32, ptr %228, align 4, !tbaa !5
  %10523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10524 = call i32 @s2n_print_stacktrace(ptr noundef %10523) #12
  %10525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10526 = trunc nuw i8 %10525 to i1
  br i1 %10526, label %10527, label %10531

10527:                                            ; preds = %10521
  %10528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10529 = call i32 @fileno(ptr noundef %10528) #12
  %10530 = call i32 @isatty(i32 noundef %10529) #12
  %.not2067 = icmp eq i32 %10530, 0
  br i1 %.not2067, label %10531, label %10532

10531:                                            ; preds = %10527, %10521
  br label %10532

10532:                                            ; preds = %10527, %10531
  %.str.5.sink5700 = phi ptr [ @.str.5, %10531 ], [ @.str.2, %10527 ]
  store i32 %10522, ptr %228, align 4, !tbaa !5
  %10533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10534 = load i32, ptr @test_count, align 4, !tbaa !5
  %10535 = load i32, ptr %174, align 4, !tbaa !5
  %10536 = call ptr @s2n_strerror(i32 noundef %10535, ptr noundef nonnull @.str.4) #12
  %10537 = load i32, ptr %174, align 4, !tbaa !5
  %10538 = call ptr @s2n_strerror_debug(i32 noundef %10537, ptr noundef nonnull @.str.4) #12
  %10539 = load i32, ptr %228, align 4, !tbaa !5
  %10540 = call ptr @strerror(i32 noundef %10539) #12
  %10541 = load i32, ptr %228, align 4, !tbaa !5
  %10542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10533, ptr noundef nonnull %.str.5.sink5700, i32 noundef %10534, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 1071, ptr noundef %10536, ptr noundef %10538, ptr noundef %10540, i32 noundef %10541) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10543:                                            ; preds = %10517
  %10544 = load i32, ptr @test_count, align 4, !tbaa !5
  %10545 = add nsw i32 %10544, 1
  store i32 %10545, ptr @test_count, align 4, !tbaa !5
  %10546 = call i32 @s2n_connection_free(ptr noundef nonnull %9894) #12
  %10547 = icmp eq i32 %10546, -1
  br i1 %10547, label %10548, label %10570

10548:                                            ; preds = %10543
  %10549 = load i32, ptr %228, align 4, !tbaa !5
  %10550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10551 = call i32 @s2n_print_stacktrace(ptr noundef %10550) #12
  %10552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10553 = trunc nuw i8 %10552 to i1
  br i1 %10553, label %10554, label %10558

10554:                                            ; preds = %10548
  %10555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10556 = call i32 @fileno(ptr noundef %10555) #12
  %10557 = call i32 @isatty(i32 noundef %10556) #12
  %.not2066 = icmp eq i32 %10557, 0
  br i1 %.not2066, label %10558, label %10559

10558:                                            ; preds = %10554, %10548
  br label %10559

10559:                                            ; preds = %10554, %10558
  %.str.5.sink5709 = phi ptr [ @.str.5, %10558 ], [ @.str.2, %10554 ]
  store i32 %10549, ptr %228, align 4, !tbaa !5
  %10560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10561 = load i32, ptr @test_count, align 4, !tbaa !5
  %10562 = load i32, ptr %174, align 4, !tbaa !5
  %10563 = call ptr @s2n_strerror(i32 noundef %10562, ptr noundef nonnull @.str.4) #12
  %10564 = load i32, ptr %174, align 4, !tbaa !5
  %10565 = call ptr @s2n_strerror_debug(i32 noundef %10564, ptr noundef nonnull @.str.4) #12
  %10566 = load i32, ptr %228, align 4, !tbaa !5
  %10567 = call ptr @strerror(i32 noundef %10566) #12
  %10568 = load i32, ptr %228, align 4, !tbaa !5
  %10569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10560, ptr noundef nonnull %.str.5.sink5709, i32 noundef %10561, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1072, ptr noundef %10563, ptr noundef %10565, ptr noundef %10567, i32 noundef %10568) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10570:                                            ; preds = %10543
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #12
  %10571 = call ptr @s2n_connection_new(i32 noundef 0) #12
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %44) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %44, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.data, i64 12, i1 false)
  %10572 = load i32, ptr @test_count, align 4, !tbaa !5
  %10573 = add nsw i32 %10572, 1
  store i32 %10573, ptr @test_count, align 4, !tbaa !5
  %10574 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef null, ptr noundef nonnull %44, i16 noundef zeroext 1) #12
  %10575 = icmp eq i32 %10574, -1
  br i1 %10575, label %10598, label %10576

10576:                                            ; preds = %10570
  %10577 = load i32, ptr %228, align 4, !tbaa !5
  %10578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10579 = call i32 @s2n_print_stacktrace(ptr noundef %10578) #12
  %10580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10581 = trunc nuw i8 %10580 to i1
  br i1 %10581, label %10582, label %10586

10582:                                            ; preds = %10576
  %10583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10584 = call i32 @fileno(ptr noundef %10583) #12
  %10585 = call i32 @isatty(i32 noundef %10584) #12
  %.not1880 = icmp eq i32 %10585, 0
  br i1 %.not1880, label %10586, label %10587

10586:                                            ; preds = %10582, %10576
  br label %10587

10587:                                            ; preds = %10582, %10586
  %.str.5.sink5718 = phi ptr [ @.str.5, %10586 ], [ @.str.2, %10582 ]
  store i32 %10577, ptr %228, align 4, !tbaa !5
  %10588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10589 = load i32, ptr @test_count, align 4, !tbaa !5
  %10590 = load i32, ptr %174, align 4, !tbaa !5
  %10591 = call ptr @s2n_strerror(i32 noundef %10590, ptr noundef nonnull @.str.4) #12
  %10592 = load i32, ptr %174, align 4, !tbaa !5
  %10593 = call ptr @s2n_strerror_debug(i32 noundef %10592, ptr noundef nonnull @.str.4) #12
  %10594 = load i32, ptr %228, align 4, !tbaa !5
  %10595 = call ptr @strerror(i32 noundef %10594) #12
  %10596 = load i32, ptr %228, align 4, !tbaa !5
  %10597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10588, ptr noundef nonnull %.str.5.sink5718, i32 noundef %10589, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.1, i32 noundef 1081, ptr noundef %10591, ptr noundef %10593, ptr noundef %10595, i32 noundef %10596) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10598:                                            ; preds = %10570
  %10599 = load i32, ptr @test_count, align 4, !tbaa !5
  %10600 = add nsw i32 %10599, 1
  store i32 %10600, ptr @test_count, align 4, !tbaa !5
  %10601 = load i32, ptr %174, align 4, !tbaa !5
  %10602 = icmp eq i32 %10601, 402653193
  br i1 %10602, label %10625, label %10603

10603:                                            ; preds = %10598
  %10604 = load i32, ptr %228, align 4, !tbaa !5
  %10605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10606 = call i32 @s2n_print_stacktrace(ptr noundef %10605) #12
  %10607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10608 = trunc nuw i8 %10607 to i1
  br i1 %10608, label %10609, label %10613

10609:                                            ; preds = %10603
  %10610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10611 = call i32 @fileno(ptr noundef %10610) #12
  %10612 = call i32 @isatty(i32 noundef %10611) #12
  %.not1881 = icmp eq i32 %10612, 0
  br i1 %.not1881, label %10613, label %10614

10613:                                            ; preds = %10609, %10603
  br label %10614

10614:                                            ; preds = %10609, %10613
  %.str.5.sink5727 = phi ptr [ @.str.5, %10613 ], [ @.str.2, %10609 ]
  store i32 %10604, ptr %228, align 4, !tbaa !5
  %10615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10616 = load i32, ptr @test_count, align 4, !tbaa !5
  %10617 = load i32, ptr %174, align 4, !tbaa !5
  %10618 = call ptr @s2n_strerror(i32 noundef %10617, ptr noundef nonnull @.str.4) #12
  %10619 = load i32, ptr %174, align 4, !tbaa !5
  %10620 = call ptr @s2n_strerror_debug(i32 noundef %10619, ptr noundef nonnull @.str.4) #12
  %10621 = load i32, ptr %228, align 4, !tbaa !5
  %10622 = call ptr @strerror(i32 noundef %10621) #12
  %10623 = load i32, ptr %228, align 4, !tbaa !5
  %10624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10615, ptr noundef nonnull %.str.5.sink5727, i32 noundef %10616, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1081, ptr noundef %10618, ptr noundef %10620, ptr noundef %10622, i32 noundef %10623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10625:                                            ; preds = %10598
  %10626 = add nsw i32 %10599, 2
  store i32 %10626, ptr @test_count, align 4, !tbaa !5
  %10627 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %10628 = icmp eq ptr %10627, null
  br i1 %10628, label %10629, label %10651

10629:                                            ; preds = %10625
  %10630 = load i32, ptr %228, align 4, !tbaa !5
  %10631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10632 = call i32 @s2n_print_stacktrace(ptr noundef %10631) #12
  %10633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10634 = trunc nuw i8 %10633 to i1
  br i1 %10634, label %10635, label %10639

10635:                                            ; preds = %10629
  %10636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10637 = call i32 @fileno(ptr noundef %10636) #12
  %10638 = call i32 @isatty(i32 noundef %10637) #12
  %.not2065 = icmp eq i32 %10638, 0
  br i1 %.not2065, label %10639, label %10640

10639:                                            ; preds = %10635, %10629
  br label %10640

10640:                                            ; preds = %10635, %10639
  %.str.5.sink5736 = phi ptr [ @.str.5, %10639 ], [ @.str.2, %10635 ]
  store i32 %10630, ptr %228, align 4, !tbaa !5
  %10641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10642 = load i32, ptr @test_count, align 4, !tbaa !5
  %10643 = load i32, ptr %174, align 4, !tbaa !5
  %10644 = call ptr @s2n_strerror(i32 noundef %10643, ptr noundef nonnull @.str.4) #12
  %10645 = load i32, ptr %174, align 4, !tbaa !5
  %10646 = call ptr @s2n_strerror_debug(i32 noundef %10645, ptr noundef nonnull @.str.4) #12
  %10647 = load i32, ptr %228, align 4, !tbaa !5
  %10648 = call ptr @strerror(i32 noundef %10647) #12
  %10649 = load i32, ptr %228, align 4, !tbaa !5
  %10650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10641, ptr noundef nonnull %.str.5.sink5736, i32 noundef %10642, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1081, ptr noundef %10644, ptr noundef %10646, ptr noundef %10648, i32 noundef %10649) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10651:                                            ; preds = %10625
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %10652 = load i32, ptr @test_count, align 4, !tbaa !5
  %10653 = add nsw i32 %10652, 1
  store i32 %10653, ptr @test_count, align 4, !tbaa !5
  %10654 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %10571, ptr noundef null, i16 noundef zeroext 1) #12
  %10655 = icmp eq i32 %10654, -1
  br i1 %10655, label %10678, label %10656

10656:                                            ; preds = %10651
  %10657 = load i32, ptr %228, align 4, !tbaa !5
  %10658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10659 = call i32 @s2n_print_stacktrace(ptr noundef %10658) #12
  %10660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10661 = trunc nuw i8 %10660 to i1
  br i1 %10661, label %10662, label %10666

10662:                                            ; preds = %10656
  %10663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10664 = call i32 @fileno(ptr noundef %10663) #12
  %10665 = call i32 @isatty(i32 noundef %10664) #12
  %.not1882 = icmp eq i32 %10665, 0
  br i1 %.not1882, label %10666, label %10667

10666:                                            ; preds = %10662, %10656
  br label %10667

10667:                                            ; preds = %10662, %10666
  %.str.5.sink5745 = phi ptr [ @.str.5, %10666 ], [ @.str.2, %10662 ]
  store i32 %10657, ptr %228, align 4, !tbaa !5
  %10668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10669 = load i32, ptr @test_count, align 4, !tbaa !5
  %10670 = load i32, ptr %174, align 4, !tbaa !5
  %10671 = call ptr @s2n_strerror(i32 noundef %10670, ptr noundef nonnull @.str.4) #12
  %10672 = load i32, ptr %174, align 4, !tbaa !5
  %10673 = call ptr @s2n_strerror_debug(i32 noundef %10672, ptr noundef nonnull @.str.4) #12
  %10674 = load i32, ptr %228, align 4, !tbaa !5
  %10675 = call ptr @strerror(i32 noundef %10674) #12
  %10676 = load i32, ptr %228, align 4, !tbaa !5
  %10677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10668, ptr noundef nonnull %.str.5.sink5745, i32 noundef %10669, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 1082, ptr noundef %10671, ptr noundef %10673, ptr noundef %10675, i32 noundef %10676) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10678:                                            ; preds = %10651
  %10679 = load i32, ptr @test_count, align 4, !tbaa !5
  %10680 = add nsw i32 %10679, 1
  store i32 %10680, ptr @test_count, align 4, !tbaa !5
  %10681 = load i32, ptr %174, align 4, !tbaa !5
  %10682 = icmp eq i32 %10681, 402653193
  br i1 %10682, label %10705, label %10683

10683:                                            ; preds = %10678
  %10684 = load i32, ptr %228, align 4, !tbaa !5
  %10685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10686 = call i32 @s2n_print_stacktrace(ptr noundef %10685) #12
  %10687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10688 = trunc nuw i8 %10687 to i1
  br i1 %10688, label %10689, label %10693

10689:                                            ; preds = %10683
  %10690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10691 = call i32 @fileno(ptr noundef %10690) #12
  %10692 = call i32 @isatty(i32 noundef %10691) #12
  %.not1883 = icmp eq i32 %10692, 0
  br i1 %.not1883, label %10693, label %10694

10693:                                            ; preds = %10689, %10683
  br label %10694

10694:                                            ; preds = %10689, %10693
  %.str.5.sink5754 = phi ptr [ @.str.5, %10693 ], [ @.str.2, %10689 ]
  store i32 %10684, ptr %228, align 4, !tbaa !5
  %10695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10696 = load i32, ptr @test_count, align 4, !tbaa !5
  %10697 = load i32, ptr %174, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror(i32 noundef %10697, ptr noundef nonnull @.str.4) #12
  %10699 = load i32, ptr %174, align 4, !tbaa !5
  %10700 = call ptr @s2n_strerror_debug(i32 noundef %10699, ptr noundef nonnull @.str.4) #12
  %10701 = load i32, ptr %228, align 4, !tbaa !5
  %10702 = call ptr @strerror(i32 noundef %10701) #12
  %10703 = load i32, ptr %228, align 4, !tbaa !5
  %10704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10695, ptr noundef nonnull %.str.5.sink5754, i32 noundef %10696, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1082, ptr noundef %10698, ptr noundef %10700, ptr noundef %10702, i32 noundef %10703) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10705:                                            ; preds = %10678
  %10706 = add nsw i32 %10679, 2
  store i32 %10706, ptr @test_count, align 4, !tbaa !5
  %10707 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %10708 = icmp eq ptr %10707, null
  br i1 %10708, label %10709, label %10731

10709:                                            ; preds = %10705
  %10710 = load i32, ptr %228, align 4, !tbaa !5
  %10711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10712 = call i32 @s2n_print_stacktrace(ptr noundef %10711) #12
  %10713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10714 = trunc nuw i8 %10713 to i1
  br i1 %10714, label %10715, label %10719

10715:                                            ; preds = %10709
  %10716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10717 = call i32 @fileno(ptr noundef %10716) #12
  %10718 = call i32 @isatty(i32 noundef %10717) #12
  %.not2064 = icmp eq i32 %10718, 0
  br i1 %.not2064, label %10719, label %10720

10719:                                            ; preds = %10715, %10709
  br label %10720

10720:                                            ; preds = %10715, %10719
  %.str.5.sink5763 = phi ptr [ @.str.5, %10719 ], [ @.str.2, %10715 ]
  store i32 %10710, ptr %228, align 4, !tbaa !5
  %10721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10722 = load i32, ptr @test_count, align 4, !tbaa !5
  %10723 = load i32, ptr %174, align 4, !tbaa !5
  %10724 = call ptr @s2n_strerror(i32 noundef %10723, ptr noundef nonnull @.str.4) #12
  %10725 = load i32, ptr %174, align 4, !tbaa !5
  %10726 = call ptr @s2n_strerror_debug(i32 noundef %10725, ptr noundef nonnull @.str.4) #12
  %10727 = load i32, ptr %228, align 4, !tbaa !5
  %10728 = call ptr @strerror(i32 noundef %10727) #12
  %10729 = load i32, ptr %228, align 4, !tbaa !5
  %10730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10721, ptr noundef nonnull %.str.5.sink5763, i32 noundef %10722, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1082, ptr noundef %10724, ptr noundef %10726, ptr noundef %10728, i32 noundef %10729) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10731:                                            ; preds = %10705
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %10732 = load i32, ptr @test_count, align 4, !tbaa !5
  %10733 = add nsw i32 %10732, 1
  store i32 %10733, ptr @test_count, align 4, !tbaa !5
  %10734 = getelementptr inbounds i8, ptr %10571, i64 4096
  %10735 = getelementptr inbounds i8, ptr %10571, i64 4104
  %10736 = load i32, ptr %10735, align 8, !tbaa !81
  %10737 = icmp eq i32 %10736, 0
  br i1 %10737, label %10760, label %10738

10738:                                            ; preds = %10731
  %10739 = load i32, ptr %228, align 4, !tbaa !5
  %10740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10741 = call i32 @s2n_print_stacktrace(ptr noundef %10740) #12
  %10742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10743 = trunc nuw i8 %10742 to i1
  br i1 %10743, label %10744, label %10748

10744:                                            ; preds = %10738
  %10745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10746 = call i32 @fileno(ptr noundef %10745) #12
  %10747 = call i32 @isatty(i32 noundef %10746) #12
  %.not1884 = icmp eq i32 %10747, 0
  br i1 %.not1884, label %10748, label %10749

10748:                                            ; preds = %10744, %10738
  br label %10749

10749:                                            ; preds = %10744, %10748
  %.str.5.sink5772 = phi ptr [ @.str.5, %10748 ], [ @.str.2, %10744 ]
  store i32 %10739, ptr %228, align 4, !tbaa !5
  %10750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10751 = load i32, ptr @test_count, align 4, !tbaa !5
  %10752 = load i32, ptr %174, align 4, !tbaa !5
  %10753 = call ptr @s2n_strerror(i32 noundef %10752, ptr noundef nonnull @.str.4) #12
  %10754 = load i32, ptr %174, align 4, !tbaa !5
  %10755 = call ptr @s2n_strerror_debug(i32 noundef %10754, ptr noundef nonnull @.str.4) #12
  %10756 = load i32, ptr %228, align 4, !tbaa !5
  %10757 = call ptr @strerror(i32 noundef %10756) #12
  %10758 = load i32, ptr %228, align 4, !tbaa !5
  %10759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10750, ptr noundef nonnull %.str.5.sink5772, i32 noundef %10751, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 1083, ptr noundef %10753, ptr noundef %10755, ptr noundef %10757, i32 noundef %10758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10760:                                            ; preds = %10731
  %10761 = add nsw i32 %10732, 2
  store i32 %10761, ptr @test_count, align 4, !tbaa !5
  %10762 = getelementptr inbounds i8, ptr %10571, i64 4108
  %10763 = load i32, ptr %10762, align 4, !tbaa !82
  %10764 = icmp eq i32 %10763, 0
  br i1 %10764, label %10787, label %10765

10765:                                            ; preds = %10760
  %10766 = load i32, ptr %228, align 4, !tbaa !5
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = call i32 @s2n_print_stacktrace(ptr noundef %10767) #12
  %10769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10770 = trunc nuw i8 %10769 to i1
  br i1 %10770, label %10771, label %10775

10771:                                            ; preds = %10765
  %10772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10773 = call i32 @fileno(ptr noundef %10772) #12
  %10774 = call i32 @isatty(i32 noundef %10773) #12
  %.not1885 = icmp eq i32 %10774, 0
  br i1 %.not1885, label %10775, label %10776

10775:                                            ; preds = %10771, %10765
  br label %10776

10776:                                            ; preds = %10771, %10775
  %.str.5.sink5781 = phi ptr [ @.str.5, %10775 ], [ @.str.2, %10771 ]
  store i32 %10766, ptr %228, align 4, !tbaa !5
  %10777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10778 = load i32, ptr @test_count, align 4, !tbaa !5
  %10779 = load i32, ptr %174, align 4, !tbaa !5
  %10780 = call ptr @s2n_strerror(i32 noundef %10779, ptr noundef nonnull @.str.4) #12
  %10781 = load i32, ptr %174, align 4, !tbaa !5
  %10782 = call ptr @s2n_strerror_debug(i32 noundef %10781, ptr noundef nonnull @.str.4) #12
  %10783 = load i32, ptr %228, align 4, !tbaa !5
  %10784 = call ptr @strerror(i32 noundef %10783) #12
  %10785 = load i32, ptr %228, align 4, !tbaa !5
  %10786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10777, ptr noundef nonnull %.str.5.sink5781, i32 noundef %10778, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.1, i32 noundef 1084, ptr noundef %10780, ptr noundef %10782, ptr noundef %10784, i32 noundef %10785) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10787:                                            ; preds = %10760
  %10788 = add nsw i32 %10732, 3
  store i32 %10788, ptr @test_count, align 4, !tbaa !5
  %10789 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef nonnull %10571, ptr noundef nonnull %44, i16 noundef zeroext 12) #12
  %10790 = icmp eq i32 %10789, -1
  br i1 %10790, label %10791, label %10813

10791:                                            ; preds = %10787
  %10792 = load i32, ptr %228, align 4, !tbaa !5
  %10793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10794 = call i32 @s2n_print_stacktrace(ptr noundef %10793) #12
  %10795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10796 = trunc nuw i8 %10795 to i1
  br i1 %10796, label %10797, label %10801

10797:                                            ; preds = %10791
  %10798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10799 = call i32 @fileno(ptr noundef %10798) #12
  %10800 = call i32 @isatty(i32 noundef %10799) #12
  %.not2063 = icmp eq i32 %10800, 0
  br i1 %.not2063, label %10801, label %10802

10801:                                            ; preds = %10797, %10791
  br label %10802

10802:                                            ; preds = %10797, %10801
  %.str.5.sink5790 = phi ptr [ @.str.5, %10801 ], [ @.str.2, %10797 ]
  store i32 %10792, ptr %228, align 4, !tbaa !5
  %10803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10804 = load i32, ptr @test_count, align 4, !tbaa !5
  %10805 = load i32, ptr %174, align 4, !tbaa !5
  %10806 = call ptr @s2n_strerror(i32 noundef %10805, ptr noundef nonnull @.str.4) #12
  %10807 = load i32, ptr %174, align 4, !tbaa !5
  %10808 = call ptr @s2n_strerror_debug(i32 noundef %10807, ptr noundef nonnull @.str.4) #12
  %10809 = load i32, ptr %228, align 4, !tbaa !5
  %10810 = call ptr @strerror(i32 noundef %10809) #12
  %10811 = load i32, ptr %228, align 4, !tbaa !5
  %10812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10803, ptr noundef nonnull %.str.5.sink5790, i32 noundef %10804, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 1087, ptr noundef %10806, ptr noundef %10808, ptr noundef %10810, i32 noundef %10811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10813:                                            ; preds = %10787
  %10814 = load i32, ptr @test_count, align 4, !tbaa !5
  %10815 = add nsw i32 %10814, 1
  store i32 %10815, ptr @test_count, align 4, !tbaa !5
  %10816 = load i32, ptr %10735, align 8, !tbaa !81
  %10817 = icmp eq i32 %10816, 12
  br i1 %10817, label %10840, label %10818

10818:                                            ; preds = %10813
  %10819 = load i32, ptr %228, align 4, !tbaa !5
  %10820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10821 = call i32 @s2n_print_stacktrace(ptr noundef %10820) #12
  %10822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10823 = trunc nuw i8 %10822 to i1
  br i1 %10823, label %10824, label %10828

10824:                                            ; preds = %10818
  %10825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10826 = call i32 @fileno(ptr noundef %10825) #12
  %10827 = call i32 @isatty(i32 noundef %10826) #12
  %.not1886 = icmp eq i32 %10827, 0
  br i1 %.not1886, label %10828, label %10829

10828:                                            ; preds = %10824, %10818
  br label %10829

10829:                                            ; preds = %10824, %10828
  %.str.5.sink5799 = phi ptr [ @.str.5, %10828 ], [ @.str.2, %10824 ]
  store i32 %10819, ptr %228, align 4, !tbaa !5
  %10830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10831 = load i32, ptr @test_count, align 4, !tbaa !5
  %10832 = load i32, ptr %174, align 4, !tbaa !5
  %10833 = call ptr @s2n_strerror(i32 noundef %10832, ptr noundef nonnull @.str.4) #12
  %10834 = load i32, ptr %174, align 4, !tbaa !5
  %10835 = call ptr @s2n_strerror_debug(i32 noundef %10834, ptr noundef nonnull @.str.4) #12
  %10836 = load i32, ptr %228, align 4, !tbaa !5
  %10837 = call ptr @strerror(i32 noundef %10836) #12
  %10838 = load i32, ptr %228, align 4, !tbaa !5
  %10839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10830, ptr noundef nonnull %.str.5.sink5799, i32 noundef %10831, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.1, i32 noundef 1088, ptr noundef %10833, ptr noundef %10835, ptr noundef %10837, i32 noundef %10838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10840:                                            ; preds = %10813
  %10841 = add nsw i32 %10814, 2
  store i32 %10841, ptr @test_count, align 4, !tbaa !5
  %10842 = load ptr, ptr %10734, align 8, !tbaa !83
  %bcmp1887 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %10842, ptr noundef nonnull dereferenceable(12) %44, i64 12)
  %10843 = icmp eq i32 %bcmp1887, 0
  br i1 %10843, label %10866, label %10844

10844:                                            ; preds = %10840
  %10845 = load i32, ptr %228, align 4, !tbaa !5
  %10846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10847 = call i32 @s2n_print_stacktrace(ptr noundef %10846) #12
  %10848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10849 = trunc nuw i8 %10848 to i1
  br i1 %10849, label %10850, label %10854

10850:                                            ; preds = %10844
  %10851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10852 = call i32 @fileno(ptr noundef %10851) #12
  %10853 = call i32 @isatty(i32 noundef %10852) #12
  %.not1888 = icmp eq i32 %10853, 0
  br i1 %.not1888, label %10854, label %10855

10854:                                            ; preds = %10850, %10844
  br label %10855

10855:                                            ; preds = %10850, %10854
  %.str.5.sink5808 = phi ptr [ @.str.5, %10854 ], [ @.str.2, %10850 ]
  store i32 %10845, ptr %228, align 4, !tbaa !5
  %10856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10857 = load i32, ptr @test_count, align 4, !tbaa !5
  %10858 = load i32, ptr %174, align 4, !tbaa !5
  %10859 = call ptr @s2n_strerror(i32 noundef %10858, ptr noundef nonnull @.str.4) #12
  %10860 = load i32, ptr %174, align 4, !tbaa !5
  %10861 = call ptr @s2n_strerror_debug(i32 noundef %10860, ptr noundef nonnull @.str.4) #12
  %10862 = load i32, ptr %228, align 4, !tbaa !5
  %10863 = call ptr @strerror(i32 noundef %10862) #12
  %10864 = load i32, ptr %228, align 4, !tbaa !5
  %10865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10856, ptr noundef nonnull %.str.5.sink5808, i32 noundef %10857, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.1, i32 noundef 1089, ptr noundef %10859, ptr noundef %10861, ptr noundef %10863, i32 noundef %10864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10866:                                            ; preds = %10840
  %10867 = add nsw i32 %10814, 3
  store i32 %10867, ptr @test_count, align 4, !tbaa !5
  %10868 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef nonnull %10571, ptr noundef null, i16 noundef zeroext 0) #12
  %10869 = icmp eq i32 %10868, -1
  br i1 %10869, label %10870, label %10892

10870:                                            ; preds = %10866
  %10871 = load i32, ptr %228, align 4, !tbaa !5
  %10872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10873 = call i32 @s2n_print_stacktrace(ptr noundef %10872) #12
  %10874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10875 = trunc nuw i8 %10874 to i1
  br i1 %10875, label %10876, label %10880

10876:                                            ; preds = %10870
  %10877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10878 = call i32 @fileno(ptr noundef %10877) #12
  %10879 = call i32 @isatty(i32 noundef %10878) #12
  %.not2062 = icmp eq i32 %10879, 0
  br i1 %.not2062, label %10880, label %10881

10880:                                            ; preds = %10876, %10870
  br label %10881

10881:                                            ; preds = %10876, %10880
  %.str.5.sink5817 = phi ptr [ @.str.5, %10880 ], [ @.str.2, %10876 ]
  store i32 %10871, ptr %228, align 4, !tbaa !5
  %10882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10883 = load i32, ptr @test_count, align 4, !tbaa !5
  %10884 = load i32, ptr %174, align 4, !tbaa !5
  %10885 = call ptr @s2n_strerror(i32 noundef %10884, ptr noundef nonnull @.str.4) #12
  %10886 = load i32, ptr %174, align 4, !tbaa !5
  %10887 = call ptr @s2n_strerror_debug(i32 noundef %10886, ptr noundef nonnull @.str.4) #12
  %10888 = load i32, ptr %228, align 4, !tbaa !5
  %10889 = call ptr @strerror(i32 noundef %10888) #12
  %10890 = load i32, ptr %228, align 4, !tbaa !5
  %10891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10882, ptr noundef nonnull %.str.5.sink5817, i32 noundef %10883, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.1, i32 noundef 1092, ptr noundef %10885, ptr noundef %10887, ptr noundef %10889, i32 noundef %10890) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10892:                                            ; preds = %10866
  %10893 = load i32, ptr @test_count, align 4, !tbaa !5
  %10894 = add nsw i32 %10893, 1
  store i32 %10894, ptr @test_count, align 4, !tbaa !5
  %10895 = load i32, ptr %10735, align 8, !tbaa !81
  %10896 = icmp eq i32 %10895, 0
  br i1 %10896, label %10919, label %10897

10897:                                            ; preds = %10892
  %10898 = load i32, ptr %228, align 4, !tbaa !5
  %10899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10900 = call i32 @s2n_print_stacktrace(ptr noundef %10899) #12
  %10901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10902 = trunc nuw i8 %10901 to i1
  br i1 %10902, label %10903, label %10907

10903:                                            ; preds = %10897
  %10904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10905 = call i32 @fileno(ptr noundef %10904) #12
  %10906 = call i32 @isatty(i32 noundef %10905) #12
  %.not1889 = icmp eq i32 %10906, 0
  br i1 %.not1889, label %10907, label %10908

10907:                                            ; preds = %10903, %10897
  br label %10908

10908:                                            ; preds = %10903, %10907
  %.str.5.sink5826 = phi ptr [ @.str.5, %10907 ], [ @.str.2, %10903 ]
  store i32 %10898, ptr %228, align 4, !tbaa !5
  %10909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10910 = load i32, ptr @test_count, align 4, !tbaa !5
  %10911 = load i32, ptr %174, align 4, !tbaa !5
  %10912 = call ptr @s2n_strerror(i32 noundef %10911, ptr noundef nonnull @.str.4) #12
  %10913 = load i32, ptr %174, align 4, !tbaa !5
  %10914 = call ptr @s2n_strerror_debug(i32 noundef %10913, ptr noundef nonnull @.str.4) #12
  %10915 = load i32, ptr %228, align 4, !tbaa !5
  %10916 = call ptr @strerror(i32 noundef %10915) #12
  %10917 = load i32, ptr %228, align 4, !tbaa !5
  %10918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10909, ptr noundef nonnull %.str.5.sink5826, i32 noundef %10910, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 1093, ptr noundef %10912, ptr noundef %10914, ptr noundef %10916, i32 noundef %10917) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10919:                                            ; preds = %10892
  %10920 = add nsw i32 %10893, 2
  store i32 %10920, ptr @test_count, align 4, !tbaa !5
  %10921 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef nonnull %10571, ptr noundef nonnull %44, i16 noundef zeroext 1) #12
  %10922 = icmp eq i32 %10921, -1
  br i1 %10922, label %10923, label %10945

10923:                                            ; preds = %10919
  %10924 = load i32, ptr %228, align 4, !tbaa !5
  %10925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10926 = call i32 @s2n_print_stacktrace(ptr noundef %10925) #12
  %10927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10928 = trunc nuw i8 %10927 to i1
  br i1 %10928, label %10929, label %10933

10929:                                            ; preds = %10923
  %10930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10931 = call i32 @fileno(ptr noundef %10930) #12
  %10932 = call i32 @isatty(i32 noundef %10931) #12
  %.not2061 = icmp eq i32 %10932, 0
  br i1 %.not2061, label %10933, label %10934

10933:                                            ; preds = %10929, %10923
  br label %10934

10934:                                            ; preds = %10929, %10933
  %.str.5.sink5835 = phi ptr [ @.str.5, %10933 ], [ @.str.2, %10929 ]
  store i32 %10924, ptr %228, align 4, !tbaa !5
  %10935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10936 = load i32, ptr @test_count, align 4, !tbaa !5
  %10937 = load i32, ptr %174, align 4, !tbaa !5
  %10938 = call ptr @s2n_strerror(i32 noundef %10937, ptr noundef nonnull @.str.4) #12
  %10939 = load i32, ptr %174, align 4, !tbaa !5
  %10940 = call ptr @s2n_strerror_debug(i32 noundef %10939, ptr noundef nonnull @.str.4) #12
  %10941 = load i32, ptr %228, align 4, !tbaa !5
  %10942 = call ptr @strerror(i32 noundef %10941) #12
  %10943 = load i32, ptr %228, align 4, !tbaa !5
  %10944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10935, ptr noundef nonnull %.str.5.sink5835, i32 noundef %10936, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 1096, ptr noundef %10938, ptr noundef %10940, ptr noundef %10942, i32 noundef %10943) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10945:                                            ; preds = %10919
  %10946 = load i32, ptr @test_count, align 4, !tbaa !5
  %10947 = add nsw i32 %10946, 1
  store i32 %10947, ptr @test_count, align 4, !tbaa !5
  %10948 = load i32, ptr %10735, align 8, !tbaa !81
  %10949 = icmp eq i32 %10948, 1
  br i1 %10949, label %10972, label %10950

10950:                                            ; preds = %10945
  %10951 = load i32, ptr %228, align 4, !tbaa !5
  %10952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10953 = call i32 @s2n_print_stacktrace(ptr noundef %10952) #12
  %10954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10955 = trunc nuw i8 %10954 to i1
  br i1 %10955, label %10956, label %10960

10956:                                            ; preds = %10950
  %10957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10958 = call i32 @fileno(ptr noundef %10957) #12
  %10959 = call i32 @isatty(i32 noundef %10958) #12
  %.not1890 = icmp eq i32 %10959, 0
  br i1 %.not1890, label %10960, label %10961

10960:                                            ; preds = %10956, %10950
  br label %10961

10961:                                            ; preds = %10956, %10960
  %.str.5.sink5844 = phi ptr [ @.str.5, %10960 ], [ @.str.2, %10956 ]
  store i32 %10951, ptr %228, align 4, !tbaa !5
  %10962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10963 = load i32, ptr @test_count, align 4, !tbaa !5
  %10964 = load i32, ptr %174, align 4, !tbaa !5
  %10965 = call ptr @s2n_strerror(i32 noundef %10964, ptr noundef nonnull @.str.4) #12
  %10966 = load i32, ptr %174, align 4, !tbaa !5
  %10967 = call ptr @s2n_strerror_debug(i32 noundef %10966, ptr noundef nonnull @.str.4) #12
  %10968 = load i32, ptr %228, align 4, !tbaa !5
  %10969 = call ptr @strerror(i32 noundef %10968) #12
  %10970 = load i32, ptr %228, align 4, !tbaa !5
  %10971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10962, ptr noundef nonnull %.str.5.sink5844, i32 noundef %10963, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.1, i32 noundef 1097, ptr noundef %10965, ptr noundef %10967, ptr noundef %10969, i32 noundef %10970) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10972:                                            ; preds = %10945
  %10973 = add nsw i32 %10946, 2
  store i32 %10973, ptr @test_count, align 4, !tbaa !5
  %10974 = load ptr, ptr %10734, align 8, !tbaa !83
  %lhsc = load i8, ptr %10974, align 1
  %rhsc = load i8, ptr %44, align 1
  %10975 = icmp eq i8 %lhsc, %rhsc
  br i1 %10975, label %10998, label %10976

10976:                                            ; preds = %10972
  %10977 = load i32, ptr %228, align 4, !tbaa !5
  %10978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10979 = call i32 @s2n_print_stacktrace(ptr noundef %10978) #12
  %10980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10981 = trunc nuw i8 %10980 to i1
  br i1 %10981, label %10982, label %10986

10982:                                            ; preds = %10976
  %10983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10984 = call i32 @fileno(ptr noundef %10983) #12
  %10985 = call i32 @isatty(i32 noundef %10984) #12
  %.not1891 = icmp eq i32 %10985, 0
  br i1 %.not1891, label %10986, label %10987

10986:                                            ; preds = %10982, %10976
  br label %10987

10987:                                            ; preds = %10982, %10986
  %.str.5.sink5853 = phi ptr [ @.str.5, %10986 ], [ @.str.2, %10982 ]
  store i32 %10977, ptr %228, align 4, !tbaa !5
  %10988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10989 = load i32, ptr @test_count, align 4, !tbaa !5
  %10990 = load i32, ptr %174, align 4, !tbaa !5
  %10991 = call ptr @s2n_strerror(i32 noundef %10990, ptr noundef nonnull @.str.4) #12
  %10992 = load i32, ptr %174, align 4, !tbaa !5
  %10993 = call ptr @s2n_strerror_debug(i32 noundef %10992, ptr noundef nonnull @.str.4) #12
  %10994 = load i32, ptr %228, align 4, !tbaa !5
  %10995 = call ptr @strerror(i32 noundef %10994) #12
  %10996 = load i32, ptr %228, align 4, !tbaa !5
  %10997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10988, ptr noundef nonnull %.str.5.sink5853, i32 noundef %10989, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.1, i32 noundef 1098, ptr noundef %10991, ptr noundef %10993, ptr noundef %10995, i32 noundef %10996) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10998:                                            ; preds = %10972
  %10999 = add nsw i32 %10946, 3
  store i32 %10999, ptr @test_count, align 4, !tbaa !5
  %11000 = call i32 @s2n_connection_free(ptr noundef nonnull %10571) #12
  %11001 = icmp eq i32 %11000, -1
  br i1 %11001, label %11002, label %11024

11002:                                            ; preds = %10998
  %11003 = load i32, ptr %228, align 4, !tbaa !5
  %11004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11005 = call i32 @s2n_print_stacktrace(ptr noundef %11004) #12
  %11006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11007 = trunc nuw i8 %11006 to i1
  br i1 %11007, label %11008, label %11012

11008:                                            ; preds = %11002
  %11009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11010 = call i32 @fileno(ptr noundef %11009) #12
  %11011 = call i32 @isatty(i32 noundef %11010) #12
  %.not2060 = icmp eq i32 %11011, 0
  br i1 %.not2060, label %11012, label %11013

11012:                                            ; preds = %11008, %11002
  br label %11013

11013:                                            ; preds = %11008, %11012
  %.str.5.sink5862 = phi ptr [ @.str.5, %11012 ], [ @.str.2, %11008 ]
  store i32 %11003, ptr %228, align 4, !tbaa !5
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = load i32, ptr @test_count, align 4, !tbaa !5
  %11016 = load i32, ptr %174, align 4, !tbaa !5
  %11017 = call ptr @s2n_strerror(i32 noundef %11016, ptr noundef nonnull @.str.4) #12
  %11018 = load i32, ptr %174, align 4, !tbaa !5
  %11019 = call ptr @s2n_strerror_debug(i32 noundef %11018, ptr noundef nonnull @.str.4) #12
  %11020 = load i32, ptr %228, align 4, !tbaa !5
  %11021 = call ptr @strerror(i32 noundef %11020) #12
  %11022 = load i32, ptr %228, align 4, !tbaa !5
  %11023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11014, ptr noundef nonnull %.str.5.sink5862, i32 noundef %11015, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1100, ptr noundef %11017, ptr noundef %11019, ptr noundef %11021, i32 noundef %11022) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11024:                                            ; preds = %10998
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %44) #12
  %11025 = load i32, ptr @test_count, align 4, !tbaa !5
  %11026 = add nsw i32 %11025, 1
  store i32 %11026, ptr @test_count, align 4, !tbaa !5
  %11027 = call i32 @s2n_early_data_record_bytes(ptr noundef null, i64 noundef 1) #12
  %11028 = call zeroext i1 @s2n_result_is_error(i32 %11027)
  br i1 %11028, label %11051, label %11029

11029:                                            ; preds = %11024
  %11030 = load i32, ptr %228, align 4, !tbaa !5
  %11031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11032 = call i32 @s2n_print_stacktrace(ptr noundef %11031) #12
  %11033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11034 = trunc nuw i8 %11033 to i1
  br i1 %11034, label %11035, label %11039

11035:                                            ; preds = %11029
  %11036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11037 = call i32 @fileno(ptr noundef %11036) #12
  %11038 = call i32 @isatty(i32 noundef %11037) #12
  %.not1892 = icmp eq i32 %11038, 0
  br i1 %.not1892, label %11039, label %11040

11039:                                            ; preds = %11035, %11029
  br label %11040

11040:                                            ; preds = %11035, %11039
  %.str.5.sink5871 = phi ptr [ @.str.5, %11039 ], [ @.str.2, %11035 ]
  store i32 %11030, ptr %228, align 4, !tbaa !5
  %11041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11042 = load i32, ptr @test_count, align 4, !tbaa !5
  %11043 = load i32, ptr %174, align 4, !tbaa !5
  %11044 = call ptr @s2n_strerror(i32 noundef %11043, ptr noundef nonnull @.str.4) #12
  %11045 = load i32, ptr %174, align 4, !tbaa !5
  %11046 = call ptr @s2n_strerror_debug(i32 noundef %11045, ptr noundef nonnull @.str.4) #12
  %11047 = load i32, ptr %228, align 4, !tbaa !5
  %11048 = call ptr @strerror(i32 noundef %11047) #12
  %11049 = load i32, ptr %228, align 4, !tbaa !5
  %11050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11041, ptr noundef nonnull %.str.5.sink5871, i32 noundef %11042, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.1, i32 noundef 1106, ptr noundef %11044, ptr noundef %11046, ptr noundef %11048, i32 noundef %11049) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11051:                                            ; preds = %11024
  %11052 = load i32, ptr @test_count, align 4, !tbaa !5
  %11053 = add nsw i32 %11052, 1
  store i32 %11053, ptr @test_count, align 4, !tbaa !5
  %11054 = load i32, ptr %174, align 4, !tbaa !5
  %11055 = icmp eq i32 %11054, 402653193
  br i1 %11055, label %11078, label %11056

11056:                                            ; preds = %11051
  %11057 = load i32, ptr %228, align 4, !tbaa !5
  %11058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11059 = call i32 @s2n_print_stacktrace(ptr noundef %11058) #12
  %11060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11061 = trunc nuw i8 %11060 to i1
  br i1 %11061, label %11062, label %11066

11062:                                            ; preds = %11056
  %11063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11064 = call i32 @fileno(ptr noundef %11063) #12
  %11065 = call i32 @isatty(i32 noundef %11064) #12
  %.not1893 = icmp eq i32 %11065, 0
  br i1 %.not1893, label %11066, label %11067

11066:                                            ; preds = %11062, %11056
  br label %11067

11067:                                            ; preds = %11062, %11066
  %.str.5.sink5880 = phi ptr [ @.str.5, %11066 ], [ @.str.2, %11062 ]
  store i32 %11057, ptr %228, align 4, !tbaa !5
  %11068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11069 = load i32, ptr @test_count, align 4, !tbaa !5
  %11070 = load i32, ptr %174, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror(i32 noundef %11070, ptr noundef nonnull @.str.4) #12
  %11072 = load i32, ptr %174, align 4, !tbaa !5
  %11073 = call ptr @s2n_strerror_debug(i32 noundef %11072, ptr noundef nonnull @.str.4) #12
  %11074 = load i32, ptr %228, align 4, !tbaa !5
  %11075 = call ptr @strerror(i32 noundef %11074) #12
  %11076 = load i32, ptr %228, align 4, !tbaa !5
  %11077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11068, ptr noundef nonnull %.str.5.sink5880, i32 noundef %11069, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1106, ptr noundef %11071, ptr noundef %11073, ptr noundef %11075, i32 noundef %11076) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11078:                                            ; preds = %11051
  %11079 = add nsw i32 %11052, 2
  store i32 %11079, ptr @test_count, align 4, !tbaa !5
  %11080 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %11081 = icmp eq ptr %11080, null
  br i1 %11081, label %11082, label %11104

11082:                                            ; preds = %11078
  %11083 = load i32, ptr %228, align 4, !tbaa !5
  %11084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11085 = call i32 @s2n_print_stacktrace(ptr noundef %11084) #12
  %11086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11087 = trunc nuw i8 %11086 to i1
  br i1 %11087, label %11088, label %11092

11088:                                            ; preds = %11082
  %11089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11090 = call i32 @fileno(ptr noundef %11089) #12
  %11091 = call i32 @isatty(i32 noundef %11090) #12
  %.not2059 = icmp eq i32 %11091, 0
  br i1 %.not2059, label %11092, label %11093

11092:                                            ; preds = %11088, %11082
  br label %11093

11093:                                            ; preds = %11088, %11092
  %.str.5.sink5889 = phi ptr [ @.str.5, %11092 ], [ @.str.2, %11088 ]
  store i32 %11083, ptr %228, align 4, !tbaa !5
  %11094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11095 = load i32, ptr @test_count, align 4, !tbaa !5
  %11096 = load i32, ptr %174, align 4, !tbaa !5
  %11097 = call ptr @s2n_strerror(i32 noundef %11096, ptr noundef nonnull @.str.4) #12
  %11098 = load i32, ptr %174, align 4, !tbaa !5
  %11099 = call ptr @s2n_strerror_debug(i32 noundef %11098, ptr noundef nonnull @.str.4) #12
  %11100 = load i32, ptr %228, align 4, !tbaa !5
  %11101 = call ptr @strerror(i32 noundef %11100) #12
  %11102 = load i32, ptr %228, align 4, !tbaa !5
  %11103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11094, ptr noundef nonnull %.str.5.sink5889, i32 noundef %11095, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1106, ptr noundef %11097, ptr noundef %11099, ptr noundef %11101, i32 noundef %11102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11104:                                            ; preds = %11078
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %11105 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %11106 = load i32, ptr @test_count, align 4, !tbaa !5
  %11107 = add nsw i32 %11106, 1
  store i32 %11107, ptr @test_count, align 4, !tbaa !5
  %11108 = icmp eq ptr %11105, null
  br i1 %11108, label %11109, label %11131

11109:                                            ; preds = %11104
  %11110 = load i32, ptr %228, align 4, !tbaa !5
  %11111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11112 = call i32 @s2n_print_stacktrace(ptr noundef %11111) #12
  %11113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11114 = trunc nuw i8 %11113 to i1
  br i1 %11114, label %11115, label %11119

11115:                                            ; preds = %11109
  %11116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11117 = call i32 @fileno(ptr noundef %11116) #12
  %11118 = call i32 @isatty(i32 noundef %11117) #12
  %.not2058 = icmp eq i32 %11118, 0
  br i1 %.not2058, label %11119, label %11120

11119:                                            ; preds = %11115, %11109
  br label %11120

11120:                                            ; preds = %11115, %11119
  %.str.5.sink5898 = phi ptr [ @.str.5, %11119 ], [ @.str.2, %11115 ]
  store i32 %11110, ptr %228, align 4, !tbaa !5
  %11121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11122 = load i32, ptr @test_count, align 4, !tbaa !5
  %11123 = load i32, ptr %174, align 4, !tbaa !5
  %11124 = call ptr @s2n_strerror(i32 noundef %11123, ptr noundef nonnull @.str.4) #12
  %11125 = load i32, ptr %174, align 4, !tbaa !5
  %11126 = call ptr @s2n_strerror_debug(i32 noundef %11125, ptr noundef nonnull @.str.4) #12
  %11127 = load i32, ptr %228, align 4, !tbaa !5
  %11128 = call ptr @strerror(i32 noundef %11127) #12
  %11129 = load i32, ptr %228, align 4, !tbaa !5
  %11130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11121, ptr noundef nonnull %.str.5.sink5898, i32 noundef %11122, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 1111, ptr noundef %11124, ptr noundef %11126, ptr noundef %11128, i32 noundef %11129) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11131:                                            ; preds = %11104
  %11132 = add nsw i32 %11106, 2
  store i32 %11132, ptr @test_count, align 4, !tbaa !5
  %11133 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %11105, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %11134 = call zeroext i1 @s2n_result_is_ok(i32 %11133)
  br i1 %11134, label %11157, label %11135

11135:                                            ; preds = %11131
  %11136 = load i32, ptr %228, align 4, !tbaa !5
  %11137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11138 = call i32 @s2n_print_stacktrace(ptr noundef %11137) #12
  %11139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11140 = trunc nuw i8 %11139 to i1
  br i1 %11140, label %11141, label %11145

11141:                                            ; preds = %11135
  %11142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11143 = call i32 @fileno(ptr noundef %11142) #12
  %11144 = call i32 @isatty(i32 noundef %11143) #12
  %.not1894 = icmp eq i32 %11144, 0
  br i1 %.not1894, label %11145, label %11146

11145:                                            ; preds = %11141, %11135
  br label %11146

11146:                                            ; preds = %11141, %11145
  %.str.5.sink5907 = phi ptr [ @.str.5, %11145 ], [ @.str.2, %11141 ]
  store i32 %11136, ptr %228, align 4, !tbaa !5
  %11147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11148 = load i32, ptr @test_count, align 4, !tbaa !5
  %11149 = load i32, ptr %174, align 4, !tbaa !5
  %11150 = call ptr @s2n_strerror(i32 noundef %11149, ptr noundef nonnull @.str.4) #12
  %11151 = load i32, ptr %174, align 4, !tbaa !5
  %11152 = call ptr @s2n_strerror_debug(i32 noundef %11151, ptr noundef nonnull @.str.4) #12
  %11153 = load i32, ptr %228, align 4, !tbaa !5
  %11154 = call ptr @strerror(i32 noundef %11153) #12
  %11155 = load i32, ptr %228, align 4, !tbaa !5
  %11156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11147, ptr noundef nonnull %.str.5.sink5907, i32 noundef %11148, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 1112, ptr noundef %11150, ptr noundef %11152, ptr noundef %11154, i32 noundef %11155) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11157:                                            ; preds = %11131
  %11158 = getelementptr inbounds i8, ptr %11105, i64 2256
  store i64 0, ptr %11158, align 8, !tbaa !72
  %11159 = load i32, ptr @test_count, align 4, !tbaa !5
  %11160 = add nsw i32 %11159, 1
  store i32 %11160, ptr @test_count, align 4, !tbaa !5
  %11161 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 11) #12
  %11162 = call zeroext i1 @s2n_result_is_ok(i32 %11161)
  br i1 %11162, label %11185, label %11163

11163:                                            ; preds = %11157
  %11164 = load i32, ptr %228, align 4, !tbaa !5
  %11165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11166 = call i32 @s2n_print_stacktrace(ptr noundef %11165) #12
  %11167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11168 = trunc nuw i8 %11167 to i1
  br i1 %11168, label %11169, label %11173

11169:                                            ; preds = %11163
  %11170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11171 = call i32 @fileno(ptr noundef %11170) #12
  %11172 = call i32 @isatty(i32 noundef %11171) #12
  %.not1895 = icmp eq i32 %11172, 0
  br i1 %.not1895, label %11173, label %11174

11173:                                            ; preds = %11169, %11163
  br label %11174

11174:                                            ; preds = %11169, %11173
  %.str.5.sink5916 = phi ptr [ @.str.5, %11173 ], [ @.str.2, %11169 ]
  store i32 %11164, ptr %228, align 4, !tbaa !5
  %11175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11176 = load i32, ptr @test_count, align 4, !tbaa !5
  %11177 = load i32, ptr %174, align 4, !tbaa !5
  %11178 = call ptr @s2n_strerror(i32 noundef %11177, ptr noundef nonnull @.str.4) #12
  %11179 = load i32, ptr %174, align 4, !tbaa !5
  %11180 = call ptr @s2n_strerror_debug(i32 noundef %11179, ptr noundef nonnull @.str.4) #12
  %11181 = load i32, ptr %228, align 4, !tbaa !5
  %11182 = call ptr @strerror(i32 noundef %11181) #12
  %11183 = load i32, ptr %228, align 4, !tbaa !5
  %11184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11175, ptr noundef nonnull %.str.5.sink5916, i32 noundef %11176, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.1, i32 noundef 1116, ptr noundef %11178, ptr noundef %11180, ptr noundef %11182, i32 noundef %11183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11185:                                            ; preds = %11157
  %11186 = load i32, ptr @test_count, align 4, !tbaa !5
  %11187 = add nsw i32 %11186, 1
  store i32 %11187, ptr @test_count, align 4, !tbaa !5
  %11188 = load i64, ptr %11158, align 8, !tbaa !72
  %11189 = icmp eq i64 %11188, 0
  br i1 %11189, label %11212, label %11190

11190:                                            ; preds = %11185
  %11191 = load i32, ptr %228, align 4, !tbaa !5
  %11192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11193 = call i32 @s2n_print_stacktrace(ptr noundef %11192) #12
  %11194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11195 = trunc nuw i8 %11194 to i1
  br i1 %11195, label %11196, label %11200

11196:                                            ; preds = %11190
  %11197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11198 = call i32 @fileno(ptr noundef %11197) #12
  %11199 = call i32 @isatty(i32 noundef %11198) #12
  %.not1896 = icmp eq i32 %11199, 0
  br i1 %.not1896, label %11200, label %11201

11200:                                            ; preds = %11196, %11190
  br label %11201

11201:                                            ; preds = %11196, %11200
  %.str.5.sink5925 = phi ptr [ @.str.5, %11200 ], [ @.str.2, %11196 ]
  store i32 %11191, ptr %228, align 4, !tbaa !5
  %11202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11203 = load i32, ptr @test_count, align 4, !tbaa !5
  %11204 = load i32, ptr %174, align 4, !tbaa !5
  %11205 = call ptr @s2n_strerror(i32 noundef %11204, ptr noundef nonnull @.str.4) #12
  %11206 = load i32, ptr %174, align 4, !tbaa !5
  %11207 = call ptr @s2n_strerror_debug(i32 noundef %11206, ptr noundef nonnull @.str.4) #12
  %11208 = load i32, ptr %228, align 4, !tbaa !5
  %11209 = call ptr @strerror(i32 noundef %11208) #12
  %11210 = load i32, ptr %228, align 4, !tbaa !5
  %11211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11202, ptr noundef nonnull %.str.5.sink5925, i32 noundef %11203, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.1, i32 noundef 1117, ptr noundef %11205, ptr noundef %11207, ptr noundef %11209, i32 noundef %11210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11212:                                            ; preds = %11185
  %11213 = add nsw i32 %11186, 2
  store i32 %11213, ptr @test_count, align 4, !tbaa !5
  %11214 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %11105) #12
  %11215 = icmp eq i32 %11214, -1
  br i1 %11215, label %11216, label %11238

11216:                                            ; preds = %11212
  %11217 = load i32, ptr %228, align 4, !tbaa !5
  %11218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11219 = call i32 @s2n_print_stacktrace(ptr noundef %11218) #12
  %11220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11221 = trunc nuw i8 %11220 to i1
  br i1 %11221, label %11222, label %11226

11222:                                            ; preds = %11216
  %11223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11224 = call i32 @fileno(ptr noundef %11223) #12
  %11225 = call i32 @isatty(i32 noundef %11224) #12
  %.not2057 = icmp eq i32 %11225, 0
  br i1 %.not2057, label %11226, label %11227

11226:                                            ; preds = %11222, %11216
  br label %11227

11227:                                            ; preds = %11222, %11226
  %.str.5.sink5934 = phi ptr [ @.str.5, %11226 ], [ @.str.2, %11222 ]
  store i32 %11217, ptr %228, align 4, !tbaa !5
  %11228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11229 = load i32, ptr @test_count, align 4, !tbaa !5
  %11230 = load i32, ptr %174, align 4, !tbaa !5
  %11231 = call ptr @s2n_strerror(i32 noundef %11230, ptr noundef nonnull @.str.4) #12
  %11232 = load i32, ptr %174, align 4, !tbaa !5
  %11233 = call ptr @s2n_strerror_debug(i32 noundef %11232, ptr noundef nonnull @.str.4) #12
  %11234 = load i32, ptr %228, align 4, !tbaa !5
  %11235 = call ptr @strerror(i32 noundef %11234) #12
  %11236 = load i32, ptr %228, align 4, !tbaa !5
  %11237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11228, ptr noundef nonnull %.str.5.sink5934, i32 noundef %11229, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 1119, ptr noundef %11231, ptr noundef %11233, ptr noundef %11235, i32 noundef %11236) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11238:                                            ; preds = %11212
  store i64 0, ptr %11158, align 8, !tbaa !72
  %11239 = load i32, ptr @test_count, align 4, !tbaa !5
  %11240 = add nsw i32 %11239, 1
  store i32 %11240, ptr @test_count, align 4, !tbaa !5
  %11241 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 1) #12
  %11242 = call zeroext i1 @s2n_result_is_ok(i32 %11241)
  br i1 %11242, label %11265, label %11243

11243:                                            ; preds = %11238
  %11244 = load i32, ptr %228, align 4, !tbaa !5
  %11245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11246 = call i32 @s2n_print_stacktrace(ptr noundef %11245) #12
  %11247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11248 = trunc nuw i8 %11247 to i1
  br i1 %11248, label %11249, label %11253

11249:                                            ; preds = %11243
  %11250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11251 = call i32 @fileno(ptr noundef %11250) #12
  %11252 = call i32 @isatty(i32 noundef %11251) #12
  %.not1897 = icmp eq i32 %11252, 0
  br i1 %.not1897, label %11253, label %11254

11253:                                            ; preds = %11249, %11243
  br label %11254

11254:                                            ; preds = %11249, %11253
  %.str.5.sink5943 = phi ptr [ @.str.5, %11253 ], [ @.str.2, %11249 ]
  store i32 %11244, ptr %228, align 4, !tbaa !5
  %11255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11256 = load i32, ptr @test_count, align 4, !tbaa !5
  %11257 = load i32, ptr %174, align 4, !tbaa !5
  %11258 = call ptr @s2n_strerror(i32 noundef %11257, ptr noundef nonnull @.str.4) #12
  %11259 = load i32, ptr %174, align 4, !tbaa !5
  %11260 = call ptr @s2n_strerror_debug(i32 noundef %11259, ptr noundef nonnull @.str.4) #12
  %11261 = load i32, ptr %228, align 4, !tbaa !5
  %11262 = call ptr @strerror(i32 noundef %11261) #12
  %11263 = load i32, ptr %228, align 4, !tbaa !5
  %11264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11255, ptr noundef nonnull %.str.5.sink5943, i32 noundef %11256, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.1, i32 noundef 1124, ptr noundef %11258, ptr noundef %11260, ptr noundef %11262, i32 noundef %11263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11265:                                            ; preds = %11238
  %11266 = load i32, ptr @test_count, align 4, !tbaa !5
  %11267 = add nsw i32 %11266, 1
  store i32 %11267, ptr @test_count, align 4, !tbaa !5
  %11268 = load i64, ptr %11158, align 8, !tbaa !72
  %11269 = icmp eq i64 %11268, 1
  br i1 %11269, label %11292, label %11270

11270:                                            ; preds = %11265
  %11271 = load i32, ptr %228, align 4, !tbaa !5
  %11272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11273 = call i32 @s2n_print_stacktrace(ptr noundef %11272) #12
  %11274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11275 = trunc nuw i8 %11274 to i1
  br i1 %11275, label %11276, label %11280

11276:                                            ; preds = %11270
  %11277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11278 = call i32 @fileno(ptr noundef %11277) #12
  %11279 = call i32 @isatty(i32 noundef %11278) #12
  %.not1898 = icmp eq i32 %11279, 0
  br i1 %.not1898, label %11280, label %11281

11280:                                            ; preds = %11276, %11270
  br label %11281

11281:                                            ; preds = %11276, %11280
  %.str.5.sink5952 = phi ptr [ @.str.5, %11280 ], [ @.str.2, %11276 ]
  store i32 %11271, ptr %228, align 4, !tbaa !5
  %11282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11283 = load i32, ptr @test_count, align 4, !tbaa !5
  %11284 = load i32, ptr %174, align 4, !tbaa !5
  %11285 = call ptr @s2n_strerror(i32 noundef %11284, ptr noundef nonnull @.str.4) #12
  %11286 = load i32, ptr %174, align 4, !tbaa !5
  %11287 = call ptr @s2n_strerror_debug(i32 noundef %11286, ptr noundef nonnull @.str.4) #12
  %11288 = load i32, ptr %228, align 4, !tbaa !5
  %11289 = call ptr @strerror(i32 noundef %11288) #12
  %11290 = load i32, ptr %228, align 4, !tbaa !5
  %11291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11282, ptr noundef nonnull %.str.5.sink5952, i32 noundef %11283, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.1, i32 noundef 1125, ptr noundef %11285, ptr noundef %11287, ptr noundef %11289, i32 noundef %11290) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11292:                                            ; preds = %11265
  %11293 = add nsw i32 %11266, 2
  store i32 %11293, ptr @test_count, align 4, !tbaa !5
  %11294 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 1) #12
  %11295 = call zeroext i1 @s2n_result_is_ok(i32 %11294)
  br i1 %11295, label %11318, label %11296

11296:                                            ; preds = %11292
  %11297 = load i32, ptr %228, align 4, !tbaa !5
  %11298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11299 = call i32 @s2n_print_stacktrace(ptr noundef %11298) #12
  %11300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11301 = trunc nuw i8 %11300 to i1
  br i1 %11301, label %11302, label %11306

11302:                                            ; preds = %11296
  %11303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11304 = call i32 @fileno(ptr noundef %11303) #12
  %11305 = call i32 @isatty(i32 noundef %11304) #12
  %.not1899 = icmp eq i32 %11305, 0
  br i1 %.not1899, label %11306, label %11307

11306:                                            ; preds = %11302, %11296
  br label %11307

11307:                                            ; preds = %11302, %11306
  %.str.5.sink5961 = phi ptr [ @.str.5, %11306 ], [ @.str.2, %11302 ]
  store i32 %11297, ptr %228, align 4, !tbaa !5
  %11308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11309 = load i32, ptr @test_count, align 4, !tbaa !5
  %11310 = load i32, ptr %174, align 4, !tbaa !5
  %11311 = call ptr @s2n_strerror(i32 noundef %11310, ptr noundef nonnull @.str.4) #12
  %11312 = load i32, ptr %174, align 4, !tbaa !5
  %11313 = call ptr @s2n_strerror_debug(i32 noundef %11312, ptr noundef nonnull @.str.4) #12
  %11314 = load i32, ptr %228, align 4, !tbaa !5
  %11315 = call ptr @strerror(i32 noundef %11314) #12
  %11316 = load i32, ptr %228, align 4, !tbaa !5
  %11317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11308, ptr noundef nonnull %.str.5.sink5961, i32 noundef %11309, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.1, i32 noundef 1128, ptr noundef %11311, ptr noundef %11313, ptr noundef %11315, i32 noundef %11316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11318:                                            ; preds = %11292
  %11319 = load i32, ptr @test_count, align 4, !tbaa !5
  %11320 = add nsw i32 %11319, 1
  store i32 %11320, ptr @test_count, align 4, !tbaa !5
  %11321 = load i64, ptr %11158, align 8, !tbaa !72
  %11322 = icmp eq i64 %11321, 2
  br i1 %11322, label %11345, label %11323

11323:                                            ; preds = %11318
  %11324 = load i32, ptr %228, align 4, !tbaa !5
  %11325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11326 = call i32 @s2n_print_stacktrace(ptr noundef %11325) #12
  %11327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11328 = trunc nuw i8 %11327 to i1
  br i1 %11328, label %11329, label %11333

11329:                                            ; preds = %11323
  %11330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11331 = call i32 @fileno(ptr noundef %11330) #12
  %11332 = call i32 @isatty(i32 noundef %11331) #12
  %.not1900 = icmp eq i32 %11332, 0
  br i1 %.not1900, label %11333, label %11334

11333:                                            ; preds = %11329, %11323
  br label %11334

11334:                                            ; preds = %11329, %11333
  %.str.5.sink5970 = phi ptr [ @.str.5, %11333 ], [ @.str.2, %11329 ]
  store i32 %11324, ptr %228, align 4, !tbaa !5
  %11335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11336 = load i32, ptr @test_count, align 4, !tbaa !5
  %11337 = load i32, ptr %174, align 4, !tbaa !5
  %11338 = call ptr @s2n_strerror(i32 noundef %11337, ptr noundef nonnull @.str.4) #12
  %11339 = load i32, ptr %174, align 4, !tbaa !5
  %11340 = call ptr @s2n_strerror_debug(i32 noundef %11339, ptr noundef nonnull @.str.4) #12
  %11341 = load i32, ptr %228, align 4, !tbaa !5
  %11342 = call ptr @strerror(i32 noundef %11341) #12
  %11343 = load i32, ptr %228, align 4, !tbaa !5
  %11344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11335, ptr noundef nonnull %.str.5.sink5970, i32 noundef %11336, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.1, i32 noundef 1129, ptr noundef %11338, ptr noundef %11340, ptr noundef %11342, i32 noundef %11343) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11345:                                            ; preds = %11318
  store i64 0, ptr %11158, align 8, !tbaa !72
  %11346 = add nsw i32 %11319, 2
  store i32 %11346, ptr @test_count, align 4, !tbaa !5
  %11347 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 10) #12
  %11348 = call zeroext i1 @s2n_result_is_ok(i32 %11347)
  br i1 %11348, label %11371, label %11349

11349:                                            ; preds = %11345
  %11350 = load i32, ptr %228, align 4, !tbaa !5
  %11351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11352 = call i32 @s2n_print_stacktrace(ptr noundef %11351) #12
  %11353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11354 = trunc nuw i8 %11353 to i1
  br i1 %11354, label %11355, label %11359

11355:                                            ; preds = %11349
  %11356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11357 = call i32 @fileno(ptr noundef %11356) #12
  %11358 = call i32 @isatty(i32 noundef %11357) #12
  %.not1901 = icmp eq i32 %11358, 0
  br i1 %.not1901, label %11359, label %11360

11359:                                            ; preds = %11355, %11349
  br label %11360

11360:                                            ; preds = %11355, %11359
  %.str.5.sink5979 = phi ptr [ @.str.5, %11359 ], [ @.str.2, %11355 ]
  store i32 %11350, ptr %228, align 4, !tbaa !5
  %11361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11362 = load i32, ptr @test_count, align 4, !tbaa !5
  %11363 = load i32, ptr %174, align 4, !tbaa !5
  %11364 = call ptr @s2n_strerror(i32 noundef %11363, ptr noundef nonnull @.str.4) #12
  %11365 = load i32, ptr %174, align 4, !tbaa !5
  %11366 = call ptr @s2n_strerror_debug(i32 noundef %11365, ptr noundef nonnull @.str.4) #12
  %11367 = load i32, ptr %228, align 4, !tbaa !5
  %11368 = call ptr @strerror(i32 noundef %11367) #12
  %11369 = load i32, ptr %228, align 4, !tbaa !5
  %11370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11361, ptr noundef nonnull %.str.5.sink5979, i32 noundef %11362, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.1, i32 noundef 1135, ptr noundef %11364, ptr noundef %11366, ptr noundef %11368, i32 noundef %11369) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11371:                                            ; preds = %11345
  %11372 = load i32, ptr @test_count, align 4, !tbaa !5
  %11373 = add nsw i32 %11372, 1
  store i32 %11373, ptr @test_count, align 4, !tbaa !5
  %11374 = load i64, ptr %11158, align 8, !tbaa !72
  %11375 = icmp eq i64 %11374, 10
  br i1 %11375, label %11398, label %11376

11376:                                            ; preds = %11371
  %11377 = load i32, ptr %228, align 4, !tbaa !5
  %11378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11379 = call i32 @s2n_print_stacktrace(ptr noundef %11378) #12
  %11380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11381 = trunc nuw i8 %11380 to i1
  br i1 %11381, label %11382, label %11386

11382:                                            ; preds = %11376
  %11383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11384 = call i32 @fileno(ptr noundef %11383) #12
  %11385 = call i32 @isatty(i32 noundef %11384) #12
  %.not1902 = icmp eq i32 %11385, 0
  br i1 %.not1902, label %11386, label %11387

11386:                                            ; preds = %11382, %11376
  br label %11387

11387:                                            ; preds = %11382, %11386
  %.str.5.sink5988 = phi ptr [ @.str.5, %11386 ], [ @.str.2, %11382 ]
  store i32 %11377, ptr %228, align 4, !tbaa !5
  %11388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11389 = load i32, ptr @test_count, align 4, !tbaa !5
  %11390 = load i32, ptr %174, align 4, !tbaa !5
  %11391 = call ptr @s2n_strerror(i32 noundef %11390, ptr noundef nonnull @.str.4) #12
  %11392 = load i32, ptr %174, align 4, !tbaa !5
  %11393 = call ptr @s2n_strerror_debug(i32 noundef %11392, ptr noundef nonnull @.str.4) #12
  %11394 = load i32, ptr %228, align 4, !tbaa !5
  %11395 = call ptr @strerror(i32 noundef %11394) #12
  %11396 = load i32, ptr %228, align 4, !tbaa !5
  %11397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11388, ptr noundef nonnull %.str.5.sink5988, i32 noundef %11389, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 1136, ptr noundef %11391, ptr noundef %11393, ptr noundef %11395, i32 noundef %11396) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11398:                                            ; preds = %11371
  store i64 1, ptr %11158, align 8, !tbaa !72
  %11399 = add nsw i32 %11372, 2
  store i32 %11399, ptr @test_count, align 4, !tbaa !5
  %11400 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 10) #12
  %11401 = call zeroext i1 @s2n_result_is_error(i32 %11400)
  br i1 %11401, label %11424, label %11402

11402:                                            ; preds = %11398
  %11403 = load i32, ptr %228, align 4, !tbaa !5
  %11404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11405 = call i32 @s2n_print_stacktrace(ptr noundef %11404) #12
  %11406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11407 = trunc nuw i8 %11406 to i1
  br i1 %11407, label %11408, label %11412

11408:                                            ; preds = %11402
  %11409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11410 = call i32 @fileno(ptr noundef %11409) #12
  %11411 = call i32 @isatty(i32 noundef %11410) #12
  %.not1903 = icmp eq i32 %11411, 0
  br i1 %.not1903, label %11412, label %11413

11412:                                            ; preds = %11408, %11402
  br label %11413

11413:                                            ; preds = %11408, %11412
  %.str.5.sink5997 = phi ptr [ @.str.5, %11412 ], [ @.str.2, %11408 ]
  store i32 %11403, ptr %228, align 4, !tbaa !5
  %11414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11415 = load i32, ptr @test_count, align 4, !tbaa !5
  %11416 = load i32, ptr %174, align 4, !tbaa !5
  %11417 = call ptr @s2n_strerror(i32 noundef %11416, ptr noundef nonnull @.str.4) #12
  %11418 = load i32, ptr %174, align 4, !tbaa !5
  %11419 = call ptr @s2n_strerror_debug(i32 noundef %11418, ptr noundef nonnull @.str.4) #12
  %11420 = load i32, ptr %228, align 4, !tbaa !5
  %11421 = call ptr @strerror(i32 noundef %11420) #12
  %11422 = load i32, ptr %228, align 4, !tbaa !5
  %11423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11414, ptr noundef nonnull %.str.5.sink5997, i32 noundef %11415, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 1139, ptr noundef %11417, ptr noundef %11419, ptr noundef %11421, i32 noundef %11422) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11424:                                            ; preds = %11398
  %11425 = load i32, ptr @test_count, align 4, !tbaa !5
  %11426 = add nsw i32 %11425, 1
  store i32 %11426, ptr @test_count, align 4, !tbaa !5
  %11427 = load i32, ptr %174, align 4, !tbaa !5
  %11428 = icmp eq i32 %11427, 335544396
  br i1 %11428, label %11451, label %11429

11429:                                            ; preds = %11424
  %11430 = load i32, ptr %228, align 4, !tbaa !5
  %11431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11432 = call i32 @s2n_print_stacktrace(ptr noundef %11431) #12
  %11433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11434 = trunc nuw i8 %11433 to i1
  br i1 %11434, label %11435, label %11439

11435:                                            ; preds = %11429
  %11436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11437 = call i32 @fileno(ptr noundef %11436) #12
  %11438 = call i32 @isatty(i32 noundef %11437) #12
  %.not1904 = icmp eq i32 %11438, 0
  br i1 %.not1904, label %11439, label %11440

11439:                                            ; preds = %11435, %11429
  br label %11440

11440:                                            ; preds = %11435, %11439
  %.str.5.sink6006 = phi ptr [ @.str.5, %11439 ], [ @.str.2, %11435 ]
  store i32 %11430, ptr %228, align 4, !tbaa !5
  %11441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11442 = load i32, ptr @test_count, align 4, !tbaa !5
  %11443 = load i32, ptr %174, align 4, !tbaa !5
  %11444 = call ptr @s2n_strerror(i32 noundef %11443, ptr noundef nonnull @.str.4) #12
  %11445 = load i32, ptr %174, align 4, !tbaa !5
  %11446 = call ptr @s2n_strerror_debug(i32 noundef %11445, ptr noundef nonnull @.str.4) #12
  %11447 = load i32, ptr %228, align 4, !tbaa !5
  %11448 = call ptr @strerror(i32 noundef %11447) #12
  %11449 = load i32, ptr %228, align 4, !tbaa !5
  %11450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11441, ptr noundef nonnull %.str.5.sink6006, i32 noundef %11442, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 1139, ptr noundef %11444, ptr noundef %11446, ptr noundef %11448, i32 noundef %11449) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11451:                                            ; preds = %11424
  %11452 = add nsw i32 %11425, 2
  store i32 %11452, ptr @test_count, align 4, !tbaa !5
  %11453 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %11454 = icmp eq ptr %11453, null
  br i1 %11454, label %11455, label %11477

11455:                                            ; preds = %11451
  %11456 = load i32, ptr %228, align 4, !tbaa !5
  %11457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11458 = call i32 @s2n_print_stacktrace(ptr noundef %11457) #12
  %11459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11460 = trunc nuw i8 %11459 to i1
  br i1 %11460, label %11461, label %11465

11461:                                            ; preds = %11455
  %11462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11463 = call i32 @fileno(ptr noundef %11462) #12
  %11464 = call i32 @isatty(i32 noundef %11463) #12
  %.not2056 = icmp eq i32 %11464, 0
  br i1 %.not2056, label %11465, label %11466

11465:                                            ; preds = %11461, %11455
  br label %11466

11466:                                            ; preds = %11461, %11465
  %.str.5.sink6015 = phi ptr [ @.str.5, %11465 ], [ @.str.2, %11461 ]
  store i32 %11456, ptr %228, align 4, !tbaa !5
  %11467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11468 = load i32, ptr @test_count, align 4, !tbaa !5
  %11469 = load i32, ptr %174, align 4, !tbaa !5
  %11470 = call ptr @s2n_strerror(i32 noundef %11469, ptr noundef nonnull @.str.4) #12
  %11471 = load i32, ptr %174, align 4, !tbaa !5
  %11472 = call ptr @s2n_strerror_debug(i32 noundef %11471, ptr noundef nonnull @.str.4) #12
  %11473 = load i32, ptr %228, align 4, !tbaa !5
  %11474 = call ptr @strerror(i32 noundef %11473) #12
  %11475 = load i32, ptr %228, align 4, !tbaa !5
  %11476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11467, ptr noundef nonnull %.str.5.sink6015, i32 noundef %11468, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1139, ptr noundef %11470, ptr noundef %11472, ptr noundef %11474, i32 noundef %11475) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11477:                                            ; preds = %11451
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %11478 = load i32, ptr @test_count, align 4, !tbaa !5
  %11479 = add nsw i32 %11478, 1
  store i32 %11479, ptr @test_count, align 4, !tbaa !5
  %11480 = load i64, ptr %11158, align 8, !tbaa !72
  %11481 = icmp eq i64 %11480, 11
  br i1 %11481, label %11504, label %11482

11482:                                            ; preds = %11477
  %11483 = load i32, ptr %228, align 4, !tbaa !5
  %11484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11485 = call i32 @s2n_print_stacktrace(ptr noundef %11484) #12
  %11486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11487 = trunc nuw i8 %11486 to i1
  br i1 %11487, label %11488, label %11492

11488:                                            ; preds = %11482
  %11489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11490 = call i32 @fileno(ptr noundef %11489) #12
  %11491 = call i32 @isatty(i32 noundef %11490) #12
  %.not1905 = icmp eq i32 %11491, 0
  br i1 %.not1905, label %11492, label %11493

11492:                                            ; preds = %11488, %11482
  br label %11493

11493:                                            ; preds = %11488, %11492
  %.str.5.sink6024 = phi ptr [ @.str.5, %11492 ], [ @.str.2, %11488 ]
  store i32 %11483, ptr %228, align 4, !tbaa !5
  %11494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11495 = load i32, ptr @test_count, align 4, !tbaa !5
  %11496 = load i32, ptr %174, align 4, !tbaa !5
  %11497 = call ptr @s2n_strerror(i32 noundef %11496, ptr noundef nonnull @.str.4) #12
  %11498 = load i32, ptr %174, align 4, !tbaa !5
  %11499 = call ptr @s2n_strerror_debug(i32 noundef %11498, ptr noundef nonnull @.str.4) #12
  %11500 = load i32, ptr %228, align 4, !tbaa !5
  %11501 = call ptr @strerror(i32 noundef %11500) #12
  %11502 = load i32, ptr %228, align 4, !tbaa !5
  %11503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11494, ptr noundef nonnull %.str.5.sink6024, i32 noundef %11495, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 1140, ptr noundef %11497, ptr noundef %11499, ptr noundef %11501, i32 noundef %11502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11504:                                            ; preds = %11477
  store i64 -3, ptr %11158, align 8, !tbaa !72
  %11505 = add nsw i32 %11478, 2
  store i32 %11505, ptr @test_count, align 4, !tbaa !5
  %11506 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 1) #12
  %11507 = call zeroext i1 @s2n_result_is_error(i32 %11506)
  br i1 %11507, label %11530, label %11508

11508:                                            ; preds = %11504
  %11509 = load i32, ptr %228, align 4, !tbaa !5
  %11510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11511 = call i32 @s2n_print_stacktrace(ptr noundef %11510) #12
  %11512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11513 = trunc nuw i8 %11512 to i1
  br i1 %11513, label %11514, label %11518

11514:                                            ; preds = %11508
  %11515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11516 = call i32 @fileno(ptr noundef %11515) #12
  %11517 = call i32 @isatty(i32 noundef %11516) #12
  %.not1906 = icmp eq i32 %11517, 0
  br i1 %.not1906, label %11518, label %11519

11518:                                            ; preds = %11514, %11508
  br label %11519

11519:                                            ; preds = %11514, %11518
  %.str.5.sink6033 = phi ptr [ @.str.5, %11518 ], [ @.str.2, %11514 ]
  store i32 %11509, ptr %228, align 4, !tbaa !5
  %11520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11521 = load i32, ptr @test_count, align 4, !tbaa !5
  %11522 = load i32, ptr %174, align 4, !tbaa !5
  %11523 = call ptr @s2n_strerror(i32 noundef %11522, ptr noundef nonnull @.str.4) #12
  %11524 = load i32, ptr %174, align 4, !tbaa !5
  %11525 = call ptr @s2n_strerror_debug(i32 noundef %11524, ptr noundef nonnull @.str.4) #12
  %11526 = load i32, ptr %228, align 4, !tbaa !5
  %11527 = call ptr @strerror(i32 noundef %11526) #12
  %11528 = load i32, ptr %228, align 4, !tbaa !5
  %11529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11520, ptr noundef nonnull %.str.5.sink6033, i32 noundef %11521, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.1, i32 noundef 1146, ptr noundef %11523, ptr noundef %11525, ptr noundef %11527, i32 noundef %11528) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11530:                                            ; preds = %11504
  %11531 = load i32, ptr @test_count, align 4, !tbaa !5
  %11532 = add nsw i32 %11531, 1
  store i32 %11532, ptr @test_count, align 4, !tbaa !5
  %11533 = load i32, ptr %174, align 4, !tbaa !5
  %11534 = icmp eq i32 %11533, 335544396
  br i1 %11534, label %11557, label %11535

11535:                                            ; preds = %11530
  %11536 = load i32, ptr %228, align 4, !tbaa !5
  %11537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11538 = call i32 @s2n_print_stacktrace(ptr noundef %11537) #12
  %11539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11540 = trunc nuw i8 %11539 to i1
  br i1 %11540, label %11541, label %11545

11541:                                            ; preds = %11535
  %11542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11543 = call i32 @fileno(ptr noundef %11542) #12
  %11544 = call i32 @isatty(i32 noundef %11543) #12
  %.not1907 = icmp eq i32 %11544, 0
  br i1 %.not1907, label %11545, label %11546

11545:                                            ; preds = %11541, %11535
  br label %11546

11546:                                            ; preds = %11541, %11545
  %.str.5.sink6042 = phi ptr [ @.str.5, %11545 ], [ @.str.2, %11541 ]
  store i32 %11536, ptr %228, align 4, !tbaa !5
  %11547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11548 = load i32, ptr @test_count, align 4, !tbaa !5
  %11549 = load i32, ptr %174, align 4, !tbaa !5
  %11550 = call ptr @s2n_strerror(i32 noundef %11549, ptr noundef nonnull @.str.4) #12
  %11551 = load i32, ptr %174, align 4, !tbaa !5
  %11552 = call ptr @s2n_strerror_debug(i32 noundef %11551, ptr noundef nonnull @.str.4) #12
  %11553 = load i32, ptr %228, align 4, !tbaa !5
  %11554 = call ptr @strerror(i32 noundef %11553) #12
  %11555 = load i32, ptr %228, align 4, !tbaa !5
  %11556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11547, ptr noundef nonnull %.str.5.sink6042, i32 noundef %11548, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 1146, ptr noundef %11550, ptr noundef %11552, ptr noundef %11554, i32 noundef %11555) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11557:                                            ; preds = %11530
  %11558 = add nsw i32 %11531, 2
  store i32 %11558, ptr @test_count, align 4, !tbaa !5
  %11559 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %11560 = icmp eq ptr %11559, null
  br i1 %11560, label %11561, label %11583

11561:                                            ; preds = %11557
  %11562 = load i32, ptr %228, align 4, !tbaa !5
  %11563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11564 = call i32 @s2n_print_stacktrace(ptr noundef %11563) #12
  %11565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11566 = trunc nuw i8 %11565 to i1
  br i1 %11566, label %11567, label %11571

11567:                                            ; preds = %11561
  %11568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11569 = call i32 @fileno(ptr noundef %11568) #12
  %11570 = call i32 @isatty(i32 noundef %11569) #12
  %.not2055 = icmp eq i32 %11570, 0
  br i1 %.not2055, label %11571, label %11572

11571:                                            ; preds = %11567, %11561
  br label %11572

11572:                                            ; preds = %11567, %11571
  %.str.5.sink6051 = phi ptr [ @.str.5, %11571 ], [ @.str.2, %11567 ]
  store i32 %11562, ptr %228, align 4, !tbaa !5
  %11573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11574 = load i32, ptr @test_count, align 4, !tbaa !5
  %11575 = load i32, ptr %174, align 4, !tbaa !5
  %11576 = call ptr @s2n_strerror(i32 noundef %11575, ptr noundef nonnull @.str.4) #12
  %11577 = load i32, ptr %174, align 4, !tbaa !5
  %11578 = call ptr @s2n_strerror_debug(i32 noundef %11577, ptr noundef nonnull @.str.4) #12
  %11579 = load i32, ptr %228, align 4, !tbaa !5
  %11580 = call ptr @strerror(i32 noundef %11579) #12
  %11581 = load i32, ptr %228, align 4, !tbaa !5
  %11582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11573, ptr noundef nonnull %.str.5.sink6051, i32 noundef %11574, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1146, ptr noundef %11576, ptr noundef %11578, ptr noundef %11580, i32 noundef %11581) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11583:                                            ; preds = %11557
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %11584 = load i32, ptr @test_count, align 4, !tbaa !5
  %11585 = add nsw i32 %11584, 1
  store i32 %11585, ptr @test_count, align 4, !tbaa !5
  %11586 = load i64, ptr %11158, align 8, !tbaa !72
  %11587 = icmp eq i64 %11586, -2
  br i1 %11587, label %11610, label %11588

11588:                                            ; preds = %11583
  %11589 = load i32, ptr %228, align 4, !tbaa !5
  %11590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11591 = call i32 @s2n_print_stacktrace(ptr noundef %11590) #12
  %11592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11593 = trunc nuw i8 %11592 to i1
  br i1 %11593, label %11594, label %11598

11594:                                            ; preds = %11588
  %11595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11596 = call i32 @fileno(ptr noundef %11595) #12
  %11597 = call i32 @isatty(i32 noundef %11596) #12
  %.not1908 = icmp eq i32 %11597, 0
  br i1 %.not1908, label %11598, label %11599

11598:                                            ; preds = %11594, %11588
  br label %11599

11599:                                            ; preds = %11594, %11598
  %.str.5.sink6060 = phi ptr [ @.str.5, %11598 ], [ @.str.2, %11594 ]
  store i32 %11589, ptr %228, align 4, !tbaa !5
  %11600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11601 = load i32, ptr @test_count, align 4, !tbaa !5
  %11602 = load i32, ptr %174, align 4, !tbaa !5
  %11603 = call ptr @s2n_strerror(i32 noundef %11602, ptr noundef nonnull @.str.4) #12
  %11604 = load i32, ptr %174, align 4, !tbaa !5
  %11605 = call ptr @s2n_strerror_debug(i32 noundef %11604, ptr noundef nonnull @.str.4) #12
  %11606 = load i32, ptr %228, align 4, !tbaa !5
  %11607 = call ptr @strerror(i32 noundef %11606) #12
  %11608 = load i32, ptr %228, align 4, !tbaa !5
  %11609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11600, ptr noundef nonnull %.str.5.sink6060, i32 noundef %11601, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.1, i32 noundef 1147, ptr noundef %11603, ptr noundef %11605, ptr noundef %11607, i32 noundef %11608) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11610:                                            ; preds = %11583
  %11611 = add nsw i32 %11584, 2
  store i32 %11611, ptr @test_count, align 4, !tbaa !5
  %11612 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 1) #12
  %11613 = call zeroext i1 @s2n_result_is_error(i32 %11612)
  br i1 %11613, label %11636, label %11614

11614:                                            ; preds = %11610
  %11615 = load i32, ptr %228, align 4, !tbaa !5
  %11616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11617 = call i32 @s2n_print_stacktrace(ptr noundef %11616) #12
  %11618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11619 = trunc nuw i8 %11618 to i1
  br i1 %11619, label %11620, label %11624

11620:                                            ; preds = %11614
  %11621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11622 = call i32 @fileno(ptr noundef %11621) #12
  %11623 = call i32 @isatty(i32 noundef %11622) #12
  %.not1909 = icmp eq i32 %11623, 0
  br i1 %.not1909, label %11624, label %11625

11624:                                            ; preds = %11620, %11614
  br label %11625

11625:                                            ; preds = %11620, %11624
  %.str.5.sink6069 = phi ptr [ @.str.5, %11624 ], [ @.str.2, %11620 ]
  store i32 %11615, ptr %228, align 4, !tbaa !5
  %11626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11627 = load i32, ptr @test_count, align 4, !tbaa !5
  %11628 = load i32, ptr %174, align 4, !tbaa !5
  %11629 = call ptr @s2n_strerror(i32 noundef %11628, ptr noundef nonnull @.str.4) #12
  %11630 = load i32, ptr %174, align 4, !tbaa !5
  %11631 = call ptr @s2n_strerror_debug(i32 noundef %11630, ptr noundef nonnull @.str.4) #12
  %11632 = load i32, ptr %228, align 4, !tbaa !5
  %11633 = call ptr @strerror(i32 noundef %11632) #12
  %11634 = load i32, ptr %228, align 4, !tbaa !5
  %11635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11626, ptr noundef nonnull %.str.5.sink6069, i32 noundef %11627, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.1, i32 noundef 1150, ptr noundef %11629, ptr noundef %11631, ptr noundef %11633, i32 noundef %11634) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11636:                                            ; preds = %11610
  %11637 = load i32, ptr @test_count, align 4, !tbaa !5
  %11638 = add nsw i32 %11637, 1
  store i32 %11638, ptr @test_count, align 4, !tbaa !5
  %11639 = load i32, ptr %174, align 4, !tbaa !5
  %11640 = icmp eq i32 %11639, 335544396
  br i1 %11640, label %11663, label %11641

11641:                                            ; preds = %11636
  %11642 = load i32, ptr %228, align 4, !tbaa !5
  %11643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11644 = call i32 @s2n_print_stacktrace(ptr noundef %11643) #12
  %11645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11646 = trunc nuw i8 %11645 to i1
  br i1 %11646, label %11647, label %11651

11647:                                            ; preds = %11641
  %11648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11649 = call i32 @fileno(ptr noundef %11648) #12
  %11650 = call i32 @isatty(i32 noundef %11649) #12
  %.not1910 = icmp eq i32 %11650, 0
  br i1 %.not1910, label %11651, label %11652

11651:                                            ; preds = %11647, %11641
  br label %11652

11652:                                            ; preds = %11647, %11651
  %.str.5.sink6078 = phi ptr [ @.str.5, %11651 ], [ @.str.2, %11647 ]
  store i32 %11642, ptr %228, align 4, !tbaa !5
  %11653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11654 = load i32, ptr @test_count, align 4, !tbaa !5
  %11655 = load i32, ptr %174, align 4, !tbaa !5
  %11656 = call ptr @s2n_strerror(i32 noundef %11655, ptr noundef nonnull @.str.4) #12
  %11657 = load i32, ptr %174, align 4, !tbaa !5
  %11658 = call ptr @s2n_strerror_debug(i32 noundef %11657, ptr noundef nonnull @.str.4) #12
  %11659 = load i32, ptr %228, align 4, !tbaa !5
  %11660 = call ptr @strerror(i32 noundef %11659) #12
  %11661 = load i32, ptr %228, align 4, !tbaa !5
  %11662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11653, ptr noundef nonnull %.str.5.sink6078, i32 noundef %11654, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 1150, ptr noundef %11656, ptr noundef %11658, ptr noundef %11660, i32 noundef %11661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11663:                                            ; preds = %11636
  %11664 = add nsw i32 %11637, 2
  store i32 %11664, ptr @test_count, align 4, !tbaa !5
  %11665 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %11666 = icmp eq ptr %11665, null
  br i1 %11666, label %11667, label %11689

11667:                                            ; preds = %11663
  %11668 = load i32, ptr %228, align 4, !tbaa !5
  %11669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11670 = call i32 @s2n_print_stacktrace(ptr noundef %11669) #12
  %11671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11672 = trunc nuw i8 %11671 to i1
  br i1 %11672, label %11673, label %11677

11673:                                            ; preds = %11667
  %11674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11675 = call i32 @fileno(ptr noundef %11674) #12
  %11676 = call i32 @isatty(i32 noundef %11675) #12
  %.not2054 = icmp eq i32 %11676, 0
  br i1 %.not2054, label %11677, label %11678

11677:                                            ; preds = %11673, %11667
  br label %11678

11678:                                            ; preds = %11673, %11677
  %.str.5.sink6087 = phi ptr [ @.str.5, %11677 ], [ @.str.2, %11673 ]
  store i32 %11668, ptr %228, align 4, !tbaa !5
  %11679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11680 = load i32, ptr @test_count, align 4, !tbaa !5
  %11681 = load i32, ptr %174, align 4, !tbaa !5
  %11682 = call ptr @s2n_strerror(i32 noundef %11681, ptr noundef nonnull @.str.4) #12
  %11683 = load i32, ptr %174, align 4, !tbaa !5
  %11684 = call ptr @s2n_strerror_debug(i32 noundef %11683, ptr noundef nonnull @.str.4) #12
  %11685 = load i32, ptr %228, align 4, !tbaa !5
  %11686 = call ptr @strerror(i32 noundef %11685) #12
  %11687 = load i32, ptr %228, align 4, !tbaa !5
  %11688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11679, ptr noundef nonnull %.str.5.sink6087, i32 noundef %11680, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1150, ptr noundef %11682, ptr noundef %11684, ptr noundef %11686, i32 noundef %11687) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11689:                                            ; preds = %11663
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %11690 = load i32, ptr @test_count, align 4, !tbaa !5
  %11691 = add nsw i32 %11690, 1
  store i32 %11691, ptr @test_count, align 4, !tbaa !5
  %11692 = load i64, ptr %11158, align 8, !tbaa !72
  %11693 = icmp eq i64 %11692, -1
  br i1 %11693, label %11716, label %11694

11694:                                            ; preds = %11689
  %11695 = load i32, ptr %228, align 4, !tbaa !5
  %11696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11697 = call i32 @s2n_print_stacktrace(ptr noundef %11696) #12
  %11698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11699 = trunc nuw i8 %11698 to i1
  br i1 %11699, label %11700, label %11704

11700:                                            ; preds = %11694
  %11701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11702 = call i32 @fileno(ptr noundef %11701) #12
  %11703 = call i32 @isatty(i32 noundef %11702) #12
  %.not1911 = icmp eq i32 %11703, 0
  br i1 %.not1911, label %11704, label %11705

11704:                                            ; preds = %11700, %11694
  br label %11705

11705:                                            ; preds = %11700, %11704
  %.str.5.sink6096 = phi ptr [ @.str.5, %11704 ], [ @.str.2, %11700 ]
  store i32 %11695, ptr %228, align 4, !tbaa !5
  %11706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11707 = load i32, ptr @test_count, align 4, !tbaa !5
  %11708 = load i32, ptr %174, align 4, !tbaa !5
  %11709 = call ptr @s2n_strerror(i32 noundef %11708, ptr noundef nonnull @.str.4) #12
  %11710 = load i32, ptr %174, align 4, !tbaa !5
  %11711 = call ptr @s2n_strerror_debug(i32 noundef %11710, ptr noundef nonnull @.str.4) #12
  %11712 = load i32, ptr %228, align 4, !tbaa !5
  %11713 = call ptr @strerror(i32 noundef %11712) #12
  %11714 = load i32, ptr %228, align 4, !tbaa !5
  %11715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11706, ptr noundef nonnull %.str.5.sink6096, i32 noundef %11707, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.1, i32 noundef 1151, ptr noundef %11709, ptr noundef %11711, ptr noundef %11713, i32 noundef %11714) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11716:                                            ; preds = %11689
  %11717 = add nsw i32 %11690, 2
  store i32 %11717, ptr @test_count, align 4, !tbaa !5
  %11718 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 1) #12
  %11719 = call zeroext i1 @s2n_result_is_error(i32 %11718)
  br i1 %11719, label %11742, label %11720

11720:                                            ; preds = %11716
  %11721 = load i32, ptr %228, align 4, !tbaa !5
  %11722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11723 = call i32 @s2n_print_stacktrace(ptr noundef %11722) #12
  %11724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11725 = trunc nuw i8 %11724 to i1
  br i1 %11725, label %11726, label %11730

11726:                                            ; preds = %11720
  %11727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11728 = call i32 @fileno(ptr noundef %11727) #12
  %11729 = call i32 @isatty(i32 noundef %11728) #12
  %.not1912 = icmp eq i32 %11729, 0
  br i1 %.not1912, label %11730, label %11731

11730:                                            ; preds = %11726, %11720
  br label %11731

11731:                                            ; preds = %11726, %11730
  %.str.5.sink6105 = phi ptr [ @.str.5, %11730 ], [ @.str.2, %11726 ]
  store i32 %11721, ptr %228, align 4, !tbaa !5
  %11732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11733 = load i32, ptr @test_count, align 4, !tbaa !5
  %11734 = load i32, ptr %174, align 4, !tbaa !5
  %11735 = call ptr @s2n_strerror(i32 noundef %11734, ptr noundef nonnull @.str.4) #12
  %11736 = load i32, ptr %174, align 4, !tbaa !5
  %11737 = call ptr @s2n_strerror_debug(i32 noundef %11736, ptr noundef nonnull @.str.4) #12
  %11738 = load i32, ptr %228, align 4, !tbaa !5
  %11739 = call ptr @strerror(i32 noundef %11738) #12
  %11740 = load i32, ptr %228, align 4, !tbaa !5
  %11741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11732, ptr noundef nonnull %.str.5.sink6105, i32 noundef %11733, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.1, i32 noundef 1154, ptr noundef %11735, ptr noundef %11737, ptr noundef %11739, i32 noundef %11740) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11742:                                            ; preds = %11716
  %11743 = load i32, ptr @test_count, align 4, !tbaa !5
  %11744 = add nsw i32 %11743, 1
  store i32 %11744, ptr @test_count, align 4, !tbaa !5
  %11745 = load i32, ptr %174, align 4, !tbaa !5
  %11746 = icmp eq i32 %11745, 402653251
  br i1 %11746, label %11769, label %11747

11747:                                            ; preds = %11742
  %11748 = load i32, ptr %228, align 4, !tbaa !5
  %11749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11750 = call i32 @s2n_print_stacktrace(ptr noundef %11749) #12
  %11751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11752 = trunc nuw i8 %11751 to i1
  br i1 %11752, label %11753, label %11757

11753:                                            ; preds = %11747
  %11754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11755 = call i32 @fileno(ptr noundef %11754) #12
  %11756 = call i32 @isatty(i32 noundef %11755) #12
  %.not1913 = icmp eq i32 %11756, 0
  br i1 %.not1913, label %11757, label %11758

11757:                                            ; preds = %11753, %11747
  br label %11758

11758:                                            ; preds = %11753, %11757
  %.str.5.sink6114 = phi ptr [ @.str.5, %11757 ], [ @.str.2, %11753 ]
  store i32 %11748, ptr %228, align 4, !tbaa !5
  %11759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11760 = load i32, ptr @test_count, align 4, !tbaa !5
  %11761 = load i32, ptr %174, align 4, !tbaa !5
  %11762 = call ptr @s2n_strerror(i32 noundef %11761, ptr noundef nonnull @.str.4) #12
  %11763 = load i32, ptr %174, align 4, !tbaa !5
  %11764 = call ptr @s2n_strerror_debug(i32 noundef %11763, ptr noundef nonnull @.str.4) #12
  %11765 = load i32, ptr %228, align 4, !tbaa !5
  %11766 = call ptr @strerror(i32 noundef %11765) #12
  %11767 = load i32, ptr %228, align 4, !tbaa !5
  %11768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11759, ptr noundef nonnull %.str.5.sink6114, i32 noundef %11760, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.1, i32 noundef 1154, ptr noundef %11762, ptr noundef %11764, ptr noundef %11766, i32 noundef %11767) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11769:                                            ; preds = %11742
  %11770 = add nsw i32 %11743, 2
  store i32 %11770, ptr @test_count, align 4, !tbaa !5
  %11771 = call ptr @s2n_strerror_debug(i32 noundef 402653251, ptr noundef nonnull @.str.4) #12
  %11772 = icmp eq ptr %11771, null
  br i1 %11772, label %11773, label %11795

11773:                                            ; preds = %11769
  %11774 = load i32, ptr %228, align 4, !tbaa !5
  %11775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11776 = call i32 @s2n_print_stacktrace(ptr noundef %11775) #12
  %11777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11778 = trunc nuw i8 %11777 to i1
  br i1 %11778, label %11779, label %11783

11779:                                            ; preds = %11773
  %11780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11781 = call i32 @fileno(ptr noundef %11780) #12
  %11782 = call i32 @isatty(i32 noundef %11781) #12
  %.not2053 = icmp eq i32 %11782, 0
  br i1 %.not2053, label %11783, label %11784

11783:                                            ; preds = %11779, %11773
  br label %11784

11784:                                            ; preds = %11779, %11783
  %.str.5.sink6123 = phi ptr [ @.str.5, %11783 ], [ @.str.2, %11779 ]
  store i32 %11774, ptr %228, align 4, !tbaa !5
  %11785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11786 = load i32, ptr @test_count, align 4, !tbaa !5
  %11787 = load i32, ptr %174, align 4, !tbaa !5
  %11788 = call ptr @s2n_strerror(i32 noundef %11787, ptr noundef nonnull @.str.4) #12
  %11789 = load i32, ptr %174, align 4, !tbaa !5
  %11790 = call ptr @s2n_strerror_debug(i32 noundef %11789, ptr noundef nonnull @.str.4) #12
  %11791 = load i32, ptr %228, align 4, !tbaa !5
  %11792 = call ptr @strerror(i32 noundef %11791) #12
  %11793 = load i32, ptr %228, align 4, !tbaa !5
  %11794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11785, ptr noundef nonnull %.str.5.sink6123, i32 noundef %11786, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1154, ptr noundef %11788, ptr noundef %11790, ptr noundef %11792, i32 noundef %11793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11795:                                            ; preds = %11769
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %11796 = load i32, ptr @test_count, align 4, !tbaa !5
  %11797 = add nsw i32 %11796, 1
  store i32 %11797, ptr @test_count, align 4, !tbaa !5
  %11798 = load i64, ptr %11158, align 8, !tbaa !72
  %11799 = icmp eq i64 %11798, -1
  br i1 %11799, label %11822, label %11800

11800:                                            ; preds = %11795
  %11801 = load i32, ptr %228, align 4, !tbaa !5
  %11802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11803 = call i32 @s2n_print_stacktrace(ptr noundef %11802) #12
  %11804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11805 = trunc nuw i8 %11804 to i1
  br i1 %11805, label %11806, label %11810

11806:                                            ; preds = %11800
  %11807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11808 = call i32 @fileno(ptr noundef %11807) #12
  %11809 = call i32 @isatty(i32 noundef %11808) #12
  %.not1914 = icmp eq i32 %11809, 0
  br i1 %.not1914, label %11810, label %11811

11810:                                            ; preds = %11806, %11800
  br label %11811

11811:                                            ; preds = %11806, %11810
  %.str.5.sink6132 = phi ptr [ @.str.5, %11810 ], [ @.str.2, %11806 ]
  store i32 %11801, ptr %228, align 4, !tbaa !5
  %11812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11813 = load i32, ptr @test_count, align 4, !tbaa !5
  %11814 = load i32, ptr %174, align 4, !tbaa !5
  %11815 = call ptr @s2n_strerror(i32 noundef %11814, ptr noundef nonnull @.str.4) #12
  %11816 = load i32, ptr %174, align 4, !tbaa !5
  %11817 = call ptr @s2n_strerror_debug(i32 noundef %11816, ptr noundef nonnull @.str.4) #12
  %11818 = load i32, ptr %228, align 4, !tbaa !5
  %11819 = call ptr @strerror(i32 noundef %11818) #12
  %11820 = load i32, ptr %228, align 4, !tbaa !5
  %11821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11812, ptr noundef nonnull %.str.5.sink6132, i32 noundef %11813, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.1, i32 noundef 1155, ptr noundef %11815, ptr noundef %11817, ptr noundef %11819, i32 noundef %11820) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11822:                                            ; preds = %11795
  store i64 0, ptr %11158, align 8, !tbaa !72
  %11823 = add nsw i32 %11796, 2
  store i32 %11823, ptr @test_count, align 4, !tbaa !5
  %11824 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 0) #12
  %11825 = call zeroext i1 @s2n_result_is_ok(i32 %11824)
  br i1 %11825, label %11848, label %11826

11826:                                            ; preds = %11822
  %11827 = load i32, ptr %228, align 4, !tbaa !5
  %11828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11829 = call i32 @s2n_print_stacktrace(ptr noundef %11828) #12
  %11830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11831 = trunc nuw i8 %11830 to i1
  br i1 %11831, label %11832, label %11836

11832:                                            ; preds = %11826
  %11833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11834 = call i32 @fileno(ptr noundef %11833) #12
  %11835 = call i32 @isatty(i32 noundef %11834) #12
  %.not1915 = icmp eq i32 %11835, 0
  br i1 %.not1915, label %11836, label %11837

11836:                                            ; preds = %11832, %11826
  br label %11837

11837:                                            ; preds = %11832, %11836
  %.str.5.sink6141 = phi ptr [ @.str.5, %11836 ], [ @.str.2, %11832 ]
  store i32 %11827, ptr %228, align 4, !tbaa !5
  %11838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11839 = load i32, ptr @test_count, align 4, !tbaa !5
  %11840 = load i32, ptr %174, align 4, !tbaa !5
  %11841 = call ptr @s2n_strerror(i32 noundef %11840, ptr noundef nonnull @.str.4) #12
  %11842 = load i32, ptr %174, align 4, !tbaa !5
  %11843 = call ptr @s2n_strerror_debug(i32 noundef %11842, ptr noundef nonnull @.str.4) #12
  %11844 = load i32, ptr %228, align 4, !tbaa !5
  %11845 = call ptr @strerror(i32 noundef %11844) #12
  %11846 = load i32, ptr %228, align 4, !tbaa !5
  %11847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11838, ptr noundef nonnull %.str.5.sink6141, i32 noundef %11839, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.1, i32 noundef 1161, ptr noundef %11841, ptr noundef %11843, ptr noundef %11845, i32 noundef %11846) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11848:                                            ; preds = %11822
  %11849 = load i32, ptr @test_count, align 4, !tbaa !5
  %11850 = add nsw i32 %11849, 1
  store i32 %11850, ptr @test_count, align 4, !tbaa !5
  %11851 = load i64, ptr %11158, align 8, !tbaa !72
  %11852 = icmp eq i64 %11851, 0
  br i1 %11852, label %11875, label %11853

11853:                                            ; preds = %11848
  %11854 = load i32, ptr %228, align 4, !tbaa !5
  %11855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11856 = call i32 @s2n_print_stacktrace(ptr noundef %11855) #12
  %11857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11858 = trunc nuw i8 %11857 to i1
  br i1 %11858, label %11859, label %11863

11859:                                            ; preds = %11853
  %11860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11861 = call i32 @fileno(ptr noundef %11860) #12
  %11862 = call i32 @isatty(i32 noundef %11861) #12
  %.not1916 = icmp eq i32 %11862, 0
  br i1 %.not1916, label %11863, label %11864

11863:                                            ; preds = %11859, %11853
  br label %11864

11864:                                            ; preds = %11859, %11863
  %.str.5.sink6150 = phi ptr [ @.str.5, %11863 ], [ @.str.2, %11859 ]
  store i32 %11854, ptr %228, align 4, !tbaa !5
  %11865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11866 = load i32, ptr @test_count, align 4, !tbaa !5
  %11867 = load i32, ptr %174, align 4, !tbaa !5
  %11868 = call ptr @s2n_strerror(i32 noundef %11867, ptr noundef nonnull @.str.4) #12
  %11869 = load i32, ptr %174, align 4, !tbaa !5
  %11870 = call ptr @s2n_strerror_debug(i32 noundef %11869, ptr noundef nonnull @.str.4) #12
  %11871 = load i32, ptr %228, align 4, !tbaa !5
  %11872 = call ptr @strerror(i32 noundef %11871) #12
  %11873 = load i32, ptr %228, align 4, !tbaa !5
  %11874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11865, ptr noundef nonnull %.str.5.sink6150, i32 noundef %11866, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.1, i32 noundef 1162, ptr noundef %11868, ptr noundef %11870, ptr noundef %11872, i32 noundef %11873) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11875:                                            ; preds = %11848
  store i64 10, ptr %11158, align 8, !tbaa !72
  %11876 = add nsw i32 %11849, 2
  store i32 %11876, ptr @test_count, align 4, !tbaa !5
  %11877 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 0) #12
  %11878 = call zeroext i1 @s2n_result_is_ok(i32 %11877)
  br i1 %11878, label %11901, label %11879

11879:                                            ; preds = %11875
  %11880 = load i32, ptr %228, align 4, !tbaa !5
  %11881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11882 = call i32 @s2n_print_stacktrace(ptr noundef %11881) #12
  %11883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11884 = trunc nuw i8 %11883 to i1
  br i1 %11884, label %11885, label %11889

11885:                                            ; preds = %11879
  %11886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11887 = call i32 @fileno(ptr noundef %11886) #12
  %11888 = call i32 @isatty(i32 noundef %11887) #12
  %.not1917 = icmp eq i32 %11888, 0
  br i1 %.not1917, label %11889, label %11890

11889:                                            ; preds = %11885, %11879
  br label %11890

11890:                                            ; preds = %11885, %11889
  %.str.5.sink6159 = phi ptr [ @.str.5, %11889 ], [ @.str.2, %11885 ]
  store i32 %11880, ptr %228, align 4, !tbaa !5
  %11891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11892 = load i32, ptr @test_count, align 4, !tbaa !5
  %11893 = load i32, ptr %174, align 4, !tbaa !5
  %11894 = call ptr @s2n_strerror(i32 noundef %11893, ptr noundef nonnull @.str.4) #12
  %11895 = load i32, ptr %174, align 4, !tbaa !5
  %11896 = call ptr @s2n_strerror_debug(i32 noundef %11895, ptr noundef nonnull @.str.4) #12
  %11897 = load i32, ptr %228, align 4, !tbaa !5
  %11898 = call ptr @strerror(i32 noundef %11897) #12
  %11899 = load i32, ptr %228, align 4, !tbaa !5
  %11900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11891, ptr noundef nonnull %.str.5.sink6159, i32 noundef %11892, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.1, i32 noundef 1165, ptr noundef %11894, ptr noundef %11896, ptr noundef %11898, i32 noundef %11899) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11901:                                            ; preds = %11875
  %11902 = load i32, ptr @test_count, align 4, !tbaa !5
  %11903 = add nsw i32 %11902, 1
  store i32 %11903, ptr @test_count, align 4, !tbaa !5
  %11904 = load i64, ptr %11158, align 8, !tbaa !72
  %11905 = icmp eq i64 %11904, 10
  br i1 %11905, label %11928, label %11906

11906:                                            ; preds = %11901
  %11907 = load i32, ptr %228, align 4, !tbaa !5
  %11908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11909 = call i32 @s2n_print_stacktrace(ptr noundef %11908) #12
  %11910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11911 = trunc nuw i8 %11910 to i1
  br i1 %11911, label %11912, label %11916

11912:                                            ; preds = %11906
  %11913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11914 = call i32 @fileno(ptr noundef %11913) #12
  %11915 = call i32 @isatty(i32 noundef %11914) #12
  %.not1918 = icmp eq i32 %11915, 0
  br i1 %.not1918, label %11916, label %11917

11916:                                            ; preds = %11912, %11906
  br label %11917

11917:                                            ; preds = %11912, %11916
  %.str.5.sink6168 = phi ptr [ @.str.5, %11916 ], [ @.str.2, %11912 ]
  store i32 %11907, ptr %228, align 4, !tbaa !5
  %11918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11919 = load i32, ptr @test_count, align 4, !tbaa !5
  %11920 = load i32, ptr %174, align 4, !tbaa !5
  %11921 = call ptr @s2n_strerror(i32 noundef %11920, ptr noundef nonnull @.str.4) #12
  %11922 = load i32, ptr %174, align 4, !tbaa !5
  %11923 = call ptr @s2n_strerror_debug(i32 noundef %11922, ptr noundef nonnull @.str.4) #12
  %11924 = load i32, ptr %228, align 4, !tbaa !5
  %11925 = call ptr @strerror(i32 noundef %11924) #12
  %11926 = load i32, ptr %228, align 4, !tbaa !5
  %11927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11918, ptr noundef nonnull %.str.5.sink6168, i32 noundef %11919, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 1166, ptr noundef %11921, ptr noundef %11923, ptr noundef %11925, i32 noundef %11926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11928:                                            ; preds = %11901
  store i64 11, ptr %11158, align 8, !tbaa !72
  %11929 = add nsw i32 %11902, 2
  store i32 %11929, ptr @test_count, align 4, !tbaa !5
  %11930 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef 0) #12
  %11931 = call zeroext i1 @s2n_result_is_error(i32 %11930)
  br i1 %11931, label %11954, label %11932

11932:                                            ; preds = %11928
  %11933 = load i32, ptr %228, align 4, !tbaa !5
  %11934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11935 = call i32 @s2n_print_stacktrace(ptr noundef %11934) #12
  %11936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11937 = trunc nuw i8 %11936 to i1
  br i1 %11937, label %11938, label %11942

11938:                                            ; preds = %11932
  %11939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11940 = call i32 @fileno(ptr noundef %11939) #12
  %11941 = call i32 @isatty(i32 noundef %11940) #12
  %.not1919 = icmp eq i32 %11941, 0
  br i1 %.not1919, label %11942, label %11943

11942:                                            ; preds = %11938, %11932
  br label %11943

11943:                                            ; preds = %11938, %11942
  %.str.5.sink6177 = phi ptr [ @.str.5, %11942 ], [ @.str.2, %11938 ]
  store i32 %11933, ptr %228, align 4, !tbaa !5
  %11944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11945 = load i32, ptr @test_count, align 4, !tbaa !5
  %11946 = load i32, ptr %174, align 4, !tbaa !5
  %11947 = call ptr @s2n_strerror(i32 noundef %11946, ptr noundef nonnull @.str.4) #12
  %11948 = load i32, ptr %174, align 4, !tbaa !5
  %11949 = call ptr @s2n_strerror_debug(i32 noundef %11948, ptr noundef nonnull @.str.4) #12
  %11950 = load i32, ptr %228, align 4, !tbaa !5
  %11951 = call ptr @strerror(i32 noundef %11950) #12
  %11952 = load i32, ptr %228, align 4, !tbaa !5
  %11953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11944, ptr noundef nonnull %.str.5.sink6177, i32 noundef %11945, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.1, i32 noundef 1169, ptr noundef %11947, ptr noundef %11949, ptr noundef %11951, i32 noundef %11952) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11954:                                            ; preds = %11928
  %11955 = load i32, ptr @test_count, align 4, !tbaa !5
  %11956 = add nsw i32 %11955, 1
  store i32 %11956, ptr @test_count, align 4, !tbaa !5
  %11957 = load i32, ptr %174, align 4, !tbaa !5
  %11958 = icmp eq i32 %11957, 335544396
  br i1 %11958, label %11981, label %11959

11959:                                            ; preds = %11954
  %11960 = load i32, ptr %228, align 4, !tbaa !5
  %11961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11962 = call i32 @s2n_print_stacktrace(ptr noundef %11961) #12
  %11963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11964 = trunc nuw i8 %11963 to i1
  br i1 %11964, label %11965, label %11969

11965:                                            ; preds = %11959
  %11966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11967 = call i32 @fileno(ptr noundef %11966) #12
  %11968 = call i32 @isatty(i32 noundef %11967) #12
  %.not1920 = icmp eq i32 %11968, 0
  br i1 %.not1920, label %11969, label %11970

11969:                                            ; preds = %11965, %11959
  br label %11970

11970:                                            ; preds = %11965, %11969
  %.str.5.sink6186 = phi ptr [ @.str.5, %11969 ], [ @.str.2, %11965 ]
  store i32 %11960, ptr %228, align 4, !tbaa !5
  %11971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11972 = load i32, ptr @test_count, align 4, !tbaa !5
  %11973 = load i32, ptr %174, align 4, !tbaa !5
  %11974 = call ptr @s2n_strerror(i32 noundef %11973, ptr noundef nonnull @.str.4) #12
  %11975 = load i32, ptr %174, align 4, !tbaa !5
  %11976 = call ptr @s2n_strerror_debug(i32 noundef %11975, ptr noundef nonnull @.str.4) #12
  %11977 = load i32, ptr %228, align 4, !tbaa !5
  %11978 = call ptr @strerror(i32 noundef %11977) #12
  %11979 = load i32, ptr %228, align 4, !tbaa !5
  %11980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11971, ptr noundef nonnull %.str.5.sink6186, i32 noundef %11972, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 1169, ptr noundef %11974, ptr noundef %11976, ptr noundef %11978, i32 noundef %11979) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11981:                                            ; preds = %11954
  %11982 = add nsw i32 %11955, 2
  store i32 %11982, ptr @test_count, align 4, !tbaa !5
  %11983 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %11984 = icmp eq ptr %11983, null
  br i1 %11984, label %11985, label %12007

11985:                                            ; preds = %11981
  %11986 = load i32, ptr %228, align 4, !tbaa !5
  %11987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11988 = call i32 @s2n_print_stacktrace(ptr noundef %11987) #12
  %11989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11990 = trunc nuw i8 %11989 to i1
  br i1 %11990, label %11991, label %11995

11991:                                            ; preds = %11985
  %11992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11993 = call i32 @fileno(ptr noundef %11992) #12
  %11994 = call i32 @isatty(i32 noundef %11993) #12
  %.not2052 = icmp eq i32 %11994, 0
  br i1 %.not2052, label %11995, label %11996

11995:                                            ; preds = %11991, %11985
  br label %11996

11996:                                            ; preds = %11991, %11995
  %.str.5.sink6195 = phi ptr [ @.str.5, %11995 ], [ @.str.2, %11991 ]
  store i32 %11986, ptr %228, align 4, !tbaa !5
  %11997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11998 = load i32, ptr @test_count, align 4, !tbaa !5
  %11999 = load i32, ptr %174, align 4, !tbaa !5
  %12000 = call ptr @s2n_strerror(i32 noundef %11999, ptr noundef nonnull @.str.4) #12
  %12001 = load i32, ptr %174, align 4, !tbaa !5
  %12002 = call ptr @s2n_strerror_debug(i32 noundef %12001, ptr noundef nonnull @.str.4) #12
  %12003 = load i32, ptr %228, align 4, !tbaa !5
  %12004 = call ptr @strerror(i32 noundef %12003) #12
  %12005 = load i32, ptr %228, align 4, !tbaa !5
  %12006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11997, ptr noundef nonnull %.str.5.sink6195, i32 noundef %11998, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1169, ptr noundef %12000, ptr noundef %12002, ptr noundef %12004, i32 noundef %12005) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12007:                                            ; preds = %11981
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %12008 = load i32, ptr @test_count, align 4, !tbaa !5
  %12009 = add nsw i32 %12008, 1
  store i32 %12009, ptr @test_count, align 4, !tbaa !5
  %12010 = load i64, ptr %11158, align 8, !tbaa !72
  %12011 = icmp eq i64 %12010, 11
  br i1 %12011, label %12034, label %12012

12012:                                            ; preds = %12007
  %12013 = load i32, ptr %228, align 4, !tbaa !5
  %12014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12015 = call i32 @s2n_print_stacktrace(ptr noundef %12014) #12
  %12016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12017 = trunc nuw i8 %12016 to i1
  br i1 %12017, label %12018, label %12022

12018:                                            ; preds = %12012
  %12019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12020 = call i32 @fileno(ptr noundef %12019) #12
  %12021 = call i32 @isatty(i32 noundef %12020) #12
  %.not1921 = icmp eq i32 %12021, 0
  br i1 %.not1921, label %12022, label %12023

12022:                                            ; preds = %12018, %12012
  br label %12023

12023:                                            ; preds = %12018, %12022
  %.str.5.sink6204 = phi ptr [ @.str.5, %12022 ], [ @.str.2, %12018 ]
  store i32 %12013, ptr %228, align 4, !tbaa !5
  %12024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12025 = load i32, ptr @test_count, align 4, !tbaa !5
  %12026 = load i32, ptr %174, align 4, !tbaa !5
  %12027 = call ptr @s2n_strerror(i32 noundef %12026, ptr noundef nonnull @.str.4) #12
  %12028 = load i32, ptr %174, align 4, !tbaa !5
  %12029 = call ptr @s2n_strerror_debug(i32 noundef %12028, ptr noundef nonnull @.str.4) #12
  %12030 = load i32, ptr %228, align 4, !tbaa !5
  %12031 = call ptr @strerror(i32 noundef %12030) #12
  %12032 = load i32, ptr %228, align 4, !tbaa !5
  %12033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12024, ptr noundef nonnull %.str.5.sink6204, i32 noundef %12025, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 1170, ptr noundef %12027, ptr noundef %12029, ptr noundef %12031, i32 noundef %12032) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12034:                                            ; preds = %12007
  store i64 0, ptr %11158, align 8, !tbaa !72
  %12035 = add nsw i32 %12008, 2
  store i32 %12035, ptr @test_count, align 4, !tbaa !5
  %12036 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef -1) #12
  %12037 = call zeroext i1 @s2n_result_is_ok(i32 %12036)
  br i1 %12037, label %12060, label %12038

12038:                                            ; preds = %12034
  %12039 = load i32, ptr %228, align 4, !tbaa !5
  %12040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12041 = call i32 @s2n_print_stacktrace(ptr noundef %12040) #12
  %12042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12043 = trunc nuw i8 %12042 to i1
  br i1 %12043, label %12044, label %12048

12044:                                            ; preds = %12038
  %12045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12046 = call i32 @fileno(ptr noundef %12045) #12
  %12047 = call i32 @isatty(i32 noundef %12046) #12
  %.not1922 = icmp eq i32 %12047, 0
  br i1 %.not1922, label %12048, label %12049

12048:                                            ; preds = %12044, %12038
  br label %12049

12049:                                            ; preds = %12044, %12048
  %.str.5.sink6213 = phi ptr [ @.str.5, %12048 ], [ @.str.2, %12044 ]
  store i32 %12039, ptr %228, align 4, !tbaa !5
  %12050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12051 = load i32, ptr @test_count, align 4, !tbaa !5
  %12052 = load i32, ptr %174, align 4, !tbaa !5
  %12053 = call ptr @s2n_strerror(i32 noundef %12052, ptr noundef nonnull @.str.4) #12
  %12054 = load i32, ptr %174, align 4, !tbaa !5
  %12055 = call ptr @s2n_strerror_debug(i32 noundef %12054, ptr noundef nonnull @.str.4) #12
  %12056 = load i32, ptr %228, align 4, !tbaa !5
  %12057 = call ptr @strerror(i32 noundef %12056) #12
  %12058 = load i32, ptr %228, align 4, !tbaa !5
  %12059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12050, ptr noundef nonnull %.str.5.sink6213, i32 noundef %12051, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.1, i32 noundef 1176, ptr noundef %12053, ptr noundef %12055, ptr noundef %12057, i32 noundef %12058) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12060:                                            ; preds = %12034
  %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 i64, ptr %11158, align 8, !tbaa !72
  %12064 = icmp eq i64 %12063, 0
  br i1 %12064, label %12087, label %12065

12065:                                            ; preds = %12060
  %12066 = load i32, ptr %228, align 4, !tbaa !5
  %12067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12068 = call i32 @s2n_print_stacktrace(ptr noundef %12067) #12
  %12069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12070 = trunc nuw i8 %12069 to i1
  br i1 %12070, label %12071, label %12075

12071:                                            ; preds = %12065
  %12072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12073 = call i32 @fileno(ptr noundef %12072) #12
  %12074 = call i32 @isatty(i32 noundef %12073) #12
  %.not1923 = icmp eq i32 %12074, 0
  br i1 %.not1923, label %12075, label %12076

12075:                                            ; preds = %12071, %12065
  br label %12076

12076:                                            ; preds = %12071, %12075
  %.str.5.sink6222 = phi ptr [ @.str.5, %12075 ], [ @.str.2, %12071 ]
  store i32 %12066, ptr %228, align 4, !tbaa !5
  %12077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12078 = load i32, ptr @test_count, align 4, !tbaa !5
  %12079 = load i32, ptr %174, align 4, !tbaa !5
  %12080 = call ptr @s2n_strerror(i32 noundef %12079, ptr noundef nonnull @.str.4) #12
  %12081 = load i32, ptr %174, align 4, !tbaa !5
  %12082 = call ptr @s2n_strerror_debug(i32 noundef %12081, ptr noundef nonnull @.str.4) #12
  %12083 = load i32, ptr %228, align 4, !tbaa !5
  %12084 = call ptr @strerror(i32 noundef %12083) #12
  %12085 = load i32, ptr %228, align 4, !tbaa !5
  %12086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12077, ptr noundef nonnull %.str.5.sink6222, i32 noundef %12078, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.1, i32 noundef 1177, ptr noundef %12080, ptr noundef %12082, ptr noundef %12084, i32 noundef %12085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12087:                                            ; preds = %12060
  store i64 5, ptr %11158, align 8, !tbaa !72
  %12088 = add nsw i32 %12061, 2
  store i32 %12088, ptr @test_count, align 4, !tbaa !5
  %12089 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef -1) #12
  %12090 = call zeroext i1 @s2n_result_is_ok(i32 %12089)
  br i1 %12090, label %12113, label %12091

12091:                                            ; preds = %12087
  %12092 = load i32, ptr %228, align 4, !tbaa !5
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = call i32 @s2n_print_stacktrace(ptr noundef %12093) #12
  %12095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12096 = trunc nuw i8 %12095 to i1
  br i1 %12096, label %12097, label %12101

12097:                                            ; preds = %12091
  %12098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12099 = call i32 @fileno(ptr noundef %12098) #12
  %12100 = call i32 @isatty(i32 noundef %12099) #12
  %.not1924 = icmp eq i32 %12100, 0
  br i1 %.not1924, label %12101, label %12102

12101:                                            ; preds = %12097, %12091
  br label %12102

12102:                                            ; preds = %12097, %12101
  %.str.5.sink6231 = phi ptr [ @.str.5, %12101 ], [ @.str.2, %12097 ]
  store i32 %12092, ptr %228, align 4, !tbaa !5
  %12103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12104 = load i32, ptr @test_count, align 4, !tbaa !5
  %12105 = load i32, ptr %174, align 4, !tbaa !5
  %12106 = call ptr @s2n_strerror(i32 noundef %12105, ptr noundef nonnull @.str.4) #12
  %12107 = load i32, ptr %174, align 4, !tbaa !5
  %12108 = call ptr @s2n_strerror_debug(i32 noundef %12107, ptr noundef nonnull @.str.4) #12
  %12109 = load i32, ptr %228, align 4, !tbaa !5
  %12110 = call ptr @strerror(i32 noundef %12109) #12
  %12111 = load i32, ptr %228, align 4, !tbaa !5
  %12112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12103, ptr noundef nonnull %.str.5.sink6231, i32 noundef %12104, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.1, i32 noundef 1180, ptr noundef %12106, ptr noundef %12108, ptr noundef %12110, i32 noundef %12111) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12113:                                            ; preds = %12087
  %12114 = load i32, ptr @test_count, align 4, !tbaa !5
  %12115 = add nsw i32 %12114, 1
  store i32 %12115, ptr @test_count, align 4, !tbaa !5
  %12116 = load i64, ptr %11158, align 8, !tbaa !72
  %12117 = icmp eq i64 %12116, 5
  br i1 %12117, label %12140, label %12118

12118:                                            ; preds = %12113
  %12119 = load i32, ptr %228, align 4, !tbaa !5
  %12120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12121 = call i32 @s2n_print_stacktrace(ptr noundef %12120) #12
  %12122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12123 = trunc nuw i8 %12122 to i1
  br i1 %12123, label %12124, label %12128

12124:                                            ; preds = %12118
  %12125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12126 = call i32 @fileno(ptr noundef %12125) #12
  %12127 = call i32 @isatty(i32 noundef %12126) #12
  %.not1925 = icmp eq i32 %12127, 0
  br i1 %.not1925, label %12128, label %12129

12128:                                            ; preds = %12124, %12118
  br label %12129

12129:                                            ; preds = %12124, %12128
  %.str.5.sink6240 = phi ptr [ @.str.5, %12128 ], [ @.str.2, %12124 ]
  store i32 %12119, ptr %228, align 4, !tbaa !5
  %12130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12131 = load i32, ptr @test_count, align 4, !tbaa !5
  %12132 = load i32, ptr %174, align 4, !tbaa !5
  %12133 = call ptr @s2n_strerror(i32 noundef %12132, ptr noundef nonnull @.str.4) #12
  %12134 = load i32, ptr %174, align 4, !tbaa !5
  %12135 = call ptr @s2n_strerror_debug(i32 noundef %12134, ptr noundef nonnull @.str.4) #12
  %12136 = load i32, ptr %228, align 4, !tbaa !5
  %12137 = call ptr @strerror(i32 noundef %12136) #12
  %12138 = load i32, ptr %228, align 4, !tbaa !5
  %12139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12130, ptr noundef nonnull %.str.5.sink6240, i32 noundef %12131, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.1, i32 noundef 1181, ptr noundef %12133, ptr noundef %12135, ptr noundef %12137, i32 noundef %12138) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12140:                                            ; preds = %12113
  store i64 10, ptr %11158, align 8, !tbaa !72
  %12141 = add nsw i32 %12114, 2
  store i32 %12141, ptr @test_count, align 4, !tbaa !5
  %12142 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef -1) #12
  %12143 = call zeroext i1 @s2n_result_is_ok(i32 %12142)
  br i1 %12143, label %12166, label %12144

12144:                                            ; preds = %12140
  %12145 = load i32, ptr %228, align 4, !tbaa !5
  %12146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12147 = call i32 @s2n_print_stacktrace(ptr noundef %12146) #12
  %12148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12149 = trunc nuw i8 %12148 to i1
  br i1 %12149, label %12150, label %12154

12150:                                            ; preds = %12144
  %12151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12152 = call i32 @fileno(ptr noundef %12151) #12
  %12153 = call i32 @isatty(i32 noundef %12152) #12
  %.not1926 = icmp eq i32 %12153, 0
  br i1 %.not1926, label %12154, label %12155

12154:                                            ; preds = %12150, %12144
  br label %12155

12155:                                            ; preds = %12150, %12154
  %.str.5.sink6249 = phi ptr [ @.str.5, %12154 ], [ @.str.2, %12150 ]
  store i32 %12145, ptr %228, align 4, !tbaa !5
  %12156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12157 = load i32, ptr @test_count, align 4, !tbaa !5
  %12158 = load i32, ptr %174, align 4, !tbaa !5
  %12159 = call ptr @s2n_strerror(i32 noundef %12158, ptr noundef nonnull @.str.4) #12
  %12160 = load i32, ptr %174, align 4, !tbaa !5
  %12161 = call ptr @s2n_strerror_debug(i32 noundef %12160, ptr noundef nonnull @.str.4) #12
  %12162 = load i32, ptr %228, align 4, !tbaa !5
  %12163 = call ptr @strerror(i32 noundef %12162) #12
  %12164 = load i32, ptr %228, align 4, !tbaa !5
  %12165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12156, ptr noundef nonnull %.str.5.sink6249, i32 noundef %12157, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.1, i32 noundef 1184, ptr noundef %12159, ptr noundef %12161, ptr noundef %12163, i32 noundef %12164) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12166:                                            ; preds = %12140
  %12167 = load i32, ptr @test_count, align 4, !tbaa !5
  %12168 = add nsw i32 %12167, 1
  store i32 %12168, ptr @test_count, align 4, !tbaa !5
  %12169 = load i64, ptr %11158, align 8, !tbaa !72
  %12170 = icmp eq i64 %12169, 10
  br i1 %12170, label %12193, label %12171

12171:                                            ; preds = %12166
  %12172 = load i32, ptr %228, align 4, !tbaa !5
  %12173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12174 = call i32 @s2n_print_stacktrace(ptr noundef %12173) #12
  %12175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12176 = trunc nuw i8 %12175 to i1
  br i1 %12176, label %12177, label %12181

12177:                                            ; preds = %12171
  %12178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12179 = call i32 @fileno(ptr noundef %12178) #12
  %12180 = call i32 @isatty(i32 noundef %12179) #12
  %.not1927 = icmp eq i32 %12180, 0
  br i1 %.not1927, label %12181, label %12182

12181:                                            ; preds = %12177, %12171
  br label %12182

12182:                                            ; preds = %12177, %12181
  %.str.5.sink6258 = phi ptr [ @.str.5, %12181 ], [ @.str.2, %12177 ]
  store i32 %12172, ptr %228, align 4, !tbaa !5
  %12183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12184 = load i32, ptr @test_count, align 4, !tbaa !5
  %12185 = load i32, ptr %174, align 4, !tbaa !5
  %12186 = call ptr @s2n_strerror(i32 noundef %12185, ptr noundef nonnull @.str.4) #12
  %12187 = load i32, ptr %174, align 4, !tbaa !5
  %12188 = call ptr @s2n_strerror_debug(i32 noundef %12187, ptr noundef nonnull @.str.4) #12
  %12189 = load i32, ptr %228, align 4, !tbaa !5
  %12190 = call ptr @strerror(i32 noundef %12189) #12
  %12191 = load i32, ptr %228, align 4, !tbaa !5
  %12192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12183, ptr noundef nonnull %.str.5.sink6258, i32 noundef %12184, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 1185, ptr noundef %12186, ptr noundef %12188, ptr noundef %12190, i32 noundef %12191) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12193:                                            ; preds = %12166
  store i64 11, ptr %11158, align 8, !tbaa !72
  %12194 = add nsw i32 %12167, 2
  store i32 %12194, ptr @test_count, align 4, !tbaa !5
  %12195 = call i32 @s2n_early_data_record_bytes(ptr noundef nonnull %11105, i64 noundef -1) #12
  %12196 = call zeroext i1 @s2n_result_is_ok(i32 %12195)
  br i1 %12196, label %12219, label %12197

12197:                                            ; preds = %12193
  %12198 = load i32, ptr %228, align 4, !tbaa !5
  %12199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12200 = call i32 @s2n_print_stacktrace(ptr noundef %12199) #12
  %12201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12202 = trunc nuw i8 %12201 to i1
  br i1 %12202, label %12203, label %12207

12203:                                            ; preds = %12197
  %12204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12205 = call i32 @fileno(ptr noundef %12204) #12
  %12206 = call i32 @isatty(i32 noundef %12205) #12
  %.not1928 = icmp eq i32 %12206, 0
  br i1 %.not1928, label %12207, label %12208

12207:                                            ; preds = %12203, %12197
  br label %12208

12208:                                            ; preds = %12203, %12207
  %.str.5.sink6267 = phi ptr [ @.str.5, %12207 ], [ @.str.2, %12203 ]
  store i32 %12198, ptr %228, align 4, !tbaa !5
  %12209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12210 = load i32, ptr @test_count, align 4, !tbaa !5
  %12211 = load i32, ptr %174, align 4, !tbaa !5
  %12212 = call ptr @s2n_strerror(i32 noundef %12211, ptr noundef nonnull @.str.4) #12
  %12213 = load i32, ptr %174, align 4, !tbaa !5
  %12214 = call ptr @s2n_strerror_debug(i32 noundef %12213, ptr noundef nonnull @.str.4) #12
  %12215 = load i32, ptr %228, align 4, !tbaa !5
  %12216 = call ptr @strerror(i32 noundef %12215) #12
  %12217 = load i32, ptr %228, align 4, !tbaa !5
  %12218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12209, ptr noundef nonnull %.str.5.sink6267, i32 noundef %12210, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.1, i32 noundef 1191, ptr noundef %12212, ptr noundef %12214, ptr noundef %12216, i32 noundef %12217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12219:                                            ; preds = %12193
  %12220 = load i32, ptr @test_count, align 4, !tbaa !5
  %12221 = add nsw i32 %12220, 1
  store i32 %12221, ptr @test_count, align 4, !tbaa !5
  %12222 = load i64, ptr %11158, align 8, !tbaa !72
  %12223 = icmp eq i64 %12222, 11
  br i1 %12223, label %12246, label %12224

12224:                                            ; preds = %12219
  %12225 = load i32, ptr %228, align 4, !tbaa !5
  %12226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12227 = call i32 @s2n_print_stacktrace(ptr noundef %12226) #12
  %12228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12229 = trunc nuw i8 %12228 to i1
  br i1 %12229, label %12230, label %12234

12230:                                            ; preds = %12224
  %12231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12232 = call i32 @fileno(ptr noundef %12231) #12
  %12233 = call i32 @isatty(i32 noundef %12232) #12
  %.not1929 = icmp eq i32 %12233, 0
  br i1 %.not1929, label %12234, label %12235

12234:                                            ; preds = %12230, %12224
  br label %12235

12235:                                            ; preds = %12230, %12234
  %.str.5.sink6276 = phi ptr [ @.str.5, %12234 ], [ @.str.2, %12230 ]
  store i32 %12225, ptr %228, align 4, !tbaa !5
  %12236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12237 = load i32, ptr @test_count, align 4, !tbaa !5
  %12238 = load i32, ptr %174, align 4, !tbaa !5
  %12239 = call ptr @s2n_strerror(i32 noundef %12238, ptr noundef nonnull @.str.4) #12
  %12240 = load i32, ptr %174, align 4, !tbaa !5
  %12241 = call ptr @s2n_strerror_debug(i32 noundef %12240, ptr noundef nonnull @.str.4) #12
  %12242 = load i32, ptr %228, align 4, !tbaa !5
  %12243 = call ptr @strerror(i32 noundef %12242) #12
  %12244 = load i32, ptr %228, align 4, !tbaa !5
  %12245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12236, ptr noundef nonnull %.str.5.sink6276, i32 noundef %12237, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 1192, ptr noundef %12239, ptr noundef %12241, ptr noundef %12243, i32 noundef %12244) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12246:                                            ; preds = %12219
  %12247 = add nsw i32 %12220, 2
  store i32 %12247, ptr @test_count, align 4, !tbaa !5
  %12248 = call i32 @s2n_connection_free(ptr noundef nonnull %11105) #12
  %12249 = icmp eq i32 %12248, -1
  br i1 %12249, label %12250, label %12272

12250:                                            ; preds = %12246
  %12251 = load i32, ptr %228, align 4, !tbaa !5
  %12252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12253 = call i32 @s2n_print_stacktrace(ptr noundef %12252) #12
  %12254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12255 = trunc nuw i8 %12254 to i1
  br i1 %12255, label %12256, label %12260

12256:                                            ; preds = %12250
  %12257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12258 = call i32 @fileno(ptr noundef %12257) #12
  %12259 = call i32 @isatty(i32 noundef %12258) #12
  %.not2051 = icmp eq i32 %12259, 0
  br i1 %.not2051, label %12260, label %12261

12260:                                            ; preds = %12256, %12250
  br label %12261

12261:                                            ; preds = %12256, %12260
  %.str.5.sink6285 = phi ptr [ @.str.5, %12260 ], [ @.str.2, %12256 ]
  store i32 %12251, ptr %228, align 4, !tbaa !5
  %12262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12263 = load i32, ptr @test_count, align 4, !tbaa !5
  %12264 = load i32, ptr %174, align 4, !tbaa !5
  %12265 = call ptr @s2n_strerror(i32 noundef %12264, ptr noundef nonnull @.str.4) #12
  %12266 = load i32, ptr %174, align 4, !tbaa !5
  %12267 = call ptr @s2n_strerror_debug(i32 noundef %12266, ptr noundef nonnull @.str.4) #12
  %12268 = load i32, ptr %228, align 4, !tbaa !5
  %12269 = call ptr @strerror(i32 noundef %12268) #12
  %12270 = load i32, ptr %228, align 4, !tbaa !5
  %12271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12262, ptr noundef nonnull %.str.5.sink6285, i32 noundef %12263, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1195, ptr noundef %12265, ptr noundef %12267, ptr noundef %12269, i32 noundef %12270) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12272:                                            ; preds = %12246
  %12273 = load i32, ptr @test_count, align 4, !tbaa !5
  %12274 = add nsw i32 %12273, 1
  store i32 %12274, ptr @test_count, align 4, !tbaa !5
  %12275 = call i32 @s2n_early_data_validate_send(ptr noundef null, i32 noundef 1) #12
  %12276 = call zeroext i1 @s2n_result_is_error(i32 %12275)
  br i1 %12276, label %12299, label %12277

12277:                                            ; preds = %12272
  %12278 = load i32, ptr %228, align 4, !tbaa !5
  %12279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12280 = call i32 @s2n_print_stacktrace(ptr noundef %12279) #12
  %12281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12282 = trunc nuw i8 %12281 to i1
  br i1 %12282, label %12283, label %12287

12283:                                            ; preds = %12277
  %12284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12285 = call i32 @fileno(ptr noundef %12284) #12
  %12286 = call i32 @isatty(i32 noundef %12285) #12
  %.not1930 = icmp eq i32 %12286, 0
  br i1 %.not1930, label %12287, label %12288

12287:                                            ; preds = %12283, %12277
  br label %12288

12288:                                            ; preds = %12283, %12287
  %.str.5.sink6294 = phi ptr [ @.str.5, %12287 ], [ @.str.2, %12283 ]
  store i32 %12278, ptr %228, align 4, !tbaa !5
  %12289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12290 = load i32, ptr @test_count, align 4, !tbaa !5
  %12291 = load i32, ptr %174, align 4, !tbaa !5
  %12292 = call ptr @s2n_strerror(i32 noundef %12291, ptr noundef nonnull @.str.4) #12
  %12293 = load i32, ptr %174, align 4, !tbaa !5
  %12294 = call ptr @s2n_strerror_debug(i32 noundef %12293, ptr noundef nonnull @.str.4) #12
  %12295 = load i32, ptr %228, align 4, !tbaa !5
  %12296 = call ptr @strerror(i32 noundef %12295) #12
  %12297 = load i32, ptr %228, align 4, !tbaa !5
  %12298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12289, ptr noundef nonnull %.str.5.sink6294, i32 noundef %12290, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.1, i32 noundef 1201, ptr noundef %12292, ptr noundef %12294, ptr noundef %12296, i32 noundef %12297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12299:                                            ; preds = %12272
  %12300 = load i32, ptr @test_count, align 4, !tbaa !5
  %12301 = add nsw i32 %12300, 1
  store i32 %12301, ptr @test_count, align 4, !tbaa !5
  %12302 = load i32, ptr %174, align 4, !tbaa !5
  %12303 = icmp eq i32 %12302, 402653193
  br i1 %12303, label %12326, label %12304

12304:                                            ; preds = %12299
  %12305 = load i32, ptr %228, align 4, !tbaa !5
  %12306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12307 = call i32 @s2n_print_stacktrace(ptr noundef %12306) #12
  %12308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12309 = trunc nuw i8 %12308 to i1
  br i1 %12309, label %12310, label %12314

12310:                                            ; preds = %12304
  %12311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12312 = call i32 @fileno(ptr noundef %12311) #12
  %12313 = call i32 @isatty(i32 noundef %12312) #12
  %.not1931 = icmp eq i32 %12313, 0
  br i1 %.not1931, label %12314, label %12315

12314:                                            ; preds = %12310, %12304
  br label %12315

12315:                                            ; preds = %12310, %12314
  %.str.5.sink6303 = phi ptr [ @.str.5, %12314 ], [ @.str.2, %12310 ]
  store i32 %12305, ptr %228, align 4, !tbaa !5
  %12316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12317 = load i32, ptr @test_count, align 4, !tbaa !5
  %12318 = load i32, ptr %174, align 4, !tbaa !5
  %12319 = call ptr @s2n_strerror(i32 noundef %12318, ptr noundef nonnull @.str.4) #12
  %12320 = load i32, ptr %174, align 4, !tbaa !5
  %12321 = call ptr @s2n_strerror_debug(i32 noundef %12320, ptr noundef nonnull @.str.4) #12
  %12322 = load i32, ptr %228, align 4, !tbaa !5
  %12323 = call ptr @strerror(i32 noundef %12322) #12
  %12324 = load i32, ptr %228, align 4, !tbaa !5
  %12325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12316, ptr noundef nonnull %.str.5.sink6303, i32 noundef %12317, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1201, ptr noundef %12319, ptr noundef %12321, ptr noundef %12323, i32 noundef %12324) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12326:                                            ; preds = %12299
  %12327 = add nsw i32 %12300, 2
  store i32 %12327, ptr @test_count, align 4, !tbaa !5
  %12328 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %12329 = icmp eq ptr %12328, null
  br i1 %12329, label %12330, label %12352

12330:                                            ; preds = %12326
  %12331 = load i32, ptr %228, align 4, !tbaa !5
  %12332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12333 = call i32 @s2n_print_stacktrace(ptr noundef %12332) #12
  %12334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12335 = trunc nuw i8 %12334 to i1
  br i1 %12335, label %12336, label %12340

12336:                                            ; preds = %12330
  %12337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12338 = call i32 @fileno(ptr noundef %12337) #12
  %12339 = call i32 @isatty(i32 noundef %12338) #12
  %.not2050 = icmp eq i32 %12339, 0
  br i1 %.not2050, label %12340, label %12341

12340:                                            ; preds = %12336, %12330
  br label %12341

12341:                                            ; preds = %12336, %12340
  %.str.5.sink6312 = phi ptr [ @.str.5, %12340 ], [ @.str.2, %12336 ]
  store i32 %12331, ptr %228, align 4, !tbaa !5
  %12342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12343 = load i32, ptr @test_count, align 4, !tbaa !5
  %12344 = load i32, ptr %174, align 4, !tbaa !5
  %12345 = call ptr @s2n_strerror(i32 noundef %12344, ptr noundef nonnull @.str.4) #12
  %12346 = load i32, ptr %174, align 4, !tbaa !5
  %12347 = call ptr @s2n_strerror_debug(i32 noundef %12346, ptr noundef nonnull @.str.4) #12
  %12348 = load i32, ptr %228, align 4, !tbaa !5
  %12349 = call ptr @strerror(i32 noundef %12348) #12
  %12350 = load i32, ptr %228, align 4, !tbaa !5
  %12351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12342, ptr noundef nonnull %.str.5.sink6312, i32 noundef %12343, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1201, ptr noundef %12345, ptr noundef %12347, ptr noundef %12349, i32 noundef %12350) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12352:                                            ; preds = %12326
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %12353 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %12354 = load i32, ptr @test_count, align 4, !tbaa !5
  %12355 = add nsw i32 %12354, 1
  store i32 %12355, ptr @test_count, align 4, !tbaa !5
  %12356 = icmp eq ptr %12353, null
  br i1 %12356, label %12357, label %12379

12357:                                            ; preds = %12352
  %12358 = load i32, ptr %228, align 4, !tbaa !5
  %12359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12360 = call i32 @s2n_print_stacktrace(ptr noundef %12359) #12
  %12361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12362 = trunc nuw i8 %12361 to i1
  br i1 %12362, label %12363, label %12367

12363:                                            ; preds = %12357
  %12364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12365 = call i32 @fileno(ptr noundef %12364) #12
  %12366 = call i32 @isatty(i32 noundef %12365) #12
  %.not2049 = icmp eq i32 %12366, 0
  br i1 %.not2049, label %12367, label %12368

12367:                                            ; preds = %12363, %12357
  br label %12368

12368:                                            ; preds = %12363, %12367
  %.str.5.sink6321 = phi ptr [ @.str.5, %12367 ], [ @.str.2, %12363 ]
  store i32 %12358, ptr %228, align 4, !tbaa !5
  %12369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12370 = load i32, ptr @test_count, align 4, !tbaa !5
  %12371 = load i32, ptr %174, align 4, !tbaa !5
  %12372 = call ptr @s2n_strerror(i32 noundef %12371, ptr noundef nonnull @.str.4) #12
  %12373 = load i32, ptr %174, align 4, !tbaa !5
  %12374 = call ptr @s2n_strerror_debug(i32 noundef %12373, ptr noundef nonnull @.str.4) #12
  %12375 = load i32, ptr %228, align 4, !tbaa !5
  %12376 = call ptr @strerror(i32 noundef %12375) #12
  %12377 = load i32, ptr %228, align 4, !tbaa !5
  %12378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12369, ptr noundef nonnull %.str.5.sink6321, i32 noundef %12370, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.1, i32 noundef 1205, ptr noundef %12372, ptr noundef %12374, ptr noundef %12376, i32 noundef %12377) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12379:                                            ; preds = %12352
  %12380 = add nsw i32 %12354, 2
  store i32 %12380, ptr @test_count, align 4, !tbaa !5
  %12381 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %12353, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %12382 = call zeroext i1 @s2n_result_is_ok(i32 %12381)
  br i1 %12382, label %12405, label %12383

12383:                                            ; preds = %12379
  %12384 = load i32, ptr %228, align 4, !tbaa !5
  %12385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12386 = call i32 @s2n_print_stacktrace(ptr noundef %12385) #12
  %12387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12388 = trunc nuw i8 %12387 to i1
  br i1 %12388, label %12389, label %12393

12389:                                            ; preds = %12383
  %12390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12391 = call i32 @fileno(ptr noundef %12390) #12
  %12392 = call i32 @isatty(i32 noundef %12391) #12
  %.not1932 = icmp eq i32 %12392, 0
  br i1 %.not1932, label %12393, label %12394

12393:                                            ; preds = %12389, %12383
  br label %12394

12394:                                            ; preds = %12389, %12393
  %.str.5.sink6330 = phi ptr [ @.str.5, %12393 ], [ @.str.2, %12389 ]
  store i32 %12384, ptr %228, align 4, !tbaa !5
  %12395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12396 = load i32, ptr @test_count, align 4, !tbaa !5
  %12397 = load i32, ptr %174, align 4, !tbaa !5
  %12398 = call ptr @s2n_strerror(i32 noundef %12397, ptr noundef nonnull @.str.4) #12
  %12399 = load i32, ptr %174, align 4, !tbaa !5
  %12400 = call ptr @s2n_strerror_debug(i32 noundef %12399, ptr noundef nonnull @.str.4) #12
  %12401 = load i32, ptr %228, align 4, !tbaa !5
  %12402 = call ptr @strerror(i32 noundef %12401) #12
  %12403 = load i32, ptr %228, align 4, !tbaa !5
  %12404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12395, ptr noundef nonnull %.str.5.sink6330, i32 noundef %12396, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 1206, ptr noundef %12398, ptr noundef %12400, ptr noundef %12402, i32 noundef %12403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12405:                                            ; preds = %12379
  %12406 = load i32, ptr @test_count, align 4, !tbaa !5
  %12407 = add nsw i32 %12406, 1
  store i32 %12407, ptr @test_count, align 4, !tbaa !5
  %12408 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %12353) #12
  %12409 = icmp eq i32 %12408, -1
  br i1 %12409, label %12410, label %12432

12410:                                            ; preds = %12405
  %12411 = load i32, ptr %228, align 4, !tbaa !5
  %12412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12413 = call i32 @s2n_print_stacktrace(ptr noundef %12412) #12
  %12414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12415 = trunc nuw i8 %12414 to i1
  br i1 %12415, label %12416, label %12420

12416:                                            ; preds = %12410
  %12417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12418 = call i32 @fileno(ptr noundef %12417) #12
  %12419 = call i32 @isatty(i32 noundef %12418) #12
  %.not2048 = icmp eq i32 %12419, 0
  br i1 %.not2048, label %12420, label %12421

12420:                                            ; preds = %12416, %12410
  br label %12421

12421:                                            ; preds = %12416, %12420
  %.str.5.sink6339 = phi ptr [ @.str.5, %12420 ], [ @.str.2, %12416 ]
  store i32 %12411, ptr %228, align 4, !tbaa !5
  %12422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12423 = load i32, ptr @test_count, align 4, !tbaa !5
  %12424 = load i32, ptr %174, align 4, !tbaa !5
  %12425 = call ptr @s2n_strerror(i32 noundef %12424, ptr noundef nonnull @.str.4) #12
  %12426 = load i32, ptr %174, align 4, !tbaa !5
  %12427 = call ptr @s2n_strerror_debug(i32 noundef %12426, ptr noundef nonnull @.str.4) #12
  %12428 = load i32, ptr %228, align 4, !tbaa !5
  %12429 = call ptr @strerror(i32 noundef %12428) #12
  %12430 = load i32, ptr %228, align 4, !tbaa !5
  %12431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12422, ptr noundef nonnull %.str.5.sink6339, i32 noundef %12423, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.1, i32 noundef 1207, ptr noundef %12425, ptr noundef %12427, ptr noundef %12429, i32 noundef %12430) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12432:                                            ; preds = %12405
  %12433 = getelementptr inbounds i8, ptr %12353, i64 148
  store i32 1, ptr %12433, align 4, !tbaa !84
  %12434 = getelementptr inbounds i8, ptr %12353, i64 4088
  store i32 1, ptr %12434, align 8, !tbaa !15
  %12435 = getelementptr inbounds i8, ptr %12353, i64 2256
  store i64 0, ptr %12435, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %45) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %45, ptr noundef nonnull align 8 dereferenceable(4184) %12353, i64 4184, i1 false), !tbaa.struct !85
  %12436 = getelementptr inbounds i8, ptr %45, i64 148
  store i32 0, ptr %12436, align 4, !tbaa !84
  %12437 = load i32, ptr @test_count, align 4, !tbaa !5
  %12438 = add nsw i32 %12437, 1
  store i32 %12438, ptr @test_count, align 4, !tbaa !5
  %12439 = call i32 @s2n_early_data_validate_send(ptr noundef nonnull %45, i32 noundef 1) #12
  %12440 = call zeroext i1 @s2n_result_is_error(i32 %12439)
  br i1 %12440, label %12463, label %12441

12441:                                            ; preds = %12432
  %12442 = load i32, ptr %228, align 4, !tbaa !5
  %12443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12444 = call i32 @s2n_print_stacktrace(ptr noundef %12443) #12
  %12445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12446 = trunc nuw i8 %12445 to i1
  br i1 %12446, label %12447, label %12451

12447:                                            ; preds = %12441
  %12448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12449 = call i32 @fileno(ptr noundef %12448) #12
  %12450 = call i32 @isatty(i32 noundef %12449) #12
  %.not1933 = icmp eq i32 %12450, 0
  br i1 %.not1933, label %12451, label %12452

12451:                                            ; preds = %12447, %12441
  br label %12452

12452:                                            ; preds = %12447, %12451
  %.str.5.sink6348 = phi ptr [ @.str.5, %12451 ], [ @.str.2, %12447 ]
  store i32 %12442, ptr %228, align 4, !tbaa !5
  %12453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12454 = load i32, ptr @test_count, align 4, !tbaa !5
  %12455 = load i32, ptr %174, align 4, !tbaa !5
  %12456 = call ptr @s2n_strerror(i32 noundef %12455, ptr noundef nonnull @.str.4) #12
  %12457 = load i32, ptr %174, align 4, !tbaa !5
  %12458 = call ptr @s2n_strerror_debug(i32 noundef %12457, ptr noundef nonnull @.str.4) #12
  %12459 = load i32, ptr %228, align 4, !tbaa !5
  %12460 = call ptr @strerror(i32 noundef %12459) #12
  %12461 = load i32, ptr %228, align 4, !tbaa !5
  %12462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12453, ptr noundef nonnull %.str.5.sink6348, i32 noundef %12454, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.1, i32 noundef 1215, ptr noundef %12456, ptr noundef %12458, ptr noundef %12460, i32 noundef %12461) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12463:                                            ; preds = %12432
  %12464 = load i32, ptr @test_count, align 4, !tbaa !5
  %12465 = add nsw i32 %12464, 1
  store i32 %12465, ptr @test_count, align 4, !tbaa !5
  %12466 = load i32, ptr %174, align 4, !tbaa !5
  %12467 = icmp eq i32 %12466, 469762113
  br i1 %12467, label %12490, label %12468

12468:                                            ; preds = %12463
  %12469 = load i32, ptr %228, align 4, !tbaa !5
  %12470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12471 = call i32 @s2n_print_stacktrace(ptr noundef %12470) #12
  %12472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12473 = trunc nuw i8 %12472 to i1
  br i1 %12473, label %12474, label %12478

12474:                                            ; preds = %12468
  %12475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12476 = call i32 @fileno(ptr noundef %12475) #12
  %12477 = call i32 @isatty(i32 noundef %12476) #12
  %.not1934 = icmp eq i32 %12477, 0
  br i1 %.not1934, label %12478, label %12479

12478:                                            ; preds = %12474, %12468
  br label %12479

12479:                                            ; preds = %12474, %12478
  %.str.5.sink6357 = phi ptr [ @.str.5, %12478 ], [ @.str.2, %12474 ]
  store i32 %12469, ptr %228, align 4, !tbaa !5
  %12480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12481 = load i32, ptr @test_count, align 4, !tbaa !5
  %12482 = load i32, ptr %174, align 4, !tbaa !5
  %12483 = call ptr @s2n_strerror(i32 noundef %12482, ptr noundef nonnull @.str.4) #12
  %12484 = load i32, ptr %174, align 4, !tbaa !5
  %12485 = call ptr @s2n_strerror_debug(i32 noundef %12484, ptr noundef nonnull @.str.4) #12
  %12486 = load i32, ptr %228, align 4, !tbaa !5
  %12487 = call ptr @strerror(i32 noundef %12486) #12
  %12488 = load i32, ptr %228, align 4, !tbaa !5
  %12489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12480, ptr noundef nonnull %.str.5.sink6357, i32 noundef %12481, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1215, ptr noundef %12483, ptr noundef %12485, ptr noundef %12487, i32 noundef %12488) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12490:                                            ; preds = %12463
  %12491 = add nsw i32 %12464, 2
  store i32 %12491, ptr @test_count, align 4, !tbaa !5
  %12492 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %12493 = icmp eq ptr %12492, null
  br i1 %12493, label %12494, label %12516

12494:                                            ; preds = %12490
  %12495 = load i32, ptr %228, align 4, !tbaa !5
  %12496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12497 = call i32 @s2n_print_stacktrace(ptr noundef %12496) #12
  %12498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12499 = trunc nuw i8 %12498 to i1
  br i1 %12499, label %12500, label %12504

12500:                                            ; preds = %12494
  %12501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12502 = call i32 @fileno(ptr noundef %12501) #12
  %12503 = call i32 @isatty(i32 noundef %12502) #12
  %.not2047 = icmp eq i32 %12503, 0
  br i1 %.not2047, label %12504, label %12505

12504:                                            ; preds = %12500, %12494
  br label %12505

12505:                                            ; preds = %12500, %12504
  %.str.5.sink6366 = phi ptr [ @.str.5, %12504 ], [ @.str.2, %12500 ]
  store i32 %12495, ptr %228, align 4, !tbaa !5
  %12506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12507 = load i32, ptr @test_count, align 4, !tbaa !5
  %12508 = load i32, ptr %174, align 4, !tbaa !5
  %12509 = call ptr @s2n_strerror(i32 noundef %12508, ptr noundef nonnull @.str.4) #12
  %12510 = load i32, ptr %174, align 4, !tbaa !5
  %12511 = call ptr @s2n_strerror_debug(i32 noundef %12510, ptr noundef nonnull @.str.4) #12
  %12512 = load i32, ptr %228, align 4, !tbaa !5
  %12513 = call ptr @strerror(i32 noundef %12512) #12
  %12514 = load i32, ptr %228, align 4, !tbaa !5
  %12515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12506, ptr noundef nonnull %.str.5.sink6366, i32 noundef %12507, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1215, ptr noundef %12509, ptr noundef %12511, ptr noundef %12513, i32 noundef %12514) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12516:                                            ; preds = %12490
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %45, ptr noundef nonnull align 8 dereferenceable(4184) %12353, i64 4184, i1 false), !tbaa.struct !85
  %12517 = getelementptr inbounds i8, ptr %45, i64 4088
  store i32 5, ptr %12517, align 8, !tbaa !15
  %12518 = load i32, ptr @test_count, align 4, !tbaa !5
  %12519 = add nsw i32 %12518, 1
  store i32 %12519, ptr @test_count, align 4, !tbaa !5
  %12520 = call i32 @s2n_early_data_validate_send(ptr noundef nonnull %45, i32 noundef 1) #12
  %12521 = call zeroext i1 @s2n_result_is_error(i32 %12520)
  br i1 %12521, label %12544, label %12522

12522:                                            ; preds = %12516
  %12523 = load i32, ptr %228, align 4, !tbaa !5
  %12524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12525 = call i32 @s2n_print_stacktrace(ptr noundef %12524) #12
  %12526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12527 = trunc nuw i8 %12526 to i1
  br i1 %12527, label %12528, label %12532

12528:                                            ; preds = %12522
  %12529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12530 = call i32 @fileno(ptr noundef %12529) #12
  %12531 = call i32 @isatty(i32 noundef %12530) #12
  %.not1935 = icmp eq i32 %12531, 0
  br i1 %.not1935, label %12532, label %12533

12532:                                            ; preds = %12528, %12522
  br label %12533

12533:                                            ; preds = %12528, %12532
  %.str.5.sink6375 = phi ptr [ @.str.5, %12532 ], [ @.str.2, %12528 ]
  store i32 %12523, ptr %228, align 4, !tbaa !5
  %12534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12535 = load i32, ptr @test_count, align 4, !tbaa !5
  %12536 = load i32, ptr %174, align 4, !tbaa !5
  %12537 = call ptr @s2n_strerror(i32 noundef %12536, ptr noundef nonnull @.str.4) #12
  %12538 = load i32, ptr %174, align 4, !tbaa !5
  %12539 = call ptr @s2n_strerror_debug(i32 noundef %12538, ptr noundef nonnull @.str.4) #12
  %12540 = load i32, ptr %228, align 4, !tbaa !5
  %12541 = call ptr @strerror(i32 noundef %12540) #12
  %12542 = load i32, ptr %228, align 4, !tbaa !5
  %12543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12534, ptr noundef nonnull %.str.5.sink6375, i32 noundef %12535, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.1, i32 noundef 1220, ptr noundef %12537, ptr noundef %12539, ptr noundef %12541, i32 noundef %12542) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12544:                                            ; preds = %12516
  %12545 = load i32, ptr @test_count, align 4, !tbaa !5
  %12546 = add nsw i32 %12545, 1
  store i32 %12546, ptr @test_count, align 4, !tbaa !5
  %12547 = load i32, ptr %174, align 4, !tbaa !5
  %12548 = icmp eq i32 %12547, 469762113
  br i1 %12548, label %12571, label %12549

12549:                                            ; preds = %12544
  %12550 = load i32, ptr %228, align 4, !tbaa !5
  %12551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12552 = call i32 @s2n_print_stacktrace(ptr noundef %12551) #12
  %12553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12554 = trunc nuw i8 %12553 to i1
  br i1 %12554, label %12555, label %12559

12555:                                            ; preds = %12549
  %12556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12557 = call i32 @fileno(ptr noundef %12556) #12
  %12558 = call i32 @isatty(i32 noundef %12557) #12
  %.not1936 = icmp eq i32 %12558, 0
  br i1 %.not1936, label %12559, label %12560

12559:                                            ; preds = %12555, %12549
  br label %12560

12560:                                            ; preds = %12555, %12559
  %.str.5.sink6384 = phi ptr [ @.str.5, %12559 ], [ @.str.2, %12555 ]
  store i32 %12550, ptr %228, align 4, !tbaa !5
  %12561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12562 = load i32, ptr @test_count, align 4, !tbaa !5
  %12563 = load i32, ptr %174, align 4, !tbaa !5
  %12564 = call ptr @s2n_strerror(i32 noundef %12563, ptr noundef nonnull @.str.4) #12
  %12565 = load i32, ptr %174, align 4, !tbaa !5
  %12566 = call ptr @s2n_strerror_debug(i32 noundef %12565, ptr noundef nonnull @.str.4) #12
  %12567 = load i32, ptr %228, align 4, !tbaa !5
  %12568 = call ptr @strerror(i32 noundef %12567) #12
  %12569 = load i32, ptr %228, align 4, !tbaa !5
  %12570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12561, ptr noundef nonnull %.str.5.sink6384, i32 noundef %12562, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1220, ptr noundef %12564, ptr noundef %12566, ptr noundef %12568, i32 noundef %12569) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12571:                                            ; preds = %12544
  %12572 = add nsw i32 %12545, 2
  store i32 %12572, ptr @test_count, align 4, !tbaa !5
  %12573 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %12574 = icmp eq ptr %12573, null
  br i1 %12574, label %12575, label %12597

12575:                                            ; preds = %12571
  %12576 = load i32, ptr %228, align 4, !tbaa !5
  %12577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12578 = call i32 @s2n_print_stacktrace(ptr noundef %12577) #12
  %12579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12580 = trunc nuw i8 %12579 to i1
  br i1 %12580, label %12581, label %12585

12581:                                            ; preds = %12575
  %12582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12583 = call i32 @fileno(ptr noundef %12582) #12
  %12584 = call i32 @isatty(i32 noundef %12583) #12
  %.not2046 = icmp eq i32 %12584, 0
  br i1 %.not2046, label %12585, label %12586

12585:                                            ; preds = %12581, %12575
  br label %12586

12586:                                            ; preds = %12581, %12585
  %.str.5.sink6393 = phi ptr [ @.str.5, %12585 ], [ @.str.2, %12581 ]
  store i32 %12576, ptr %228, align 4, !tbaa !5
  %12587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12588 = load i32, ptr @test_count, align 4, !tbaa !5
  %12589 = load i32, ptr %174, align 4, !tbaa !5
  %12590 = call ptr @s2n_strerror(i32 noundef %12589, ptr noundef nonnull @.str.4) #12
  %12591 = load i32, ptr %174, align 4, !tbaa !5
  %12592 = call ptr @s2n_strerror_debug(i32 noundef %12591, ptr noundef nonnull @.str.4) #12
  %12593 = load i32, ptr %228, align 4, !tbaa !5
  %12594 = call ptr @strerror(i32 noundef %12593) #12
  %12595 = load i32, ptr %228, align 4, !tbaa !5
  %12596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12587, ptr noundef nonnull %.str.5.sink6393, i32 noundef %12588, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1220, ptr noundef %12590, ptr noundef %12592, ptr noundef %12594, i32 noundef %12595) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12597:                                            ; preds = %12571
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %45, ptr noundef nonnull align 8 dereferenceable(4184) %12353, i64 4184, i1 false), !tbaa.struct !85
  store i32 1, ptr %12517, align 8, !tbaa !15
  %12598 = load i32, ptr @test_count, align 4, !tbaa !5
  %12599 = add nsw i32 %12598, 1
  store i32 %12599, ptr @test_count, align 4, !tbaa !5
  %12600 = call i32 @s2n_early_data_validate_send(ptr noundef nonnull %45, i32 noundef 1) #12
  %12601 = call zeroext i1 @s2n_result_is_ok(i32 %12600)
  br i1 %12601, label %12624, label %12602

12602:                                            ; preds = %12597
  %12603 = load i32, ptr %228, align 4, !tbaa !5
  %12604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12605 = call i32 @s2n_print_stacktrace(ptr noundef %12604) #12
  %12606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12607 = trunc nuw i8 %12606 to i1
  br i1 %12607, label %12608, label %12612

12608:                                            ; preds = %12602
  %12609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12610 = call i32 @fileno(ptr noundef %12609) #12
  %12611 = call i32 @isatty(i32 noundef %12610) #12
  %.not1937 = icmp eq i32 %12611, 0
  br i1 %.not1937, label %12612, label %12613

12612:                                            ; preds = %12608, %12602
  br label %12613

12613:                                            ; preds = %12608, %12612
  %.str.5.sink6402 = phi ptr [ @.str.5, %12612 ], [ @.str.2, %12608 ]
  store i32 %12603, ptr %228, align 4, !tbaa !5
  %12614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12615 = load i32, ptr @test_count, align 4, !tbaa !5
  %12616 = load i32, ptr %174, align 4, !tbaa !5
  %12617 = call ptr @s2n_strerror(i32 noundef %12616, ptr noundef nonnull @.str.4) #12
  %12618 = load i32, ptr %174, align 4, !tbaa !5
  %12619 = call ptr @s2n_strerror_debug(i32 noundef %12618, ptr noundef nonnull @.str.4) #12
  %12620 = load i32, ptr %228, align 4, !tbaa !5
  %12621 = call ptr @strerror(i32 noundef %12620) #12
  %12622 = load i32, ptr %228, align 4, !tbaa !5
  %12623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12614, ptr noundef nonnull %.str.5.sink6402, i32 noundef %12615, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.1, i32 noundef 1225, ptr noundef %12617, ptr noundef %12619, ptr noundef %12621, i32 noundef %12622) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12624:                                            ; preds = %12597
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %45, ptr noundef nonnull align 8 dereferenceable(4184) %12353, i64 4184, i1 false), !tbaa.struct !85
  store i32 3, ptr %12517, align 8, !tbaa !15
  %12625 = load i32, ptr @test_count, align 4, !tbaa !5
  %12626 = add nsw i32 %12625, 1
  store i32 %12626, ptr @test_count, align 4, !tbaa !5
  %12627 = call i32 @s2n_early_data_validate_send(ptr noundef nonnull %45, i32 noundef 1) #12
  %12628 = call zeroext i1 @s2n_result_is_ok(i32 %12627)
  br i1 %12628, label %12651, label %12629

12629:                                            ; preds = %12624
  %12630 = load i32, ptr %228, align 4, !tbaa !5
  %12631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12632 = call i32 @s2n_print_stacktrace(ptr noundef %12631) #12
  %12633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12634 = trunc nuw i8 %12633 to i1
  br i1 %12634, label %12635, label %12639

12635:                                            ; preds = %12629
  %12636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12637 = call i32 @fileno(ptr noundef %12636) #12
  %12638 = call i32 @isatty(i32 noundef %12637) #12
  %.not1938 = icmp eq i32 %12638, 0
  br i1 %.not1938, label %12639, label %12640

12639:                                            ; preds = %12635, %12629
  br label %12640

12640:                                            ; preds = %12635, %12639
  %.str.5.sink6411 = phi ptr [ @.str.5, %12639 ], [ @.str.2, %12635 ]
  store i32 %12630, ptr %228, align 4, !tbaa !5
  %12641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12642 = load i32, ptr @test_count, align 4, !tbaa !5
  %12643 = load i32, ptr %174, align 4, !tbaa !5
  %12644 = call ptr @s2n_strerror(i32 noundef %12643, ptr noundef nonnull @.str.4) #12
  %12645 = load i32, ptr %174, align 4, !tbaa !5
  %12646 = call ptr @s2n_strerror_debug(i32 noundef %12645, ptr noundef nonnull @.str.4) #12
  %12647 = load i32, ptr %228, align 4, !tbaa !5
  %12648 = call ptr @strerror(i32 noundef %12647) #12
  %12649 = load i32, ptr %228, align 4, !tbaa !5
  %12650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12641, ptr noundef nonnull %.str.5.sink6411, i32 noundef %12642, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.1, i32 noundef 1230, ptr noundef %12644, ptr noundef %12646, ptr noundef %12648, i32 noundef %12649) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12651:                                            ; preds = %12624
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %45, ptr noundef nonnull align 8 dereferenceable(4184) %12353, i64 4184, i1 false), !tbaa.struct !85
  %12652 = getelementptr inbounds i8, ptr %45, i64 2256
  store i64 10, ptr %12652, align 8, !tbaa !72
  %12653 = load i32, ptr @test_count, align 4, !tbaa !5
  %12654 = add nsw i32 %12653, 1
  store i32 %12654, ptr @test_count, align 4, !tbaa !5
  %12655 = call i32 @s2n_early_data_validate_send(ptr noundef nonnull %45, i32 noundef 1) #12
  %12656 = call zeroext i1 @s2n_result_is_error(i32 %12655)
  br i1 %12656, label %12679, label %12657

12657:                                            ; preds = %12651
  %12658 = load i32, ptr %228, align 4, !tbaa !5
  %12659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12660 = call i32 @s2n_print_stacktrace(ptr noundef %12659) #12
  %12661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12662 = trunc nuw i8 %12661 to i1
  br i1 %12662, label %12663, label %12667

12663:                                            ; preds = %12657
  %12664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12665 = call i32 @fileno(ptr noundef %12664) #12
  %12666 = call i32 @isatty(i32 noundef %12665) #12
  %.not1939 = icmp eq i32 %12666, 0
  br i1 %.not1939, label %12667, label %12668

12667:                                            ; preds = %12663, %12657
  br label %12668

12668:                                            ; preds = %12663, %12667
  %.str.5.sink6420 = phi ptr [ @.str.5, %12667 ], [ @.str.2, %12663 ]
  store i32 %12658, ptr %228, align 4, !tbaa !5
  %12669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12670 = load i32, ptr @test_count, align 4, !tbaa !5
  %12671 = load i32, ptr %174, align 4, !tbaa !5
  %12672 = call ptr @s2n_strerror(i32 noundef %12671, ptr noundef nonnull @.str.4) #12
  %12673 = load i32, ptr %174, align 4, !tbaa !5
  %12674 = call ptr @s2n_strerror_debug(i32 noundef %12673, ptr noundef nonnull @.str.4) #12
  %12675 = load i32, ptr %228, align 4, !tbaa !5
  %12676 = call ptr @strerror(i32 noundef %12675) #12
  %12677 = load i32, ptr %228, align 4, !tbaa !5
  %12678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12669, ptr noundef nonnull %.str.5.sink6420, i32 noundef %12670, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.1, i32 noundef 1235, ptr noundef %12672, ptr noundef %12674, ptr noundef %12676, i32 noundef %12677) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12679:                                            ; preds = %12651
  %12680 = load i32, ptr @test_count, align 4, !tbaa !5
  %12681 = add nsw i32 %12680, 1
  store i32 %12681, ptr @test_count, align 4, !tbaa !5
  %12682 = load i32, ptr %174, align 4, !tbaa !5
  %12683 = icmp eq i32 %12682, 335544396
  br i1 %12683, label %12706, label %12684

12684:                                            ; preds = %12679
  %12685 = load i32, ptr %228, align 4, !tbaa !5
  %12686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12687 = call i32 @s2n_print_stacktrace(ptr noundef %12686) #12
  %12688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12689 = trunc nuw i8 %12688 to i1
  br i1 %12689, label %12690, label %12694

12690:                                            ; preds = %12684
  %12691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12692 = call i32 @fileno(ptr noundef %12691) #12
  %12693 = call i32 @isatty(i32 noundef %12692) #12
  %.not1940 = icmp eq i32 %12693, 0
  br i1 %.not1940, label %12694, label %12695

12694:                                            ; preds = %12690, %12684
  br label %12695

12695:                                            ; preds = %12690, %12694
  %.str.5.sink6429 = phi ptr [ @.str.5, %12694 ], [ @.str.2, %12690 ]
  store i32 %12685, ptr %228, align 4, !tbaa !5
  %12696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12697 = load i32, ptr @test_count, align 4, !tbaa !5
  %12698 = load i32, ptr %174, align 4, !tbaa !5
  %12699 = call ptr @s2n_strerror(i32 noundef %12698, ptr noundef nonnull @.str.4) #12
  %12700 = load i32, ptr %174, align 4, !tbaa !5
  %12701 = call ptr @s2n_strerror_debug(i32 noundef %12700, ptr noundef nonnull @.str.4) #12
  %12702 = load i32, ptr %228, align 4, !tbaa !5
  %12703 = call ptr @strerror(i32 noundef %12702) #12
  %12704 = load i32, ptr %228, align 4, !tbaa !5
  %12705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12696, ptr noundef nonnull %.str.5.sink6429, i32 noundef %12697, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 1235, ptr noundef %12699, ptr noundef %12701, ptr noundef %12703, i32 noundef %12704) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12706:                                            ; preds = %12679
  %12707 = add nsw i32 %12680, 2
  store i32 %12707, ptr @test_count, align 4, !tbaa !5
  %12708 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %12709 = icmp eq ptr %12708, null
  br i1 %12709, label %12710, label %12732

12710:                                            ; preds = %12706
  %12711 = load i32, ptr %228, align 4, !tbaa !5
  %12712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12713 = call i32 @s2n_print_stacktrace(ptr noundef %12712) #12
  %12714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12715 = trunc nuw i8 %12714 to i1
  br i1 %12715, label %12716, label %12720

12716:                                            ; preds = %12710
  %12717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12718 = call i32 @fileno(ptr noundef %12717) #12
  %12719 = call i32 @isatty(i32 noundef %12718) #12
  %.not2045 = icmp eq i32 %12719, 0
  br i1 %.not2045, label %12720, label %12721

12720:                                            ; preds = %12716, %12710
  br label %12721

12721:                                            ; preds = %12716, %12720
  %.str.5.sink6438 = phi ptr [ @.str.5, %12720 ], [ @.str.2, %12716 ]
  store i32 %12711, ptr %228, align 4, !tbaa !5
  %12722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12723 = load i32, ptr @test_count, align 4, !tbaa !5
  %12724 = load i32, ptr %174, align 4, !tbaa !5
  %12725 = call ptr @s2n_strerror(i32 noundef %12724, ptr noundef nonnull @.str.4) #12
  %12726 = load i32, ptr %174, align 4, !tbaa !5
  %12727 = call ptr @s2n_strerror_debug(i32 noundef %12726, ptr noundef nonnull @.str.4) #12
  %12728 = load i32, ptr %228, align 4, !tbaa !5
  %12729 = call ptr @strerror(i32 noundef %12728) #12
  %12730 = load i32, ptr %228, align 4, !tbaa !5
  %12731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12722, ptr noundef nonnull %.str.5.sink6438, i32 noundef %12723, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1235, ptr noundef %12725, ptr noundef %12727, ptr noundef %12729, i32 noundef %12730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12732:                                            ; preds = %12706
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %45, ptr noundef nonnull align 8 dereferenceable(4184) %12353, i64 4184, i1 false), !tbaa.struct !85
  store i64 10, ptr %12652, align 8, !tbaa !72
  %12733 = getelementptr inbounds i8, ptr %45, i64 2172
  store i32 1, ptr %12733, align 4, !tbaa !74
  %12734 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %45) #12
  %.not19412264 = icmp eq i32 %12734, 20
  br i1 %.not19412264, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %12732
  %12735 = getelementptr inbounds i8, ptr %45, i64 2176
  br label %12736

12736:                                            ; preds = %.lr.ph, %12736
  %12737 = load i32, ptr %12735, align 8, !tbaa !88
  %12738 = add nsw i32 %12737, 1
  store i32 %12738, ptr %12735, align 8, !tbaa !88
  %12739 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %45) #12
  %.not1941 = icmp eq i32 %12739, 20
  br i1 %.not1941, label %._crit_edge, label %12736, !llvm.loop !89

._crit_edge:                                      ; preds = %12736, %12732
  %12740 = load i32, ptr @test_count, align 4, !tbaa !5
  %12741 = add nsw i32 %12740, 1
  store i32 %12741, ptr @test_count, align 4, !tbaa !5
  %12742 = call i32 @s2n_early_data_validate_send(ptr noundef nonnull %45, i32 noundef 1) #12
  %12743 = call zeroext i1 @s2n_result_is_ok(i32 %12742)
  br i1 %12743, label %12766, label %12744

12744:                                            ; preds = %._crit_edge
  %12745 = load i32, ptr %228, align 4, !tbaa !5
  %12746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12747 = call i32 @s2n_print_stacktrace(ptr noundef %12746) #12
  %12748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12749 = trunc nuw i8 %12748 to i1
  br i1 %12749, label %12750, label %12754

12750:                                            ; preds = %12744
  %12751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12752 = call i32 @fileno(ptr noundef %12751) #12
  %12753 = call i32 @isatty(i32 noundef %12752) #12
  %.not1942 = icmp eq i32 %12753, 0
  br i1 %.not1942, label %12754, label %12755

12754:                                            ; preds = %12750, %12744
  br label %12755

12755:                                            ; preds = %12750, %12754
  %.str.5.sink6447 = phi ptr [ @.str.5, %12754 ], [ @.str.2, %12750 ]
  store i32 %12745, ptr %228, align 4, !tbaa !5
  %12756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12757 = load i32, ptr @test_count, align 4, !tbaa !5
  %12758 = load i32, ptr %174, align 4, !tbaa !5
  %12759 = call ptr @s2n_strerror(i32 noundef %12758, ptr noundef nonnull @.str.4) #12
  %12760 = load i32, ptr %174, align 4, !tbaa !5
  %12761 = call ptr @s2n_strerror_debug(i32 noundef %12760, ptr noundef nonnull @.str.4) #12
  %12762 = load i32, ptr %228, align 4, !tbaa !5
  %12763 = call ptr @strerror(i32 noundef %12762) #12
  %12764 = load i32, ptr %228, align 4, !tbaa !5
  %12765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12756, ptr noundef nonnull %.str.5.sink6447, i32 noundef %12757, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.1, i32 noundef 1244, ptr noundef %12759, ptr noundef %12761, ptr noundef %12763, i32 noundef %12764) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12766:                                            ; preds = %._crit_edge
  %12767 = load i32, ptr @test_count, align 4, !tbaa !5
  %12768 = add nsw i32 %12767, 1
  store i32 %12768, ptr @test_count, align 4, !tbaa !5
  %12769 = call i32 @s2n_connection_free(ptr noundef nonnull %12353) #12
  %12770 = icmp eq i32 %12769, -1
  br i1 %12770, label %12771, label %12793

12771:                                            ; preds = %12766
  %12772 = load i32, ptr %228, align 4, !tbaa !5
  %12773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12774 = call i32 @s2n_print_stacktrace(ptr noundef %12773) #12
  %12775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12776 = trunc nuw i8 %12775 to i1
  br i1 %12776, label %12777, label %12781

12777:                                            ; preds = %12771
  %12778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12779 = call i32 @fileno(ptr noundef %12778) #12
  %12780 = call i32 @isatty(i32 noundef %12779) #12
  %.not2044 = icmp eq i32 %12780, 0
  br i1 %.not2044, label %12781, label %12782

12781:                                            ; preds = %12777, %12771
  br label %12782

12782:                                            ; preds = %12777, %12781
  %.str.5.sink6456 = phi ptr [ @.str.5, %12781 ], [ @.str.2, %12777 ]
  store i32 %12772, ptr %228, align 4, !tbaa !5
  %12783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12784 = load i32, ptr @test_count, align 4, !tbaa !5
  %12785 = load i32, ptr %174, align 4, !tbaa !5
  %12786 = call ptr @s2n_strerror(i32 noundef %12785, ptr noundef nonnull @.str.4) #12
  %12787 = load i32, ptr %174, align 4, !tbaa !5
  %12788 = call ptr @s2n_strerror_debug(i32 noundef %12787, ptr noundef nonnull @.str.4) #12
  %12789 = load i32, ptr %228, align 4, !tbaa !5
  %12790 = call ptr @strerror(i32 noundef %12789) #12
  %12791 = load i32, ptr %228, align 4, !tbaa !5
  %12792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12783, ptr noundef nonnull %.str.5.sink6456, i32 noundef %12784, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.1, i32 noundef 1246, ptr noundef %12786, ptr noundef %12788, ptr noundef %12790, i32 noundef %12791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12793:                                            ; preds = %12766
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %45) #12
  %12794 = load i32, ptr @test_count, align 4, !tbaa !5
  %12795 = add nsw i32 %12794, 1
  store i32 %12795, ptr @test_count, align 4, !tbaa !5
  %12796 = call i32 @s2n_early_data_validate_recv(ptr noundef null) #12
  %12797 = call zeroext i1 @s2n_result_is_error(i32 %12796)
  br i1 %12797, label %12820, label %12798

12798:                                            ; preds = %12793
  %12799 = load i32, ptr %228, align 4, !tbaa !5
  %12800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12801 = call i32 @s2n_print_stacktrace(ptr noundef %12800) #12
  %12802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12803 = trunc nuw i8 %12802 to i1
  br i1 %12803, label %12804, label %12808

12804:                                            ; preds = %12798
  %12805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12806 = call i32 @fileno(ptr noundef %12805) #12
  %12807 = call i32 @isatty(i32 noundef %12806) #12
  %.not1943 = icmp eq i32 %12807, 0
  br i1 %.not1943, label %12808, label %12809

12808:                                            ; preds = %12804, %12798
  br label %12809

12809:                                            ; preds = %12804, %12808
  %.str.5.sink6465 = phi ptr [ @.str.5, %12808 ], [ @.str.2, %12804 ]
  store i32 %12799, ptr %228, align 4, !tbaa !5
  %12810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12811 = load i32, ptr @test_count, align 4, !tbaa !5
  %12812 = load i32, ptr %174, align 4, !tbaa !5
  %12813 = call ptr @s2n_strerror(i32 noundef %12812, ptr noundef nonnull @.str.4) #12
  %12814 = load i32, ptr %174, align 4, !tbaa !5
  %12815 = call ptr @s2n_strerror_debug(i32 noundef %12814, ptr noundef nonnull @.str.4) #12
  %12816 = load i32, ptr %228, align 4, !tbaa !5
  %12817 = call ptr @strerror(i32 noundef %12816) #12
  %12818 = load i32, ptr %228, align 4, !tbaa !5
  %12819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12810, ptr noundef nonnull %.str.5.sink6465, i32 noundef %12811, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.1, i32 noundef 1252, ptr noundef %12813, ptr noundef %12815, ptr noundef %12817, i32 noundef %12818) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12820:                                            ; preds = %12793
  %12821 = load i32, ptr @test_count, align 4, !tbaa !5
  %12822 = add nsw i32 %12821, 1
  store i32 %12822, ptr @test_count, align 4, !tbaa !5
  %12823 = load i32, ptr %174, align 4, !tbaa !5
  %12824 = icmp eq i32 %12823, 402653193
  br i1 %12824, label %12847, label %12825

12825:                                            ; preds = %12820
  %12826 = load i32, ptr %228, align 4, !tbaa !5
  %12827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12828 = call i32 @s2n_print_stacktrace(ptr noundef %12827) #12
  %12829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12830 = trunc nuw i8 %12829 to i1
  br i1 %12830, label %12831, label %12835

12831:                                            ; preds = %12825
  %12832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12833 = call i32 @fileno(ptr noundef %12832) #12
  %12834 = call i32 @isatty(i32 noundef %12833) #12
  %.not1944 = icmp eq i32 %12834, 0
  br i1 %.not1944, label %12835, label %12836

12835:                                            ; preds = %12831, %12825
  br label %12836

12836:                                            ; preds = %12831, %12835
  %.str.5.sink6474 = phi ptr [ @.str.5, %12835 ], [ @.str.2, %12831 ]
  store i32 %12826, ptr %228, align 4, !tbaa !5
  %12837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12838 = load i32, ptr @test_count, align 4, !tbaa !5
  %12839 = load i32, ptr %174, align 4, !tbaa !5
  %12840 = call ptr @s2n_strerror(i32 noundef %12839, ptr noundef nonnull @.str.4) #12
  %12841 = load i32, ptr %174, align 4, !tbaa !5
  %12842 = call ptr @s2n_strerror_debug(i32 noundef %12841, ptr noundef nonnull @.str.4) #12
  %12843 = load i32, ptr %228, align 4, !tbaa !5
  %12844 = call ptr @strerror(i32 noundef %12843) #12
  %12845 = load i32, ptr %228, align 4, !tbaa !5
  %12846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12837, ptr noundef nonnull %.str.5.sink6474, i32 noundef %12838, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1252, ptr noundef %12840, ptr noundef %12842, ptr noundef %12844, i32 noundef %12845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12847:                                            ; preds = %12820
  %12848 = add nsw i32 %12821, 2
  store i32 %12848, ptr @test_count, align 4, !tbaa !5
  %12849 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %12850 = icmp eq ptr %12849, null
  br i1 %12850, label %12851, label %12873

12851:                                            ; preds = %12847
  %12852 = load i32, ptr %228, align 4, !tbaa !5
  %12853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12854 = call i32 @s2n_print_stacktrace(ptr noundef %12853) #12
  %12855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12856 = trunc nuw i8 %12855 to i1
  br i1 %12856, label %12857, label %12861

12857:                                            ; preds = %12851
  %12858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12859 = call i32 @fileno(ptr noundef %12858) #12
  %12860 = call i32 @isatty(i32 noundef %12859) #12
  %.not2043 = icmp eq i32 %12860, 0
  br i1 %.not2043, label %12861, label %12862

12861:                                            ; preds = %12857, %12851
  br label %12862

12862:                                            ; preds = %12857, %12861
  %.str.5.sink6483 = phi ptr [ @.str.5, %12861 ], [ @.str.2, %12857 ]
  store i32 %12852, ptr %228, align 4, !tbaa !5
  %12863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12864 = load i32, ptr @test_count, align 4, !tbaa !5
  %12865 = load i32, ptr %174, align 4, !tbaa !5
  %12866 = call ptr @s2n_strerror(i32 noundef %12865, ptr noundef nonnull @.str.4) #12
  %12867 = load i32, ptr %174, align 4, !tbaa !5
  %12868 = call ptr @s2n_strerror_debug(i32 noundef %12867, ptr noundef nonnull @.str.4) #12
  %12869 = load i32, ptr %228, align 4, !tbaa !5
  %12870 = call ptr @strerror(i32 noundef %12869) #12
  %12871 = load i32, ptr %228, align 4, !tbaa !5
  %12872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12863, ptr noundef nonnull %.str.5.sink6483, i32 noundef %12864, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1252, ptr noundef %12866, ptr noundef %12868, ptr noundef %12870, i32 noundef %12871) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12873:                                            ; preds = %12847
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %12874 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %12875 = load i32, ptr @test_count, align 4, !tbaa !5
  %12876 = add nsw i32 %12875, 1
  store i32 %12876, ptr @test_count, align 4, !tbaa !5
  %12877 = icmp eq ptr %12874, null
  br i1 %12877, label %12878, label %12900

12878:                                            ; preds = %12873
  %12879 = load i32, ptr %228, align 4, !tbaa !5
  %12880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12881 = call i32 @s2n_print_stacktrace(ptr noundef %12880) #12
  %12882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12883 = trunc nuw i8 %12882 to i1
  br i1 %12883, label %12884, label %12888

12884:                                            ; preds = %12878
  %12885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12886 = call i32 @fileno(ptr noundef %12885) #12
  %12887 = call i32 @isatty(i32 noundef %12886) #12
  %.not2042 = icmp eq i32 %12887, 0
  br i1 %.not2042, label %12888, label %12889

12888:                                            ; preds = %12884, %12878
  br label %12889

12889:                                            ; preds = %12884, %12888
  %.str.5.sink6492 = phi ptr [ @.str.5, %12888 ], [ @.str.2, %12884 ]
  store i32 %12879, ptr %228, align 4, !tbaa !5
  %12890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12891 = load i32, ptr @test_count, align 4, !tbaa !5
  %12892 = load i32, ptr %174, align 4, !tbaa !5
  %12893 = call ptr @s2n_strerror(i32 noundef %12892, ptr noundef nonnull @.str.4) #12
  %12894 = load i32, ptr %174, align 4, !tbaa !5
  %12895 = call ptr @s2n_strerror_debug(i32 noundef %12894, ptr noundef nonnull @.str.4) #12
  %12896 = load i32, ptr %228, align 4, !tbaa !5
  %12897 = call ptr @strerror(i32 noundef %12896) #12
  %12898 = load i32, ptr %228, align 4, !tbaa !5
  %12899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12890, ptr noundef nonnull %.str.5.sink6492, i32 noundef %12891, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.1, i32 noundef 1256, ptr noundef %12893, ptr noundef %12895, ptr noundef %12897, i32 noundef %12898) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12900:                                            ; preds = %12873
  %12901 = add nsw i32 %12875, 2
  store i32 %12901, ptr @test_count, align 4, !tbaa !5
  %12902 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef nonnull %12874, i32 noundef 10, ptr noundef nonnull @s2n_tls13_aes_256_gcm_sha384) #12
  %12903 = call zeroext i1 @s2n_result_is_ok(i32 %12902)
  br i1 %12903, label %12926, label %12904

12904:                                            ; preds = %12900
  %12905 = load i32, ptr %228, align 4, !tbaa !5
  %12906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12907 = call i32 @s2n_print_stacktrace(ptr noundef %12906) #12
  %12908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12909 = trunc nuw i8 %12908 to i1
  br i1 %12909, label %12910, label %12914

12910:                                            ; preds = %12904
  %12911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12912 = call i32 @fileno(ptr noundef %12911) #12
  %12913 = call i32 @isatty(i32 noundef %12912) #12
  %.not1945 = icmp eq i32 %12913, 0
  br i1 %.not1945, label %12914, label %12915

12914:                                            ; preds = %12910, %12904
  br label %12915

12915:                                            ; preds = %12910, %12914
  %.str.5.sink6501 = phi ptr [ @.str.5, %12914 ], [ @.str.2, %12910 ]
  store i32 %12905, ptr %228, align 4, !tbaa !5
  %12916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12917 = load i32, ptr @test_count, align 4, !tbaa !5
  %12918 = load i32, ptr %174, align 4, !tbaa !5
  %12919 = call ptr @s2n_strerror(i32 noundef %12918, ptr noundef nonnull @.str.4) #12
  %12920 = load i32, ptr %174, align 4, !tbaa !5
  %12921 = call ptr @s2n_strerror_debug(i32 noundef %12920, ptr noundef nonnull @.str.4) #12
  %12922 = load i32, ptr %228, align 4, !tbaa !5
  %12923 = call ptr @strerror(i32 noundef %12922) #12
  %12924 = load i32, ptr %228, align 4, !tbaa !5
  %12925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12916, ptr noundef nonnull %.str.5.sink6501, i32 noundef %12917, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 1257, ptr noundef %12919, ptr noundef %12921, ptr noundef %12923, i32 noundef %12924) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12926:                                            ; preds = %12900
  %12927 = load i32, ptr @test_count, align 4, !tbaa !5
  %12928 = add nsw i32 %12927, 1
  store i32 %12928, ptr @test_count, align 4, !tbaa !5
  %12929 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %12874) #12
  %12930 = icmp eq i32 %12929, -1
  br i1 %12930, label %12931, label %12953

12931:                                            ; preds = %12926
  %12932 = load i32, ptr %228, align 4, !tbaa !5
  %12933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12934 = call i32 @s2n_print_stacktrace(ptr noundef %12933) #12
  %12935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12936 = trunc nuw i8 %12935 to i1
  br i1 %12936, label %12937, label %12941

12937:                                            ; preds = %12931
  %12938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12939 = call i32 @fileno(ptr noundef %12938) #12
  %12940 = call i32 @isatty(i32 noundef %12939) #12
  %.not2041 = icmp eq i32 %12940, 0
  br i1 %.not2041, label %12941, label %12942

12941:                                            ; preds = %12937, %12931
  br label %12942

12942:                                            ; preds = %12937, %12941
  %.str.5.sink6510 = phi ptr [ @.str.5, %12941 ], [ @.str.2, %12937 ]
  store i32 %12932, ptr %228, align 4, !tbaa !5
  %12943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12944 = load i32, ptr @test_count, align 4, !tbaa !5
  %12945 = load i32, ptr %174, align 4, !tbaa !5
  %12946 = call ptr @s2n_strerror(i32 noundef %12945, ptr noundef nonnull @.str.4) #12
  %12947 = load i32, ptr %174, align 4, !tbaa !5
  %12948 = call ptr @s2n_strerror_debug(i32 noundef %12947, ptr noundef nonnull @.str.4) #12
  %12949 = load i32, ptr %228, align 4, !tbaa !5
  %12950 = call ptr @strerror(i32 noundef %12949) #12
  %12951 = load i32, ptr %228, align 4, !tbaa !5
  %12952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12943, ptr noundef nonnull %.str.5.sink6510, i32 noundef %12944, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.1, i32 noundef 1258, ptr noundef %12946, ptr noundef %12948, ptr noundef %12950, i32 noundef %12951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12953:                                            ; preds = %12926
  %12954 = getelementptr inbounds i8, ptr %12874, i64 4088
  store i32 3, ptr %12954, align 8, !tbaa !15
  %12955 = getelementptr inbounds i8, ptr %12874, i64 2256
  store i64 0, ptr %12955, align 8, !tbaa !72
  %12956 = getelementptr inbounds i8, ptr %12874, i64 220
  store i8 34, ptr %12956, align 4, !tbaa !68
  %12957 = load i32, ptr @test_count, align 4, !tbaa !5
  %12958 = add nsw i32 %12957, 1
  store i32 %12958, ptr @test_count, align 4, !tbaa !5
  %12959 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %12874, i8 noundef zeroext 34) #12
  %12960 = call zeroext i1 @s2n_result_is_ok(i32 %12959)
  br i1 %12960, label %12983, label %12961

12961:                                            ; preds = %12953
  %12962 = load i32, ptr %228, align 4, !tbaa !5
  %12963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12964 = call i32 @s2n_print_stacktrace(ptr noundef %12963) #12
  %12965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12966 = trunc nuw i8 %12965 to i1
  br i1 %12966, label %12967, label %12971

12967:                                            ; preds = %12961
  %12968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12969 = call i32 @fileno(ptr noundef %12968) #12
  %12970 = call i32 @isatty(i32 noundef %12969) #12
  %.not1946 = icmp eq i32 %12970, 0
  br i1 %.not1946, label %12971, label %12972

12971:                                            ; preds = %12967, %12961
  br label %12972

12972:                                            ; preds = %12967, %12971
  %.str.5.sink6519 = phi ptr [ @.str.5, %12971 ], [ @.str.2, %12967 ]
  store i32 %12962, ptr %228, align 4, !tbaa !5
  %12973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12974 = load i32, ptr @test_count, align 4, !tbaa !5
  %12975 = load i32, ptr %174, align 4, !tbaa !5
  %12976 = call ptr @s2n_strerror(i32 noundef %12975, ptr noundef nonnull @.str.4) #12
  %12977 = load i32, ptr %174, align 4, !tbaa !5
  %12978 = call ptr @s2n_strerror_debug(i32 noundef %12977, ptr noundef nonnull @.str.4) #12
  %12979 = load i32, ptr %228, align 4, !tbaa !5
  %12980 = call ptr @strerror(i32 noundef %12979) #12
  %12981 = load i32, ptr %228, align 4, !tbaa !5
  %12982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12973, ptr noundef nonnull %.str.5.sink6519, i32 noundef %12974, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.1, i32 noundef 1262, ptr noundef %12976, ptr noundef %12978, ptr noundef %12980, i32 noundef %12981) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12983:                                            ; preds = %12953
  %12984 = getelementptr inbounds i8, ptr %12874, i64 2172
  store i32 65, ptr %12984, align 4, !tbaa !74
  %12985 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %12874) #12
  %.not19472265 = icmp eq i32 %12985, 19
  br i1 %.not19472265, label %._crit_edge2268, label %.lr.ph2267

.lr.ph2267:                                       ; preds = %12983
  %12986 = getelementptr inbounds i8, ptr %12874, i64 2176
  br label %12987

12987:                                            ; preds = %.lr.ph2267, %12987
  %12988 = load i32, ptr %12986, align 8, !tbaa !88
  %12989 = add nsw i32 %12988, 1
  store i32 %12989, ptr %12986, align 8, !tbaa !88
  %12990 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %12874) #12
  %.not1947 = icmp eq i32 %12990, 19
  br i1 %.not1947, label %._crit_edge2268, label %12987, !llvm.loop !90

._crit_edge2268:                                  ; preds = %12987, %12983
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %46) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %46, ptr noundef nonnull align 8 dereferenceable(4184) %12874, i64 4184, i1 false), !tbaa.struct !85
  %12991 = load i32, ptr @test_count, align 4, !tbaa !5
  %12992 = add nsw i32 %12991, 1
  store i32 %12992, ptr @test_count, align 4, !tbaa !5
  %12993 = call i32 @s2n_early_data_validate_recv(ptr noundef nonnull %46) #12
  %12994 = call zeroext i1 @s2n_result_is_ok(i32 %12993)
  br i1 %12994, label %13017, label %12995

12995:                                            ; preds = %._crit_edge2268
  %12996 = load i32, ptr %228, align 4, !tbaa !5
  %12997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12998 = call i32 @s2n_print_stacktrace(ptr noundef %12997) #12
  %12999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13000 = trunc nuw i8 %12999 to i1
  br i1 %13000, label %13001, label %13005

13001:                                            ; preds = %12995
  %13002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13003 = call i32 @fileno(ptr noundef %13002) #12
  %13004 = call i32 @isatty(i32 noundef %13003) #12
  %.not1948 = icmp eq i32 %13004, 0
  br i1 %.not1948, label %13005, label %13006

13005:                                            ; preds = %13001, %12995
  br label %13006

13006:                                            ; preds = %13001, %13005
  %.str.5.sink6528 = phi ptr [ @.str.5, %13005 ], [ @.str.2, %13001 ]
  store i32 %12996, ptr %228, align 4, !tbaa !5
  %13007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13008 = load i32, ptr @test_count, align 4, !tbaa !5
  %13009 = load i32, ptr %174, align 4, !tbaa !5
  %13010 = call ptr @s2n_strerror(i32 noundef %13009, ptr noundef nonnull @.str.4) #12
  %13011 = load i32, ptr %174, align 4, !tbaa !5
  %13012 = call ptr @s2n_strerror_debug(i32 noundef %13011, ptr noundef nonnull @.str.4) #12
  %13013 = load i32, ptr %228, align 4, !tbaa !5
  %13014 = call ptr @strerror(i32 noundef %13013) #12
  %13015 = load i32, ptr %228, align 4, !tbaa !5
  %13016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13007, ptr noundef nonnull %.str.5.sink6528, i32 noundef %13008, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.1, i32 noundef 1270, ptr noundef %13010, ptr noundef %13012, ptr noundef %13014, i32 noundef %13015) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13017:                                            ; preds = %._crit_edge2268
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %46, ptr noundef nonnull align 8 dereferenceable(4184) %12874, i64 4184, i1 false), !tbaa.struct !85
  %13018 = getelementptr inbounds i8, ptr %46, i64 148
  store i32 1, ptr %13018, align 4, !tbaa !84
  %13019 = load i32, ptr @test_count, align 4, !tbaa !5
  %13020 = add nsw i32 %13019, 1
  store i32 %13020, ptr @test_count, align 4, !tbaa !5
  %13021 = call i32 @s2n_early_data_validate_recv(ptr noundef nonnull %46) #12
  %13022 = call zeroext i1 @s2n_result_is_error(i32 %13021)
  br i1 %13022, label %13045, label %13023

13023:                                            ; preds = %13017
  %13024 = load i32, ptr %228, align 4, !tbaa !5
  %13025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13026 = call i32 @s2n_print_stacktrace(ptr noundef %13025) #12
  %13027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13028 = trunc nuw i8 %13027 to i1
  br i1 %13028, label %13029, label %13033

13029:                                            ; preds = %13023
  %13030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13031 = call i32 @fileno(ptr noundef %13030) #12
  %13032 = call i32 @isatty(i32 noundef %13031) #12
  %.not1949 = icmp eq i32 %13032, 0
  br i1 %.not1949, label %13033, label %13034

13033:                                            ; preds = %13029, %13023
  br label %13034

13034:                                            ; preds = %13029, %13033
  %.str.5.sink6537 = phi ptr [ @.str.5, %13033 ], [ @.str.2, %13029 ]
  store i32 %13024, ptr %228, align 4, !tbaa !5
  %13035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13036 = load i32, ptr @test_count, align 4, !tbaa !5
  %13037 = load i32, ptr %174, align 4, !tbaa !5
  %13038 = call ptr @s2n_strerror(i32 noundef %13037, ptr noundef nonnull @.str.4) #12
  %13039 = load i32, ptr %174, align 4, !tbaa !5
  %13040 = call ptr @s2n_strerror_debug(i32 noundef %13039, ptr noundef nonnull @.str.4) #12
  %13041 = load i32, ptr %228, align 4, !tbaa !5
  %13042 = call ptr @strerror(i32 noundef %13041) #12
  %13043 = load i32, ptr %228, align 4, !tbaa !5
  %13044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13035, ptr noundef nonnull %.str.5.sink6537, i32 noundef %13036, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.1, i32 noundef 1275, ptr noundef %13038, ptr noundef %13040, ptr noundef %13042, i32 noundef %13043) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13045:                                            ; preds = %13017
  %13046 = load i32, ptr @test_count, align 4, !tbaa !5
  %13047 = add nsw i32 %13046, 1
  store i32 %13047, ptr @test_count, align 4, !tbaa !5
  %13048 = load i32, ptr %174, align 4, !tbaa !5
  %13049 = icmp eq i32 %13048, 469762113
  br i1 %13049, label %13072, label %13050

13050:                                            ; preds = %13045
  %13051 = load i32, ptr %228, align 4, !tbaa !5
  %13052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13053 = call i32 @s2n_print_stacktrace(ptr noundef %13052) #12
  %13054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13055 = trunc nuw i8 %13054 to i1
  br i1 %13055, label %13056, label %13060

13056:                                            ; preds = %13050
  %13057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13058 = call i32 @fileno(ptr noundef %13057) #12
  %13059 = call i32 @isatty(i32 noundef %13058) #12
  %.not1950 = icmp eq i32 %13059, 0
  br i1 %.not1950, label %13060, label %13061

13060:                                            ; preds = %13056, %13050
  br label %13061

13061:                                            ; preds = %13056, %13060
  %.str.5.sink6546 = phi ptr [ @.str.5, %13060 ], [ @.str.2, %13056 ]
  store i32 %13051, ptr %228, align 4, !tbaa !5
  %13062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13063 = load i32, ptr @test_count, align 4, !tbaa !5
  %13064 = load i32, ptr %174, align 4, !tbaa !5
  %13065 = call ptr @s2n_strerror(i32 noundef %13064, ptr noundef nonnull @.str.4) #12
  %13066 = load i32, ptr %174, align 4, !tbaa !5
  %13067 = call ptr @s2n_strerror_debug(i32 noundef %13066, ptr noundef nonnull @.str.4) #12
  %13068 = load i32, ptr %228, align 4, !tbaa !5
  %13069 = call ptr @strerror(i32 noundef %13068) #12
  %13070 = load i32, ptr %228, align 4, !tbaa !5
  %13071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13062, ptr noundef nonnull %.str.5.sink6546, i32 noundef %13063, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1275, ptr noundef %13065, ptr noundef %13067, ptr noundef %13069, i32 noundef %13070) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13072:                                            ; preds = %13045
  %13073 = add nsw i32 %13046, 2
  store i32 %13073, ptr @test_count, align 4, !tbaa !5
  %13074 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %13075 = icmp eq ptr %13074, null
  br i1 %13075, label %13076, label %13098

13076:                                            ; preds = %13072
  %13077 = load i32, ptr %228, align 4, !tbaa !5
  %13078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13079 = call i32 @s2n_print_stacktrace(ptr noundef %13078) #12
  %13080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13081 = trunc nuw i8 %13080 to i1
  br i1 %13081, label %13082, label %13086

13082:                                            ; preds = %13076
  %13083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13084 = call i32 @fileno(ptr noundef %13083) #12
  %13085 = call i32 @isatty(i32 noundef %13084) #12
  %.not2040 = icmp eq i32 %13085, 0
  br i1 %.not2040, label %13086, label %13087

13086:                                            ; preds = %13082, %13076
  br label %13087

13087:                                            ; preds = %13082, %13086
  %.str.5.sink6555 = phi ptr [ @.str.5, %13086 ], [ @.str.2, %13082 ]
  store i32 %13077, ptr %228, align 4, !tbaa !5
  %13088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13089 = load i32, ptr @test_count, align 4, !tbaa !5
  %13090 = load i32, ptr %174, align 4, !tbaa !5
  %13091 = call ptr @s2n_strerror(i32 noundef %13090, ptr noundef nonnull @.str.4) #12
  %13092 = load i32, ptr %174, align 4, !tbaa !5
  %13093 = call ptr @s2n_strerror_debug(i32 noundef %13092, ptr noundef nonnull @.str.4) #12
  %13094 = load i32, ptr %228, align 4, !tbaa !5
  %13095 = call ptr @strerror(i32 noundef %13094) #12
  %13096 = load i32, ptr %228, align 4, !tbaa !5
  %13097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13088, ptr noundef nonnull %.str.5.sink6555, i32 noundef %13089, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1275, ptr noundef %13091, ptr noundef %13093, ptr noundef %13095, i32 noundef %13096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13098:                                            ; preds = %13072
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %46, ptr noundef nonnull align 8 dereferenceable(4184) %12874, i64 4184, i1 false), !tbaa.struct !85
  %13099 = getelementptr inbounds i8, ptr %46, i64 4088
  store i32 5, ptr %13099, align 8, !tbaa !15
  %13100 = load i32, ptr @test_count, align 4, !tbaa !5
  %13101 = add nsw i32 %13100, 1
  store i32 %13101, ptr @test_count, align 4, !tbaa !5
  %13102 = call i32 @s2n_early_data_validate_recv(ptr noundef nonnull %46) #12
  %13103 = call zeroext i1 @s2n_result_is_error(i32 %13102)
  br i1 %13103, label %13126, label %13104

13104:                                            ; preds = %13098
  %13105 = load i32, ptr %228, align 4, !tbaa !5
  %13106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13107 = call i32 @s2n_print_stacktrace(ptr noundef %13106) #12
  %13108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13109 = trunc nuw i8 %13108 to i1
  br i1 %13109, label %13110, label %13114

13110:                                            ; preds = %13104
  %13111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13112 = call i32 @fileno(ptr noundef %13111) #12
  %13113 = call i32 @isatty(i32 noundef %13112) #12
  %.not1951 = icmp eq i32 %13113, 0
  br i1 %.not1951, label %13114, label %13115

13114:                                            ; preds = %13110, %13104
  br label %13115

13115:                                            ; preds = %13110, %13114
  %.str.5.sink6564 = phi ptr [ @.str.5, %13114 ], [ @.str.2, %13110 ]
  store i32 %13105, ptr %228, align 4, !tbaa !5
  %13116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13117 = load i32, ptr @test_count, align 4, !tbaa !5
  %13118 = load i32, ptr %174, align 4, !tbaa !5
  %13119 = call ptr @s2n_strerror(i32 noundef %13118, ptr noundef nonnull @.str.4) #12
  %13120 = load i32, ptr %174, align 4, !tbaa !5
  %13121 = call ptr @s2n_strerror_debug(i32 noundef %13120, ptr noundef nonnull @.str.4) #12
  %13122 = load i32, ptr %228, align 4, !tbaa !5
  %13123 = call ptr @strerror(i32 noundef %13122) #12
  %13124 = load i32, ptr %228, align 4, !tbaa !5
  %13125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13116, ptr noundef nonnull %.str.5.sink6564, i32 noundef %13117, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.1, i32 noundef 1280, ptr noundef %13119, ptr noundef %13121, ptr noundef %13123, i32 noundef %13124) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13126:                                            ; preds = %13098
  %13127 = load i32, ptr @test_count, align 4, !tbaa !5
  %13128 = add nsw i32 %13127, 1
  store i32 %13128, ptr @test_count, align 4, !tbaa !5
  %13129 = load i32, ptr %174, align 4, !tbaa !5
  %13130 = icmp eq i32 %13129, 469762113
  br i1 %13130, label %13153, label %13131

13131:                                            ; preds = %13126
  %13132 = load i32, ptr %228, align 4, !tbaa !5
  %13133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13134 = call i32 @s2n_print_stacktrace(ptr noundef %13133) #12
  %13135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13136 = trunc nuw i8 %13135 to i1
  br i1 %13136, label %13137, label %13141

13137:                                            ; preds = %13131
  %13138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13139 = call i32 @fileno(ptr noundef %13138) #12
  %13140 = call i32 @isatty(i32 noundef %13139) #12
  %.not1952 = icmp eq i32 %13140, 0
  br i1 %.not1952, label %13141, label %13142

13141:                                            ; preds = %13137, %13131
  br label %13142

13142:                                            ; preds = %13137, %13141
  %.str.5.sink6573 = phi ptr [ @.str.5, %13141 ], [ @.str.2, %13137 ]
  store i32 %13132, ptr %228, align 4, !tbaa !5
  %13143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13144 = load i32, ptr @test_count, align 4, !tbaa !5
  %13145 = load i32, ptr %174, align 4, !tbaa !5
  %13146 = call ptr @s2n_strerror(i32 noundef %13145, ptr noundef nonnull @.str.4) #12
  %13147 = load i32, ptr %174, align 4, !tbaa !5
  %13148 = call ptr @s2n_strerror_debug(i32 noundef %13147, ptr noundef nonnull @.str.4) #12
  %13149 = load i32, ptr %228, align 4, !tbaa !5
  %13150 = call ptr @strerror(i32 noundef %13149) #12
  %13151 = load i32, ptr %228, align 4, !tbaa !5
  %13152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13143, ptr noundef nonnull %.str.5.sink6573, i32 noundef %13144, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1280, ptr noundef %13146, ptr noundef %13148, ptr noundef %13150, i32 noundef %13151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13153:                                            ; preds = %13126
  %13154 = add nsw i32 %13127, 2
  store i32 %13154, ptr @test_count, align 4, !tbaa !5
  %13155 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %13156 = icmp eq ptr %13155, null
  br i1 %13156, label %13157, label %13179

13157:                                            ; preds = %13153
  %13158 = load i32, ptr %228, align 4, !tbaa !5
  %13159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13160 = call i32 @s2n_print_stacktrace(ptr noundef %13159) #12
  %13161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13162 = trunc nuw i8 %13161 to i1
  br i1 %13162, label %13163, label %13167

13163:                                            ; preds = %13157
  %13164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13165 = call i32 @fileno(ptr noundef %13164) #12
  %13166 = call i32 @isatty(i32 noundef %13165) #12
  %.not2039 = icmp eq i32 %13166, 0
  br i1 %.not2039, label %13167, label %13168

13167:                                            ; preds = %13163, %13157
  br label %13168

13168:                                            ; preds = %13163, %13167
  %.str.5.sink6582 = phi ptr [ @.str.5, %13167 ], [ @.str.2, %13163 ]
  store i32 %13158, ptr %228, align 4, !tbaa !5
  %13169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13170 = load i32, ptr @test_count, align 4, !tbaa !5
  %13171 = load i32, ptr %174, align 4, !tbaa !5
  %13172 = call ptr @s2n_strerror(i32 noundef %13171, ptr noundef nonnull @.str.4) #12
  %13173 = load i32, ptr %174, align 4, !tbaa !5
  %13174 = call ptr @s2n_strerror_debug(i32 noundef %13173, ptr noundef nonnull @.str.4) #12
  %13175 = load i32, ptr %228, align 4, !tbaa !5
  %13176 = call ptr @strerror(i32 noundef %13175) #12
  %13177 = load i32, ptr %228, align 4, !tbaa !5
  %13178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13169, ptr noundef nonnull %.str.5.sink6582, i32 noundef %13170, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1280, ptr noundef %13172, ptr noundef %13174, ptr noundef %13176, i32 noundef %13177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13179:                                            ; preds = %13153
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %46, ptr noundef nonnull align 8 dereferenceable(4184) %12874, i64 4184, i1 false), !tbaa.struct !85
  %13180 = getelementptr inbounds i8, ptr %46, i64 2176
  %13181 = load i32, ptr %13180, align 8, !tbaa !88
  %13182 = add nsw i32 %13181, -1
  store i32 %13182, ptr %13180, align 8, !tbaa !88
  %13183 = load i32, ptr @test_count, align 4, !tbaa !5
  %13184 = add nsw i32 %13183, 1
  store i32 %13184, ptr @test_count, align 4, !tbaa !5
  %13185 = call i32 @s2n_early_data_validate_recv(ptr noundef nonnull %46) #12
  %13186 = call zeroext i1 @s2n_result_is_error(i32 %13185)
  br i1 %13186, label %13209, label %13187

13187:                                            ; preds = %13179
  %13188 = load i32, ptr %228, align 4, !tbaa !5
  %13189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13190 = call i32 @s2n_print_stacktrace(ptr noundef %13189) #12
  %13191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13192 = trunc nuw i8 %13191 to i1
  br i1 %13192, label %13193, label %13197

13193:                                            ; preds = %13187
  %13194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13195 = call i32 @fileno(ptr noundef %13194) #12
  %13196 = call i32 @isatty(i32 noundef %13195) #12
  %.not1953 = icmp eq i32 %13196, 0
  br i1 %.not1953, label %13197, label %13198

13197:                                            ; preds = %13193, %13187
  br label %13198

13198:                                            ; preds = %13193, %13197
  %.str.5.sink6591 = phi ptr [ @.str.5, %13197 ], [ @.str.2, %13193 ]
  store i32 %13188, ptr %228, align 4, !tbaa !5
  %13199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13200 = load i32, ptr @test_count, align 4, !tbaa !5
  %13201 = load i32, ptr %174, align 4, !tbaa !5
  %13202 = call ptr @s2n_strerror(i32 noundef %13201, ptr noundef nonnull @.str.4) #12
  %13203 = load i32, ptr %174, align 4, !tbaa !5
  %13204 = call ptr @s2n_strerror_debug(i32 noundef %13203, ptr noundef nonnull @.str.4) #12
  %13205 = load i32, ptr %228, align 4, !tbaa !5
  %13206 = call ptr @strerror(i32 noundef %13205) #12
  %13207 = load i32, ptr %228, align 4, !tbaa !5
  %13208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13199, ptr noundef nonnull %.str.5.sink6591, i32 noundef %13200, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.1, i32 noundef 1285, ptr noundef %13202, ptr noundef %13204, ptr noundef %13206, i32 noundef %13207) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13209:                                            ; preds = %13179
  %13210 = load i32, ptr @test_count, align 4, !tbaa !5
  %13211 = add nsw i32 %13210, 1
  store i32 %13211, ptr @test_count, align 4, !tbaa !5
  %13212 = load i32, ptr %174, align 4, !tbaa !5
  %13213 = icmp eq i32 %13212, 469762113
  br i1 %13213, label %13236, label %13214

13214:                                            ; preds = %13209
  %13215 = load i32, ptr %228, align 4, !tbaa !5
  %13216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13217 = call i32 @s2n_print_stacktrace(ptr noundef %13216) #12
  %13218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13219 = trunc nuw i8 %13218 to i1
  br i1 %13219, label %13220, label %13224

13220:                                            ; preds = %13214
  %13221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13222 = call i32 @fileno(ptr noundef %13221) #12
  %13223 = call i32 @isatty(i32 noundef %13222) #12
  %.not1954 = icmp eq i32 %13223, 0
  br i1 %.not1954, label %13224, label %13225

13224:                                            ; preds = %13220, %13214
  br label %13225

13225:                                            ; preds = %13220, %13224
  %.str.5.sink6600 = phi ptr [ @.str.5, %13224 ], [ @.str.2, %13220 ]
  store i32 %13215, ptr %228, align 4, !tbaa !5
  %13226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13227 = load i32, ptr @test_count, align 4, !tbaa !5
  %13228 = load i32, ptr %174, align 4, !tbaa !5
  %13229 = call ptr @s2n_strerror(i32 noundef %13228, ptr noundef nonnull @.str.4) #12
  %13230 = load i32, ptr %174, align 4, !tbaa !5
  %13231 = call ptr @s2n_strerror_debug(i32 noundef %13230, ptr noundef nonnull @.str.4) #12
  %13232 = load i32, ptr %228, align 4, !tbaa !5
  %13233 = call ptr @strerror(i32 noundef %13232) #12
  %13234 = load i32, ptr %228, align 4, !tbaa !5
  %13235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13226, ptr noundef nonnull %.str.5.sink6600, i32 noundef %13227, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1285, ptr noundef %13229, ptr noundef %13231, ptr noundef %13233, i32 noundef %13234) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13236:                                            ; preds = %13209
  %13237 = add nsw i32 %13210, 2
  store i32 %13237, ptr @test_count, align 4, !tbaa !5
  %13238 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %13239 = icmp eq ptr %13238, null
  br i1 %13239, label %13240, label %13262

13240:                                            ; preds = %13236
  %13241 = load i32, ptr %228, align 4, !tbaa !5
  %13242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13243 = call i32 @s2n_print_stacktrace(ptr noundef %13242) #12
  %13244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13245 = trunc nuw i8 %13244 to i1
  br i1 %13245, label %13246, label %13250

13246:                                            ; preds = %13240
  %13247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13248 = call i32 @fileno(ptr noundef %13247) #12
  %13249 = call i32 @isatty(i32 noundef %13248) #12
  %.not2038 = icmp eq i32 %13249, 0
  br i1 %.not2038, label %13250, label %13251

13250:                                            ; preds = %13246, %13240
  br label %13251

13251:                                            ; preds = %13246, %13250
  %.str.5.sink6609 = phi ptr [ @.str.5, %13250 ], [ @.str.2, %13246 ]
  store i32 %13241, ptr %228, align 4, !tbaa !5
  %13252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13253 = load i32, ptr @test_count, align 4, !tbaa !5
  %13254 = load i32, ptr %174, align 4, !tbaa !5
  %13255 = call ptr @s2n_strerror(i32 noundef %13254, ptr noundef nonnull @.str.4) #12
  %13256 = load i32, ptr %174, align 4, !tbaa !5
  %13257 = call ptr @s2n_strerror_debug(i32 noundef %13256, ptr noundef nonnull @.str.4) #12
  %13258 = load i32, ptr %228, align 4, !tbaa !5
  %13259 = call ptr @strerror(i32 noundef %13258) #12
  %13260 = load i32, ptr %228, align 4, !tbaa !5
  %13261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13252, ptr noundef nonnull %.str.5.sink6609, i32 noundef %13253, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1285, ptr noundef %13255, ptr noundef %13257, ptr noundef %13259, i32 noundef %13260) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13262:                                            ; preds = %13236
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %46, ptr noundef nonnull align 8 dereferenceable(4184) %12874, i64 4184, i1 false), !tbaa.struct !85
  store i32 1, ptr %13099, align 8, !tbaa !15
  %13263 = load i32, ptr @test_count, align 4, !tbaa !5
  %13264 = add nsw i32 %13263, 1
  store i32 %13264, ptr @test_count, align 4, !tbaa !5
  %13265 = call i32 @s2n_early_data_validate_recv(ptr noundef nonnull %46) #12
  %13266 = call zeroext i1 @s2n_result_is_error(i32 %13265)
  br i1 %13266, label %13289, label %13267

13267:                                            ; preds = %13262
  %13268 = load i32, ptr %228, align 4, !tbaa !5
  %13269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13270 = call i32 @s2n_print_stacktrace(ptr noundef %13269) #12
  %13271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13272 = trunc nuw i8 %13271 to i1
  br i1 %13272, label %13273, label %13277

13273:                                            ; preds = %13267
  %13274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13275 = call i32 @fileno(ptr noundef %13274) #12
  %13276 = call i32 @isatty(i32 noundef %13275) #12
  %.not1955 = icmp eq i32 %13276, 0
  br i1 %.not1955, label %13277, label %13278

13277:                                            ; preds = %13273, %13267
  br label %13278

13278:                                            ; preds = %13273, %13277
  %.str.5.sink6618 = phi ptr [ @.str.5, %13277 ], [ @.str.2, %13273 ]
  store i32 %13268, ptr %228, align 4, !tbaa !5
  %13279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13280 = load i32, ptr @test_count, align 4, !tbaa !5
  %13281 = load i32, ptr %174, align 4, !tbaa !5
  %13282 = call ptr @s2n_strerror(i32 noundef %13281, ptr noundef nonnull @.str.4) #12
  %13283 = load i32, ptr %174, align 4, !tbaa !5
  %13284 = call ptr @s2n_strerror_debug(i32 noundef %13283, ptr noundef nonnull @.str.4) #12
  %13285 = load i32, ptr %228, align 4, !tbaa !5
  %13286 = call ptr @strerror(i32 noundef %13285) #12
  %13287 = load i32, ptr %228, align 4, !tbaa !5
  %13288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13279, ptr noundef nonnull %.str.5.sink6618, i32 noundef %13280, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.1, i32 noundef 1290, ptr noundef %13282, ptr noundef %13284, ptr noundef %13286, i32 noundef %13287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13289:                                            ; preds = %13262
  %13290 = load i32, ptr @test_count, align 4, !tbaa !5
  %13291 = add nsw i32 %13290, 1
  store i32 %13291, ptr @test_count, align 4, !tbaa !5
  %13292 = load i32, ptr %174, align 4, !tbaa !5
  %13293 = icmp eq i32 %13292, 469762113
  br i1 %13293, label %13316, label %13294

13294:                                            ; preds = %13289
  %13295 = load i32, ptr %228, align 4, !tbaa !5
  %13296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13297 = call i32 @s2n_print_stacktrace(ptr noundef %13296) #12
  %13298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13299 = trunc nuw i8 %13298 to i1
  br i1 %13299, label %13300, label %13304

13300:                                            ; preds = %13294
  %13301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13302 = call i32 @fileno(ptr noundef %13301) #12
  %13303 = call i32 @isatty(i32 noundef %13302) #12
  %.not1956 = icmp eq i32 %13303, 0
  br i1 %.not1956, label %13304, label %13305

13304:                                            ; preds = %13300, %13294
  br label %13305

13305:                                            ; preds = %13300, %13304
  %.str.5.sink6627 = phi ptr [ @.str.5, %13304 ], [ @.str.2, %13300 ]
  store i32 %13295, ptr %228, align 4, !tbaa !5
  %13306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13307 = load i32, ptr @test_count, align 4, !tbaa !5
  %13308 = load i32, ptr %174, align 4, !tbaa !5
  %13309 = call ptr @s2n_strerror(i32 noundef %13308, ptr noundef nonnull @.str.4) #12
  %13310 = load i32, ptr %174, align 4, !tbaa !5
  %13311 = call ptr @s2n_strerror_debug(i32 noundef %13310, ptr noundef nonnull @.str.4) #12
  %13312 = load i32, ptr %228, align 4, !tbaa !5
  %13313 = call ptr @strerror(i32 noundef %13312) #12
  %13314 = load i32, ptr %228, align 4, !tbaa !5
  %13315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13306, ptr noundef nonnull %.str.5.sink6627, i32 noundef %13307, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1290, ptr noundef %13309, ptr noundef %13311, ptr noundef %13313, i32 noundef %13314) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13316:                                            ; preds = %13289
  %13317 = add nsw i32 %13290, 2
  store i32 %13317, ptr @test_count, align 4, !tbaa !5
  %13318 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %13319 = icmp eq ptr %13318, null
  br i1 %13319, label %13320, label %13342

13320:                                            ; preds = %13316
  %13321 = load i32, ptr %228, align 4, !tbaa !5
  %13322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13323 = call i32 @s2n_print_stacktrace(ptr noundef %13322) #12
  %13324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13325 = trunc nuw i8 %13324 to i1
  br i1 %13325, label %13326, label %13330

13326:                                            ; preds = %13320
  %13327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13328 = call i32 @fileno(ptr noundef %13327) #12
  %13329 = call i32 @isatty(i32 noundef %13328) #12
  %.not2037 = icmp eq i32 %13329, 0
  br i1 %.not2037, label %13330, label %13331

13330:                                            ; preds = %13326, %13320
  br label %13331

13331:                                            ; preds = %13326, %13330
  %.str.5.sink6636 = phi ptr [ @.str.5, %13330 ], [ @.str.2, %13326 ]
  store i32 %13321, ptr %228, align 4, !tbaa !5
  %13332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13333 = load i32, ptr @test_count, align 4, !tbaa !5
  %13334 = load i32, ptr %174, align 4, !tbaa !5
  %13335 = call ptr @s2n_strerror(i32 noundef %13334, ptr noundef nonnull @.str.4) #12
  %13336 = load i32, ptr %174, align 4, !tbaa !5
  %13337 = call ptr @s2n_strerror_debug(i32 noundef %13336, ptr noundef nonnull @.str.4) #12
  %13338 = load i32, ptr %228, align 4, !tbaa !5
  %13339 = call ptr @strerror(i32 noundef %13338) #12
  %13340 = load i32, ptr %228, align 4, !tbaa !5
  %13341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13332, ptr noundef nonnull %.str.5.sink6636, i32 noundef %13333, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1290, ptr noundef %13335, ptr noundef %13337, ptr noundef %13339, i32 noundef %13340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13342:                                            ; preds = %13316
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %46, ptr noundef nonnull align 8 dereferenceable(4184) %12874, i64 4184, i1 false), !tbaa.struct !85
  store i32 3, ptr %13099, align 8, !tbaa !15
  %13343 = load i32, ptr @test_count, align 4, !tbaa !5
  %13344 = add nsw i32 %13343, 1
  store i32 %13344, ptr @test_count, align 4, !tbaa !5
  %13345 = call i32 @s2n_early_data_validate_recv(ptr noundef nonnull %46) #12
  %13346 = call zeroext i1 @s2n_result_is_ok(i32 %13345)
  br i1 %13346, label %13369, label %13347

13347:                                            ; preds = %13342
  %13348 = load i32, ptr %228, align 4, !tbaa !5
  %13349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13350 = call i32 @s2n_print_stacktrace(ptr noundef %13349) #12
  %13351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13352 = trunc nuw i8 %13351 to i1
  br i1 %13352, label %13353, label %13357

13353:                                            ; preds = %13347
  %13354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13355 = call i32 @fileno(ptr noundef %13354) #12
  %13356 = call i32 @isatty(i32 noundef %13355) #12
  %.not1957 = icmp eq i32 %13356, 0
  br i1 %.not1957, label %13357, label %13358

13357:                                            ; preds = %13353, %13347
  br label %13358

13358:                                            ; preds = %13353, %13357
  %.str.5.sink6645 = phi ptr [ @.str.5, %13357 ], [ @.str.2, %13353 ]
  store i32 %13348, ptr %228, align 4, !tbaa !5
  %13359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13360 = load i32, ptr @test_count, align 4, !tbaa !5
  %13361 = load i32, ptr %174, align 4, !tbaa !5
  %13362 = call ptr @s2n_strerror(i32 noundef %13361, ptr noundef nonnull @.str.4) #12
  %13363 = load i32, ptr %174, align 4, !tbaa !5
  %13364 = call ptr @s2n_strerror_debug(i32 noundef %13363, ptr noundef nonnull @.str.4) #12
  %13365 = load i32, ptr %228, align 4, !tbaa !5
  %13366 = call ptr @strerror(i32 noundef %13365) #12
  %13367 = load i32, ptr %228, align 4, !tbaa !5
  %13368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13359, ptr noundef nonnull %.str.5.sink6645, i32 noundef %13360, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.1, i32 noundef 1295, ptr noundef %13362, ptr noundef %13364, ptr noundef %13366, i32 noundef %13367) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13369:                                            ; preds = %13342
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %46, ptr noundef nonnull align 8 dereferenceable(4184) %12874, i64 4184, i1 false), !tbaa.struct !85
  %13370 = getelementptr inbounds i8, ptr %46, i64 2256
  store i64 10, ptr %13370, align 8, !tbaa !72
  %13371 = getelementptr inbounds i8, ptr %46, i64 2172
  store i32 1, ptr %13371, align 4, !tbaa !74
  %13372 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %46) #12
  %.not19582269 = icmp eq i32 %13372, 20
  br i1 %.not19582269, label %._crit_edge2272, label %.lr.ph2271

.lr.ph2271:                                       ; preds = %13369, %.lr.ph2271
  %13373 = load i32, ptr %13180, align 8, !tbaa !88
  %13374 = add nsw i32 %13373, 1
  store i32 %13374, ptr %13180, align 8, !tbaa !88
  %13375 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %46) #12
  %.not1958 = icmp eq i32 %13375, 20
  br i1 %.not1958, label %._crit_edge2272, label %.lr.ph2271, !llvm.loop !91

._crit_edge2272:                                  ; preds = %.lr.ph2271, %13369
  %13376 = load i32, ptr @test_count, align 4, !tbaa !5
  %13377 = add nsw i32 %13376, 1
  store i32 %13377, ptr @test_count, align 4, !tbaa !5
  %13378 = call i32 @s2n_early_data_validate_recv(ptr noundef nonnull %46) #12
  %13379 = call zeroext i1 @s2n_result_is_ok(i32 %13378)
  br i1 %13379, label %13402, label %13380

13380:                                            ; preds = %._crit_edge2272
  %13381 = load i32, ptr %228, align 4, !tbaa !5
  %13382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13383 = call i32 @s2n_print_stacktrace(ptr noundef %13382) #12
  %13384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13385 = trunc nuw i8 %13384 to i1
  br i1 %13385, label %13386, label %13390

13386:                                            ; preds = %13380
  %13387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13388 = call i32 @fileno(ptr noundef %13387) #12
  %13389 = call i32 @isatty(i32 noundef %13388) #12
  %.not1959 = icmp eq i32 %13389, 0
  br i1 %.not1959, label %13390, label %13391

13390:                                            ; preds = %13386, %13380
  br label %13391

13391:                                            ; preds = %13386, %13390
  %.str.5.sink6654 = phi ptr [ @.str.5, %13390 ], [ @.str.2, %13386 ]
  store i32 %13381, ptr %228, align 4, !tbaa !5
  %13392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13393 = load i32, ptr @test_count, align 4, !tbaa !5
  %13394 = load i32, ptr %174, align 4, !tbaa !5
  %13395 = call ptr @s2n_strerror(i32 noundef %13394, ptr noundef nonnull @.str.4) #12
  %13396 = load i32, ptr %174, align 4, !tbaa !5
  %13397 = call ptr @s2n_strerror_debug(i32 noundef %13396, ptr noundef nonnull @.str.4) #12
  %13398 = load i32, ptr %228, align 4, !tbaa !5
  %13399 = call ptr @strerror(i32 noundef %13398) #12
  %13400 = load i32, ptr %228, align 4, !tbaa !5
  %13401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13392, ptr noundef nonnull %.str.5.sink6654, i32 noundef %13393, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.1, i32 noundef 1304, ptr noundef %13395, ptr noundef %13397, ptr noundef %13399, i32 noundef %13400) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13402:                                            ; preds = %._crit_edge2272
  %13403 = load i32, ptr @test_count, align 4, !tbaa !5
  %13404 = add nsw i32 %13403, 1
  store i32 %13404, ptr @test_count, align 4, !tbaa !5
  %13405 = call i32 @s2n_connection_free(ptr noundef nonnull %12874) #12
  %13406 = icmp eq i32 %13405, -1
  br i1 %13406, label %13407, label %13429

13407:                                            ; preds = %13402
  %13408 = load i32, ptr %228, align 4, !tbaa !5
  %13409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13410 = call i32 @s2n_print_stacktrace(ptr noundef %13409) #12
  %13411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13412 = trunc nuw i8 %13411 to i1
  br i1 %13412, label %13413, label %13417

13413:                                            ; preds = %13407
  %13414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13415 = call i32 @fileno(ptr noundef %13414) #12
  %13416 = call i32 @isatty(i32 noundef %13415) #12
  %.not2036 = icmp eq i32 %13416, 0
  br i1 %.not2036, label %13417, label %13418

13417:                                            ; preds = %13413, %13407
  br label %13418

13418:                                            ; preds = %13413, %13417
  %.str.5.sink6663 = phi ptr [ @.str.5, %13417 ], [ @.str.2, %13413 ]
  store i32 %13408, ptr %228, align 4, !tbaa !5
  %13419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13420 = load i32, ptr @test_count, align 4, !tbaa !5
  %13421 = load i32, ptr %174, align 4, !tbaa !5
  %13422 = call ptr @s2n_strerror(i32 noundef %13421, ptr noundef nonnull @.str.4) #12
  %13423 = load i32, ptr %174, align 4, !tbaa !5
  %13424 = call ptr @s2n_strerror_debug(i32 noundef %13423, ptr noundef nonnull @.str.4) #12
  %13425 = load i32, ptr %228, align 4, !tbaa !5
  %13426 = call ptr @strerror(i32 noundef %13425) #12
  %13427 = load i32, ptr %228, align 4, !tbaa !5
  %13428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13419, ptr noundef nonnull %.str.5.sink6663, i32 noundef %13420, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.1, i32 noundef 1306, ptr noundef %13422, ptr noundef %13424, ptr noundef %13426, i32 noundef %13427) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13429:                                            ; preds = %13402
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %46) #12
  %13430 = call ptr @s2n_config_new() #12
  %13431 = load i32, ptr @test_count, align 4, !tbaa !5
  %13432 = add nsw i32 %13431, 1
  store i32 %13432, ptr @test_count, align 4, !tbaa !5
  %13433 = call i32 @s2n_config_set_early_data_cb(ptr noundef null, ptr noundef nonnull @s2n_test_early_data_cb) #12
  %13434 = icmp eq i32 %13433, -1
  br i1 %13434, label %13457, label %13435

13435:                                            ; preds = %13429
  %13436 = load i32, ptr %228, align 4, !tbaa !5
  %13437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13438 = call i32 @s2n_print_stacktrace(ptr noundef %13437) #12
  %13439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13440 = trunc nuw i8 %13439 to i1
  br i1 %13440, label %13441, label %13445

13441:                                            ; preds = %13435
  %13442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13443 = call i32 @fileno(ptr noundef %13442) #12
  %13444 = call i32 @isatty(i32 noundef %13443) #12
  %.not1960 = icmp eq i32 %13444, 0
  br i1 %.not1960, label %13445, label %13446

13445:                                            ; preds = %13441, %13435
  br label %13446

13446:                                            ; preds = %13441, %13445
  %.str.5.sink6672 = phi ptr [ @.str.5, %13445 ], [ @.str.2, %13441 ]
  store i32 %13436, ptr %228, align 4, !tbaa !5
  %13447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13448 = load i32, ptr @test_count, align 4, !tbaa !5
  %13449 = load i32, ptr %174, align 4, !tbaa !5
  %13450 = call ptr @s2n_strerror(i32 noundef %13449, ptr noundef nonnull @.str.4) #12
  %13451 = load i32, ptr %174, align 4, !tbaa !5
  %13452 = call ptr @s2n_strerror_debug(i32 noundef %13451, ptr noundef nonnull @.str.4) #12
  %13453 = load i32, ptr %228, align 4, !tbaa !5
  %13454 = call ptr @strerror(i32 noundef %13453) #12
  %13455 = load i32, ptr %228, align 4, !tbaa !5
  %13456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13447, ptr noundef nonnull %.str.5.sink6672, i32 noundef %13448, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.1, i32 noundef 1314, ptr noundef %13450, ptr noundef %13452, ptr noundef %13454, i32 noundef %13455) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13457:                                            ; preds = %13429
  %13458 = load i32, ptr @test_count, align 4, !tbaa !5
  %13459 = add nsw i32 %13458, 1
  store i32 %13459, ptr @test_count, align 4, !tbaa !5
  %13460 = load i32, ptr %174, align 4, !tbaa !5
  %13461 = icmp eq i32 %13460, 402653193
  br i1 %13461, label %13484, label %13462

13462:                                            ; preds = %13457
  %13463 = load i32, ptr %228, align 4, !tbaa !5
  %13464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13465 = call i32 @s2n_print_stacktrace(ptr noundef %13464) #12
  %13466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13467 = trunc nuw i8 %13466 to i1
  br i1 %13467, label %13468, label %13472

13468:                                            ; preds = %13462
  %13469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13470 = call i32 @fileno(ptr noundef %13469) #12
  %13471 = call i32 @isatty(i32 noundef %13470) #12
  %.not1961 = icmp eq i32 %13471, 0
  br i1 %.not1961, label %13472, label %13473

13472:                                            ; preds = %13468, %13462
  br label %13473

13473:                                            ; preds = %13468, %13472
  %.str.5.sink6681 = phi ptr [ @.str.5, %13472 ], [ @.str.2, %13468 ]
  store i32 %13463, ptr %228, align 4, !tbaa !5
  %13474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13475 = load i32, ptr @test_count, align 4, !tbaa !5
  %13476 = load i32, ptr %174, align 4, !tbaa !5
  %13477 = call ptr @s2n_strerror(i32 noundef %13476, ptr noundef nonnull @.str.4) #12
  %13478 = load i32, ptr %174, align 4, !tbaa !5
  %13479 = call ptr @s2n_strerror_debug(i32 noundef %13478, ptr noundef nonnull @.str.4) #12
  %13480 = load i32, ptr %228, align 4, !tbaa !5
  %13481 = call ptr @strerror(i32 noundef %13480) #12
  %13482 = load i32, ptr %228, align 4, !tbaa !5
  %13483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13474, ptr noundef nonnull %.str.5.sink6681, i32 noundef %13475, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1314, ptr noundef %13477, ptr noundef %13479, ptr noundef %13481, i32 noundef %13482) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13484:                                            ; preds = %13457
  %13485 = add nsw i32 %13458, 2
  store i32 %13485, ptr @test_count, align 4, !tbaa !5
  %13486 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %13487 = icmp eq ptr %13486, null
  br i1 %13487, label %13488, label %13510

13488:                                            ; preds = %13484
  %13489 = load i32, ptr %228, align 4, !tbaa !5
  %13490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13491 = call i32 @s2n_print_stacktrace(ptr noundef %13490) #12
  %13492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13493 = trunc nuw i8 %13492 to i1
  br i1 %13493, label %13494, label %13498

13494:                                            ; preds = %13488
  %13495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13496 = call i32 @fileno(ptr noundef %13495) #12
  %13497 = call i32 @isatty(i32 noundef %13496) #12
  %.not2035 = icmp eq i32 %13497, 0
  br i1 %.not2035, label %13498, label %13499

13498:                                            ; preds = %13494, %13488
  br label %13499

13499:                                            ; preds = %13494, %13498
  %.str.5.sink6690 = phi ptr [ @.str.5, %13498 ], [ @.str.2, %13494 ]
  store i32 %13489, ptr %228, align 4, !tbaa !5
  %13500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13501 = load i32, ptr @test_count, align 4, !tbaa !5
  %13502 = load i32, ptr %174, align 4, !tbaa !5
  %13503 = call ptr @s2n_strerror(i32 noundef %13502, ptr noundef nonnull @.str.4) #12
  %13504 = load i32, ptr %174, align 4, !tbaa !5
  %13505 = call ptr @s2n_strerror_debug(i32 noundef %13504, ptr noundef nonnull @.str.4) #12
  %13506 = load i32, ptr %228, align 4, !tbaa !5
  %13507 = call ptr @strerror(i32 noundef %13506) #12
  %13508 = load i32, ptr %228, align 4, !tbaa !5
  %13509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13500, ptr noundef nonnull %.str.5.sink6690, i32 noundef %13501, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1314, ptr noundef %13503, ptr noundef %13505, ptr noundef %13507, i32 noundef %13508) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13510:                                            ; preds = %13484
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %13511 = load i32, ptr @test_count, align 4, !tbaa !5
  %13512 = add nsw i32 %13511, 1
  store i32 %13512, ptr @test_count, align 4, !tbaa !5
  %13513 = getelementptr inbounds i8, ptr %13430, i64 384
  %13514 = load ptr, ptr %13513, align 8, !tbaa !92
  %13515 = icmp eq ptr %13514, null
  br i1 %13515, label %13538, label %13516

13516:                                            ; preds = %13510
  %13517 = load i32, ptr %228, align 4, !tbaa !5
  %13518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13519 = call i32 @s2n_print_stacktrace(ptr noundef %13518) #12
  %13520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13521 = trunc nuw i8 %13520 to i1
  br i1 %13521, label %13522, label %13526

13522:                                            ; preds = %13516
  %13523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13524 = call i32 @fileno(ptr noundef %13523) #12
  %13525 = call i32 @isatty(i32 noundef %13524) #12
  %.not1962 = icmp eq i32 %13525, 0
  br i1 %.not1962, label %13526, label %13527

13526:                                            ; preds = %13522, %13516
  br label %13527

13527:                                            ; preds = %13522, %13526
  %.str.5.sink6699 = phi ptr [ @.str.5, %13526 ], [ @.str.2, %13522 ]
  store i32 %13517, ptr %228, align 4, !tbaa !5
  %13528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13529 = load i32, ptr @test_count, align 4, !tbaa !5
  %13530 = load i32, ptr %174, align 4, !tbaa !5
  %13531 = call ptr @s2n_strerror(i32 noundef %13530, ptr noundef nonnull @.str.4) #12
  %13532 = load i32, ptr %174, align 4, !tbaa !5
  %13533 = call ptr @s2n_strerror_debug(i32 noundef %13532, ptr noundef nonnull @.str.4) #12
  %13534 = load i32, ptr %228, align 4, !tbaa !5
  %13535 = call ptr @strerror(i32 noundef %13534) #12
  %13536 = load i32, ptr %228, align 4, !tbaa !5
  %13537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13528, ptr noundef nonnull %.str.5.sink6699, i32 noundef %13529, ptr noundef nonnull @.str.218, ptr noundef nonnull @.str.1, i32 noundef 1315, ptr noundef %13531, ptr noundef %13533, ptr noundef %13535, i32 noundef %13536) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13538:                                            ; preds = %13510
  %13539 = add nsw i32 %13511, 2
  store i32 %13539, ptr @test_count, align 4, !tbaa !5
  %13540 = call i32 @s2n_config_set_early_data_cb(ptr noundef nonnull %13430, ptr noundef nonnull @s2n_test_early_data_cb) #12
  %13541 = icmp eq i32 %13540, -1
  br i1 %13541, label %13542, label %13564

13542:                                            ; preds = %13538
  %13543 = load i32, ptr %228, align 4, !tbaa !5
  %13544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13545 = call i32 @s2n_print_stacktrace(ptr noundef %13544) #12
  %13546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13547 = trunc nuw i8 %13546 to i1
  br i1 %13547, label %13548, label %13552

13548:                                            ; preds = %13542
  %13549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13550 = call i32 @fileno(ptr noundef %13549) #12
  %13551 = call i32 @isatty(i32 noundef %13550) #12
  %.not2034 = icmp eq i32 %13551, 0
  br i1 %.not2034, label %13552, label %13553

13552:                                            ; preds = %13548, %13542
  br label %13553

13553:                                            ; preds = %13548, %13552
  %.str.5.sink6708 = phi ptr [ @.str.5, %13552 ], [ @.str.2, %13548 ]
  store i32 %13543, ptr %228, align 4, !tbaa !5
  %13554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13555 = load i32, ptr @test_count, align 4, !tbaa !5
  %13556 = load i32, ptr %174, align 4, !tbaa !5
  %13557 = call ptr @s2n_strerror(i32 noundef %13556, ptr noundef nonnull @.str.4) #12
  %13558 = load i32, ptr %174, align 4, !tbaa !5
  %13559 = call ptr @s2n_strerror_debug(i32 noundef %13558, ptr noundef nonnull @.str.4) #12
  %13560 = load i32, ptr %228, align 4, !tbaa !5
  %13561 = call ptr @strerror(i32 noundef %13560) #12
  %13562 = load i32, ptr %228, align 4, !tbaa !5
  %13563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13554, ptr noundef nonnull %.str.5.sink6708, i32 noundef %13555, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 1318, ptr noundef %13557, ptr noundef %13559, ptr noundef %13561, i32 noundef %13562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13564:                                            ; preds = %13538
  %13565 = load i32, ptr @test_count, align 4, !tbaa !5
  %13566 = add nsw i32 %13565, 1
  store i32 %13566, ptr @test_count, align 4, !tbaa !5
  %13567 = load ptr, ptr %13513, align 8, !tbaa !92
  %13568 = icmp eq ptr %13567, @s2n_test_early_data_cb
  br i1 %13568, label %13591, label %13569

13569:                                            ; preds = %13564
  %13570 = load i32, ptr %228, align 4, !tbaa !5
  %13571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13572 = call i32 @s2n_print_stacktrace(ptr noundef %13571) #12
  %13573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13574 = trunc nuw i8 %13573 to i1
  br i1 %13574, label %13575, label %13579

13575:                                            ; preds = %13569
  %13576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13577 = call i32 @fileno(ptr noundef %13576) #12
  %13578 = call i32 @isatty(i32 noundef %13577) #12
  %.not1963 = icmp eq i32 %13578, 0
  br i1 %.not1963, label %13579, label %13580

13579:                                            ; preds = %13575, %13569
  br label %13580

13580:                                            ; preds = %13575, %13579
  %.str.5.sink6717 = phi ptr [ @.str.5, %13579 ], [ @.str.2, %13575 ]
  store i32 %13570, ptr %228, align 4, !tbaa !5
  %13581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13582 = load i32, ptr @test_count, align 4, !tbaa !5
  %13583 = load i32, ptr %174, align 4, !tbaa !5
  %13584 = call ptr @s2n_strerror(i32 noundef %13583, ptr noundef nonnull @.str.4) #12
  %13585 = load i32, ptr %174, align 4, !tbaa !5
  %13586 = call ptr @s2n_strerror_debug(i32 noundef %13585, ptr noundef nonnull @.str.4) #12
  %13587 = load i32, ptr %228, align 4, !tbaa !5
  %13588 = call ptr @strerror(i32 noundef %13587) #12
  %13589 = load i32, ptr %228, align 4, !tbaa !5
  %13590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13581, ptr noundef nonnull %.str.5.sink6717, i32 noundef %13582, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.1, i32 noundef 1319, ptr noundef %13584, ptr noundef %13586, ptr noundef %13588, i32 noundef %13589) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13591:                                            ; preds = %13564
  %13592 = add nsw i32 %13565, 2
  store i32 %13592, ptr @test_count, align 4, !tbaa !5
  %13593 = call i32 @s2n_config_set_early_data_cb(ptr noundef nonnull %13430, ptr noundef null) #12
  %13594 = icmp eq i32 %13593, -1
  br i1 %13594, label %13595, label %13617

13595:                                            ; preds = %13591
  %13596 = load i32, ptr %228, align 4, !tbaa !5
  %13597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13598 = call i32 @s2n_print_stacktrace(ptr noundef %13597) #12
  %13599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13600 = trunc nuw i8 %13599 to i1
  br i1 %13600, label %13601, label %13605

13601:                                            ; preds = %13595
  %13602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13603 = call i32 @fileno(ptr noundef %13602) #12
  %13604 = call i32 @isatty(i32 noundef %13603) #12
  %.not2033 = icmp eq i32 %13604, 0
  br i1 %.not2033, label %13605, label %13606

13605:                                            ; preds = %13601, %13595
  br label %13606

13606:                                            ; preds = %13601, %13605
  %.str.5.sink6726 = phi ptr [ @.str.5, %13605 ], [ @.str.2, %13601 ]
  store i32 %13596, ptr %228, align 4, !tbaa !5
  %13607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13608 = load i32, ptr @test_count, align 4, !tbaa !5
  %13609 = load i32, ptr %174, align 4, !tbaa !5
  %13610 = call ptr @s2n_strerror(i32 noundef %13609, ptr noundef nonnull @.str.4) #12
  %13611 = load i32, ptr %174, align 4, !tbaa !5
  %13612 = call ptr @s2n_strerror_debug(i32 noundef %13611, ptr noundef nonnull @.str.4) #12
  %13613 = load i32, ptr %228, align 4, !tbaa !5
  %13614 = call ptr @strerror(i32 noundef %13613) #12
  %13615 = load i32, ptr %228, align 4, !tbaa !5
  %13616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13607, ptr noundef nonnull %.str.5.sink6726, i32 noundef %13608, ptr noundef nonnull @.str.220, ptr noundef nonnull @.str.1, i32 noundef 1322, ptr noundef %13610, ptr noundef %13612, ptr noundef %13614, i32 noundef %13615) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13617:                                            ; preds = %13591
  %13618 = load i32, ptr @test_count, align 4, !tbaa !5
  %13619 = add nsw i32 %13618, 1
  store i32 %13619, ptr @test_count, align 4, !tbaa !5
  %13620 = load ptr, ptr %13513, align 8, !tbaa !92
  %13621 = icmp eq ptr %13620, null
  br i1 %13621, label %13644, label %13622

13622:                                            ; preds = %13617
  %13623 = load i32, ptr %228, align 4, !tbaa !5
  %13624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13625 = call i32 @s2n_print_stacktrace(ptr noundef %13624) #12
  %13626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13627 = trunc nuw i8 %13626 to i1
  br i1 %13627, label %13628, label %13632

13628:                                            ; preds = %13622
  %13629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13630 = call i32 @fileno(ptr noundef %13629) #12
  %13631 = call i32 @isatty(i32 noundef %13630) #12
  %.not1964 = icmp eq i32 %13631, 0
  br i1 %.not1964, label %13632, label %13633

13632:                                            ; preds = %13628, %13622
  br label %13633

13633:                                            ; preds = %13628, %13632
  %.str.5.sink6735 = phi ptr [ @.str.5, %13632 ], [ @.str.2, %13628 ]
  store i32 %13623, ptr %228, align 4, !tbaa !5
  %13634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13635 = load i32, ptr @test_count, align 4, !tbaa !5
  %13636 = load i32, ptr %174, align 4, !tbaa !5
  %13637 = call ptr @s2n_strerror(i32 noundef %13636, ptr noundef nonnull @.str.4) #12
  %13638 = load i32, ptr %174, align 4, !tbaa !5
  %13639 = call ptr @s2n_strerror_debug(i32 noundef %13638, ptr noundef nonnull @.str.4) #12
  %13640 = load i32, ptr %228, align 4, !tbaa !5
  %13641 = call ptr @strerror(i32 noundef %13640) #12
  %13642 = load i32, ptr %228, align 4, !tbaa !5
  %13643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13634, ptr noundef nonnull %.str.5.sink6735, i32 noundef %13635, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.1, i32 noundef 1323, ptr noundef %13637, ptr noundef %13639, ptr noundef %13641, i32 noundef %13642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13644:                                            ; preds = %13617
  %13645 = add nsw i32 %13618, 2
  store i32 %13645, ptr @test_count, align 4, !tbaa !5
  %13646 = call i32 @s2n_config_free(ptr noundef nonnull %13430) #12
  %13647 = icmp eq i32 %13646, -1
  br i1 %13647, label %13648, label %13670

13648:                                            ; preds = %13644
  %13649 = load i32, ptr %228, align 4, !tbaa !5
  %13650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13651 = call i32 @s2n_print_stacktrace(ptr noundef %13650) #12
  %13652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13653 = trunc nuw i8 %13652 to i1
  br i1 %13653, label %13654, label %13658

13654:                                            ; preds = %13648
  %13655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13656 = call i32 @fileno(ptr noundef %13655) #12
  %13657 = call i32 @isatty(i32 noundef %13656) #12
  %.not2032 = icmp eq i32 %13657, 0
  br i1 %.not2032, label %13658, label %13659

13658:                                            ; preds = %13654, %13648
  br label %13659

13659:                                            ; preds = %13654, %13658
  %.str.5.sink6744 = phi ptr [ @.str.5, %13658 ], [ @.str.2, %13654 ]
  store i32 %13649, ptr %228, align 4, !tbaa !5
  %13660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13661 = load i32, ptr @test_count, align 4, !tbaa !5
  %13662 = load i32, ptr %174, align 4, !tbaa !5
  %13663 = call ptr @s2n_strerror(i32 noundef %13662, ptr noundef nonnull @.str.4) #12
  %13664 = load i32, ptr %174, align 4, !tbaa !5
  %13665 = call ptr @s2n_strerror_debug(i32 noundef %13664, ptr noundef nonnull @.str.4) #12
  %13666 = load i32, ptr %228, align 4, !tbaa !5
  %13667 = call ptr @strerror(i32 noundef %13666) #12
  %13668 = load i32, ptr %228, align 4, !tbaa !5
  %13669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13660, ptr noundef nonnull %.str.5.sink6744, i32 noundef %13661, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 1325, ptr noundef %13663, ptr noundef %13665, ptr noundef %13667, i32 noundef %13668) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13670:                                            ; preds = %13644
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  store i64 0, ptr %47, align 8
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %48) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %48, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.context, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %49) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %49, i8 0, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %50) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %50, i8 0, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %51) #12
  store i16 1, ptr %51, align 2, !tbaa !87
  %13671 = load i32, ptr @test_count, align 4, !tbaa !5
  %13672 = add nsw i32 %13671, 1
  store i32 %13672, ptr @test_count, align 4, !tbaa !5
  %13673 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef null, ptr noundef nonnull %51) #12
  %13674 = icmp eq i32 %13673, -1
  br i1 %13674, label %13697, label %13675

13675:                                            ; preds = %13670
  %13676 = load i32, ptr %228, align 4, !tbaa !5
  %13677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13678 = call i32 @s2n_print_stacktrace(ptr noundef %13677) #12
  %13679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13680 = trunc nuw i8 %13679 to i1
  br i1 %13680, label %13681, label %13685

13681:                                            ; preds = %13675
  %13682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13683 = call i32 @fileno(ptr noundef %13682) #12
  %13684 = call i32 @isatty(i32 noundef %13683) #12
  %.not1965 = icmp eq i32 %13684, 0
  br i1 %.not1965, label %13685, label %13686

13685:                                            ; preds = %13681, %13675
  br label %13686

13686:                                            ; preds = %13681, %13685
  %.str.5.sink6753 = phi ptr [ @.str.5, %13685 ], [ @.str.2, %13681 ]
  store i32 %13676, ptr %228, align 4, !tbaa !5
  %13687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13688 = load i32, ptr @test_count, align 4, !tbaa !5
  %13689 = load i32, ptr %174, align 4, !tbaa !5
  %13690 = call ptr @s2n_strerror(i32 noundef %13689, ptr noundef nonnull @.str.4) #12
  %13691 = load i32, ptr %174, align 4, !tbaa !5
  %13692 = call ptr @s2n_strerror_debug(i32 noundef %13691, ptr noundef nonnull @.str.4) #12
  %13693 = load i32, ptr %228, align 4, !tbaa !5
  %13694 = call ptr @strerror(i32 noundef %13693) #12
  %13695 = load i32, ptr %228, align 4, !tbaa !5
  %13696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13687, ptr noundef nonnull %.str.5.sink6753, i32 noundef %13688, ptr noundef nonnull @.str.222, ptr noundef nonnull @.str.1, i32 noundef 1338, ptr noundef %13690, ptr noundef %13692, ptr noundef %13694, i32 noundef %13695) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13697:                                            ; preds = %13670
  %13698 = load i32, ptr @test_count, align 4, !tbaa !5
  %13699 = add nsw i32 %13698, 1
  store i32 %13699, ptr @test_count, align 4, !tbaa !5
  %13700 = load i32, ptr %174, align 4, !tbaa !5
  %13701 = icmp eq i32 %13700, 402653193
  br i1 %13701, label %13724, label %13702

13702:                                            ; preds = %13697
  %13703 = load i32, ptr %228, align 4, !tbaa !5
  %13704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13705 = call i32 @s2n_print_stacktrace(ptr noundef %13704) #12
  %13706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13707 = trunc nuw i8 %13706 to i1
  br i1 %13707, label %13708, label %13712

13708:                                            ; preds = %13702
  %13709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13710 = call i32 @fileno(ptr noundef %13709) #12
  %13711 = call i32 @isatty(i32 noundef %13710) #12
  %.not1966 = icmp eq i32 %13711, 0
  br i1 %.not1966, label %13712, label %13713

13712:                                            ; preds = %13708, %13702
  br label %13713

13713:                                            ; preds = %13708, %13712
  %.str.5.sink6762 = phi ptr [ @.str.5, %13712 ], [ @.str.2, %13708 ]
  store i32 %13703, ptr %228, align 4, !tbaa !5
  %13714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13715 = load i32, ptr @test_count, align 4, !tbaa !5
  %13716 = load i32, ptr %174, align 4, !tbaa !5
  %13717 = call ptr @s2n_strerror(i32 noundef %13716, ptr noundef nonnull @.str.4) #12
  %13718 = load i32, ptr %174, align 4, !tbaa !5
  %13719 = call ptr @s2n_strerror_debug(i32 noundef %13718, ptr noundef nonnull @.str.4) #12
  %13720 = load i32, ptr %228, align 4, !tbaa !5
  %13721 = call ptr @strerror(i32 noundef %13720) #12
  %13722 = load i32, ptr %228, align 4, !tbaa !5
  %13723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13714, ptr noundef nonnull %.str.5.sink6762, i32 noundef %13715, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1338, ptr noundef %13717, ptr noundef %13719, ptr noundef %13721, i32 noundef %13722) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13724:                                            ; preds = %13697
  %13725 = add nsw i32 %13698, 2
  store i32 %13725, ptr @test_count, align 4, !tbaa !5
  %13726 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %13727 = icmp eq ptr %13726, null
  br i1 %13727, label %13728, label %13750

13728:                                            ; preds = %13724
  %13729 = load i32, ptr %228, align 4, !tbaa !5
  %13730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13731 = call i32 @s2n_print_stacktrace(ptr noundef %13730) #12
  %13732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13733 = trunc nuw i8 %13732 to i1
  br i1 %13733, label %13734, label %13738

13734:                                            ; preds = %13728
  %13735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13736 = call i32 @fileno(ptr noundef %13735) #12
  %13737 = call i32 @isatty(i32 noundef %13736) #12
  %.not2031 = icmp eq i32 %13737, 0
  br i1 %.not2031, label %13738, label %13739

13738:                                            ; preds = %13734, %13728
  br label %13739

13739:                                            ; preds = %13734, %13738
  %.str.5.sink6771 = phi ptr [ @.str.5, %13738 ], [ @.str.2, %13734 ]
  store i32 %13729, ptr %228, align 4, !tbaa !5
  %13740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13741 = load i32, ptr @test_count, align 4, !tbaa !5
  %13742 = load i32, ptr %174, align 4, !tbaa !5
  %13743 = call ptr @s2n_strerror(i32 noundef %13742, ptr noundef nonnull @.str.4) #12
  %13744 = load i32, ptr %174, align 4, !tbaa !5
  %13745 = call ptr @s2n_strerror_debug(i32 noundef %13744, ptr noundef nonnull @.str.4) #12
  %13746 = load i32, ptr %228, align 4, !tbaa !5
  %13747 = call ptr @strerror(i32 noundef %13746) #12
  %13748 = load i32, ptr %228, align 4, !tbaa !5
  %13749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13740, ptr noundef nonnull %.str.5.sink6771, i32 noundef %13741, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1338, ptr noundef %13743, ptr noundef %13745, ptr noundef %13747, i32 noundef %13748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13750:                                            ; preds = %13724
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %13751 = load i32, ptr @test_count, align 4, !tbaa !5
  %13752 = add nsw i32 %13751, 1
  store i32 %13752, ptr @test_count, align 4, !tbaa !5
  %13753 = call i32 @s2n_offered_early_data_get_context(ptr noundef null, ptr noundef nonnull %50, i16 noundef zeroext 1) #12
  %13754 = icmp eq i32 %13753, -1
  br i1 %13754, label %13777, label %13755

13755:                                            ; preds = %13750
  %13756 = load i32, ptr %228, align 4, !tbaa !5
  %13757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13758 = call i32 @s2n_print_stacktrace(ptr noundef %13757) #12
  %13759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13760 = trunc nuw i8 %13759 to i1
  br i1 %13760, label %13761, label %13765

13761:                                            ; preds = %13755
  %13762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13763 = call i32 @fileno(ptr noundef %13762) #12
  %13764 = call i32 @isatty(i32 noundef %13763) #12
  %.not1967 = icmp eq i32 %13764, 0
  br i1 %.not1967, label %13765, label %13766

13765:                                            ; preds = %13761, %13755
  br label %13766

13766:                                            ; preds = %13761, %13765
  %.str.5.sink6780 = phi ptr [ @.str.5, %13765 ], [ @.str.2, %13761 ]
  store i32 %13756, ptr %228, align 4, !tbaa !5
  %13767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13768 = load i32, ptr @test_count, align 4, !tbaa !5
  %13769 = load i32, ptr %174, align 4, !tbaa !5
  %13770 = call ptr @s2n_strerror(i32 noundef %13769, ptr noundef nonnull @.str.4) #12
  %13771 = load i32, ptr %174, align 4, !tbaa !5
  %13772 = call ptr @s2n_strerror_debug(i32 noundef %13771, ptr noundef nonnull @.str.4) #12
  %13773 = load i32, ptr %228, align 4, !tbaa !5
  %13774 = call ptr @strerror(i32 noundef %13773) #12
  %13775 = load i32, ptr %228, align 4, !tbaa !5
  %13776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13767, ptr noundef nonnull %.str.5.sink6780, i32 noundef %13768, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.1, i32 noundef 1339, ptr noundef %13770, ptr noundef %13772, ptr noundef %13774, i32 noundef %13775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13777:                                            ; preds = %13750
  %13778 = load i32, ptr @test_count, align 4, !tbaa !5
  %13779 = add nsw i32 %13778, 1
  store i32 %13779, ptr @test_count, align 4, !tbaa !5
  %13780 = load i32, ptr %174, align 4, !tbaa !5
  %13781 = icmp eq i32 %13780, 402653193
  br i1 %13781, label %13804, label %13782

13782:                                            ; preds = %13777
  %13783 = load i32, ptr %228, align 4, !tbaa !5
  %13784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13785 = call i32 @s2n_print_stacktrace(ptr noundef %13784) #12
  %13786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13787 = trunc nuw i8 %13786 to i1
  br i1 %13787, label %13788, label %13792

13788:                                            ; preds = %13782
  %13789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13790 = call i32 @fileno(ptr noundef %13789) #12
  %13791 = call i32 @isatty(i32 noundef %13790) #12
  %.not1968 = icmp eq i32 %13791, 0
  br i1 %.not1968, label %13792, label %13793

13792:                                            ; preds = %13788, %13782
  br label %13793

13793:                                            ; preds = %13788, %13792
  %.str.5.sink6789 = phi ptr [ @.str.5, %13792 ], [ @.str.2, %13788 ]
  store i32 %13783, ptr %228, align 4, !tbaa !5
  %13794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13795 = load i32, ptr @test_count, align 4, !tbaa !5
  %13796 = load i32, ptr %174, align 4, !tbaa !5
  %13797 = call ptr @s2n_strerror(i32 noundef %13796, ptr noundef nonnull @.str.4) #12
  %13798 = load i32, ptr %174, align 4, !tbaa !5
  %13799 = call ptr @s2n_strerror_debug(i32 noundef %13798, ptr noundef nonnull @.str.4) #12
  %13800 = load i32, ptr %228, align 4, !tbaa !5
  %13801 = call ptr @strerror(i32 noundef %13800) #12
  %13802 = load i32, ptr %228, align 4, !tbaa !5
  %13803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13794, ptr noundef nonnull %.str.5.sink6789, i32 noundef %13795, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1339, ptr noundef %13797, ptr noundef %13799, ptr noundef %13801, i32 noundef %13802) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13804:                                            ; preds = %13777
  %13805 = add nsw i32 %13778, 2
  store i32 %13805, ptr @test_count, align 4, !tbaa !5
  %13806 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %13807 = icmp eq ptr %13806, null
  br i1 %13807, label %13808, label %13830

13808:                                            ; preds = %13804
  %13809 = load i32, ptr %228, align 4, !tbaa !5
  %13810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13811 = call i32 @s2n_print_stacktrace(ptr noundef %13810) #12
  %13812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13813 = trunc nuw i8 %13812 to i1
  br i1 %13813, label %13814, label %13818

13814:                                            ; preds = %13808
  %13815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13816 = call i32 @fileno(ptr noundef %13815) #12
  %13817 = call i32 @isatty(i32 noundef %13816) #12
  %.not2030 = icmp eq i32 %13817, 0
  br i1 %.not2030, label %13818, label %13819

13818:                                            ; preds = %13814, %13808
  br label %13819

13819:                                            ; preds = %13814, %13818
  %.str.5.sink6798 = phi ptr [ @.str.5, %13818 ], [ @.str.2, %13814 ]
  store i32 %13809, ptr %228, align 4, !tbaa !5
  %13820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13821 = load i32, ptr @test_count, align 4, !tbaa !5
  %13822 = load i32, ptr %174, align 4, !tbaa !5
  %13823 = call ptr @s2n_strerror(i32 noundef %13822, ptr noundef nonnull @.str.4) #12
  %13824 = load i32, ptr %174, align 4, !tbaa !5
  %13825 = call ptr @s2n_strerror_debug(i32 noundef %13824, ptr noundef nonnull @.str.4) #12
  %13826 = load i32, ptr %228, align 4, !tbaa !5
  %13827 = call ptr @strerror(i32 noundef %13826) #12
  %13828 = load i32, ptr %228, align 4, !tbaa !5
  %13829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13820, ptr noundef nonnull %.str.5.sink6798, i32 noundef %13821, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1339, ptr noundef %13823, ptr noundef %13825, ptr noundef %13827, i32 noundef %13828) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13830:                                            ; preds = %13804
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %13831 = load i32, ptr @test_count, align 4, !tbaa !5
  %13832 = add nsw i32 %13831, 1
  store i32 %13832, ptr @test_count, align 4, !tbaa !5
  %13833 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef nonnull %47, ptr noundef null) #12
  %13834 = icmp eq i32 %13833, -1
  br i1 %13834, label %13857, label %13835

13835:                                            ; preds = %13830
  %13836 = load i32, ptr %228, align 4, !tbaa !5
  %13837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13838 = call i32 @s2n_print_stacktrace(ptr noundef %13837) #12
  %13839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13840 = trunc nuw i8 %13839 to i1
  br i1 %13840, label %13841, label %13845

13841:                                            ; preds = %13835
  %13842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13843 = call i32 @fileno(ptr noundef %13842) #12
  %13844 = call i32 @isatty(i32 noundef %13843) #12
  %.not1969 = icmp eq i32 %13844, 0
  br i1 %.not1969, label %13845, label %13846

13845:                                            ; preds = %13841, %13835
  br label %13846

13846:                                            ; preds = %13841, %13845
  %.str.5.sink6807 = phi ptr [ @.str.5, %13845 ], [ @.str.2, %13841 ]
  store i32 %13836, ptr %228, align 4, !tbaa !5
  %13847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13848 = load i32, ptr @test_count, align 4, !tbaa !5
  %13849 = load i32, ptr %174, align 4, !tbaa !5
  %13850 = call ptr @s2n_strerror(i32 noundef %13849, ptr noundef nonnull @.str.4) #12
  %13851 = load i32, ptr %174, align 4, !tbaa !5
  %13852 = call ptr @s2n_strerror_debug(i32 noundef %13851, ptr noundef nonnull @.str.4) #12
  %13853 = load i32, ptr %228, align 4, !tbaa !5
  %13854 = call ptr @strerror(i32 noundef %13853) #12
  %13855 = load i32, ptr %228, align 4, !tbaa !5
  %13856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13847, ptr noundef nonnull %.str.5.sink6807, i32 noundef %13848, ptr noundef nonnull @.str.224, ptr noundef nonnull @.str.1, i32 noundef 1341, ptr noundef %13850, ptr noundef %13852, ptr noundef %13854, i32 noundef %13855) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13857:                                            ; preds = %13830
  %13858 = load i32, ptr @test_count, align 4, !tbaa !5
  %13859 = add nsw i32 %13858, 1
  store i32 %13859, ptr @test_count, align 4, !tbaa !5
  %13860 = load i32, ptr %174, align 4, !tbaa !5
  %13861 = icmp eq i32 %13860, 402653193
  br i1 %13861, label %13884, label %13862

13862:                                            ; preds = %13857
  %13863 = load i32, ptr %228, align 4, !tbaa !5
  %13864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13865 = call i32 @s2n_print_stacktrace(ptr noundef %13864) #12
  %13866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13867 = trunc nuw i8 %13866 to i1
  br i1 %13867, label %13868, label %13872

13868:                                            ; preds = %13862
  %13869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13870 = call i32 @fileno(ptr noundef %13869) #12
  %13871 = call i32 @isatty(i32 noundef %13870) #12
  %.not1970 = icmp eq i32 %13871, 0
  br i1 %.not1970, label %13872, label %13873

13872:                                            ; preds = %13868, %13862
  br label %13873

13873:                                            ; preds = %13868, %13872
  %.str.5.sink6816 = phi ptr [ @.str.5, %13872 ], [ @.str.2, %13868 ]
  store i32 %13863, ptr %228, align 4, !tbaa !5
  %13874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13875 = load i32, ptr @test_count, align 4, !tbaa !5
  %13876 = load i32, ptr %174, align 4, !tbaa !5
  %13877 = call ptr @s2n_strerror(i32 noundef %13876, ptr noundef nonnull @.str.4) #12
  %13878 = load i32, ptr %174, align 4, !tbaa !5
  %13879 = call ptr @s2n_strerror_debug(i32 noundef %13878, ptr noundef nonnull @.str.4) #12
  %13880 = load i32, ptr %228, align 4, !tbaa !5
  %13881 = call ptr @strerror(i32 noundef %13880) #12
  %13882 = load i32, ptr %228, align 4, !tbaa !5
  %13883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13874, ptr noundef nonnull %.str.5.sink6816, i32 noundef %13875, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1341, ptr noundef %13877, ptr noundef %13879, ptr noundef %13881, i32 noundef %13882) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13884:                                            ; preds = %13857
  %13885 = add nsw i32 %13858, 2
  store i32 %13885, ptr @test_count, align 4, !tbaa !5
  %13886 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %13887 = icmp eq ptr %13886, null
  br i1 %13887, label %13888, label %13910

13888:                                            ; preds = %13884
  %13889 = load i32, ptr %228, align 4, !tbaa !5
  %13890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13891 = call i32 @s2n_print_stacktrace(ptr noundef %13890) #12
  %13892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13893 = trunc nuw i8 %13892 to i1
  br i1 %13893, label %13894, label %13898

13894:                                            ; preds = %13888
  %13895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13896 = call i32 @fileno(ptr noundef %13895) #12
  %13897 = call i32 @isatty(i32 noundef %13896) #12
  %.not2029 = icmp eq i32 %13897, 0
  br i1 %.not2029, label %13898, label %13899

13898:                                            ; preds = %13894, %13888
  br label %13899

13899:                                            ; preds = %13894, %13898
  %.str.5.sink6825 = phi ptr [ @.str.5, %13898 ], [ @.str.2, %13894 ]
  store i32 %13889, ptr %228, align 4, !tbaa !5
  %13900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13901 = load i32, ptr @test_count, align 4, !tbaa !5
  %13902 = load i32, ptr %174, align 4, !tbaa !5
  %13903 = call ptr @s2n_strerror(i32 noundef %13902, ptr noundef nonnull @.str.4) #12
  %13904 = load i32, ptr %174, align 4, !tbaa !5
  %13905 = call ptr @s2n_strerror_debug(i32 noundef %13904, ptr noundef nonnull @.str.4) #12
  %13906 = load i32, ptr %228, align 4, !tbaa !5
  %13907 = call ptr @strerror(i32 noundef %13906) #12
  %13908 = load i32, ptr %228, align 4, !tbaa !5
  %13909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13900, ptr noundef nonnull %.str.5.sink6825, i32 noundef %13901, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1341, ptr noundef %13903, ptr noundef %13905, ptr noundef %13907, i32 noundef %13908) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13910:                                            ; preds = %13884
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %13911 = load i32, ptr @test_count, align 4, !tbaa !5
  %13912 = add nsw i32 %13911, 1
  store i32 %13912, ptr @test_count, align 4, !tbaa !5
  %13913 = call i32 @s2n_offered_early_data_get_context(ptr noundef nonnull %47, ptr noundef null, i16 noundef zeroext 1) #12
  %13914 = icmp eq i32 %13913, -1
  br i1 %13914, label %13937, label %13915

13915:                                            ; preds = %13910
  %13916 = load i32, ptr %228, align 4, !tbaa !5
  %13917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13918 = call i32 @s2n_print_stacktrace(ptr noundef %13917) #12
  %13919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13920 = trunc nuw i8 %13919 to i1
  br i1 %13920, label %13921, label %13925

13921:                                            ; preds = %13915
  %13922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13923 = call i32 @fileno(ptr noundef %13922) #12
  %13924 = call i32 @isatty(i32 noundef %13923) #12
  %.not1971 = icmp eq i32 %13924, 0
  br i1 %.not1971, label %13925, label %13926

13925:                                            ; preds = %13921, %13915
  br label %13926

13926:                                            ; preds = %13921, %13925
  %.str.5.sink6834 = phi ptr [ @.str.5, %13925 ], [ @.str.2, %13921 ]
  store i32 %13916, ptr %228, align 4, !tbaa !5
  %13927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13928 = load i32, ptr @test_count, align 4, !tbaa !5
  %13929 = load i32, ptr %174, align 4, !tbaa !5
  %13930 = call ptr @s2n_strerror(i32 noundef %13929, ptr noundef nonnull @.str.4) #12
  %13931 = load i32, ptr %174, align 4, !tbaa !5
  %13932 = call ptr @s2n_strerror_debug(i32 noundef %13931, ptr noundef nonnull @.str.4) #12
  %13933 = load i32, ptr %228, align 4, !tbaa !5
  %13934 = call ptr @strerror(i32 noundef %13933) #12
  %13935 = load i32, ptr %228, align 4, !tbaa !5
  %13936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13927, ptr noundef nonnull %.str.5.sink6834, i32 noundef %13928, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.1, i32 noundef 1342, ptr noundef %13930, ptr noundef %13932, ptr noundef %13934, i32 noundef %13935) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13937:                                            ; preds = %13910
  %13938 = load i32, ptr @test_count, align 4, !tbaa !5
  %13939 = add nsw i32 %13938, 1
  store i32 %13939, ptr @test_count, align 4, !tbaa !5
  %13940 = load i32, ptr %174, align 4, !tbaa !5
  %13941 = icmp eq i32 %13940, 402653193
  br i1 %13941, label %13964, label %13942

13942:                                            ; preds = %13937
  %13943 = load i32, ptr %228, align 4, !tbaa !5
  %13944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13945 = call i32 @s2n_print_stacktrace(ptr noundef %13944) #12
  %13946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13947 = trunc nuw i8 %13946 to i1
  br i1 %13947, label %13948, label %13952

13948:                                            ; preds = %13942
  %13949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13950 = call i32 @fileno(ptr noundef %13949) #12
  %13951 = call i32 @isatty(i32 noundef %13950) #12
  %.not1972 = icmp eq i32 %13951, 0
  br i1 %.not1972, label %13952, label %13953

13952:                                            ; preds = %13948, %13942
  br label %13953

13953:                                            ; preds = %13948, %13952
  %.str.5.sink6843 = phi ptr [ @.str.5, %13952 ], [ @.str.2, %13948 ]
  store i32 %13943, ptr %228, align 4, !tbaa !5
  %13954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13955 = load i32, ptr @test_count, align 4, !tbaa !5
  %13956 = load i32, ptr %174, align 4, !tbaa !5
  %13957 = call ptr @s2n_strerror(i32 noundef %13956, ptr noundef nonnull @.str.4) #12
  %13958 = load i32, ptr %174, align 4, !tbaa !5
  %13959 = call ptr @s2n_strerror_debug(i32 noundef %13958, ptr noundef nonnull @.str.4) #12
  %13960 = load i32, ptr %228, align 4, !tbaa !5
  %13961 = call ptr @strerror(i32 noundef %13960) #12
  %13962 = load i32, ptr %228, align 4, !tbaa !5
  %13963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13954, ptr noundef nonnull %.str.5.sink6843, i32 noundef %13955, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1342, ptr noundef %13957, ptr noundef %13959, ptr noundef %13961, i32 noundef %13962) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13964:                                            ; preds = %13937
  %13965 = add nsw i32 %13938, 2
  store i32 %13965, ptr @test_count, align 4, !tbaa !5
  %13966 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %13967 = icmp eq ptr %13966, null
  br i1 %13967, label %13968, label %13990

13968:                                            ; preds = %13964
  %13969 = load i32, ptr %228, align 4, !tbaa !5
  %13970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13971 = call i32 @s2n_print_stacktrace(ptr noundef %13970) #12
  %13972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13973 = trunc nuw i8 %13972 to i1
  br i1 %13973, label %13974, label %13978

13974:                                            ; preds = %13968
  %13975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13976 = call i32 @fileno(ptr noundef %13975) #12
  %13977 = call i32 @isatty(i32 noundef %13976) #12
  %.not2028 = icmp eq i32 %13977, 0
  br i1 %.not2028, label %13978, label %13979

13978:                                            ; preds = %13974, %13968
  br label %13979

13979:                                            ; preds = %13974, %13978
  %.str.5.sink6852 = phi ptr [ @.str.5, %13978 ], [ @.str.2, %13974 ]
  store i32 %13969, ptr %228, align 4, !tbaa !5
  %13980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13981 = load i32, ptr @test_count, align 4, !tbaa !5
  %13982 = load i32, ptr %174, align 4, !tbaa !5
  %13983 = call ptr @s2n_strerror(i32 noundef %13982, ptr noundef nonnull @.str.4) #12
  %13984 = load i32, ptr %174, align 4, !tbaa !5
  %13985 = call ptr @s2n_strerror_debug(i32 noundef %13984, ptr noundef nonnull @.str.4) #12
  %13986 = load i32, ptr %228, align 4, !tbaa !5
  %13987 = call ptr @strerror(i32 noundef %13986) #12
  %13988 = load i32, ptr %228, align 4, !tbaa !5
  %13989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13980, ptr noundef nonnull %.str.5.sink6852, i32 noundef %13981, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1342, ptr noundef %13983, ptr noundef %13985, ptr noundef %13987, i32 noundef %13988) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13990:                                            ; preds = %13964
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %13991 = load i32, ptr @test_count, align 4, !tbaa !5
  %13992 = add nsw i32 %13991, 1
  store i32 %13992, ptr @test_count, align 4, !tbaa !5
  %13993 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef nonnull %47, ptr noundef nonnull %51) #12
  %13994 = icmp eq i32 %13993, -1
  br i1 %13994, label %14017, label %13995

13995:                                            ; preds = %13990
  %13996 = load i32, ptr %228, align 4, !tbaa !5
  %13997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13998 = call i32 @s2n_print_stacktrace(ptr noundef %13997) #12
  %13999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14000 = trunc nuw i8 %13999 to i1
  br i1 %14000, label %14001, label %14005

14001:                                            ; preds = %13995
  %14002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14003 = call i32 @fileno(ptr noundef %14002) #12
  %14004 = call i32 @isatty(i32 noundef %14003) #12
  %.not1973 = icmp eq i32 %14004, 0
  br i1 %.not1973, label %14005, label %14006

14005:                                            ; preds = %14001, %13995
  br label %14006

14006:                                            ; preds = %14001, %14005
  %.str.5.sink6861 = phi ptr [ @.str.5, %14005 ], [ @.str.2, %14001 ]
  store i32 %13996, ptr %228, align 4, !tbaa !5
  %14007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14008 = load i32, ptr @test_count, align 4, !tbaa !5
  %14009 = load i32, ptr %174, align 4, !tbaa !5
  %14010 = call ptr @s2n_strerror(i32 noundef %14009, ptr noundef nonnull @.str.4) #12
  %14011 = load i32, ptr %174, align 4, !tbaa !5
  %14012 = call ptr @s2n_strerror_debug(i32 noundef %14011, ptr noundef nonnull @.str.4) #12
  %14013 = load i32, ptr %228, align 4, !tbaa !5
  %14014 = call ptr @strerror(i32 noundef %14013) #12
  %14015 = load i32, ptr %228, align 4, !tbaa !5
  %14016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14007, ptr noundef nonnull %.str.5.sink6861, i32 noundef %14008, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.1, i32 noundef 1344, ptr noundef %14010, ptr noundef %14012, ptr noundef %14014, i32 noundef %14015) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14017:                                            ; preds = %13990
  %14018 = load i32, ptr @test_count, align 4, !tbaa !5
  %14019 = add nsw i32 %14018, 1
  store i32 %14019, ptr @test_count, align 4, !tbaa !5
  %14020 = load i32, ptr %174, align 4, !tbaa !5
  %14021 = icmp eq i32 %14020, 402653193
  br i1 %14021, label %14044, label %14022

14022:                                            ; preds = %14017
  %14023 = load i32, ptr %228, align 4, !tbaa !5
  %14024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14025 = call i32 @s2n_print_stacktrace(ptr noundef %14024) #12
  %14026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14027 = trunc nuw i8 %14026 to i1
  br i1 %14027, label %14028, label %14032

14028:                                            ; preds = %14022
  %14029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14030 = call i32 @fileno(ptr noundef %14029) #12
  %14031 = call i32 @isatty(i32 noundef %14030) #12
  %.not1974 = icmp eq i32 %14031, 0
  br i1 %.not1974, label %14032, label %14033

14032:                                            ; preds = %14028, %14022
  br label %14033

14033:                                            ; preds = %14028, %14032
  %.str.5.sink6870 = phi ptr [ @.str.5, %14032 ], [ @.str.2, %14028 ]
  store i32 %14023, ptr %228, align 4, !tbaa !5
  %14034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14035 = load i32, ptr @test_count, align 4, !tbaa !5
  %14036 = load i32, ptr %174, align 4, !tbaa !5
  %14037 = call ptr @s2n_strerror(i32 noundef %14036, ptr noundef nonnull @.str.4) #12
  %14038 = load i32, ptr %174, align 4, !tbaa !5
  %14039 = call ptr @s2n_strerror_debug(i32 noundef %14038, ptr noundef nonnull @.str.4) #12
  %14040 = load i32, ptr %228, align 4, !tbaa !5
  %14041 = call ptr @strerror(i32 noundef %14040) #12
  %14042 = load i32, ptr %228, align 4, !tbaa !5
  %14043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14034, ptr noundef nonnull %.str.5.sink6870, i32 noundef %14035, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1344, ptr noundef %14037, ptr noundef %14039, ptr noundef %14041, i32 noundef %14042) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14044:                                            ; preds = %14017
  %14045 = add nsw i32 %14018, 2
  store i32 %14045, ptr @test_count, align 4, !tbaa !5
  %14046 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %14047 = icmp eq ptr %14046, null
  br i1 %14047, label %14048, label %14070

14048:                                            ; preds = %14044
  %14049 = load i32, ptr %228, align 4, !tbaa !5
  %14050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14051 = call i32 @s2n_print_stacktrace(ptr noundef %14050) #12
  %14052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14053 = trunc nuw i8 %14052 to i1
  br i1 %14053, label %14054, label %14058

14054:                                            ; preds = %14048
  %14055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14056 = call i32 @fileno(ptr noundef %14055) #12
  %14057 = call i32 @isatty(i32 noundef %14056) #12
  %.not2027 = icmp eq i32 %14057, 0
  br i1 %.not2027, label %14058, label %14059

14058:                                            ; preds = %14054, %14048
  br label %14059

14059:                                            ; preds = %14054, %14058
  %.str.5.sink6879 = phi ptr [ @.str.5, %14058 ], [ @.str.2, %14054 ]
  store i32 %14049, ptr %228, align 4, !tbaa !5
  %14060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14061 = load i32, ptr @test_count, align 4, !tbaa !5
  %14062 = load i32, ptr %174, align 4, !tbaa !5
  %14063 = call ptr @s2n_strerror(i32 noundef %14062, ptr noundef nonnull @.str.4) #12
  %14064 = load i32, ptr %174, align 4, !tbaa !5
  %14065 = call ptr @s2n_strerror_debug(i32 noundef %14064, ptr noundef nonnull @.str.4) #12
  %14066 = load i32, ptr %228, align 4, !tbaa !5
  %14067 = call ptr @strerror(i32 noundef %14066) #12
  %14068 = load i32, ptr %228, align 4, !tbaa !5
  %14069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14060, ptr noundef nonnull %.str.5.sink6879, i32 noundef %14061, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1344, ptr noundef %14063, ptr noundef %14065, ptr noundef %14067, i32 noundef %14068) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14070:                                            ; preds = %14044
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %14071 = load i32, ptr @test_count, align 4, !tbaa !5
  %14072 = add nsw i32 %14071, 1
  store i32 %14072, ptr @test_count, align 4, !tbaa !5
  %14073 = call i32 @s2n_offered_early_data_get_context(ptr noundef nonnull %47, ptr noundef nonnull %50, i16 noundef zeroext 1) #12
  %14074 = icmp eq i32 %14073, -1
  br i1 %14074, label %14097, label %14075

14075:                                            ; preds = %14070
  %14076 = load i32, ptr %228, align 4, !tbaa !5
  %14077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14078 = call i32 @s2n_print_stacktrace(ptr noundef %14077) #12
  %14079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14080 = trunc nuw i8 %14079 to i1
  br i1 %14080, label %14081, label %14085

14081:                                            ; preds = %14075
  %14082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14083 = call i32 @fileno(ptr noundef %14082) #12
  %14084 = call i32 @isatty(i32 noundef %14083) #12
  %.not1975 = icmp eq i32 %14084, 0
  br i1 %.not1975, label %14085, label %14086

14085:                                            ; preds = %14081, %14075
  br label %14086

14086:                                            ; preds = %14081, %14085
  %.str.5.sink6888 = phi ptr [ @.str.5, %14085 ], [ @.str.2, %14081 ]
  store i32 %14076, ptr %228, align 4, !tbaa !5
  %14087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14088 = load i32, ptr @test_count, align 4, !tbaa !5
  %14089 = load i32, ptr %174, align 4, !tbaa !5
  %14090 = call ptr @s2n_strerror(i32 noundef %14089, ptr noundef nonnull @.str.4) #12
  %14091 = load i32, ptr %174, align 4, !tbaa !5
  %14092 = call ptr @s2n_strerror_debug(i32 noundef %14091, ptr noundef nonnull @.str.4) #12
  %14093 = load i32, ptr %228, align 4, !tbaa !5
  %14094 = call ptr @strerror(i32 noundef %14093) #12
  %14095 = load i32, ptr %228, align 4, !tbaa !5
  %14096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14087, ptr noundef nonnull %.str.5.sink6888, i32 noundef %14088, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 1345, ptr noundef %14090, ptr noundef %14092, ptr noundef %14094, i32 noundef %14095) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14097:                                            ; preds = %14070
  %14098 = load i32, ptr @test_count, align 4, !tbaa !5
  %14099 = add nsw i32 %14098, 1
  store i32 %14099, ptr @test_count, align 4, !tbaa !5
  %14100 = load i32, ptr %174, align 4, !tbaa !5
  %14101 = icmp eq i32 %14100, 402653193
  br i1 %14101, label %14124, label %14102

14102:                                            ; preds = %14097
  %14103 = load i32, ptr %228, align 4, !tbaa !5
  %14104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14105 = call i32 @s2n_print_stacktrace(ptr noundef %14104) #12
  %14106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14107 = trunc nuw i8 %14106 to i1
  br i1 %14107, label %14108, label %14112

14108:                                            ; preds = %14102
  %14109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14110 = call i32 @fileno(ptr noundef %14109) #12
  %14111 = call i32 @isatty(i32 noundef %14110) #12
  %.not1976 = icmp eq i32 %14111, 0
  br i1 %.not1976, label %14112, label %14113

14112:                                            ; preds = %14108, %14102
  br label %14113

14113:                                            ; preds = %14108, %14112
  %.str.5.sink6897 = phi ptr [ @.str.5, %14112 ], [ @.str.2, %14108 ]
  store i32 %14103, ptr %228, align 4, !tbaa !5
  %14114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14115 = load i32, ptr @test_count, align 4, !tbaa !5
  %14116 = load i32, ptr %174, align 4, !tbaa !5
  %14117 = call ptr @s2n_strerror(i32 noundef %14116, ptr noundef nonnull @.str.4) #12
  %14118 = load i32, ptr %174, align 4, !tbaa !5
  %14119 = call ptr @s2n_strerror_debug(i32 noundef %14118, ptr noundef nonnull @.str.4) #12
  %14120 = load i32, ptr %228, align 4, !tbaa !5
  %14121 = call ptr @strerror(i32 noundef %14120) #12
  %14122 = load i32, ptr %228, align 4, !tbaa !5
  %14123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14114, ptr noundef nonnull %.str.5.sink6897, i32 noundef %14115, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1345, ptr noundef %14117, ptr noundef %14119, ptr noundef %14121, i32 noundef %14122) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14124:                                            ; preds = %14097
  %14125 = add nsw i32 %14098, 2
  store i32 %14125, ptr @test_count, align 4, !tbaa !5
  %14126 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %14127 = icmp eq ptr %14126, null
  br i1 %14127, label %14128, label %14150

14128:                                            ; preds = %14124
  %14129 = load i32, ptr %228, align 4, !tbaa !5
  %14130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14131 = call i32 @s2n_print_stacktrace(ptr noundef %14130) #12
  %14132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14133 = trunc nuw i8 %14132 to i1
  br i1 %14133, label %14134, label %14138

14134:                                            ; preds = %14128
  %14135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14136 = call i32 @fileno(ptr noundef %14135) #12
  %14137 = call i32 @isatty(i32 noundef %14136) #12
  %.not2026 = icmp eq i32 %14137, 0
  br i1 %.not2026, label %14138, label %14139

14138:                                            ; preds = %14134, %14128
  br label %14139

14139:                                            ; preds = %14134, %14138
  %.str.5.sink6906 = phi ptr [ @.str.5, %14138 ], [ @.str.2, %14134 ]
  store i32 %14129, ptr %228, align 4, !tbaa !5
  %14140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14141 = load i32, ptr @test_count, align 4, !tbaa !5
  %14142 = load i32, ptr %174, align 4, !tbaa !5
  %14143 = call ptr @s2n_strerror(i32 noundef %14142, ptr noundef nonnull @.str.4) #12
  %14144 = load i32, ptr %174, align 4, !tbaa !5
  %14145 = call ptr @s2n_strerror_debug(i32 noundef %14144, ptr noundef nonnull @.str.4) #12
  %14146 = load i32, ptr %228, align 4, !tbaa !5
  %14147 = call ptr @strerror(i32 noundef %14146) #12
  %14148 = load i32, ptr %228, align 4, !tbaa !5
  %14149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14140, ptr noundef nonnull %.str.5.sink6906, i32 noundef %14141, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1345, ptr noundef %14143, ptr noundef %14145, ptr noundef %14147, i32 noundef %14148) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14150:                                            ; preds = %14124
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %14151 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %14151, ptr %47, align 8, !tbaa !93
  %14152 = load i32, ptr @test_count, align 4, !tbaa !5
  %14153 = add nsw i32 %14152, 1
  store i32 %14153, ptr @test_count, align 4, !tbaa !5
  %14154 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef nonnull %47, ptr noundef nonnull %51) #12
  %14155 = icmp eq i32 %14154, -1
  br i1 %14155, label %14178, label %14156

14156:                                            ; preds = %14150
  %14157 = load i32, ptr %228, align 4, !tbaa !5
  %14158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14159 = call i32 @s2n_print_stacktrace(ptr noundef %14158) #12
  %14160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14161 = trunc nuw i8 %14160 to i1
  br i1 %14161, label %14162, label %14166

14162:                                            ; preds = %14156
  %14163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14164 = call i32 @fileno(ptr noundef %14163) #12
  %14165 = call i32 @isatty(i32 noundef %14164) #12
  %.not1977 = icmp eq i32 %14165, 0
  br i1 %.not1977, label %14166, label %14167

14166:                                            ; preds = %14162, %14156
  br label %14167

14167:                                            ; preds = %14162, %14166
  %.str.5.sink6915 = phi ptr [ @.str.5, %14166 ], [ @.str.2, %14162 ]
  store i32 %14157, ptr %228, align 4, !tbaa !5
  %14168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14169 = load i32, ptr @test_count, align 4, !tbaa !5
  %14170 = load i32, ptr %174, align 4, !tbaa !5
  %14171 = call ptr @s2n_strerror(i32 noundef %14170, ptr noundef nonnull @.str.4) #12
  %14172 = load i32, ptr %174, align 4, !tbaa !5
  %14173 = call ptr @s2n_strerror_debug(i32 noundef %14172, ptr noundef nonnull @.str.4) #12
  %14174 = load i32, ptr %228, align 4, !tbaa !5
  %14175 = call ptr @strerror(i32 noundef %14174) #12
  %14176 = load i32, ptr %228, align 4, !tbaa !5
  %14177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14168, ptr noundef nonnull %.str.5.sink6915, i32 noundef %14169, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.1, i32 noundef 1348, ptr noundef %14171, ptr noundef %14173, ptr noundef %14175, i32 noundef %14176) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14178:                                            ; preds = %14150
  %14179 = load i32, ptr @test_count, align 4, !tbaa !5
  %14180 = add nsw i32 %14179, 1
  store i32 %14180, ptr @test_count, align 4, !tbaa !5
  %14181 = load i32, ptr %174, align 4, !tbaa !5
  %14182 = icmp eq i32 %14181, 402653193
  br i1 %14182, label %14205, label %14183

14183:                                            ; preds = %14178
  %14184 = load i32, ptr %228, align 4, !tbaa !5
  %14185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14186 = call i32 @s2n_print_stacktrace(ptr noundef %14185) #12
  %14187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14188 = trunc nuw i8 %14187 to i1
  br i1 %14188, label %14189, label %14193

14189:                                            ; preds = %14183
  %14190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14191 = call i32 @fileno(ptr noundef %14190) #12
  %14192 = call i32 @isatty(i32 noundef %14191) #12
  %.not1978 = icmp eq i32 %14192, 0
  br i1 %.not1978, label %14193, label %14194

14193:                                            ; preds = %14189, %14183
  br label %14194

14194:                                            ; preds = %14189, %14193
  %.str.5.sink6924 = phi ptr [ @.str.5, %14193 ], [ @.str.2, %14189 ]
  store i32 %14184, ptr %228, align 4, !tbaa !5
  %14195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14196 = load i32, ptr @test_count, align 4, !tbaa !5
  %14197 = load i32, ptr %174, align 4, !tbaa !5
  %14198 = call ptr @s2n_strerror(i32 noundef %14197, ptr noundef nonnull @.str.4) #12
  %14199 = load i32, ptr %174, align 4, !tbaa !5
  %14200 = call ptr @s2n_strerror_debug(i32 noundef %14199, ptr noundef nonnull @.str.4) #12
  %14201 = load i32, ptr %228, align 4, !tbaa !5
  %14202 = call ptr @strerror(i32 noundef %14201) #12
  %14203 = load i32, ptr %228, align 4, !tbaa !5
  %14204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14195, ptr noundef nonnull %.str.5.sink6924, i32 noundef %14196, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1348, ptr noundef %14198, ptr noundef %14200, ptr noundef %14202, i32 noundef %14203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14205:                                            ; preds = %14178
  %14206 = add nsw i32 %14179, 2
  store i32 %14206, ptr @test_count, align 4, !tbaa !5
  %14207 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %14208 = icmp eq ptr %14207, null
  br i1 %14208, label %14209, label %14231

14209:                                            ; preds = %14205
  %14210 = load i32, ptr %228, align 4, !tbaa !5
  %14211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14212 = call i32 @s2n_print_stacktrace(ptr noundef %14211) #12
  %14213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14214 = trunc nuw i8 %14213 to i1
  br i1 %14214, label %14215, label %14219

14215:                                            ; preds = %14209
  %14216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14217 = call i32 @fileno(ptr noundef %14216) #12
  %14218 = call i32 @isatty(i32 noundef %14217) #12
  %.not2025 = icmp eq i32 %14218, 0
  br i1 %.not2025, label %14219, label %14220

14219:                                            ; preds = %14215, %14209
  br label %14220

14220:                                            ; preds = %14215, %14219
  %.str.5.sink6933 = phi ptr [ @.str.5, %14219 ], [ @.str.2, %14215 ]
  store i32 %14210, ptr %228, align 4, !tbaa !5
  %14221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14222 = load i32, ptr @test_count, align 4, !tbaa !5
  %14223 = load i32, ptr %174, align 4, !tbaa !5
  %14224 = call ptr @s2n_strerror(i32 noundef %14223, ptr noundef nonnull @.str.4) #12
  %14225 = load i32, ptr %174, align 4, !tbaa !5
  %14226 = call ptr @s2n_strerror_debug(i32 noundef %14225, ptr noundef nonnull @.str.4) #12
  %14227 = load i32, ptr %228, align 4, !tbaa !5
  %14228 = call ptr @strerror(i32 noundef %14227) #12
  %14229 = load i32, ptr %228, align 4, !tbaa !5
  %14230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14221, ptr noundef nonnull %.str.5.sink6933, i32 noundef %14222, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1348, ptr noundef %14224, ptr noundef %14226, ptr noundef %14228, i32 noundef %14229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14231:                                            ; preds = %14205
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %14232 = load i32, ptr @test_count, align 4, !tbaa !5
  %14233 = add nsw i32 %14232, 1
  store i32 %14233, ptr @test_count, align 4, !tbaa !5
  %14234 = call i32 @s2n_offered_early_data_get_context(ptr noundef nonnull %47, ptr noundef nonnull %50, i16 noundef zeroext 1) #12
  %14235 = icmp eq i32 %14234, -1
  br i1 %14235, label %14258, label %14236

14236:                                            ; preds = %14231
  %14237 = load i32, ptr %228, align 4, !tbaa !5
  %14238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14239 = call i32 @s2n_print_stacktrace(ptr noundef %14238) #12
  %14240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14241 = trunc nuw i8 %14240 to i1
  br i1 %14241, label %14242, label %14246

14242:                                            ; preds = %14236
  %14243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14244 = call i32 @fileno(ptr noundef %14243) #12
  %14245 = call i32 @isatty(i32 noundef %14244) #12
  %.not1979 = icmp eq i32 %14245, 0
  br i1 %.not1979, label %14246, label %14247

14246:                                            ; preds = %14242, %14236
  br label %14247

14247:                                            ; preds = %14242, %14246
  %.str.5.sink6942 = phi ptr [ @.str.5, %14246 ], [ @.str.2, %14242 ]
  store i32 %14237, ptr %228, align 4, !tbaa !5
  %14248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14249 = load i32, ptr @test_count, align 4, !tbaa !5
  %14250 = load i32, ptr %174, align 4, !tbaa !5
  %14251 = call ptr @s2n_strerror(i32 noundef %14250, ptr noundef nonnull @.str.4) #12
  %14252 = load i32, ptr %174, align 4, !tbaa !5
  %14253 = call ptr @s2n_strerror_debug(i32 noundef %14252, ptr noundef nonnull @.str.4) #12
  %14254 = load i32, ptr %228, align 4, !tbaa !5
  %14255 = call ptr @strerror(i32 noundef %14254) #12
  %14256 = load i32, ptr %228, align 4, !tbaa !5
  %14257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14248, ptr noundef nonnull %.str.5.sink6942, i32 noundef %14249, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 1349, ptr noundef %14251, ptr noundef %14253, ptr noundef %14255, i32 noundef %14256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14258:                                            ; preds = %14231
  %14259 = load i32, ptr @test_count, align 4, !tbaa !5
  %14260 = add nsw i32 %14259, 1
  store i32 %14260, ptr @test_count, align 4, !tbaa !5
  %14261 = load i32, ptr %174, align 4, !tbaa !5
  %14262 = icmp eq i32 %14261, 402653193
  br i1 %14262, label %14285, label %14263

14263:                                            ; preds = %14258
  %14264 = load i32, ptr %228, align 4, !tbaa !5
  %14265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14266 = call i32 @s2n_print_stacktrace(ptr noundef %14265) #12
  %14267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14268 = trunc nuw i8 %14267 to i1
  br i1 %14268, label %14269, label %14273

14269:                                            ; preds = %14263
  %14270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14271 = call i32 @fileno(ptr noundef %14270) #12
  %14272 = call i32 @isatty(i32 noundef %14271) #12
  %.not1980 = icmp eq i32 %14272, 0
  br i1 %.not1980, label %14273, label %14274

14273:                                            ; preds = %14269, %14263
  br label %14274

14274:                                            ; preds = %14269, %14273
  %.str.5.sink6951 = phi ptr [ @.str.5, %14273 ], [ @.str.2, %14269 ]
  store i32 %14264, ptr %228, align 4, !tbaa !5
  %14275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14276 = load i32, ptr @test_count, align 4, !tbaa !5
  %14277 = load i32, ptr %174, align 4, !tbaa !5
  %14278 = call ptr @s2n_strerror(i32 noundef %14277, ptr noundef nonnull @.str.4) #12
  %14279 = load i32, ptr %174, align 4, !tbaa !5
  %14280 = call ptr @s2n_strerror_debug(i32 noundef %14279, ptr noundef nonnull @.str.4) #12
  %14281 = load i32, ptr %228, align 4, !tbaa !5
  %14282 = call ptr @strerror(i32 noundef %14281) #12
  %14283 = load i32, ptr %228, align 4, !tbaa !5
  %14284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14275, ptr noundef nonnull %.str.5.sink6951, i32 noundef %14276, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1349, ptr noundef %14278, ptr noundef %14280, ptr noundef %14282, i32 noundef %14283) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14285:                                            ; preds = %14258
  %14286 = add nsw i32 %14259, 2
  store i32 %14286, ptr @test_count, align 4, !tbaa !5
  %14287 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %14288 = icmp eq ptr %14287, null
  br i1 %14288, label %14289, label %14311

14289:                                            ; preds = %14285
  %14290 = load i32, ptr %228, align 4, !tbaa !5
  %14291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14292 = call i32 @s2n_print_stacktrace(ptr noundef %14291) #12
  %14293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14294 = trunc nuw i8 %14293 to i1
  br i1 %14294, label %14295, label %14299

14295:                                            ; preds = %14289
  %14296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14297 = call i32 @fileno(ptr noundef %14296) #12
  %14298 = call i32 @isatty(i32 noundef %14297) #12
  %.not2024 = icmp eq i32 %14298, 0
  br i1 %.not2024, label %14299, label %14300

14299:                                            ; preds = %14295, %14289
  br label %14300

14300:                                            ; preds = %14295, %14299
  %.str.5.sink6960 = phi ptr [ @.str.5, %14299 ], [ @.str.2, %14295 ]
  store i32 %14290, ptr %228, align 4, !tbaa !5
  %14301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14302 = load i32, ptr @test_count, align 4, !tbaa !5
  %14303 = load i32, ptr %174, align 4, !tbaa !5
  %14304 = call ptr @s2n_strerror(i32 noundef %14303, ptr noundef nonnull @.str.4) #12
  %14305 = load i32, ptr %174, align 4, !tbaa !5
  %14306 = call ptr @s2n_strerror_debug(i32 noundef %14305, ptr noundef nonnull @.str.4) #12
  %14307 = load i32, ptr %228, align 4, !tbaa !5
  %14308 = call ptr @strerror(i32 noundef %14307) #12
  %14309 = load i32, ptr %228, align 4, !tbaa !5
  %14310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14301, ptr noundef nonnull %.str.5.sink6960, i32 noundef %14302, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1349, ptr noundef %14304, ptr noundef %14306, ptr noundef %14308, i32 noundef %14309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14311:                                            ; preds = %14285
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %14312 = load i32, ptr @test_count, align 4, !tbaa !5
  %14313 = add nsw i32 %14312, 1
  store i32 %14313, ptr @test_count, align 4, !tbaa !5
  %14314 = load ptr, ptr %47, align 8, !tbaa !93
  %14315 = call i32 @s2n_connection_free(ptr noundef %14314) #12
  %14316 = icmp eq i32 %14315, -1
  br i1 %14316, label %14317, label %14339

14317:                                            ; preds = %14311
  %14318 = load i32, ptr %228, align 4, !tbaa !5
  %14319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14320 = call i32 @s2n_print_stacktrace(ptr noundef %14319) #12
  %14321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14322 = trunc nuw i8 %14321 to i1
  br i1 %14322, label %14323, label %14327

14323:                                            ; preds = %14317
  %14324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14325 = call i32 @fileno(ptr noundef %14324) #12
  %14326 = call i32 @isatty(i32 noundef %14325) #12
  %.not2023 = icmp eq i32 %14326, 0
  br i1 %.not2023, label %14327, label %14328

14327:                                            ; preds = %14323, %14317
  br label %14328

14328:                                            ; preds = %14323, %14327
  %.str.5.sink6969 = phi ptr [ @.str.5, %14327 ], [ @.str.2, %14323 ]
  store i32 %14318, ptr %228, align 4, !tbaa !5
  %14329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14330 = load i32, ptr @test_count, align 4, !tbaa !5
  %14331 = load i32, ptr %174, align 4, !tbaa !5
  %14332 = call ptr @s2n_strerror(i32 noundef %14331, ptr noundef nonnull @.str.4) #12
  %14333 = load i32, ptr %174, align 4, !tbaa !5
  %14334 = call ptr @s2n_strerror_debug(i32 noundef %14333, ptr noundef nonnull @.str.4) #12
  %14335 = load i32, ptr %228, align 4, !tbaa !5
  %14336 = call ptr @strerror(i32 noundef %14335) #12
  %14337 = load i32, ptr %228, align 4, !tbaa !5
  %14338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14329, ptr noundef nonnull %.str.5.sink6969, i32 noundef %14330, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 1350, ptr noundef %14332, ptr noundef %14334, ptr noundef %14336, i32 noundef %14337) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14339:                                            ; preds = %14311
  %14340 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %14340, ptr %47, align 8, !tbaa !93
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #12
  %14341 = call ptr @s2n_test_psk_new(ptr noundef %14340) #12
  store ptr %14341, ptr %52, align 8, !tbaa !9
  %14342 = load ptr, ptr %47, align 8, !tbaa !93
  %14343 = getelementptr inbounds i8, ptr %14342, i64 1736
  store ptr %14341, ptr %14343, align 8, !tbaa !69
  %14344 = load i32, ptr @test_count, align 4, !tbaa !5
  %14345 = add nsw i32 %14344, 1
  store i32 %14345, ptr @test_count, align 4, !tbaa !5
  %14346 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef nonnull %47, ptr noundef nonnull %51) #12
  %14347 = icmp eq i32 %14346, -1
  br i1 %14347, label %14348, label %14370

14348:                                            ; preds = %14339
  %14349 = load i32, ptr %228, align 4, !tbaa !5
  %14350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14351 = call i32 @s2n_print_stacktrace(ptr noundef %14350) #12
  %14352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14353 = trunc nuw i8 %14352 to i1
  br i1 %14353, label %14354, label %14358

14354:                                            ; preds = %14348
  %14355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14356 = call i32 @fileno(ptr noundef %14355) #12
  %14357 = call i32 @isatty(i32 noundef %14356) #12
  %.not2022 = icmp eq i32 %14357, 0
  br i1 %.not2022, label %14358, label %14359

14358:                                            ; preds = %14354, %14348
  br label %14359

14359:                                            ; preds = %14354, %14358
  %.str.5.sink6978 = phi ptr [ @.str.5, %14358 ], [ @.str.2, %14354 ]
  store i32 %14349, ptr %228, align 4, !tbaa !5
  %14360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14361 = load i32, ptr @test_count, align 4, !tbaa !5
  %14362 = load i32, ptr %174, align 4, !tbaa !5
  %14363 = call ptr @s2n_strerror(i32 noundef %14362, ptr noundef nonnull @.str.4) #12
  %14364 = load i32, ptr %174, align 4, !tbaa !5
  %14365 = call ptr @s2n_strerror_debug(i32 noundef %14364, ptr noundef nonnull @.str.4) #12
  %14366 = load i32, ptr %228, align 4, !tbaa !5
  %14367 = call ptr @strerror(i32 noundef %14366) #12
  %14368 = load i32, ptr %228, align 4, !tbaa !5
  %14369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14360, ptr noundef nonnull %.str.5.sink6978, i32 noundef %14361, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.1, i32 noundef 1359, ptr noundef %14363, ptr noundef %14365, ptr noundef %14367, i32 noundef %14368) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14370:                                            ; preds = %14339
  %14371 = load i32, ptr @test_count, align 4, !tbaa !5
  %14372 = add nsw i32 %14371, 1
  store i32 %14372, ptr @test_count, align 4, !tbaa !5
  %14373 = load i16, ptr %51, align 2, !tbaa !87
  %14374 = icmp eq i16 %14373, 0
  br i1 %14374, label %14397, label %14375

14375:                                            ; preds = %14370
  %14376 = load i32, ptr %228, align 4, !tbaa !5
  %14377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14378 = call i32 @s2n_print_stacktrace(ptr noundef %14377) #12
  %14379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14380 = trunc nuw i8 %14379 to i1
  br i1 %14380, label %14381, label %14385

14381:                                            ; preds = %14375
  %14382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14383 = call i32 @fileno(ptr noundef %14382) #12
  %14384 = call i32 @isatty(i32 noundef %14383) #12
  %.not1981 = icmp eq i32 %14384, 0
  br i1 %.not1981, label %14385, label %14386

14385:                                            ; preds = %14381, %14375
  br label %14386

14386:                                            ; preds = %14381, %14385
  %.str.5.sink6987 = phi ptr [ @.str.5, %14385 ], [ @.str.2, %14381 ]
  store i32 %14376, ptr %228, align 4, !tbaa !5
  %14387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14388 = load i32, ptr @test_count, align 4, !tbaa !5
  %14389 = load i32, ptr %174, align 4, !tbaa !5
  %14390 = call ptr @s2n_strerror(i32 noundef %14389, ptr noundef nonnull @.str.4) #12
  %14391 = load i32, ptr %174, align 4, !tbaa !5
  %14392 = call ptr @s2n_strerror_debug(i32 noundef %14391, ptr noundef nonnull @.str.4) #12
  %14393 = load i32, ptr %228, align 4, !tbaa !5
  %14394 = call ptr @strerror(i32 noundef %14393) #12
  %14395 = load i32, ptr %228, align 4, !tbaa !5
  %14396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14387, ptr noundef nonnull %.str.5.sink6987, i32 noundef %14388, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.1, i32 noundef 1360, ptr noundef %14390, ptr noundef %14392, ptr noundef %14394, i32 noundef %14395) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14397:                                            ; preds = %14370
  %14398 = add nsw i32 %14371, 2
  store i32 %14398, ptr @test_count, align 4, !tbaa !5
  %14399 = call i32 @s2n_offered_early_data_get_context(ptr noundef nonnull %47, ptr noundef nonnull %50, i16 noundef zeroext 0) #12
  %14400 = icmp eq i32 %14399, -1
  br i1 %14400, label %14401, label %14423

14401:                                            ; preds = %14397
  %14402 = load i32, ptr %228, align 4, !tbaa !5
  %14403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14404 = call i32 @s2n_print_stacktrace(ptr noundef %14403) #12
  %14405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14406 = trunc nuw i8 %14405 to i1
  br i1 %14406, label %14407, label %14411

14407:                                            ; preds = %14401
  %14408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14409 = call i32 @fileno(ptr noundef %14408) #12
  %14410 = call i32 @isatty(i32 noundef %14409) #12
  %.not2021 = icmp eq i32 %14410, 0
  br i1 %.not2021, label %14411, label %14412

14411:                                            ; preds = %14407, %14401
  br label %14412

14412:                                            ; preds = %14407, %14411
  %.str.5.sink6996 = phi ptr [ @.str.5, %14411 ], [ @.str.2, %14407 ]
  store i32 %14402, ptr %228, align 4, !tbaa !5
  %14413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14414 = load i32, ptr @test_count, align 4, !tbaa !5
  %14415 = load i32, ptr %174, align 4, !tbaa !5
  %14416 = call ptr @s2n_strerror(i32 noundef %14415, ptr noundef nonnull @.str.4) #12
  %14417 = load i32, ptr %174, align 4, !tbaa !5
  %14418 = call ptr @s2n_strerror_debug(i32 noundef %14417, ptr noundef nonnull @.str.4) #12
  %14419 = load i32, ptr %228, align 4, !tbaa !5
  %14420 = call ptr @strerror(i32 noundef %14419) #12
  %14421 = load i32, ptr %228, align 4, !tbaa !5
  %14422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14413, ptr noundef nonnull %.str.5.sink6996, i32 noundef %14414, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.1, i32 noundef 1362, ptr noundef %14416, ptr noundef %14418, ptr noundef %14420, i32 noundef %14421) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14423:                                            ; preds = %14397
  %14424 = load i32, ptr @test_count, align 4, !tbaa !5
  %14425 = add nsw i32 %14424, 1
  store i32 %14425, ptr @test_count, align 4, !tbaa !5
  %bcmp1982 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %50, ptr noundef nonnull dereferenceable(12) %49, i64 12)
  %14426 = icmp eq i32 %bcmp1982, 0
  br i1 %14426, label %14449, label %14427

14427:                                            ; preds = %14423
  %14428 = load i32, ptr %228, align 4, !tbaa !5
  %14429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14430 = call i32 @s2n_print_stacktrace(ptr noundef %14429) #12
  %14431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14432 = trunc nuw i8 %14431 to i1
  br i1 %14432, label %14433, label %14437

14433:                                            ; preds = %14427
  %14434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14435 = call i32 @fileno(ptr noundef %14434) #12
  %14436 = call i32 @isatty(i32 noundef %14435) #12
  %.not1983 = icmp eq i32 %14436, 0
  br i1 %.not1983, label %14437, label %14438

14437:                                            ; preds = %14433, %14427
  br label %14438

14438:                                            ; preds = %14433, %14437
  %.str.5.sink7005 = phi ptr [ @.str.5, %14437 ], [ @.str.2, %14433 ]
  store i32 %14428, ptr %228, align 4, !tbaa !5
  %14439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14440 = load i32, ptr @test_count, align 4, !tbaa !5
  %14441 = load i32, ptr %174, align 4, !tbaa !5
  %14442 = call ptr @s2n_strerror(i32 noundef %14441, ptr noundef nonnull @.str.4) #12
  %14443 = load i32, ptr %174, align 4, !tbaa !5
  %14444 = call ptr @s2n_strerror_debug(i32 noundef %14443, ptr noundef nonnull @.str.4) #12
  %14445 = load i32, ptr %228, align 4, !tbaa !5
  %14446 = call ptr @strerror(i32 noundef %14445) #12
  %14447 = load i32, ptr %228, align 4, !tbaa !5
  %14448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14439, ptr noundef nonnull %.str.5.sink7005, i32 noundef %14440, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.1, i32 noundef 1363, ptr noundef %14442, ptr noundef %14444, ptr noundef %14446, i32 noundef %14447) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14449:                                            ; preds = %14423
  %14450 = add nsw i32 %14424, 2
  store i32 %14450, ptr @test_count, align 4, !tbaa !5
  %14451 = call i32 @s2n_offered_early_data_get_context(ptr noundef nonnull %47, ptr noundef nonnull %50, i16 noundef zeroext 12) #12
  %14452 = icmp eq i32 %14451, -1
  br i1 %14452, label %14453, label %14475

14453:                                            ; preds = %14449
  %14454 = load i32, ptr %228, align 4, !tbaa !5
  %14455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14456 = call i32 @s2n_print_stacktrace(ptr noundef %14455) #12
  %14457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14458 = trunc nuw i8 %14457 to i1
  br i1 %14458, label %14459, label %14463

14459:                                            ; preds = %14453
  %14460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14461 = call i32 @fileno(ptr noundef %14460) #12
  %14462 = call i32 @isatty(i32 noundef %14461) #12
  %.not2020 = icmp eq i32 %14462, 0
  br i1 %.not2020, label %14463, label %14464

14463:                                            ; preds = %14459, %14453
  br label %14464

14464:                                            ; preds = %14459, %14463
  %.str.5.sink7014 = phi ptr [ @.str.5, %14463 ], [ @.str.2, %14459 ]
  store i32 %14454, ptr %228, align 4, !tbaa !5
  %14465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14466 = load i32, ptr @test_count, align 4, !tbaa !5
  %14467 = load i32, ptr %174, align 4, !tbaa !5
  %14468 = call ptr @s2n_strerror(i32 noundef %14467, ptr noundef nonnull @.str.4) #12
  %14469 = load i32, ptr %174, align 4, !tbaa !5
  %14470 = call ptr @s2n_strerror_debug(i32 noundef %14469, ptr noundef nonnull @.str.4) #12
  %14471 = load i32, ptr %228, align 4, !tbaa !5
  %14472 = call ptr @strerror(i32 noundef %14471) #12
  %14473 = load i32, ptr %228, align 4, !tbaa !5
  %14474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14465, ptr noundef nonnull %.str.5.sink7014, i32 noundef %14466, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.1, i32 noundef 1365, ptr noundef %14468, ptr noundef %14470, ptr noundef %14472, i32 noundef %14473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14475:                                            ; preds = %14449
  %14476 = load i32, ptr @test_count, align 4, !tbaa !5
  %14477 = add nsw i32 %14476, 1
  store i32 %14477, ptr @test_count, align 4, !tbaa !5
  %bcmp1984 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %50, ptr noundef nonnull dereferenceable(12) %49, i64 12)
  %14478 = icmp eq i32 %bcmp1984, 0
  br i1 %14478, label %14501, label %14479

14479:                                            ; preds = %14475
  %14480 = load i32, ptr %228, align 4, !tbaa !5
  %14481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14482 = call i32 @s2n_print_stacktrace(ptr noundef %14481) #12
  %14483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14484 = trunc nuw i8 %14483 to i1
  br i1 %14484, label %14485, label %14489

14485:                                            ; preds = %14479
  %14486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14487 = call i32 @fileno(ptr noundef %14486) #12
  %14488 = call i32 @isatty(i32 noundef %14487) #12
  %.not1985 = icmp eq i32 %14488, 0
  br i1 %.not1985, label %14489, label %14490

14489:                                            ; preds = %14485, %14479
  br label %14490

14490:                                            ; preds = %14485, %14489
  %.str.5.sink7023 = phi ptr [ @.str.5, %14489 ], [ @.str.2, %14485 ]
  store i32 %14480, ptr %228, align 4, !tbaa !5
  %14491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14492 = load i32, ptr @test_count, align 4, !tbaa !5
  %14493 = load i32, ptr %174, align 4, !tbaa !5
  %14494 = call ptr @s2n_strerror(i32 noundef %14493, ptr noundef nonnull @.str.4) #12
  %14495 = load i32, ptr %174, align 4, !tbaa !5
  %14496 = call ptr @s2n_strerror_debug(i32 noundef %14495, ptr noundef nonnull @.str.4) #12
  %14497 = load i32, ptr %228, align 4, !tbaa !5
  %14498 = call ptr @strerror(i32 noundef %14497) #12
  %14499 = load i32, ptr %228, align 4, !tbaa !5
  %14500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14491, ptr noundef nonnull %.str.5.sink7023, i32 noundef %14492, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.1, i32 noundef 1366, ptr noundef %14494, ptr noundef %14496, ptr noundef %14498, i32 noundef %14499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14501:                                            ; preds = %14475
  %14502 = add nsw i32 %14476, 2
  store i32 %14502, ptr @test_count, align 4, !tbaa !5
  %14503 = load ptr, ptr %47, align 8, !tbaa !93
  %14504 = call i32 @s2n_connection_free(ptr noundef %14503) #12
  %14505 = icmp eq i32 %14504, -1
  br i1 %14505, label %14506, label %14528

14506:                                            ; preds = %14501
  %14507 = load i32, ptr %228, align 4, !tbaa !5
  %14508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14509 = call i32 @s2n_print_stacktrace(ptr noundef %14508) #12
  %14510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14511 = trunc nuw i8 %14510 to i1
  br i1 %14511, label %14512, label %14516

14512:                                            ; preds = %14506
  %14513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14514 = call i32 @fileno(ptr noundef %14513) #12
  %14515 = call i32 @isatty(i32 noundef %14514) #12
  %.not2019 = icmp eq i32 %14515, 0
  br i1 %.not2019, label %14516, label %14517

14516:                                            ; preds = %14512, %14506
  br label %14517

14517:                                            ; preds = %14512, %14516
  %.str.5.sink7032 = phi ptr [ @.str.5, %14516 ], [ @.str.2, %14512 ]
  store i32 %14507, ptr %228, align 4, !tbaa !5
  %14518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14519 = load i32, ptr @test_count, align 4, !tbaa !5
  %14520 = load i32, ptr %174, align 4, !tbaa !5
  %14521 = call ptr @s2n_strerror(i32 noundef %14520, ptr noundef nonnull @.str.4) #12
  %14522 = load i32, ptr %174, align 4, !tbaa !5
  %14523 = call ptr @s2n_strerror_debug(i32 noundef %14522, ptr noundef nonnull @.str.4) #12
  %14524 = load i32, ptr %228, align 4, !tbaa !5
  %14525 = call ptr @strerror(i32 noundef %14524) #12
  %14526 = load i32, ptr %228, align 4, !tbaa !5
  %14527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14518, ptr noundef nonnull %.str.5.sink7032, i32 noundef %14519, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 1368, ptr noundef %14521, ptr noundef %14523, ptr noundef %14525, i32 noundef %14526) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14528:                                            ; preds = %14501
  %14529 = call i32 @s2n_psk_free(ptr noundef nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #12
  %14530 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %14530, ptr %47, align 8, !tbaa !93
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  %14531 = call ptr @s2n_test_psk_new(ptr noundef %14530) #12
  store ptr %14531, ptr %53, align 8, !tbaa !9
  %14532 = load i32, ptr @test_count, align 4, !tbaa !5
  %14533 = add nsw i32 %14532, 1
  store i32 %14533, ptr @test_count, align 4, !tbaa !5
  %14534 = call i32 @s2n_psk_set_early_data_context(ptr noundef %14531, ptr noundef nonnull %48, i16 noundef zeroext 12) #12
  %14535 = icmp eq i32 %14534, -1
  br i1 %14535, label %14536, label %14558

14536:                                            ; preds = %14528
  %14537 = load i32, ptr %228, align 4, !tbaa !5
  %14538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14539 = call i32 @s2n_print_stacktrace(ptr noundef %14538) #12
  %14540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14541 = trunc nuw i8 %14540 to i1
  br i1 %14541, label %14542, label %14546

14542:                                            ; preds = %14536
  %14543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14544 = call i32 @fileno(ptr noundef %14543) #12
  %14545 = call i32 @isatty(i32 noundef %14544) #12
  %.not2018 = icmp eq i32 %14545, 0
  br i1 %.not2018, label %14546, label %14547

14546:                                            ; preds = %14542, %14536
  br label %14547

14547:                                            ; preds = %14542, %14546
  %.str.5.sink7041 = phi ptr [ @.str.5, %14546 ], [ @.str.2, %14542 ]
  store i32 %14537, ptr %228, align 4, !tbaa !5
  %14548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14549 = load i32, ptr @test_count, align 4, !tbaa !5
  %14550 = load i32, ptr %174, align 4, !tbaa !5
  %14551 = call ptr @s2n_strerror(i32 noundef %14550, ptr noundef nonnull @.str.4) #12
  %14552 = load i32, ptr %174, align 4, !tbaa !5
  %14553 = call ptr @s2n_strerror_debug(i32 noundef %14552, ptr noundef nonnull @.str.4) #12
  %14554 = load i32, ptr %228, align 4, !tbaa !5
  %14555 = call ptr @strerror(i32 noundef %14554) #12
  %14556 = load i32, ptr %228, align 4, !tbaa !5
  %14557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14548, ptr noundef nonnull %.str.5.sink7041, i32 noundef %14549, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.1, i32 noundef 1375, ptr noundef %14551, ptr noundef %14553, ptr noundef %14555, i32 noundef %14556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14558:                                            ; preds = %14528
  %14559 = load ptr, ptr %53, align 8, !tbaa !9
  %14560 = load ptr, ptr %47, align 8, !tbaa !93
  %14561 = getelementptr inbounds i8, ptr %14560, i64 1736
  store ptr %14559, ptr %14561, align 8, !tbaa !69
  %14562 = load i32, ptr @test_count, align 4, !tbaa !5
  %14563 = add nsw i32 %14562, 1
  store i32 %14563, ptr @test_count, align 4, !tbaa !5
  %14564 = call i32 @s2n_offered_early_data_get_context_length(ptr noundef nonnull %47, ptr noundef nonnull %51) #12
  %14565 = icmp eq i32 %14564, -1
  br i1 %14565, label %14566, label %14588

14566:                                            ; preds = %14558
  %14567 = load i32, ptr %228, align 4, !tbaa !5
  %14568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14569 = call i32 @s2n_print_stacktrace(ptr noundef %14568) #12
  %14570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14571 = trunc nuw i8 %14570 to i1
  br i1 %14571, label %14572, label %14576

14572:                                            ; preds = %14566
  %14573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14574 = call i32 @fileno(ptr noundef %14573) #12
  %14575 = call i32 @isatty(i32 noundef %14574) #12
  %.not2017 = icmp eq i32 %14575, 0
  br i1 %.not2017, label %14576, label %14577

14576:                                            ; preds = %14572, %14566
  br label %14577

14577:                                            ; preds = %14572, %14576
  %.str.5.sink7050 = phi ptr [ @.str.5, %14576 ], [ @.str.2, %14572 ]
  store i32 %14567, ptr %228, align 4, !tbaa !5
  %14578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14579 = load i32, ptr @test_count, align 4, !tbaa !5
  %14580 = load i32, ptr %174, align 4, !tbaa !5
  %14581 = call ptr @s2n_strerror(i32 noundef %14580, ptr noundef nonnull @.str.4) #12
  %14582 = load i32, ptr %174, align 4, !tbaa !5
  %14583 = call ptr @s2n_strerror_debug(i32 noundef %14582, ptr noundef nonnull @.str.4) #12
  %14584 = load i32, ptr %228, align 4, !tbaa !5
  %14585 = call ptr @strerror(i32 noundef %14584) #12
  %14586 = load i32, ptr %228, align 4, !tbaa !5
  %14587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14578, ptr noundef nonnull %.str.5.sink7050, i32 noundef %14579, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.1, i32 noundef 1378, ptr noundef %14581, ptr noundef %14583, ptr noundef %14585, i32 noundef %14586) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14588:                                            ; preds = %14558
  %14589 = load i32, ptr @test_count, align 4, !tbaa !5
  %14590 = add nsw i32 %14589, 1
  store i32 %14590, ptr @test_count, align 4, !tbaa !5
  %14591 = load i16, ptr %51, align 2, !tbaa !87
  %14592 = icmp eq i16 %14591, 12
  br i1 %14592, label %14615, label %14593

14593:                                            ; preds = %14588
  %14594 = load i32, ptr %228, align 4, !tbaa !5
  %14595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14596 = call i32 @s2n_print_stacktrace(ptr noundef %14595) #12
  %14597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14598 = trunc nuw i8 %14597 to i1
  br i1 %14598, label %14599, label %14603

14599:                                            ; preds = %14593
  %14600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14601 = call i32 @fileno(ptr noundef %14600) #12
  %14602 = call i32 @isatty(i32 noundef %14601) #12
  %.not1986 = icmp eq i32 %14602, 0
  br i1 %.not1986, label %14603, label %14604

14603:                                            ; preds = %14599, %14593
  br label %14604

14604:                                            ; preds = %14599, %14603
  %.str.5.sink7059 = phi ptr [ @.str.5, %14603 ], [ @.str.2, %14599 ]
  store i32 %14594, ptr %228, align 4, !tbaa !5
  %14605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14606 = load i32, ptr @test_count, align 4, !tbaa !5
  %14607 = load i32, ptr %174, align 4, !tbaa !5
  %14608 = call ptr @s2n_strerror(i32 noundef %14607, ptr noundef nonnull @.str.4) #12
  %14609 = load i32, ptr %174, align 4, !tbaa !5
  %14610 = call ptr @s2n_strerror_debug(i32 noundef %14609, ptr noundef nonnull @.str.4) #12
  %14611 = load i32, ptr %228, align 4, !tbaa !5
  %14612 = call ptr @strerror(i32 noundef %14611) #12
  %14613 = load i32, ptr %228, align 4, !tbaa !5
  %14614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14605, ptr noundef nonnull %.str.5.sink7059, i32 noundef %14606, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.1, i32 noundef 1379, ptr noundef %14608, ptr noundef %14610, ptr noundef %14612, i32 noundef %14613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14615:                                            ; preds = %14588
  %14616 = add nsw i32 %14589, 2
  store i32 %14616, ptr @test_count, align 4, !tbaa !5
  %14617 = call i32 @s2n_offered_early_data_get_context(ptr noundef nonnull %47, ptr noundef nonnull %50, i16 noundef zeroext 12) #12
  %14618 = icmp eq i32 %14617, -1
  br i1 %14618, label %14619, label %14641

14619:                                            ; preds = %14615
  %14620 = load i32, ptr %228, align 4, !tbaa !5
  %14621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14622 = call i32 @s2n_print_stacktrace(ptr noundef %14621) #12
  %14623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14624 = trunc nuw i8 %14623 to i1
  br i1 %14624, label %14625, label %14629

14625:                                            ; preds = %14619
  %14626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14627 = call i32 @fileno(ptr noundef %14626) #12
  %14628 = call i32 @isatty(i32 noundef %14627) #12
  %.not2016 = icmp eq i32 %14628, 0
  br i1 %.not2016, label %14629, label %14630

14629:                                            ; preds = %14625, %14619
  br label %14630

14630:                                            ; preds = %14625, %14629
  %.str.5.sink7068 = phi ptr [ @.str.5, %14629 ], [ @.str.2, %14625 ]
  store i32 %14620, ptr %228, align 4, !tbaa !5
  %14631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14632 = load i32, ptr @test_count, align 4, !tbaa !5
  %14633 = load i32, ptr %174, align 4, !tbaa !5
  %14634 = call ptr @s2n_strerror(i32 noundef %14633, ptr noundef nonnull @.str.4) #12
  %14635 = load i32, ptr %174, align 4, !tbaa !5
  %14636 = call ptr @s2n_strerror_debug(i32 noundef %14635, ptr noundef nonnull @.str.4) #12
  %14637 = load i32, ptr %228, align 4, !tbaa !5
  %14638 = call ptr @strerror(i32 noundef %14637) #12
  %14639 = load i32, ptr %228, align 4, !tbaa !5
  %14640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14631, ptr noundef nonnull %.str.5.sink7068, i32 noundef %14632, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.1, i32 noundef 1381, ptr noundef %14634, ptr noundef %14636, ptr noundef %14638, i32 noundef %14639) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14641:                                            ; preds = %14615
  %14642 = load i32, ptr @test_count, align 4, !tbaa !5
  %14643 = add nsw i32 %14642, 1
  store i32 %14643, ptr @test_count, align 4, !tbaa !5
  %bcmp1987 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %50, ptr noundef nonnull dereferenceable(12) %48, i64 12)
  %14644 = icmp eq i32 %bcmp1987, 0
  br i1 %14644, label %14667, label %14645

14645:                                            ; preds = %14641
  %14646 = load i32, ptr %228, align 4, !tbaa !5
  %14647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14648 = call i32 @s2n_print_stacktrace(ptr noundef %14647) #12
  %14649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14650 = trunc nuw i8 %14649 to i1
  br i1 %14650, label %14651, label %14655

14651:                                            ; preds = %14645
  %14652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14653 = call i32 @fileno(ptr noundef %14652) #12
  %14654 = call i32 @isatty(i32 noundef %14653) #12
  %.not1988 = icmp eq i32 %14654, 0
  br i1 %.not1988, label %14655, label %14656

14655:                                            ; preds = %14651, %14645
  br label %14656

14656:                                            ; preds = %14651, %14655
  %.str.5.sink7077 = phi ptr [ @.str.5, %14655 ], [ @.str.2, %14651 ]
  store i32 %14646, ptr %228, align 4, !tbaa !5
  %14657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14658 = load i32, ptr @test_count, align 4, !tbaa !5
  %14659 = load i32, ptr %174, align 4, !tbaa !5
  %14660 = call ptr @s2n_strerror(i32 noundef %14659, ptr noundef nonnull @.str.4) #12
  %14661 = load i32, ptr %174, align 4, !tbaa !5
  %14662 = call ptr @s2n_strerror_debug(i32 noundef %14661, ptr noundef nonnull @.str.4) #12
  %14663 = load i32, ptr %228, align 4, !tbaa !5
  %14664 = call ptr @strerror(i32 noundef %14663) #12
  %14665 = load i32, ptr %228, align 4, !tbaa !5
  %14666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14657, ptr noundef nonnull %.str.5.sink7077, i32 noundef %14658, ptr noundef nonnull @.str.236, ptr noundef nonnull @.str.1, i32 noundef 1382, ptr noundef %14660, ptr noundef %14662, ptr noundef %14664, i32 noundef %14665) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14667:                                            ; preds = %14641
  %14668 = add nsw i32 %14642, 2
  store i32 %14668, ptr @test_count, align 4, !tbaa !5
  %14669 = call i32 @s2n_offered_early_data_get_context(ptr noundef nonnull %47, ptr noundef nonnull %50, i16 noundef zeroext 1) #12
  %14670 = icmp eq i32 %14669, -1
  br i1 %14670, label %14693, label %14671

14671:                                            ; preds = %14667
  %14672 = load i32, ptr %228, align 4, !tbaa !5
  %14673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14674 = call i32 @s2n_print_stacktrace(ptr noundef %14673) #12
  %14675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14676 = trunc nuw i8 %14675 to i1
  br i1 %14676, label %14677, label %14681

14677:                                            ; preds = %14671
  %14678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14679 = call i32 @fileno(ptr noundef %14678) #12
  %14680 = call i32 @isatty(i32 noundef %14679) #12
  %.not1989 = icmp eq i32 %14680, 0
  br i1 %.not1989, label %14681, label %14682

14681:                                            ; preds = %14677, %14671
  br label %14682

14682:                                            ; preds = %14677, %14681
  %.str.5.sink7086 = phi ptr [ @.str.5, %14681 ], [ @.str.2, %14677 ]
  store i32 %14672, ptr %228, align 4, !tbaa !5
  %14683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14684 = load i32, ptr @test_count, align 4, !tbaa !5
  %14685 = load i32, ptr %174, align 4, !tbaa !5
  %14686 = call ptr @s2n_strerror(i32 noundef %14685, ptr noundef nonnull @.str.4) #12
  %14687 = load i32, ptr %174, align 4, !tbaa !5
  %14688 = call ptr @s2n_strerror_debug(i32 noundef %14687, ptr noundef nonnull @.str.4) #12
  %14689 = load i32, ptr %228, align 4, !tbaa !5
  %14690 = call ptr @strerror(i32 noundef %14689) #12
  %14691 = load i32, ptr %228, align 4, !tbaa !5
  %14692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14683, ptr noundef nonnull %.str.5.sink7086, i32 noundef %14684, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 1385, ptr noundef %14686, ptr noundef %14688, ptr noundef %14690, i32 noundef %14691) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14693:                                            ; preds = %14667
  %14694 = load i32, ptr @test_count, align 4, !tbaa !5
  %14695 = add nsw i32 %14694, 1
  store i32 %14695, ptr @test_count, align 4, !tbaa !5
  %14696 = load i32, ptr %174, align 4, !tbaa !5
  %14697 = icmp eq i32 %14696, 469762120
  br i1 %14697, label %14720, label %14698

14698:                                            ; preds = %14693
  %14699 = load i32, ptr %228, align 4, !tbaa !5
  %14700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14701 = call i32 @s2n_print_stacktrace(ptr noundef %14700) #12
  %14702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14703 = trunc nuw i8 %14702 to i1
  br i1 %14703, label %14704, label %14708

14704:                                            ; preds = %14698
  %14705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14706 = call i32 @fileno(ptr noundef %14705) #12
  %14707 = call i32 @isatty(i32 noundef %14706) #12
  %.not1990 = icmp eq i32 %14707, 0
  br i1 %.not1990, label %14708, label %14709

14708:                                            ; preds = %14704, %14698
  br label %14709

14709:                                            ; preds = %14704, %14708
  %.str.5.sink7095 = phi ptr [ @.str.5, %14708 ], [ @.str.2, %14704 ]
  store i32 %14699, ptr %228, align 4, !tbaa !5
  %14710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14711 = load i32, ptr @test_count, align 4, !tbaa !5
  %14712 = load i32, ptr %174, align 4, !tbaa !5
  %14713 = call ptr @s2n_strerror(i32 noundef %14712, ptr noundef nonnull @.str.4) #12
  %14714 = load i32, ptr %174, align 4, !tbaa !5
  %14715 = call ptr @s2n_strerror_debug(i32 noundef %14714, ptr noundef nonnull @.str.4) #12
  %14716 = load i32, ptr %228, align 4, !tbaa !5
  %14717 = call ptr @strerror(i32 noundef %14716) #12
  %14718 = load i32, ptr %228, align 4, !tbaa !5
  %14719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14710, ptr noundef nonnull %.str.5.sink7095, i32 noundef %14711, ptr noundef nonnull @.str.237, ptr noundef nonnull @.str.1, i32 noundef 1385, ptr noundef %14713, ptr noundef %14715, ptr noundef %14717, i32 noundef %14718) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14720:                                            ; preds = %14693
  %14721 = add nsw i32 %14694, 2
  store i32 %14721, ptr @test_count, align 4, !tbaa !5
  %14722 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.4) #12
  %14723 = icmp eq ptr %14722, null
  br i1 %14723, label %14724, label %14746

14724:                                            ; preds = %14720
  %14725 = load i32, ptr %228, align 4, !tbaa !5
  %14726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14727 = call i32 @s2n_print_stacktrace(ptr noundef %14726) #12
  %14728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14729 = trunc nuw i8 %14728 to i1
  br i1 %14729, label %14730, label %14734

14730:                                            ; preds = %14724
  %14731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14732 = call i32 @fileno(ptr noundef %14731) #12
  %14733 = call i32 @isatty(i32 noundef %14732) #12
  %.not2015 = icmp eq i32 %14733, 0
  br i1 %.not2015, label %14734, label %14735

14734:                                            ; preds = %14730, %14724
  br label %14735

14735:                                            ; preds = %14730, %14734
  %.str.5.sink7104 = phi ptr [ @.str.5, %14734 ], [ @.str.2, %14730 ]
  store i32 %14725, ptr %228, align 4, !tbaa !5
  %14736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14737 = load i32, ptr @test_count, align 4, !tbaa !5
  %14738 = load i32, ptr %174, align 4, !tbaa !5
  %14739 = call ptr @s2n_strerror(i32 noundef %14738, ptr noundef nonnull @.str.4) #12
  %14740 = load i32, ptr %174, align 4, !tbaa !5
  %14741 = call ptr @s2n_strerror_debug(i32 noundef %14740, ptr noundef nonnull @.str.4) #12
  %14742 = load i32, ptr %228, align 4, !tbaa !5
  %14743 = call ptr @strerror(i32 noundef %14742) #12
  %14744 = load i32, ptr %228, align 4, !tbaa !5
  %14745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14736, ptr noundef nonnull %.str.5.sink7104, i32 noundef %14737, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1385, ptr noundef %14739, ptr noundef %14741, ptr noundef %14743, i32 noundef %14744) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14746:                                            ; preds = %14720
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %14747 = load i32, ptr @test_count, align 4, !tbaa !5
  %14748 = add nsw i32 %14747, 1
  store i32 %14748, ptr @test_count, align 4, !tbaa !5
  %14749 = load ptr, ptr %47, align 8, !tbaa !93
  %14750 = call i32 @s2n_connection_free(ptr noundef %14749) #12
  %14751 = icmp eq i32 %14750, -1
  br i1 %14751, label %14752, label %14774

14752:                                            ; preds = %14746
  %14753 = load i32, ptr %228, align 4, !tbaa !5
  %14754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14755 = call i32 @s2n_print_stacktrace(ptr noundef %14754) #12
  %14756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14757 = trunc nuw i8 %14756 to i1
  br i1 %14757, label %14758, label %14762

14758:                                            ; preds = %14752
  %14759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14760 = call i32 @fileno(ptr noundef %14759) #12
  %14761 = call i32 @isatty(i32 noundef %14760) #12
  %.not2014 = icmp eq i32 %14761, 0
  br i1 %.not2014, label %14762, label %14763

14762:                                            ; preds = %14758, %14752
  br label %14763

14763:                                            ; preds = %14758, %14762
  %.str.5.sink7113 = phi ptr [ @.str.5, %14762 ], [ @.str.2, %14758 ]
  store i32 %14753, ptr %228, align 4, !tbaa !5
  %14764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14765 = load i32, ptr @test_count, align 4, !tbaa !5
  %14766 = load i32, ptr %174, align 4, !tbaa !5
  %14767 = call ptr @s2n_strerror(i32 noundef %14766, ptr noundef nonnull @.str.4) #12
  %14768 = load i32, ptr %174, align 4, !tbaa !5
  %14769 = call ptr @s2n_strerror_debug(i32 noundef %14768, ptr noundef nonnull @.str.4) #12
  %14770 = load i32, ptr %228, align 4, !tbaa !5
  %14771 = call ptr @strerror(i32 noundef %14770) #12
  %14772 = load i32, ptr %228, align 4, !tbaa !5
  %14773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14764, ptr noundef nonnull %.str.5.sink7113, i32 noundef %14765, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 1387, ptr noundef %14767, ptr noundef %14769, ptr noundef %14771, i32 noundef %14772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14774:                                            ; preds = %14746
  %14775 = call i32 @s2n_psk_free(ptr noundef nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #12
  store i64 0, ptr %54, align 8
  %14776 = load i32, ptr @test_count, align 4, !tbaa !5
  %14777 = add nsw i32 %14776, 1
  store i32 %14777, ptr @test_count, align 4, !tbaa !5
  %14778 = call i32 @s2n_offered_early_data_reject(ptr noundef null) #12
  %14779 = icmp eq i32 %14778, -1
  br i1 %14779, label %14802, label %14780

14780:                                            ; preds = %14774
  %14781 = load i32, ptr %228, align 4, !tbaa !5
  %14782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14783 = call i32 @s2n_print_stacktrace(ptr noundef %14782) #12
  %14784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14785 = trunc nuw i8 %14784 to i1
  br i1 %14785, label %14786, label %14790

14786:                                            ; preds = %14780
  %14787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14788 = call i32 @fileno(ptr noundef %14787) #12
  %14789 = call i32 @isatty(i32 noundef %14788) #12
  %.not1991 = icmp eq i32 %14789, 0
  br i1 %.not1991, label %14790, label %14791

14790:                                            ; preds = %14786, %14780
  br label %14791

14791:                                            ; preds = %14786, %14790
  %.str.5.sink7122 = phi ptr [ @.str.5, %14790 ], [ @.str.2, %14786 ]
  store i32 %14781, ptr %228, align 4, !tbaa !5
  %14792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14793 = load i32, ptr @test_count, align 4, !tbaa !5
  %14794 = load i32, ptr %174, align 4, !tbaa !5
  %14795 = call ptr @s2n_strerror(i32 noundef %14794, ptr noundef nonnull @.str.4) #12
  %14796 = load i32, ptr %174, align 4, !tbaa !5
  %14797 = call ptr @s2n_strerror_debug(i32 noundef %14796, ptr noundef nonnull @.str.4) #12
  %14798 = load i32, ptr %228, align 4, !tbaa !5
  %14799 = call ptr @strerror(i32 noundef %14798) #12
  %14800 = load i32, ptr %228, align 4, !tbaa !5
  %14801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14792, ptr noundef nonnull %.str.5.sink7122, i32 noundef %14793, ptr noundef nonnull @.str.238, ptr noundef nonnull @.str.1, i32 noundef 1397, ptr noundef %14795, ptr noundef %14797, ptr noundef %14799, i32 noundef %14800) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14802:                                            ; preds = %14774
  %14803 = load i32, ptr @test_count, align 4, !tbaa !5
  %14804 = add nsw i32 %14803, 1
  store i32 %14804, ptr @test_count, align 4, !tbaa !5
  %14805 = load i32, ptr %174, align 4, !tbaa !5
  %14806 = icmp eq i32 %14805, 402653193
  br i1 %14806, label %14829, label %14807

14807:                                            ; preds = %14802
  %14808 = load i32, ptr %228, align 4, !tbaa !5
  %14809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14810 = call i32 @s2n_print_stacktrace(ptr noundef %14809) #12
  %14811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14812 = trunc nuw i8 %14811 to i1
  br i1 %14812, label %14813, label %14817

14813:                                            ; preds = %14807
  %14814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14815 = call i32 @fileno(ptr noundef %14814) #12
  %14816 = call i32 @isatty(i32 noundef %14815) #12
  %.not1992 = icmp eq i32 %14816, 0
  br i1 %.not1992, label %14817, label %14818

14817:                                            ; preds = %14813, %14807
  br label %14818

14818:                                            ; preds = %14813, %14817
  %.str.5.sink7131 = phi ptr [ @.str.5, %14817 ], [ @.str.2, %14813 ]
  store i32 %14808, ptr %228, align 4, !tbaa !5
  %14819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14820 = load i32, ptr @test_count, align 4, !tbaa !5
  %14821 = load i32, ptr %174, align 4, !tbaa !5
  %14822 = call ptr @s2n_strerror(i32 noundef %14821, ptr noundef nonnull @.str.4) #12
  %14823 = load i32, ptr %174, align 4, !tbaa !5
  %14824 = call ptr @s2n_strerror_debug(i32 noundef %14823, ptr noundef nonnull @.str.4) #12
  %14825 = load i32, ptr %228, align 4, !tbaa !5
  %14826 = call ptr @strerror(i32 noundef %14825) #12
  %14827 = load i32, ptr %228, align 4, !tbaa !5
  %14828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14819, ptr noundef nonnull %.str.5.sink7131, i32 noundef %14820, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1397, ptr noundef %14822, ptr noundef %14824, ptr noundef %14826, i32 noundef %14827) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14829:                                            ; preds = %14802
  %14830 = add nsw i32 %14803, 2
  store i32 %14830, ptr @test_count, align 4, !tbaa !5
  %14831 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %14832 = icmp eq ptr %14831, null
  br i1 %14832, label %14833, label %14855

14833:                                            ; preds = %14829
  %14834 = load i32, ptr %228, align 4, !tbaa !5
  %14835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14836 = call i32 @s2n_print_stacktrace(ptr noundef %14835) #12
  %14837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14838 = trunc nuw i8 %14837 to i1
  br i1 %14838, label %14839, label %14843

14839:                                            ; preds = %14833
  %14840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14841 = call i32 @fileno(ptr noundef %14840) #12
  %14842 = call i32 @isatty(i32 noundef %14841) #12
  %.not2013 = icmp eq i32 %14842, 0
  br i1 %.not2013, label %14843, label %14844

14843:                                            ; preds = %14839, %14833
  br label %14844

14844:                                            ; preds = %14839, %14843
  %.str.5.sink7140 = phi ptr [ @.str.5, %14843 ], [ @.str.2, %14839 ]
  store i32 %14834, ptr %228, align 4, !tbaa !5
  %14845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14846 = load i32, ptr @test_count, align 4, !tbaa !5
  %14847 = load i32, ptr %174, align 4, !tbaa !5
  %14848 = call ptr @s2n_strerror(i32 noundef %14847, ptr noundef nonnull @.str.4) #12
  %14849 = load i32, ptr %174, align 4, !tbaa !5
  %14850 = call ptr @s2n_strerror_debug(i32 noundef %14849, ptr noundef nonnull @.str.4) #12
  %14851 = load i32, ptr %228, align 4, !tbaa !5
  %14852 = call ptr @strerror(i32 noundef %14851) #12
  %14853 = load i32, ptr %228, align 4, !tbaa !5
  %14854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14845, ptr noundef nonnull %.str.5.sink7140, i32 noundef %14846, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1397, ptr noundef %14848, ptr noundef %14850, ptr noundef %14852, i32 noundef %14853) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14855:                                            ; preds = %14829
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %14856 = load i32, ptr @test_count, align 4, !tbaa !5
  %14857 = add nsw i32 %14856, 1
  store i32 %14857, ptr @test_count, align 4, !tbaa !5
  %14858 = call i32 @s2n_offered_early_data_reject(ptr noundef nonnull %54) #12
  %14859 = icmp eq i32 %14858, -1
  br i1 %14859, label %14882, label %14860

14860:                                            ; preds = %14855
  %14861 = load i32, ptr %228, align 4, !tbaa !5
  %14862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14863 = call i32 @s2n_print_stacktrace(ptr noundef %14862) #12
  %14864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14865 = trunc nuw i8 %14864 to i1
  br i1 %14865, label %14866, label %14870

14866:                                            ; preds = %14860
  %14867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14868 = call i32 @fileno(ptr noundef %14867) #12
  %14869 = call i32 @isatty(i32 noundef %14868) #12
  %.not1993 = icmp eq i32 %14869, 0
  br i1 %.not1993, label %14870, label %14871

14870:                                            ; preds = %14866, %14860
  br label %14871

14871:                                            ; preds = %14866, %14870
  %.str.5.sink7149 = phi ptr [ @.str.5, %14870 ], [ @.str.2, %14866 ]
  store i32 %14861, ptr %228, align 4, !tbaa !5
  %14872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14873 = load i32, ptr @test_count, align 4, !tbaa !5
  %14874 = load i32, ptr %174, align 4, !tbaa !5
  %14875 = call ptr @s2n_strerror(i32 noundef %14874, ptr noundef nonnull @.str.4) #12
  %14876 = load i32, ptr %174, align 4, !tbaa !5
  %14877 = call ptr @s2n_strerror_debug(i32 noundef %14876, ptr noundef nonnull @.str.4) #12
  %14878 = load i32, ptr %228, align 4, !tbaa !5
  %14879 = call ptr @strerror(i32 noundef %14878) #12
  %14880 = load i32, ptr %228, align 4, !tbaa !5
  %14881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14872, ptr noundef nonnull %.str.5.sink7149, i32 noundef %14873, ptr noundef nonnull @.str.239, ptr noundef nonnull @.str.1, i32 noundef 1398, ptr noundef %14875, ptr noundef %14877, ptr noundef %14879, i32 noundef %14880) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14882:                                            ; preds = %14855
  %14883 = load i32, ptr @test_count, align 4, !tbaa !5
  %14884 = add nsw i32 %14883, 1
  store i32 %14884, ptr @test_count, align 4, !tbaa !5
  %14885 = load i32, ptr %174, align 4, !tbaa !5
  %14886 = icmp eq i32 %14885, 402653193
  br i1 %14886, label %14909, label %14887

14887:                                            ; preds = %14882
  %14888 = load i32, ptr %228, align 4, !tbaa !5
  %14889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14890 = call i32 @s2n_print_stacktrace(ptr noundef %14889) #12
  %14891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14892 = trunc nuw i8 %14891 to i1
  br i1 %14892, label %14893, label %14897

14893:                                            ; preds = %14887
  %14894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14895 = call i32 @fileno(ptr noundef %14894) #12
  %14896 = call i32 @isatty(i32 noundef %14895) #12
  %.not1994 = icmp eq i32 %14896, 0
  br i1 %.not1994, label %14897, label %14898

14897:                                            ; preds = %14893, %14887
  br label %14898

14898:                                            ; preds = %14893, %14897
  %.str.5.sink7158 = phi ptr [ @.str.5, %14897 ], [ @.str.2, %14893 ]
  store i32 %14888, ptr %228, align 4, !tbaa !5
  %14899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14900 = load i32, ptr @test_count, align 4, !tbaa !5
  %14901 = load i32, ptr %174, align 4, !tbaa !5
  %14902 = call ptr @s2n_strerror(i32 noundef %14901, ptr noundef nonnull @.str.4) #12
  %14903 = load i32, ptr %174, align 4, !tbaa !5
  %14904 = call ptr @s2n_strerror_debug(i32 noundef %14903, ptr noundef nonnull @.str.4) #12
  %14905 = load i32, ptr %228, align 4, !tbaa !5
  %14906 = call ptr @strerror(i32 noundef %14905) #12
  %14907 = load i32, ptr %228, align 4, !tbaa !5
  %14908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14899, ptr noundef nonnull %.str.5.sink7158, i32 noundef %14900, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1398, ptr noundef %14902, ptr noundef %14904, ptr noundef %14906, i32 noundef %14907) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14909:                                            ; preds = %14882
  %14910 = add nsw i32 %14883, 2
  store i32 %14910, ptr @test_count, align 4, !tbaa !5
  %14911 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %14912 = icmp eq ptr %14911, null
  br i1 %14912, label %14913, label %14935

14913:                                            ; preds = %14909
  %14914 = load i32, ptr %228, align 4, !tbaa !5
  %14915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14916 = call i32 @s2n_print_stacktrace(ptr noundef %14915) #12
  %14917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14918 = trunc nuw i8 %14917 to i1
  br i1 %14918, label %14919, label %14923

14919:                                            ; preds = %14913
  %14920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14921 = call i32 @fileno(ptr noundef %14920) #12
  %14922 = call i32 @isatty(i32 noundef %14921) #12
  %.not2012 = icmp eq i32 %14922, 0
  br i1 %.not2012, label %14923, label %14924

14923:                                            ; preds = %14919, %14913
  br label %14924

14924:                                            ; preds = %14919, %14923
  %.str.5.sink7167 = phi ptr [ @.str.5, %14923 ], [ @.str.2, %14919 ]
  store i32 %14914, ptr %228, align 4, !tbaa !5
  %14925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14926 = load i32, ptr @test_count, align 4, !tbaa !5
  %14927 = load i32, ptr %174, align 4, !tbaa !5
  %14928 = call ptr @s2n_strerror(i32 noundef %14927, ptr noundef nonnull @.str.4) #12
  %14929 = load i32, ptr %174, align 4, !tbaa !5
  %14930 = call ptr @s2n_strerror_debug(i32 noundef %14929, ptr noundef nonnull @.str.4) #12
  %14931 = load i32, ptr %228, align 4, !tbaa !5
  %14932 = call ptr @strerror(i32 noundef %14931) #12
  %14933 = load i32, ptr %228, align 4, !tbaa !5
  %14934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14925, ptr noundef nonnull %.str.5.sink7167, i32 noundef %14926, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1398, ptr noundef %14928, ptr noundef %14930, ptr noundef %14932, i32 noundef %14933) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14935:                                            ; preds = %14909
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %14936 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %14936, ptr %54, align 8, !tbaa !93
  %14937 = getelementptr inbounds i8, ptr %14936, i64 4088
  store i32 1, ptr %14937, align 8, !tbaa !15
  %14938 = load i32, ptr @test_count, align 4, !tbaa !5
  %14939 = add nsw i32 %14938, 1
  store i32 %14939, ptr @test_count, align 4, !tbaa !5
  %14940 = call i32 @s2n_offered_early_data_reject(ptr noundef nonnull %54) #12
  %14941 = icmp eq i32 %14940, -1
  br i1 %14941, label %14942, label %14964

14942:                                            ; preds = %14935
  %14943 = load i32, ptr %228, align 4, !tbaa !5
  %14944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14945 = call i32 @s2n_print_stacktrace(ptr noundef %14944) #12
  %14946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14947 = trunc nuw i8 %14946 to i1
  br i1 %14947, label %14948, label %14952

14948:                                            ; preds = %14942
  %14949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14950 = call i32 @fileno(ptr noundef %14949) #12
  %14951 = call i32 @isatty(i32 noundef %14950) #12
  %.not2011 = icmp eq i32 %14951, 0
  br i1 %.not2011, label %14952, label %14953

14952:                                            ; preds = %14948, %14942
  br label %14953

14953:                                            ; preds = %14948, %14952
  %.str.5.sink7176 = phi ptr [ @.str.5, %14952 ], [ @.str.2, %14948 ]
  store i32 %14943, ptr %228, align 4, !tbaa !5
  %14954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14955 = load i32, ptr @test_count, align 4, !tbaa !5
  %14956 = load i32, ptr %174, align 4, !tbaa !5
  %14957 = call ptr @s2n_strerror(i32 noundef %14956, ptr noundef nonnull @.str.4) #12
  %14958 = load i32, ptr %174, align 4, !tbaa !5
  %14959 = call ptr @s2n_strerror_debug(i32 noundef %14958, ptr noundef nonnull @.str.4) #12
  %14960 = load i32, ptr %228, align 4, !tbaa !5
  %14961 = call ptr @strerror(i32 noundef %14960) #12
  %14962 = load i32, ptr %228, align 4, !tbaa !5
  %14963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14954, ptr noundef nonnull %.str.5.sink7176, i32 noundef %14955, ptr noundef nonnull @.str.240, ptr noundef nonnull @.str.1, i32 noundef 1405, ptr noundef %14957, ptr noundef %14959, ptr noundef %14961, i32 noundef %14962) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14964:                                            ; preds = %14935
  %14965 = load i32, ptr @test_count, align 4, !tbaa !5
  %14966 = add nsw i32 %14965, 1
  store i32 %14966, ptr @test_count, align 4, !tbaa !5
  %14967 = load ptr, ptr %54, align 8, !tbaa !93
  %14968 = getelementptr inbounds i8, ptr %14967, i64 4088
  %14969 = load i32, ptr %14968, align 8, !tbaa !15
  %14970 = icmp eq i32 %14969, 4
  br i1 %14970, label %14993, label %14971

14971:                                            ; preds = %14964
  %14972 = load i32, ptr %228, align 4, !tbaa !5
  %14973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14974 = call i32 @s2n_print_stacktrace(ptr noundef %14973) #12
  %14975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14976 = trunc nuw i8 %14975 to i1
  br i1 %14976, label %14977, label %14981

14977:                                            ; preds = %14971
  %14978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14979 = call i32 @fileno(ptr noundef %14978) #12
  %14980 = call i32 @isatty(i32 noundef %14979) #12
  %.not1995 = icmp eq i32 %14980, 0
  br i1 %.not1995, label %14981, label %14982

14981:                                            ; preds = %14977, %14971
  br label %14982

14982:                                            ; preds = %14977, %14981
  %.str.5.sink7185 = phi ptr [ @.str.5, %14981 ], [ @.str.2, %14977 ]
  store i32 %14972, ptr %228, align 4, !tbaa !5
  %14983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14984 = load i32, ptr @test_count, align 4, !tbaa !5
  %14985 = load i32, ptr %174, align 4, !tbaa !5
  %14986 = call ptr @s2n_strerror(i32 noundef %14985, ptr noundef nonnull @.str.4) #12
  %14987 = load i32, ptr %174, align 4, !tbaa !5
  %14988 = call ptr @s2n_strerror_debug(i32 noundef %14987, ptr noundef nonnull @.str.4) #12
  %14989 = load i32, ptr %228, align 4, !tbaa !5
  %14990 = call ptr @strerror(i32 noundef %14989) #12
  %14991 = load i32, ptr %228, align 4, !tbaa !5
  %14992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14983, ptr noundef nonnull %.str.5.sink7185, i32 noundef %14984, ptr noundef nonnull @.str.241, ptr noundef nonnull @.str.1, i32 noundef 1406, ptr noundef %14986, ptr noundef %14988, ptr noundef %14990, i32 noundef %14991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14993:                                            ; preds = %14964
  %14994 = add nsw i32 %14965, 2
  store i32 %14994, ptr @test_count, align 4, !tbaa !5
  %14995 = call i32 @s2n_connection_free(ptr noundef nonnull %14967) #12
  %14996 = icmp eq i32 %14995, -1
  br i1 %14996, label %14997, label %15019

14997:                                            ; preds = %14993
  %14998 = load i32, ptr %228, align 4, !tbaa !5
  %14999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15000 = call i32 @s2n_print_stacktrace(ptr noundef %14999) #12
  %15001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15002 = trunc nuw i8 %15001 to i1
  br i1 %15002, label %15003, label %15007

15003:                                            ; preds = %14997
  %15004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15005 = call i32 @fileno(ptr noundef %15004) #12
  %15006 = call i32 @isatty(i32 noundef %15005) #12
  %.not2010 = icmp eq i32 %15006, 0
  br i1 %.not2010, label %15007, label %15008

15007:                                            ; preds = %15003, %14997
  br label %15008

15008:                                            ; preds = %15003, %15007
  %.str.5.sink7194 = phi ptr [ @.str.5, %15007 ], [ @.str.2, %15003 ]
  store i32 %14998, ptr %228, align 4, !tbaa !5
  %15009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15010 = load i32, ptr @test_count, align 4, !tbaa !5
  %15011 = load i32, ptr %174, align 4, !tbaa !5
  %15012 = call ptr @s2n_strerror(i32 noundef %15011, ptr noundef nonnull @.str.4) #12
  %15013 = load i32, ptr %174, align 4, !tbaa !5
  %15014 = call ptr @s2n_strerror_debug(i32 noundef %15013, ptr noundef nonnull @.str.4) #12
  %15015 = load i32, ptr %228, align 4, !tbaa !5
  %15016 = call ptr @strerror(i32 noundef %15015) #12
  %15017 = load i32, ptr %228, align 4, !tbaa !5
  %15018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15009, ptr noundef nonnull %.str.5.sink7194, i32 noundef %15010, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 1407, ptr noundef %15012, ptr noundef %15014, ptr noundef %15016, i32 noundef %15017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15019:                                            ; preds = %14993
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #12
  store i64 0, ptr %55, align 8
  %15020 = load i32, ptr @test_count, align 4, !tbaa !5
  %15021 = add nsw i32 %15020, 1
  store i32 %15021, ptr @test_count, align 4, !tbaa !5
  %15022 = call i32 @s2n_offered_early_data_accept(ptr noundef null) #12
  %15023 = icmp eq i32 %15022, -1
  br i1 %15023, label %15046, label %15024

15024:                                            ; preds = %15019
  %15025 = load i32, ptr %228, align 4, !tbaa !5
  %15026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15027 = call i32 @s2n_print_stacktrace(ptr noundef %15026) #12
  %15028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15029 = trunc nuw i8 %15028 to i1
  br i1 %15029, label %15030, label %15034

15030:                                            ; preds = %15024
  %15031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15032 = call i32 @fileno(ptr noundef %15031) #12
  %15033 = call i32 @isatty(i32 noundef %15032) #12
  %.not1996 = icmp eq i32 %15033, 0
  br i1 %.not1996, label %15034, label %15035

15034:                                            ; preds = %15030, %15024
  br label %15035

15035:                                            ; preds = %15030, %15034
  %.str.5.sink7203 = phi ptr [ @.str.5, %15034 ], [ @.str.2, %15030 ]
  store i32 %15025, ptr %228, align 4, !tbaa !5
  %15036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15037 = load i32, ptr @test_count, align 4, !tbaa !5
  %15038 = load i32, ptr %174, align 4, !tbaa !5
  %15039 = call ptr @s2n_strerror(i32 noundef %15038, ptr noundef nonnull @.str.4) #12
  %15040 = load i32, ptr %174, align 4, !tbaa !5
  %15041 = call ptr @s2n_strerror_debug(i32 noundef %15040, ptr noundef nonnull @.str.4) #12
  %15042 = load i32, ptr %228, align 4, !tbaa !5
  %15043 = call ptr @strerror(i32 noundef %15042) #12
  %15044 = load i32, ptr %228, align 4, !tbaa !5
  %15045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15036, ptr noundef nonnull %.str.5.sink7203, i32 noundef %15037, ptr noundef nonnull @.str.242, ptr noundef nonnull @.str.1, i32 noundef 1417, ptr noundef %15039, ptr noundef %15041, ptr noundef %15043, i32 noundef %15044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15046:                                            ; preds = %15019
  %15047 = load i32, ptr @test_count, align 4, !tbaa !5
  %15048 = add nsw i32 %15047, 1
  store i32 %15048, ptr @test_count, align 4, !tbaa !5
  %15049 = load i32, ptr %174, align 4, !tbaa !5
  %15050 = icmp eq i32 %15049, 402653193
  br i1 %15050, label %15073, label %15051

15051:                                            ; preds = %15046
  %15052 = load i32, ptr %228, align 4, !tbaa !5
  %15053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15054 = call i32 @s2n_print_stacktrace(ptr noundef %15053) #12
  %15055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15056 = trunc nuw i8 %15055 to i1
  br i1 %15056, label %15057, label %15061

15057:                                            ; preds = %15051
  %15058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15059 = call i32 @fileno(ptr noundef %15058) #12
  %15060 = call i32 @isatty(i32 noundef %15059) #12
  %.not1997 = icmp eq i32 %15060, 0
  br i1 %.not1997, label %15061, label %15062

15061:                                            ; preds = %15057, %15051
  br label %15062

15062:                                            ; preds = %15057, %15061
  %.str.5.sink7212 = phi ptr [ @.str.5, %15061 ], [ @.str.2, %15057 ]
  store i32 %15052, ptr %228, align 4, !tbaa !5
  %15063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15064 = load i32, ptr @test_count, align 4, !tbaa !5
  %15065 = load i32, ptr %174, align 4, !tbaa !5
  %15066 = call ptr @s2n_strerror(i32 noundef %15065, ptr noundef nonnull @.str.4) #12
  %15067 = load i32, ptr %174, align 4, !tbaa !5
  %15068 = call ptr @s2n_strerror_debug(i32 noundef %15067, ptr noundef nonnull @.str.4) #12
  %15069 = load i32, ptr %228, align 4, !tbaa !5
  %15070 = call ptr @strerror(i32 noundef %15069) #12
  %15071 = load i32, ptr %228, align 4, !tbaa !5
  %15072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15063, ptr noundef nonnull %.str.5.sink7212, i32 noundef %15064, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1417, ptr noundef %15066, ptr noundef %15068, ptr noundef %15070, i32 noundef %15071) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15073:                                            ; preds = %15046
  %15074 = add nsw i32 %15047, 2
  store i32 %15074, ptr @test_count, align 4, !tbaa !5
  %15075 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %15076 = icmp eq ptr %15075, null
  br i1 %15076, label %15077, label %15099

15077:                                            ; preds = %15073
  %15078 = load i32, ptr %228, align 4, !tbaa !5
  %15079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15080 = call i32 @s2n_print_stacktrace(ptr noundef %15079) #12
  %15081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15082 = trunc nuw i8 %15081 to i1
  br i1 %15082, label %15083, label %15087

15083:                                            ; preds = %15077
  %15084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15085 = call i32 @fileno(ptr noundef %15084) #12
  %15086 = call i32 @isatty(i32 noundef %15085) #12
  %.not2009 = icmp eq i32 %15086, 0
  br i1 %.not2009, label %15087, label %15088

15087:                                            ; preds = %15083, %15077
  br label %15088

15088:                                            ; preds = %15083, %15087
  %.str.5.sink7221 = phi ptr [ @.str.5, %15087 ], [ @.str.2, %15083 ]
  store i32 %15078, ptr %228, align 4, !tbaa !5
  %15089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15090 = load i32, ptr @test_count, align 4, !tbaa !5
  %15091 = load i32, ptr %174, align 4, !tbaa !5
  %15092 = call ptr @s2n_strerror(i32 noundef %15091, ptr noundef nonnull @.str.4) #12
  %15093 = load i32, ptr %174, align 4, !tbaa !5
  %15094 = call ptr @s2n_strerror_debug(i32 noundef %15093, ptr noundef nonnull @.str.4) #12
  %15095 = load i32, ptr %228, align 4, !tbaa !5
  %15096 = call ptr @strerror(i32 noundef %15095) #12
  %15097 = load i32, ptr %228, align 4, !tbaa !5
  %15098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15089, ptr noundef nonnull %.str.5.sink7221, i32 noundef %15090, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1417, ptr noundef %15092, ptr noundef %15094, ptr noundef %15096, i32 noundef %15097) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15099:                                            ; preds = %15073
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %15100 = load i32, ptr @test_count, align 4, !tbaa !5
  %15101 = add nsw i32 %15100, 1
  store i32 %15101, ptr @test_count, align 4, !tbaa !5
  %15102 = call i32 @s2n_offered_early_data_accept(ptr noundef nonnull %55) #12
  %15103 = icmp eq i32 %15102, -1
  br i1 %15103, label %15126, label %15104

15104:                                            ; preds = %15099
  %15105 = load i32, ptr %228, align 4, !tbaa !5
  %15106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15107 = call i32 @s2n_print_stacktrace(ptr noundef %15106) #12
  %15108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15109 = trunc nuw i8 %15108 to i1
  br i1 %15109, label %15110, label %15114

15110:                                            ; preds = %15104
  %15111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15112 = call i32 @fileno(ptr noundef %15111) #12
  %15113 = call i32 @isatty(i32 noundef %15112) #12
  %.not1998 = icmp eq i32 %15113, 0
  br i1 %.not1998, label %15114, label %15115

15114:                                            ; preds = %15110, %15104
  br label %15115

15115:                                            ; preds = %15110, %15114
  %.str.5.sink7230 = phi ptr [ @.str.5, %15114 ], [ @.str.2, %15110 ]
  store i32 %15105, ptr %228, align 4, !tbaa !5
  %15116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15117 = load i32, ptr @test_count, align 4, !tbaa !5
  %15118 = load i32, ptr %174, align 4, !tbaa !5
  %15119 = call ptr @s2n_strerror(i32 noundef %15118, ptr noundef nonnull @.str.4) #12
  %15120 = load i32, ptr %174, align 4, !tbaa !5
  %15121 = call ptr @s2n_strerror_debug(i32 noundef %15120, ptr noundef nonnull @.str.4) #12
  %15122 = load i32, ptr %228, align 4, !tbaa !5
  %15123 = call ptr @strerror(i32 noundef %15122) #12
  %15124 = load i32, ptr %228, align 4, !tbaa !5
  %15125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15116, ptr noundef nonnull %.str.5.sink7230, i32 noundef %15117, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.1, i32 noundef 1418, ptr noundef %15119, ptr noundef %15121, ptr noundef %15123, i32 noundef %15124) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15126:                                            ; preds = %15099
  %15127 = load i32, ptr @test_count, align 4, !tbaa !5
  %15128 = add nsw i32 %15127, 1
  store i32 %15128, ptr @test_count, align 4, !tbaa !5
  %15129 = load i32, ptr %174, align 4, !tbaa !5
  %15130 = icmp eq i32 %15129, 402653193
  br i1 %15130, label %15153, label %15131

15131:                                            ; preds = %15126
  %15132 = load i32, ptr %228, align 4, !tbaa !5
  %15133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15134 = call i32 @s2n_print_stacktrace(ptr noundef %15133) #12
  %15135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15136 = trunc nuw i8 %15135 to i1
  br i1 %15136, label %15137, label %15141

15137:                                            ; preds = %15131
  %15138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15139 = call i32 @fileno(ptr noundef %15138) #12
  %15140 = call i32 @isatty(i32 noundef %15139) #12
  %.not1999 = icmp eq i32 %15140, 0
  br i1 %.not1999, label %15141, label %15142

15141:                                            ; preds = %15137, %15131
  br label %15142

15142:                                            ; preds = %15137, %15141
  %.str.5.sink7239 = phi ptr [ @.str.5, %15141 ], [ @.str.2, %15137 ]
  store i32 %15132, ptr %228, align 4, !tbaa !5
  %15143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15144 = load i32, ptr @test_count, align 4, !tbaa !5
  %15145 = load i32, ptr %174, align 4, !tbaa !5
  %15146 = call ptr @s2n_strerror(i32 noundef %15145, ptr noundef nonnull @.str.4) #12
  %15147 = load i32, ptr %174, align 4, !tbaa !5
  %15148 = call ptr @s2n_strerror_debug(i32 noundef %15147, ptr noundef nonnull @.str.4) #12
  %15149 = load i32, ptr %228, align 4, !tbaa !5
  %15150 = call ptr @strerror(i32 noundef %15149) #12
  %15151 = load i32, ptr %228, align 4, !tbaa !5
  %15152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15143, ptr noundef nonnull %.str.5.sink7239, i32 noundef %15144, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1418, ptr noundef %15146, ptr noundef %15148, ptr noundef %15150, i32 noundef %15151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15153:                                            ; preds = %15126
  %15154 = add nsw i32 %15127, 2
  store i32 %15154, ptr @test_count, align 4, !tbaa !5
  %15155 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %15156 = icmp eq ptr %15155, null
  br i1 %15156, label %15157, label %15179

15157:                                            ; preds = %15153
  %15158 = load i32, ptr %228, align 4, !tbaa !5
  %15159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15160 = call i32 @s2n_print_stacktrace(ptr noundef %15159) #12
  %15161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15162 = trunc nuw i8 %15161 to i1
  br i1 %15162, label %15163, label %15167

15163:                                            ; preds = %15157
  %15164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15165 = call i32 @fileno(ptr noundef %15164) #12
  %15166 = call i32 @isatty(i32 noundef %15165) #12
  %.not2008 = icmp eq i32 %15166, 0
  br i1 %.not2008, label %15167, label %15168

15167:                                            ; preds = %15163, %15157
  br label %15168

15168:                                            ; preds = %15163, %15167
  %.str.5.sink7248 = phi ptr [ @.str.5, %15167 ], [ @.str.2, %15163 ]
  store i32 %15158, ptr %228, align 4, !tbaa !5
  %15169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15170 = load i32, ptr @test_count, align 4, !tbaa !5
  %15171 = load i32, ptr %174, align 4, !tbaa !5
  %15172 = call ptr @s2n_strerror(i32 noundef %15171, ptr noundef nonnull @.str.4) #12
  %15173 = load i32, ptr %174, align 4, !tbaa !5
  %15174 = call ptr @s2n_strerror_debug(i32 noundef %15173, ptr noundef nonnull @.str.4) #12
  %15175 = load i32, ptr %228, align 4, !tbaa !5
  %15176 = call ptr @strerror(i32 noundef %15175) #12
  %15177 = load i32, ptr %228, align 4, !tbaa !5
  %15178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15169, ptr noundef nonnull %.str.5.sink7248, i32 noundef %15170, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 1418, ptr noundef %15172, ptr noundef %15174, ptr noundef %15176, i32 noundef %15177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15179:                                            ; preds = %15153
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %228, align 4, !tbaa !5
  %15180 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %15180, ptr %55, align 8, !tbaa !93
  %15181 = getelementptr inbounds i8, ptr %15180, i64 4088
  store i32 1, ptr %15181, align 8, !tbaa !15
  %15182 = load i32, ptr @test_count, align 4, !tbaa !5
  %15183 = add nsw i32 %15182, 1
  store i32 %15183, ptr @test_count, align 4, !tbaa !5
  %15184 = call i32 @s2n_offered_early_data_accept(ptr noundef nonnull %55) #12
  %15185 = icmp eq i32 %15184, -1
  br i1 %15185, label %15186, label %15208

15186:                                            ; preds = %15179
  %15187 = load i32, ptr %228, align 4, !tbaa !5
  %15188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15189 = call i32 @s2n_print_stacktrace(ptr noundef %15188) #12
  %15190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15191 = trunc nuw i8 %15190 to i1
  br i1 %15191, label %15192, label %15196

15192:                                            ; preds = %15186
  %15193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15194 = call i32 @fileno(ptr noundef %15193) #12
  %15195 = call i32 @isatty(i32 noundef %15194) #12
  %.not2007 = icmp eq i32 %15195, 0
  br i1 %.not2007, label %15196, label %15197

15196:                                            ; preds = %15192, %15186
  br label %15197

15197:                                            ; preds = %15192, %15196
  %.str.5.sink7257 = phi ptr [ @.str.5, %15196 ], [ @.str.2, %15192 ]
  store i32 %15187, ptr %228, align 4, !tbaa !5
  %15198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15199 = load i32, ptr @test_count, align 4, !tbaa !5
  %15200 = load i32, ptr %174, align 4, !tbaa !5
  %15201 = call ptr @s2n_strerror(i32 noundef %15200, ptr noundef nonnull @.str.4) #12
  %15202 = load i32, ptr %174, align 4, !tbaa !5
  %15203 = call ptr @s2n_strerror_debug(i32 noundef %15202, ptr noundef nonnull @.str.4) #12
  %15204 = load i32, ptr %228, align 4, !tbaa !5
  %15205 = call ptr @strerror(i32 noundef %15204) #12
  %15206 = load i32, ptr %228, align 4, !tbaa !5
  %15207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15198, ptr noundef nonnull %.str.5.sink7257, i32 noundef %15199, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.1, i32 noundef 1425, ptr noundef %15201, ptr noundef %15203, ptr noundef %15205, i32 noundef %15206) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15208:                                            ; preds = %15179
  %15209 = load i32, ptr @test_count, align 4, !tbaa !5
  %15210 = add nsw i32 %15209, 1
  store i32 %15210, ptr @test_count, align 4, !tbaa !5
  %15211 = load ptr, ptr %55, align 8, !tbaa !93
  %15212 = getelementptr inbounds i8, ptr %15211, i64 4088
  %15213 = load i32, ptr %15212, align 8, !tbaa !15
  %15214 = icmp eq i32 %15213, 3
  br i1 %15214, label %15237, label %15215

15215:                                            ; preds = %15208
  %15216 = load i32, ptr %228, align 4, !tbaa !5
  %15217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15218 = call i32 @s2n_print_stacktrace(ptr noundef %15217) #12
  %15219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15220 = trunc nuw i8 %15219 to i1
  br i1 %15220, label %15221, label %15225

15221:                                            ; preds = %15215
  %15222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15223 = call i32 @fileno(ptr noundef %15222) #12
  %15224 = call i32 @isatty(i32 noundef %15223) #12
  %.not2000 = icmp eq i32 %15224, 0
  br i1 %.not2000, label %15225, label %15226

15225:                                            ; preds = %15221, %15215
  br label %15226

15226:                                            ; preds = %15221, %15225
  %.str.5.sink7266 = phi ptr [ @.str.5, %15225 ], [ @.str.2, %15221 ]
  store i32 %15216, ptr %228, align 4, !tbaa !5
  %15227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15228 = load i32, ptr @test_count, align 4, !tbaa !5
  %15229 = load i32, ptr %174, align 4, !tbaa !5
  %15230 = call ptr @s2n_strerror(i32 noundef %15229, ptr noundef nonnull @.str.4) #12
  %15231 = load i32, ptr %174, align 4, !tbaa !5
  %15232 = call ptr @s2n_strerror_debug(i32 noundef %15231, ptr noundef nonnull @.str.4) #12
  %15233 = load i32, ptr %228, align 4, !tbaa !5
  %15234 = call ptr @strerror(i32 noundef %15233) #12
  %15235 = load i32, ptr %228, align 4, !tbaa !5
  %15236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15227, ptr noundef nonnull %.str.5.sink7266, i32 noundef %15228, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.1, i32 noundef 1426, ptr noundef %15230, ptr noundef %15232, ptr noundef %15234, i32 noundef %15235) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15237:                                            ; preds = %15208
  %15238 = add nsw i32 %15209, 2
  store i32 %15238, ptr @test_count, align 4, !tbaa !5
  %15239 = call i32 @s2n_connection_free(ptr noundef nonnull %15211) #12
  %15240 = icmp eq i32 %15239, -1
  br i1 %15240, label %15241, label %15263

15241:                                            ; preds = %15237
  %15242 = load i32, ptr %228, align 4, !tbaa !5
  %15243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15244 = call i32 @s2n_print_stacktrace(ptr noundef %15243) #12
  %15245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15246 = trunc nuw i8 %15245 to i1
  br i1 %15246, label %15247, label %15251

15247:                                            ; preds = %15241
  %15248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15249 = call i32 @fileno(ptr noundef %15248) #12
  %15250 = call i32 @isatty(i32 noundef %15249) #12
  %.not2006 = icmp eq i32 %15250, 0
  br i1 %.not2006, label %15251, label %15252

15251:                                            ; preds = %15247, %15241
  br label %15252

15252:                                            ; preds = %15247, %15251
  %.str.5.sink7275 = phi ptr [ @.str.5, %15251 ], [ @.str.2, %15247 ]
  store i32 %15242, ptr %228, align 4, !tbaa !5
  %15253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15254 = load i32, ptr @test_count, align 4, !tbaa !5
  %15255 = load i32, ptr %174, align 4, !tbaa !5
  %15256 = call ptr @s2n_strerror(i32 noundef %15255, ptr noundef nonnull @.str.4) #12
  %15257 = load i32, ptr %174, align 4, !tbaa !5
  %15258 = call ptr @s2n_strerror_debug(i32 noundef %15257, ptr noundef nonnull @.str.4) #12
  %15259 = load i32, ptr %228, align 4, !tbaa !5
  %15260 = call ptr @strerror(i32 noundef %15259) #12
  %15261 = load i32, ptr %228, align 4, !tbaa !5
  %15262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15253, ptr noundef nonnull %.str.5.sink7275, i32 noundef %15254, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 1427, ptr noundef %15256, ptr noundef %15258, ptr noundef %15260, i32 noundef %15261) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15263:                                            ; preds = %15237
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #12
  %15264 = call i32 @s2n_cleanup() #12
  %15265 = icmp eq i32 %15264, -1
  br i1 %15265, label %15266, label %15288

15266:                                            ; preds = %15263
  %15267 = load i32, ptr %228, align 4, !tbaa !5
  %15268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15269 = call i32 @s2n_print_stacktrace(ptr noundef %15268) #12
  %15270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15271 = trunc nuw i8 %15270 to i1
  br i1 %15271, label %15272, label %15276

15272:                                            ; preds = %15266
  %15273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15274 = call i32 @fileno(ptr noundef %15273) #12
  %15275 = call i32 @isatty(i32 noundef %15274) #12
  %.not2005 = icmp eq i32 %15275, 0
  br i1 %.not2005, label %15276, label %15277

15276:                                            ; preds = %15272, %15266
  br label %15277

15277:                                            ; preds = %15272, %15276
  %.str.5.sink7284 = phi ptr [ @.str.5, %15276 ], [ @.str.2, %15272 ]
  store i32 %15267, ptr %228, align 4, !tbaa !5
  %15278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15279 = load i32, ptr @test_count, align 4, !tbaa !5
  %15280 = load i32, ptr %174, align 4, !tbaa !5
  %15281 = call ptr @s2n_strerror(i32 noundef %15280, ptr noundef nonnull @.str.4) #12
  %15282 = load i32, ptr %174, align 4, !tbaa !5
  %15283 = call ptr @s2n_strerror_debug(i32 noundef %15282, ptr noundef nonnull @.str.4) #12
  %15284 = load i32, ptr %228, align 4, !tbaa !5
  %15285 = call ptr @strerror(i32 noundef %15284) #12
  %15286 = load i32, ptr %228, align 4, !tbaa !5
  %15287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15278, ptr noundef nonnull %.str.5.sink7284, i32 noundef %15279, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.1, i32 noundef 1431, ptr noundef %15281, ptr noundef %15283, ptr noundef %15285, i32 noundef %15286) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15288:                                            ; preds = %15263
  %15289 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %15290 = icmp eq i32 %15289, -1
  br i1 %15290, label %15291, label %15313

15291:                                            ; preds = %15288
  %15292 = load i32, ptr %228, align 4, !tbaa !5
  %15293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15294 = call i32 @s2n_print_stacktrace(ptr noundef %15293) #12
  %15295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15296 = trunc nuw i8 %15295 to i1
  br i1 %15296, label %15297, label %15301

15297:                                            ; preds = %15291
  %15298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15299 = call i32 @fileno(ptr noundef %15298) #12
  %15300 = call i32 @isatty(i32 noundef %15299) #12
  %.not2004 = icmp eq i32 %15300, 0
  br i1 %.not2004, label %15301, label %15302

15301:                                            ; preds = %15297, %15291
  br label %15302

15302:                                            ; preds = %15297, %15301
  %.str.5.sink7293 = phi ptr [ @.str.5, %15301 ], [ @.str.2, %15297 ]
  store i32 %15292, ptr %228, align 4, !tbaa !5
  %15303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15304 = load i32, ptr @test_count, align 4, !tbaa !5
  %15305 = load i32, ptr %174, align 4, !tbaa !5
  %15306 = call ptr @s2n_strerror(i32 noundef %15305, ptr noundef nonnull @.str.4) #12
  %15307 = load i32, ptr %174, align 4, !tbaa !5
  %15308 = call ptr @s2n_strerror_debug(i32 noundef %15307, ptr noundef nonnull @.str.4) #12
  %15309 = load i32, ptr %228, align 4, !tbaa !5
  %15310 = call ptr @strerror(i32 noundef %15309) #12
  %15311 = load i32, ptr %228, align 4, !tbaa !5
  %15312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15303, ptr noundef nonnull %.str.5.sink7293, i32 noundef %15304, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.1, i32 noundef 1431, ptr noundef %15306, ptr noundef %15308, ptr noundef %15310, i32 noundef %15311) #14
  call void @exit(i32 noundef 1) #15
  unreachable

15313:                                            ; preds = %15288
  %15314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15315 = trunc nuw i8 %15314 to i1
  br i1 %15315, label %15316, label %15327

15316:                                            ; preds = %15313
  %15317 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15318 = call i32 @fileno(ptr noundef %15317) #12
  %15319 = call i32 @isatty(i32 noundef %15318) #12
  %.not2001 = icmp eq i32 %15319, 0
  br i1 %.not2001, label %15327, label %15320

15320:                                            ; preds = %15316
  %15321 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not2003 = icmp eq i32 %15321, 0
  %15322 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not2003, label %15325, label %15323

15323:                                            ; preds = %15320
  %15324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15322, ptr noundef nonnull @.str.248, i32 noundef %15321) #12
  br label %15334

15325:                                            ; preds = %15320
  %15326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15322, ptr noundef nonnull @.str.249) #12
  br label %15334

15327:                                            ; preds = %15316, %15313
  %15328 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not2002 = icmp eq i32 %15328, 0
  %15329 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not2002, label %15332, label %15330

15330:                                            ; preds = %15327
  %15331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15329, ptr noundef nonnull @.str.250, i32 noundef %15328) #12
  br label %15334

15332:                                            ; preds = %15327
  %15333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15329, ptr noundef nonnull @.str.251) #12
  br label %15334

15334:                                            ; preds = %15330, %15332, %15323, %15325
  call void @llvm.lifetime.end.p0(i64 15, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %3) #12
  ret i32 0
}

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

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

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

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

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

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

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

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_all_early_data_sequences(ptr noundef, i64 noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

declare i32 @s2n_early_data_config_free(ptr noundef) local_unnamed_addr #2

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_alloc_test_config_buffers(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_config_buffers_freed(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_psk_wipe(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_external_psk_new() local_unnamed_addr #2

declare i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_psk_set_early_data_context(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

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

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

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

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

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

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

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

declare i32 @s2n_early_data_accept_or_reject(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_early_data_expected(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

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

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

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

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_offered_early_data_reject(ptr noundef) local_unnamed_addr #2

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

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

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

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

declare i32 @s2n_psk_parameters_wipe(ptr noundef) local_unnamed_addr #2

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

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

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

declare i32 @s2n_connection_set_server_early_data_context(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_early_data_record_bytes(ptr noundef, i64 noundef) local_unnamed_addr #2

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

declare i32 @s2n_conn_get_current_message_type(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_early_data_validate_recv(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_offered_early_data_get_context(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare ptr @s2n_test_psk_new(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_offered_early_data_accept(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

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

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { 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 #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { 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, !6, i64 4088}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!43, !10, i64 0}
!43 = !{!"", !10, i64 0, !18, i64 8}
!44 = !{!43, !18, i64 8}
!45 = !{!7, !7, i64 0}
!46 = !{!47, !6, i64 96}
!47 = !{!"s2n_psk", !6, i64 0, !25, i64 8, !25, i64 32, !6, i64 56, !6, i64 60, !18, i64 64, !25, i64 72, !48, i64 96, !18, i64 160}
!48 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !25, i64 16, !25, i64 40}
!49 = !{!47, !7, i64 100}
!50 = !{!47, !10, i64 104}
!51 = !{!52, !6, i64 96}
!52 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!53 = !{!47, !6, i64 56}
!54 = !{!47, !6, i64 120}
!55 = !{!47, !6, i64 124}
!56 = !{!47, !10, i64 112}
!57 = !{!47, !6, i64 144}
!58 = !{!47, !6, i64 148}
!59 = !{!47, !10, i64 136}
!60 = distinct !{!60, !61}
!61 = !{!"llvm.loop.mustprogress"}
!62 = !{!16, !10, i64 232}
!63 = !{!64, !10, i64 0}
!64 = !{!"s2n_crypto_parameters", !10, i64 0, !65, i64 8, !65, i64 16, !66, i64 24, !66, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!65 = !{!"s2n_session_key", !10, i64 0}
!66 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !67, i64 16, !67, i64 72, !67, i64 128, !67, i64 184, !7, i64 240, !7, i64 368}
!67 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!68 = !{!16, !7, i64 220}
!69 = !{!16, !10, i64 1736}
!70 = !{!16, !31, i64 1730}
!71 = !{!16, !6, i64 2204}
!72 = !{!16, !18, i64 2256}
!73 = !{!47, !6, i64 0}
!74 = !{!16, !6, i64 2172}
!75 = !{!76, !6, i64 392}
!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, !25, 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, !18, i64 144, !10, i64 152, !18, i64 160, !18, 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, !31, 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, !25, i64 448}
!77 = !{!"certs_by_type", !7, i64 0}
!78 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!79 = !{!16, !6, i64 4092}
!80 = !{!16, !10, i64 8}
!81 = !{!16, !6, i64 4104}
!82 = !{!16, !6, i64 4108}
!83 = !{!16, !10, i64 4096}
!84 = !{!16, !6, i64 148}
!85 = !{i64 0, i64 4, !45, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9, i64 40, i64 8, !9, i64 48, i64 8, !9, i64 56, i64 8, !9, i64 64, i64 8, !9, i64 72, i64 8, !9, i64 80, i64 22, !45, i64 102, i64 22, !45, i64 124, i64 22, !45, i64 148, i64 4, !5, i64 152, i64 4, !5, i64 160, i64 8, !86, i64 168, i64 8, !86, i64 176, i64 8, !86, i64 184, i64 32, !45, i64 216, i64 1, !45, i64 217, i64 1, !45, i64 218, i64 1, !45, i64 219, i64 1, !45, i64 220, i64 1, !45, i64 221, i64 1, !45, i64 222, i64 1, !45, i64 224, i64 8, !9, i64 232, i64 8, !9, i64 240, i64 388, !45, i64 628, i64 4, !5, i64 632, i64 8, !9, i64 640, i64 8, !9, i64 648, i64 8, !9, i64 656, i64 8, !9, i64 664, i64 8, !9, i64 672, i64 32, !45, i64 704, i64 8, !9, i64 712, i64 8, !9, i64 720, i64 8, !9, i64 728, i64 8, !9, i64 736, i64 8, !9, i64 744, i64 4, !5, i64 748, i64 4, !5, i64 752, i64 1, !45, i64 760, i64 8, !9, i64 768, i64 4, !5, i64 772, i64 4, !5, i64 776, i64 1, !45, i64 784, i64 8, !9, i64 792, i64 4, !5, i64 796, i64 4, !5, i64 800, i64 1, !45, i64 808, i64 1, !11, i64 816, i64 8, !9, i64 824, i64 8, !9, i64 832, i64 8, !9, i64 840, i64 8, !9, i64 848, i64 8, !9, i64 856, i64 4, !5, i64 860, i64 4, !5, i64 864, i64 1, !45, i64 872, i64 8, !9, i64 880, i64 4, !5, i64 884, i64 4, !5, i64 888, i64 1, !45, i64 896, i64 8, !9, i64 904, i64 4, !5, i64 908, i64 4, !5, i64 912, i64 1, !45, i64 920, i64 1, !11, i64 928, i64 8, !9, i64 936, i64 8, !9, i64 944, i64 64, !45, i64 1008, i64 8, !9, i64 1016, i64 8, !9, i64 1024, i64 4, !5, i64 1028, i64 4, !5, i64 1032, i64 1, !45, i64 1040, i64 8, !9, i64 1048, i64 4, !5, i64 1052, i64 4, !5, i64 1056, i64 1, !45, i64 1064, i64 8, !9, i64 1072, i64 4, !5, i64 1076, i64 4, !5, i64 1080, i64 1, !45, i64 1088, i64 1, !11, i64 1096, i64 8, !9, i64 1104, i64 4, !5, i64 1108, i64 4, !5, i64 1112, i64 1, !45, i64 1120, i64 8, !9, i64 1128, i64 4, !5, i64 1132, i64 4, !5, i64 1136, i64 1, !45, i64 1144, i64 8, !9, i64 1152, i64 8, !9, i64 1160, i64 8, !9, i64 1168, i64 8, !9, i64 1176, i64 8, !9, i64 1184, i64 8, !9, i64 1192, i64 8, !9, i64 1200, i64 8, !9, i64 1208, i64 8, !9, i64 1216, i64 8, !9, i64 1224, i64 8, !9, i64 1232, i64 8, !9, i64 1240, i64 8, !9, i64 1248, i64 4, !5, i64 1252, i64 4, !5, i64 1256, i64 1, !45, i64 1264, i64 4, !5, i64 1268, i64 256, !45, i64 1524, i64 1, !45, i64 1528, i64 8, !9, i64 1536, i64 8, !9, i64 1544, i64 8, !9, i64 1552, i64 32, !45, i64 1584, i64 32, !45, i64 1616, i64 1, !45, i64 1617, i64 1, !45, i64 1618, i64 32, !45, i64 1650, i64 32, !45, i64 1688, i64 4, !5, i64 1696, i64 8, !9, i64 1704, i64 4, !5, i64 1708, i64 4, !5, i64 1712, i64 1, !45, i64 1720, i64 4, !5, i64 1724, i64 4, !5, i64 1728, i64 2, !87, i64 1730, i64 2, !87, i64 1736, i64 8, !9, i64 1744, i64 4, !5, i64 1752, i64 8, !9, i64 1760, i64 1, !45, i64 1764, i64 4, !5, i64 1768, i64 5, !45, i64 1776, i64 8, !9, i64 1784, i64 4, !5, i64 1788, i64 4, !5, i64 1792, i64 1, !45, i64 1800, i64 4, !5, i64 1804, i64 4, !5, i64 1808, i64 4, !5, i64 1812, i64 1, !45, i64 1816, i64 8, !9, i64 1824, i64 4, !5, i64 1828, i64 4, !5, i64 1832, i64 1, !45, i64 1840, i64 4, !5, i64 1844, i64 4, !5, i64 1848, i64 4, !5, i64 1852, i64 1, !45, i64 1856, i64 8, !9, i64 1864, i64 4, !5, i64 1868, i64 4, !5, i64 1872, i64 1, !45, i64 1880, i64 4, !5, i64 1884, i64 4, !5, i64 1888, i64 4, !5, i64 1892, i64 1, !45, i64 1896, i64 8, !9, i64 1904, i64 4, !5, i64 1908, i64 4, !5, i64 1912, i64 1, !45, i64 1920, i64 4, !5, i64 1924, i64 4, !5, i64 1928, i64 4, !5, i64 1932, i64 1, !45, i64 1936, i64 4, !5, i64 1944, i64 8, !86, i64 1952, i64 2, !45, i64 1960, i64 8, !9, i64 1968, i64 4, !5, i64 1972, i64 4, !5, i64 1976, i64 1, !45, i64 1984, i64 4, !5, i64 1988, i64 4, !5, i64 1992, i64 4, !5, i64 1996, i64 1, !45, i64 2000, i64 1, !45, i64 2001, i64 1, !45, i64 2002, i64 1, !45, i64 2003, i64 1, !11, i64 2004, i64 4, !5, i64 2008, i64 4, !5, i64 2016, i64 8, !9, i64 2024, i64 4, !5, i64 2028, i64 4, !5, i64 2032, i64 1, !45, i64 2040, i64 4, !5, i64 2044, i64 4, !5, i64 2048, i64 4, !5, i64 2052, i64 1, !45, i64 2056, i64 8, !9, i64 2064, i64 8, !45, i64 2072, i64 48, !45, i64 2120, i64 48, !45, i64 2168, i64 1, !45, i64 2172, i64 4, !5, i64 2176, i64 4, !5, i64 2180, i64 4, !5, i64 2184, i64 4, !5, i64 2192, i64 8, !9, i64 2200, i64 1, !45, i64 2204, i64 4, !5, i64 2208, i64 2, !87, i64 2212, i64 4, !5, i64 2216, i64 2, !87, i64 2224, i64 8, !86, i64 2232, i64 1, !45, i64 2240, i64 8, !86, i64 2248, i64 8, !86, i64 2256, i64 8, !86, i64 2264, i64 4, !5, i64 2268, i64 4, !5, i64 2272, i64 256, !45, i64 2528, i64 256, !45, i64 2784, i64 4, !5, i64 2792, i64 8, !9, i64 2800, i64 4, !5, i64 2804, i64 4, !5, i64 2808, i64 1, !45, i64 2816, i64 4, !5, i64 2824, i64 8, !9, i64 2832, i64 4, !5, i64 2836, i64 4, !5, i64 2840, i64 1, !45, i64 2848, i64 8, !9, i64 2856, i64 4, !5, i64 2860, i64 4, !5, i64 2864, i64 1, !45, i64 2872, i64 8, !9, i64 2880, i64 4, !5, i64 2884, i64 4, !5, i64 2888, i64 1, !45, i64 2896, i64 8, !9, i64 2904, i64 4, !5, i64 2908, i64 4, !5, i64 2912, i64 1, !45, i64 2920, i64 672, !45, i64 3592, i64 8, !9, i64 3600, i64 4, !5, i64 3604, i64 4, !5, i64 3608, i64 1, !45, i64 3616, i64 2, !87, i64 3624, i64 8, !9, i64 3632, i64 4, !5, i64 3636, i64 4, !5, i64 3640, i64 1, !45, i64 3648, i64 8, !9, i64 3656, i64 4, !5, i64 3660, i64 4, !5, i64 3664, i64 1, !45, i64 3672, i64 8, !9, i64 3680, i64 4, !5, i64 3684, i64 4, !5, i64 3688, i64 1, !45, i64 3696, i64 1, !45, i64 3697, i64 1, !45, i64 3698, i64 1, !45, i64 3704, i64 8, !9, i64 3712, i64 8, !9, i64 3720, i64 1, !45, i64 3721, i64 1, !45, i64 3722, i64 2, !87, i64 3728, i64 8, !9, i64 3736, i64 4, !5, i64 3744, i64 8, !9, i64 3752, i64 1, !45, i64 3756, i64 1, !11, i64 3760, i64 8, !9, i64 3768, i64 8, !9, i64 3776, i64 1, !45, i64 3780, i64 4, !5, i64 3784, i64 8, !9, i64 3792, i64 4, !5, i64 3796, i64 4, !5, i64 3800, i64 1, !45, i64 3808, i64 4, !5, i64 3816, i64 8, !9, i64 3824, i64 4, !5, i64 3828, i64 4, !5, i64 3832, i64 1, !45, i64 3840, i64 4, !5, i64 3848, i64 138, !45, i64 3992, i64 8, !9, i64 4000, i64 4, !5, i64 4004, i64 4, !5, i64 4008, i64 1, !45, i64 4016, i64 4, !5, i64 4020, i64 4, !5, i64 4024, i64 4, !5, i64 4028, i64 1, !45, i64 4032, i64 8, !9, i64 4040, i64 4, !5, i64 4044, i64 4, !5, i64 4048, i64 1, !45, i64 4056, i64 8, !9, i64 4064, i64 4, !5, i64 4068, i64 4, !5, i64 4072, i64 1, !45, i64 4080, i64 1, !11, i64 4081, i64 1, !11, i64 4082, i64 1, !11, i64 4084, i64 2, !87, i64 4086, i64 2, !87, i64 4088, i64 4, !5, i64 4092, i64 4, !5, i64 4096, i64 8, !9, i64 4104, i64 4, !5, i64 4108, i64 4, !5, i64 4112, i64 1, !45, i64 4120, i64 4, !5, i64 4128, i64 8, !9, i64 4136, i64 4, !5, i64 4140, i64 4, !5, i64 4144, i64 1, !45, i64 4152, i64 4, !5, i64 4156, i64 4, !5, i64 4160, i64 4, !5, i64 4164, i64 1, !45, i64 4168, i64 4, !45, i64 4176, i64 4, !5, i64 4180, i64 1, !45, i64 4181, i64 1, !45}
!86 = !{!18, !18, i64 0}
!87 = !{!31, !31, i64 0}
!88 = !{!16, !6, i64 2176}
!89 = distinct !{!89, !61}
!90 = distinct !{!90, !61}
!91 = distinct !{!91, !61}
!92 = !{!76, !10, i64 384}
!93 = !{!35, !10, i64 0}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass